@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Poppins:wght@500;600;700;800&display=swap');

:root {
  --fresh-green: #21C45C;
  --leaf-green: #32D67B;
  --ocean-blue: #00B4E6;
  --sunshine: #FFD200;
  --coral: #FF686B;
  --violet: #6A5ACD;
  --navy: #0E293B;
  --navy-2: #071B2A;
  --mist: #F3F6F8;
  --white: #FFFFFF;
  --ink: #142333;
  --muted: #5A6978;
  --line: rgba(14, 41, 59, .12);
  --shadow: 0 22px 60px rgba(7, 27, 42, .16);
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 16px;
  --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

h1, h2, h3, h4, .display {
  font-family: "Poppins", system-ui, sans-serif;
  line-height: 1.12;
  margin: 0;
  letter-spacing: -.025em;
}
p { margin: 0; }
ul { padding-left: 1.1rem; }

.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.section { padding: 96px 0; position: relative; }
.section-tight { padding: 64px 0; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--fresh-green);
}
.eyebrow::before { content: ""; width: 28px; height: 4px; border-radius: 99px; background: currentColor; }
.section-title { font-size: clamp(2rem, 4vw, 4.2rem); margin-top: 16px; max-width: 900px; }
.section-lead { font-size: clamp(1rem, 1.6vw, 1.25rem); color: var(--muted); max-width: 760px; margin-top: 20px; }
.text-green { color: var(--fresh-green); }
.text-blue { color: var(--ocean-blue); }
.text-yellow { color: var(--sunshine); }
.text-coral { color: var(--coral); }
.text-violet { color: var(--violet); }
.text-white { color: var(--white); }
.text-muted { color: var(--muted); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(14,41,59,.08);
  backdrop-filter: blur(16px);
}
.header-inner { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.brand-logo { flex: 0 0 auto; }
.brand-logo img { width: 242px; height: auto; }
.main-nav { display: flex; align-items: center; gap: 22px; font-weight: 700; font-size: .9rem; }
.main-nav a { position: relative; padding: 12px 0; color: #2f4050; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 5px; height: 3px; background: var(--fresh-green); border-radius: 99px; transition: .25s ease; }
.main-nav a:hover::after, .main-nav a.active::after { right: 0; }
.header-cta { display: inline-flex; align-items: center; justify-content: center; padding: 13px 20px; border-radius: 999px; background: var(--fresh-green); color: white; font-weight: 800; box-shadow: 0 10px 26px rgba(33,196,92,.28); }
.menu-toggle { display: none; border: 0; background: var(--mist); width: 48px; height: 48px; border-radius: 14px; align-items: center; justify-content: center; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after { content: ""; width: 22px; height: 2px; background: var(--navy); display: block; transition: .2s; }
.menu-toggle span { margin: 5px 0; }

.hero {
  min-height: 790px;
  display: grid;
  align-items: end;
  position: relative;
  overflow: hidden;
  color: white;
  background: var(--navy);
}
.hero-media { position: absolute; inset: 0; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(5,23,37,.95) 0%, rgba(5,23,37,.78) 37%, rgba(5,23,37,.12) 76%), linear-gradient(0deg, rgba(5,23,37,.92) 0%, transparent 50%); }
.hero-content { position: relative; z-index: 2; padding: 104px 0 84px; max-width: 720px; }
.hero h1 { font-size: clamp(3.4rem, 7vw, 7.4rem); line-height: .96; }
.hero p { font-size: clamp(1.05rem, 1.8vw, 1.35rem); max-width: 620px; margin-top: 28px; color: rgba(255,255,255,.84); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 22px; border-radius: 999px; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease; border: 1px solid transparent; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: white; background: var(--fresh-green); box-shadow: 0 15px 30px rgba(33,196,92,.3); }
.btn-secondary { color: white; border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.btn-dark { color: white; background: var(--navy); }
.btn-light { color: var(--navy); background: white; }
.hero-proof { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.22); margin-top: 56px; border-radius: 22px; overflow: hidden; width: min(720px, 100%); }
.proof-item { padding: 18px; background: rgba(7,27,42,.58); backdrop-filter: blur(10px); }
.proof-item strong { display: block; font-family: "Poppins"; font-size: 1.15rem; }
.proof-item span { display:block; font-size:.78rem; color:rgba(255,255,255,.65); margin-top:2px; }

.color-ribbon { display: grid; grid-template-columns: 1.3fr 1fr 1fr .8fr .8fr .8fr; height: 14px; }
.color-ribbon span:nth-child(1){ background:var(--fresh-green); }
.color-ribbon span:nth-child(2){ background:var(--ocean-blue); }
.color-ribbon span:nth-child(3){ background:var(--sunshine); }
.color-ribbon span:nth-child(4){ background:var(--coral); }
.color-ribbon span:nth-child(5){ background:var(--violet); }
.color-ribbon span:nth-child(6){ background:var(--navy); }

.block-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; margin-top: 48px; }
.color-block { min-height: 250px; padding: 32px; border-radius: var(--radius-lg); position: relative; overflow: hidden; box-shadow: var(--shadow); }
.color-block h3 { font-size: clamp(1.5rem, 2.4vw, 2.3rem); margin-top: 18px; }
.color-block p { margin-top: 14px; max-width: 420px; }
.block-4 { grid-column: span 4; }
.block-5 { grid-column: span 5; }
.block-6 { grid-column: span 6; }
.block-7 { grid-column: span 7; }
.block-8 { grid-column: span 8; }
.block-12 { grid-column: span 12; }
.bg-green { background: linear-gradient(145deg, #18a94e, var(--leaf-green)); color: white; }
.bg-blue { background: linear-gradient(145deg, #008fcc, var(--ocean-blue)); color: white; }
.bg-yellow { background: linear-gradient(145deg, #ffe251, var(--sunshine)); color: var(--navy); }
.bg-coral { background: linear-gradient(145deg, #ff847f, var(--coral)); color: white; }
.bg-violet { background: linear-gradient(145deg, #7d72e7, var(--violet)); color: white; }
.bg-navy { background: linear-gradient(145deg, #143c59, var(--navy-2)); color: white; }
.bg-mist { background: var(--mist); color: var(--navy); box-shadow: none; border: 1px solid var(--line); }
.block-number { font-family:"Poppins"; font-weight:800; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; opacity:.85; }
.block-icon { width: 58px; height: 58px; display:grid; place-items:center; border-radius:18px; background:rgba(255,255,255,.18); font-size:1.8rem; }
.color-block::after { content:""; position:absolute; width:210px; height:210px; border-radius:50%; right:-80px; bottom:-90px; border:35px solid rgba(255,255,255,.12); }

.split { display: grid; grid-template-columns: 1.05fr .95fr; gap: 50px; align-items: center; }
.split.reverse > :first-child { order: 2; }
.media-card { position: relative; border-radius: var(--radius-xl); overflow: hidden; min-height: 570px; box-shadow: var(--shadow); }
.media-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.media-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(7,27,42,.62), transparent 55%); }
.media-caption { position:absolute; left:30px; right:30px; bottom:28px; z-index:2; color:white; }
.media-caption strong { font-family:"Poppins"; font-size:1.6rem; display:block; }
.media-caption span { color:rgba(255,255,255,.76); }
.check-list { list-style:none; padding:0; margin:30px 0 0; display:grid; gap:16px; }
.check-list li { display:flex; gap:14px; align-items:flex-start; }
.check-list li::before { content:"✓"; flex:0 0 30px; width:30px; height:30px; border-radius:10px; display:grid; place-items:center; background:rgba(33,196,92,.12); color:var(--fresh-green); font-weight:900; }

.stat-band { background: var(--navy); color:white; padding: 36px 0; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.stat { padding-left:22px; border-left:4px solid var(--fresh-green); }
.stat:nth-child(2){ border-color:var(--ocean-blue); }
.stat:nth-child(3){ border-color:var(--sunshine); }
.stat:nth-child(4){ border-color:var(--coral); }
.stat strong { font-family:"Poppins"; font-size:clamp(1.6rem,3vw,2.5rem); display:block; }
.stat span { color:rgba(255,255,255,.66); }

.page-hero { min-height: 520px; color:white; position:relative; overflow:hidden; display:grid; align-items:end; background:var(--navy); }
.page-hero-media { position:absolute; inset:0; }
.page-hero-media img { width:100%; height:100%; object-fit:cover; }
.page-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(7,27,42,.95), rgba(7,27,42,.5) 58%, rgba(7,27,42,.22)), linear-gradient(0deg, rgba(7,27,42,.78), transparent 60%); }
.page-hero-content { position:relative; z-index:2; padding:86px 0 72px; max-width:780px; }
.page-hero h1 { font-size:clamp(3rem,6vw,6rem); }
.page-hero p { font-size:1.22rem; color:rgba(255,255,255,.78); margin-top:22px; max-width:650px; }

.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
.service-card { border:1px solid var(--line); border-radius:22px; padding:28px; background:white; transition:.25s; position:relative; overflow:hidden; }
.service-card:hover { transform:translateY(-7px); box-shadow:var(--shadow); }
.service-card .icon { width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:var(--mist);font-size:1.55rem; }
.service-card h3 { font-size:1.35rem; margin-top:20px; }
.service-card p { color:var(--muted); margin-top:10px; }
.service-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--fresh-green); }
.service-card:nth-child(2)::before { background:var(--ocean-blue); }
.service-card:nth-child(3)::before { background:var(--sunshine); }
.service-card:nth-child(4)::before { background:var(--coral); }
.service-card:nth-child(5)::before { background:var(--violet); }
.service-card:nth-child(6)::before { background:var(--leaf-green); }

.product-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-top:36px; }
.product-tab { border:1px solid var(--line); background:white; border-radius:999px; padding:11px 18px; font-weight:800; color:var(--navy); }
.product-tab.active { background:var(--navy); color:white; border-color:var(--navy); }
.product-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:34px; }
.product-card { border-radius:20px; overflow:hidden; background:white; border:1px solid var(--line); transition:.25s; }
.product-card:hover { transform:translateY(-6px); box-shadow:0 18px 40px rgba(7,27,42,.14); }
.product-image { aspect-ratio:1.1/1; overflow:hidden; background:var(--mist); }
.product-image img { width:100%; height:100%; object-fit:cover; transition:.4s; }
.product-card:hover img { transform:scale(1.06); }
.product-body { padding:17px; }
.product-body .category { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:800; color:var(--fresh-green); }
.product-body h3 { font-size:1.12rem; margin-top:4px; }
.product-body p { font-size:.84rem; color:var(--muted); margin-top:6px; }

.timeline { position:relative; display:grid; gap:22px; margin-top:46px; }
.timeline::before { content:""; position:absolute; left:27px; top:20px; bottom:20px; width:3px; background:linear-gradient(var(--fresh-green),var(--ocean-blue),var(--violet)); }
.timeline-item { display:grid; grid-template-columns:58px 1fr; gap:20px; position:relative; }
.timeline-dot { width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--navy);color:white;font-family:"Poppins";font-weight:800;z-index:1; }
.timeline-content { border:1px solid var(--line); border-radius:20px; padding:24px; background:white; }
.timeline-content h3 { font-size:1.3rem; }
.timeline-content p { margin-top:8px; color:var(--muted); }

.ai-hero { background:radial-gradient(circle at 78% 20%, rgba(0,180,230,.22), transparent 30%), radial-gradient(circle at 18% 90%, rgba(106,90,205,.25), transparent 32%), var(--navy-2); }
.ai-network { position:absolute; inset:0; opacity:.44; background-image:radial-gradient(circle at center, rgba(255,255,255,.85) 0 1px, transparent 2px); background-size:35px 35px; mask-image:linear-gradient(to right,transparent 0%,black 35%,black 100%); }
.ai-orb { width:min(520px,70vw); aspect-ratio:1; border-radius:50%; position:absolute; right:-6%; top:9%; border:1px solid rgba(0,180,230,.4); box-shadow:inset 0 0 100px rgba(0,180,230,.18),0 0 90px rgba(0,180,230,.14); }
.ai-orb::before,.ai-orb::after { content:""; position:absolute; inset:12%; border:1px dashed rgba(50,214,123,.46); border-radius:50%; transform:rotate(22deg); }
.ai-orb::after { inset:28%; border-color:rgba(255,210,0,.5); transform:rotate(-34deg); }

.department-lockup { display:flex; align-items:center; gap:20px; padding:24px; border-radius:22px; background:white; color:var(--navy); box-shadow:var(--shadow); }
.department-lockup img { width:80px; height:auto; }
.department-lockup h2 { font-size:clamp(1.6rem,3vw,2.4rem); }
.department-lockup small { display:block; color:var(--muted); font-weight:700; letter-spacing:.09em; text-transform:uppercase; margin-top:4px; }

.product-image img.crop-zoom { transform:scale(1.2); }
.product-card:hover .product-image img.crop-zoom { transform:scale(1.27); }

/* Balanced AI Lab introduction and in-page operating dashboard */
.ai-intro-section { background:linear-gradient(135deg,#f7fbff 0%,#ffffff 45%,#f2fff6 100%); }
.ai-intro-grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr); gap:64px; align-items:center; }
.ai-intro-copy { min-width:0; }
.ai-intro-eyebrow { margin-top:38px; }
.ai-intro-copy .section-title { margin-top:16px; font-size:clamp(2.8rem,5.2vw,5.4rem); max-width:780px; }
.ai-intro-copy .section-lead { max-width:700px; }
.ai-principle { margin-top:32px; padding:20px 22px; border-left:6px solid var(--ocean-blue); border-radius:0 18px 18px 0; background:white; box-shadow:0 14px 35px rgba(7,27,42,.09); display:grid; gap:4px; }
.ai-principle strong { font-family:"Poppins"; font-size:1.2rem; }
.ai-principle span { color:var(--muted); }
.ai-ops-visual { min-height:610px; border-radius:34px; padding:24px; color:white; background:radial-gradient(circle at 82% 12%,rgba(0,180,230,.36),transparent 31%),radial-gradient(circle at 18% 88%,rgba(106,90,205,.34),transparent 34%),#071b2a; box-shadow:0 34px 90px rgba(7,27,42,.28); overflow:hidden; position:relative; }
.ai-ops-visual::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:32px 32px; }
.ai-visual-top,.ai-dashboard-grid,.ai-visual-footer { position:relative; z-index:1; }
.ai-visual-top { display:flex; align-items:center; gap:10px; padding:5px 4px 20px; border-bottom:1px solid rgba(255,255,255,.14); }
.ai-visual-top strong { font-family:"Poppins"; }
.ai-visual-top small { margin-left:auto; color:#8cffb2; font-weight:900; letter-spacing:.12em; }
.live-dot { width:10px; height:10px; border-radius:50%; background:#32d67b; box-shadow:0 0 0 8px rgba(50,214,123,.14); }
.ai-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:20px; }
.ai-panel { min-height:145px; padding:20px; border:1px solid rgba(255,255,255,.16); border-radius:20px; background:rgba(255,255,255,.08); backdrop-filter:blur(10px); display:flex; flex-direction:column; gap:8px; }
.ai-panel > span { color:rgba(255,255,255,.68); font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.ai-panel strong { font-family:"Poppins"; font-size:2.35rem; }
.ai-panel small { color:rgba(255,255,255,.6); }
.ai-panel-wide { grid-column:1/-1; min-height:220px; }
.route-map { position:relative; flex:1; min-height:105px; margin:4px 0; border-radius:16px; background:linear-gradient(120deg,rgba(0,180,230,.13),rgba(50,214,123,.08)); overflow:hidden; }
.route-map::before { content:""; position:absolute; left:9%; right:10%; top:52%; height:2px; background:linear-gradient(90deg,var(--fresh-green),var(--ocean-blue),var(--sunshine),var(--coral)); transform:rotate(-6deg); box-shadow:0 0 18px rgba(0,180,230,.8); }
.route-map i { position:absolute; width:14px; height:14px; border:3px solid white; border-radius:50%; background:var(--fresh-green); box-shadow:0 0 0 7px rgba(50,214,123,.12); }
.route-map i:nth-child(1){left:9%;top:58%}.route-map i:nth-child(2){left:34%;top:43%;background:var(--ocean-blue)}.route-map i:nth-child(3){left:62%;top:49%;background:var(--sunshine)}.route-map i:nth-child(4){right:9%;top:28%;background:var(--coral)}
.route-map b { position:absolute; right:18%; bottom:12%; width:90px; height:90px; border:1px solid rgba(255,255,255,.22); border-radius:50%; box-shadow:inset 0 0 30px rgba(0,180,230,.25); }
.metric-green { background:linear-gradient(145deg,rgba(33,196,92,.27),rgba(255,255,255,.07)); }
.metric-blue { background:linear-gradient(145deg,rgba(0,180,230,.3),rgba(255,255,255,.07)); }
.ai-panel-chart { min-height:180px; }
.mini-bars { display:flex; align-items:end; gap:8px; height:78px; margin-top:2px; }
.mini-bars i { flex:1; border-radius:5px 5px 2px 2px; background:linear-gradient(var(--ocean-blue),var(--fresh-green)); }
.mini-bars i:nth-child(1){height:28%}.mini-bars i:nth-child(2){height:48%}.mini-bars i:nth-child(3){height:39%}.mini-bars i:nth-child(4){height:67%}.mini-bars i:nth-child(5){height:76%}.mini-bars i:nth-child(6){height:92%}
.ai-panel-alert { min-height:180px; }
.ai-panel-alert ul { list-style:none; padding:0; margin:4px 0 0; display:grid; gap:9px; font-size:.84rem; }
.ai-panel-alert li { padding:9px 10px; border-radius:10px; background:rgba(255,255,255,.08); }
.ai-panel-alert li::before { content:"→"; color:var(--sunshine); margin-right:8px; }
.ai-visual-footer { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.ai-visual-footer span { padding:8px 11px; border-radius:999px; background:rgba(255,255,255,.1); color:rgba(255,255,255,.7); font-size:.72rem; font-weight:800; }


/* Future Solutions: balanced, full-width product-principles presentation */
.future-principles-section {
  background:
    radial-gradient(circle at 5% 8%, rgba(33,196,92,.13), transparent 28%),
    radial-gradient(circle at 96% 90%, rgba(0,180,230,.13), transparent 30%),
    #fff;
}
.future-principles-grid {
  display:grid;
  grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);
  gap:24px;
  align-items:stretch;
}
.future-direction-card {
  min-height:650px;
  padding:clamp(34px,5vw,64px);
  border-radius:34px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 12%, rgba(0,180,230,.5), transparent 29%),
    radial-gradient(circle at 12% 92%, rgba(106,90,205,.46), transparent 32%),
    linear-gradient(145deg,#143c59,#071b2a 68%);
  box-shadow:0 30px 80px rgba(7,27,42,.24);
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.future-direction-card::after {
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border:58px solid rgba(255,255,255,.07);
  border-radius:50%;
  right:-140px;
  bottom:-170px;
}
.future-direction-card h2 {
  position:relative;
  z-index:1;
  font-size:clamp(2.5rem,4.7vw,5.2rem);
  margin-top:20px;
  max-width:720px;
}
.future-direction-card p {
  position:relative;
  z-index:1;
  margin-top:24px;
  max-width:650px;
  color:rgba(255,255,255,.74);
  font-size:1.08rem;
}
.future-signal-row {
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:38px;
}
.future-signal-row span {
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.8);
  font-size:.75rem;
  font-weight:800;
}
.future-principles-panel {
  min-height:650px;
  padding:clamp(34px,4.5vw,60px);
  border-radius:34px;
  background:#f3f6f8;
  border:1px solid rgba(14,41,59,.1);
  box-shadow:0 22px 60px rgba(7,27,42,.11);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.future-principles-panel .section-title { max-width:none; }
.future-principles-lead {
  margin-top:18px;
  max-width:900px;
  color:var(--muted);
  font-size:1.08rem;
}
.future-principle-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:32px;
}
.future-principle-card {
  min-height:210px;
  padding:26px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(7,27,42,.07);
  position:relative;
  overflow:hidden;
}
.future-principle-card::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:7px;
  background:var(--fresh-green);
}
.future-principle-card > span {
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:12px;
  color:#fff;
  background:var(--fresh-green);
  font-family:"Poppins";
  font-weight:800;
}
.future-principle-card h3 { font-size:1.22rem; margin-top:18px; }
.future-principle-card p { margin-top:10px; color:var(--muted); }
.principle-blue::before,.principle-blue > span { background:var(--ocean-blue); }
.principle-yellow::before,.principle-yellow > span { background:var(--sunshine); color:var(--navy); }
.principle-violet::before,.principle-violet > span { background:var(--violet); }

.roadmap { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:42px; }
.roadmap-card { padding:26px; border-radius:20px; border-top:8px solid var(--fresh-green); background:white; box-shadow:0 14px 36px rgba(7,27,42,.1); }
.roadmap-card:nth-child(2){border-color:var(--ocean-blue)}
.roadmap-card:nth-child(3){border-color:var(--violet)}
.roadmap-card:nth-child(4){border-color:var(--coral)}
.roadmap-card .phase { font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted); }
.roadmap-card h3 { font-size:1.3rem;margin-top:8px; }
.roadmap-card ul { color:var(--muted); margin-bottom:0; }

.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:30px; margin-top:44px; }
.contact-card { border-radius:var(--radius-lg); padding:34px; background:var(--navy); color:white; }
.contact-item { padding:18px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.contact-item:last-child { border-bottom:0; }
.contact-item small { display:block; color:rgba(255,255,255,.55); text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.contact-item strong { display:block; font-size:1.08rem; margin-top:5px; }
.contact-form { border:1px solid var(--line); border-radius:var(--radius-lg); padding:34px; background:white; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:grid; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { font-weight:800; font-size:.86rem; }
.field input,.field textarea,.field select { width:100%; border:1px solid var(--line); border-radius:13px; padding:14px 15px; outline:none; background:#fbfcfd; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--ocean-blue); box-shadow:0 0 0 4px rgba(0,180,230,.1); }
.field textarea { min-height:150px; resize:vertical; }
.form-note { color:var(--muted); font-size:.85rem; margin-top:14px; }

.cta-band { padding:72px 0; color:white; background:linear-gradient(105deg,var(--fresh-green),var(--ocean-blue) 52%,var(--violet)); position:relative; overflow:hidden; }
.cta-band::before { content:""; position:absolute; width:430px;height:430px;border:60px solid rgba(255,255,255,.1);border-radius:50%;right:-100px;top:-180px; }
.cta-inner { position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:30px; }
.cta-inner h2 { font-size:clamp(2rem,4vw,4rem);max-width:780px; }

.site-footer { background:var(--navy-2); color:white; padding:68px 0 24px; }
.footer-grid { display:grid;grid-template-columns:1.3fr .8fr .8fr 1fr;gap:38px; }
.footer-brand img { width:260px; background:white; border-radius:14px; padding:8px; }
.footer-brand p { margin-top:18px;color:rgba(255,255,255,.6);max-width:360px; }
.footer-col h4 { font-size:1rem;margin-bottom:15px; }
.footer-col a { display:block;color:rgba(255,255,255,.62);padding:5px 0; }
.footer-col a:hover { color:white; }
.footer-bottom { margin-top:46px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.5);font-size:.84rem; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }

.notice { border-left:5px solid var(--sunshine); background:#fff9d9; border-radius:14px; padding:18px 20px; color:#665400; margin-top:28px; }

@media (max-width: 1050px) {
  .main-nav { position:fixed; inset:80px 18px auto; background:white; border-radius:22px; box-shadow:var(--shadow); padding:24px; display:none; flex-direction:column; align-items:stretch; gap:3px; }
  .main-nav.open { display:flex; }
  .main-nav a { padding:12px 10px; }
  .main-nav a::after { display:none; }
  .menu-toggle { display:flex; flex-direction:column; }
  .header-cta { display:none; }
  .split { grid-template-columns:1fr; }
  .split.reverse > :first-child { order:0; }
  .ai-intro-grid { grid-template-columns:1fr; gap:42px; }
  .future-principles-grid { grid-template-columns:1fr; }
  .future-direction-card,.future-principles-panel { min-height:auto; }
  .ai-ops-visual { min-height:560px; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .product-grid { grid-template-columns:repeat(3,1fr); }
  .roadmap { grid-template-columns:repeat(2,1fr); }
  .block-4,.block-5,.block-6,.block-7,.block-8 { grid-column:span 6; }
  .footer-grid { grid-template-columns:1.3fr 1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width: 720px) {
  .container { width:min(100% - 28px,var(--container)); }
  .section { padding:72px 0; }
  .brand-logo img { width:205px; }
  .header-inner { min-height:72px; }
  .main-nav { inset:72px 12px auto; }
  .hero { min-height:720px; }
  .hero h1 { font-size:clamp(3rem,15vw,5rem); }
  .ai-intro-copy .section-title { font-size:clamp(2.5rem,12vw,4.2rem); }
  .ai-ops-visual { min-height:auto; padding:18px; border-radius:26px; }
  .future-principle-grid { grid-template-columns:1fr; }
  .future-direction-card,.future-principles-panel { padding:30px 24px; border-radius:26px; }
  .hero-proof { grid-template-columns:repeat(2,1fr); }
  .block-grid { grid-template-columns:1fr; }
  .block-4,.block-5,.block-6,.block-7,.block-8,.block-12 { grid-column:auto; }
  .service-grid { grid-template-columns:1fr; }
  .product-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .product-body { padding:13px; }
  .stat-grid { grid-template-columns:repeat(2,1fr); }
  .roadmap { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .cta-inner { flex-direction:column;align-items:flex-start; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; }
  .media-card { min-height:430px; }
}

@media (max-width: 470px) {
  .product-grid { grid-template-columns:1fr; }
  .ai-dashboard-grid { grid-template-columns:1fr; }
  .ai-panel-wide { grid-column:auto; }
  .stat-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
}
