/* CogniBiom — shared design system
   Palette, type and hero treatment are locked to cognibiom-hero-mockup-v3_2.html.
   Do not deviate without checking against that reference. */

:root{
  --bg:#0A0A0A;
  --bg-2:#FAFAFA;
  --accent:#2B9EFF;
  --dot:#F5A623;
  --text-body:#B8B8B8;
  --text-body-dim:#7A7A7A;
  --text-body-light:#1A1A1A;
  --text-body-light-2:#555;
  --border:#232323;
  --border-light:#E2E2E2;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{background:var(--bg);font-family:'Inter',sans-serif;color:#fff;}

a{color:inherit;}

img{max-width:100%;display:block;}

/* ---------- Nav ---------- */

nav{
  display:flex;justify-content:space-between;align-items:center;
  padding:24px 64px;border-bottom:1px solid var(--border);position:relative;
}
.logo-mark{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.logo-box{
  background:var(--accent);width:38px;height:38px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;position:relative;
  flex-shrink:0;
}
.logo-box span{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:17px;color:#fff;}
.logo-box .dot{position:absolute;bottom:6px;right:6px;width:5px;height:5px;border-radius:50%;background:var(--dot);}
.logo-word{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:20px;letter-spacing:-0.01em;}
.logo-word .biom{color:var(--accent);}

/* Everything except the logo groups together on the right */
.nav-panel{display:flex;align-items:center;gap:40px;}
.navlinks{display:flex;align-items:center;gap:40px;font-size:15px;color:var(--text-body);}
.navlinks > a{color:var(--text-body);text-decoration:none;}
.navlinks > a:hover{color:#fff;}
.navcta{border:1px solid var(--accent);color:var(--accent);padding:9px 20px;border-radius:4px;font-size:14px;text-decoration:none;white-space:nowrap;}
.navcta:hover{background:var(--accent);color:#04182B;}

/* "What we do" dropdown */
.nav-item{position:relative;display:flex;align-items:center;gap:2px;}
.nav-link{color:var(--text-body);text-decoration:none;}
.nav-link:hover{color:#fff;}
.dropdown-toggle{
  background:none;border:none;color:var(--text-body);cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:6px 2px;
  transition:transform .2s ease, color .2s ease;
}
.dropdown-toggle:hover{color:#fff;}
.nav-item:hover .dropdown-toggle, .nav-item.open .dropdown-toggle{transform:rotate(180deg);color:#fff;}
.dropdown-menu{
  position:absolute;top:100%;left:0;padding-top:14px;min-width:250px;display:none;z-index:60;
}
.nav-item:hover .dropdown-menu, .nav-item.open .dropdown-menu{display:block;}
.dropdown-menu-inner{
  background:#111111;border:1px solid var(--border);border-radius:8px;padding:8px;
  display:flex;flex-direction:column;gap:2px;box-shadow:0 16px 40px rgba(0,0,0,0.5);
}
.dropdown-menu-inner a{padding:10px 12px;border-radius:6px;font-size:14px;color:var(--text-body);text-decoration:none;white-space:nowrap;}
.dropdown-menu-inner a:hover{background:rgba(43,158,255,0.1);color:#fff;}
.dropdown-menu-inner a.current{color:var(--accent);}

/* Hamburger toggle, hidden until the mobile breakpoint */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;flex-shrink:0;}
.nav-toggle-bar{width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .25s ease, opacity .25s ease;}
.nav-toggle.open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open .nav-toggle-bar:nth-child(2){opacity:0;}
.nav-toggle.open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- Buttons ---------- */

.cta-primary{background:var(--accent);color:#04182B;font-weight:600;font-size:15px;padding:14px 28px;border-radius:4px;text-decoration:none;display:inline-block;}
.cta-primary:hover{opacity:0.9;}
.cta-secondary{color:#fff;font-size:15px;text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:2px;}
.cta-secondary:hover{border-color:#fff;}

/* ---------- Hero ---------- */

.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:660px;padding:0 64px;gap:40px;}
.hero-copy{max-width:580px;}
.eyebrow{font-size:14px;color:var(--accent);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:22px;font-weight:600;}
.hero h1{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:clamp(34px, 3.6vw, 48px);line-height:1.12;letter-spacing:-0.02em;margin-bottom:24px;white-space:nowrap;}
.hero p{font-size:17px;line-height:1.6;color:var(--text-body);margin-bottom:36px;max-width:460px;}
.cta-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.sphere-wrap{position:relative;height:600px;display:flex;align-items:center;justify-content:center;}
canvas{display:block;max-width:100%;}
.sphere-mark{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  text-align:center;pointer-events:none;opacity:0;transition:opacity 1.2s ease;width:300px;
}
.sphere-mark.show{opacity:1;}
.sphere-mark .mark{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:38px;letter-spacing:-0.015em;margin-bottom:14px;}
.sphere-mark .mark .biom{color:var(--accent);}
.sphere-mark .subtag{font-size:15px;color:#E4E4E4;letter-spacing:0.005em;line-height:1.5;font-weight:400;}

.section-divider{margin:0 64px;border-top:1px solid var(--border);}

/* ---------- Section scaffolding ---------- */

.section{padding:96px 64px;}
.section-black{background:var(--bg);color:#fff;}
.section-white{background:var(--bg-2);color:var(--text-body-light);}
.section-header{max-width:100%;margin-bottom:56px;}
.section-header .eyebrow{margin-bottom:16px;}
.section h2{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:clamp(28px, 2.6vw, 40px);letter-spacing:-0.015em;margin-bottom:16px;line-height:1.25;text-wrap:balance;}
.section-white h2{color:var(--text-body-light);}
.section-sub{font-size:19px;font-weight:400;line-height:1.6;color:var(--text-body);}
.section-white .section-sub{color:var(--text-body-light-2);}

/* ---------- Problem section ---------- */

.reason-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:48px;}
.reason h3{font-family:'Inter Tight',sans-serif;font-weight:600;font-size:19px;margin-bottom:14px;letter-spacing:-0.005em;color:#fff;}
.reason p{font-size:15px;line-height:1.7;color:var(--text-body);}

/* ---------- What we do ---------- */

.offer-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:24px;}
.offer-card{
  background:#0E0E0E;border:1px solid var(--border);border-radius:10px;padding:32px 26px 28px;text-decoration:none;color:#fff;
  display:flex;flex-direction:column;gap:14px;min-height:340px;
  transition:border-color .4s ease, transform .4s ease;
}
.offer-card:hover{border-color:rgba(43,158,255,0.5);transform:translateY(-4px);}
.offer-sphere{
  width:64px;height:64px;border-radius:50%;border:1px solid rgba(43,158,255,0.4);
  background:radial-gradient(circle at 50% 40%, rgba(43,158,255,0.10), rgba(10,10,10,0.4));
  position:relative;margin-bottom:8px;
}
.offer-sphere svg{position:absolute;inset:0;width:100%;height:100%;}
.offer-card .offer-num{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:11.5px;color:var(--accent);letter-spacing:0.12em;}
.offer-card h3{font-family:'Inter Tight',sans-serif;font-weight:600;font-size:19px;letter-spacing:-0.005em;}
.offer-card p{font-size:14.5px;line-height:1.65;color:var(--text-body);flex-grow:1;}
.offer-card .offer-link{font-size:14px;color:var(--accent);font-weight:600;}

@keyframes offer-pulse{0%,100%{opacity:0.4;} 50%{opacity:1;}}
@keyframes offer-spin{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}
@keyframes offer-dashflow{to{stroke-dashoffset:-40;}}
.offer-spin{transform-origin:36px 36px;animation:offer-spin 14s linear infinite;}
.offer-spin-rev{transform-origin:36px 36px;animation:offer-spin 18s linear infinite reverse;}
.offer-glow-dot{animation:offer-pulse 2.2s ease-in-out infinite;}
.offer-glow-dot:nth-child(2){animation-delay:0.4s;}
.offer-glow-dot:nth-child(3){animation-delay:0.8s;}
.offer-glow-dot:nth-child(4){animation-delay:1.2s;}
.offer-flow-line{stroke-dasharray:5 6;animation:offer-dashflow 1.6s linear infinite;}

@media (prefers-reduced-motion: reduce){
  .offer-spin, .offer-spin-rev, .offer-glow-dot, .offer-flow-line{animation:none;}
}

/* ---------- Why us ---------- */

.timeline{display:grid;grid-template-columns:repeat(3, 1fr);gap:32px;margin-bottom:48px;}
.timeline-item{border-left:2px solid var(--accent);padding-left:20px;}
.timeline-item .era{font-family:'IBM Plex Mono', monospace;font-size:13px;color:var(--accent);margin-bottom:10px;display:block;}
.timeline-item p{font-size:15px;line-height:1.65;color:var(--text-body-light-2);}
.why-copy{max-width:100%;margin-bottom:56px;}
.why-copy p{font-size:17px;line-height:1.7;color:var(--text-body-light-2);}
.why-copy p + p{margin-top:20px;}

/* ---------- Why us spotlight (claim + proof card) ---------- */

.why-spotlight{display:grid;grid-template-columns:0.85fr 1.15fr;gap:48px;align-items:center;}
.why-statement{
  font-family:'Inter Tight',sans-serif;font-weight:600;font-size:26px;line-height:1.5;
  color:var(--text-body-light);letter-spacing:-0.005em;
}
.proof-card{
  background:#F5F9FF;border:1px solid rgba(43,158,255,0.18);border-radius:12px;
  padding:40px 40px 36px;
}
.case-tag{
  display:inline-block;font-size:13px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--accent);margin-bottom:18px;
}
.proof-card h3{font-family:'Inter Tight',sans-serif;font-weight:700;letter-spacing:-0.01em;font-size:23px;line-height:1.35;color:var(--text-body-light);}
.proof-card p{font-size:15.5px;line-height:1.7;color:var(--text-body-light-2);margin-top:18px;}
.proof-chips-label{display:block;font-size:12px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-body-light-2);margin-top:28px;margin-bottom:14px;}
.proof-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;}
.proof-chips li{
  font-size:13px;font-weight:600;color:var(--accent);background:rgba(43,158,255,0.08);
  border:1px solid rgba(43,158,255,0.25);border-radius:999px;padding:8px 16px;
}

/* ---------- Close ---------- */

.close-section{text-align:center;padding:120px 64px;}
.close-section h2{font-size:38px;max-width:760px;margin:0 auto 40px;line-height:1.3;}

/* ---------- Footer ---------- */

footer{
  border-top:1px solid var(--border);padding:32px 64px;display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--text-body-dim);
}
footer .logo-word{font-size:16px;}
.footer-info{display:flex;flex-direction:column;gap:4px;align-items:flex-end;text-align:right;}
.footer-info a{color:inherit;text-underline-offset:2px;}
.footer-info a:hover{color:var(--text-body);}
.footer-social{
  width:32px;height:32px;border-radius:50%;background:var(--border);display:flex;align-items:center;
  justify-content:center;color:var(--text-body);flex-shrink:0;transition:background .2s ease, color .2s ease;
}
.footer-social:hover{background:var(--accent);color:#04182B;}

/* ---------- Pillar pages (shared across AI Strategy, Company Brain, Workflow Automation, AI Guardrails) ---------- */

.pillar-hero{display:grid;grid-template-columns:1.6fr 0.9fr;align-items:center;padding:64px 64px 72px;gap:40px;}
.pillar-hero h1{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:clamp(26px, 2.2vw, 32px);line-height:1.34;letter-spacing:-0.01em;margin-bottom:20px;max-width:720px;}
.pillar-hero p{font-size:16px;line-height:1.65;color:var(--text-body);margin-bottom:28px;max-width:640px;}
.hero-visual{display:flex;align-items:center;justify-content:center;}

/* AI Strategy hero visual — maturity gauge + priority matrix collage */
.collage-wrap{width:380px;height:335px;position:relative;}
.collage{position:relative;width:480px;height:430px;transform:scale(0.79);transform-origin:top left;}
.gauge-card{position:absolute;top:0;left:0;width:320px;background:#101010;border:1px solid var(--border);border-radius:12px;padding:20px 20px 16px;box-shadow:0 20px 50px rgba(0,0,0,0.5);}
.gauge-label{font-size:11px;color:var(--text-body-dim);letter-spacing:0.05em;text-transform:uppercase;font-weight:700;margin-bottom:6px;}
.matrix-card{position:absolute;bottom:0;right:0;width:300px;background:#fff;border-radius:12px;padding:18px 18px 14px;box-shadow:0 20px 50px rgba(0,0,0,0.5);}
.matrix-label{font-size:11px;color:#9A9A9A;letter-spacing:0.05em;text-transform:uppercase;font-weight:700;margin-bottom:12px;}
.mrow{display:flex;align-items:center;gap:9px;padding:7px 0;border-top:1px solid #F0F0F0;}
.mrow:first-of-type{border-top:none;}
.mrank{width:18px;height:18px;border-radius:5px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Inter Tight',sans-serif;}
.mname{font-size:11.5px;color:#1A1A1A;font-weight:600;flex:1;min-width:0;}
.mscores{display:flex;gap:4px;flex-shrink:0;}
.mscores span{font-size:8.5px;color:#8A8A8A;background:#F3F5F7;padding:2px 4px;border-radius:3px;font-weight:600;}
.mscores span b{color:#1471CC;}

/* Company Brain hero visual — portal product mockup */
.prod-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,0.45);overflow:hidden;max-width:380px;}
.prod-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #EDEDED;}
.prod-brand{display:flex;align-items:center;gap:8px;}
.brand-icon{width:20px;height:20px;border-radius:6px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:'Inter Tight',sans-serif;font-weight:800;font-size:9px;color:#fff;}
.prod-brand span{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:12.5px;color:#1A1A1A;}
.prod-brand span .b{color:var(--accent);}
.prod-avatar{width:22px;height:22px;border-radius:50%;background:#EFEFEF;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#8A8A8A;}
.prod-shell{display:flex;}
.prod-sidebar{width:132px;flex-shrink:0;background:#F8F9FB;border-right:1px solid #EDEDED;padding:10px 7px;}
.side-item{display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:6px;font-size:11px;color:#6B6B6B;margin-bottom:2px;}
.side-item svg{flex-shrink:0;}
.side-item.active{background:#EAF3FE;color:#1471CC;font-weight:600;}
.prod-main{flex:1;padding:14px;min-width:0;}
.prod-query{background:#F3F5F7;border-radius:8px;padding:10px 12px;font-size:12px;color:#1A1A1A;margin-bottom:9px;display:flex;align-items:flex-start;gap:7px;line-height:1.4;}
.prod-query .qicon{color:#9AA3AC;margin-top:1px;flex-shrink:0;}
.model-row{display:flex;gap:5px;margin-bottom:12px;flex-wrap:wrap;}
.model-pill{font-size:10px;padding:3px 8px;border-radius:20px;border:1px solid #E2E2E2;color:#8A8A8A;}
.model-pill.active{background:#EAF3FE;border-color:#2B9EFF;color:#1471CC;font-weight:600;}
.prod-answer{background:#F7FAFD;border:1px solid #E6EEF6;border-radius:8px;padding:11px 12px;font-size:11.5px;line-height:1.5;color:#333;margin-bottom:10px;}
.prod-cite{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#8A8A8A;border-top:1px solid #F0F0F0;padding-top:9px;}
.prod-cite svg{color:#ADADAD;flex-shrink:0;}

/* Workflow Automation hero visual — whiteboard sticky notes */
.wb-frame{background:#fff;border-radius:12px;padding:10px;box-shadow:0 20px 60px rgba(0,0,0,0.5);width:380px;height:308px;overflow:hidden;}
.wb-board-wrap{width:360px;height:288px;overflow:hidden;}
.wb-board{position:relative;width:420px;height:330px;background:#F4F3EF;border-radius:6px;transform:scale(0.857);transform-origin:top left;}
.wb-title{position:absolute;top:12px;left:16px;font-family:'Kalam',cursive;font-weight:700;font-size:15px;color:#3A3A3A;transform:rotate(-1deg);}
.sticky{position:absolute;width:100px;height:88px;border-radius:2px;box-shadow:1px 3px 8px rgba(0,0,0,0.18);padding:9px 8px;box-sizing:border-box;}
.sticky .step{font-family:'Kalam',cursive;font-weight:700;font-size:12.5px;color:#2A2A2A;line-height:1.15;}
.sticky .note{position:absolute;bottom:-22px;left:0;width:120px;font-family:'Kalam',cursive;font-weight:400;font-size:11px;color:#2255AA;}
.legend{position:absolute;bottom:10px;right:14px;display:flex;gap:10px;font-family:'Kalam',cursive;font-size:10.5px;color:#5A5A5A;}
.legend span{display:inline-flex;align-items:center;gap:4px;}
.legend i{width:9px;height:9px;border-radius:2px;display:inline-block;}

/* AI Guardrails hero visual — ISO evidence pack checklist */
.pack-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,0.45);padding:24px 26px 20px;max-width:380px;}
.pack-title{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:15px;color:#1A1A1A;margin-bottom:4px;}
.pack-sub{font-size:11.5px;color:#8A8A8A;margin-bottom:16px;}
.pack-sub b{color:#1471CC;}
.progress-track{height:5px;background:#EDEDED;border-radius:3px;margin-bottom:16px;overflow:hidden;}
.progress-fill{height:100%;background:var(--accent);border-radius:3px;}
.check-item{display:flex;align-items:center;gap:11px;padding:6px 0;border-top:1px solid #F0F0F0;}
.check-item:first-of-type{border-top:none;}
.check-tick{width:18px;height:18px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.check-item span{font-size:12.5px;color:#1A1A1A;font-weight:500;}

/* "What we deliver" panel — numbered list + sticky quote card */
.pillar-panel{background:var(--bg-2);color:var(--text-body-light);padding:56px 64px;}
.pillar-panel .eyebrow{margin-bottom:28px;}
.panel-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;}
.deliver-row{padding:17px 0;border-top:1px solid var(--border-light);display:grid;grid-template-columns:52px 1fr;gap:16px;}
.deliver-row:last-child{border-bottom:1px solid var(--border-light);}
.deliver-num{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:20px;color:var(--accent);}
.deliver-title{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:15.5px;margin-bottom:4px;}
.deliver-title .bracket{font-family:'Inter',sans-serif;font-style:italic;font-weight:400;color:var(--text-body-light-2);font-size:13px;}
.deliver-desc{font-size:13.5px;line-height:1.55;color:var(--text-body-light-2);}

.quote-card{background:var(--bg);border-radius:10px;padding:34px 26px;position:sticky;top:24px;}
.quote-card .qmark{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:36px;color:var(--accent);line-height:1;margin-bottom:4px;}
.quote-card blockquote{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:18px;line-height:1.42;color:#fff;}

/* "Explore the other pillars" */
.pillar-explore{background:var(--bg-2);color:var(--text-body-light);padding:8px 64px 60px;}
.pillar-explore .eyebrow{margin-bottom:20px;}
.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.explore-card{
  background:#EEF0F3;border:1px solid var(--border-light);border-radius:8px;padding:18px 20px;text-decoration:none;color:inherit;
  display:flex;justify-content:space-between;align-items:center;transition:border-color .2s ease, background .2s ease;
}
.explore-card:hover{border-color:var(--accent);background:#fff;}
.explore-card span:first-child{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:14px;}
.explore-card .arrow{color:var(--accent);font-size:17px;}

/* Pillar closing CTA — left-aligned, distinct from the homepage's centered close-section */
.pillar-closing{padding:64px 64px 72px;background:var(--bg);color:#fff;}
.pillar-closing h2{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:clamp(22px, 2.2vw, 26px);margin-bottom:24px;max-width:600px;line-height:1.35;}

/* ---------- Contact page ---------- */

.contact-section{background:var(--bg-2);color:var(--text-body-light);padding:80px 64px 96px;}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;}
.contact-form-col h1{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:clamp(28px, 2.6vw, 36px);letter-spacing:-0.015em;margin-bottom:36px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;}
.form-field label{font-size:13px;font-weight:600;color:var(--text-body-light-2);}
.form-field input, .form-field textarea{
  font-family:'Inter',sans-serif;font-size:15px;color:var(--text-body-light);background:#fff;
  border:1px solid var(--border-light);border-radius:6px;padding:14px 16px;
}
.form-field input:focus, .form-field textarea:focus{outline:none;border-color:var(--accent);}
.form-field textarea{resize:vertical;min-height:120px;}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;color:var(--text-body-light-2);margin:4px 0 28px;}
.consent input{margin-top:3px;flex-shrink:0;}
.consent a{color:var(--accent);}
.contact-info-col{padding-top:8px;}
.contact-info-col .eyebrow{margin-bottom:16px;}
.contact-address{font-size:16px;line-height:1.6;color:var(--text-body-light-2);margin-bottom:16px;max-width:320px;}
.contact-email{font-size:16px;font-weight:600;color:var(--accent);text-decoration:none;}
.contact-email:hover{text-decoration:underline;}

/* ---------- Legal pages (Privacy Policy, etc.) ---------- */

.legal-section{background:var(--bg-2);color:var(--text-body-light);padding:80px 64px 96px;}
.legal-content{max-width:760px;}
.legal-content h1{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:clamp(28px, 2.6vw, 36px);letter-spacing:-0.015em;margin-bottom:12px;}
.legal-updated{font-size:13px;color:var(--text-body-dim);margin-bottom:40px;}
.legal-content h2{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:19px;margin:36px 0 12px;letter-spacing:-0.005em;}
.legal-content p{font-size:15.5px;line-height:1.7;color:var(--text-body-light-2);margin-bottom:14px;}
.legal-content ul{margin:0 0 14px 20px;}
.legal-content li{font-size:15.5px;line-height:1.7;color:var(--text-body-light-2);margin-bottom:6px;}
.legal-content a{color:var(--accent);}

/* ---------- Responsive ----------
   Single breakpoint at 900px: nav collapses to a hamburger drawer, the hero
   stacks copy above the sphere, and every multi-column grid on the page
   (offer cards, timeline, why-us spotlight) drops to one column. */

@media (max-width: 900px){
  nav{padding:16px 20px;}

  /* Hamburger becomes visible; the grouped nav-panel becomes a collapsible drawer */
  .nav-toggle{display:flex;}
  .nav-panel{
    position:absolute;top:100%;left:0;right:0;background:var(--bg);
    border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:0;
    padding:0 20px;max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .nav-panel.open{padding:8px 20px 20px;} /* max-height is set inline by nav.js from measured scrollHeight */
  .navlinks{flex-direction:column;align-items:stretch;gap:0;width:100%;}
  .navlinks > a{padding:14px 0;border-bottom:1px solid var(--border);}
  .nav-item{flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--border);position:relative;}
  .nav-item .nav-link{padding:14px 0;}
  .dropdown-toggle{position:absolute;right:0;top:6px;padding:8px;}
  .dropdown-menu{position:static;padding-top:0;display:none;min-width:0;}
  .nav-item.open .dropdown-menu{display:block;}
  .dropdown-menu-inner{background:transparent;border:none;box-shadow:none;padding:0 0 14px 12px;gap:10px;}
  .navcta{margin:16px 0;text-align:center;}

  .hero{grid-template-columns:1fr;padding:0 32px;min-height:auto;gap:0;}
  .hero-copy{max-width:100%;padding:56px 0 0;}
  .hero h1{white-space:normal;font-size:clamp(30px, 7vw, 42px);}
  .sphere-wrap{height:420px;}
  .section{padding:64px 32px;}
  .section-divider{margin:0 32px;}
  .reason-grid{grid-template-columns:1fr;gap:40px;}
  .offer-grid{grid-template-columns:1fr;}
  .offer-card{min-height:0;}
  .timeline{grid-template-columns:1fr;gap:28px;}
  .why-spotlight{grid-template-columns:1fr;gap:32px;}
  .proof-card{padding:28px 24px;}
  .close-section{padding:80px 32px;}
  .close-section h2{font-size:30px;}
  footer{padding:28px 32px;}
  .footer-info{align-items:flex-start;text-align:left;}

  .pillar-hero{grid-template-columns:1fr;padding:48px 32px;gap:32px;}
  .pillar-panel{padding:48px 32px;}
  .panel-grid{grid-template-columns:1fr;gap:32px;}
  .quote-card{position:static;}
  .pillar-explore{padding:8px 32px 48px;}
  .explore-grid{grid-template-columns:1fr;}
  .pillar-closing{padding:48px 32px;}

  .contact-section{padding:48px 32px 64px;}
  .contact-grid{grid-template-columns:1fr;gap:40px;}
  .form-row{grid-template-columns:1fr;gap:0;}

  .legal-section{padding:48px 32px 64px;}
}

@media (max-width: 420px){
  .collage-wrap, .wb-frame{transform:scale(0.85);transform-origin:top center;}
  .prod-card, .pack-card{transform:scale(0.9);transform-origin:top center;}
}
