/* Steele Solutions — Connected Growth. Shared refinements, built on the original artwork. */
:root {
  --navy:#060d1a; --ink:#060d1a; --ink-2:#0e1829; --ink-3:#172439;
  --mint:#007caf; --mint-soft:#007caf; --gold:#007caf;
  --teal:#007caf; --teal-ink:#006994; --paper:#f7f9fb; --paper-2:#eef2f6;
  --slate-ink:#4b596c; --on-ink-2:#c2ccda; --on-ink-3:#a3afc0;
  --rule:rgba(8,64,65,.16); --rule-strong:rgba(8,64,65,.3);
  --rule-ink:rgba(123,165,191,.16); --grid-minor:rgba(0,124,175,.035); --grid-major:rgba(0,124,175,.05);
  --grid-minor-ink:rgba(0,124,175,.027); --grid-major-ink:rgba(0,124,175,.045);
  --hdr-h:112px; --wrap:1440px; --sec-y:clamp(72px,8vw,120px);
}
.s-ink,.s-ink-2,.ftr,.hdr,.menu { --teal:var(--mint); }
.s-paper,.s-white,.wo-sheet,.svc-stage { --teal:#007caf; }
body { background:var(--paper); }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
:focus-visible { outline:3px solid var(--teal); outline-offset:5px; }
.skip { color:var(--ink); background:var(--mint); }
.s-ink,.s-ink-2 { background-color:var(--ink); }
.s-paper + .s-paper { border-top:1px solid var(--rule); }
.grid-field::before { animation:none; background-size:48px 48px,48px 48px,240px 240px,240px 240px; }
.s-paper > .grid-field,.s-white > .grid-field { opacity:.3; mask-image:linear-gradient(#000,transparent 80%); }
.s-ink .sheet-label .sec-no,.s-ink-2 .sheet-label .sec-no,.s-ink .mono.teal,.s-ink .kicker,.hh-kicker { color:var(--mint); }
.sheet-label { font-size:.68rem; letter-spacing:.12em; }
.sheet-label .sheet-no { opacity:.75; }
.eyebrow { display:block; font-family:var(--f-mono); font-size:.69rem; letter-spacing:.14em; text-transform:uppercase; color:var(--teal-ink); margin-bottom:20px; }
.xhair { display:none; }
/* Quiet, persistent navigation; every service is one click away. */
.hdr { background:rgba(7,25,31,.96); backdrop-filter:blur(18px); }
.hdr-top { height:34px; background:rgba(0,0,0,.13); }
.hdr-top .mono { font-size:.6rem; letter-spacing:.1em; color:var(--on-ink-2); }
.hdr-top .coords i { background:var(--mint); width:6px; height:6px; border:0; box-shadow:0 0 12px #007caf40; }
.hdr-top .coords i::after { display:none; }
.hdr-bar { height:78px; }
.hdr-bar .wrap { gap:40px; }
.hdr-logo { padding-right:36px; }
.hdr-logo img { height:59px; }
.hdr-nav ol { gap:32px; }
.hdr-nav a,.nav-services summary { font-size:.94rem; font-weight:500; color:#c6d6d5; }
.nav-services summary { display:flex; align-items:center; gap:12px; padding:12px 0; font-family:var(--f-display); cursor:pointer; list-style:none; }
.nav-services summary::-webkit-details-marker,.mobile-services summary::-webkit-details-marker { display:none; }
.nav-services summary.current,.nav-services details[open] summary,.nav-services summary:hover { color:var(--mint); }
.nav-services summary > span { color:var(--mint); font-size:1.3rem; transition:transform .2s; }
.nav-services details[open] summary > span { transform:rotate(45deg); }
.hdr.compact .hdr-bar { height:78px; }
.mega-menu { position:absolute; left:var(--gutter); right:var(--gutter); top:100%; background:#0e1829; border:1px solid #344156; border-top:2px solid var(--mint); display:grid; grid-template-columns:1fr 2.3fr; padding:30px; gap:36px; box-shadow:0 28px 70px #00101255; border-radius:0 0 12px 12px; }
.mega-intro { display:flex; flex-direction:column; align-items:start; border-right:1px solid var(--rule-ink); padding-right:30px; }
.mega-intro .mono { color:var(--mint); font-size:.59rem; }
.mega-intro p { font-family:var(--f-display); font-size:2.4rem; line-height:1.04; letter-spacing:-.05em; margin:24px 0 16px; }
.mega-intro em { color:var(--mint); font-style:normal; }
.mega-intro > span:last-of-type { font-size:.86rem; line-height:1.6; color:var(--on-ink-2); }
.hdr-nav .mega-help { margin-top:auto; white-space:normal; font-size:.84rem; color:var(--mint); padding-top:26px; }
.mega-links { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.hdr-nav .mega-links a,.mobile-services a { display:flex; align-items:center; gap:12px; padding:15px 8px; border-bottom:1px solid var(--rule-ink); white-space:normal; border-radius:4px; text-decoration:none; }
.mega-links a:hover { background:#17283a; }
.mega-links a::after,.mega-help::after { display:none; }
.mega-n { color:var(--mint); font-family:var(--f-mono); font-size:.62rem; }
.mega-links strong,.mobile-services strong { display:block; font-size:.94rem; font-weight:500; }
.mega-links small,.mobile-services small { display:block; font-size:.7rem; color:var(--on-ink-3); margin-top:3px; line-height:1.5; }
.mega-arrow { color:var(--mint); margin-left:auto; }
.mobile-services { border-bottom:1px solid var(--rule-ink); padding:18px 0; }
.mobile-services summary { list-style:none; display:flex; justify-content:space-between; color:var(--mint); font-family:var(--f-display); font-size:1.2rem; cursor:pointer; }
.menu .m-foot .btn { color:var(--ink); }
.menu-open .menu { background:radial-gradient(ellipse at 95% 10%,#007caf30,transparent 70%),var(--ink); }
/* Crisp solid CTAs; the brighter color is reserved for decisions and drawing details. */
.btn { border-radius:5px; overflow:hidden; min-height:52px; }
.btn .b-label { padding:18px 21px; }
.btn .b-box { background:var(--mint); color:var(--ink); }
.s-ink .btn,.s-ink-2 .btn,.btn.on-ink { --b-bg:var(--mint); --b-fg:var(--ink); --b-sweep:#006994; --b-fg-h:var(--ink); --b-box:#006994; --b-box-fg:var(--ink); }
.s-ink .btn .b-box,.btn.on-ink .b-box { background:var(--b-box); color:var(--b-box-fg); }
.s-ink .btn.ghost,.s-ink-2 .btn.ghost { --b-bg:transparent; --b-fg:#edf1f7; --b-sweep:#142739; --b-fg-h:#fff; --b-box:transparent; --b-box-fg:var(--mint); box-shadow:inset 0 0 0 1px #586a81; }
.s-ink .btn.ghost:hover .b-box { background:#142739; color:var(--mint); }
.btn:hover { box-shadow:0 7px 24px #001b1d1a; }
.btn::after { display:none; }
.s-ink .wo-sheet .btn { --b-bg:var(--ink); --b-fg:#fff; --b-sweep:#006994; --b-fg-h:#fff; --b-box:var(--mint); --b-box-fg:var(--ink); }
/* Hero — a connected search system, not a simulated analytics dashboard. */
.hh { min-height:0; padding-top:calc(var(--hdr-h) + 32px); background:radial-gradient(ellipse at 82% 42%,#007caf20,transparent 51%),var(--ink); }
.hh-meta { justify-content:space-between; padding-bottom:24px; border-bottom:1px solid var(--rule-ink); font-size:.62rem; letter-spacing:.12em; }
.home-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(24px,3vw,56px); align-items:center; padding:46px 0 52px; }
.hh-title { margin-top:0; }
.hh-title .mega { font-size:clamp(3rem,6.1vw,6.1rem); line-height:1; letter-spacing:-.063em; max-width:none; }
.hh-title .teal { color:var(--mint); }
.hh-kicker { margin-bottom:26px; font-size:.65rem; letter-spacing:.12em; }
.hh-copy { margin-top:26px; max-width:560px; }
.hh-copy .lead { color:#fff; font-family:var(--f-display); font-size:1.3rem; margin-bottom:10px; }
.hero-description { color:var(--on-ink-2); font-size:1rem; line-height:1.7; max-width:440px; }
.hh-copy .btn-row { margin-top:27px; gap:12px; }
.hh-copy .btn { font-size:.91rem; }
.hh-copy .btn .b-label { padding:18px 17px; }
.hh-copy .btn .b-box { width:43px; }
.hh-copy .btn::before { right:43px; }
.hero-reassurance { display:flex; gap:13px; flex-wrap:wrap; align-items:center; margin-top:25px; font-size:.77rem; color:#e1eee9; }
.hero-stars { color:var(--gold); letter-spacing:3px; }
.hero-reassurance .muted { color:var(--on-ink-3); }
.ecosystem { margin:0; color:var(--mint); border:1px solid #007caf30; border-radius:14px; background:linear-gradient(145deg,#007caf20,#0b18291a); position:relative; box-shadow:0 20px 90px #00111728; }
.eco-top { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--rule-ink); font-size:.56rem; }
.eco-top > span:first-child { display:flex; align-items:center; gap:9px; }
.eco-top i { height:5px; width:5px; background:var(--mint); border-radius:50%; }
.ecosystem > svg { width:100%; height:auto; overflow:visible; }
.eco-revolve { transform-origin:300px 270px; animation:eco-turn 36s linear infinite; }
@keyframes eco-turn { to { transform:rotate(360deg); } }
.eco-node rect { transition:stroke-opacity .3s; }
.ecosystem:hover .eco-node rect { stroke-opacity:.8; }
.ecosystem figcaption { display:flex; justify-content:space-between; align-items:center; margin:0 22px; padding:18px 0 23px; border-top:1px solid var(--rule-ink); color:var(--on-ink-3); font-size:.83rem; }
.ecosystem figcaption strong { font-family:var(--f-display); color:#edf3fa; font-size:1.08rem; font-weight:500; }
.eco-symbol { color:var(--mint); font-size:2.2rem; font-family:var(--f-display); }
.hh .spec { padding:25px 0 30px; background:transparent; }
.hh .spec > div { padding-top:0; padding-bottom:0; }
.hh .spec .v { font-size:2rem; }
.hh .spec .k { font-size:.57rem; max-width:180px; line-height:1.65; }
/* Across the site, color is brighter on dark and deeper on paper. */
.phero { background-image:radial-gradient(ellipse at 88% 55%,#007caf24,transparent 56%); }
.phero .grid-field { opacity:.5; mask-image:linear-gradient(90deg,transparent,#000); }
.phero .top,.phero-top { font-size:.65rem; }
.s-ink svg [stroke="#007caf"],.s-ink-2 svg [stroke="#007caf"],.ftr svg [stroke="#007caf"] { stroke:var(--mint); }
.s-ink svg [fill="#007caf"],.s-ink-2 svg [fill="#007caf"],.ftr svg [fill="#007caf"] { fill:var(--mint); }
.s-ink svg [fill="rgba(0,124,175,.14)"] { fill:#007caf21; }
.s-ink .stars,.s-ink-2 .stars,.ftr .stars { color:var(--gold); }
.cs-radar { border:1px solid var(--rule-ink); border-radius:14px; padding:18px 0; background:radial-gradient(ellipse,#007caf13,transparent 65%); }
.cs-copy .h1 { font-size:clamp(2.7rem,4.7vw,4.6rem); line-height:1.06; }
.cs-copy .lead { font-size:1.06rem; line-height:1.75; }
.cs-copy .btn-row { margin-top:30px; }
.triad { gap:24px; border:0; }
.triad > li { background:#fff; border:1px solid var(--rule); border-radius:10px; padding:30px; }
.triad > li .tri-n { color:var(--teal-ink); opacity:1; }
.surf { padding:20px; border:1px solid var(--rule); border-radius:12px; background:#fff; }
.seg { border-color:var(--rule); border-radius:6px; background:#fff; }
.seg button { min-height:44px; border-radius:3px; font-size:.65rem; letter-spacing:.05em; }
.seg button[aria-pressed="true"] { background:#006994; }
.surf-score > span { color:var(--teal-ink); }
.svc-list { border-top:1px solid var(--rule); }
.svc-list [role="tab"] { padding:17px 16px; border-radius:6px; }
.svc-list [role="tab"][aria-selected="true"] { background:#e1edf1; }
.svc-list [role="tab"]::before { display:none; }
.svc-stage { border:1px solid var(--rule); border-radius:12px; overflow:hidden; box-shadow:0 15px 45px #173c3510; }
.svc-stage.ticks::before,.svc-stage.ticks::after { display:none; }
.sp-head,.sp-foot { background:#eef3f7; font-size:.62rem; }
.sp-body { padding:30px; grid-template-columns:minmax(100px,.7fr) 1.4fr; gap:25px; }
.sp-tags .chip { border-radius:4px; background:#f3f6f9; font-size:.6rem; letter-spacing:.07em; }
/* Goal picker — a small useful tool, with ordinary links as the next step. */
.growth-finder { padding:72px 0 88px; }
.growth-intro { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.growth-intro h2 { font-size:clamp(2.3rem,4vw,3.7rem); line-height:1.05; letter-spacing:-.05em; }
.growth-intro em { color:var(--teal-ink); font-style:normal; }
.growth-intro p { color:var(--slate-ink); font-size:.96rem; margin:0 0 6px; }
.growth-tool { display:grid; grid-template-columns:1fr 1.7fr; border:1px solid var(--rule); border-radius:12px; background:#fff; overflow:hidden; }
.growth-choices { padding:18px; display:grid; align-content:start; gap:6px; background:#edf2f6; border-right:1px solid var(--rule); }
.growth-choices button { display:flex; gap:14px; align-items:center; text-align:left; border:0; padding:20px 16px; min-height:66px; background:transparent; cursor:pointer; color:#43556a; font-family:var(--f-display); font-weight:500; border-radius:6px; }
.growth-choices button > span:last-child { margin-left:auto; opacity:0; }
.growth-choices button:hover { background:#e2ecf1; }
.growth-choices button[aria-selected="true"] { background:var(--ink); color:var(--mint); }
.growth-choices button[aria-selected="true"] > span:last-child { opacity:1; }
.goal-icon { font-size:1.35rem; width:24px; text-align:center; }
.growth-result { padding:32px 40px 40px; }
.growth-result[hidden] { display:none; }
.growth-result-head { display:flex; justify-content:space-between; gap:12px; color:var(--teal-ink); margin-bottom:24px; }
.growth-result-head .mono { font-size:.61rem; }
.growth-result h3 { font-size:clamp(1.8rem,2.6vw,2.6rem); letter-spacing:-.04em; max-width:13em; line-height:1.06; }
.growth-result p { margin:20px 0 27px; color:var(--slate-ink); font-size:.95rem; max-width:38em; }
.growth-result .btn { font-size:.86rem; }
.growth-secondary { font-family:var(--f-display); font-size:.87rem; font-weight:500; text-decoration:none; padding:12px 0; }
.growth-secondary:hover { text-decoration:underline; text-underline-offset:4px; }
.no-js .growth-choices { display:none; }
.no-js .growth-tool { display:block; }
.no-js .growth-result[hidden] { display:block; border-top:1px solid var(--rule); }
/* Process: native horizontal browsing, no scroll trapping. */
[data-process-cards] .proc-track { flex-direction:row; gap:22px; padding-top:4px; padding-bottom:18px; }
[data-process-cards] .proc-viewport { overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#007caf80 #142638; scroll-padding-left:var(--gutter); }
[data-process-cards] .proc-panel { scroll-snap-align:start; width:min(76vw,850px); min-height:360px; padding:30px; grid-template-columns:1.1fr 1fr; gap:25px; background:#102033; border:1px solid #344a5f; border-radius:12px; }
[data-process-cards] .proc-panel .big-no { font-size:5rem; -webkit-text-stroke:1px #007caf7a; }
[data-process-cards] .proc-panel h3 { font-size:1.75rem; margin-top:23px; }
[data-process-cards] .proc-panel p { font-size:.97rem; line-height:1.7; margin-bottom:0; }
[data-process-cards] .proc-panel .art { background:#007caf05; border-color:#007caf30; border-radius:8px; }
[data-process-cards] .proc-count { display:flex; align-items:center; color:var(--on-ink-2); }
[data-process-cards] .proc-rail { display:block; margin-bottom:24px; }
.process-controls { display:flex; gap:8px; }
.process-controls button { display:grid; place-items:center; width:46px; height:42px; border:1px solid #526d81; border-radius:5px; background:transparent; color:var(--mint); font-size:1.4rem; cursor:pointer; }
.process-controls button:hover { background:var(--mint); color:var(--ink); }
.process-controls button:disabled { opacity:.28; cursor:default; background:transparent; color:var(--mint); }
/* Forms with explicit labels, visible boundaries and forgiving optional fields. */
.wo-sheet { border:1px solid var(--rule); border-radius:12px; box-shadow:0 20px 70px #0015172b; }
.wo-sheet.ticks::before,.wo-sheet.ticks::after { display:none; }
.wo-head { background:#e9f0f4; border-radius:12px 12px 0 0; border-bottom:1px solid var(--rule); gap:15px; }
.wo-head .mono { font-size:.59rem; letter-spacing:.08em; }
.wo-head .mono:last-child { white-space:nowrap; }
.form-guidance { color:var(--slate-ink); font-size:.78rem; margin-bottom:22px; }
.fld { padding-top:0; margin-bottom:20px; }
.fld label { position:static; font-family:var(--f-body); text-transform:none; font-size:.8rem; letter-spacing:0; font-weight:500; margin-bottom:8px; flex-wrap:wrap; color:var(--ink); }
.fld label .code { display:none; }
.fld input,.fld select,.fld textarea { background:#fff; border:1px solid #9eafbd; border-radius:5px; padding:12px 13px; font-family:var(--f-body); font-size:1rem; line-height:1.5; color:var(--ink); width:100%; transition:box-shadow .18s,border-color .18s; }
.fld textarea { resize:vertical; min-height:112px; }
.fld select { padding-right:32px; background-position:right 12px center; }
.fld input::placeholder,.fld textarea::placeholder { color:#62768a; font-size:.88rem; }
.fld input:focus,.fld select:focus,.fld textarea:focus { outline:0; border-color:var(--teal-ink); box-shadow:0 0 0 3px #007caf20; }
.fld .bar { display:none; }
.fld.invalid input { border-color:#b42318; }
.fld .err { font-family:var(--f-body); text-transform:none; font-size:.78rem; letter-spacing:0; }
.optional { color:var(--slate-ink); font-weight:400; }
.form-foot .mono { font-family:var(--f-body); text-transform:none; font-size:.77rem; letter-spacing:0; }
.form-status { font-family:var(--f-body); text-transform:none; letter-spacing:0; font-size:.85rem; }
.form-foot .btn { min-width:200px; }
.faq details { border-radius:6px; padding:0 14px; }
.faq details[open] { background:#e8f0f5; }
.s-ink .faq details[open] { background:#152c40; }
.rev-score .big { color:var(--teal-ink); }
.rev-stage { border-top:2px solid var(--teal-ink); }
.rev-quote blockquote { line-height:1.25; }
.rev-controls { margin:18px 0 0; }
.rev-pause { border:1px solid var(--rule); background:transparent; color:var(--slate-ink); border-radius:4px; padding:9px 13px; font-size:.75rem; cursor:pointer; }
.ftr { background-image:radial-gradient(ellipse at 80% 5%,#007caf20,transparent 55%); }
.ftr-cta .mega { font-size:clamp(3rem,6.6vw,6rem); line-height:1; }
.ftr-col h2 { color:var(--mint); }
.ftr-social a { border-radius:5px; }
.ftr-social a:hover { color:var(--ink); }
.motion-paused,.motion-paused * { animation-play-state:paused !important; }
/* Responsive layouts: same tools, comfortable touch targets. */
@media(min-width:1024px) and (max-width:1180px) { .hdr-nav ol { gap:22px; } .hdr-bar .wrap { gap:25px; } .hdr-logo { padding-right:24px; } }
@media(max-width:1023px) {
  :root { --hdr-h:76px; --hdr-h-compact:76px; }
  .hdr-bar,.hdr.compact .hdr-bar { height:76px; }
  .hdr-logo img { height:54px; }
  .hdr-burger { border-color:#536b80; border-radius:5px; }
  .home-hero-grid { grid-template-columns:1fr 1fr; gap:24px; }
  .hh-title .mega { font-size:clamp(2.8rem,6vw,4.9rem); }
  .hh-meta { font-size:.58rem; }
  .hh-kicker { font-size:.57rem; }
  .hh-copy .btn-row { align-items:stretch; flex-direction:column; max-width:280px; }
  .hh-copy .btn .b-label { flex:1; }
  .eco-top { padding:15px 12px; font-size:.46rem; }
  .eco-top > span:last-child { display:none; }
  .ecosystem figcaption { margin:0 14px; }
  .ecosystem figcaption strong { font-size:.9rem; }
  .growth-tool { grid-template-columns:1fr 1.5fr; }
  .growth-result { padding:28px; }
  .growth-choices { padding:12px; }
  .growth-choices button { font-size:.9rem; padding:18px 12px; }
  .svc-stage { min-height:0; background:transparent; border:0; box-shadow:none; }
  .svc-panel,.svc-panel[hidden] { border-radius:9px; overflow:hidden; border-color:var(--rule); }
  .cs-radar { max-width:650px; margin:auto; }
}
@media(max-width:700px) {
  .home-hero-grid { grid-template-columns:1fr; gap:34px; padding-top:34px; padding-bottom:34px; }
  .hh-title .mega { font-size:clamp(3rem,10.6vw,4.5rem); line-height:1; }
  .hh-meta > span:last-child { display:none; }
  .hh-kicker { font-size:.59rem; margin-bottom:23px; }
  .hh-copy { margin-top:24px; }
  .hh-copy .lead { font-size:1.2rem; }
  .hh-copy .btn-row { max-width:none; flex-direction:row; }
  .hh-copy .btn { flex:1 1 220px; }
  .hero-description { font-size:.95rem; }
  .ecosystem { max-width:500px; width:100%; margin:auto; }
  .ecosystem svg { max-height:380px; }
  .eco-top { font-size:.56rem; padding:17px; }
  .eco-top > span:last-child { display:block; }
  .ecosystem figcaption { padding:13px 0 18px; }
  .hh .spec { padding:25px 0; grid-template-columns:1fr 1fr; gap:22px; }
  .hh .spec > div { border:0; padding:0; }
  .hh .spec .v { font-size:1.85rem; }
  .hh .spec > div:last-child { grid-column:1/-1; }
  .growth-finder { padding:58px 0; }
  .growth-intro { display:block; }
  .growth-intro p { margin-top:20px; }
  .growth-tool { grid-template-columns:1fr; }
  .growth-choices { grid-template-columns:1fr 1fr; border-right:0; border-bottom:1px solid var(--rule); padding:10px; gap:6px; }
  .growth-choices button { padding:13px 10px; min-height:62px; gap:8px; font-size:.85rem; }
  .growth-choices button > span:last-child { display:none; }
  .goal-icon { font-size:1.2rem; width:20px; flex-shrink:0; }
  .growth-result { padding:27px 23px; }
  .growth-result h3 { font-size:1.9rem; }
  .growth-result p { font-size:.91rem; }
  .growth-result .btn-row { gap:10px; }
  .growth-result .btn .b-label { padding:17px 15px; }
  .growth-result .btn .b-box { width:42px; }
  .growth-result .btn::before { right:42px; }
  .growth-result-head .mono { font-size:.52rem; }
  .growth-result-head { margin-bottom:20px; }
  .sheet-label .sheet-no { display:none; }
  .surf { padding:10px; }
  .cs-copy .h1 { font-size:clamp(2.4rem,9vw,3.5rem); }
  .cs-copy .lead { font-size:.98rem; }
  .phero .top .mono:last-child { display:none; }
  .wo-head .mono:last-child { display:none; }
  .wo-body { padding:24px 20px; }
  .fld label { font-size:.78rem; }
  .form-foot .btn { width:100%; }
  .form-foot .btn .b-label { flex:1; }
  [data-process-cards] .proc-panel { width:calc(100vw - 2 * var(--gutter) - 10px); grid-template-columns:1fr; min-height:0; padding:25px; }
  [data-process-cards] .proc-panel .art { max-width:320px; width:100%; }
  [data-process-cards] .proc-panel .big-no { font-size:3.4rem; }
  [data-process-cards] .proc-panel h3 { font-size:1.6rem; }
  [data-process-cards] .proc-panel p { font-size:.9rem; }
  .triad > li { padding:24px; }
  .ftr-cta .mega { font-size:clamp(2.7rem,11vw,4rem); }
}
@media(prefers-reduced-motion:reduce) { .eco-revolve { animation:none; } }
html.rm .eco-revolve { animation:none; }

/* Keep the first decision in reach on a laptop-sized viewport. */
.hh { padding-top:calc(var(--hdr-h) + 24px); }
.home-hero-grid { padding-top:26px; padding-bottom:38px; }
.ecosystem > svg { max-height:440px; }
.hero-description { max-width:490px; }
@media(min-width:1024px) and (max-height:820px) {
  .home-hero-grid { padding-top:20px; }
  .hh-title .mega { font-size:clamp(3.4rem,5.3vw,5.2rem); }
  .hh-kicker { margin-bottom:20px; }
  .hh-copy { margin-top:20px; }
  .hh-copy .btn-row { margin-top:20px; }
  .ecosystem > svg { max-height:355px; }
  .hero-reassurance { margin-top:19px; }
}

@media(max-width:1023px) {
  .hh-wrap { display:block; }
  .hh .wrap.hh-wrap > * { padding-left:0; padding-right:0; }
  .hh-title,.hh-copy { padding-left:0; padding-right:0; }
  .hh .spec { margin:0; }
}
.no-js .process-controls { display:none; }

/* Brand finish: ink, white and one blue accent. Content never waits for a scroll reveal. */
:root{--mint:#007caf;--mint-soft:#007caf;--gold:#007caf;--ink:#060d1a;--navy:#060d1a;--grid-minor:rgba(0,124,175,.055);--grid-major:rgba(0,124,175,.025)}
.hdr{background:rgba(6,13,26,.98)}
.s-ink .teal,.s-ink-2 .teal,.ftr .teal,.hh-title .teal{color:#fff;text-decoration-color:#007caf}
.hh-title .teal{text-decoration:underline;text-decoration-thickness:.055em;text-underline-offset:.13em}
.s-ink .btn,.s-ink-2 .btn,.btn.on-ink{--b-bg:#007caf;--b-fg:#fff;--b-sweep:#006994;--b-fg-h:#fff;--b-box:#006994;--b-box-fg:#fff}
.btn .b-box,.menu .m-foot .btn{color:#fff}
.s-ink .kicker,.s-ink .mono.teal,.hh-kicker,.mega-n,.mega-arrow,.nav-services summary>span,.hdr-nav .mega-help,.mega-intro .mono,.mega-intro em{color:#fff}
.s-ink .grid-field,.s-ink-2 .grid-field,.ftr>.grid-field{display:none}
.s-paper,.s-white{background-image:linear-gradient(rgba(0,124,175,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,124,175,.045) 1px,transparent 1px);background-size:48px 48px}
.s-paper>.grid-field,.s-white>.grid-field{display:none}
html.js [data-rv],html.js [data-rv='stagger']>*,html.js [data-rv='words'] .w>span{opacity:1!important;transform:none!important;clip-path:none!important}
.ftr-col .ftr-label{font:600 .73rem var(--f-mono);color:#fff;text-transform:uppercase;letter-spacing:.09em;margin:0 0 22px}
.ftr-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:40px}.ftr-brand{grid-row:span 2}
.editorial-section .editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 64px}.editorial-section p{line-height:1.85;margin:18px 0}.editorial-section h3{font:500 1.45rem var(--f-display)}
.editorial-section .lead{max-width:820px}.editorial-section a{color:#006994;text-decoration:underline;text-underline-offset:3px}.editorial-section .chips a{text-decoration:none}
.author-bio{scroll-margin-top:140px}
@media(max-width:800px){.editorial-section .editorial-grid{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr 1fr}.ftr-brand{grid-column:1/-1;grid-row:auto}}
@media(max-width:480px){.ftr-grid{grid-template-columns:1fr 1fr;gap:32px 20px}}

.hh-title .teal{text-decoration-color:#007caf}.orbit-label{fill:#fff}

.ecosystem .mono,.ecosystem .eco-head{color:#c2ccda}.process-controls button{color:#fff;border-color:#007caf}
