:root{
--font-display:'Newsreader',Georgia,'Times New Roman',serif;
--font-sans:'Inter Tight',Helvetica,Arial,sans-serif;
--w-regular:400;--w-medium:500;--w-wordmark:550;
/* neutral ramp */
--n-0:#FFFFFF;--n-50:#FAFAF9;--n-100:#F1F2F5;--n-200:#E3E6EC;--n-300:#CBD1DB;--n-400:#A7B0BF;--n-500:#7C8697;--n-600:#5C6670;--n-700:#3A424B;--n-800:#232B35;--n-900:#101725;--n-950:#000614;
/* brand */
--navy:#020B43;--accent:#0041FE;--accent-hover:#0034CC;--on-dark-1:#FFFFFF;--on-dark-2:#C3CCE3;--on-dark-3:#8EA3D6;
--hairline-dark:rgba(255,255,255,0.18);--glass:rgba(250,250,249,0.78);--glass-blur:blur(14px) saturate(1.2);
/* roles */
--paper:var(--n-50);--surface:var(--n-100);--tint:#EDF2FB;--panel-pad:var(--s-md) var(--s-lg);--field-gap:var(--s-sm);--form-offset:calc(var(--u) / 2);--surface-hover:var(--n-200);--sc-bg:#EAECF0;--ink:var(--n-950);--text:var(--n-700);--muted:var(--n-600);--hairline:var(--n-200);--rule-strong:var(--n-300);--border-control:var(--n-300);
/* spacing */
--u:8px;--s-xs:calc(var(--u) * 1);--s-sm:calc(var(--u) * 2);--s-md:calc(var(--u) * 4);--s-lg:calc(var(--u) * 8);--s-xl:calc(var(--u) * 16);--s-2xl:calc(var(--u) * 20);
--s-0:0px;--s-neg-xs:calc(var(--u) * -1);
/* grid */
--container:1280px;--gutter:var(--s-md);--grid-gap:var(--s-sm);
/* measure */
--measure-hero:900px;--measure-heading:720px;--measure-lead:620px;--measure-body:560px;--measure-caption:420px;
/* radius */
--radius-control:4px;--radius-surface:8px;--radius-media:12px;
/* type sizes: base tier */
--t-d1:44px;--t-d2:32px;--t-d3:24px;--t-metric:48px;--t-label:24px;--t-lead:17px;--t-body:15px;--t-caption:14px;--t-eyebrow:12px;--t-wordmark:24px;--t-contact:var(--t-d2);--t-contact-cap:60px;--lh-wordmark:1.33333;--tr-wordmark:-0.04em;--t-glyph:22px;
--lh-d1:1.00;--lh-d2:1.02;--lh-d3:1.08;--lh-metric:0.95;--lh-label:1.10;--lh-lead:1.45;--lh-body:1.50;--lh-caption:1.40;--lh-eyebrow:1.00;--lh-solid:1;
--tr-d1:-0.035em;--tr-d2:-0.03em;--tr-d3:-0.02em;--tr-metric:-0.04em;--tr-label:-0.02em;--tr-lead:-0.015em;--tr-body:-0.01em;--tr-caption:-0.01em;--tr-eyebrow:0.08em;
/* controls & geometry */
--tap:44px;--btn-h:48px;--btn-pad:calc(var(--u) * 3);--input-h:48px;--nav-cta-h:32px;--nav-cta-pad:calc(var(--u) / 2) var(--s-sm);
--hair:1px;--bar:2px;--ring-w:2px;--ring-off:4px;--menu-line-w:18px;--menu-line-h:1.5px;--menu-line-gap:5px;
--header-h:80px;--hero-photo:calc(var(--u) * 52);--logo-h:calc(var(--u) * 7);
--row-h:var(--s-lg);--card-pad:var(--s-md);--svc-h:calc(var(--u) * 58);--svc-closed:calc(var(--u) * 30);--icon:var(--s-md);--plus:calc(var(--u) * 5);--sc-body-top:calc(var(--card-pad) + var(--s-lg));--copied-h:calc(var(--u) * 3);
--z-header:30;--z-skip:40;--skip-hide:-64px;
/* motion */
--t-color:180ms;--t-fast:150ms;--t-fade:300ms;--t-reveal:450ms;--t-slide:550ms;--t-grid:700ms;--d-reveal:120ms;--d-panel:150ms;--d-answer:100ms;
--ease-io:cubic-bezier(.5,0,.15,1);--ease-out:cubic-bezier(.2,.7,.2,1);--shift-sm:8px;--shift-md:10px;--shift-xs:2px;--shift-neg:-6px;--scale-plus:.8;--rot-plus:45deg;--pos-hero:center 40%;--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000614' stroke-width='1.5'/%3E%3C/svg%3E");
}
/* Desktop text tiers run one step larger than the handoff (body 16→18, caption 14→16 at ≥1445)
   for readability; the base tier below 1025px keeps the handoff values. */
@media (min-width:1025px){:root{--u:9px;--t-d1:64px;--t-d2:44px;--t-d3:26px;--t-metric:64px;--t-label:28px;--t-lead:18px;--t-body:16px;--t-caption:14px}}
@media (min-width:1445px){:root{--u:10px;--t-d1:76px;--t-d2:52px;--t-d3:30px;--t-metric:76px;--t-label:32px;--t-lead:20px;--t-body:18px;--t-caption:16px}}
@media (min-width:1730px){:root{--u:11px;--t-d1:88px;--t-d2:60px;--t-d3:34px;--t-metric:88px;--t-label:36px;--t-lead:20px;--t-body:18px;--t-caption:16px}}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:var(--s-0);background:var(--paper)}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-body);line-height:var(--lh-body);letter-spacing:var(--tr-body);color:var(--text);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,dl,dd,figure{margin:var(--s-0)}
ul{padding:var(--s-0);list-style:none}
img{display:block;max-width:100%}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-hover)}
button{font:inherit;color:inherit}
:focus-visible{outline:var(--ring-w) solid var(--accent);outline-offset:var(--ring-off)}
.band-navy :focus-visible,.footer :focus-visible{outline-color:var(--on-dark-1)}
.skip{position:absolute;left:var(--gutter);top:var(--skip-hide);padding:var(--s-xs) var(--s-sm);background:var(--navy);color:var(--on-dark-1);border-radius:var(--radius-control);z-index:var(--z-skip);font-size:var(--t-caption);line-height:var(--lh-caption);letter-spacing:var(--tr-caption)}
.skip:focus{top:var(--s-sm);color:var(--on-dark-1)}
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
main{padding-top:var(--header-h)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}
/* type scale */
.d1{font-family:var(--font-display);font-weight:var(--w-regular);font-size:var(--t-d1);line-height:var(--lh-d1);letter-spacing:var(--tr-d1);color:var(--ink);text-wrap:balance;max-width:var(--measure-hero)}
.d2{font-family:var(--font-display);font-weight:var(--w-regular);font-size:var(--t-d2);line-height:var(--lh-d2);letter-spacing:var(--tr-d2);color:var(--ink);text-wrap:pretty;max-width:var(--measure-heading)}
.d3{font-family:var(--font-display);font-weight:var(--w-regular);font-size:var(--t-d3);line-height:var(--lh-d3);letter-spacing:var(--tr-d3);color:var(--ink);text-wrap:pretty;max-width:var(--measure-heading)}
.metric{font-family:var(--font-display);font-weight:var(--w-regular);font-size:var(--t-metric);line-height:var(--lh-metric);letter-spacing:var(--tr-metric);font-variant-numeric:tabular-nums;color:var(--on-dark-1)}
.label{font-family:var(--font-sans);font-weight:var(--w-medium);font-size:var(--t-label);line-height:var(--lh-label);letter-spacing:var(--tr-label);color:var(--ink);text-wrap:pretty;max-width:var(--measure-heading)}
.lead{font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-lead);line-height:var(--lh-lead);letter-spacing:var(--tr-lead);color:var(--text);max-width:var(--measure-lead)}
.body{font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-body);line-height:var(--lh-body);letter-spacing:var(--tr-body);color:var(--text);max-width:var(--measure-body)}
.caption{font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-caption);line-height:var(--lh-caption);letter-spacing:var(--tr-caption);color:var(--muted);max-width:var(--measure-caption)}
.lbl{font-family:var(--font-sans);font-weight:var(--w-medium);font-size:var(--t-caption);line-height:var(--lh-caption);letter-spacing:var(--tr-caption);color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;height:var(--btn-h);padding-inline:var(--btn-pad);border:var(--s-0);border-radius:var(--radius-control);background:var(--accent);color:var(--on-dark-1);font-family:var(--font-sans);font-weight:var(--w-medium);font-size:var(--t-caption);line-height:var(--lh-caption);letter-spacing:var(--tr-caption);cursor:pointer;white-space:nowrap;transition:background-color var(--t-color) ease,border-color var(--t-color) ease,color var(--t-color) ease}
.btn:hover{background:var(--accent-hover);color:var(--on-dark-1)}
.hact .btn{height:auto;min-height:var(--nav-cta-h);padding:var(--nav-cta-pad)}
.photo{width:100%;height:100%;object-fit:cover;object-position:var(--pos-hero);border-radius:var(--radius-media)}
.hdr-a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-sm)}
.hdr-a .d2,.hdr-a .lead{margin-inline:auto}
.hdr-a .lead-wide{max-width:var(--measure-heading);text-wrap:balance}
/* header */
.header{position:fixed;top:var(--s-0);left:var(--s-0);right:var(--s-0);z-index:var(--z-header);background:transparent;transition:background-color var(--t-color) ease}
.header.scrolled{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.header-in{height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.wordmark{display:inline-flex;align-items:center;min-height:var(--tap);font-family:var(--font-sans);font-weight:var(--w-wordmark);font-size:var(--t-wordmark);line-height:var(--lh-wordmark);letter-spacing:var(--tr-wordmark);color:var(--ink)}
.wordmark:hover{color:var(--ink)}
.nav{display:flex;gap:var(--s-md)}
.nav a{font-family:var(--font-sans);font-weight:var(--w-medium);font-size:var(--t-caption);line-height:var(--lh-caption);letter-spacing:var(--tr-caption);color:var(--ink);transition:color var(--t-color) ease}
.nav a:hover{color:var(--accent)}
.hact{display:flex;justify-content:flex-end;align-items:center;gap:var(--s-sm)}
.menu{display:none;width:var(--tap);height:var(--tap);border:var(--hair) solid var(--border-control);border-radius:var(--radius-control);background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:var(--menu-line-gap)}
.menu span{display:block;width:var(--menu-line-w);height:var(--menu-line-h);background:var(--ink)}
.mnav{display:none;flex-direction:column;gap:var(--s-xs);padding:var(--s-sm) var(--gutter) var(--s-md);background:var(--paper)}
.mnav a{display:flex;align-items:center;min-height:var(--tap);font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-body);line-height:var(--lh-body);letter-spacing:var(--tr-body);color:var(--ink)}
.mnav .btn{margin-top:var(--s-xs);align-self:flex-start}
/* hero */
.hero{padding-block:var(--s-lg) var(--s-xl)}
.hero-h1{grid-column:1/8}
.hero-aside{grid-column:9/13;padding-top:var(--s-xs);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-md)}
.hero-media{margin-top:var(--s-lg);height:var(--hero-photo)}
/* logos */
.logos{padding-block:var(--s-0) var(--s-xl)}
.logos-in{display:flex;flex-direction:column;align-items:center;gap:var(--s-lg)}
.logos-t{color:var(--ink);text-align:center;margin-inline:auto}
.logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));row-gap:var(--s-lg);column-gap:var(--grid-gap);width:100%}
.logo{height:var(--logo-h);display:flex;align-items:center;justify-content:center}
.mark{display:block;background:var(--navy);mask:var(--logo) center/contain no-repeat;-webkit-mask:var(--logo) center/contain no-repeat;max-width:100%}
/* what we do */
.wwd{background:var(--surface);padding-block:var(--s-2xl) var(--s-2xl)}
.wwd-g{align-items:start;row-gap:var(--s-md)}
.wwd-l{grid-column:1/7;display:flex;flex-direction:column;gap:var(--s-sm)}
.steps{grid-column:7/13;display:flex;flex-direction:column}
.step{border-top:var(--hair) solid var(--rule-strong);padding-block:var(--s-sm) var(--s-md);display:flex;flex-direction:column;gap:var(--s-xs)}
.step:first-child{padding-top:var(--s-0);border-top:var(--s-0)}
/* how we help */
.hwh{padding-block:var(--s-2xl) var(--s-xl)}
/* The open track is a length (not 1fr) so the browser can interpolate all three columns;
   mixing fr with px made the widths flip in one step midway through the transition. */
.svc{--svc-open:calc(100% - 2 * var(--svc-closed) - 2 * var(--grid-gap));margin-top:var(--s-lg);display:grid;grid-template-columns:var(--svc-open) var(--svc-closed) var(--svc-closed);gap:var(--grid-gap);align-items:stretch;transition:grid-template-columns var(--t-reveal) var(--ease-io)}
.svc.o1{grid-template-columns:var(--svc-closed) var(--svc-open) var(--svc-closed)}
.svc.o2{grid-template-columns:var(--svc-closed) var(--svc-closed) var(--svc-open)}
.sc{position:relative;display:flex;flex-direction:column;min-width:0;min-height:var(--svc-h);padding:var(--card-pad);background:var(--sc-bg);border-radius:var(--radius-surface);overflow:hidden;cursor:pointer;transition:background-color var(--t-color) ease}
.sc:hover{background:var(--surface-hover)}
.sc.on{cursor:default}
.sc.on:hover{background:var(--sc-bg)}
.sicon{width:var(--icon);height:var(--icon);flex:none;color:var(--navy)}
/* The body sits in flow and animates its height via grid rows (as the FAQ does) with a fade and slide,
   so the card keeps the design height as a minimum and grows only when the text needs more room. */
.sc-body{display:grid;grid-template-rows:0fr;margin-top:var(--s-0);opacity:0;transform:translateY(var(--shift-sm));pointer-events:none;visibility:hidden;transition:grid-template-rows var(--t-reveal) var(--ease-io),margin-top var(--t-reveal) var(--ease-io),opacity var(--t-fade) ease,transform var(--t-fade) ease,visibility 0s var(--t-reveal)}
.sc.on .sc-body{grid-template-rows:1fr;margin-top:var(--s-md);opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:grid-template-rows var(--t-reveal) var(--ease-io),margin-top var(--t-reveal) var(--ease-io),opacity var(--t-reveal) ease var(--d-answer),transform var(--t-reveal) var(--ease-out) var(--d-answer),visibility 0s}
.sc-body-in{overflow:hidden;min-height:0;max-width:var(--measure-lead)}
.sc-best{border-top:var(--hair) solid var(--rule-strong);padding-top:var(--s-sm);display:flex;flex-direction:column;gap:var(--s-xs)}
.sc-best .body{color:var(--ink)}
.bullets{padding-left:var(--s-sm);list-style:disc;display:flex;flex-direction:column;gap:var(--s-xs);max-width:var(--measure-body)}
.bullets li{font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-body);line-height:var(--lh-body);letter-spacing:var(--tr-body);color:var(--text)}
.sc-sp{flex:1;min-height:var(--s-md)}
.plus{width:var(--plus);height:var(--plus);display:grid;place-items:center;border-radius:var(--radius-control);background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-glyph);line-height:var(--lh-solid);margin-bottom:var(--s-sm);overflow:hidden;transition:opacity var(--t-fade) ease,transform var(--t-fade) ease,height var(--t-reveal) var(--ease-io),margin-bottom var(--t-reveal) var(--ease-io)}
.sc.on .plus{opacity:0;transform:scale(var(--scale-plus));pointer-events:none;height:0;margin-bottom:var(--s-0)}
.sc-name{font-family:var(--font-sans);font-weight:var(--w-medium);font-size:var(--t-lead);line-height:var(--lh-lead);letter-spacing:var(--tr-lead);color:var(--ink);text-wrap:pretty}
/* industries */
.ind{padding-block:var(--s-xl) var(--s-2xl)}
.ind-body{margin-top:var(--s-lg);align-items:start}
.rail{grid-column:1/5;grid-row:1;border-top:var(--hair) solid var(--hairline);display:flex;flex-direction:column}
.tab{display:flex;align-items:center;width:100%;height:var(--row-h);padding:var(--s-0) var(--s-0) var(--s-0) var(--s-sm);border:var(--s-0);border-left:var(--bar) solid transparent;border-bottom:var(--hair) solid var(--hairline);background:transparent;text-align:left;font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-lead);line-height:var(--lh-lead);letter-spacing:var(--tr-lead);color:var(--text);cursor:pointer;transition:color var(--t-color) ease,border-color var(--t-color) ease}
.tab:hover{color:var(--ink)}
.tab.on{font-weight:var(--w-medium);color:var(--ink);border-left-color:var(--accent)}
.tab span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.panel{grid-column:6/13;grid-row:1;display:flex;flex-direction:column;gap:var(--s-md);padding-top:var(--s-sm);opacity:0;transform:translateY(var(--shift-md));visibility:hidden;pointer-events:none;transition:opacity var(--t-fade) ease,transform var(--t-fade) ease,visibility 0s var(--t-fade)}
.panel.on{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition:opacity var(--t-reveal) ease var(--d-panel),transform var(--t-reveal) var(--ease-out) var(--d-panel),visibility 0s}
.panel-in,.sc-body-in{display:flex;flex-direction:column;gap:var(--s-md)}
.panel-txt{display:flex;flex-direction:column;gap:var(--s-sm)}
.focus{border-top:var(--hair) solid var(--hairline);padding-top:var(--s-sm);display:flex;flex-direction:column;gap:var(--s-xs)}
.focus .caption{color:var(--navy)}
/* stats */
.band-navy{background:var(--navy);color:var(--on-dark-1);padding-block:var(--s-xl) var(--s-xl)}
.band-navy .label{color:var(--on-dark-1);grid-column:1/8}
.stats{margin-top:var(--s-lg);border-top:var(--hair) solid var(--hairline-dark)}
.stat{padding-block:var(--s-md);border-bottom:var(--hair) solid var(--hairline-dark);align-items:baseline}
.stat dt{grid-column:1/8;color:var(--on-dark-2);max-width:var(--measure-body);font-size:var(--t-lead);line-height:var(--lh-lead);letter-spacing:var(--tr-lead)}
.stat .num{grid-column:9/13}
.stat .num span{font-size:.5em;margin-left:.1em}
/* faq */
.faq{padding-block:var(--s-2xl) var(--s-xl)}
.faq-l{grid-column:1/5;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-sm)}
.faq-r{grid-column:6/13;border-top:var(--hair) solid var(--hairline)}
.qa{border-bottom:var(--hair) solid var(--hairline)}
.qbtn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--s-sm);min-height:var(--row-h);padding:var(--s-sm) var(--s-0);border:var(--s-0);background:transparent;text-align:left;cursor:pointer;font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-lead);line-height:var(--lh-lead);letter-spacing:var(--tr-lead);color:var(--ink);transition:color var(--t-color) ease}
.qbtn:hover{color:var(--accent)}
.glyph{font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-glyph);line-height:var(--lh-solid);color:var(--muted);flex:none;width:var(--s-md);text-align:center;transition:color var(--t-color) ease,transform var(--t-reveal) var(--ease-io)}
.qa.on .qbtn{color:var(--accent)}
.qa.on .glyph{color:var(--accent);transform:rotate(var(--rot-plus))}
.ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--t-reveal) var(--ease-io)}
.qa.on .ans{grid-template-rows:1fr}
.ans-in{overflow:hidden;min-height:0}
.answer{padding-block:var(--s-0) var(--s-md);opacity:0;transform:translateY(var(--shift-sm));transition:opacity var(--t-fade) ease,transform var(--t-fade) ease}
.qa.on .answer{opacity:1;transform:none;transition:opacity var(--t-reveal) ease var(--d-answer),transform var(--t-reveal) var(--ease-out) var(--d-answer)}
.answer p+p{margin-top:var(--s-sm)}
/* cta */
.cta{padding-block:var(--s-0) var(--s-2xl)}
.cta-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-md)}
.cta-txt{display:flex;flex-direction:column;align-items:center;gap:var(--s-sm)}
.cta-txt .d2,.cta-txt .lead{margin-inline:auto}
/* footer */
.footer{background:var(--ink);color:var(--on-dark-1);padding-block:var(--s-lg) var(--s-md)}
.foot-main{padding-bottom:var(--s-lg);row-gap:var(--s-md)}
.foot-brand{grid-column:1/5;display:flex;flex-direction:column;gap:var(--s-sm);align-items:flex-start}
.foot-brand .wordmark,.foot-brand .wordmark:hover{color:var(--on-dark-1)}
.foot-brand .caption{color:var(--on-dark-2)}
.foot-cols{grid-column:6/13;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--grid-gap);row-gap:var(--s-md)}
.foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-md)}
.foot-col .lbl{margin-bottom:var(--s-neg-xs);color:var(--on-dark-1)}
.foot-col a,.copy{display:inline-flex;align-items:center;min-height:var(--tap);margin-block:var(--s-neg-xs);font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-caption);line-height:var(--lh-caption);letter-spacing:var(--tr-caption);color:var(--on-dark-2);transition:color var(--t-color) ease}
.foot-col a:hover,.copy:hover{color:var(--on-dark-1)}
.copy{position:relative;gap:var(--s-sm);padding:var(--s-0);border:var(--s-0);background:transparent;cursor:pointer}
.copied{position:absolute;left:var(--s-0);top:100%;white-space:nowrap;display:inline-flex;align-items:center;height:var(--copied-h);padding-inline:var(--s-xs);border-radius:var(--radius-control);background:var(--accent);color:var(--on-dark-1);font-family:var(--font-sans);font-weight:var(--w-medium);font-size:var(--t-eyebrow);line-height:var(--lh-eyebrow);letter-spacing:var(--tr-caption);opacity:0;transform:translateY(var(--shift-xs));transition:opacity var(--t-fade) ease,transform var(--t-fade) ease}
.copied.show{opacity:1;transform:translateY(var(--shift-neg))}
.foot-bot{border-top:var(--hair) solid var(--n-800);padding-top:var(--s-md);display:flex;justify-content:space-between;gap:var(--s-sm);font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-caption);line-height:var(--lh-caption);letter-spacing:var(--tr-caption);color:var(--on-dark-3)}
.foot-bot div{display:flex;gap:var(--s-md)}
.foot-bot a{color:var(--on-dark-3);display:inline-flex;align-items:center;min-height:var(--tap);margin-block:var(--s-neg-xs)}
.foot-bot a:hover{color:var(--on-dark-1)}
@media (max-width:1024px){
.nav{display:none}.menu{display:flex}.mnav.open{display:flex}
.hact .btn{display:none} /* the CTA lives in the hamburger menu on mobile */
.g12{grid-template-columns:minmax(0,1fr);row-gap:var(--s-lg)}
.hero-h1,.hero-aside,.wwd-l,.steps,.rail,.panel,.faq-l,.faq-r,.stat dt,.stat .num,.band-navy .label,.foot-brand,.foot-cols{grid-column:1/-1}
.hero-aside{padding-top:var(--s-0)}
.wwd-g{row-gap:var(--s-lg)}
.step:first-child{padding-top:var(--s-sm);border-top:var(--hair) solid var(--rule-strong)}
.svc,.svc.o1,.svc.o2{grid-template-columns:minmax(0,1fr)}
.sc{min-height:0}
.sc-body-in{max-width:none}
.sc-sp{min-height:var(--s-sm)}
.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--s-md)}
.rail{flex-direction:row;overflow-x:auto;border-top:var(--s-0);border-bottom:var(--hair) solid var(--hairline);scrollbar-width:none}
.tab{width:auto;flex:none;border-left:var(--s-0);border-bottom:var(--bar) solid transparent;padding-inline:var(--s-sm)}
.tab span{-webkit-line-clamp:1;white-space:nowrap}
.tab.on{border-left:var(--s-0);border-bottom-color:var(--accent)}
.rail{grid-row:1}.panel{grid-row:2;padding-top:var(--s-0)}
/* Panels stack in flow and animate height via grid rows, so switching tabs opens and closes smoothly. */
.ind-body{row-gap:var(--s-0)}
.rail{margin-bottom:var(--s-lg)}
.panel{grid-row:auto;display:grid;grid-template-rows:0fr;transform:translateY(var(--shift-sm));transition:grid-template-rows var(--t-reveal) var(--ease-io),opacity var(--t-fade) ease,transform var(--t-fade) ease,visibility 0s var(--t-reveal)}
.panel.on{grid-template-rows:1fr;transition:grid-template-rows var(--t-reveal) var(--ease-io),opacity var(--t-reveal) ease var(--d-panel),transform var(--t-reveal) var(--ease-out) var(--d-panel),visibility 0s}
.panel-in{overflow:hidden;min-height:0}
.stat{row-gap:var(--s-sm)}
.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:430px){
.foot-cols{grid-template-columns:minmax(0,1fr)}
.foot-bot{flex-direction:column;gap:var(--s-sm)}

}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important}}
/* contact */
.contact{padding-block:var(--s-md) var(--s-xl)}
.panel-c{padding:var(--panel-pad);background:var(--tint);border-radius:var(--radius-surface);align-items:start;row-gap:var(--s-lg)}
.contact-l{grid-column:1/6;display:flex;flex-direction:column;gap:var(--s-sm)}
.contact-l .d1{max-width:none;white-space:nowrap;font-size:min(var(--t-contact),var(--t-contact-cap))}
.form{grid-column:7/13;display:flex;flex-direction:column;gap:var(--field-gap);min-width:0;padding-top:var(--form-offset)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--field-gap)}
.field{display:flex;flex-direction:column;gap:var(--s-xs);min-width:0}
.field.full{grid-column:1/-1}
.field label,.legend{font-family:var(--font-sans);font-weight:var(--w-medium);font-size:var(--t-caption);line-height:var(--lh-caption);letter-spacing:var(--tr-caption);color:var(--navy)}
.req{color:var(--navy);margin-left:calc(var(--u) / 2)}
.input{display:block;width:100%;min-height:var(--input-h);padding:var(--s-xs) var(--s-sm);border:var(--hair) solid var(--border-control);border-radius:var(--radius-control);background:var(--n-0);font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-body);line-height:var(--lh-body);letter-spacing:var(--tr-body);color:var(--ink);transition:border-color var(--t-color) ease}
.input::placeholder{color:var(--muted);opacity:1}
.input:focus-visible{border-color:var(--accent);outline-offset:var(--ring-w)}
textarea.input{resize:vertical;min-height:calc(var(--input-h) * 3)}
select.input{appearance:none;-webkit-appearance:none;background-image:var(--chev);background-repeat:no-repeat;background-position:right var(--s-sm) center;padding-right:var(--s-md);text-overflow:ellipsis;cursor:pointer}
.referral{display:flex;flex-direction:column}
.fieldset{display:flex;flex-direction:column;gap:var(--s-xs)}
.radios{display:flex;gap:var(--s-xs)}
.radio{position:relative;cursor:pointer}
.radio input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:var(--s-0);cursor:pointer}
.radio span{display:flex;align-items:center;justify-content:center;min-height:var(--input-h);min-width:var(--s-lg);padding:var(--s-xs) var(--s-md);border:var(--hair) solid var(--border-control);border-radius:var(--radius-control);background:var(--n-0);color:var(--ink);font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--t-caption);line-height:var(--lh-caption);letter-spacing:var(--tr-caption);transition:background-color var(--t-color) ease,border-color var(--t-color) ease,color var(--t-color) ease}
.radio:hover span{border-color:var(--accent)}
.radio input:checked+span{background:var(--navy);border-color:var(--navy);color:var(--on-dark-1)}
.radio input:focus-visible+span{outline:var(--ring-w) solid var(--accent);outline-offset:var(--ring-off)}
.detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--t-reveal) var(--ease-io)}
.detail.on{grid-template-rows:1fr}
.detail-in{overflow:hidden;min-height:0}
.detail .field{padding-top:var(--field-gap);opacity:0;transition:opacity var(--t-fade) ease}
.detail.on .field{opacity:1;transition:opacity var(--t-reveal) ease var(--d-answer)}
.submit{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-sm);margin-top:var(--s-xs)}
.status{color:var(--navy)}
.logos-c{padding-block:var(--s-0) var(--s-2xl)}
@media (max-width:1024px){.panel-c{padding:var(--s-md)}.contact-l,.form{grid-column:1/-1}.contact-l .d1{white-space:normal}}
@media (max-width:430px){.fields{grid-template-columns:minmax(0,1fr)}}
/* production additions: form sending state + verification widget */
.btn:disabled{opacity:.6;cursor:progress}
.turnstile:empty{display:none}
.status:empty{display:none}
/* production fixes: keep the mobile-menu CTA white, and give the header room at phone width */
.mnav .btn,.mnav .btn:hover{color:var(--on-dark-1)}
@media (max-width:430px){.header-in{grid-template-columns:auto 1fr;column-gap:var(--s-sm)}}
/* Desktop page width follows staer.ai: content grows with the screen to a 1490px cap,
   with side margins that scale from the design's md gutter up to 96px. Below 1025px the
   handoff's gutters are unchanged. */
@media (min-width:1025px){:root{--gutter:clamp(var(--s-md),6.7vw,96px);--container:calc(1490px + var(--gutter) * 2)}}
/* Mobile/tablet section rhythm: the handoff's 16u–20u section padding is a desktop scale.
   Below 1025px sections use 8u (64px) per edge, 10u before the footer, and the logo grid
   gets more breathing room between columns. Desktop is untouched. */
@media (max-width:1024px){
.hero{padding-block:var(--s-lg) var(--s-lg)}
.logos{padding-block:var(--s-0) var(--s-lg)}
.wwd,.hwh,.ind,.band-navy,.faq{padding-block:var(--s-lg) var(--s-lg)}
.cta,.logos-c{padding-block:var(--s-0) calc(var(--u) * 10)}
.contact{padding-block:var(--s-md) var(--s-lg)}
.logo-grid{column-gap:var(--s-md);row-gap:calc(var(--u) * 5)}
}
/* Service cards, desktop: tighter spacing inside the open card so the row fits in the
   shorter 58u card height (closer to rogo.com's proportions). Below 1025px the cards
   stack and size to their content, so mobile is unchanged. */
@media (min-width:1025px){
.sc.on .sc-body{margin-top:calc(var(--u) * 3)}
.sc-body-in{gap:var(--s-sm)}
.sc .bullets{gap:calc(var(--u) / 2)}
.sc-sp{min-height:var(--s-sm)}
}
