/* Norton Digital Consulting — AI boutique homepage
   Design system: ink navy from the Norton logo, amber accent, DM Sans light headlines,
   large 90px rounded corners on photo and navy blocks (PTP-inspired). */

:root{
  --ink:#12254B;          /* logo navy, used for text and large blocks */
  --ink-deep:#0D1B3A;     /* footer / overlays */
  --steel:#3F76AA;        /* logo mid blue, secondary accents */
  --sky:#4C87BF;          /* logo light blue */
  --amber:#EBA100;
  --amber-hi:#F7B603;
  --paper:#FFFFFF;
  --panel:#E7EDF8;        /* periwinkle panel, blue-tinted to match logo */
  --panel-2:#F3F6FB;
  --slate:#4B5670;
  --line:#D9E1EF;
  --radius-xl:90px;
  --gutter:clamp(24px,5vw,72px);
  --max:1280px;
  --sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --logo:'Didact Gothic','Century Gothic','Futura','Avenir Next',var(--sans);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:400;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(42px,5.4vw,78px);line-height:1.02;font-weight:400}
h2{font-size:clamp(34px,3.6vw,52px);line-height:1.1}
h3{font-size:clamp(22px,1.8vw,28px);line-height:1.25}
p{margin:0}
.eyebrow{color:var(--amber);font-size:16px;font-weight:500;letter-spacing:.01em;margin-bottom:18px}
.dark .eyebrow{color:var(--amber-hi)}
.body{color:var(--slate);font-size:17px;max-width:56ch}
.dark .body{color:#C9D3E6}
.body+.body{margin-top:14px}
h1 em,h2 em{font-style:italic;font-weight:700}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.section{padding:clamp(88px,10vw,140px) 0;position:relative}
.dark{background:var(--ink);color:#fff}

/* Buttons — pill with inner divider + arrow, like PTP */
.pill{display:inline-flex;align-items:stretch;border-radius:56px;font-size:17px;font-weight:500;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;white-space:nowrap}
.pill .lbl{padding:17px 30px}
.pill .arr{display:inline-flex;align-items:center;padding:0 24px;border-left:1px solid currentColor}
.pill .arr svg{width:16px;height:16px}
.pill:hover{transform:translateY(-2px)}
.pill.amber{background:var(--amber);color:#fff;box-shadow:0 10px 28px rgba(235,161,0,.35)}
.pill.amber .arr{border-left-color:rgba(255,255,255,.55)}
.pill.amber:hover{box-shadow:0 14px 34px rgba(235,161,0,.45)}
.pill.white{background:#fff;color:var(--amber)}
.pill.white .arr{border-left-color:rgba(235,161,0,.45)}
.pill.ghost{border:1.5px solid rgba(255,255,255,.7);color:#fff}
.pill.ghost .arr{border-left-color:rgba(255,255,255,.45)}
.pill:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--amber);outline-offset:3px}

/* Ring motif (from the logo's "o") */
.ring{position:absolute;border-radius:50%;border:22px solid var(--amber);pointer-events:none}
.ring.thin{border-width:12px}
.ring.pale{border-color:var(--panel)}
.ring.white{border-color:#fff}

/* HEADER */
.site-header{position:absolute;top:0;left:0;right:0;z-index:30;padding:26px 0}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between}
.logo{display:block;width:clamp(170px,16vw,230px);line-height:0}
.logo svg{width:100%;height:auto}
.hdr-right{display:flex;align-items:center;gap:18px}
.hdr-cta{display:none;font-weight:500;color:#fff;font-size:15px;padding:12px 22px;border:1.5px solid rgba(255,255,255,.55);border-radius:40px}
.hdr-cta:hover{background:rgba(255,255,255,.12)}
@media (min-width:900px){.hdr-cta{display:inline-block}}
.burger{width:46px;height:46px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:#fff}
.burger span{display:block;width:26px;height:2px;background:currentColor;margin:3.5px 0;transition:transform .25s,opacity .25s}
body.menu-open .burger span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* Full-screen menu */
.menu{position:fixed;inset:0;background:var(--ink-deep);color:#fff;z-index:25;display:grid;grid-template-columns:1.2fr .8fr;padding:140px var(--gutter) 60px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
body.menu-open .menu{opacity:1;visibility:visible}
.menu ul{list-style:none;margin:0;padding:0}
.menu .primary li a{display:block;font-size:clamp(30px,4.2vw,56px);font-weight:400;padding:8px 0;letter-spacing:-.02em;border-bottom:1px solid rgba(255,255,255,.08)}
.menu .primary li a:hover{color:var(--amber-hi);padding-left:10px;transition:padding .2s}
.menu .secondary{display:flex;flex-direction:column;gap:32px;justify-content:flex-end}
.menu .secondary h4{color:var(--amber-hi);font-size:14px;font-weight:500;margin-bottom:10px;letter-spacing:.06em;text-transform:uppercase}
.menu .secondary a{display:block;color:#C9D3E6;padding:4px 0}
.menu .secondary a:hover{color:#fff}
@media (max-width:860px){.menu{grid-template-columns:1fr;padding-top:110px;overflow:auto}.menu .secondary{margin-top:40px}}

/* HERO */
.hero{position:relative;min-height:min(100vh,940px);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;padding:160px 0 120px}
.hero .bg{position:absolute;inset:0;background:url("../img/hero.jpg") 62% 30%/cover no-repeat}
.hero .bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(13,27,58,.55) 0%,rgba(13,27,58,.25) 40%,rgba(13,27,58,.55) 100%)}
.hero .wrap{position:relative;max-width:1100px}
.hero h1{text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero .sub{margin:26px auto 40px;max-width:60ch;font-size:clamp(17px,1.4vw,21px);color:rgba(255,255,255,.92)}
.hero .actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero .rings{position:absolute;right:6vw;top:14vh;width:150px;height:150px;opacity:.95}
.hero .rings .ring{width:100%;height:100%;border-width:26px}
.hero .rings .ring:nth-child(2){left:64px;top:22px;width:70%;height:70%;border-width:18px;border-color:var(--amber)}
.scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.scroll-cue i{display:block;width:1px;height:38px;background:linear-gradient(180deg,#fff,transparent);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:760px){.hero .rings{display:none}.hero{padding-top:130px}}

/* Proof strip */
.proof{background:var(--paper);border-bottom:1px solid var(--line)}
.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:36px;padding-bottom:36px}
.proof div b{display:block;font-size:34px;font-weight:400;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.proof div b em{font-style:normal;color:var(--amber)}
.proof div span{color:var(--slate);font-size:15px}
@media (max-width:820px){.proof .wrap{grid-template-columns:repeat(2,1fr)}}

/* Split layouts with edge-bleeding photo */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.split .copy{padding:0 clamp(32px,5vw,96px) 0 max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)))}
.split.rev .copy{padding:0 max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter))) 0 clamp(32px,5vw,96px)}
.split .media{position:relative;min-height:560px;height:100%}
.split .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .media.tl{border-radius:var(--radius-xl) 0 0 0;overflow:hidden}
.split .media.tr{border-radius:0 var(--radius-xl) 0 0;overflow:hidden}
.split .media.bl{border-radius:0 0 0 var(--radius-xl);overflow:hidden}
.copy .pill{margin-top:34px}
@media (max-width:900px){.split,.split.rev{grid-template-columns:1fr}.split .copy,.split.rev .copy{padding:0 var(--gutter) 56px}.split .media{min-height:380px;order:2}.split .media.tl,.split .media.tr{border-radius:var(--radius-xl) 0 0 0}}

/* Who we are */
.who{padding:clamp(88px,10vw,140px) 0 0}
.who .split{align-items:stretch}
.who .copy{padding-top:0;padding-bottom:140px;align-self:center}
.who .ring-a{width:120px;height:120px;left:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));bottom:0;border-color:var(--amber);border-width:24px;clip-path:inset(0 0 50% 0)}
@media (max-width:900px){.who .copy{padding-bottom:110px}}

/* Use cases — public deployments */
.usecases{background:var(--panel-2)}
.usecases .head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:56px}
.usecases .head .body{max-width:50ch}
.uc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.uc{background:var(--paper);border-radius:28px 28px 28px 0;padding:32px 30px 28px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line)}
.uc .ind{color:var(--amber);font-size:14px;font-weight:500}
.uc h3{font-size:23px}
.uc p{color:var(--slate);font-size:15px;flex:1}
.uc .metric{display:flex;align-items:baseline;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.uc .metric b{font-size:40px;font-weight:400;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.uc .metric span{color:var(--slate);font-size:14px}
.uc .src{font-size:13px;color:var(--steel)}
.uc-note{margin-top:28px;color:var(--slate);font-size:14.5px;max-width:none}
@media (max-width:1080px){.uc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.usecases .head{grid-template-columns:1fr}}
@media (max-width:640px){.uc-grid{grid-template-columns:1fr}}

/* Roles — four lifecycle stages, two roles each */
.roles{background:var(--paper)}
.roles .head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:56px}
.roles .head .body{max-width:48ch}
.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.stage{display:flex;flex-direction:column;gap:14px}
.stage-head{padding:0 0 18px;border-bottom:2px solid var(--ink);margin-bottom:6px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:baseline}
.stage-head .num{grid-row:span 2;width:40px;height:40px;border-radius:50%;background:var(--amber);color:#fff;display:grid;place-items:center;font-size:17px;font-weight:500;align-self:start}
.stage-head h3{font-size:26px}
.stage-head p{color:var(--slate);font-size:14.5px;line-height:1.35;min-height:2.7em}
.role{background:var(--panel);border-radius:28px 28px 28px 0;padding:28px 26px 26px;display:flex;flex-direction:column;gap:12px;flex:1;transition:transform .2s ease,box-shadow .2s ease}
.role:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(18,37,75,.10)}
.role .ico{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;color:var(--ink)}
.role .ico svg{width:24px;height:24px}
.role h4{font-size:21px;font-weight:400;letter-spacing:-.01em;line-height:1.2}
.role h4 span{display:block;font-size:13.5px;color:var(--steel);margin-top:2px}
.role p{color:var(--slate);font-size:15px}
.roles .support{margin-top:40px;padding:26px 30px;border-left:3px solid var(--amber);background:var(--panel-2);color:var(--slate);font-size:16px;max-width:none}
.roles .support b{color:var(--ink);font-weight:500}
@media (max-width:1080px){.stages{grid-template-columns:repeat(2,1fr);gap:32px 22px}}
@media (max-width:900px){.roles .head{grid-template-columns:1fr}}
@media (max-width:600px){.stages{grid-template-columns:1fr}}

/* Engagement models — navy block with rounded corner and floating panel cards */
.models{padding:0 0 clamp(88px,10vw,140px)}
.models .block{background:var(--ink);color:#fff;border-radius:0 0 var(--radius-xl) 0;margin-right:clamp(40px,10vw,180px);padding:clamp(72px,8vw,120px) 0 clamp(72px,8vw,120px)}
.models .inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,5vw,80px);align-items:start;padding-left:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));padding-right:var(--gutter)}
.models .cards{display:grid;gap:18px;margin-right:calc(-1 * clamp(40px,10vw,180px));transform:translateY(clamp(0px,3vw,40px))}
.mcard{background:var(--panel);color:var(--ink);border-radius:0 40px 40px 40px;padding:30px 32px;display:grid;grid-template-columns:70px 1fr;gap:20px;align-items:start;box-shadow:0 24px 50px rgba(13,27,58,.28)}
.mcard .ico{width:60px;height:60px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center}
.mcard .ico svg{width:26px;height:26px}
.mcard h3{font-size:24px;margin-bottom:6px}
.mcard p{color:var(--slate);font-size:15.5px}
.mcard .best{margin-top:12px;font-size:14px;color:var(--ink)}
.mcard .best b{color:var(--amber);font-weight:500}
@media (max-width:960px){.models .block{margin-right:0;border-radius:0}.models .inner{grid-template-columns:1fr}.models .cards{margin-right:0;transform:none}}

/* Production Gate — half navy / half white like a framework panel */
.gate{display:grid;grid-template-columns:1fr 1fr}
.gate .left{background:var(--ink);color:#fff;padding:clamp(72px,8vw,120px) clamp(32px,5vw,96px) clamp(72px,8vw,120px) max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));position:relative;overflow:hidden}
.gate .left .body{color:#C9D3E6}
.gate .left .big{font-size:clamp(72px,9vw,128px);line-height:.95;letter-spacing:-.04em;margin:28px 0 10px;font-variant-numeric:tabular-nums}
.gate .left .big em{font-style:normal;color:var(--amber-hi)}
.gate .left .ring{width:200px;height:200px;right:-70px;bottom:-70px;border-color:rgba(255,255,255,.08);border-width:28px}
.gate .right{background:var(--paper);padding:clamp(72px,8vw,120px) max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter))) clamp(72px,8vw,120px) clamp(32px,5vw,96px)}
.gate .right h2{margin-bottom:34px}
.gate .step{padding:22px 0;border-top:1px solid var(--line)}
.gate .step:last-child{border-bottom:1px solid var(--line)}
.gate .step h3{font-size:24px;margin-bottom:8px}
.gate .step h3 b{font-weight:700;color:var(--amber)}
.gate .step p{color:var(--slate);font-size:15.5px;max-width:52ch}
.gate .step small{display:block;margin-top:8px;color:var(--steel);font-size:13.5px}
@media (max-width:900px){.gate{grid-template-columns:1fr}}

/* Deployed across — industries + panel */
.industries{position:relative;overflow:hidden}
.industries .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,80px);align-items:center;position:relative}
.industries .listwrap{position:relative;padding:56px 0 56px 48px}
.industries .listwrap::before{content:"";position:absolute;top:0;bottom:0;left:0;right:-60vw;background:var(--panel);border-radius:var(--radius-xl) 0 0 var(--radius-xl);z-index:0}
.industries .ind-list{position:relative;z-index:1}
.industries .ind-list li,.industries .ind-list li:first-child{border-color:rgba(18,37,75,.14)}
.ind-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:0}
.ind-list li{padding:18px 0;border-bottom:1px solid var(--line);font-size:20px;display:flex;justify-content:space-between;align-items:baseline;gap:24px}
.ind-list li:first-child{border-top:1px solid var(--line)}
.ind-list li span{color:var(--slate);font-size:14.5px;text-align:right;flex:none}
@media (max-width:900px){.industries .grid{grid-template-columns:1fr}.industries .listwrap{padding:40px 24px 40px 24px}.industries .listwrap::before{left:-24px;border-radius:48px 0 0 48px}}
@media (max-width:560px){.ind-list li{flex-direction:column;align-items:flex-start;gap:4px}.ind-list li span{text-align:left}}

/* Testimonial */
.testimonial{position:relative;overflow:hidden}
.testimonial .bar{position:absolute;right:0;top:0;bottom:0;width:8%;background:var(--ink)}
.testimonial .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center;position:relative}
.testimonial .rings{position:relative;width:110px;height:64px;margin-bottom:26px}
.testimonial .rings .ring{width:64px;height:64px;border-width:18px;left:0;top:0}
.testimonial .rings .ring:nth-child(2){left:46px}
.testimonial blockquote{margin:22px 0 0;color:var(--slate);font-size:18px;max-width:52ch}
.testimonial .who{padding:0}
.testimonial .portrait{position:relative}
.testimonial .portrait img{width:100%;height:520px;object-fit:cover;border-radius:260px 260px 0 0}
.testimonial .cap{margin-top:22px}
.testimonial .cap b{display:block;font-size:22px;font-weight:400}
.testimonial .cap span{color:var(--slate);font-size:15px}
.testimonial .sample{display:inline-block;margin-top:10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);border:1px dashed var(--steel);padding:4px 8px;border-radius:4px}
@media (max-width:900px){.testimonial .grid{grid-template-columns:1fr}.testimonial .bar{display:none}.testimonial .portrait img{height:380px}}

/* FDE / consulting split with ring overlay */
.fde .media .ring{width:170px;height:170px;left:-40px;top:60px;border-width:26px}
.fde .media img{object-position:50% 18%}

/* Insights — navy block with cards */
.insights{padding:0 0 clamp(88px,10vw,140px)}
.insights .block{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,5vw,80px)}
.insights .lead{background:var(--ink);color:#fff;border-radius:0 0 var(--radius-xl) 0;padding:clamp(72px,8vw,120px) clamp(32px,4vw,64px) clamp(72px,8vw,120px) max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)))}
.insights .lead .rings{position:relative;width:150px;height:70px;margin-bottom:28px}
.insights .lead .rings .ring{width:70px;height:70px;border-width:20px;border-color:var(--panel);left:0;top:0}
.insights .lead .rings .ring:nth-child(2){left:50px}
.insights .lead .rings .ring:nth-child(3){left:100px}
.insights .lead .body{color:#C9D3E6}
.insights .posts{padding:clamp(72px,8vw,120px) max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter))) clamp(72px,8vw,120px) 0;display:flex;flex-direction:column;gap:34px}
.post{display:grid;grid-template-columns:1fr;gap:10px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.post .kind{color:var(--amber);font-size:14px;font-weight:500}
.post h3{font-size:24px}
.post p{color:var(--slate);font-size:15.5px;max-width:60ch}
.post .pill{justify-self:start;margin-top:8px;font-size:15px}
.post .pill .lbl{padding:13px 24px}
.post .pill .arr{padding:0 18px}
@media (max-width:960px){.insights .block{grid-template-columns:1fr}.insights .lead{border-radius:0}.insights .posts{padding-left:var(--gutter)}}

/* Two-track CTA */
.tracks .wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.track{border-radius:40px;padding:clamp(40px,4vw,64px);display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden}
.track.hiring{background:var(--ink);color:#fff}
.track.hiring .body{color:#C9D3E6}
.track.engineers{background:var(--panel);color:var(--ink)}
.track h2{font-size:clamp(30px,2.8vw,40px)}
.track .pill{align-self:flex-start;margin-top:10px}
.track .ring{width:180px;height:180px;right:-70px;top:-70px;border-color:rgba(255,255,255,.08);border-width:26px}
.track.engineers .ring{border-color:rgba(255,255,255,.7)}
@media (max-width:900px){.tracks .wrap{grid-template-columns:1fr}}

/* FAQ */
.faq h2{text-align:center;margin-bottom:44px}
.faq .list{max-width:900px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 8px;font-size:18px;font-weight:400}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:18px;height:18px;color:var(--amber);flex:none;transition:transform .25s}
.faq details[open] summary svg{transform:rotate(180deg)}
.faq .ans{padding:0 8px 24px;color:var(--slate);max-width:70ch;font-size:16px}

/* Conversation / contact form */
.convo{background:var(--panel-2)}
.convo .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px);align-items:start}
.convo .direct{display:flex;flex-direction:column;gap:8px;margin-top:32px;font-size:16px}
.convo .direct a{color:var(--ink);font-weight:500;border-bottom:1.5px solid var(--amber);align-self:flex-start}
.convo .direct span{color:var(--slate);font-size:14.5px;margin-top:6px}
.cform{background:var(--paper);border:1px solid var(--line);border-radius:28px 28px 28px 0;padding:clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:22px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:14px;font-weight:500;color:var(--ink)}
.field input,.field textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--panel-2);border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;width:100%;transition:border-color .15s,box-shadow .15s}
.field input::placeholder,.field textarea::placeholder{color:#9AA4BF}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 4px rgba(235,161,0,.18);background:#fff}
.field textarea{resize:vertical;min-height:130px}
.cf-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:4px}
.cform .pill{border:0;cursor:pointer;font-family:var(--sans)}
.cf-status{font-size:14.5px;color:var(--slate)}
.cf-status.ok{color:#1E7F4F}
.cf-status.err{color:#B4640A}
@media (max-width:900px){.convo .grid{grid-template-columns:1fr}}

footer{background:var(--ink-deep);color:#C9D3E6;padding:64px 0 36px;font-size:15px}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px}
footer .logo{width:220px;margin-bottom:14px}
footer h4{color:#fff;font-size:15px;font-weight:500;margin-bottom:14px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
footer ul a:hover{color:#fff}
footer .fine{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#8FA0C2}
footer .fine a{color:#C9D3E6}
@media (max-width:960px){footer .cols{grid-template-columns:1fr 1fr}}

/* Reveal on scroll (visible at rest; JS adds .pre before observing) */
.reveal.pre{opacity:0;transform:translateY(26px)}
.reveal.in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal.pre{opacity:1;transform:none}.pill,.role,.scroll-cue i{transition:none;animation:none}}

/* ===== Careers page ===== */
.hero.hero-sm{min-height:min(78vh,760px);padding:150px 0 100px}
.hero .bg-careers{background:url("../img/careers-hero.jpg") 68% 30%/cover no-repeat}
.roles-nav{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:15}
.roles-nav .wrap{display:flex;flex-wrap:wrap;gap:8px 28px;padding-top:14px;padding-bottom:14px;align-items:center}
.stage-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.stage-row .tag{font-size:12px;font-weight:500;color:var(--amber);letter-spacing:.06em;text-transform:uppercase;margin-right:2px}
.stage-row a{font-size:14px;font-weight:500;padding:7px 12px;border-radius:999px;border:1px solid var(--line);color:var(--ink);background:var(--panel-2);white-space:nowrap}
.stage-row a:hover{border-color:var(--amber);background:var(--paper)}
.work-here .grid3{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:clamp(32px,4vw,64px);align-items:start}
.work-here h3{font-size:22px;margin-bottom:10px}
@media (max-width:900px){.work-here .grid3{grid-template-columns:1fr}}
.jds{background:var(--panel-2);padding:clamp(72px,8vw,110px) 0}
.jd{background:var(--paper);border:1px solid var(--line);border-radius:28px 28px 28px 0;padding:clamp(28px,4vw,56px);margin-bottom:28px;scroll-margin-top:90px}
.jd-head{padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:32px}
.stage-tag{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--amber);padding:5px 10px;border-radius:6px;margin-bottom:16px}
.jd-head h2{font-size:clamp(30px,3vw,42px)}
.jd-head h2 .sub-title{display:inline-block;font-size:16px;color:var(--steel);margin-left:10px;vertical-align:middle;letter-spacing:0}
.jd-head .lede{color:var(--slate);font-size:18px;max-width:64ch;margin-top:12px}
.jd-head .meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px;font-size:14px;color:var(--slate)}
.jd-head .meta span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);margin-right:8px;vertical-align:middle}
.jd-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px)}
.jd-body h3{font-size:18px;margin:26px 0 10px}
.jd-body h3:first-child{margin-top:0}
.jd-body p{color:var(--slate);font-size:15.5px}
.jd-body ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.jd-body li{padding-left:20px;position:relative;color:var(--slate);font-size:15.5px}
.jd-body li::before{content:"";position:absolute;left:0;top:11px;width:9px;height:2px;background:var(--amber)}
.jd-body .pill{margin-top:30px}
@media (max-width:860px){.jd-body{grid-template-columns:1fr}}
.jds .support{margin-top:12px;padding:26px 30px;border-left:3px solid var(--amber);background:var(--paper);color:var(--slate);font-size:16px;max-width:none;border-radius:0 12px 12px 0}
.jds .support b{color:var(--ink);font-weight:500}
.eeo{padding:48px 0 64px}
.eeo .body{font-size:14.5px;color:var(--slate)}

/* Application form additions */
.field select{font:inherit;font-size:16px;color:var(--ink);background:var(--panel-2);border:1.5px solid var(--line);border-radius:12px;padding:14px 44px 14px 16px;width:100%;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2312254B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 16px center}
.field select:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 4px rgba(235,161,0,.18);background-color:#fff}
.field select:invalid{color:#7A849E}
.field2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:600px){.field2{grid-template-columns:1fr}}
.field label .opt{font-weight:400;color:var(--slate);margin-left:6px}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.filebox{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;background:var(--panel-2);border:1.5px dashed var(--line);border-radius:12px}
.filebtn{font-size:14px;font-weight:500;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;cursor:pointer}
.filebtn:hover{border-color:var(--amber)}
.visually-hidden:focus-visible+.filebtn{outline:3px solid var(--amber);outline-offset:2px}
.filename{font-size:14.5px;color:var(--slate);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fileclear{font:inherit;font-size:13px;color:var(--slate);background:none;border:0;cursor:pointer;text-decoration:underline}
.apply-steps{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;color:var(--slate);font-size:15.5px}
.apply-steps b{color:var(--amber);font-weight:500;margin-right:6px}
.jd-body .apply-btn{cursor:pointer}

/* ===== Legal & trust pages (privacy.html, terms.html, trust.html) ===== */
.legal-hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:clamp(150px,17vw,200px) 0 clamp(56px,7vw,92px)}
.legal-hero .eyebrow{color:var(--amber-hi)}
.legal-hero h1{font-size:clamp(38px,4.4vw,62px)}
.legal-hero .sub{margin-top:22px;max-width:62ch;font-size:clamp(17px,1.3vw,20px);color:#C9D3E6}
.legal-hero .updated{margin-top:26px;font-size:14px;color:#8FA0C2;letter-spacing:.02em}
.legal-hero .ring{width:190px;height:190px;right:-70px;top:82px;border-width:26px;opacity:.55}
@media (max-width:900px){.legal-hero .ring{display:none}}

.legal{padding:clamp(56px,6vw,88px) 0 clamp(80px,9vw,130px)}
.legal .toc{display:flex;flex-wrap:wrap;gap:8px 10px;padding-bottom:38px;margin-bottom:38px;border-bottom:1px solid var(--line)}
.legal .toc a{font-size:14px;font-weight:500;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink)}
.legal .toc a:hover{border-color:var(--amber);background:var(--paper)}
.legal .intro{color:var(--slate);font-size:18px;max-width:74ch}
.legal section{scroll-margin-top:96px}
.legal h2{font-size:clamp(24px,2.2vw,32px);margin:54px 0 14px}
.legal h3{font-size:19px;margin:28px 0 8px}
.legal p,.legal li{color:var(--slate);font-size:16.5px}
.legal p{max-width:78ch}
.legal p+p{margin-top:13px}
.legal ul{margin:14px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:9px;max-width:78ch}
.legal li{padding-left:20px;position:relative}
.legal li::before{content:"";position:absolute;left:0;top:11px;width:9px;height:2px;background:var(--amber)}
.legal li b,.legal p b{color:var(--ink);font-weight:500}
.legal p a,.legal li a{color:var(--steel);text-decoration:underline;text-underline-offset:3px}
.legal p a.pill{color:#fff;text-decoration:none}
.legal .note{margin-top:26px;padding:22px 26px;background:var(--panel-2);border-left:3px solid var(--amber);border-radius:0 14px 14px 0}
.legal .note p{font-size:16px;max-width:none}
.legal .contact-card{margin-top:30px;padding:26px 30px;border:1px solid var(--line);border-radius:24px 24px 24px 0;background:var(--paper)}
.legal .contact-card p{margin:0}
.legal .contact-card p+p{margin-top:6px}

.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.trust-grid .card{background:var(--panel-2);border:1px solid var(--line);border-radius:22px 22px 22px 0;padding:26px 26px 28px}
.trust-grid .card h3{margin:0 0 8px;font-size:18px}
.trust-grid .card p{font-size:15.5px;max-width:none}
@media (max-width:900px){.trust-grid{grid-template-columns:1fr}}

.legal-more{background:var(--panel-2);border-top:1px solid var(--line);padding:clamp(48px,6vw,72px) 0}
.legal-more .wrap{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.legal-more h3{font-size:20px}
.legal-more .links{display:flex;flex-wrap:wrap;gap:8px 10px}
.legal-more .links a{font-size:14px;font-weight:500;padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.legal-more .links a:hover{border-color:var(--amber)}
@media (max-width:720px){
  .legal .toc{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:24px;margin-bottom:30px}
  .legal .toc::-webkit-scrollbar{display:none}
  .legal .toc a{white-space:nowrap;font-size:13.5px;padding:6px 12px}
  .legal-more .wrap{display:block}
  .legal-more .links{margin-top:16px}
}
