/* Garden City Customs Services — site.css */
@font-face{
  font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("/assets/fonts/montserrat-latin-variable.woff2") format("woff2");
}
:root{
  --ink:#0b1533;--muted:#4a5672;--line:#dde3f0;--bg:#fff;--soft:#f1f4fb;--card:#fff;
  --brand:#1d3fd1;--brand-ink:#1a38bd;--brand-soft:#e7ecff;
  --navy:#050f3d;--navy2:#1433b3;--on-dark:#fff;--on-dark-muted:#c6d1f2;
  --cyan:#2cc9ea;--cyan-soft:#8fe7f8;
  --display:"Montserrat","Futura","Century Gothic",sans-serif;
  --sans:"Montserrat","Century Gothic",system-ui,sans-serif;
  --header-offset:180px;
  --r-sm:8px;--r:14px;--r-lg:22px;
  --shadow:0 22px 48px -22px rgba(5,15,61,.38);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ink:#e9eefb;--muted:#a8b4cf;--line:#223463;--bg:#060d26;--soft:#0b163a;--card:#0e1b45;
  --brand:#2f5cff;--brand-ink:#6fdcf3;--brand-soft:#0f2a5e;--shadow:0 22px 48px -22px rgba(0,0,0,.7)}}
:root[data-theme="dark"]{--ink:#e9eefb;--muted:#a8b4cf;--line:#223463;--bg:#060d26;--soft:#0b163a;--card:#0e1b45;--brand:#2f5cff;--brand-ink:#6fdcf3;--brand-soft:#0f2a5e}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-offset);-webkit-text-size-adjust:100%}
body{margin:0;font:1rem/1.7 var(--sans);color:var(--ink);background:var(--bg);text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand-ink);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;padding:.6rem 1rem;z-index:99}
.skip:focus{left:1rem;top:1rem}
.w{max-width:74rem;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:46rem}
h1,h2,h3{text-wrap:balance}
h1{font:500 clamp(2.1rem,4.8vw,3.6rem)/1.12 var(--display);letter-spacing:-.025em;margin:0 0 1.1rem}
h2{font:500 clamp(1.65rem,3.6vw,2.4rem)/1.2 var(--display);letter-spacing:-.02em;margin:0 0 .85rem}
h3{font:600 1.15rem/1.35 var(--sans);margin:1.6rem 0 .4rem}
p{margin:0 0 1rem}
.lead{font-size:1.2rem;line-height:1.6;color:var(--muted);max-width:40rem}
.muted{color:var(--muted)}
section{padding:4.25rem 0}
.soft{background:var(--soft)}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,var(--navy),var(--brand) 55%,var(--cyan))}
.bar{max-width:80rem;min-height:160px;margin:0 auto;display:flex;align-items:center;gap:1.75rem;padding:1rem 2rem;position:relative;z-index:1}
.brand-logo{display:block;flex:0 0 auto}
.brand-logo img{height:128px;width:64px;filter:none;box-shadow:none}
.header-content{flex:1;min-width:0}
.brand{display:inline-block;text-decoration:none;color:var(--ink)}
.name{display:flex;flex-direction:column;line-height:1}
.name b{font:500 clamp(1.45rem,2.45vw,2.15rem)/1.2 var(--display);letter-spacing:-.025em;white-space:nowrap}
.name i{font:400 .9rem/1.5 var(--sans);font-style:italic;letter-spacing:.015em;color:var(--muted);margin-top:.55rem}
nav.main{display:flex;align-items:center;gap:.8rem;margin-top:1.2rem;padding-top:.65rem;border-top:1px solid var(--line)}
nav.main>a,.dd-link{font:500 .9rem var(--sans);color:var(--ink);background:none;border:0;padding:.65rem .65rem;border-radius:var(--r-sm);cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:.45rem;white-space:nowrap}
nav.main>a:hover,nav.main>a[aria-current]{background:var(--soft)}
/* dropdown = real link (label) + chevron toggle button; the pair reads as one pill */
.dd{position:relative;display:flex;align-items:stretch;border-radius:var(--r-sm)}
.dd:first-child{margin-left:-.65rem}
.dd-link{padding-right:.3rem;border-radius:var(--r-sm) 0 0 var(--r-sm)}
.dd-link:focus-visible,.dd-t:focus-visible{outline-offset:-3px}
.dd-t{flex:none;width:1.9rem;padding:0 .55rem 0 0;display:grid;place-items:center;background:none;border:0;color:var(--ink);cursor:pointer;border-radius:0 var(--r-sm) var(--r-sm) 0}
.dd-t::after{content:"";width:.42rem;height:.42rem;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.dd.open .dd-t::after{transform:translateY(2px) rotate(225deg)}
.dd.open,.dd:has(>.dd-link[aria-current]){background:var(--soft)}
.dd-link:hover{color:var(--brand-ink)}
.dd-t:hover{color:var(--brand-ink)}
/* the menu sits in front of the header's gradient rule (.bar z-index) right under its button;
   .menu::before is an invisible hover bridge over the 6px gap; site.js adds a short close delay */
.menu{display:none;position:absolute;z-index:5;top:calc(100% + 6px);left:0;min-width:22.5rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:.5rem;box-shadow:0 28px 60px -14px rgba(5,15,61,.4)}
.menu::before{content:"";position:absolute;left:-1px;right:-1px;top:-16px;height:16px}
.dd.open .menu{display:block;animation:pop .18s ease-out}
.menu a{display:block;padding:.65rem .85rem;border-radius:var(--r-sm);text-decoration:none;font-weight:500;font-size:.97rem;color:var(--ink);white-space:normal}
.menu a:hover,.menu a:focus-visible{background:var(--soft);color:var(--brand-ink)}
.menu a[aria-current]{color:var(--brand-ink);font-weight:650}
@keyframes pop{from{opacity:0;transform:translateY(-6px)}}
/* social icons: header row 1 (desktop) and inside the Menu panel (below 1000px) */
.h-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}
.h-social{display:flex;align-items:center;gap:.4rem;flex:none;margin-top:.3rem}
.h-social a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--card);transition:border-color .2s,transform .2s}
.h-social a:hover{border-color:var(--brand);transform:translateY(-1px)}
.h-social img{width:18px;height:18px}
.m-social{display:none}
nav.main .tel{background:var(--brand);color:#fff;margin-left:auto;padding:.75rem 1.15rem;border-radius:999px;font-weight:600;white-space:nowrap}
nav.main .tel:hover{background:var(--navy2)}
.burger{display:none;font:700 .95rem var(--sans);background:var(--navy);color:#fff;border:0;border-radius:10px;padding:.7rem 1rem;cursor:pointer}
@media (max-width:999px){
  .bar{padding:1rem 1.5rem}
  .burger{display:block;margin-top:1rem;font-size:.85rem;font-weight:500;padding:.65rem 1rem;border:1px solid var(--line);background:var(--soft);color:var(--ink)}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--bg);border-bottom:1px solid var(--line);padding:1rem 1.5rem 1.5rem;margin-top:0;max-height:calc(100dvh - var(--header-offset));overflow:auto;box-shadow:0 30px 40px -30px rgba(0,0,0,.4)}
  nav.main.open{display:flex}
  .h-social{display:none}
  .dd,.dd:first-child{margin-left:0;flex-wrap:wrap;align-items:center}
  .dd.open,.dd:has(>.dd-link[aria-current]){background:none}
  .dd-link{flex:1;font-size:.95rem;padding:.75rem .65rem;border-radius:var(--r-sm)}
  .dd-link[aria-current]{background:var(--soft)}
  .dd-t{width:44px;height:44px;padding:0;border-radius:var(--r-sm);border:1px solid var(--line)}
  .dd.open .dd-t{background:var(--soft)}
  .menu{position:static;flex-basis:100%;box-shadow:none;border:0;background:var(--soft);min-width:0;margin:.2rem 0 .5rem}
  .menu::before{display:none}
  nav.main>a{padding:.75rem .65rem;font-size:.95rem}
  nav.main .tel{margin:.6rem 0 0;justify-content:center}
  .m-social{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.9rem;font-weight:600;color:var(--muted)}
  .m-social-icons{display:flex;gap:.5rem}
  .m-social-icons a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card)}
  .m-social-icons img{width:24px;height:24px}
}
@media (max-width:600px){
  :root{--header-offset:144px}
  .bar{min-height:128px;padding:1rem;gap:.75rem}
  .brand-logo img{height:96px;width:48px}
  .name b{font-size:clamp(.78rem,4vw,1.35rem);letter-spacing:-.025em}
  .name i{font-size:clamp(.63rem,2.9vw,.82rem);letter-spacing:0;margin-top:.5rem}
  .burger{font-size:.7rem;padding:.5rem .8rem;margin-top:.75rem}
}
@media (max-width:359px){.bar{padding-left:.75rem;padding-right:.75rem;gap:.6rem}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.55rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--brand);background:var(--brand);color:#fff;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(29,63,209,.65)}
.btn.alt{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn.alt:hover{border-color:#fff;box-shadow:none;background:rgba(255,255,255,.08)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{box-shadow:none;background:var(--soft)}
.cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.8rem}

/* ---------- dark hero shell (home, services hub, service pages, about) ---------- */
.dark{position:relative;overflow:hidden;color:var(--on-dark);background:radial-gradient(55rem 32rem at 90% 0%,rgba(44,201,234,.26),transparent 62%),radial-gradient(45rem 28rem at 0% 110%,rgba(29,63,209,.55),transparent 60%),linear-gradient(145deg,var(--navy) 10%,var(--navy2));isolation:isolate}
.dark::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 72px),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 72px);mask-image:linear-gradient(180deg,#000,transparent 92%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 92%)}
.dark .lead{color:var(--on-dark-muted)}
.dark a:not(.btn){color:#fff}
.arcs{position:absolute;z-index:-1;right:-9rem;top:-6rem;width:40rem;max-width:90vw;opacity:.16;pointer-events:none}
.arcs path{fill:none;stroke:var(--cyan-soft);stroke-width:26}
.crumbs{font-size:.9rem;margin:0 0 1.1rem;display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;padding:0}
.crumbs li:not(:last-child)::after{content:"/";margin-left:.35rem;opacity:.55}
.crumbs a{text-decoration:none;opacity:.85}
.crumbs a:hover{opacity:1;text-decoration:underline}
.crumbs [aria-current]{opacity:.7}
.light-crumbs a{color:var(--muted)}

/* ---------- home hero ---------- */
.hero{position:relative;display:grid;gap:3.5rem;padding:3rem 1.25rem 6.75rem;align-items:center;max-width:74rem;margin:0 auto}
.hero>div{min-width:0}
@media (min-width:880px){.hero{grid-template-columns:1.2fr .85fr}}
.hero h1{font-size:clamp(1.9rem,3vw,2.5rem);font-weight:500;line-height:1.18;letter-spacing:-.025em;margin-bottom:1rem}
.hero .lead{font-size:1.025rem;line-height:1.65;margin-bottom:0;max-width:36rem}
.hero .cta{margin-top:1.5rem;gap:.75rem}
.hero .btn{font-size:1rem;font-weight:600;padding:.75rem 1.3rem}
.hero h1,.hero .lead,.hero .cta{animation:up .8s cubic-bezier(.2,.7,.2,1) both}
.hero .lead{animation-delay:.1s}.hero .cta{animation-delay:.2s}
@keyframes up{from{opacity:0;transform:translateY(22px)}}
.shot{position:relative;max-width:29rem;justify-self:center;width:100%}
.shot::before{content:"";position:absolute;inset:.75rem -.75rem -.75rem .75rem;border:2px solid rgba(44,201,234,.65);border-radius:var(--r-lg)}
.shot img.ph{position:relative;border-radius:var(--r-lg);width:100%;height:300px;object-fit:cover;object-position:center 58%;box-shadow:0 20px 48px -24px rgba(0,0,0,.5)}

.route{position:absolute;left:0;right:0;bottom:2.8rem;width:100%;height:64px;overflow:hidden;pointer-events:none}
.route .dash{fill:none;stroke:rgba(143,231,248,.45);stroke-width:3;stroke-linecap:round;stroke-dasharray:10 14}
.route .draw{fill:none;stroke:var(--cyan);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.route.is-driving .draw{animation:draw 4.5s linear forwards}
@keyframes draw{to{stroke-dashoffset:0}}

/* ---------- proof strip ---------- */
.proof{position:relative;margin-top:-2.4rem;z-index:2}
.proof ul{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr))}
.proof li{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:var(--r);padding:1.1rem 1.2rem;box-shadow:var(--shadow)}
.proof b{display:block;font-size:1.05rem}
.proof b a{color:var(--ink);text-decoration:none}.proof b a:hover{text-decoration:underline}
.proof span{font-size:.92rem;color:var(--muted)}

/* ---------- cards ---------- */
.tiles{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(min(20rem,100%),1fr));margin-top:2rem}
.tiles.five{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr))}
.tiles.five .tile b{font-size:1.05rem}
.tile{position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.tile img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .5s}
.tile div{padding:1.1rem 1.25rem 1.3rem}
.tile b{display:block;font:700 1.2rem/1.25 var(--display)}
.tile small{display:block;color:var(--muted);font-size:.95rem;margin-top:.35rem;line-height:1.5}
.tile:hover{transform:translateY(-4px);border-color:var(--brand);box-shadow:var(--shadow)}
.tile:hover img{transform:scale(1.04)}
.g3{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin-top:1.5rem}
.g3 article{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}
.g3 h3{margin-top:0}
.g3 p{margin:0;color:var(--muted)}

/* ---------- steps (sequence only) ---------- */
.steps{counter-reset:s;list-style:none;padding:0;margin:2rem 0 0;max-width:46rem}
.steps>li{counter-increment:s;position:relative;padding:0 0 1.6rem 3.2rem;border-left:2px dashed var(--line);margin-left:1.15rem}
.steps>li::before{content:counter(s);position:absolute;left:-1.2rem;top:0;width:2.35rem;height:2.35rem;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--navy));color:#fff;display:grid;place-items:center;font-weight:800;font-size:.95rem;box-shadow:0 6px 16px -4px rgba(29,63,209,.55)}
.steps>li:last-child{border-color:transparent}
.steps>li>h3{margin:0 0 .25rem;padding-top:.3rem}
.steps>li>p{margin:0;color:var(--muted)}

/* ---------- FAQ ---------- */
.faq details{border-bottom:1px solid var(--line);max-width:48rem}
.faq summary{cursor:pointer;font-weight:650;padding:1.05rem 2rem 1.05rem 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.25rem;top:.8rem;font-size:1.5rem;font-weight:400;color:var(--brand-ink);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--brand-ink)}
.faq details p{margin:0 0 1.1rem;color:var(--muted)}

/* ---------- CTA band ---------- */
.band{text-align:center}
.band .lead{margin:0 auto}
.band .fine{margin-top:1rem;font-size:.92rem;color:var(--on-dark-muted)}

/* ---------- footer (always navy in light and dark mode) ---------- */
footer.site{position:relative;overflow:hidden;isolation:isolate;color:var(--on-dark-muted);font-size:.95rem;padding:4rem 0 1.6rem;
  background:radial-gradient(46rem 24rem at 0% 0%,rgba(29,63,209,.42),transparent 62%),radial-gradient(36rem 22rem at 100% 100%,rgba(44,201,234,.14),transparent 64%),#040b31}
footer.site::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--cyan) 70%,var(--cyan-soft))}
footer.site .arcs{top:auto;right:-12rem;bottom:-15rem;width:36rem;opacity:.07}
footer.site :focus-visible{outline-color:var(--cyan)}
footer.site a{color:var(--on-dark-muted);text-decoration:none}
footer.site a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--cyan)}
.fgrid{display:grid;gap:2.5rem 3.5rem;grid-template-columns:minmax(16rem,1fr) 2.45fr}
.f-lockup{display:inline-flex;align-items:center;gap:.85rem}
footer.site .f-lockup:hover{text-decoration:none}
.f-lockup img{width:36px;height:72px}
.f-lockup b{font:600 1.28rem/1.22 var(--display);letter-spacing:-.015em;color:#fff}
.f-id p{margin:1.2rem 0 1.3rem;max-width:21rem;line-height:1.6}
.f-contact{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.f-contact a{display:inline-flex;align-items:flex-start;gap:.7rem;line-height:1.45}
.f-contact svg{width:1.05rem;height:1.05rem;flex:none;color:var(--cyan);margin-top:.15rem}
.f-phone strong{font:600 1.35rem/1.15 var(--display);letter-spacing:-.01em;color:#fff}
.f-phone svg{margin-top:.2rem}
.f-links{display:grid;gap:2rem;grid-template-columns:1.2fr 1.15fr .75fr}
.f-links h2{font:700 .98rem/1.3 var(--sans);color:#fff;margin:0 0 .85rem}
.f-links h2::before{content:"";display:block;width:1.75rem;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--brand),var(--cyan));margin-bottom:.8rem}
.f-links ul{list-style:none;margin:0;padding:0}
.f-links li{margin:0 0 .55rem;line-height:1.45}
.f-trust{margin-top:3rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding:1rem 1.25rem;border:1px solid rgba(143,231,248,.16);border-radius:var(--r);background:rgba(255,255,255,.035)}
.f-find,.f-follow{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.1rem}
.f-trust p{margin:0;font-weight:600;color:#fff}
.f-badges{display:flex;flex-wrap:wrap;gap:.75rem}
.badge{display:flex;align-items:center;justify-content:center;height:56px;padding:0 1.1rem;border-radius:10px;background:#fff;transition:transform .2s,box-shadow .2s}
.badge:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(44,201,234,.7)}
.f-social{display:flex;gap:.6rem}
.f-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;transition:transform .2s,box-shadow .2s}
.f-social a:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(44,201,234,.7)}
.f-social img{width:24px;height:24px}
.legal{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;justify-content:space-between;font-size:.86rem}
.f-tag{font-style:italic;color:var(--cyan-soft)}
@media (max-width:1000px){.fgrid{grid-template-columns:1fr}.f-id{display:grid;grid-template-columns:auto 1fr;gap:0 2.5rem;align-items:start}.f-id p{grid-column:1;margin-bottom:0}.f-contact{grid-column:2;grid-row:1/3;align-self:center}}
@media (max-width:700px){
  footer.site{padding-top:3rem}
  .f-id{display:block}.f-id p{margin-bottom:1.2rem}
  .f-links{grid-template-columns:1fr 1fr;gap:1.75rem 1.25rem;font-size:.9rem}
  .f-links li{margin-bottom:.75rem}
  .f-links>div:last-child{grid-column:1/-1}
  .f-links>div:last-child ul{columns:2;column-gap:1.25rem}
  .f-links>div:last-child li{break-inside:avoid}
  .f-trust{margin-top:2.25rem;padding:1rem}
  .f-trust{flex-direction:column;align-items:stretch;gap:1.1rem}
  .f-follow{justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(143,231,248,.12)}
  .f-find p{flex-basis:100%}
  .legal{flex-direction:column}
}
@media (max-width:420px){.f-badges{width:100%}.badge{flex:1;padding:0 .6rem}}

/* ================= SERVICES HUB ================= */
.hub-hero{min-height:34rem;display:flex;align-items:flex-end}
.hub-hero .bgimg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.hub-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,15,61,.94) 0%,rgba(5,15,61,.78) 45%,rgba(5,15,61,.25) 100%),linear-gradient(0deg,rgba(5,15,61,.85),transparent 45%)}
.hub-hero .w{padding-top:6rem;padding-bottom:6.5rem;width:100%}
.hub-hero h1{max-width:14ch}
.bento{display:grid;gap:1.1rem;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(15rem,auto);margin-top:-3rem;position:relative;z-index:2}
.bento a{position:relative;overflow:hidden;border-radius:var(--r-lg);color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;min-height:15rem;isolation:isolate;box-shadow:var(--shadow);grid-column:span 2}
.bento a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s}
.bento a::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,15,61,.08) 0%,rgba(5,15,61,.62) 42%,rgba(5,15,61,.96) 100%)}
.bento a b,.bento a span{text-shadow:0 1px 12px rgba(5,15,61,.6)}
.bento a:hover img{transform:scale(1.05)}
.bento a b{font:800 1.45rem/1.15 var(--display);letter-spacing:-.01em}
.bento a span{font-size:.97rem;color:#dfe6ff;margin-top:.4rem;max-width:32rem}
.bento a em{font-style:normal;font-weight:700;font-size:.92rem;margin-top:.9rem;display:inline-flex;gap:.4rem;align-items:center}
.bento a em::after{content:"";width:1.4rem;height:2px;background:currentColor;transition:width .2s}
.bento a:hover em::after{width:2.2rem}
.bento .xl{grid-column:span 4;grid-row:span 2}
.bento .xl b{font-size:clamp(1.8rem,3vw,2.5rem)}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}.bento a,.bento .xl{grid-column:span 1;grid-row:auto}.bento .xl{grid-column:span 2;min-height:20rem}}
@media (max-width:560px){.bento{grid-template-columns:1fr}.bento .xl{grid-column:span 1}}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:1.4rem;margin:2.2rem 0 0;padding:0;list-style:none}
.pipeline li{position:relative;font-weight:650}
.pipeline li span{display:block;text-align:center;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:var(--r);padding:1rem .8rem;box-shadow:0 12px 26px -18px rgba(5,15,61,.55)}
.pipeline li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-1.25rem;width:0;height:0;border-left:9px solid var(--brand);border-top:6px solid transparent;border-bottom:6px solid transparent}
@media (max-width:760px){.pipeline{grid-template-columns:1fr;gap:1.1rem;max-width:22rem}.pipeline li:not(:last-child)::after{top:auto;bottom:-1rem;right:auto;left:50%;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid var(--brand);border-bottom:0}}
.chooser{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(26rem,1fr));list-style:none;margin:2rem 0 0;padding:0}
@media (max-width:560px){.chooser{grid-template-columns:1fr}}
.chooser a{display:flex;flex-direction:column;gap:.35rem;height:100%;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 3.2rem 1.2rem 1.3rem;position:relative;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.chooser a::after{content:"";position:absolute;right:1.3rem;top:50%;width:.7rem;height:.7rem;border:solid var(--brand);border-width:2px 2px 0 0;transform:translateY(-50%) rotate(45deg);transition:right .2s}
.chooser a:hover{border-color:var(--brand);box-shadow:var(--shadow)}
.chooser a:hover::after{right:1rem}
.chooser span{color:var(--muted);font-size:.97rem}
.chooser b{color:var(--brand-ink);font-size:1.05rem}
.split{display:grid;gap:2.5rem 3.5rem;align-items:start}
@media (min-width:900px){.split{grid-template-columns:.85fr 1.15fr}.split>.stick{position:sticky;top:var(--header-offset)}}
.split figure{margin:0}
.split figure img{border-radius:var(--r-lg);width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow)}
.split .steps{margin-top:0}
.who{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1.2rem 0 0}
.who li{background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;padding:.45rem .95rem;font-weight:600;font-size:.95rem}

/* ================= SERVICE PAGE TEMPLATE ================= */
.svc-hero{background:linear-gradient(120deg,var(--navy) 15%,#10266e 72%,#173a93);--svc-position:50% 57%}
.svc-hero::before{display:none}
.svc-hero .arcs{opacity:.07}
.svc-hero .w{position:relative;z-index:1;display:flex;align-items:center;min-height:30rem;padding-top:3rem;padding-bottom:5.75rem;pointer-events:none}
.svc-intro{width:100%;max-width:37rem;pointer-events:auto}
.svc-hero .crumbs{font-size:.8rem;margin-bottom:1.5rem}
.svc-hero h1{font-size:clamp(2.1rem,3.7vw,3.2rem);line-height:1.14;max-width:19ch}
.svc-hero .lead{font-size:1.075rem;line-height:1.7;max-width:34rem}
.svc-hero .cta{margin-top:1.6rem}
.svc-hero .btn{font-size:.94rem;padding:.8rem 1.2rem}
.svc-media{position:absolute;inset:0 0 0 auto;width:58%;margin:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 28%,#000 58%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 28%,#000 58%)}
.svc-media img{width:100%;height:100%;object-fit:cover;object-position:var(--svc-position);filter:saturate(.8) contrast(1.03)}
.svc-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(20,51,179,.4),rgba(44,201,234,.12));mix-blend-mode:multiply}
.svc-media::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(5,15,61,.65),transparent 40%),linear-gradient(90deg,rgba(5,15,61,.3),transparent 70%)}
.svc-vehicle-imports,.svc-low-value-shipments{--svc-position:50% 62%}
.svc-warehousing{--svc-position:50% 50%}
.svc-freight-forwarding{--svc-position:50% 80%}
.svc-customs-consulting{--svc-position:60% 62%}
@media (max-width:1100px) and (min-width:880px){.svc-intro{max-width:33rem}.svc-hero h1{font-size:2.7rem}.svc-hero .lead{max-width:29rem}.svc-media{width:56%}}
@media (max-width:879px){
  .svc-hero .w{min-height:0;padding-top:2rem;padding-bottom:.5rem}
  .svc-intro{max-width:42rem}
  .svc-hero h1{font-size:clamp(2rem,5.5vw,2.8rem);max-width:23ch}
  .svc-hero .lead{max-width:40rem}
  .svc-media{position:relative;width:100%;height:240px;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 76%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 76%,transparent 100%)}
  .svc-media::after{background:linear-gradient(0deg,rgba(5,15,61,.3),transparent 55%)}
}
@media (max-width:600px){
  .svc-hero .w{padding-top:1.6rem}
  .svc-hero .crumbs{font-size:.75rem;margin-bottom:1.15rem}
  .svc-hero .lead{font-size:1rem;line-height:1.65}
  .svc-hero .cta{margin-top:1.25rem}
  .svc-hero .btn{padding:.75rem 1rem}
  .svc-media{height:220px}
}
.glance{position:relative;z-index:2;margin-top:-4rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:1.6rem 1.8rem;display:grid;gap:1.5rem}
@media (min-width:880px){.glance{grid-template-columns:1.3fr 1fr}}
.glance dl{align-content:start}
.glance h2{font:700 1.05rem var(--sans);margin:0 0 .6rem;color:var(--brand-ink)}
.glance p{margin:0;color:var(--muted)}
.glance dl{margin:0;display:grid;gap:.55rem}
.glance dt{font-weight:700;font-size:.9rem}
.glance dd{margin:0 0 .25rem;color:var(--muted);font-size:.95rem}
.service-glance{margin-top:-2.5rem;padding:1.75rem 2rem;gap:2.5rem;border-radius:var(--r);box-shadow:0 18px 40px -28px rgba(5,15,61,.35)}
.service-glance h2{font-size:1rem;line-height:1.5;margin-bottom:1rem;color:var(--ink)}
.service-supports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.4rem;list-style:none;margin:0;padding:0}
.service-supports li{position:relative;padding-left:1.2rem;color:var(--muted);font-size:.9rem;line-height:1.55}
.service-supports li::before{content:"";position:absolute;left:0;top:.45em;width:.6rem;height:.35rem;border:solid var(--brand-ink);border-width:0 0 2px 2px;transform:rotate(-45deg)}
.service-glance dl{gap:.85rem;border-left:1px solid var(--line);padding-left:2rem}
.service-glance dl>div+div{border-top:1px solid var(--line);padding-top:.85rem}
.service-glance dt{font-size:.84rem;margin-bottom:.2rem}
.service-glance dd{font-size:.9rem;line-height:1.6;margin:0}
@media (max-width:879px){.service-glance{padding:1.5rem;gap:1.5rem}.service-glance dl{border-left:0;border-top:1px solid var(--line);padding:1.25rem 0 0}}
@media (max-width:600px){.service-glance{margin-top:-1.5rem;padding:1.3rem}.service-supports{grid-template-columns:1fr;gap:.65rem}}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.chips li{background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;padding:.42rem .9rem;font-weight:600;font-size:.92rem}
.tagline{font:italic 600 1.25rem/1.4 var(--display);color:var(--brand-ink);border-left:4px solid var(--brand);padding:.2rem 0 .2rem 1rem;margin:2rem 0 0}
.read{display:grid;gap:3rem;padding:4rem 1.25rem;max-width:74rem;margin:0 auto}
@media (min-width:960px){.read{grid-template-columns:15.5rem 1fr}}
.toc{align-self:start;position:sticky;top:var(--header-offset);font-size:.93rem}
.toc b{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.toc a{display:block;padding:.35rem 0 .35rem .9rem;margin-left:-2px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;line-height:1.35}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--brand-ink);border-left-color:var(--brand);font-weight:650}
@media (max-width:959px){.toc{position:static;background:var(--soft);border-radius:var(--r);padding:1rem 1.2rem}.toc ol{columns:2;column-gap:1.5rem}}
@media (max-width:560px){.toc ol{columns:1}}
.body{min-width:0;max-width:46rem}
.body section{padding:0;margin:0 0 3rem}
.body section:last-child{margin-bottom:0}
.body h2{font-size:clamp(1.5rem,3vw,2.05rem)}
.body ul.checks{list-style:none;padding:0;margin:0 0 1.2rem;display:grid;gap:.45rem}
.body ul.checks li{position:relative;padding-left:1.7rem}
.body ul.checks li::before{content:"";position:absolute;left:0;top:.45em;width:1rem;height:.55rem;border:solid var(--brand);border-width:0 0 3px 3px;transform:rotate(-45deg)}
.body ul.cols{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));column-gap:1.5rem}
.body figure{margin:2rem 0}
.body figure img{border-radius:var(--r);width:100%;aspect-ratio:16/10;object-fit:cover}
.body figcaption{font-size:.88rem;color:var(--muted);margin-top:.5rem}
.flow{list-style:none;padding:0;margin:1.2rem 0 1.4rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.flow li{display:flex;align-items:center;gap:.5rem}
.flow li span{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:.5rem .8rem;font-weight:600;font-size:.93rem}
.flow li:not(:last-child)::after{content:"";width:0;height:0;border-left:7px solid var(--brand);border-top:5px solid transparent;border-bottom:5px solid transparent}
/* CALC: worked figures (duty/GST example, invoice breakdown) */
.calc{margin:1.2rem 0 1.4rem;max-width:26rem;background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r);padding:.4rem 1.1rem}
.calc>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px dashed var(--line)}
.calc>div:last-child{border-bottom:0}
.calc dt{margin:0;color:var(--muted)}
.calc dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.calc .total{border-top:2px solid var(--ink);border-bottom:0;margin-top:.1rem}
.calc .total dt{color:var(--ink);font-weight:700}
.calc .total dd{color:var(--brand-ink)}
.guides{background:var(--soft);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem;margin:1.4rem 0}
.guides b{display:block;font-size:.95rem;margin-bottom:.5rem}
.guides ul{margin:0;padding-left:1.1rem}
.guides li{margin:.25rem 0}

/* Service-specific reading layout; shared guide/topic templates stay independent. */
.service-read{gap:3.5rem;padding-top:3.5rem;padding-bottom:3.5rem}
.service-read .toc b{font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:.9rem}
.service-read .toc a{font-size:.86rem;padding-top:.5rem;padding-bottom:.5rem}
.service-read .body section+section{border-top:1px solid var(--line);padding-top:2rem}
.service-read .body h2{max-width:31ch}
.service-more{background:var(--soft)}
.service-more .tile img{aspect-ratio:16/9}
@media (min-width:960px){.service-read .toc{max-height:calc(100dvh - var(--header-offset) - 1rem);overflow-y:auto;scrollbar-width:thin;padding-right:.6rem}}
@media (max-width:959px){.service-read{gap:2rem}.service-read .toc{border-radius:var(--r-sm)}.service-read .toc a{break-inside:avoid}}
@media (max-width:600px){.service-read{padding-top:2.5rem;padding-bottom:2.5rem}.service-more .tiles.five{grid-template-columns:1fr}.service-more .tile{display:grid;grid-template-columns:7rem 1fr}.service-more .tile img{height:100%;min-height:9rem;aspect-ratio:auto}.service-more .tile div{padding:1rem}.service-more .tile small{font-size:.85rem}}
.more h2{margin-bottom:1.2rem}
/* Service template v2: section lead paragraphs, wide-screen contact rail, FAQ band. */
.service-read .body section>h2+p{font-size:1.1rem;line-height:1.7;color:var(--ink)}
.service-read .body h2{position:relative}
.service-read .body section+section h2::before{content:"";display:block;width:2.5rem;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--brand),var(--cyan));margin-bottom:1rem}
.service-read .body section+section{border-top:0;padding-top:.5rem}
.service-read .body .tagline{margin-top:3rem}
.svc-rail{display:none}
@media (min-width:1200px){
  .service-read{grid-template-columns:12.5rem minmax(0,1fr) 15rem;gap:2.75rem}
  .service-read .body{max-width:none}
  .svc-rail{display:block;align-self:start;position:sticky;top:var(--header-offset)}
}
.svc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 18px 40px -28px rgba(5,15,61,.35)}
.svc-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:62% 50%}
.svc-card>div{padding:1.2rem 1.25rem 1.35rem;display:grid;gap:.7rem}
.svc-card b{font:700 1.05rem/1.3 var(--display)}
.svc-card p{margin:0;font-size:.88rem;line-height:1.55;color:var(--muted)}
.svc-phone{font:700 1.3rem/1.2 var(--display);color:var(--brand-ink);text-decoration:none;letter-spacing:-.01em}
.svc-phone:hover{text-decoration:underline}
.svc-card .btn{justify-content:center;text-align:center;font-size:.88rem;line-height:1.3;padding:.75rem 1rem;border-radius:var(--r-sm)}
.svc-pars{font-size:.86rem;font-weight:600;color:var(--brand-ink);justify-self:start}
.service-faq{scroll-margin-top:var(--header-offset)}
.service-faq .faq details{max-width:none}
@media (min-width:900px){.service-faq .split{grid-template-columns:.75fr 1.25fr}}

/* ================= KNOWLEDGE CENTRE HUB ================= */
.kc-hero{background:var(--soft);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.kc-hero .w{padding-top:4rem;padding-bottom:3.5rem;position:relative}
.kc-hero .arcs{opacity:.08;right:-6rem;top:-4rem}
.kc-hero .arcs path{stroke:var(--cyan)}
.kc-hero h1{max-width:18ch}
.kc-grid{display:grid;gap:2.5rem}
@media (min-width:960px){.kc-grid{grid-template-columns:1.35fr .85fr;align-items:start}.kc-grid .start{margin-top:4.2rem}}
.kc-grid .search{margin-top:1.6rem}
.start{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem 1.5rem;box-shadow:var(--shadow)}
.start h2{font:700 1rem var(--sans);margin:0 0 .6rem;color:var(--brand-ink)}
.start ol{list-style:none;margin:0;padding:0}
.start li a{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600}
.start li:last-child a{border-bottom:0}
.start li a::after{content:"";flex:none;width:.55rem;height:.55rem;border:solid var(--brand);border-width:2px 2px 0 0;transform:rotate(45deg);margin-top:.45rem}
.start li a:hover{color:var(--brand-ink)}
.kc-hero .lead{max-width:44rem}
.search{margin-top:2rem;max-width:40rem;position:relative}
.search label{display:block;font-weight:700;margin-bottom:.5rem}
.search input{width:100%;font:500 1.1rem var(--sans);padding:1rem 1.2rem 1rem 3rem;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--ink);box-shadow:0 14px 30px -20px rgba(5,15,61,.5)}
.search input:focus{outline:none;border-color:var(--brand)}
.search .field{position:relative}
.search svg{position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);width:1.2rem;height:1.2rem;color:var(--muted);pointer-events:none}
.search output{display:block;font-size:.9rem;color:var(--muted);margin-top:.5rem;min-height:1.4em}
.topics{display:grid;gap:1.1rem;grid-template-columns:repeat(6,1fr);margin-top:2rem}
.topic{grid-column:span 2;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.topic:nth-child(-n+2){grid-column:span 3}
.topic img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s}
.topic:nth-child(-n+2) img{aspect-ratio:2/1}
.topic div{padding:1.1rem 1.25rem 1.3rem}
.topic:hover img{transform:scale(1.04)}
.topic:hover{transform:translateY(-3px)}
@media (max-width:900px){.topics{grid-template-columns:1fr 1fr}.topic,.topic:nth-child(-n+2){grid-column:span 1}}
@media (max-width:560px){.topics{grid-template-columns:1fr}}
.topic b{display:block;font:700 1.3rem/1.2 var(--display);margin:0 0 .4rem}
.topic small{display:block;color:var(--muted);font-size:.93rem;line-height:1.45}
.topic i{display:inline-block;font-style:normal;font-size:.82rem;font-weight:700;color:var(--brand-ink);margin-top:.5rem}
.topic:hover{border-color:var(--brand);box-shadow:var(--shadow)}
/* KC hub v2: live results under the hero search + one "by topic" card deck (Oct 1 2026) */
.qresults{list-style:none;margin:.15rem 0 0;padding:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);max-height:21rem;overflow-y:auto;scrollbar-width:thin}
.qresults[hidden]{display:none}
.qresults li+li{border-top:1px solid var(--line)}
.qresults a{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;flex-wrap:wrap;padding:.7rem 1.1rem;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem;line-height:1.35}
.qresults a:hover,.qresults a:focus{background:var(--soft);color:var(--brand-ink);outline:none}
.qresults a:focus-visible{box-shadow:inset 3px 0 0 var(--brand)}
.qresults small{font-size:.76rem;font-weight:700;color:var(--muted);white-space:nowrap}
.kc-topics-head{max-width:48rem}
.kc-topics-head .muted{margin-top:.2rem}
.tdeck{display:grid;gap:1.25rem;grid-template-columns:repeat(6,1fr);margin-top:2rem}
.tcard{grid-column:span 2;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.tcard:nth-child(-n+2){grid-column:span 3}
.tcard:hover{border-color:var(--brand);box-shadow:var(--shadow)}
.tcard-media{display:block;overflow:hidden}
.tcard-media img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;transition:transform .5s}
.tcard:nth-child(-n+2) .tcard-media img{aspect-ratio:16/7}
.tcard:hover .tcard-media img{transform:scale(1.04)}
.tcard-body{display:flex;flex-direction:column;flex:1;padding:1.15rem 1.3rem 1.1rem;position:relative}
.tcard-body::before{content:"";position:absolute;left:1.3rem;top:0;width:2.2rem;height:3px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,var(--brand),var(--cyan))}
.tcard h3{font:700 1.22rem/1.25 var(--display);margin:0 0 .4rem}
.tcard h3 a{color:var(--ink);text-decoration:none}
.tcard h3 a:hover{color:var(--brand-ink)}
.tcard-body>p:not(.tcard-foot){color:var(--muted);font-size:.9rem;line-height:1.5;margin:0 0 .7rem}
.tlist{list-style:none;margin:0;padding:0}
.tlist a{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600;font-size:.9rem;line-height:1.35}
.tlist a::after{content:"";flex:none;width:.45rem;height:.45rem;border:solid var(--brand);border-width:2px 2px 0 0;transform:rotate(45deg);margin-top:.4rem;opacity:.55;transition:opacity .2s}
.tlist a:hover{color:var(--brand-ink)}.tlist a:hover::after{opacity:1}
.tmore summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.55rem 0;border-top:1px solid var(--line);font-weight:700;font-size:.86rem;color:var(--brand-ink)}
.tmore summary::-webkit-details-marker{display:none}
.tmore summary::before{content:"+";display:grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--soft);border:1px solid var(--line);font-size:.85rem;line-height:1}
.tmore[open] summary::before{content:"\2212"}
.tmore summary:hover{color:var(--brand)}
.tcard-foot{margin:auto 0 0;padding-top:.85rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.84rem}
.tcard-foot span{color:var(--muted);font-weight:600}
.tcard-foot a{font-weight:700;color:var(--brand-ink);text-decoration:none}
.tcard-foot a:hover{text-decoration:underline}
@media (max-width:900px){.tdeck{grid-template-columns:1fr 1fr}.tcard,.tcard:nth-child(-n+2){grid-column:span 1}.tcard:nth-child(-n+2) .tcard-media img{aspect-ratio:16/8}.tcard:last-child{grid-column:1/-1}}
@media (max-width:560px){.tdeck{grid-template-columns:1fr}.tcard-media img,.tcard:nth-child(-n+2) .tcard-media img{aspect-ratio:16/7}}
.note{font-size:.95rem;color:var(--muted);border-left:4px solid var(--line);padding-left:1rem}

/* ================= KC TOPIC TEMPLATE ================= */
.topic-hero{background:var(--soft);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.topic-hero .arcs{opacity:.08;right:-6rem;top:-4rem}.topic-hero .arcs path{stroke:var(--cyan)}
.topic-hero .w{padding-top:2.6rem;padding-bottom:3rem;display:grid;gap:2.5rem;align-items:center}
@media (min-width:900px){.topic-hero .w{grid-template-columns:1.2fr .8fr}}
.topic-hero .meta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:1.4rem;font-weight:600;font-size:.95rem;color:var(--muted)}
.topic-hero .meta a{font-weight:700}
.topic-hero figure{margin:0;position:relative}
.topic-hero figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow)}
.topic-hero figure::after{content:"";position:absolute;right:-.9rem;bottom:-.9rem;width:45%;height:45%;border-right:4px solid var(--brand);border-bottom:4px solid var(--brand);border-radius:0 0 var(--r-lg) 0;z-index:-1}
.intro-split{display:grid;gap:2.5rem;align-items:start}
@media (min-width:960px){.intro-split{grid-template-columns:1.3fr .8fr}.intro-split .facts{position:sticky;top:var(--header-offset)}}
.facts{background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:1.5rem 1.6rem;background-image:radial-gradient(30rem 16rem at 100% 0,rgba(44,201,234,.28),transparent 60%)}
.facts h2{font:700 1rem var(--sans);color:var(--cyan-soft);margin:0 0 .8rem;letter-spacing:.02em}
.facts ul{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.facts li{padding-left:1.4rem;position:relative;line-height:1.45}
.facts li::before{content:"";position:absolute;left:0;top:.5em;width:.55rem;height:.55rem;border-radius:50%;background:var(--cyan)}
.facts strong{color:#fff}
.topic-hero .kicker{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--brand-ink);font-size:.95rem;margin-bottom:.7rem}
.topic-hero .kicker img{height:1.4rem;width:auto}
.topic-hero h1{font-size:clamp(2.1rem,4.8vw,3.5rem);max-width:22ch}
.banner{margin:2.2rem 0 0;position:relative}
.banner img{width:100%;height:clamp(14rem,32vw,22rem);object-fit:cover;border-radius:var(--r-lg) var(--r-lg) 0 0}
.intro{max-width:46rem}
.intro p:first-child{font-size:1.2rem;color:var(--ink)}
.guide-cards{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.6rem}
.guide-cards>a{flex:1 1 19rem}
.guide-cards a{display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r-sm);padding:1.1rem 1.2rem;transition:box-shadow .2s,transform .2s}
.guide-cards a:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.guide-cards b{font:700 1.08rem/1.3 var(--display)}
.guide-cards small{color:var(--muted);font-size:.93rem;line-height:1.5}
.guide-cards i{font-style:normal;font-weight:700;font-size:.85rem;color:var(--brand-ink);margin-top:auto;padding-top:.3rem}
.linkcols{display:grid;gap:1.5rem 2rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin-top:1rem}
.linkcols h3{margin:0 0 .5rem;font-size:1rem}
.linkcols ul{list-style:none;margin:0;padding:0}
.linkcols li{padding:.3rem 0;border-bottom:1px solid var(--line)}
.linkcols a{text-decoration:none}
.linkcols a:hover{text-decoration:underline}
.siblings{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1rem 0 0}
.siblings a{display:block;text-decoration:none;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.5rem 1rem;font-weight:600;color:var(--ink);font-size:.95rem}
.siblings a:hover{border-color:var(--brand);color:var(--brand-ink)}

/* ================= ABOUT ================= */
.founder{display:grid;gap:2.5rem;align-items:center}
@media (min-width:820px){.founder{grid-template-columns:.7fr 1.3fr}}
.founder figure{margin:0;position:relative;max-width:20rem;justify-self:center}
.founder figure img{border-radius:var(--r-lg);width:100%;aspect-ratio:1;object-fit:cover}
.founder figure figcaption{margin-top:.8rem;font-weight:700}
.founder figure figcaption span{display:block;font-weight:500;color:var(--muted);font-size:.93rem}
.year{font:800 clamp(4rem,12vw,8rem)/.9 var(--display);letter-spacing:-.05em;background:linear-gradient(135deg,#fff,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 .5rem}
.team{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));margin-top:2rem;list-style:none;padding:0}
.team li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem;text-align:center}
.team img,.team .init{width:7rem;height:7rem;border-radius:50%;object-fit:cover;margin:.3rem auto .8rem}
.team .init{display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--navy));color:#fff;font:800 1.9rem var(--display)}
.team b{display:block}
.team span{display:block;color:var(--muted);font-size:.92rem;line-height:1.4}
.offices{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));margin-top:1.5rem}
.offices div{border:1px solid var(--line);border-radius:var(--r);padding:1.2rem;background:var(--card)}
.offices b{display:block;font:700 1.15rem var(--display)}
.offices span{color:var(--muted);font-size:.95rem}
.crossings{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.crossings li{position:relative;border-radius:var(--r);overflow:hidden;isolation:isolate}
.crossings img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.crossings li::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,15,61,.82),transparent 55%)}
.crossings span{position:absolute;left:1rem;right:1rem;bottom:.85rem;z-index:1;color:#fff;font-weight:700;font-size:.95rem;line-height:1.3}

/* ================= CONTACT ================= */
.contact{display:grid;gap:2.5rem;align-items:start;padding:3.5rem 1.25rem 4.5rem;max-width:74rem;margin:0 auto}
@media (min-width:900px){.contact{grid-template-columns:1.35fr .85fr}}
.form{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem;box-shadow:var(--shadow)}
.form fieldset{border:0;padding:0;margin:0 0 1.4rem}
.form legend{font-weight:700;margin-bottom:.7rem}
.opts{display:flex;flex-wrap:wrap;gap:.5rem}
.opts label{position:relative}
.opts input{position:absolute;opacity:0;inset:0}
.opts span{display:block;border:2px solid var(--line);border-radius:999px;padding:.55rem 1rem;font-weight:600;font-size:.95rem;cursor:pointer;background:var(--bg)}
.opts input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink)}
.opts input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}
.fields{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.fields .full{grid-column:1/-1}
@media (max-width:560px){.fields{grid-template-columns:1fr}}
.fields label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.95rem}
.fields input,.fields textarea{font:inherit;padding:.8rem .9rem;border-radius:10px;border:2px solid var(--line);background:var(--bg);color:var(--ink)}
.fields input:focus,.fields textarea:focus{outline:none;border-color:var(--brand)}
.fields textarea{min-height:8rem;resize:vertical}
.req{color:var(--brand-ink)}
.form .btn{margin-top:1.4rem;font-size:1.05rem}
.form small{display:block;margin-top:.9rem;color:var(--muted)}
.info{display:grid;gap:1rem}
.info .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem 1.4rem}
.info .card h2{font:700 1.05rem var(--sans);margin:0 0 .4rem}
.info .card p{margin:0;color:var(--muted)}
.info .office-card{padding-top:0;overflow:hidden}
.office-card img{display:block;width:calc(100% + 2.8rem);max-width:none;margin:0 -1.4rem 1.1rem;aspect-ratio:16/9;object-fit:cover;object-position:60% 50%}
.info .big{font:800 1.7rem/1.1 var(--display);text-decoration:none;color:var(--brand-ink)}

/* ---------- KC topic / pillar v2 (Sep 30 2026) ---------- */
.pillar-hero{position:relative;background:var(--soft);overflow:hidden;isolation:isolate}
.pillar-hero .arcs{opacity:.08;left:-7rem;right:auto;top:-5rem;transform:scaleX(-1);z-index:0}.pillar-hero .arcs path{stroke:var(--cyan)}
.pillar-hero .w{position:relative;z-index:1;padding-top:2.4rem;padding-bottom:6.5rem;pointer-events:none}
.pillar-hero .w a,.pillar-hero .w .btn{pointer-events:auto}
.pillar-copy{max-width:36rem}
.pillar-hero .kicker{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--brand-ink);font-size:.95rem;margin:.4rem 0 .7rem}
.pillar-hero .kicker img{height:1.4rem;width:auto}
.pillar-hero h1{font-size:clamp(2.1rem,3.9vw,3.3rem);max-width:19ch}
.pillar-hero .lead{font-size:1.06rem;line-height:1.7;max-width:34rem}
.pillar-hero .cta{margin-top:1.5rem}.pillar-hero .btn{font-size:.95rem;padding:.8rem 1.25rem}
.pillar-media{position:absolute;inset:0 0 0 auto;width:56%;z-index:0}
.pillar-media img{width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 42%);mask-image:linear-gradient(90deg,transparent 0,#000 42%)}
.pillar-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--soft) 0,transparent 30%),linear-gradient(0deg,var(--soft) 0,transparent 22%),rgba(29,63,209,.14);mix-blend-mode:normal;pointer-events:none}
.pillar-stats{list-style:none;margin:-3.4rem 0 0;padding:0;position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.pillar-stats.n2{grid-template-columns:repeat(2,1fr)}
.pillar-stats li{padding:1.25rem 1.4rem;display:grid;gap:.2rem}
.pillar-stats li+li{border-left:1px solid var(--line)}
.pillar-stats b{font:600 1.65rem/1.1 var(--display);letter-spacing:-.02em;color:var(--brand-ink)}
.pillar-stats span{font-size:.86rem;color:var(--muted);font-weight:600}
.pillar-stats li:first-child{background:linear-gradient(135deg,var(--navy),#10266e);color:#fff}
.pillar-stats li:first-child b{color:var(--cyan-soft)}.pillar-stats li:first-child span{color:var(--on-dark-muted)}
.pillar-intro{padding-top:3.5rem}
.pillar-intro .intro p:first-child{font-size:1.1rem;line-height:1.7;color:var(--ink)}
.pillar-sub{max-width:46rem}
.pillar-deck{display:grid;gap:1.1rem;grid-template-columns:repeat(3,1fr);margin-top:1.8rem}
.pillar-deck>a{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.pillar-deck>a:hover{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-3px)}
.pillar-deck img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s}
.pillar-deck>a:hover img{transform:scale(1.04)}
.pillar-deck>a>div{padding:1.05rem 1.2rem 1.25rem;display:flex;flex-direction:column;gap:.4rem;flex:1;position:relative;background:var(--card)}
.pillar-deck>a>div::before{content:"";position:absolute;left:1.2rem;top:0;width:2.2rem;height:3px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,var(--brand),var(--cyan))}
.pillar-deck b{font:700 1.08rem/1.3 var(--display)}
.pillar-deck small{color:var(--muted);font-size:.9rem;line-height:1.5}
.pillar-deck i{font-style:normal;font-weight:700;font-size:.82rem;color:var(--brand-ink);margin-top:auto;padding-top:.35rem}
.pillar-deck em{font-style:normal;font-size:.74rem;font-weight:700;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:.15rem .55rem;align-self:flex-start}
.pillar-deck .feat{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr}
.pillar-deck .feat img{aspect-ratio:auto;height:100%;min-height:17rem;max-height:22rem}
.pillar-deck .feat>div{padding:2rem 2.2rem;justify-content:center}
.pillar-deck .feat>div::before{left:2.2rem}
.pillar-deck .feat b{font-size:1.6rem;font-weight:600;letter-spacing:-.015em;line-height:1.2}
.pillar-deck .feat small{font-size:1rem;line-height:1.6}
.pillar-deck .feat i{margin-top:.6rem;font-size:.9rem}
.pillar-deck .feat>div>b::before{content:"Start here";display:block;width:max-content;font:700 .74rem/1 var(--sans);letter-spacing:0;color:#fff;background:var(--brand);border-radius:999px;padding:.4rem .75rem;margin-bottom:.8rem}
/* last card widened to fill its row: photo pinned to the left half (third when full width) and
   stretched to the row's height, so the card never shows a gap under a short photo */
.pillar-deck .wide{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:13rem}
.pillar-deck .wide.full{grid-column:1/-1;grid-template-columns:1fr 2fr}
.pillar-deck .wide img{position:absolute;top:0;left:0;width:50%;height:100%;aspect-ratio:auto}
.pillar-deck .wide.full img{width:33.333%}
.pillar-deck .wide>div{grid-column:2;justify-content:center;padding:1.6rem 1.8rem}
.pillar-deck .wide>div::before{left:1.8rem}
.pillar-deck .wide b{font-size:1.25rem}
.pillar-deck .wide i{margin-top:.5rem}
.also{margin-top:2.4rem}
.also h3{font-size:1.05rem;margin:0 0 .6rem}
.also ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 2rem}
.also li{border-bottom:1px solid var(--line)}
.also a{display:grid;gap:.15rem;padding:.8rem 1.8rem .8rem 0;text-decoration:none;color:var(--ink);position:relative}
.also a::after{content:"→";position:absolute;right:.2rem;top:.8rem;color:var(--brand-ink);font-weight:700;transition:transform .2s}
.also a:hover::after{transform:translateX(3px)}
.also a:hover b{color:var(--brand-ink)}
.also b{font-weight:650;font-size:.97rem;line-height:1.35}
.also small{color:var(--muted);font-size:.86rem;line-height:1.45}
.pillar-read{padding-top:4rem}
.rail-list{margin-bottom:1.1rem}
.rail-list b{display:block;font:700 .95rem/1.3 var(--display);margin-bottom:.6rem}
.rail-list ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);max-height:calc(100dvh - var(--header-offset) - 21rem);overflow-y:auto;scrollbar-width:thin}
.rail-list a{display:block;padding:.4rem 0 .4rem .85rem;margin-left:-2px;border-left:2px solid transparent;font-size:.84rem;line-height:1.35;color:var(--muted);text-decoration:none}
.rail-list a:hover{color:var(--brand-ink);border-left-color:var(--cyan)}
.pillar-rail .svc-card .btn{margin-top:.2rem}
.pillar-index h2{margin-bottom:.4rem}
.pillar-sibs .topics.sibs{grid-template-columns:repeat(4,1fr)}
.pillar-sibs .topic,.pillar-sibs .topic:nth-child(-n+2){grid-column:span 1}
.pillar-sibs .topic img,.pillar-sibs .topic:nth-child(-n+2) img{aspect-ratio:16/10}
.pillar-sibs .topic b{font-size:1.08rem}
.pillar-sibs .topic small{font-size:.86rem}
.pillar-sibs .more{margin-top:1.6rem;font-weight:700}
@media (max-width:1100px){.pillar-deck{grid-template-columns:1fr 1fr}.pillar-sibs .topics.sibs{grid-template-columns:1fr 1fr}}
/* two-column deck: only a last card that starts a row is widened (the 3-column .wide rules no longer apply) */
@media (max-width:1100px) and (min-width:641px){
  .pillar-deck .wide,.pillar-deck .wide.full{grid-column:auto;display:flex;min-height:0}
  .pillar-deck .wide img,.pillar-deck .wide.full img{position:static;width:100%;height:auto;aspect-ratio:16/9}
  .pillar-deck .wide>div{grid-column:auto;padding:1.05rem 1.2rem 1.25rem}.pillar-deck .wide>div::before{left:1.2rem}.pillar-deck .wide b{font-size:1.08rem}
  .pillar-deck>a:not(.feat):last-child:nth-child(even){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:13rem}
  .pillar-deck>a:not(.feat):last-child:nth-child(even) img{position:absolute;top:0;left:0;width:50%;height:100%;aspect-ratio:auto}
  .pillar-deck>a:not(.feat):last-child:nth-child(even)>div{grid-column:2;justify-content:center;padding:1.6rem 1.8rem}
}
@media (max-width:879px){
  .pillar-hero .w{padding-bottom:1.5rem}
  .pillar-media{position:relative;inset:auto;width:100%;height:240px;order:2}
  .pillar-hero{display:flex;flex-direction:column}
  .pillar-media img{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%);mask-image:linear-gradient(180deg,transparent 0,#000 22%)}
  .pillar-media::after{background:linear-gradient(180deg,var(--soft) 0,transparent 30%),rgba(29,63,209,.12)}
  .pillar-stats{margin-top:-1.25rem}
  .pillar-stats li{padding:.9rem .75rem;align-content:start}
  .pillar-stats b{font-size:clamp(1.05rem,4.6vw,1.3rem);white-space:nowrap}
  .pillar-stats span{font-size:.76rem;line-height:1.3}
  .also ul{grid-template-columns:1fr}
}
@media (max-width:640px){
  .pillar-deck{grid-template-columns:1fr}.pillar-deck .feat{grid-template-columns:1fr}
  .pillar-deck .feat img{min-height:0;max-height:none;aspect-ratio:16/9;height:auto}
  .pillar-deck .feat>div{padding:1.3rem 1.3rem 1.5rem}.pillar-deck .feat>div::before{left:1.3rem}.pillar-deck .feat b{font-size:1.3rem}
  .pillar-deck .wide,.pillar-deck .wide.full{grid-column:auto;min-height:0}
  .pillar-deck .wide img,.pillar-deck .wide.full img{position:static;width:100%}
  .pillar-deck .wide>div{grid-column:auto}.pillar-deck .wide b{font-size:1.08rem}
  .pillar-deck>a:not(.feat){display:grid;grid-template-columns:6.5rem 1fr}
  .pillar-deck>a.wide>div{padding:1.05rem 1.2rem 1.25rem}
  .pillar-deck>a:not(.feat) img{height:100%;aspect-ratio:auto;min-height:8rem}
  .pillar-deck>a:not(.feat) small{display:none}
  .pillar-deck>a:not(.feat)>div::before{display:none}
  .pillar-media{height:200px}
  .pillar-stats li{padding:1rem 1.1rem}.pillar-stats b{font-size:1.35rem}
  .pillar-sibs .topics.sibs{grid-template-columns:1fr}
}

/* ---------- policy pages: Accessibility Plan, Privacy & Terms (Sep 30 2026) ---------- */
.policy-hero .w{padding-top:3rem;padding-bottom:3.4rem;position:relative;z-index:1}
.policy-hero h1{max-width:20ch}
.policy-hero .lead{max-width:40rem}
.policy-read .body section>p:first-of-type{font-size:1.06rem}
.policy-read .body h3{font-size:1.02rem;margin:1.4rem 0 .5rem}
.barrier{background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r-sm);padding:1rem 1.2rem;margin:.4rem 0 1.4rem}
.barrier h3{margin:0 0 .35rem!important;font-size:.9rem!important;color:var(--brand-ink)}
.barrier p{margin:0}
.phases{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:.3rem 0 1rem}
.phases>div{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:1rem 1.1rem;position:relative}
.phases>div::before{content:"";position:absolute;left:1.1rem;top:0;width:2rem;height:3px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,var(--brand),var(--cyan))}
.phases b{display:block;font:700 .95rem/1.3 var(--display);color:var(--brand-ink);margin:.1rem 0 .55rem}
.phases .checks{margin:0}
.phases .checks li{font-size:.95rem}
.a11y-timeline{list-style:none;margin:1.2rem 0 .5rem;padding:0;position:relative;display:grid;gap:0}
.a11y-timeline::before{content:"";position:absolute;left:3.95rem;top:.6rem;bottom:.6rem;width:2px;background:linear-gradient(180deg,var(--brand),var(--cyan))}
.a11y-timeline li{display:grid;grid-template-columns:4.6rem 1fr;gap:1.2rem;align-items:start;padding:.55rem 0;position:relative}
.a11y-timeline time{font:700 1rem/1.4 var(--display);color:var(--brand-ink);text-align:left}
.a11y-timeline li::after{content:"";position:absolute;left:3.62rem;top:1rem;width:.72rem;height:.72rem;border-radius:50%;background:var(--card);border:2px solid var(--brand)}
.a11y-timeline span{line-height:1.5;padding-left:.4rem}
.rep{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:0;margin:.6rem 0 1.2rem;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.rep div{padding:.85rem 1.1rem;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.rep dt{font-size:.78rem;font-weight:700;color:var(--muted);margin-bottom:.15rem}
.rep dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.policy-rail .svc-card{margin-bottom:1rem}
.a11y-card a{font-weight:600;font-size:.8rem;overflow-wrap:anywhere}
.a11y-card .svc-phone{font-size:1.05rem}
.policy-links{margin-top:.4rem}
.policy-links a[aria-current]{color:var(--brand-ink);border-left-color:var(--brand);font-weight:650}
@media (max-width:600px){.policy-hero .w{padding-top:2.2rem;padding-bottom:2.6rem}.a11y-timeline li{grid-template-columns:4.1rem 1fr;gap:.9rem}.a11y-timeline::before{left:3.4rem}.a11y-timeline li::after{left:3.07rem}}

/* ---------- responsive overrides (keep last) ---------- */
@media (min-width:601px) and (max-width:879px){.hero{gap:2rem;padding-top:2.5rem}.shot{max-width:none}.shot img.ph{height:220px}.hero h1{max-width:28ch}}
@media (max-width:600px){
  .hero{padding-top:2rem;padding-bottom:4.75rem;gap:1.5rem}
  .hero h1{font-size:1.95rem;line-height:1.12}
  .hero .lead{font-size:1.025rem;line-height:1.5}
  .hero .cta{margin-top:1.25rem;gap:.6rem}
  .hero .btn{padding:.65rem 1rem}
  .shot img.ph{height:150px;object-position:center 59%}
  .shot::before{inset:.5rem -.4rem -.5rem .5rem}
  .route{height:44px;bottom:2.5rem}
}
@media (max-width:560px){.cta .btn{flex:1 1 100%;justify-content:center}.proof ul{grid-template-columns:1fr 1fr;gap:.7rem}.proof li{padding:.9rem .95rem}.proof b{font-size:.98rem;line-height:1.3}.proof span{font-size:.85rem;display:block;margin-top:.25rem;line-height:1.4}.proof li:last-child{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .route .draw{stroke-dashoffset:0}
  .route #truck{display:none}
}
@media print{.top,.toc,footer.site,.band,.route,.arcs{display:none}.dark{color:#000;background:none}}

/* ================= GUIDE ARTICLE TEMPLATE ================= */
.guide-hero{background:var(--soft);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.guide-hero .arcs{opacity:.07;right:-8rem;top:-6rem}.guide-hero .arcs path{stroke:var(--cyan)}
.guide-hero .w{padding-top:2.4rem;padding-bottom:6.5rem}
.guide-hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem);max-width:24ch}
@media (min-width:960px){.brokerage-read .toc{max-height:calc(100dvh - var(--header-offset) - 1rem);overflow-y:auto;scrollbar-width:thin}}
.chip{display:inline-flex;align-items:center;gap:.45rem;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.35rem .85rem .35rem .45rem;font-weight:700;font-size:.9rem;color:var(--brand-ink);text-decoration:none;margin-bottom:1rem}
.chip img{height:1.3rem;width:auto}
.chip:hover{border-color:var(--brand)}
.byline{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;color:var(--muted);font-size:.93rem;font-weight:600;margin:0}
.byline span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--cyan);margin-right:1.2rem;vertical-align:middle}
.answer-row{display:grid;gap:1.2rem;margin-top:-4.5rem;position:relative;z-index:2;align-items:start}
@media (min-width:900px){.answer-row{grid-template-columns:1.25fr .9fr}}
.answer{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--brand);border-radius:var(--r-lg);padding:1.5rem 1.7rem;box-shadow:var(--shadow)}
.answer h2{font:700 .95rem var(--sans);color:var(--brand-ink);margin:0 0 .5rem}
.answer p{font-size:1.14rem;line-height:1.6;margin:0}
.body .steps{margin:1.4rem 0 1.6rem}
.body .steps>li{padding-bottom:1.3rem}
.body .steps>li>h3{font-size:1.08rem}
.body .steps>li>p{margin:0 0 .6rem;color:var(--ink)}
.body .steps ul.checks{margin-top:.6rem}
.pn{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:2.5rem}
@media (max-width:640px){.pn{grid-template-columns:1fr}}
.pn a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;color:var(--ink);background:var(--card)}
.pn a:hover{border-color:var(--brand)}
.pn small{display:block;color:var(--muted);font-weight:600;font-size:.85rem;margin-bottom:.2rem}
.pn b{font:700 1.05rem/1.3 var(--display)}
.pn .next{text-align:right}
.disclaimer{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:2.5rem}

@media (max-width:640px){.byline{gap:.15rem 1rem}.byline span+span::before{display:none}}

/* ---------- home hero: full-bleed photo panel (replaces framed .shot) ---------- */
.home-hero .hero{grid-template-columns:minmax(0,1fr);position:relative;z-index:1}
.home-hero .hero>div{max-width:35rem}
.hero-media{position:absolute;z-index:0;top:0;right:0;bottom:0;width:58%;overflow:hidden;margin:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 28%,#000 58%),linear-gradient(0deg,transparent 0%,#000 34%);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 28%,#000 58%),linear-gradient(0deg,transparent 0%,#000 34%);mask-composite:intersect}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:62% 60%;filter:saturate(.8) contrast(1.08) brightness(.92)}
.hero-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(20,51,179,.55),rgba(44,201,234,.18));mix-blend-mode:multiply}
.hero-media::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(5,15,61,.35) 0%,rgba(5,15,61,0) 22%)}
.home-hero .route{z-index:3}
@media (max-width:879px){
  .home-hero .hero{padding-bottom:1.75rem}
  .hero-media{position:relative;width:100%;height:250px;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 35%,#000 62%,transparent 100%);-webkit-mask-composite:source-over;
    mask-image:linear-gradient(180deg,transparent 0%,#000 35%,#000 62%,transparent 100%);mask-composite:add}
  .hero-media img{object-position:60% 62%}
  .hero-media::after{display:none}
}
@media (max-width:600px){.hero-media{height:200px}}

/* ---------- mobile header quick bar (Oct 1 2026): Services sheet, Guides, Contact, compact call, Menu ---------- */
.m-actions{display:none}
.m-sheet{display:none}
@media (max-width:999px){
  .m-actions{display:flex;align-items:center;gap:.3rem;margin-top:.9rem;margin-left:-.6rem}
  .m-svc,.m-link{display:inline-flex;align-items:center;gap:.4rem;font:600 .86rem/1 var(--sans);color:var(--ink);background:none;border:0;border-radius:999px;padding:.62rem .7rem;text-decoration:none;white-space:nowrap;cursor:pointer}
  .m-svc::after{content:"";width:.36rem;height:.36rem;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
  .m-svc[aria-expanded="true"]::after{transform:translateY(1px) rotate(225deg)}
  .m-svc:hover,.m-link:hover{color:var(--brand-ink)}
  .m-svc[aria-expanded="true"],.m-link[aria-current]{background:var(--soft);color:var(--brand-ink)}
  .m-call{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;background:var(--brand);color:#fff;text-decoration:none;font-weight:600;font-size:.82rem;padding:.55rem .9rem;border-radius:999px;white-space:nowrap}
  .m-call svg{width:.95rem;height:.95rem;flex:none}
  .m-call:hover{background:var(--navy2)}
  .m-actions .burger{display:inline-flex;align-items:center;gap:.45rem;margin:0;font:600 .86rem/1 var(--sans);padding:.6rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
  .burger i{position:relative;display:block;width:.95rem;height:2px;border-radius:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor;margin:5px 0}
  .burger[aria-expanded="true"]{background:var(--soft)}
  .m-sheet:not([hidden]){display:block;position:absolute;left:0;right:0;top:100%;z-index:6;background:var(--bg);border-bottom:1px solid var(--line);padding:.75rem 1.5rem 1.1rem;max-height:calc(100dvh - var(--header-offset));overflow:auto;box-shadow:0 30px 40px -30px rgba(0,0,0,.4);animation:pop .18s ease-out}
  .m-sheet ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.35rem .75rem}
  .m-sheet a{display:block;padding:.7rem .8rem;border-radius:var(--r-sm);text-decoration:none;color:var(--ink)}
  .m-sheet a:hover,.m-sheet a[aria-current]{background:var(--soft)}
  .m-sheet b{display:block;font-size:.95rem;font-weight:650;line-height:1.3}
  .m-sheet small{display:block;color:var(--muted);font-size:.8rem;line-height:1.4;margin-top:.15rem}
  .m-sheet-h{margin:0 0 .35rem;padding:0 0 .55rem;border-bottom:1px solid var(--line)}
  .m-sheet-h a{display:inline-block;font-weight:700;color:var(--brand-ink);padding:.45rem .8rem}
}
@media (max-width:600px){
  .m-sheet:not([hidden]){padding:.5rem 1rem 1rem}
  .m-sheet ul{grid-template-columns:1fr;gap:.1rem}
  .m-sheet a{padding:.6rem .75rem}
}

/* ---------- phone header (≤600px, Oct 1 2026, seventh pass): phone number + Menu ----------
   The tablet quick bar (Services / Guides / Contact text links + icon call button) was too cramped on
   phones. Phones now get two clear controls under the name: a full call button that shows the number,
   and Menu (turns into Close while open). Services, Knowledge Centre, About, Contact and PARS live in
   the Menu panel, which dims and locks the page behind it. */
@media (max-width:600px){
  .m-svc,.m-link{display:none!important}
  .m-actions{margin:.7rem 0 0;gap:.5rem}
  .m-call{flex:1 1 auto;min-width:0;max-width:15rem;height:2.6rem;margin:0;padding:0 1rem;justify-content:center;gap:.5rem;font-size:.9rem;letter-spacing:.01em;box-shadow:0 8px 18px -10px rgba(29,63,209,.7)}
  .m-call span{display:inline}
  .m-call svg{width:1rem;height:1rem}
  .m-actions .burger{flex:none;height:2.6rem;margin:0;padding:0 .9rem;gap:.5rem;font-size:.86rem}
  .burger i{width:.9rem;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor;margin:5px 0;transition:transform .2s,box-shadow .2s}
}
@media (max-width:999px){
  /* hamburger → X while the panel is open */
  .burger i{transition:transform .2s,box-shadow .2s,background .2s}
  .burger[aria-expanded="true"] i{background:transparent;box-shadow:none}
  .burger i::before,.burger i::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:2px;background:currentColor;opacity:0;transition:transform .2s,opacity .15s}
  .burger[aria-expanded="true"] i::before{opacity:1;transform:rotate(45deg)}
  .burger[aria-expanded="true"] i::after{opacity:1;transform:rotate(-45deg)}
  .nav-scrim:not([hidden]){position:fixed;inset:0;z-index:45;background:rgba(5,15,61,.5);animation:fade .18s ease-out}
  /* lock only <html>: overflow on <body> too makes body the sticky header's scroll box, so the header and
     open menu jumped to the top of the page when opened after scrolling (fixed Oct 1 2026) */
  html.nav-lock{overflow:hidden}
  .nav-scrim{touch-action:none}
  nav.main{overscroll-behavior:contain}
}
.nav-scrim{display:none}
@media (max-width:999px){.nav-scrim:not([hidden]){display:block}}
@keyframes fade{from{opacity:0}}
@media (max-width:359px){.m-actions .burger .b-lbl{display:none}.m-actions .burger{padding:0 .75rem}.m-call{padding:0 .75rem;font-size:.84rem}}
@media (prefers-reduced-motion:reduce){.burger i,.burger i::before,.burger i::after{transition:none}.nav-scrim:not([hidden]){animation:none}}

/* ================= ABOUT SECTION (Oct 1 2026): shared hero for About, Accessibility Plan, Privacy Policy ================= */
.ab-hero{background:linear-gradient(120deg,var(--navy) 15%,#10266e 72%,#173a93)}
.ab-hero::before{display:none}
.ab-hero .arcs{opacity:.07}
.ab-hero .w{position:relative;z-index:1;display:flex;align-items:center;min-height:25rem;padding-top:2.75rem;padding-bottom:3.5rem;pointer-events:none}
.ab-copy{width:100%;max-width:36rem;pointer-events:auto}
.ab-hero .crumbs{font-size:.8rem;margin-bottom:1.4rem}
.ab-hero h1{font-size:clamp(2.1rem,3.6vw,3.1rem);line-height:1.12;max-width:18ch;margin-bottom:1rem}
.ab-hero .lead{font-size:1.06rem;line-height:1.7;max-width:34rem}
.ab-media{position:absolute;inset:0 0 0 auto;width:55%;margin:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 30%,#000 60%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 30%,#000 60%)}
.ab-media img{width:100%;height:100%;object-fit:cover;object-position:58% 50%;filter:saturate(.85) contrast(1.03)}
.ab-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(20,51,179,.42),rgba(44,201,234,.12));mix-blend-mode:multiply}
.ab-media::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(5,15,61,.6),transparent 42%)}
.ab-tabs{display:inline-flex;flex-wrap:wrap;gap:.2rem;margin-top:1.6rem;padding:.28rem;border:1px solid rgba(143,231,248,.28);border-radius:999px;background:rgba(5,15,61,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ab-hero .ab-tabs a{color:var(--on-dark-muted);font-weight:600;font-size:.84rem;line-height:1;padding:.6rem .95rem;border-radius:999px;text-decoration:none;white-space:nowrap}
.ab-hero .ab-tabs a:hover{color:#fff;background:rgba(255,255,255,.08)}
.ab-hero .ab-tabs a[aria-current]{background:#fff;color:var(--navy)}
.ab-main .w{min-height:31rem;padding-bottom:5.5rem}
.ab-main h1{font-size:clamp(2.2rem,3.9vw,3.35rem)}
@media (max-width:879px){
  .ab-hero .w,.ab-main .w{min-height:0;padding-top:1.9rem;padding-bottom:.25rem}
  .ab-media{position:relative;width:100%;height:220px;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 32%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 32%,#000 78%,transparent 100%)}
  .ab-media::after{background:linear-gradient(0deg,rgba(5,15,61,.3),transparent 55%)}
  .ab-main .ab-media{height:250px}
  .policy-hero .ab-media{height:150px}
}
@media (max-width:600px){
  .ab-hero .w,.ab-main .w,.policy-hero .w{padding-top:1.5rem;padding-bottom:0}
  .ab-hero .crumbs{font-size:.75rem;margin-bottom:1rem}
  .ab-hero .lead{font-size:1rem;line-height:1.6}
  .ab-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-top:1.2rem;border-radius:var(--r)}
  .ab-tabs::-webkit-scrollbar{display:none}
  .ab-hero .ab-tabs a{flex:1;text-align:center;padding:.6rem .7rem;font-size:.78rem;border-radius:10px}
  .ab-main .ab-media{height:200px}
  .policy-hero .ab-media{height:110px}
}
.ab-stats{list-style:none;margin:-3rem 0 0;padding:0;position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.ab-stats li{background:var(--card);padding:1.2rem 1.35rem;display:grid;gap:.2rem;align-content:start}
.ab-stats b{font:600 1.6rem/1.1 var(--display);letter-spacing:-.02em;color:var(--brand-ink)}
.ab-stats span{font-size:.86rem;line-height:1.4;color:var(--muted);font-weight:600}
.ab-stats li:first-child{background:linear-gradient(135deg,var(--navy),#10266e)}
.ab-stats li:first-child b{color:var(--cyan-soft)}.ab-stats li:first-child span{color:var(--on-dark-muted)}
@media (max-width:760px){.ab-stats{grid-template-columns:1fr 1fr;margin-top:-1.25rem}.ab-stats li{padding:.95rem 1rem}.ab-stats b{font-size:1.3rem}.ab-stats span{font-size:.8rem}}

/* the motto: the About page's one big typographic moment */
.motto{padding-top:4.5rem}
.motto-lines{margin:0 0 2.75rem;display:grid;gap:.06em;font:500 clamp(2.3rem,6.4vw,5.4rem)/1.02 var(--display);letter-spacing:-.04em}
.motto-lines span{display:block}
.motto-lines span:last-child{color:var(--brand-ink);padding-left:clamp(1.25rem,9vw,8.5rem)}
.motto-grid{display:grid;gap:2rem 4rem;grid-template-columns:.85fr 1.5fr;border-top:1px solid var(--line);padding-top:2.5rem}
.motto-intro h2{font-size:clamp(1.5rem,2.6vw,2rem);max-width:16ch}
.motto-intro p{color:var(--muted);font-size:1.05rem}
.motto-pair{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2.5rem}
.motto-pair h3{margin:0 0 .5rem;font:700 1.1rem/1.3 var(--sans)}
.motto-pair h3::before{content:"";display:block;width:2.5rem;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--brand),var(--cyan));margin-bottom:.9rem}
.motto-pair p{margin:0;color:var(--muted)}
@media (max-width:900px){.motto-grid,.motto-pair{grid-template-columns:1fr}.motto-grid{gap:1.5rem}}

/* founder */
.founder-sec .founder{grid-template-columns:1fr;gap:2.5rem;align-items:start}
@media (min-width:820px){.founder-sec .founder{grid-template-columns:.75fr 1.25fr;gap:4.5rem}}
.founder-sec .founder figure{max-width:23rem;width:100%;justify-self:start;position:relative;isolation:isolate}
@media (min-width:820px){.founder-sec .founder figure{position:sticky;top:calc(var(--header-offset) + 1.5rem)}}
.founder-sec .founder figure::before{content:"";position:absolute;z-index:-1;inset:1rem -1rem 3.4rem 1rem;border:2px solid rgba(44,201,234,.7);border-radius:var(--r-lg)}
.founder-sec .founder figure img{aspect-ratio:1;box-shadow:var(--shadow);background:linear-gradient(135deg,var(--brand),var(--navy))}
.founder-sec figcaption{margin-top:1.1rem}
.founder-sec figcaption b{display:block;font:600 1.15rem/1.3 var(--display)}
.founder-sec figcaption span{font-weight:500}
.founder-copy .year{background:linear-gradient(135deg,var(--brand),var(--cyan));-webkit-background-clip:text;background-clip:text;font-size:clamp(3.6rem,8vw,6rem);margin-bottom:.25rem}
.founder-copy h2{margin-bottom:1rem}
.founder-copy>p{font-size:1.05rem}
.then-now{list-style:none;margin:2rem 0 0;padding:0;position:relative;display:grid;gap:0}
.then-now::before{content:"";position:absolute;left:.42rem;top:.7rem;bottom:.9rem;width:2px;background:linear-gradient(180deg,var(--brand),var(--cyan))}
.then-now li{position:relative;padding:0 0 1.15rem 2rem}
.then-now li::before{content:"";position:absolute;left:0;top:.38rem;width:.95rem;height:.95rem;border-radius:50%;background:var(--card);border:2px solid var(--brand)}
.then-now li:last-child::before{background:var(--cyan);border-color:var(--cyan)}
.then-now b{display:block;font:700 .95rem/1.4 var(--display);color:var(--brand-ink)}
.then-now span{color:var(--muted);font-size:.95rem}

/* team */
.team-head{display:grid;gap:.25rem 3rem;grid-template-columns:1fr;align-items:end}
@media (min-width:960px){.team-head{grid-template-columns:1.1fr .9fr}.team-head .lead{margin:0 0 .9rem}}
.team-head h2{margin:0}
/* one uniform card per person (no groups); photo or monogram on top, name + title below */
.crew{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.1rem;grid-template-columns:repeat(5,1fr)}
.crew li{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.crew img,.crew .init{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 20%}
.crew .init{display:grid;place-items:center;color:#fff;font:600 2.2rem/1 var(--display);letter-spacing:.02em;
  background:radial-gradient(circle at 75% 20%,rgba(44,201,234,.5),transparent 55%),linear-gradient(135deg,var(--brand),var(--navy))}
.crew li div{flex:1;padding:.9rem 1rem 1.05rem;border-top:3px solid var(--brand);border-image:linear-gradient(90deg,var(--brand),var(--cyan)) 1}
.crew b{display:block;font-weight:700;line-height:1.3}
.crew span{display:block;color:var(--muted);font-size:.86rem;line-height:1.4;margin-top:.15rem}
@media (max-width:1100px){.crew{grid-template-columns:repeat(4,1fr)}}
@media (max-width:860px){.crew{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.crew{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.4rem}.crew li div{padding:.7rem .75rem .8rem}.crew b{font-size:.92rem}.crew span{font-size:.8rem}.crew .init{font-size:1.8rem}}
.ab-tiles{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.ab-tiles{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ab-tiles{grid-template-columns:1fr}}
.clients .big-p{font:500 clamp(1.15rem,2vw,1.4rem)/1.55 var(--display);letter-spacing:-.01em;color:var(--ink)}
.clients .who{margin-top:1rem}
.crossings li:first-child img{object-position:50% 70%}
.vision-card{position:relative;overflow:hidden;isolation:isolate;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.75rem,4vw,3.5rem);background:var(--card);box-shadow:var(--shadow)}
.vision-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--brand),var(--cyan))}
.vision-card .arcs{opacity:.07;right:-12rem;top:-8rem}
.vision-card .arcs path{stroke:var(--cyan)}
.vision-card p{font:500 clamp(1.1rem,2vw,1.4rem)/1.6 var(--display);letter-spacing:-.01em;max-width:50rem;margin:0}
.vision-card .vision-sign{font:italic 600 1rem/1.4 var(--sans);color:var(--brand-ink);margin-top:1.4rem;letter-spacing:0}

/* ================= ROUTED INQUIRY FORM (Contact + landing pages) ================= */
.contact-hero .w{padding-top:3rem;padding-bottom:3rem}
.form [hidden]{display:none!important}
.form h2{font-size:1.4rem;margin:0 0 1rem}
.fields label>span{display:block}
.svc-pick{margin-bottom:.4rem!important}
.pick-hint{margin:.8rem 0 0;color:var(--muted);font-size:.9rem}
.fgrp{border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1.35rem}
.fgrp-who{border-top:0;margin-top:.6rem;padding-top:0}
.fgrp h3{margin:0 0 1rem;font:700 .95rem/1.3 var(--sans);color:var(--brand-ink)}
.fnote{margin:0 0 1.1rem;padding:.85rem 1rem;border-radius:var(--r-sm);background:var(--brand-soft);color:var(--ink);font-size:.92rem;line-height:1.55;border-left:4px solid var(--brand)}
.fields select{font:inherit;padding:.8rem 2.4rem .8rem .9rem;border-radius:10px;border:2px solid var(--line);background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%234a5672' stroke-width='2'/%3E%3C/svg%3E") no-repeat right .9rem center/12px;color:var(--ink);-webkit-appearance:none;appearance:none}
.fields select:focus{outline:none;border-color:var(--brand)}
.fields label small{font-weight:500;color:var(--muted);font-size:.85rem;margin-top:-.15rem}
.seg,.form .seg{border:0;padding:0;margin:0;min-width:0}
.seg legend{font-weight:600;font-size:.95rem;margin-bottom:.5rem;padding:0}
.pills{display:flex;flex-wrap:wrap;gap:.4rem}
.pills label{position:relative}
.pills input{position:absolute;opacity:0;inset:0;margin:0}
.pills span{display:block;border:2px solid var(--line);border-radius:999px;padding:.42rem .9rem;font-weight:600;font-size:.88rem;cursor:pointer;background:var(--bg)}
.pills input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink)}
.pills input[type=checkbox]:checked+span::before{content:"";display:inline-block;width:.55rem;height:.3rem;border:solid currentColor;border-width:0 0 2px 2px;transform:translateY(-2px) rotate(-45deg);margin-right:.45rem}
.pills input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}
.orders-row{display:block}
.form-end{margin-top:1.6rem}
.form-end .btn{margin-top:0}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
/* form send status (Web3Forms, Oct 2 2026): neutral while sending, cobalt rule on success, navy rule on error (no red) */
.form-status{margin:1.1rem 0 0;padding:.9rem 1.05rem;border-radius:var(--r-sm);font-size:.95rem;line-height:1.55;background:var(--brand-soft);color:var(--ink);border-left:4px solid var(--line)}
.form-status:focus{outline:none}
.form-status.is-ok{border-left-color:var(--brand)}
.form-status.is-err{background:transparent;border:1px solid var(--line);border-left:4px solid var(--navy2)}
.form-status a{font-weight:700;white-space:nowrap}
.form .btn:disabled{opacity:.7;cursor:progress}
.fields textarea{min-height:7rem}

/* ================= LANDING PAGES (.lp-*) ================= */
.ic{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lp-hero{min-height:40rem;display:flex;flex-direction:column;background:var(--navy)}
.lp-hero::before{display:none}
.lp-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:var(--lp-pos,50% 50%);filter:saturate(.8) contrast(1.05)}
.lp-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,15,61,.97) 0%,rgba(5,15,61,.9) 32%,rgba(9,27,98,.5) 62%,rgba(12,36,128,.28) 100%),linear-gradient(0deg,rgba(5,15,61,.96) 0%,rgba(5,15,61,.55) 22%,rgba(5,15,61,0) 45%),linear-gradient(135deg,rgba(20,51,179,.0),rgba(44,201,234,.12))}
.lp-hero .arcs{opacity:.09}
.lp-hero-in{flex:1;display:flex;align-items:center;width:100%;padding-top:3rem;padding-bottom:2.25rem}
.lp-copy{max-width:39rem}
.lp-hero .crumbs{font-size:.8rem;margin-bottom:1.4rem}
.lp-hero h1{font-size:clamp(2.3rem,4.4vw,3.75rem);line-height:1.06;letter-spacing:-.032em;max-width:16ch;margin-bottom:1.1rem}
.lp-wh h1{max-width:18ch}
.lp-sub{font-size:1.18rem;line-height:1.55;color:#fff;margin:0 0 .9rem;max-width:34rem}
.lp-line{display:flex;align-items:center;gap:.75rem;margin:0;color:var(--cyan-soft);font-weight:600;font-size:.98rem;max-width:34rem}
.lp-line::before{content:"";flex:none;width:1.75rem;height:2px;background:var(--cyan)}
.lp-hero .cta{margin-top:1.75rem}
.lp-fine{margin:1rem 0 0;font-size:.86rem;color:var(--on-dark-muted)}
.lp-track-wrap{width:100%;padding-bottom:5.75rem}
.lp-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.lp-track::before,.lp-track::after{content:"";position:absolute;left:0;right:0;top:.5rem;height:2px;-webkit-mask-image:linear-gradient(90deg,#000 80%,transparent);mask-image:linear-gradient(90deg,#000 80%,transparent)}
.lp-track::before{background:rgba(143,231,248,.22)}
.lp-track::after{background:linear-gradient(90deg,var(--brand),var(--cyan));transform-origin:left;animation:lpdraw 1.8s .35s cubic-bezier(.3,.6,.2,1) both}
@keyframes lpdraw{from{transform:scaleX(0)}}
.lp-track li{position:relative;z-index:1;padding:1.75rem 1rem 0 0;font-weight:600;font-size:.92rem;line-height:1.35;color:#fff}
.lp-track li::before{content:"";position:absolute;left:0;top:0;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--navy);border:2px solid var(--cyan);box-shadow:0 0 0 5px rgba(44,201,234,.14)}
.lp-track li:last-child::before{background:var(--cyan)}
.lp-trust{list-style:none;margin:-3.4rem 0 0;padding:0;position:relative;z-index:3;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.lp-trust li{display:flex;gap:.8rem;align-items:flex-start;padding:1.25rem 1.15rem;background:var(--card)}
.lp-trust .ic{width:1.55rem;height:1.55rem;flex:none;color:var(--brand-ink);margin-top:.05rem}
.lp-mark{height:1.55rem;width:auto;flex:none}
.lp-mark-g{height:1.25rem;margin-top:.15rem}
.lp-trust b{display:block;font-size:.95rem;line-height:1.3}
.lp-trust b a{color:var(--ink);text-decoration:none}
.lp-trust b a:hover{text-decoration:underline;color:var(--brand-ink)}
.lp-trust span{display:block;margin-top:.25rem;font-size:.82rem;line-height:1.45;color:var(--muted)}
.lp-trust li:first-child{background:linear-gradient(135deg,var(--navy),#10266e)}
.lp-trust li:first-child .ic{color:var(--cyan)}
.lp-trust li:first-child b{color:#fff}.lp-trust li:first-child span{color:var(--on-dark-muted)}
.lp-how,.lp-ind-sec,.lp-setup,.lp-why,.lp-handle,.lp-reach,.lp-start{padding:4.75rem 0}
.lp-how{padding-top:5rem}
.lp-head{max-width:46rem;margin-bottom:2.5rem}
.lp-head h2{margin-bottom:.7rem}
.lp-head .lead{margin:0}
.lp-steps{list-style:none;margin:0;padding:0;counter-reset:lps;display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;position:relative}
.lp-steps::before{content:"";position:absolute;left:1.5rem;right:0;top:1.5rem;height:2px;background:linear-gradient(90deg,var(--brand),var(--cyan) 85%,transparent)}
.lp-steps li{counter-increment:lps;position:relative;padding-top:4.1rem}
.lp-steps li::before{content:counter(lps);position:absolute;left:0;top:0;width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;font:700 1.05rem/1 var(--display);color:#fff;background:linear-gradient(135deg,var(--brand),var(--navy));box-shadow:0 0 0 6px var(--bg),0 12px 24px -10px rgba(29,63,209,.7)}
.lp-steps h3{margin:0 0 .45rem;font:700 1.08rem/1.35 var(--sans)}
.lp-steps p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6}
.lp-inline-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.9rem 1.5rem;margin-top:3rem;padding:.9rem .9rem .9rem 1.75rem;border:1px solid var(--line);border-radius:999px;background:var(--soft)}
.lp-inline-cta p{margin:0;font:600 1.15rem/1.35 var(--display);letter-spacing:-.01em}
.lp-why-grid{display:grid;gap:2.5rem 4.5rem;grid-template-columns:.8fr 1.2fr;align-items:start}
@media (min-width:900px){.lp-why-copy{position:sticky;top:calc(var(--header-offset) + 1.5rem)}}
.lp-why-copy h2{max-width:16ch}
.lp-textlink{display:inline-block;margin-top:1.25rem;font-weight:700}
.lp-feats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:2.25rem 2.5rem}
.lp-feats li{position:relative;padding-top:1.25rem;border-top:1px solid var(--line)}
.lp-feats li::before{content:"";position:absolute;left:0;top:-1px;width:2.75rem;height:3px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,var(--brand),var(--cyan))}
.lp-feats .ic{display:block;width:2.1rem;height:2.1rem;color:var(--brand-ink);margin-bottom:.75rem}
.lp-feats h3{margin:0 0 .4rem;font:700 1.08rem/1.35 var(--sans)}
.lp-feats p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6}
.lp-ind{grid-template-columns:repeat(3,1fr)}
.lp-four{grid-template-columns:repeat(4,1fr)}
.lp-voices{padding:5rem 0}
.lp-voices h2{max-width:20ch}
.lp-vgrid{display:grid;grid-template-columns:1.25fr 1fr;gap:1.25rem;margin-top:2.25rem}
.lp-vgrid figure{margin:0;padding:1.6rem 1.75rem;border-radius:var(--r-lg);background:rgba(255,255,255,.055);border:1px solid rgba(143,231,248,.2);display:flex;flex-direction:column;justify-content:space-between}
.lp-vgrid .v-main{grid-row:span 2;background:linear-gradient(150deg,rgba(29,63,209,.55),rgba(5,15,61,.2));border-color:rgba(143,231,248,.35)}
.lp-vgrid blockquote{margin:0}
.lp-vgrid blockquote::before{content:"\201C";display:block;font:600 3.6rem/.7 var(--display);color:var(--cyan);margin:.4rem 0 .3rem}
.lp-vgrid p{margin:0;color:#fff;font-size:1.02rem;line-height:1.6}
.lp-vgrid .v-main p{font:500 clamp(1.3rem,2.1vw,1.75rem)/1.42 var(--display);letter-spacing:-.012em}
.lp-vgrid figcaption{margin-top:1.25rem;font-weight:700;color:var(--cyan-soft);font-size:.95rem}
.lp-voices .cta{margin-top:2.25rem}
.lp-split{display:grid;gap:2.75rem 4.5rem;grid-template-columns:1fr 1.1fr;align-items:center}
.lp-reach .lp-split{grid-template-columns:1.15fr .85fr}
.lp-photo{margin:0;position:relative;isolation:isolate}
.lp-photo::before{content:"";position:absolute;z-index:-1;inset:1rem -1rem -1rem 1rem;border:2px solid rgba(44,201,234,.6);border-radius:var(--r-lg)}
.lp-photo img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow)}
.lp-reach .lp-photo img{aspect-ratio:4/5;object-position:50% 70%}
.lp-reach .lp-photo::before{inset:1rem 1rem -1rem -1rem}
.lp-reach{border-top:1px solid var(--line)}
.lp-photo figcaption{margin-top:1.6rem;font-size:.86rem;color:var(--muted)}
.lp-handle-list{list-style:none;margin:1.5rem 0 1.1rem;padding:0;display:grid;gap:.5rem}
.lp-handle-list a{position:relative;display:block;padding:.9rem 2.75rem .9rem 1.15rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font-weight:600;text-decoration:none;transition:border-color .2s}
.lp-handle-list a::after{content:"";position:absolute;right:1.15rem;top:50%;width:.5rem;height:.5rem;border:solid var(--brand-ink);border-width:2px 2px 0 0;transform:translateY(-50%) rotate(45deg);transition:right .2s}
.lp-handle-list a:hover{border-color:var(--brand)}
.lp-handle-list a:hover::after{right:.9rem}
.lp-incl,.lp-ready .checks{list-style:none;margin:1.25rem 0 1.25rem;padding:0;display:grid;gap:.55rem 1.5rem}
.lp-incl{grid-template-columns:1fr 1fr}
.lp-incl li,.lp-ready .checks li{position:relative;padding-left:1.7rem;line-height:1.5}
.lp-incl li::before,.lp-ready .checks li::before{content:"";position:absolute;left:0;top:.42em;width:.95rem;height:.5rem;border:solid var(--brand);border-width:0 0 3px 3px;transform:rotate(-45deg)}
.lp-res{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.lp-res a{display:block;text-decoration:none;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.5rem 1rem;font-weight:600;color:var(--brand-ink);font-size:.9rem}
.lp-res a:hover{border-color:var(--brand)}
.lp-setup-grid{display:grid;grid-template-columns:1.2fr .85fr;gap:2rem 3rem;align-items:start}
.lp-mini-steps{list-style:none;counter-reset:lpm;margin:0;padding:0;display:grid;gap:.9rem}
.lp-mini-steps li{counter-increment:lpm;position:relative;padding:1.2rem 1.35rem 1.25rem 4.4rem;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.lp-mini-steps li::before{content:counter(lpm);position:absolute;left:1.2rem;top:1.15rem;width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink);font:700 .95rem/1 var(--display)}
.lp-mini-steps h3{margin:0 0 .35rem;font:700 1.02rem/1.4 var(--sans)}
.lp-mini-steps p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.6}
.lp-mini-steps a{font-weight:600;white-space:nowrap}
.lp-ready{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:1.75rem 1.8rem;color:#fff;background:radial-gradient(30rem 16rem at 100% 0%,rgba(44,201,234,.22),transparent 60%),linear-gradient(140deg,var(--navy),#10266e)}
.lp-ready h3{margin:0 0 .25rem;color:#fff;font:700 1.1rem/1.35 var(--sans)}
.lp-ready .checks{gap:.6rem}
.lp-ready .checks li::before{border-color:var(--cyan)}
.lp-ready p{margin:0;color:var(--on-dark-muted);font-size:.9rem;line-height:1.6}
.lp-offices{list-style:none;margin:1.5rem 0 1.4rem;padding:0;border-top:1px solid var(--line)}
.lp-offices li{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.lp-offices b{font-weight:700}
.lp-offices span{color:var(--muted);font-size:.95rem}
.lp-one{padding:5rem 0}
.lp-one-grid{display:grid;gap:3rem 4.5rem;grid-template-columns:1.1fr .9fr;align-items:center}
.lp-one h2{max-width:20ch}
.lp-one p:not(.lead){color:var(--on-dark-muted)}
.lp-one .cta{margin-top:1.5rem}
.lp-chain{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:.6rem}
.lp-chain::before{content:"";position:absolute;left:1.35rem;top:1.4rem;bottom:1.4rem;width:2px;background:linear-gradient(180deg,var(--brand),var(--cyan))}
.lp-chain li{position:relative;padding:.85rem 1.1rem .85rem 3.2rem;border-radius:var(--r);background:rgba(255,255,255,.055);border:1px solid rgba(143,231,248,.18)}
.lp-chain li::before{content:"";position:absolute;left:.95rem;top:50%;width:.85rem;height:.85rem;margin-top:-.43rem;border-radius:50%;background:var(--navy);border:2px solid var(--cyan)}
.lp-chain li:last-child::before{background:var(--cyan)}
.lp-chain b{display:block;color:#fff;font-weight:700;line-height:1.3}
.lp-chain span{display:block;color:var(--on-dark-muted);font-size:.85rem}
.lp-faq .faq details{max-width:none}
@media (min-width:900px){.lp-faq .split{grid-template-columns:.75fr 1.25fr}}
.lp-start-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.5rem 4rem;align-items:start}
@media (min-width:960px){.lp-start-copy{position:sticky;top:calc(var(--header-offset) + 1.5rem)}}
.lp-callcard{display:flex;gap:1rem;align-items:center;margin:1.75rem 0 1.25rem;padding:1.15rem 1.3rem;border-radius:var(--r);color:#fff;background:linear-gradient(135deg,var(--navy),#10266e)}
.lp-callcard .ic{flex:none;width:2.75rem;height:2.75rem;padding:.65rem;border-radius:50%;background:rgba(44,201,234,.16);color:var(--cyan)}
.lp-callcard span{display:block;font-size:.85rem;color:var(--on-dark-muted)}
.lp-callcard a{display:block;font:700 1.5rem/1.2 var(--display);color:#fff;text-decoration:none;letter-spacing:-.01em}
.lp-callcard a:hover{text-decoration:underline;text-decoration-color:var(--cyan)}
.lp-callcard small{display:block;font-size:.8rem;color:var(--on-dark-muted)}
.lp-after{color:var(--muted);font-size:.93rem}
.lp-start .form{padding:2rem 2rem 2.2rem}
@media (max-width:1100px){
  .lp-trust{grid-template-columns:repeat(6,1fr)}
  .lp-trust li{grid-column:span 2}
  .lp-trust li:nth-child(n+4){grid-column:span 3}
  .lp-four{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .lp-why-grid,.lp-split,.lp-reach .lp-split,.lp-setup-grid,.lp-one-grid,.lp-start-grid{grid-template-columns:1fr}
  .lp-ind{grid-template-columns:repeat(2,1fr)}
  .lp-vgrid{grid-template-columns:1fr}
  .lp-vgrid .v-main{grid-row:auto}
  .lp-photo{max-width:34rem}
  .lp-reach .lp-photo img{aspect-ratio:16/10}
}
@media (max-width:879px){
  .lp-hero{min-height:0}
  .lp-hero::after{background:linear-gradient(180deg,rgba(5,15,61,.7) 0%,rgba(5,15,61,.86) 50%,rgba(5,15,61,.97) 100%),linear-gradient(135deg,rgba(20,51,179,.25),rgba(44,201,234,.1))}
  .lp-hero-in{padding-top:2rem;padding-bottom:2rem}
  .lp-steps{grid-template-columns:1fr;gap:1.4rem}
  .lp-steps::before{left:1.5rem;right:auto;top:1.5rem;bottom:1.5rem;width:2px;height:auto;background:linear-gradient(180deg,var(--brand),var(--cyan))}
  .lp-steps li{padding:0 0 0 4.4rem;min-height:3rem}
  .lp-steps h3{padding-top:.6rem}
}
@media (max-width:600px){
  .lp-hero-in{padding-top:1.5rem;padding-bottom:1.6rem}
  .lp-hero .crumbs{font-size:.75rem;margin-bottom:1rem}
  .lp-hero h1{font-size:2.05rem;line-height:1.1}
  .lp-sub{font-size:1.04rem}
  .lp-line{font-size:.9rem}
  .lp-hero .cta{margin-top:1.3rem}
  .lp-fine{font-size:.8rem}
  .lp-track-wrap{padding-bottom:4rem}
  .lp-track li{font-size:.72rem;padding:1.5rem .35rem 0 0}
  .lp-track li::before{width:.9rem;height:.9rem}
  .lp-track::before,.lp-track::after{top:.42rem}
  .lp-trust{grid-template-columns:1fr 1fr;margin-top:-2.5rem;border-radius:var(--r)}
  .lp-trust li,.lp-trust li:nth-child(n+4){grid-column:span 1;flex-direction:column;gap:.5rem;padding:.95rem .9rem}
  .lp-trust li:first-child{grid-column:1/-1;flex-direction:row;align-items:center}
  .lp-trust b{font-size:.88rem}
  .lp-trust span{font-size:.78rem}
  .lp-how,.lp-ind-sec,.lp-setup,.lp-why,.lp-handle,.lp-reach,.lp-start,.lp-voices,.lp-one{padding:2.75rem 0}
  .lp-head{margin-bottom:1.6rem}
  .lp-inline-cta{border-radius:var(--r);padding:1rem;margin-top:2rem}
  .lp-inline-cta .btn{flex:1 1 100%;justify-content:center}
  .lp-feats,.lp-ind,.lp-four{grid-template-columns:1fr;gap:1.1rem}
  .lp-feats li{display:grid;grid-template-columns:2rem 1fr;column-gap:.95rem;padding-top:1rem}
  .lp-feats .ic{grid-row:span 2;width:1.9rem;height:1.9rem;margin:0}
  .lp-feats h3{font-size:1rem}
  .lp-feats p{font-size:.92rem}
  .lp-why-grid,.lp-split{gap:1.75rem}
  .lp-vgrid{margin-top:1.5rem;gap:.9rem}
  .lp-vgrid figure{padding:1.25rem 1.3rem}
  .lp-voices .cta{margin-top:1.5rem}
  .lp-photo::before{inset:.6rem -.6rem -.6rem .6rem}
  .lp-reach .lp-photo::before{inset:.6rem .6rem -.6rem -.6rem}
  .lp-incl{grid-template-columns:1fr}
  .lp-mini-steps li{padding:1rem 1rem 1.05rem 3.6rem}
  .lp-mini-steps li::before{left:.9rem;top:1rem;width:1.9rem;height:1.9rem}
  .lp-ready{padding:1.4rem 1.3rem}
  .lp-offices li{grid-template-columns:1fr;gap:.1rem}
  .lp-callcard a{font-size:1.3rem}
  .lp-start .form{padding:1.3rem 1.1rem 1.5rem}
  .lp-start-grid{gap:1.75rem}
}

/* ================= MOBILE SPACING (Oct 1 2026): tighter vertical rhythm on phones ================= */
@media (max-width:600px){
  section{padding:2.75rem 0}
  h2{margin-bottom:.7rem}
  .lead{font-size:1.06rem;line-height:1.6}
  .tiles{margin-top:1.4rem;gap:.85rem}
  .g3{margin-top:1.1rem;gap:.85rem}
  .g3 article{padding:1.2rem}
  .split{gap:1.75rem}
  .read{padding-top:2.25rem;padding-bottom:2.5rem;gap:1.75rem}
  .service-read{padding-top:2rem;padding-bottom:2.25rem}
  .body section{margin-bottom:2.25rem}
  .service-read .body section+section h2::before{margin-bottom:.75rem}
  .service-read .body .tagline{margin-top:2rem}
  .steps{margin-top:1.4rem}
  .steps>li{padding-bottom:1.2rem}
  .proof{margin-top:-1.75rem}
  .band .cta{margin-top:1.4rem}
  .contact{padding:1.75rem 1rem 2.75rem;gap:1.5rem}
  .contact-hero .w{padding-top:1.75rem;padding-bottom:2rem}
  .form{padding:1.3rem 1.1rem 1.5rem;border-radius:var(--r)}
  .faq summary{padding:.9rem 2rem .9rem 0}
  footer.site{padding-top:2.5rem}
  .f-trust{margin-top:1.75rem}
  .hub-hero{min-height:26rem}
  .hub-hero .w{padding-top:3.5rem;padding-bottom:4.5rem}
  .kc-hero .w{padding-top:2.5rem;padding-bottom:2.25rem}
  .guide-hero .w{padding-top:1.75rem;padding-bottom:5.5rem}
  .pillar-intro{padding-top:2.5rem}
  .motto{padding-top:3rem}
  .motto-lines{margin-bottom:1.75rem}
  .motto-grid{padding-top:1.75rem}
  .offices{gap:.7rem}
  .crossings{margin-top:1.4rem;gap:.7rem}
}
@media (max-width:560px){.form-end .btn{width:100%;justify-content:center}}
.fields:has(>label[data-for][hidden])>.co{grid-column:1/-1}
@media (max-width:600px){.motto-lines{font-size:7.2vw;letter-spacing:-.035em}.motto-lines span:last-child{padding-left:1.4rem}}
/* landing trust icons: maple leaf shape tinted with the brand colour (no red UI), Google star in its real yellow */
.ic-leaf{flex:none;display:block;width:1.55rem;height:1.55rem;margin-top:.05rem;background:var(--brand-ink);
  -webkit-mask:url(/assets/img/icons/maple-leaf-2x.png) center/contain no-repeat;mask:url(/assets/img/icons/maple-leaf-2x.png) center/contain no-repeat}
.lp-star{width:1.55rem;height:1.55rem}
/* small tablets (601–719px): the quick bar overflowed by a few px with Guides showing; Guides stays in the Menu panel */
@media (min-width:601px) and (max-width:719px){.m-kc{display:none!important}}
/* with the page dimmed, the translucent header must stay solid white/navy, not pick up the scrim */
@media (max-width:999px){html.nav-lock .top{background:var(--bg)}}
/* phones already show the number in the header bar, so the panel's big phone button is dropped there */
@media (max-width:600px){nav.main .tel{display:none}}

/* ================= OFFICE LINKS (Oct 2 2026): every office mention/photo links to its office page (lib.OFFICE_URL, OFF()) ================= */
a.off{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:rgba(29,63,209,.45)}
a.off:hover{text-decoration-color:var(--cyan);text-decoration-thickness:2px}
.dark a.off,footer.site a.off,.hm-quotes .q-main a.off{text-decoration-color:rgba(143,231,248,.55)}
footer.site .f-id p a.off{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:rgba(143,231,248,.55)}
footer.site .f-id p a.off:hover{color:#fff;text-decoration-color:var(--cyan)}
.offices b a.off,.lp-offices b a.off{text-decoration-color:rgba(29,63,209,.35)}
.crossings a{display:block;color:#fff;text-decoration:none}
.crossings li::after{pointer-events:none}
.crossings img{transition:transform .5s}
.crossings a:hover img,.crossings a:focus-visible img{transform:scale(1.04)}
.crossings a:hover span{text-decoration:underline;text-decoration-color:var(--cyan)}
.hm-office>a,.lp-photo>a{display:block}
/* links inside the navy Key takeaways / facts cards (first used by office links) */
.facts a{color:var(--cyan-soft);text-decoration:underline;text-decoration-color:rgba(143,231,248,.5);text-underline-offset:.2em}
.facts a:hover{color:#fff}
.office-card .office-more{margin-top:.4rem;font-size:.92rem}
.office-card .office-more a.off{color:var(--brand-ink);font-weight:600}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) a.off{text-decoration-color:rgba(143,231,248,.5)}}
:root[data-theme="dark"] a.off{text-decoration-color:rgba(143,231,248,.5)}

/* ================= HOME v2 (Oct 1 2026): stronger home page. Scoped .hm-* (+ .home-hero tweaks); keep this block last ================= */
/* hero: larger headline, more of the photo, quick links (the offices card on the photo was removed Oct 2 2026) */
.home-hero .hero{padding-top:3.4rem;padding-bottom:7.75rem}
.home-hero .hero>div{max-width:38rem}
.home-hero .hero h1{font-size:clamp(2rem,3.35vw,2.9rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:1.1rem}
.home-hero .hero .lead{font-size:1.08rem;max-width:34rem}
@media (min-width:880px){
  .hero-media{width:60%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 22%,#000 48%),linear-gradient(0deg,transparent 0%,#000 30%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 22%,#000 48%),linear-gradient(0deg,transparent 0%,#000 30%)}
  .hero-media img{filter:saturate(.85) contrast(1.06) brightness(.98)}
  .hero-media::before{background:linear-gradient(135deg,rgba(20,51,179,.45),rgba(44,201,234,.14))}
}
.hm-quick{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin:1.15rem 0 0;font-size:.93rem;font-weight:600;animation:up .8s .3s cubic-bezier(.2,.7,.2,1) both}
.hm-quick a{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;color:#fff}
.hm-quick a:hover{text-decoration:underline;text-decoration-color:var(--cyan)}
.hm-quick a+a{position:relative}
.hm-quick a+a::before{content:"";position:absolute;left:-.85rem;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--cyan)}
.hm-quick .ic{width:1rem;height:1rem;fill:none;stroke:var(--cyan);stroke-width:1.8;stroke-linejoin:round}
@media (max-width:879px){.home-hero .hero{padding-bottom:1.75rem}}
/* trust bar (shared .lp-trust component) */
.hm-trust{margin-top:-2.75rem}
/* shared bits */
.hm-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem 3rem;margin-bottom:2.25rem}
.hm-head .lead{margin:0}
.hm-link{display:inline-block;font-weight:700;text-decoration:none;color:var(--brand-ink)}
.hm-link .hm-arrow{display:inline-block;vertical-align:-.2em;margin-left:.3rem}
.hm-link:hover{text-decoration:underline}
.hm-arrow{flex:none;width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
a:hover>.hm-arrow,a:hover .hm-arrow{transform:translateX(3px)}
.dark .hm-link{color:var(--cyan-soft)!important}
/* services: featured brokerage card + five service rows */
.hm-services{padding:5.25rem 0 4.75rem}
.hm-svc{display:grid;grid-template-columns:1fr 1.05fr;gap:1.25rem;align-items:stretch}
.hm-feature{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:31rem;border-radius:var(--r-lg);color:#fff;text-decoration:none;box-shadow:var(--shadow)}
.hm-feature img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:16% 50%;transition:transform .6s}
.hm-feature::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,15,61,0) 28%,rgba(5,15,61,.7) 62%,rgba(5,15,61,.96) 100%),linear-gradient(135deg,rgba(29,63,209,.25),transparent 60%)}
.hm-feature div{padding:2rem 2rem 2.1rem}
.hm-feature b{display:block;font:500 clamp(1.6rem,2.5vw,2.15rem)/1.15 var(--display);letter-spacing:-.022em}
.hm-feature small{display:block;max-width:28rem;margin-top:.6rem;font-size:1rem;line-height:1.55;color:#dfe6fb}
.hm-feature em{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.3rem;padding:.6rem 1.15rem;border-radius:999px;font-style:normal;font-weight:700;font-size:.95rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);transition:background .2s,border-color .2s}
.hm-feature:hover img{transform:scale(1.04)}
.hm-feature:hover em{background:var(--brand);border-color:var(--brand)}
.hm-rows{list-style:none;margin:0;padding:0;display:grid;grid-auto-rows:1fr;gap:.75rem}
.hm-rows a{height:100%;display:grid;grid-template-columns:7rem 1fr auto;align-items:center;gap:1.15rem;padding:.6rem 1.25rem .6rem .6rem;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.hm-rows img{width:7rem;height:4.75rem;object-fit:cover;border-radius:10px}
.hm-rows b{display:block;font:700 1.06rem/1.3 var(--display)}
.hm-rows small{display:block;margin-top:.2rem;font-size:.88rem;line-height:1.45;color:var(--muted)}
.hm-rows .hm-arrow{color:var(--brand-ink)}
.hm-rows a:hover{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-2px)}
/* about split: framed office photo + stats (the since-1981 badge was removed Oct 2 2026) */
.hm-about{padding:5.25rem 0}
.hm-about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem 5rem;align-items:start}
.hm-office{margin:0;position:relative;isolation:isolate}
@media (min-width:901px){.hm-office{position:sticky;top:calc(var(--header-offset) + 2rem)}}
.hm-office::before{content:"";position:absolute;z-index:-1;inset:1.1rem -1.1rem -1.1rem 1.1rem;border:2px solid rgba(44,201,234,.6);border-radius:var(--r-lg)}
.hm-office img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 85%;border-radius:var(--r-lg);box-shadow:var(--shadow)}
.hm-sub{color:var(--ink);font-weight:600;font-size:1.12rem;margin-bottom:1.25rem}
.hm-stats{list-style:none;margin:1.75rem 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.hm-stats li{background:var(--card);padding:1rem 1.15rem 1.05rem}
.hm-stats b{display:block;font:500 1.6rem/1.1 var(--display);letter-spacing:-.025em;color:var(--brand-ink);white-space:nowrap}
.hm-stats span{display:block;margin-top:.35rem;font-size:.82rem;line-height:1.4;color:var(--muted)}
/* clearance flow (dark): three stages, numbered steps on a cobalt-to-cyan line */
.hm-process{padding:5.5rem 0}
.hm-process .arcs{opacity:.1}
.hm-process-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem 4.5rem;align-items:start}
@media (min-width:900px){.hm-process-copy{position:sticky;top:calc(var(--header-offset) + 1.5rem)}}
.hm-process .lead{font-size:1.08rem;margin-bottom:1.5rem}
.hm-flow{display:grid;gap:1rem}
.hm-stage{border-radius:var(--r-lg);padding:1.35rem 1.5rem .35rem;background:rgba(255,255,255,.05);border:1px solid rgba(143,231,248,.18)}
.hm-stage-k{display:flex;align-items:center;gap:.7rem;margin:0 0 1.05rem;color:var(--cyan-soft);font-weight:700;font-size:.92rem}
.hm-stage-k::before{content:"";width:1.6rem;height:2px;background:var(--cyan)}
.hm-stage ol{list-style:none;margin:0;padding:0}
.hm-stage li{position:relative;display:grid;grid-template-columns:2.4rem 1fr;gap:1rem;padding-bottom:1.15rem}
.hm-stage li:not(:last-child)::before{content:"";position:absolute;left:calc(1.2rem - 1px);top:2.6rem;bottom:.25rem;width:2px;background:linear-gradient(180deg,var(--brand),rgba(44,201,234,.6))}
.hm-n{width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;font:700 .95rem/1 var(--display);color:#fff;background:linear-gradient(135deg,var(--brand),#0b1f86);border:1px solid rgba(143,231,248,.45);box-shadow:0 0 0 4px rgba(44,201,234,.12)}
.hm-stage:nth-child(2) li:last-child .hm-n{background:var(--cyan);color:var(--navy);border-color:var(--cyan)}
.hm-stage h3{margin:.35rem 0 .3rem;font:700 1.04rem/1.35 var(--sans);color:#fff}
.hm-stage p{margin:0;font-size:.94rem;line-height:1.6;color:var(--on-dark-muted)}
/* why + client quotes */
.hm-why{padding:5.25rem 0}
.hm-why-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:3rem 4.5rem;align-items:start}
.hm-feats{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}
.hm-feats li{display:grid;grid-template-columns:2.4rem 1fr;column-gap:1.1rem}
.hm-feats .ic{grid-row:span 2;width:2.1rem;height:2.1rem;margin:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hm-quotes{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.hm-quotes figure{margin:0;display:flex;flex-direction:column;justify-content:space-between;padding:1.35rem 1.45rem;border-radius:var(--r);background:var(--soft);border:1px solid var(--line)}
.hm-quotes blockquote{margin:0}
.hm-quotes p{margin:0;font-size:.95rem;line-height:1.6;color:var(--ink)}
.hm-quotes figcaption{margin-top:1rem;font-weight:700;font-size:.9rem;color:var(--brand-ink)}
.hm-quotes .q-main{grid-column:1/-1;position:relative;overflow:hidden;padding:1.9rem 2rem;border:0;border-radius:var(--r-lg);color:#fff;background:radial-gradient(26rem 14rem at 100% 0%,rgba(44,201,234,.24),transparent 60%),linear-gradient(140deg,var(--navy),#10266e);box-shadow:var(--shadow)}
.hm-quotes .q-main blockquote::before{content:"\201C";display:block;font:600 3.6rem/.7 var(--display);color:var(--cyan);margin:.35rem 0 .35rem}
.hm-quotes .q-main p{color:#fff;font:500 clamp(1.2rem,1.8vw,1.45rem)/1.45 var(--display);letter-spacing:-.012em}
.hm-quotes .q-main figcaption{color:var(--cyan-soft)}
.hm-quotes .hm-link{grid-column:1/-1;margin-top:.25rem}
/* Knowledge Centre picks */
.hm-kc{padding:5.25rem 0}
.hm-guides{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.hm-guide{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.hm-guide img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .5s}
.hm-guide div{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:1.2rem 1.4rem 1.35rem}
.hm-topic{margin-bottom:.7rem;padding:.2rem .7rem;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);font-size:.78rem;font-weight:700}
.hm-guide b{font:700 1.12rem/1.35 var(--display)}
.hm-guide small{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:.45rem;font-size:.9rem;line-height:1.55;color:var(--muted)}
.hm-guide em{margin-top:auto;padding-top:1rem;font-style:normal;font-size:.85rem;font-weight:600;color:var(--muted)}
.hm-guide:hover{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-3px)}
.hm-guide:hover img{transform:scale(1.04)}
/* FAQ */
.hm-faq .faq details{max-width:none}
@media (min-width:900px){.hm-faq .split{grid-template-columns:.75fr 1.25fr}}
/* responsive */
@media (max-width:1100px){.hm-rows small{font-size:.84rem}}
@media (max-width:900px){
  .hm-svc,.hm-about-grid,.hm-process-grid,.hm-why-grid{grid-template-columns:1fr}
  .hm-feature{min-height:24rem}
  .hm-office{max-width:34rem}
  .hm-office img{aspect-ratio:4/3;object-position:50% 62%}
  .hm-guides{grid-template-columns:1fr}
  .hm-guide{position:relative;display:block;padding-left:13rem;min-height:11rem}
  .hm-guide img{position:absolute;left:0;top:0;bottom:0;width:13rem;height:100%;aspect-ratio:auto}
  .hm-guide div{height:100%}
}
@media (max-width:600px){
  .home-hero .hero h1{font-size:1.95rem}
  .home-hero .hero .lead{font-size:1.02rem}
  .hm-quick{gap:.4rem 1.5rem;font-size:.9rem;margin-top:1rem}
  .hm-trust{margin-top:-1.75rem}
  .hm-services,.hm-about,.hm-process,.hm-why,.hm-kc{padding:2.75rem 0}
  .hm-head{margin-bottom:1.4rem;gap:.75rem}
  .hm-feature{min-height:19rem}
  .hm-feature img{object-position:62% 50%}
  .hm-feature div{padding:1.4rem 1.3rem 1.45rem}
  .hm-feature small{font-size:.93rem}
  .hm-rows{gap:.6rem}
  .hm-rows a{grid-template-columns:5.25rem 1fr auto;gap:.85rem;padding:.5rem .9rem .5rem .5rem}
  .hm-rows img{width:5.25rem;height:4.25rem}
  .hm-rows b{font-size:.98rem}
  .hm-rows small{font-size:.82rem}
  .hm-office::before{inset:.6rem -.6rem -.6rem .6rem}
  .hm-stats{grid-template-columns:1fr 1fr}
  .hm-stats li{padding:.8rem .85rem .85rem}
  .hm-stats li:last-child{grid-column:1/-1}
  .hm-stats b{font-size:1.2rem}
  .hm-stats span{font-size:.74rem}
  .hm-stage{padding:1.1rem 1rem .2rem}
  .hm-stage li{grid-template-columns:2.1rem 1fr;gap:.8rem}
  .hm-n{width:2.1rem;height:2.1rem;font-size:.88rem}
  .hm-stage li:not(:last-child)::before{left:calc(1.05rem - 1px);top:2.3rem}
  .hm-stage p{font-size:.9rem}
  .hm-feats{margin-top:1.4rem;gap:1.1rem}
  .hm-quotes{grid-template-columns:1fr;gap:.8rem}
  .hm-quotes .q-main{padding:1.4rem 1.35rem}
  .hm-guide{padding-left:7rem;min-height:9rem}
  .hm-guide img{width:7rem}
  .hm-guide div{padding:.9rem 1rem 1rem}
  .hm-guide b{font-size:.98rem}
  .hm-guide small{-webkit-line-clamp:2;font-size:.84rem}
  .hm-guide em{padding-top:.5rem;font-size:.8rem}
  .hm-topic{font-size:.7rem;margin-bottom:.5rem;white-space:nowrap}
}
