/* 2015 Security design system: daylight palette, Roboto headings, Open Sans text */
@font-face{font-family:"Roboto";src:url(/assets/fonts/roboto-latin.a47fe733.woff2) format("woff2");font-weight:500 800;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url(/assets/fonts/opensans-latin.f5a6e0ac.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
/* metric-matched local fallbacks so the swap does not shift layout */
@font-face{font-family:"Roboto Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:100.3%;ascent-override:92.77%;descent-override:24.41%;line-gap-override:0%}
@font-face{font-family:"Open Sans Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:105.13%;ascent-override:101.65%;descent-override:27.86%;line-gap-override:0%}

:root{
  --ink:#07090F;--night:#0D1424;--deep:#111B30;--navy:#012F6B;--navy-2:#0A3F86;
  --amber:#FA7C0D;--amber-hi:#FF9A3D;--amber-txt:#A84A00;--cyan:#7CECFE;
  --paper:#F4F1EA;--paper-2:#ECE7DC;--paper-3:#E3DDD0;--line-paper:#7A8090;
  --t-light:#F5F3EE;--t-dim:#AEB6C6;--t-dark:#121826;--t-mute:#4A5163;
  --head:"Roboto","Roboto Fallback",Arial,sans-serif;
  --sans:"Open Sans","Open Sans Fallback",Arial,sans-serif;
  --wrap:1320px;--gut:clamp(20px,4vw,48px);
  --r-s:12px;--r-m:20px;--r-l:32px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --glass-bg:rgba(13,20,36,.58);--glass-line:rgba(255,255,255,.14);
  --sh-clay:12px 14px 30px rgba(18,24,38,.14),-10px -10px 24px rgba(255,255,255,.85),inset 2px 2px 3px rgba(255,255,255,.8),inset -4px -5px 10px rgba(18,24,38,.06);
  --focus:0 0 0 3px var(--ink),0 0 0 6px var(--amber-hi);
  --spring:cubic-bezier(.34,1.56,.64,1);
}
@supports (transition-timing-function:linear(0,1)){:root{--spring:linear(0,.009,.035 2.1%,.141,.281 6.7%,.723 12.9%,.938 16.7%,1.017,1.077,1.121,1.149 24.3%,1.159,1.163,1.161,1.154 29.9%,1.129 32.8%,1.051 39.6%,1.017 43.1%,.991,.977 51%,.974 53.8%,.975 57.1%,.997 69.8%,1.003 76.9%,1)}}
@property --sp{syntax:"<number>";inherits:true;initial-value:0}
html{scrollbar-color:var(--amber) #05070C;scrollbar-width:thin}
*,*::before,*::after{box-sizing:border-box}
h1,h2,h3,.hero__t,.mast__t,.head__t,.feature__t,.closer__t{font-optical-sizing:auto;font-kerning:normal}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font:400 1.0625rem/1.6 var(--sans);color:var(--t-light);background:var(--ink);font-feature-settings:"kern","liga","lnum";-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
picture{display:contents}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--head);font-weight:700;line-height:1.12;letter-spacing:-.01em}
p{margin:0 0 1em}p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px}
::selection{background:var(--amber);color:var(--ink)}
.wrap{width:min(100% - 2*var(--gut),var(--wrap));margin-inline:auto}
.narrow{width:min(100% - 2*var(--gut),860px);margin-inline:auto}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--amber);color:var(--ink);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.i{width:1.2em;height:1.2em;flex:none}.i--xs{width:.9em;height:.9em}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
main:focus{outline:none}
.muted{color:var(--t-dim);font-size:.95rem;margin-top:1rem}
.big{font:400 clamp(1.2rem,1.05rem + .6vw,1.5rem)/1.42 var(--sans);letter-spacing:-.008em;margin-bottom:1rem}
.linklike{background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 0 rgba(124,236,254,.6);animation:ping 2.4s infinite}
.pulse{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--amber);animation:ping-a 1.8s infinite}
@keyframes ping{70%{box-shadow:0 0 0 9px rgba(124,236,254,0)}100%{box-shadow:0 0 0 0 rgba(124,236,254,0)}}
@keyframes ping-a{0%{box-shadow:0 0 0 0 rgba(250,124,13,.65)}70%{box-shadow:0 0 0 10px rgba(250,124,13,0)}100%{box-shadow:0 0 0 0 rgba(250,124,13,0)}}

/* placeholders for client-supplied content */
.ph{display:inline-block;background:repeating-linear-gradient(135deg,#FFF4D6 0 10px,#FFEFC4 10px 20px);color:#5B4300;border:1px dashed #B88A00;border-radius:8px;padding:.15em .5em;font:600 .78rem/1.4 var(--sans);letter-spacing:.01em}
div.ph{display:block;padding:.8em 1em;margin:1rem 0}
.ph--fact b{color:#8A1F00}

/* type */
.kicker{display:inline-flex;align-items:center;gap:.6em;margin:0 0 1.1rem;font:600 .74rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--t-dim)}
.kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.kicker--live::before{display:none}
.band--paper .kicker{color:var(--t-mute)}
.head{max-width:44rem;margin-bottom:clamp(28px,4vw,52px)}
.head--center{margin-inline:auto;text-align:center}
.head__t{font:700 clamp(2.1rem,1.3rem + 2.8vw,3.75rem)/1.02 var(--head);letter-spacing:-.01em}
.head__lead{margin-top:1rem;color:var(--t-dim);font-size:1.08rem;max-width:34rem}
.band--paper .head__lead{color:var(--t-mute)}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,52px)}
.head-row .head{margin-bottom:0}

/* buttons */
.btn{--bg:transparent;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.8em 1.35em;border-radius:999px;border:1px solid transparent;background:var(--bg);font:600 .98rem/1 var(--sans);letter-spacing:.01em;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;transition:transform .35s var(--ease),background-color .25s,border-color .25s,color .25s}
.btn .i{transition:transform .35s var(--ease)}
.btn:hover .i:last-child{transform:translateX(3px)}
.btn--amber{--bg:var(--amber);color:var(--ink);box-shadow:0 10px 30px -10px rgba(250,124,13,.65),inset 0 1px 0 rgba(255,255,255,.35)}
.btn--amber::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn--amber:hover::after{transform:translateX(120%)}
.btn--amber:hover{background:var(--amber-hi)}
.btn--glass{--bg:rgba(255,255,255,.07);color:var(--t-light);border-color:rgba(255,255,255,.24);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn--glass:hover{--bg:rgba(255,255,255,.14);border-color:rgba(255,255,255,.45)}
.btn--line{color:var(--t-dark);border-color:var(--t-dark)}
.btn--line:hover{background:var(--t-dark);color:var(--paper)}
.btn--sm{min-height:40px;padding:.6em 1.05em;font-size:.9rem}
.btn--lg{min-height:56px;padding:1em 1.6em;font-size:1.02rem}
.btn--block{width:100%}
.btn:disabled{opacity:.6;cursor:progress}
.act{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.arrow-link{display:inline-flex;align-items:center;gap:.45em;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.arrow-link .i{transition:transform .3s var(--ease)}
.arrow-link:hover .i{transform:translate(3px,-1px)}
:root{
  --clay-ink:radial-gradient(120% 120% at 30% 22%,#2C3854 0%,#18213A 46%,#0D1322 100%);
  --sh-clay-ink:7px 9px 16px rgba(0,0,0,.55),-3px -3px 9px rgba(120,146,200,.08),inset 2px 2px 2px rgba(255,255,255,.2),inset -3px -4px 7px rgba(0,0,0,.5);
  --sh-clay-ink-hi:10px 14px 22px rgba(0,0,0,.6),-4px -4px 12px rgba(120,146,200,.1),0 0 18px -4px rgba(250,124,13,.4),inset 2px 2px 2px rgba(255,255,255,.26),inset -3px -4px 7px rgba(0,0,0,.5);
  --sh-clay-ink-in:inset 4px 5px 9px rgba(0,0,0,.6),inset -2px -2px 5px rgba(255,255,255,.07);
  --clay-amber:radial-gradient(120% 120% at 30% 22%,#FFC27E 0%,var(--amber-hi) 34%,var(--amber) 64%,#C85800 100%);
  --sh-clay-amber:5px 7px 14px rgba(0,0,0,.45),inset 2px 2px 2px rgba(255,236,212,.65),inset -3px -3px 6px rgba(150,58,0,.45);
}
/* clay icon buttons: inflated, lit from the top left; lift on hover, press in on click */
.rbtn{position:relative;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:var(--clay-ink);color:var(--amber-hi);box-shadow:var(--sh-clay-ink);cursor:pointer;transition:transform .35s var(--spring),box-shadow .25s ease,color .2s,opacity .2s}
.rbtn::before{content:"";position:absolute;inset:5px 12px auto 9px;height:38%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0));pointer-events:none}
.rbtn .i{position:relative;transition:transform .3s var(--ease)}
.rbtn:hover{transform:translateY(-2px);box-shadow:var(--sh-clay-ink-hi);color:#FFC48A}
.rbtn:active{transform:translateY(1px) scale(.97);box-shadow:var(--sh-clay-ink-in);transition-duration:.08s}
.rbtn:active::before{opacity:0}
.rbtn:focus-visible{box-shadow:var(--sh-clay-ink),var(--focus)}
.rbtn[aria-disabled="true"],.rbtn:disabled{cursor:not-allowed;transform:none;color:rgba(174,182,198,.45);background:#121A2B;box-shadow:inset 1px 1px 3px rgba(0,0,0,.5),inset -1px -1px 2px rgba(255,255,255,.04)}
.rbtn[aria-disabled="true"]::before,.rbtn:disabled::before{opacity:0}
.rbtn.js-next:not([aria-disabled="true"]):hover .i{transform:translateX(2px)}.rbtn.js-prev:not([aria-disabled="true"]):hover .i{transform:translateX(-2px)}
.band--paper .rbtn{background:radial-gradient(120% 120% at 30% 22%,#FFFFFF 0%,var(--paper) 50%,var(--paper-3) 100%);color:var(--amber-txt);box-shadow:6px 8px 14px rgba(18,24,38,.16),-5px -5px 12px rgba(255,255,255,.9),inset 2px 2px 2px rgba(255,255,255,.9),inset -3px -4px 6px rgba(18,24,38,.08)}
.band--paper .rbtn:hover{box-shadow:9px 12px 20px rgba(18,24,38,.2),-6px -6px 14px rgba(255,255,255,.95),inset 2px 2px 2px rgba(255,255,255,.9),inset -3px -4px 6px rgba(18,24,38,.08)}
.band--paper .rbtn:active{box-shadow:inset 4px 5px 9px rgba(18,24,38,.18),inset -3px -3px 7px rgba(255,255,255,.9)}
.band--paper .rbtn[aria-disabled="true"]{background:var(--paper-2);color:rgba(74,81,99,.45);box-shadow:inset 1px 1px 3px rgba(18,24,38,.12),inset -1px -1px 2px rgba(255,255,255,.7)}
.glass{background:var(--glass-bg);border:1px solid var(--glass-line);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 24px 60px -30px rgba(0,0,0,.7)}

/* header */
.bar{position:fixed;inset:12px 0 auto;z-index:50;pointer-events:none}
.bar__inner{pointer-events:auto;width:min(100% - 24px,1360px);margin-inline:auto;display:flex;align-items:center;gap:20px;padding:8px 10px 8px 8px;border-radius:18px;border:1px solid transparent;transition:background .35s,border-color .35s,box-shadow .35s}
.bar.is-solid .bar__inner{background:rgba(9,13,24,.78);border-color:rgba(255,255,255,.1);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 18px 40px -24px rgba(0,0,0,.8)}
.bar__logo{display:inline-flex;flex:none;line-height:0;border-radius:10px}
/* the mark is shown untouched; its light keyline is baked into the header raster (README section 13) so the navy reads on ink without a plate */
.bar__logo img{height:68px;width:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}
.drawer__top .bar__logo img{height:52px}
.bar__logo--lg img{height:84px}
/* Header logo motion, matched to visiontouchltd.co.uk .logo-motion: perspective on the link, rotateY on the image only.
   Load spins in from the side, then a slow yaw; hover/focus is one full barrel roll. Artwork is never redrawn. */
.bar__logo.logo-motion{perspective:640px}
/* First paint is the still logo. .is-on is added after the first frame so the entrance never holds up LCP. */
.logo-motion img{transform-style:preserve-3d;transform-origin:50% 50%;backface-visibility:hidden}
.logo-motion.is-on img{animation:logoIn .9s cubic-bezier(.22,.61,.36,1) both,logoFloat 7s ease-in-out .9s infinite}
.logo-motion:hover img,.logo-motion:focus-visible img{animation:logoSpin 1.05s cubic-bezier(.22,.61,.36,1);filter:drop-shadow(0 11px 18px rgba(250,124,13,.45))}
@keyframes logoIn{0%{opacity:1;transform:rotateY(-115deg) translateY(-5px) scale(.82)}100%{opacity:1;transform:rotateY(0) translateY(0) scale(1)}}
@keyframes logoFloat{0%{transform:rotateY(-7deg) translateY(0)}50%{transform:rotateY(7deg) translateY(-3px)}100%{transform:rotateY(-7deg) translateY(0)}}
@keyframes logoSpin{0%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}
@media (max-width:1100px){.bar__logo img{height:62px}}
@media (max-width:560px){.bar__logo img,.drawer__top .bar__logo img{height:52px}}
.nav{margin-left:auto;position:relative}
.nav__list{display:flex;align-items:center;gap:2px}
.nav__item{position:relative}
.nav__link{display:inline-flex;align-items:center;gap:.35em;padding:.65em .85em;border-radius:10px;background:none;border:0;font-weight:500;font-size:.96rem;text-decoration:none;cursor:pointer;color:var(--t-light)}
html:not(.js) .nav__link:hover,html:not(.js) .nav__item.is-open>.nav__link{background:rgba(255,255,255,.08)}
.nav__link{position:relative;z-index:1;min-height:44px;transition:color .2s}
.nav__link:focus-visible{box-shadow:none;outline:2px solid var(--amber-hi);outline-offset:0}
.nav__link .i{transition:transform .3s,color .2s}
.nav__link:hover .i,.nav__item.is-open .nav__link .i{color:var(--amber-hi)}
.nav__link[aria-current]::after,.nav__link[data-current]::after{content:"";position:absolute;left:50%;bottom:5px;width:14px;height:2px;margin-left:-7px;border-radius:2px;background:var(--amber);box-shadow:0 0 8px rgba(250,124,13,.8)}
.nav__trigger[data-current]::after{margin-left:-14px}
.nav__link[aria-current],.nav__link[data-current]{color:var(--amber-hi)}
.nav__trigger .i{transition:transform .3s}
.nav__item.is-open .nav__trigger .i{transform:rotate(180deg)}
/* desktop menus: the drawer's frosted panel, grain and sliding highlight */
.menu{position:absolute;top:calc(100% + 12px);left:50%;translate:calc(-50% + var(--mx,0px)) 0;min-width:300px;padding:18px;border-radius:22px;isolation:isolate;overflow:hidden;
  background:linear-gradient(165deg,rgba(22,34,58,.9),rgba(7,10,18,.95));backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);
  border:1px solid rgba(255,255,255,.16);box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(250,124,13,.12),0 34px 80px -28px rgba(0,0,0,.9);
  opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .35s var(--ease),visibility 0s .35s}
.menu::before{content:"";position:absolute;right:-60px;bottom:-80px;z-index:-1;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(250,124,13,.22),transparent 68%);pointer-events:none}
.menu::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.12;mix-blend-mode:overlay;background:url(/assets/ui/grain.a7769663.webp) 0 0/160px 160px}
.nav__item.is-open .menu{opacity:1;visibility:visible;transform:none;transition-delay:0s}
html:not(.js) .nav__item:hover .menu{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.menu li>a{position:relative;z-index:1}
.menu__hl,.nav__hl{position:absolute;left:0;top:0;z-index:0;width:0;height:0;border-radius:12px;pointer-events:none;overflow:hidden;opacity:0;will-change:transform;contain:layout size style;
  background:linear-gradient(180deg,rgba(255,196,138,.16),rgba(250,124,13,.07));backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,214,170,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),inset 0 0 16px rgba(250,124,13,.16),0 8px 22px -12px rgba(250,124,13,.5);transition:opacity .2s ease}
.menu__hl.is-on,.nav__hl.is-on{opacity:1}
.menu__hl i,.nav__hl i{position:absolute;left:0;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,212,.36),rgba(255,214,170,0));transform:translate3d(-200px,0,0);will-change:transform}
@media (prefers-reduced-motion:reduce){.menu{transform:none}.menu__hl,.nav__hl{transition:none}.menu__hl i,.nav__hl i{display:none}}
.menu--wide{width:min(880px,92vw)}
.menu__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.menu__head{font:600 .7rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin:4px 8px 10px}
.menu li>a{display:flex;align-items:center;gap:.6em;padding:.5em .6em;border-radius:10px;font-size:.93rem;text-decoration:none;color:#D9DEE8;transition:color .2s}
.menu li>a:hover,.menu li>a:focus-visible{color:var(--t-light)}
.menu li>a:focus-visible{box-shadow:none;outline:2px solid var(--amber-hi);outline-offset:1px;border-radius:10px}
.menu li .i{color:var(--amber);transition:color .2s,filter .2s}
.menu li>a:hover .i,.menu li>a:focus-visible .i{color:var(--amber-hi);filter:drop-shadow(0 0 6px rgba(250,124,13,.6))}
.menu__list{display:grid;grid-template-columns:1fr 1fr;gap:2px;min-width:440px}
.menu__list--plain{grid-template-columns:1fr;min-width:200px}
.menu--slim{min-width:220px}
.menu__foot{position:relative;z-index:1;margin-top:14px;border-top:1px solid rgba(255,255,255,.1);padding-top:14px}
.bar__actions{display:flex;align-items:center;gap:10px}
.bar__phone{display:inline-flex;align-items:center;gap:.55em;font-weight:600;font-size:.95rem;text-decoration:none;padding:.5em .7em;font-feature-settings:"tnum"}
.bar__icon{display:none;place-items:center;width:46px;height:46px;border-radius:15px;border:0;background:var(--clay-ink);box-shadow:var(--sh-clay-ink);cursor:pointer;color:var(--t-light);transition:transform .3s var(--spring),box-shadow .2s}
.bar__icon:hover{transform:translateY(-1px);box-shadow:var(--sh-clay-ink-hi)}
.bar__icon:active{transform:scale(.96);box-shadow:var(--sh-clay-ink-in);transition-duration:.08s}
.bar__icon:focus-visible{box-shadow:var(--sh-clay-ink),var(--focus)}
.show-sm{display:none}
@media (max-width:1180px){.bar__phone{display:none}}
@media (max-width:1020px){.nav,.bar__cta{display:none}.show-sm{display:grid}.bar__actions{margin-left:auto}}

.hb{position:relative;display:block;width:18px;height:14px}
.hb i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .22s ease,opacity .18s ease,top .22s ease}
.hb i:nth-child(1){top:0}.hb i:nth-child(2){top:6px}.hb i:nth-child(3){top:12px}
.bar__burger[aria-expanded="true"] .hb i:nth-child(1),.drawer.is-open .drawer__close .hb i:nth-child(1){top:6px;transform:rotate(45deg)}
.bar__burger[aria-expanded="true"] .hb i:nth-child(2),.drawer.is-open .drawer__close .hb i:nth-child(2){opacity:0}
.bar__burger[aria-expanded="true"] .hb i:nth-child(3),.drawer.is-open .drawer__close .hb i:nth-child(3){top:6px;transform:rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:80;background:rgba(3,5,10,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s}
.drawer.is-open{opacity:1;visibility:visible;transition-delay:0s}
.drawer__panel{position:absolute;inset:0 0 0 auto;width:min(420px,100%);display:flex;flex-direction:column;overflow:hidden;transform:translateX(104%);transition:transform .4s var(--ease);background:linear-gradient(165deg,rgba(22,34,58,.78),rgba(7,10,18,.9));backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border-left:1px solid rgba(255,255,255,.16);box-shadow:inset 1px 0 0 rgba(255,255,255,.18),-28px 0 70px rgba(0,0,0,.45);padding-top:env(safe-area-inset-top)}
.drawer.is-open .drawer__panel{transform:none}
.drawer__panel::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background:url(/assets/ui/grain.a7769663.webp) 0 0/160px 160px}
.drawer__glow{position:absolute;inset:auto -40px 40px auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(250,124,13,.38),transparent 68%);filter:blur(6px);pointer-events:none;animation:orb 9s ease-in-out infinite}
.drawer__top,.drawer__nav,.drawer__foot{position:relative;z-index:1}
.drawer__top{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;flex:none}
.drawer__close{display:grid}
.drawer__nav{padding:6px 14px 22px;scroll-padding-block:12px 22px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}
.drawer__nav>a,.drawer__nav summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));box-shadow:6px 8px 16px rgba(0,0,0,.28),inset 1px 1px 0 rgba(255,255,255,.16);font:600 1.05rem/1.2 var(--sans);letter-spacing:-.01em;text-decoration:none;cursor:pointer;list-style:none;transition:transform .15s ease,box-shadow .15s ease}
.drawer__nav>a:active,.drawer__nav summary:active{transform:scale(.98);box-shadow:inset 3px 4px 8px rgba(0,0,0,.35)}
.drawer__nav summary::-webkit-details-marker{display:none}
.drawer__nav>a{justify-content:flex-start}
.drawer__nav summary{justify-content:flex-start}.drawer__nav summary>.i{margin-left:auto}
.drawer__nav>a,.drawer__nav>details,.drawer__body a{position:relative;z-index:1}
.drawer__urgent .i{flex:none}
.drawer__nav details[open] summary .i{transform:rotate(180deg);transition:transform .25s ease}
.drawer__nav>a[aria-current]::before,.drawer__nav details.is-here>summary::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber);flex:none}
.drawer__acc{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.drawer__acc.is-open{grid-template-rows:1fr}
.drawer__body{overflow:hidden;min-height:0;padding:4px 8px 8px}
.drawer__body a{display:flex;align-items:center;min-height:44px;padding:.35em 8px;text-decoration:none;color:var(--t-dim);border-radius:10px}
.drawer__body a:active{background:rgba(255,255,255,.06);color:var(--t-light)}
.drawer__body a:hover,.drawer__body a:focus-visible{color:var(--t-light)}
.drawer__sub{font:600 .7rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:12px 8px 2px;color:var(--amber)}
.drawer__urgent{color:var(--amber-hi)}
.drawer__foot{flex:none;padding:12px 14px max(18px,env(safe-area-inset-bottom));display:grid;gap:10px;background:linear-gradient(180deg,transparent,rgba(7,10,18,.55) 18%)}
.drawer__foot .btn{min-height:52px;border-radius:18px;box-shadow:6px 8px 16px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.35)}
.drawer__foot .btn:active{transform:scale(.98)}
.drawer.is-open .drawer__nav>a,.drawer.is-open .drawer__nav>details{animation:drawerIn .45s var(--ease) both}
.drawer.is-open .drawer__nav>*:nth-child(2){animation-delay:.04s}
.drawer.is-open .drawer__nav>*:nth-child(3){animation-delay:.08s}
.drawer.is-open .drawer__nav>*:nth-child(4){animation-delay:.12s}
.drawer.is-open .drawer__nav>*:nth-child(5){animation-delay:.16s}
.drawer.is-open .drawer__nav>*:nth-child(6){animation-delay:.2s}
@keyframes drawerIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
body.no-scroll{overflow:hidden}

/* moving media */
.film{position:absolute;inset:0;overflow:hidden;background:var(--night)}
.film__poster,.film__clip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film__clip{opacity:0;transition:opacity .5s ease}
.film.is-playing .film__clip{opacity:1}

/* hero */
.hero{position:relative;min-height:max(640px,100svh);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.hero__film{z-index:-2}
.hero__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,9,15,.62),rgba(7,9,15,0) 58%),linear-gradient(180deg,rgba(7,9,15,.72) 0%,rgba(7,9,15,.18) 34%,rgba(7,9,15,.35) 60%,rgba(7,9,15,.94) 100%),radial-gradient(120% 80% at 0% 100%,rgba(7,9,15,.85),transparent 60%)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:end;gap:40px;padding:140px 0 clamp(48px,8vh,96px)}
.hero__t{font:700 clamp(2.9rem,1.2rem + 6.4vw,7rem)/.95 var(--head);letter-spacing:-.02em;max-width:7.57em;text-wrap:wrap}
.hero__t em{display:block}
.hero__kw{display:flex;width:max-content;max-width:100%;letter-spacing:.16em;font-style:normal}
.hero__lead{font-size:clamp(1.05rem,1rem + .3vw,1.25rem);color:#D9DEE8;max-width:32rem;margin-top:22px}
.hero__panel{border-radius:var(--r-m);padding:18px;display:grid;gap:12px}
.hero__acs{display:grid;gap:4px;padding:14px;border-radius:14px;background:rgba(255,255,255,.06);text-decoration:none}
.hero__acs-k{display:flex;align-items:center;gap:.5em;font-weight:600;font-size:.92rem}
.hero__acs-k .i{color:var(--cyan)}
.hero__acs-v{font:600 1.3rem/1.1 var(--sans);font-feature-settings:"tnum"}
.hero__ops{display:flex;align-items:center;gap:.6em;font-size:.88rem;color:var(--t-dim);margin:0 4px}
.threat{display:flex;align-items:center;gap:.55em;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);font-size:.88rem;text-decoration:none;color:var(--t-light)}
.threat__dot{width:9px;height:9px;border-radius:50%;background:#FF5A3C;box-shadow:0 0 12px #FF5A3C}
.threat__label{color:var(--t-dim)}
.threat__value{margin-left:auto;font-weight:700;letter-spacing:.06em}
.threat[data-level=SUBSTANTIAL] .threat__dot{background:var(--amber);box-shadow:0 0 12px var(--amber)}
.threat[data-level=MODERATE] .threat__dot,.threat[data-level=LOW] .threat__dot{background:#5CD68A;box-shadow:0 0 12px #5CD68A}
.motion{position:absolute;right:var(--gut);bottom:18px;display:inline-flex;align-items:center;gap:.45em;padding:.5em .8em;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(7,9,15,.45);font-size:.8rem;cursor:pointer;color:var(--t-light)}
.motion .i{width:1em;height:1em}
@media (max-width:900px){.hero__grid{grid-template-columns:1fr;gap:22px;padding-top:120px}.hero__panel{grid-template-columns:1fr 1fr}.hero__ops{display:none}.motion{display:none}}
@media (max-width:560px){.hero__panel{grid-template-columns:1fr;padding:12px;gap:8px;max-width:480px}.hero__acs{padding:10px 12px}.hero__acs-v{font-size:1.2rem}.threat{padding:10px 12px}}

/* accreditation ticker */
.ticker{position:relative;display:flex;align-items:center;gap:20px;padding:22px 0;background:var(--paper);color:var(--t-dark);overflow:hidden}
.ticker__lane{display:flex;flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker__set{display:flex;align-items:center;gap:56px;padding-right:56px;flex:none;animation:slide 38s linear infinite}
@media (max-width:760px){.ticker{padding:14px 0}.ticker__set{gap:30px;padding-right:30px}.ticker__set img{height:40px}.ticker__more{margin-right:12px;padding:.5em .7em;font-size:.8rem}}
.ticker__set img{height:54px;width:auto;mix-blend-mode:multiply;filter:saturate(.9)}
.ticker:hover .ticker__set,.ticker:focus-within .ticker__set,.is-still .ticker__set{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-100%)}}
.ticker__more{flex:none;margin-right:var(--gut);white-space:nowrap;display:inline-flex;align-items:center;gap:.4em;font-weight:600;font-size:.9rem;text-decoration:none;padding:.6em 1em;border-radius:999px;border:1px solid rgba(18,24,38,.3)}

/* bands */
.band{position:relative;padding:clamp(72px,9vw,136px) 0}
.band--tight{padding:clamp(56px,6vw,92px) 0}
.band--flush{padding-top:clamp(40px,5vw,72px)}
.band--navy{background:radial-gradient(90% 60% at 100% 0%,rgba(1,47,107,.35),transparent 60%),var(--ink)}
.band--navy+.band--navy{border-top:1px solid rgba(255,255,255,.06)}
.band--paper{background:var(--paper);color:var(--t-dark)}
.band--paper+.band--paper{padding-top:0}
.band--paper a:not(.btn):not(.ctile):not(.tile):not(.scard):not(.bento__i){color:var(--t-dark)}

/* rail (carousel) */
.rail{position:relative}
.rail{--per:4;--gap:18px}
@media (max-width:1199px){.rail{--per:3}}
@media (max-width:899px){.rail{--per:2}}
@media (max-width:599px){.rail{--per:1}.rail .tile{aspect-ratio:4/4.5}}
/* whole cards only: columns are sized so exactly --per cards fill the centred track */
.rail__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));gap:var(--gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 0 12px;scroll-padding-inline:0;border-radius:var(--r-m)}
.rail__track>*{scale:calc(1 - var(--out,0) * .08);opacity:calc(1 - var(--out,0) * .75 - var(--in,0) * .25);transform-origin:100% 55%;will-change:scale,opacity}
.rail--fit .rail__track{justify-content:center}.rail--fit .rail__ctl{display:none}
.rail__track::-webkit-scrollbar{display:none}
.rail__track>*{scroll-snap-align:start}
.rail__ctl{display:flex;align-items:center;gap:12px;margin-top:22px}
.rail__meter{flex:1;height:4px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden;max-width:420px;box-shadow:inset 0 1px 1px rgba(0,0,0,.35)}
.rail__meter span{display:block;height:100%;width:100%;border-radius:4px;background:linear-gradient(90deg,#B85400,var(--amber) 60%,#FFC48A);box-shadow:0 0 12px rgba(250,124,13,.55);transform-origin:0 50%;transform:scaleX(var(--p,.15));transition:transform .45s var(--ease)}
.band--paper .rail__meter{background:rgba(18,24,38,.1);box-shadow:inset 0 1px 1px rgba(18,24,38,.15)}
.rail--quotes{--per:3}
@media (max-width:1099px){.rail--quotes{--per:2}}

.tile{position:relative;display:block;aspect-ratio:3/4.1;border-radius:var(--r-m);overflow:hidden;text-decoration:none;color:var(--t-light);background:var(--deep);isolation:isolate;transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .5s var(--ease)}
.tile__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,9,15,.1) 30%,rgba(7,9,15,.9) 100%)}
.tile:hover .tile__img img{transform:scale(1.07)}
.tile__ic{position:absolute;top:14px;left:14px;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(7,9,15,.5);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--amber)}
.tile__go{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--clay-amber);color:var(--ink);box-shadow:var(--sh-clay-amber);transform:scale(.6);opacity:0;transition:transform .45s var(--spring),opacity .3s}
.tile__go::before,.bento__go::before{content:"";position:absolute;inset:4px 11px auto 8px;height:36%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,0));pointer-events:none}
.tile__go .i,.bento__go .i{position:relative;transition:transform .35s var(--spring)}
.tile:hover .tile__go .i,.tile:focus-visible .tile__go .i,.bento__i:hover .bento__go .i,.bento__i:focus-visible .bento__go .i{transform:translate(2px,-2px)}
.tile:active .tile__go,.bento__i:active .bento__go{box-shadow:inset 3px 4px 7px rgba(150,58,0,.55),inset -2px -2px 4px rgba(255,236,212,.4)}
.tile:hover .tile__go,.tile:focus-visible .tile__go{transform:none;opacity:1}
.tile__body{position:absolute;inset:auto 18px 18px;display:grid;gap:6px}
.tile__t{font:600 1.32rem/1.12 var(--sans);letter-spacing:-.012em}
.tile__d{font-size:.92rem;color:#D3D8E2}

/* standard / 3D figure */
.standard{overflow-x:clip}
.standard__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.standard__fig{position:sticky;top:110px}
.turn{margin:0;position:relative;max-width:400px;margin-inline:auto}
.turn::before{content:"";position:absolute;inset:8% -6% 10%;border-radius:50%;background:radial-gradient(closest-side,rgba(1,47,107,.16),rgba(1,47,107,.04) 70%,transparent),conic-gradient(from 200deg,transparent,rgba(250,124,13,.18),transparent 40%);filter:blur(2px)}
.turn::after{content:"";position:absolute;inset:4% 2% 14%;border-radius:50%;border:1px dashed rgba(18,24,38,.18)}
.turn__stage{position:relative;aspect-ratio:3/4;z-index:1;cursor:grab;touch-action:pan-y}
.turn__stage:active{cursor:grabbing}
.turn__still img,.turn__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.turn__sprite{position:absolute;inset:0;background-repeat:no-repeat;background-size:2400% 100%;opacity:0}
.turn.is-live .turn__sprite{opacity:1}
.turn.is-live .turn__stage img{opacity:0}
.turn__floor{height:22px;margin:-30px auto 0;width:52%;border-radius:50%;background:radial-gradient(closest-side,rgba(18,24,38,.32),transparent);position:relative}
.turn__cap{display:flex;justify-content:space-between;margin-top:14px;font-size:.8rem;color:var(--t-mute);letter-spacing:.04em}
.turn__cap span{display:inline-flex;align-items:center;gap:.4em}
.pillars{display:grid;gap:4px;margin-bottom:36px}
.pillars li{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-top:1px solid rgba(18,24,38,.14)}
.pillars h3{font:600 1.16rem/1.25 var(--sans);letter-spacing:-.006em;margin-bottom:4px}
.pillars p{color:var(--t-mute);margin:0}
.pillars--grid{grid-template-columns:repeat(3,1fr);column-gap:32px}
.pill-ic{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:16px;background:var(--paper);color:var(--navy);box-shadow:var(--sh-clay)}
.band--navy .pill-ic{background:rgba(255,255,255,.06);color:var(--amber);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}
.chip{display:grid;gap:6px;padding:20px 20px 18px;border-radius:24px;background:var(--paper);color:var(--t-dark);box-shadow:var(--sh-clay)}
.chip b{font:700 clamp(1.7rem,1.3rem + 1vw,2.3rem)/1 var(--head);color:var(--navy);font-feature-settings:"lnum","tnum"}
.chip span{font-size:.86rem;color:var(--t-mute)}
.chips--wrap{display:flex;flex-wrap:wrap}
.chip--ic{display:flex;align-items:center;gap:.7em;padding:16px 22px;border-radius:999px;font-weight:600}
.chip--ic .i{color:var(--amber-txt)}
.chip--ic span{font-size:1rem;color:var(--t-dark)}
.chip--ph{opacity:.85}

/* bento */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(170px,15vw,230px);gap:14px}
.bento__i{position:relative;overflow:hidden;border-radius:var(--r-m);text-decoration:none;color:var(--t-light);isolation:isolate;background:var(--deep);transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .5s var(--ease)}
.bento__i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.1s var(--ease)}
.bento__i::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(200deg,rgba(7,9,15,0) 30%,rgba(7,9,15,.88) 100%)}
.bento__i:hover img{transform:scale(1.06)}
.bento__c{position:absolute;inset:auto 18px 16px;display:grid;gap:4px}
.bento__ic{color:var(--amber);margin-bottom:4px}
.bento__t{font:600 1.2rem/1.15 var(--sans);letter-spacing:-.01em}
.bento__d{font-size:.88rem;color:#D3D8E2;max-height:0;opacity:0;transition:max-height .45s var(--ease),opacity .35s}
.bento__i:hover .bento__d,.bento__i:focus-visible .bento__d,.bento__i:nth-child(1) .bento__d{max-height:3em;opacity:1}
.bento__go{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(13,20,36,.35);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:inset 1px 1px 0 rgba(255,255,255,.28),0 8px 18px -8px rgba(0,0,0,.6);transition:background .3s,color .3s,box-shadow .3s,transform .4s var(--spring)}
.bento__i:hover .bento__go,.bento__i:focus-visible .bento__go{background:var(--clay-amber);color:var(--ink);border-color:transparent;box-shadow:var(--sh-clay-amber);transform:translateY(-2px)}
.bento__i:nth-child(1){grid-area:1/1/3/3}.bento__i:nth-child(1) .bento__t{font-size:clamp(1.6rem,1.2rem + 1.2vw,2.4rem)}
.bento__i:nth-child(2){grid-area:1/3/3/4}.bento__i:nth-child(3){grid-area:1/4/2/5}.bento__i:nth-child(4){grid-area:2/4/3/5}
.bento__i:nth-child(5){grid-area:3/1/4/2}.bento__i:nth-child(6){grid-area:3/2/4/4}.bento__i:nth-child(7){grid-area:3/4/5/5}.bento__i:nth-child(8){grid-area:4/1/5/4}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.bento__i:nth-child(n){grid-area:auto}.bento__i:nth-child(1),.bento__i:nth-child(8){grid-column:span 2}.bento__d{max-height:3em;opacity:1}}
@media (max-width:560px){.bento{grid-template-columns:1fr;grid-auto-rows:170px}.bento__i:nth-child(1),.bento__i:nth-child(8){grid-column:auto}.bento__i:nth-child(1){grid-row:span 2}}

/* timeline */
.tl{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s}
.tl::before{content:"";position:absolute;left:0;right:0;top:27px;height:1px;background:linear-gradient(90deg,var(--amber),rgba(250,124,13,.15));transform-origin:0 50%;transform:scaleX(0);transition:transform 1.6s var(--ease)}
.tl.is-in::before{transform:scaleX(1)}
.tl__s{position:relative}
.tl__n{position:absolute;top:-34px;left:0;font:700 1.45rem/1 var(--head);letter-spacing:.02em;color:var(--amber-txt);font-feature-settings:"lnum","tnum"}
.band--navy .tl__n{color:var(--amber)}
.tl__ic{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--paper);color:var(--navy);box-shadow:var(--sh-clay);margin-bottom:22px}
.band--navy .tl__ic{background:var(--deep);color:var(--amber);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 0 8px var(--ink)}
.tl h3{font:600 1.24rem/1.2 var(--sans);letter-spacing:-.01em;margin-bottom:6px}
.tl p{color:var(--t-mute);font-size:.98rem;margin:0}
.band--navy .tl p{color:var(--t-dim)}
@media (max-width:820px){.tl{grid-template-columns:1fr;gap:34px;padding-left:76px}.tl::before{left:27px;right:auto;top:0;bottom:0;width:1px;height:auto;transform:scaleY(0);transform-origin:50% 0;background:linear-gradient(180deg,var(--amber),rgba(250,124,13,.15))}.tl.is-in::before{transform:scaleY(1)}.tl__ic{position:absolute;left:-76px;top:0;margin:0}.tl__n{position:static;display:block;margin-bottom:8px}}

/* video feature band */
.feature{position:relative;min-height:clamp(420px,62vw,640px);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.feature__film{z-index:-2}
.feature__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(7,9,15,.92),rgba(7,9,15,.15) 70%)}
.feature__copy{padding:clamp(48px,7vw,96px) 0}
.feature--short{min-height:clamp(360px,44vw,520px)}
.mast__frame .film-note{top:auto;bottom:84px}
.film-note{position:absolute;top:16px;right:16px;z-index:2;padding:4px 10px;border-radius:999px;background:rgba(7,9,15,.62);color:#D3D8E2;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}
.feature .film-note{top:auto;bottom:20px;right:clamp(16px,3vw,48px)}
.feature__t{font:700 clamp(2.4rem,1.4rem + 4vw,5.2rem)/.98 var(--head);max-width:8.83em;margin-bottom:28px}

/* reviews */
.quote{margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:28px;border-radius:var(--r-l);background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);min-height:100%}
.quote blockquote{margin:0;position:relative}
.quote blockquote::before{content:"\201C";position:absolute;top:-.35em;left:-.05em;font:700 5rem/1 var(--head);color:var(--amber);opacity:.55}
@media (max-width:699px){.rail--quotes{--per:1}}
.quote p{padding-top:1.6rem;font:400 1.12rem/1.55 var(--sans);color:#E3E7EF}
.quote figcaption{display:flex;align-items:center;gap:12px}
.quote figcaption strong{display:block;font-weight:600}
.quote figcaption small{color:var(--t-dim);font-size:.82rem}
.quote__av{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--navy);font-weight:700;font-size:.85rem;color:#fff;flex:none}
.quotes{columns:2 340px;column-gap:20px}
.quotes .quote{break-inside:avoid;margin-bottom:20px}
.greviews{margin-top:24px}

/* now / short notice */
.now__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.bigcall{display:inline-flex;align-items:center;gap:16px;margin:26px 0 22px;padding:16px 26px 16px 18px;border-radius:999px;background:var(--ink);color:var(--t-light)!important;text-decoration:none;box-shadow:0 20px 40px -20px rgba(7,9,15,.7)}
.bigcall .i{width:46px;height:46px;padding:11px;border-radius:50%;background:var(--amber);color:var(--ink)}
.bigcall>span{display:grid;gap:6px;font:700 clamp(1.6rem,1.2rem + 1.4vw,2.4rem)/1 var(--head);font-feature-settings:"lnum","tnum"}
.bigcall{transition:transform .5s var(--spring),box-shadow .5s}
.bigcall:hover,.bigcall:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 4px rgba(250,124,13,.12),0 24px 50px -20px rgba(250,124,13,.45)}
.bigcall__n{font-weight:500}
.bigcall small{font:600 .72rem/1.6 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--t-dim)}
.mast .bigcall{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}

/* soft (neumorphic) surfaces + forms */
.soft{background:var(--paper-2);color:var(--t-dark);border-radius:var(--r-l);padding:clamp(22px,3vw,36px);box-shadow:16px 18px 40px rgba(18,24,38,.14),-12px -12px 30px rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.6)}
.band--navy .soft,.mast .soft{box-shadow:0 30px 70px -30px rgba(0,0,0,.8);border-color:rgba(255,255,255,.08)}
.soft a:not(.btn){color:var(--t-dark)}
.panel__t{font:600 1.36rem/1.15 var(--sans);letter-spacing:-.012em;margin-bottom:4px}
.panel__sub{color:var(--t-mute);font-size:.95rem;margin-bottom:20px}
.field{display:grid;gap:7px;margin-bottom:16px}
.field label,.label{font-weight:600;font-size:.9rem;color:var(--t-dark)}
.opt-l{font-weight:400;color:var(--t-mute)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:.75em 1em;border-radius:14px;border:1px solid var(--line-paper);background:var(--paper);color:var(--t-dark);box-shadow:inset 3px 3px 7px rgba(18,24,38,.1),inset -3px -3px 7px rgba(255,255,255,.9);transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:110px;resize:vertical}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--t-dark) 50%),linear-gradient(135deg,var(--t-dark) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 15px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2.4em}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:inset 2px 2px 5px rgba(18,24,38,.08),0 0 0 3px rgba(1,47,107,.35)}
.field input::placeholder,.field textarea::placeholder{color:#6B7181}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field--check{display:flex;align-items:flex-start;gap:12px;font-size:.9rem}
.field--check input{flex:none;width:22px;height:22px;min-height:0;margin-top:2px;padding:0;accent-color:var(--navy);box-shadow:none}
.field--check label{font-weight:400}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:#B3261E}
.field__err{color:#B3261E;font-size:.85rem;font-weight:600}
.form__status{margin-top:14px;font-size:.95rem}
.form__status:empty{display:none}
.form__status.is-err,.form__status .err{padding:12px 14px;border-radius:12px;background:#FCE8E6;color:#7A1810}
.form__status.is-demo{padding:12px 14px;border-radius:12px;background:#FFF4D6;color:#5B4300}
.form__msg{padding:12px 14px;border-radius:12px;background:#E5F4EA;color:#14532D}
.form__msg--err{background:#FCE8E6;color:#7A1810}
.form__status .ok{padding:12px 14px;border-radius:12px;background:#E5F4EA;color:#14532D}
.qform .btn,.cform .btn{margin-top:6px}
.alert{display:flex;gap:12px;padding:14px;border-radius:14px;background:#FFE9D6;color:#5A2600;margin:4px 0 16px}
.alert a{color:#5A2600!important;font-weight:700}
.pform__progress{height:4px;border-radius:4px;background:var(--paper-3);overflow:hidden;margin-bottom:16px}
.pform__bar{display:block;height:100%;width:33%;background:var(--navy);border-radius:4px;transition:width .4s var(--ease)}
.pform__steps-nav{display:flex;gap:18px;margin-bottom:24px;font-size:.85rem;color:var(--t-mute);counter-reset:n}
.pform__steps-nav li{counter-increment:n;display:flex;align-items:center;gap:.5em}
.pform__steps-nav li::before{content:counter(n);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-paper);font:700 1rem/1 var(--head);font-feature-settings:"lnum","tnum"}
.pform__steps-nav li.is-active{color:var(--t-dark);font-weight:600}
.pform__steps-nav li.is-active::before{background:var(--navy);border-color:var(--navy);color:#fff}
.pform__steps-nav li.is-done::before{content:"\2713";background:var(--paper-3)}
.pstep{border:0;margin:0;padding:0;min-width:0}
.js .pstep:not(.is-active){display:none}
.pstep__title{font:600 1.42rem/1.15 var(--sans);letter-spacing:-.014em;margin-bottom:6px;padding:0}
.pstep__hint{color:var(--t-mute);margin-bottom:18px}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:flex;align-items:center;gap:.6em;min-height:54px;padding:.7em .9em;border-radius:14px;background:var(--paper);border:1px solid rgba(18,24,38,.18);box-shadow:4px 4px 10px rgba(18,24,38,.08),-4px -4px 10px rgba(255,255,255,.9);cursor:pointer;font-size:.93rem;font-weight:500;transition:box-shadow .2s,border-color .2s,background .2s}
.opt span .i{color:var(--navy)}
.opt input:checked+span{border-color:var(--navy);background:#E4EAF3;box-shadow:inset 3px 3px 7px rgba(18,24,38,.12),inset -3px -3px 7px rgba(255,255,255,.8)}
.opt input:focus-visible+span{box-shadow:var(--focus)}
.seg{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border-radius:16px;background:var(--paper-3);box-shadow:inset 3px 3px 7px rgba(18,24,38,.1),inset -3px -3px 7px rgba(255,255,255,.7)}
.seg label{flex:1;position:relative}
.seg input{position:absolute;opacity:0}
.seg span{display:block;text-align:center;padding:.7em .8em;border-radius:12px;cursor:pointer;font-weight:600;font-size:.9rem}
.seg input:checked+span{background:var(--paper);box-shadow:4px 4px 10px rgba(18,24,38,.12),-2px -2px 6px rgba(255,255,255,.9);color:var(--navy)}
.seg input:focus-visible+span{box-shadow:var(--focus)}
.visit{padding:14px 16px;border-radius:16px;border:1px dashed var(--line-paper);margin-top:6px}
.visit .field{margin-bottom:0}
.visit__when{display:none;margin-top:12px!important}
.visit.is-on .visit__when{display:grid}
.pform__summary dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:.9rem;padding:12px 14px;border-radius:12px;background:var(--paper);margin:0 0 6px}
.pform__summary dt{color:var(--t-mute)}.pform__summary dd{margin:0;font-weight:600}
.pform__nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.pform__nav .js-submit,.pform__nav .js-next-step{margin-left:auto}

/* FAQ / accordions */
.split-faq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.acc{border-top:1px solid rgba(18,24,38,.16)}
.acc__i{border-bottom:1px solid rgba(18,24,38,.16)}
.band--navy .acc,.band--navy .acc__i,.acc--dark,.acc--dark .acc__i{border-color:rgba(255,255,255,.14)}
.acc__i summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 12px;margin-inline:-10px;cursor:pointer;list-style:none;font:600 1.14rem/1.35 var(--sans);letter-spacing:-.006em;color:inherit}
.acc__i summary:hover{color:var(--navy-2)}
.band--navy .acc__i summary:hover,.acc--dark .acc__i summary:hover{color:var(--amber-hi)}
.acc__i summary::-webkit-details-marker{display:none}
/* accordion toggle: small clay disc; lifts with the row, presses in when open, + turns into - */
.acc__x{--ax-bg:radial-gradient(120% 120% at 30% 22%,#FFFFFF 0%,var(--paper) 52%,var(--paper-3) 100%);--ax-sh:4px 5px 10px rgba(18,24,38,.14),-4px -4px 9px rgba(255,255,255,.9),inset 1px 1px 1px rgba(255,255,255,.9),inset -2px -3px 5px rgba(18,24,38,.08);--ax-sh-hi:6px 8px 14px rgba(18,24,38,.18),-5px -5px 11px rgba(255,255,255,.95),inset 1px 1px 1px rgba(255,255,255,.9),inset -2px -3px 5px rgba(18,24,38,.08);--ax-sh-in:inset 3px 3px 6px rgba(18,24,38,.18),inset -3px -3px 6px rgba(255,255,255,.9);
  position:relative;flex:none;width:36px;height:36px;border-radius:50%;background:var(--ax-bg);box-shadow:var(--ax-sh);color:var(--amber-txt);transition:translate .35s var(--spring),box-shadow .3s ease,color .2s}
.band--navy .acc__x,.band--navy .acc__x,.acc--dark .acc__x{--ax-bg:var(--clay-ink);--ax-sh:var(--sh-clay-ink);--ax-sh-hi:var(--sh-clay-ink-hi);--ax-sh-in:var(--sh-clay-ink-in);color:var(--amber-hi)}
.acc__x::before,.acc__x::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:currentColor;transition:transform .45s var(--spring)}
.acc__x::after{transform:rotate(90deg)}
details>summary:hover .acc__x{translate:0 -2px;box-shadow:var(--ax-sh-hi)}
details[open]>summary .acc__x{translate:0 0;box-shadow:var(--ax-sh-in)}
details[open]>summary .acc__x::before{transform:rotate(180deg)}
details[open]>summary .acc__x::after{transform:rotate(180deg)}
details>summary:active .acc__x{box-shadow:var(--ax-sh-in);transition-duration:.08s}
/* keyboard-only focus ring on disclosure rows */
summary:focus:not(:focus-visible){outline:none;box-shadow:none}
.acc__i summary:focus-visible,.cert summary:focus-visible,.rm__more summary:focus-visible{box-shadow:none;outline:2px solid var(--amber-txt);outline-offset:0;border-radius:14px}
.band--navy .acc__i summary:focus-visible,.band--navy .acc__i summary:focus-visible,.acc--dark .acc__i summary:focus-visible,.band--navy .cert summary:focus-visible,.rm--dark .rm__more summary:focus-visible{outline-color:var(--amber-hi)}
@media (prefers-reduced-motion:reduce){details>summary:hover .acc__x{translate:none}}
.acc__b{padding:0 2px 22px;color:var(--t-mute);max-width:46rem}
.band--navy .acc__b{color:var(--t-dim)}
.acc--inline{margin-top:40px}
.ticks{display:grid;gap:8px;margin:8px 0 12px}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks .i{color:var(--amber-txt);margin-top:3px}
.band--navy .ticks .i{color:var(--amber)}

/* footer */
.closer{background:linear-gradient(135deg,var(--navy),#04193D 60%,var(--ink));padding:clamp(64px,8vw,120px) 0;position:relative;overflow:hidden}
.closer::before{content:"";position:absolute;right:-10%;top:-40%;width:60%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(124,236,254,.15);box-shadow:0 0 0 60px rgba(124,236,254,.03),0 0 0 120px rgba(124,236,254,.02)}
.closer__inner{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.closer__t{font:700 clamp(2.2rem,1.3rem + 3vw,4.2rem)/1 var(--head);max-width:10.09em}
.closer__act{display:flex;gap:12px;flex-wrap:wrap}
.foot{background:var(--ink);padding:64px 0 40px;color:var(--t-dim);font-size:.94rem}
.foot__top{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot__reach{display:grid;justify-items:end;gap:14px;text-align:right}
.foot__meta{margin:0;padding-right:8px;font-size:.88rem;letter-spacing:.01em}
.callcard{position:relative;display:inline-flex;align-items:center;gap:18px;padding:10px 28px 10px 10px;border-radius:999px;color:var(--t-light);text-decoration:none;text-align:left;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 24px 48px -28px rgba(0,0,0,.9);transition:border-color .4s,box-shadow .5s,transform .5s var(--spring)}
.foot a.callcard:hover,.callcard:hover,.callcard:focus-visible{text-decoration:none;border-color:rgba(250,124,13,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 4px rgba(250,124,13,.08),0 24px 60px -24px rgba(250,124,13,.55);transform:translateY(-2px)}
.callcard__ic{position:relative;display:grid;place-items:center;flex:none;width:58px;height:58px;border-radius:50%;color:var(--ink);background:linear-gradient(145deg,var(--amber-hi),var(--amber));box-shadow:inset 2px 2px 4px rgba(255,255,255,.45),inset -3px -3px 7px rgba(160,70,0,.4),0 10px 24px -8px rgba(250,124,13,.65)}
.callcard__ic .i{width:22px;height:22px;transition:transform .5s var(--spring)}
.callcard:hover .callcard__ic .i{transform:rotate(-12deg) scale(1.08)}
.callcard__ping{position:absolute;inset:0;border-radius:50%;border:1px solid var(--amber);animation:ping 2.8s var(--ease) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.75}80%,100%{transform:scale(1.55);opacity:0}}
.callcard__body{display:grid;gap:8px}
.callcard__k{display:inline-flex;align-items:center;gap:8px;font:600 .72rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--amber-hi)}
.callcard__dot{width:7px;height:7px;border-radius:50%;background:#3DDC84;box-shadow:0 0 0 3px rgba(61,220,132,.18),0 0 10px rgba(61,220,132,.7)}
.callcard__n,.bigcall__n{position:relative;display:inline-flex;gap:.34em;font:700 clamp(1.55rem,1.25rem + 1vw,2.2rem)/1 var(--head);letter-spacing:.015em;font-feature-settings:"lnum","tnum";white-space:nowrap}
.callcard__n::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;border-radius:1px;background:linear-gradient(90deg,var(--amber),rgba(250,124,13,0));transform:scaleX(.22);transform-origin:0 50%;transition:transform .7s var(--ease)}
.callcard:hover .callcard__n::after,.callcard:focus-visible .callcard__n::after{transform:scaleX(1)}
@media (max-width:760px){.foot__reach{justify-items:start;text-align:left}.foot__meta{padding:0 0 0 8px}.callcard{padding-right:22px;gap:14px}.callcard__ic{width:50px;height:50px}}
.foot__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:40px 0}
.foot__h{font:600 .72rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--t-light);margin-bottom:16px}
.foot ul{display:grid;gap:9px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--t-light);text-decoration:underline}
.threat--foot{margin-bottom:14px}
.foot__acs{display:block;line-height:1.5}
.foot__acs .i{display:inline;vertical-align:-3px;color:var(--cyan)}
.foot__acs span{font-size:.85rem}
.foot__legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-size:.84rem}
.foot__legal ul{display:flex;flex-wrap:wrap;gap:16px}
/* agency credit */
.credit{display:grid;justify-items:center;gap:12px;margin-top:28px;padding-top:26px;text-align:center;position:relative}
.credit::before{content:"";position:absolute;top:0;left:50%;width:min(520px,80%);height:1px;translate:-50% 0;background:linear-gradient(90deg,transparent,rgba(217,168,74,.45),transparent)}
.credit__logo{display:inline-flex;line-height:0;border-radius:10px;opacity:.94;filter:drop-shadow(0 0 14px rgba(226,182,94,.16));transition:opacity .3s,transform .3s var(--ease)}
.credit__logo img{height:56px;width:auto}
.credit__logo:hover{opacity:1;transform:translateY(-1px)}
.credit__line{margin:0;font-size:.8rem;line-height:1.55;color:#979FAF;letter-spacing:.01em}
.foot .credit__line a{color:#E2B65E;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(226,182,94,.35)}
.foot .credit__line a:hover{color:#F1CB7E;border-bottom-color:currentColor;text-decoration:none}
.credits ul{list-style:none;padding:0}
.credits li{padding:10px 0;border-bottom:1px solid rgba(18,24,38,.1);margin:0}
.credits__meta{color:var(--t-mute);font-size:.88rem}
.dock{display:none}
@media (max-width:820px){
  .field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{font-size:16px}
}
@media (max-width:760px){
  .mast{padding-top:116px}
  .dock{position:fixed;z-index:40;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px;border-radius:18px;background:rgba(9,13,24,.88);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}
  .dock__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;padding:8px 4px;border-radius:12px;font-size:.74rem;font-weight:600;text-decoration:none}
  .dock__btn--call{background:var(--amber);color:var(--ink)}
  .dock__btn:active{transform:scale(.97)}
  .foot__cols{grid-template-columns:1fr 1fr}.foot__reach{text-align:left}.foot{padding-bottom:calc(128px + env(safe-area-inset-bottom))}
  .bar{top:max(8px,env(safe-area-inset-top))}
  .field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{font-size:16px}
  .hero__t{font-size:clamp(2.3rem,1rem + 8vw,7rem)}
  .mast__t{font-size:clamp(2.05rem,1.15rem + 5vw,5.4rem)}
  .table-wrap{max-width:100%}
  .callcard__n,.bigcall__n{font-size:clamp(1.35rem,6vw,2rem)}
}

/* inner masthead */
.mast{position:relative;padding:clamp(130px,15vw,190px) 0 clamp(56px,7vw,96px);background:radial-gradient(70% 90% at 85% 10%,rgba(1,47,107,.55),transparent 65%),radial-gradient(50% 60% at 0% 100%,rgba(250,124,13,.08),transparent 70%),var(--ink);overflow:hidden}
.mast::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}
.mast__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.mast--visual .mast__grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.mast__t{font:700 clamp(2.6rem,1.5rem + 4vw,5.4rem)/.98 var(--head);letter-spacing:-.015em;max-width:9.46em;text-wrap:balance}
.mast__lead{margin-top:20px;font-size:clamp(1.05rem,1rem + .25vw,1.2rem);color:#D3D8E2;max-width:36rem}
.mast--slim{padding-bottom:48px}.mast--slim .mast__t{font-size:clamp(2.2rem,1.4rem + 2.6vw,3.8rem)}
.mast__frame{position:relative;margin:0;aspect-ratio:4/4.6;border-radius:220px 220px var(--r-l) var(--r-l);overflow:hidden;background:var(--deep);box-shadow:0 40px 90px -40px rgba(0,0,0,.9)}
.mast__frame img,.mast__frame .film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.frame-chip{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;font-size:.92rem}
.frame-chip .i{color:var(--cyan);width:1.5em;height:1.5em}
.frame-chip b{font-weight:700}
.mast__sketch{margin:0;max-width:340px;justify-self:center;filter:invert(1) brightness(1.15);opacity:.92}
@media (min-width:981px){.mast__sketch{position:absolute;right:6%;top:96px;bottom:0;width:min(400px,30vw);max-width:none;margin:0;pointer-events:none}.mast__sketch img{width:100%;height:100%;object-fit:contain;object-position:50% 0}}
.mast--alert{background:radial-gradient(70% 90% at 90% 0%,rgba(250,124,13,.22),transparent 60%),var(--ink)}
.mast--alert .mast__grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;font-size:.84rem;color:var(--t-dim);margin-bottom:26px}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.jump a{display:inline-flex;padding:.55em 1em;border-radius:999px;border:1px solid rgba(255,255,255,.22);font-size:.9rem;text-decoration:none}
.jump--list li{display:contents}
.jump a:hover{background:rgba(255,255,255,.08)}
@media (max-width:980px){.mast--visual .mast__grid,.mast--alert .mast__grid{grid-template-columns:1fr}.mast__frame{max-width:520px;aspect-ratio:4/3.6;border-radius:var(--r-l)}}

/* service page */
.glance{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;align-items:start}
.glance__list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.glance__list li{display:flex;gap:12px;align-items:flex-start;padding:20px;border-radius:22px;background:var(--paper);box-shadow:var(--sh-clay);font-weight:500}
.glance__list .i{color:var(--navy);width:1.4em;height:1.4em}
.detail{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:start}
.sticky{position:sticky;top:100px}
.tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:30px}
.tags__k{margin:0 8px 0 0;font-weight:600;font-size:.85rem;color:var(--t-mute)}
.tag{display:inline-flex;align-items:center;gap:.4em;padding:.45em .8em;border-radius:999px;border:1px solid rgba(18,24,38,.2);font-size:.86rem;text-decoration:none}
.tag .i{color:var(--navy)}
@media (max-width:900px){.glance,.detail,.split-faq,.standard__grid,.now__grid{grid-template-columns:minmax(0,1fr)}.standard__fig{position:static}.sticky{position:static}.glance__list,.pillars--grid{grid-template-columns:1fr}}

/* services index */
.idx{margin-bottom:56px}
.idx__h{display:flex;align-items:center;gap:12px;font:600 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--t-mute);padding-bottom:16px;border-bottom:1px solid rgba(18,24,38,.2)}
.idx__h span{color:var(--amber-txt)}
.idx__row{position:relative;display:grid;grid-template-columns:72px 1fr 1fr 40px;align-items:center;gap:20px;padding:18px 4px;border-bottom:1px solid rgba(18,24,38,.12);text-decoration:none;transition:background .3s,padding .3s var(--ease)}
.idx__row:hover{background:var(--paper-2);padding-inline:14px}
.idx__thumb{display:block;width:72px;height:56px;border-radius:12px;overflow:hidden}
.idx__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.idx__row:hover .idx__thumb img{transform:scale(1.1)}
.idx__ic{display:none}
.idx__t{font:600 clamp(1.18rem,1rem + .55vw,1.6rem)/1.15 var(--sans);letter-spacing:-.014em}
.idx__d{color:var(--t-mute)}
.idx__go{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:radial-gradient(120% 120% at 30% 22%,#FFFFFF,var(--paper) 50%,var(--paper-3));color:var(--amber-txt);box-shadow:5px 7px 12px rgba(18,24,38,.14),-4px -4px 10px rgba(255,255,255,.9),inset 2px 2px 2px rgba(255,255,255,.9),inset -3px -3px 6px rgba(18,24,38,.08);transition:transform .4s var(--spring),box-shadow .3s,background .3s,color .3s}
.idx__go .i{transition:transform .35s var(--spring)}
.idx__row:hover .idx__go,.idx__row:focus-visible .idx__go{background:var(--clay-amber);color:var(--ink);box-shadow:6px 9px 16px rgba(168,74,0,.28),inset 2px 2px 2px rgba(255,236,212,.65),inset -3px -3px 6px rgba(150,58,0,.45);transform:translateY(-2px)}
.idx__row:hover .idx__go .i{transform:translateX(2px)}
.idx__row:active .idx__go{box-shadow:inset 3px 4px 7px rgba(150,58,0,.5)}
@media (max-width:700px){.idx__row{grid-template-columns:60px 1fr 32px;gap:14px}.idx__d{grid-column:2;grid-row:2;font-size:.9rem;margin-top:-10px}.idx__go{grid-row:1/3;grid-column:3;width:32px;height:32px}.idx__thumb{grid-row:1/3;width:60px;height:60px}}

/* sector page */
.ledger{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14)}
.ledger li{padding:28px 24px 8px 0;border-right:1px solid rgba(255,255,255,.1);margin-right:24px}
.ledger li:last-child{border-right:0}
.ledger__n{display:block;font:700 3rem/1 var(--head);color:var(--amber);margin-bottom:16px}
.ledger p{color:#D3D8E2}
@media (max-width:900px){.ledger{grid-template-columns:1fr 1fr}.ledger li:nth-child(2n){border-right:0}}
@media (max-width:560px){.ledger{grid-template-columns:1fr}.ledger li{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);margin-right:0;padding:22px 0}}
.comp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:start}
.comp__list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.comp__list li{display:flex;gap:12px;padding:18px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.comp__list .i{color:var(--cyan);margin-top:2px}
@media (max-width:900px){.comp,.comp__list{grid-template-columns:1fr}}

/* about */
.duo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.duo__body .chips{margin-top:32px}
.standard__copy .chips,.duo__body .chips{grid-template-columns:repeat(2,1fr)}
.chip b{white-space:nowrap}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.trio li{padding:28px;border-radius:var(--r-m)}
.trio h3{font:600 1.2rem/1.2 var(--sans);letter-spacing:-.008em;margin:18px 0 8px}
.trio p{color:var(--t-dim);margin:0}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.person{padding:24px;border-radius:var(--r-m);background:var(--paper-2)}
.person__ph{display:grid;place-items:center;aspect-ratio:1;border-radius:18px;background:var(--paper-3);color:var(--t-mute);margin-bottom:16px}
.person__ph .i{width:40px;height:40px}
.person__role{font:600 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--amber-txt);margin-bottom:8px}
.person h3{font:600 1.18rem/1.25 var(--sans);letter-spacing:-.008em;margin-bottom:8px}
@media (max-width:900px){.duo,.trio,.team{grid-template-columns:1fr}}

/* credentials */
.seal{display:grid;grid-template-columns:220px 1fr;gap:36px;padding:clamp(24px,4vw,44px);border-radius:var(--r-l)}
.seal__logo{display:grid;place-items:center;background:#fff;border-radius:var(--r-m);padding:20px;align-self:start}
.seal h3{font:700 clamp(1.8rem,1.4rem + 1vw,2.4rem)/1.1 var(--head);margin:10px 0 20px}
.verified{display:inline-flex;align-items:center;gap:.5em;padding:.45em .9em;border-radius:999px;background:rgba(124,236,254,.12);color:var(--cyan);font-weight:600;font-size:.86rem}
.seal__dl{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 28px;margin:0 0 20px}
.seal__dl dt{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--t-dim)}
.seal__dl dd{margin:4px 0 0;font:600 1.1rem/1.3 var(--sans)}
.seal__src{font-size:.92rem}.seal__src a{color:var(--cyan)}
.seal__fine{font-size:.86rem;color:var(--t-dim)}
@media (max-width:760px){.seal{grid-template-columns:1fr}.seal__logo{max-width:200px}.seal__dl{grid-template-columns:1fr}}
.certs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.cert{border-radius:var(--r-m);background:var(--paper);box-shadow:var(--sh-clay);padding:18px;align-self:start}
.cert__logo{display:grid;place-items:center;height:110px;background:#fff;border-radius:14px;margin-bottom:10px}
.cert__logo img{max-height:84px;width:auto}
.cert summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none;font:600 1.04rem/1.3 var(--sans);padding:10px 0;min-height:44px}
.cert summary::-webkit-details-marker{display:none}
.cert__b{font-size:.92rem;color:var(--t-mute);padding-top:8px}
.cert__dl{display:grid;gap:6px;margin:10px 0 0}
.cert__dl div{display:grid;grid-template-columns:110px 1fr;gap:8px}
.cert__dl dt{font-weight:600;color:var(--t-dark)}.cert__dl dd{margin:0}
.docs{display:grid;gap:8px;margin-bottom:24px}
.docs a{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);text-decoration:none;transition:background .25s}
.docs a:hover{background:rgba(255,255,255,.1)}
.docs a span{flex:1}
.docs--light a{background:var(--paper);border-color:rgba(18,24,38,.14)}
.docs--light a:hover{background:var(--paper-2)}
.tcard{padding:22px;border-radius:var(--r-m)}
.tcard__k{display:flex;align-items:center;gap:.5em;font-size:.86rem;color:var(--t-dim);margin-bottom:6px}
.tcard__v{font:700 2.2rem/1 var(--head);margin-bottom:14px;letter-spacing:.02em}
.tcard__scale{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:12px}
.tcard__scale li{height:6px;border-radius:3px;background:rgba(255,255,255,.12)}
.tcard__scale li span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tcard__scale li.is-below{background:rgba(250,124,13,.45)}
.tcard__scale li.is-on{background:var(--amber)}
.tcard__desc{color:#D3D8E2}
.tcard__meta{font-size:.84rem;color:var(--t-dim)}.tcard__meta a{color:var(--t-light)}

/* locations */
.atlas{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:center}
.ukmap{width:100%;max-width:440px;margin-inline:auto}
.map__dots{stroke:rgba(174,182,198,.4);stroke-width:2.6;stroke-linecap:round}
.map__pin circle{fill:var(--amber)}
.map__pin text{fill:var(--t-light);font:600 13px var(--sans)}
.map__pulse{fill:rgba(250,124,13,.25)!important;transform-box:fill-box;transform-origin:center;animation:pin 2.4s infinite}
@keyframes pin{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.2);opacity:0}}
.offices{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.office{padding:20px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.band--paper .office{background:var(--paper-2);border-color:transparent}
.office__city{font:600 1.2rem/1.15 var(--sans);letter-spacing:-.01em;margin-bottom:8px}
.office address{font-style:normal;color:var(--t-dim);font-size:.94rem;margin-bottom:12px}
.band--paper .office address{color:var(--t-mute)}
.office__links{display:flex;flex-wrap:wrap;gap:16px;font-size:.9rem}
.boroughs{display:flex;flex-wrap:wrap;gap:8px}
.boroughs li{padding:.5em .9em;border-radius:999px;background:var(--paper);box-shadow:4px 4px 10px rgba(18,24,38,.08),-4px -4px 10px rgba(255,255,255,.9);font-size:.9rem}
@media (max-width:900px){.atlas{grid-template-columns:1fr}.offices{grid-template-columns:1fr}}

/* contact / proposal / emergency */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:start}
.contact__ways{display:grid;gap:12px}
.way{display:flex;align-items:center;gap:16px;padding:18px;border-radius:20px;background:var(--paper);box-shadow:var(--sh-clay);text-decoration:none}
.way small{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--t-mute)}
.way strong{display:block;font:600 1.15rem/1.25 var(--sans);word-break:break-word}
.way__ic{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;background:var(--ink);color:var(--amber)}
.way--call .way__ic{background:var(--amber);color:var(--ink)}
.offices-mini{padding:18px 4px}
.offices-mini ul{display:grid;gap:8px}
.offices-mini li{display:flex;gap:10px;align-items:center}
.offices-mini li span{color:var(--t-mute);margin-right:auto}
.proposal{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(24px,4vw,48px);align-items:start}
.proposal__aside{display:grid;gap:18px;position:sticky;top:100px}
.alarm{display:flex;align-items:center;gap:14px;padding:20px;border-radius:20px;background:var(--ink);color:var(--t-light)!important;text-decoration:none}
.alarm span:nth-child(2){flex:1}
.next{counter-reset:n;display:grid;gap:2px}
.next{counter-reset:n 0}
.next{counter-reset:nn}
.next li{counter-increment:nn;display:flex;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid rgba(18,24,38,.12);color:var(--t-mute)}
.next li::before{content:"0" counter(nn);flex:none;min-width:1.6em;font:700 1.3rem/1 var(--head);font-feature-settings:"lnum","tnum";color:var(--amber-txt)}
.next li>span{min-width:0}
.next b{color:var(--t-dark)}
.needs{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.needs li{display:inline-flex;align-items:center;gap:.5em;padding:.55em .9em;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);font-size:.9rem}
.needs .i{color:var(--amber)}
.roles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.roles li{padding:.55em 1em;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:.92rem}
.faqcat{margin-bottom:48px}
.faqcat h2{font:600 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--t-mute);margin-bottom:8px}
@media (max-width:900px){.contact,.proposal{grid-template-columns:minmax(0,1fr)}.proposal__aside{position:static}}
@media (max-width:560px){.field-row{grid-template-columns:1fr;gap:0}.pform__steps-nav{gap:10px;font-size:.78rem}.soft{padding:20px 16px;border-radius:24px}}

[class*=__grid]>*,.proposal>*,.contact>*,.duo>*,.detail>*,.glance>*,.split-faq>*,.atlas>*,.comp>*,.planner>*{min-width:0}
.opts{grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr))}

/* planner */
.planner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.planner__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.planner__custom{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.planner__custom[hidden]{display:none}
.stepper{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:4px;border-radius:14px;border:1px solid var(--line-paper);background:var(--paper)}
.stepper button{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;border:0;background:var(--paper-2);box-shadow:3px 3px 7px rgba(18,24,38,.12),-3px -3px 7px #fff;cursor:pointer}
.stepper output{font:600 1.3rem/1 var(--sans);font-feature-settings:"tnum"}
.planner__out{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 18px}
.planner__out div{display:grid;gap:4px;padding:14px;border-radius:16px;background:var(--ink);color:var(--t-light)}
.planner__num{font:600 1.6rem/1 var(--sans);font-feature-settings:"lnum","tnum"}
.planner__lab{font-size:.78rem;color:var(--t-dim)}
.planner__price{font-weight:600}
.planner__note{font-size:.82rem;color:var(--t-mute);margin-top:12px}
@media (max-width:900px){.planner{grid-template-columns:1fr}}

/* prose (policies, facts) */
.prose{color:var(--t-dark);font-size:1.02rem}
.prose h2{font:700 1.95rem/1.15 var(--head);margin:2em 0 .6em}
.prose h3{font:600 1.1rem/1.3 var(--sans);margin:1.6em 0 .5em}
.prose ul{list-style:disc;padding-left:1.3em;margin:0 0 1em}
.prose li{margin-bottom:.4em}
.table-wrap{overflow-x:auto;margin:1.2em 0}
.prose table,.facts-table{width:100%;border-collapse:collapse;font-size:.94rem;color:var(--t-dark)}
.prose th,.prose td,.facts-table th,.facts-table td{text-align:left;padding:12px 14px;border-bottom:1px solid rgba(18,24,38,.14);vertical-align:top}
.facts-table th{width:34%;font-weight:600}

/* consent */
.consent{position:fixed;inset:auto 12px 12px;z-index:90;max-width:760px;margin-inline:auto}
.consent__inner{display:grid;gap:14px;padding:20px;border-radius:20px;background:var(--paper);color:var(--t-dark);box-shadow:0 30px 70px -20px rgba(0,0,0,.6)}
.consent__title{font:600 1.12rem/1.25 var(--sans)}
.consent__actions{display:flex;flex-wrap:wrap;gap:8px}
.switch{display:flex;gap:8px;align-items:center;margin:6px 0}

/* ---------- surfaces: each band gets its own material ---------- */
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.grain{position:relative;isolation:isolate}
.grain::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:url(/assets/ui/grain.a7769663.webp) 0 0/160px 160px;opacity:.09;mix-blend-mode:overlay}
.grain>.wrap,.grain>.closer__inner{position:relative;z-index:2}
.band--navy{background:#080B13}
.band--mesh{overflow:hidden;isolation:isolate;background:var(--night)}
.band--mesh::before{content:"";position:absolute;inset:-15%;z-index:0;pointer-events:none;background:radial-gradient(42% 46% at 12% 8%,rgba(10,63,134,.62),transparent 70%),radial-gradient(30% 36% at 88% 24%,rgba(250,124,13,.13),transparent 70%),radial-gradient(38% 44% at 62% 96%,rgba(124,236,254,.08),transparent 70%);animation:mesh 28s ease-in-out infinite alternate}
.band--mesh>.wrap{position:relative;z-index:2}
@keyframes mesh{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(4%,-3%,0) scale(1.06)}100%{transform:translate3d(-3%,3%,0) scale(1)}}
.is-still .band--mesh::before,.is-still .mast--svc::before{animation-play-state:paused}

/* scroll progress + back to top: native scrolling, nothing hijacked */
.progress{position:fixed;inset:0 0 auto;height:3px;z-index:70;pointer-events:none;overflow:hidden}
.progress__bar{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,63,134,0),var(--navy-2) 28%,var(--amber) 82%,#FFD9AE);transform:translateX(calc(var(--sp,0)*100% - 100%));will-change:transform}
.progress__bar::after{content:"";position:absolute;right:0;top:0;width:120px;height:100%;background:linear-gradient(90deg,transparent,#fff);opacity:.85}
.totop{position:fixed;right:18px;bottom:18px;z-index:44;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:var(--t-light);text-decoration:none;background:conic-gradient(var(--amber) calc(var(--sp,0)*1turn),rgba(255,255,255,.16) 0);box-shadow:0 14px 30px -12px rgba(0,0,0,.8);opacity:0;visibility:hidden;pointer-events:none;translate:0 14px;transition:opacity .35s,translate .6s var(--spring),visibility 0s .35s}
.totop::before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--clay-ink);box-shadow:inset 2px 2px 2px rgba(255,255,255,.2),inset -3px -4px 7px rgba(0,0,0,.5);transition:box-shadow .2s}
.totop:hover{box-shadow:0 18px 34px -12px rgba(0,0,0,.85),0 0 18px -4px rgba(250,124,13,.45)}
.totop:active::before{box-shadow:var(--sh-clay-ink-in)}
.totop .i{color:var(--amber-hi)}
.totop .i{position:relative;transition:transform .45s var(--spring)}
.totop:hover .i,.totop:focus-visible .i{transform:translateY(-3px)}
.totop.is-on{opacity:1;visibility:visible;pointer-events:auto;translate:0 0;transition-delay:0s}
.no-js .totop{display:none}
/* phones: back-to-top sits in the dock row, same height as the dock, fixed there; it never floats over content */
@media (max-width:760px){
  :root{--dock-h:66px;--dock-gap:8px}
  .dock{right:calc(max(10px,env(safe-area-inset-right)) + var(--dock-h) + var(--dock-gap))}
  .totop{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:var(--dock-h);height:var(--dock-h);opacity:1;visibility:visible;pointer-events:auto;translate:none;transition:none}
  .totop::before{inset:5px}
}
/* scroll progress (--sp) is set by main.js on every scroll frame; no scroll-driven animation, so it works in every browser */
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:#05070C}
::-webkit-scrollbar-thumb{border:3px solid #05070C;border-radius:12px;background:linear-gradient(180deg,var(--amber-hi),var(--amber) 50%,#C35A00)}

/* section navigator (home): only when the side gutter clears the 1320px wrap + the ~56px pill */
.dots{position:fixed;right:16px;top:50%;translate:0 -50%;z-index:45;display:none}
@media (min-width:1500px){.dots{display:block}}
.dots ol{display:grid;gap:2px;padding:10px 7px;border-radius:999px;background:rgba(7,9,15,.62);border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 40px -20px rgba(0,0,0,.8)}
.dots a{position:relative;display:grid;place-items:center;width:24px;height:24px;border-radius:12px;text-decoration:none}
.dots a::before{content:"";width:6px;height:6px;border-radius:6px;background:rgba(255,255,255,.42);transition:height .5s var(--spring),background .3s}
.dots a:hover::before{background:#fff}
.dots a[aria-current]::before{height:18px;background:var(--amber);box-shadow:0 0 12px rgba(250,124,13,.7)}
.dots__l{position:absolute;right:calc(100% + 12px);top:50%;translate:8px -50%;white-space:nowrap;padding:.4em .75em;border-radius:8px;background:var(--ink);border:1px solid rgba(255,255,255,.12);color:var(--t-light);font-size:.78rem;font-weight:600;opacity:0;pointer-events:none;transition:opacity .25s,translate .45s var(--spring)}
.dots a:hover .dots__l,.dots a:focus-visible .dots__l{opacity:1;translate:0 -50%}
.js .dots{opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}
.js .dots.is-on{opacity:1;visibility:visible;transition-delay:0s}

/* hero scroll cue */
.hero__cue{position:absolute;left:50%;bottom:22px;translate:-50% 0;display:none;width:26px;height:42px;border:1.5px solid rgba(255,255,255,.5);border-radius:14px}
.hero__cue span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:var(--amber);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
@media (min-width:901px) and (min-height:700px){.hero__cue{display:block}}

/* social tiles: amber fill, lift and tilt. The fill used to live on a ::before with z-index:-1 inside
   isolation:isolate, so it painted behind the dark background and only the focus ring (after a click) showed.
   Hover is a plain :hover, 200ms, no delay. Keyboard uses :focus-visible only, so a mouse click does not leave it lit. */
.foot .soc,.soc{display:flex;gap:14px;margin-top:20px}
.soc li{display:block}
.soc__t{position:relative;display:grid;place-items:center;width:50px;height:50px;border-radius:15px;color:var(--t-light)!important;text-decoration:none!important;background:linear-gradient(150deg,#172036,#0A0F1B);border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 8px 16px -10px rgba(0,0,0,.9);transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.soc__face{position:relative;z-index:1;display:grid;place-items:center;transition:transform .2s ease}
.soc__face .i{width:1.25em;height:1.25em}
.soc__t:focus{outline:none}
.soc__t:focus-visible{color:var(--ink)!important;text-decoration:none!important;border-color:transparent;background:linear-gradient(160deg,#FFB15A,var(--amber) 55%,#E26500);transform:translateY(-4px) rotate(-8deg);box-shadow:var(--focus),0 12px 22px -10px rgba(250,124,13,.85),0 0 16px rgba(250,124,13,.45)}
.soc__t:focus-visible .soc__face{transform:scale(1.08)}
.soc__t:active{transform:scale(.94);transition-duration:.12s}
.soc__t:hover{color:var(--ink)!important;text-decoration:none!important;border-color:transparent;background:linear-gradient(160deg,#FFB15A,var(--amber) 55%,#E26500);transform:translateY(-4px) rotate(-8deg);box-shadow:0 12px 22px -10px rgba(250,124,13,.85),0 0 16px rgba(250,124,13,.45)}
.soc__t:hover .soc__face{transform:scale(1.08)}

/* read more (progressive disclosure, still in the HTML) */
.rm__more{margin-top:.4em}
.rm__more summary{display:inline-flex;align-items:center;gap:.45em;padding:.5em 0;font-weight:600;color:var(--amber-txt);cursor:pointer;list-style:none;border-bottom:1px solid currentColor}
.rm--dark .rm__more summary{color:var(--amber-hi)}
.rm__more summary::-webkit-details-marker{display:none}
.rm__more summary .i{transition:transform .35s var(--ease)}
.rm__more[open] summary .i{transform:rotate(180deg)}
.rm__close,.rm__more[open] .rm__open{display:none}
.rm__more[open] .rm__close{display:inline}
.rm__body{padding-top:1em}
@supports (interpolate-size:allow-keywords){
  .rm__more{interpolate-size:allow-keywords}
  .rm__more::details-content{block-size:0;overflow:clip;transition:block-size .55s var(--ease),content-visibility .55s allow-discrete}
  .rm__more[open]::details-content{block-size:auto}
}

/* editorial intro (ink, grain, brushed-metal numerals) */
.intro__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.intro__copy{font-size:1.08rem;color:#D3D8E2;max-width:40rem}
.intro__copy p:first-child{font-size:clamp(1.15rem,1.05rem + .4vw,1.36rem);line-height:1.5;color:var(--t-light)}
.intro__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.intro__facts li{position:relative;display:grid;gap:6px;padding-top:16px}
.intro__facts li::before{content:"";position:absolute;inset:0 0 auto;height:2px;border-radius:2px;background:linear-gradient(90deg,#8A8F99,#F4F4F2 35%,#7E838D 60%,#D9DBDF)}
.intro__facts b{font:700 clamp(2rem,1.5rem + 1.6vw,3rem)/1 var(--head);font-feature-settings:"lnum";background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 3px),linear-gradient(170deg,#FFFFFF 0%,#B9BEC8 38%,#F2F3F5 52%,#8C929D 78%,#D5D8DD 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro__facts span{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--t-dim)}
.intro__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.intro__links a{display:inline-flex;padding:.5em .95em;border-radius:999px;border:1px solid rgba(255,255,255,.2);font-size:.9rem;font-weight:500;text-decoration:none;transition:background .3s,border-color .3s,color .3s,transform .5s var(--spring)}
.intro__links a:hover{background:var(--amber);border-color:var(--amber);color:var(--ink);transform:translateY(-2px)}
@media (max-width:900px){.intro__grid{grid-template-columns:minmax(0,1fr)}}

/* line-art cards with a cursor spotlight */
.lcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lcards--bento{grid-template-columns:repeat(6,1fr)}
.lcards--bento>:nth-child(1),.lcards--bento>:nth-child(2){grid-column:span 3}
.lcards--bento>:nth-child(n+3){grid-column:span 2}
.lcards--bento>:nth-child(6){grid-column:span 6}
.lcard{--mx:50%;--my:50%;position:relative;padding:30px 28px 28px;border-radius:24px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0));overflow:hidden;isolation:isolate;transition:border-color .35s,transform .6s var(--spring)}
.lcard::before{content:"";position:absolute;inset:12px;z-index:-1;pointer-events:none;opacity:.55;transition:inset .6s var(--spring),opacity .3s;
  background:linear-gradient(var(--amber),var(--amber)) 0 0/16px 1px,linear-gradient(var(--amber),var(--amber)) 0 0/1px 16px,
             linear-gradient(var(--amber),var(--amber)) 100% 0/16px 1px,linear-gradient(var(--amber),var(--amber)) 100% 0/1px 16px,
             linear-gradient(var(--amber),var(--amber)) 0 100%/16px 1px,linear-gradient(var(--amber),var(--amber)) 0 100%/1px 16px,
             linear-gradient(var(--amber),var(--amber)) 100% 100%/16px 1px,linear-gradient(var(--amber),var(--amber)) 100% 100%/1px 16px;background-repeat:no-repeat}
.spot::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;border-radius:inherit;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(250,124,13,.16),rgba(124,236,254,.05) 35%,transparent 60%);opacity:0;transition:opacity .4s}
.spot:hover::after{opacity:1}
.lcard:hover{border-color:rgba(250,124,13,.45);transform:translateY(-3px)}
.lcard:hover::before{inset:8px;opacity:1}
.lcard__ic{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.2);color:var(--amber);margin-bottom:22px}
.lcard__ic .i{width:1.5em;height:1.5em;stroke-width:1.5}
.js .draw .i{stroke-dasharray:130;stroke-dashoffset:130;transition:stroke-dashoffset 1.8s var(--ease) .2s}
.js .is-in .draw .i{stroke-dashoffset:0}
.lcard__k{font:600 .7rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--t-dim);margin-bottom:8px}
.lcard__t{font:700 clamp(1.4rem,1.2rem + .6vw,1.8rem)/1.12 var(--head);margin-bottom:10px}
.lcard__d{color:var(--t-dim);font-size:.98rem;margin:0}
.lcards--bento>:nth-child(6){display:grid;grid-template-columns:auto 1fr 2fr;gap:4px 28px;align-items:center}
.lcards--bento>:nth-child(6) .lcard__ic{grid-row:span 2;margin:0}
.lcards--bento>:nth-child(6) .lcard__d{grid-column:3;grid-row:1/3}
.fine{margin-top:26px;font-size:.86rem;color:var(--t-dim)}
.fine a{color:var(--t-light)}
/* glow is a soft radial behind the mark, not a filter on the image: a drop-shadow on the animated WebP was clipped to a square on composited layers */
.seal-anim{position:relative;display:block;flex:none;line-height:0;isolation:isolate}
.seal-anim::before{content:"";position:absolute;inset:-40%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(250,124,13,.26),rgba(250,124,13,.07) 60%,rgba(250,124,13,0));pointer-events:none}
.seal-anim img{width:auto;height:auto;max-width:84px}
@media (max-width:980px){.lcards,.lcards--bento{grid-template-columns:1fr 1fr}.lcards--bento>:nth-child(n){grid-column:auto}.lcards--bento>:nth-child(6){grid-column:1/-1}}
@media (max-width:620px){.lcards,.lcards--bento{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;column-gap:calc(var(--gut) + 4px);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:6px;margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);scroll-padding-inline:var(--gut)}.lcards::-webkit-scrollbar{display:none}.lcards>*{scroll-snap-align:start}.lcards--bento>:nth-child(6){grid-column:auto}.lcards--bento>:nth-child(6){display:block}.lcards--bento>:nth-child(6) .lcard__ic{margin-bottom:22px}.seal-anim img{max-width:64px}}

/* clay pillars (paper) */
.pillars--clay{gap:14px}
.pillars--clay li{padding:22px 24px;border:0;border-radius:28px;background:linear-gradient(145deg,#F8F6F1,#ECE7DC);box-shadow:var(--sh-clay);transition:transform .6s var(--spring),box-shadow .4s}
.pillars--clay li:hover{transform:translateY(-4px) scale(1.01);box-shadow:16px 20px 36px rgba(18,24,38,.16),-10px -10px 24px rgba(255,255,255,.9),inset 2px 2px 3px rgba(255,255,255,.8),inset -4px -5px 10px rgba(18,24,38,.06)}
.pillars--clay .pill-ic{border-radius:50%;background:linear-gradient(145deg,var(--amber-hi),var(--amber));color:var(--ink);box-shadow:inset 3px 3px 6px rgba(255,255,255,.45),inset -4px -4px 8px rgba(160,70,0,.35),6px 8px 16px rgba(168,74,0,.28)}

/* neumorphic process (paper) */
.band--neu .tl{padding-top:30px}
.band--neu .tl::before{top:83px}
.band--neu .tl__s{padding:26px 22px 24px;border-radius:26px;background:var(--paper);box-shadow:10px 12px 26px rgba(18,24,38,.11),-10px -10px 24px rgba(255,255,255,.95)}
.band--neu .tl__n{top:-38px}
.band--neu .tl__ic{background:var(--paper);color:var(--amber-txt);box-shadow:inset 4px 4px 9px rgba(18,24,38,.14),inset -4px -4px 9px rgba(255,255,255,.95)}
@media (max-width:820px){.band--neu .tl::before{top:30px}.band--neu .tl__ic{left:-76px;top:26px;background:var(--paper)}.band--neu .tl__n{position:static}}
/* step cards: rise on hover with a warmer, glowing icon well */
.band--neu .tl__s{transition:opacity .8s var(--ease),transform .8s var(--ease),translate .35s var(--spring),box-shadow .35s ease}
.js .band--neu .tl.is-in .tl__s:nth-child(2){transition-delay:.08s,.08s,0s,0s}.js .band--neu .tl.is-in .tl__s:nth-child(3){transition-delay:.16s,.16s,0s,0s}.js .band--neu .tl.is-in .tl__s:nth-child(4){transition-delay:.24s,.24s,0s,0s}
.band--neu .tl__ic{transition:translate .35s var(--spring),box-shadow .3s ease,color .2s}
.band--neu .tl__s:is(:hover,:focus-within){translate:0 -6px;box-shadow:16px 20px 36px rgba(18,24,38,.16),-12px -12px 28px rgba(255,255,255,1)}
.band--neu .tl__s:is(:hover,:focus-within) .tl__ic{translate:0 -2px;color:var(--amber);box-shadow:inset 3px 3px 7px rgba(18,24,38,.12),inset -3px -3px 7px rgba(255,255,255,.95),0 0 0 4px rgba(250,124,13,.1),0 0 16px rgba(250,124,13,.22)}
.band--neu .tl__s:active{translate:0 -1px;box-shadow:6px 8px 16px rgba(18,24,38,.12),-6px -6px 14px rgba(255,255,255,.95);transition-duration:.8s,.8s,.08s,.08s}
@media (prefers-reduced-motion:reduce){.band--neu .tl__s:is(:hover,:focus-within,:active),.band--neu .tl__s:is(:hover,:focus-within) .tl__ic{translate:none}}


/* pressable buttons */
.btn--amber{box-shadow:0 4px 0 #A84A00,0 14px 30px -12px rgba(250,124,13,.7),inset 0 1px 0 rgba(255,255,255,.4);transition:transform .45s var(--spring),box-shadow .3s,background-color .25s}
.btn--amber:hover{transform:translateY(-2px);box-shadow:0 6px 0 #A84A00,0 20px 34px -12px rgba(250,124,13,.75),inset 0 1px 0 rgba(255,255,255,.4)}
.btn--amber:active{transform:translateY(3px);box-shadow:0 1px 0 #A84A00,0 8px 18px -10px rgba(250,124,13,.6),inset 0 1px 0 rgba(255,255,255,.3);transition-duration:.08s}
.band--paper .rbtn,.soft .rbtn{border:0;background:var(--paper);box-shadow:5px 5px 12px rgba(18,24,38,.14),-5px -5px 12px #fff}
.band--paper .rbtn:hover{background:var(--paper)}
.band--paper .rbtn:active{box-shadow:inset 3px 3px 7px rgba(18,24,38,.16),inset -3px -3px 7px #fff}
.rbtn{transition:background .25s,transform .45s var(--spring),border-color .25s}
.rbtn:hover{border-color:var(--amber)}

/* carousels: count, drag */
.rail__count{display:inline-flex;align-items:baseline;min-width:5.4em;padding-inline:8px 6px;font:600 .9rem/1 var(--sans);letter-spacing:.08em;color:var(--t-dim);font-feature-settings:"lnum","tnum"}
.rail__count b{font:700 clamp(1.85rem,1.6rem + .7vw,2.3rem)/.9 var(--head);font-optical-sizing:auto;letter-spacing:.02em;color:var(--amber);font-feature-settings:"lnum","tnum";text-shadow:0 0 22px rgba(250,124,13,.3)}
.rail__sep{display:inline-block;align-self:center;width:1px;height:24px;margin:0 12px 0 10px;background:currentColor;opacity:.45;transform:rotate(22deg);font-size:0;color:var(--t-dim)}
.band--paper .rail__count{color:var(--t-mute)}.band--paper .rail__count b{color:var(--amber-txt)}
@media (pointer:fine){.rail__track{cursor:grab}.rail__track.is-drag{cursor:grabbing;scroll-snap-type:none;user-select:none}.rail__track.is-drag a{pointer-events:none}}

/* service tiles: spotlight + amber edge */
.tile{--mx:50%;--my:30%}
.tile::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(280px circle at var(--mx) var(--my),rgba(255,178,102,.24),transparent 60%);opacity:0;transition:opacity .4s}
.tile:hover::before,.tile:focus-visible::before{opacity:1}
.tile:hover{box-shadow:inset 0 0 0 1px rgba(250,124,13,.55),0 30px 60px -30px rgba(250,124,13,.4)}
.tile__ic{background:rgba(7,9,15,.72);backdrop-filter:none;-webkit-backdrop-filter:none}

/* sector cards (line frame) */

.scard{position:relative;display:grid;align-content:end;gap:6px;aspect-ratio:4/5;padding:24px;border-radius:24px;overflow:hidden;isolation:isolate;text-decoration:none;color:var(--t-light);background:var(--deep)}
.scard__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(.55) contrast(1.05) brightness(.9);transition:filter .7s,transform 1.1s var(--ease)}
.scard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,9,15,.05) 35%,rgba(7,9,15,.92))}
.scard::before{content:"";position:absolute;inset:10px;border-radius:16px;border:1px solid rgba(255,255,255,.22);pointer-events:none;transition:inset .6s var(--spring),border-color .3s}
.scard:hover::before,.scard:focus-visible::before{inset:16px;border-color:rgba(250,124,13,.7)}
.scard:hover img{filter:none;transform:scale(1.05)}
.scard__ic{color:var(--amber)}
.scard__t{font:600 1.25rem/1.15 var(--sans);letter-spacing:-.01em}
.scard__d{font-size:.9rem;color:#D3D8E2}

/* reviews: editorial dark cards instead of glass */
.quote{--mx:50%;--my:0%;position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#111929,#0B101B);border:1px solid rgba(255,255,255,.08);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 30px 60px -36px rgba(0,0,0,.9)}
.quote::before{content:"";position:absolute;inset:0 28px auto;height:2px;background:linear-gradient(90deg,var(--amber),transparent)}
.quote::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(360px circle at var(--mx) var(--my),rgba(124,236,254,.08),transparent 60%);opacity:0;transition:opacity .4s}
.quote:hover::after{opacity:1}

/* service overview */
.overview__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.overview__copy{color:#D3D8E2;font-size:1.06rem;max-width:42rem}
.overview__copy p:first-child{color:var(--t-light);font-size:clamp(1.12rem,1.04rem + .3vw,1.28rem);line-height:1.55}
.overview__area{display:flex;gap:10px;align-items:flex-start;color:var(--t-dim);font-size:.95rem;max-width:26rem}
.overview__area .i{color:var(--amber);margin-top:3px}
.overview__area a{color:var(--t-light);font-weight:600}
@media (max-width:900px){.overview__grid{grid-template-columns:minmax(0,1fr)}}
.mast--svc::before{content:"";position:absolute;inset:-25%;z-index:0;pointer-events:none;background:radial-gradient(30% 34% at 18% 70%,rgba(250,124,13,.12),transparent 70%),radial-gradient(36% 40% at 70% 20%,rgba(124,236,254,.07),transparent 70%);animation:mesh 24s ease-in-out infinite alternate}
.mast>.wrap{position:relative;z-index:1}

/* closing band: footage, aurora, radar sweep, service ticker */
.closer{isolation:isolate;padding:clamp(80px,10vw,150px) 0 0;background:linear-gradient(135deg,#02234F,#04193D 55%,var(--ink))}
.closer::before{inset:0;width:auto;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;z-index:-2;background:linear-gradient(90deg,rgba(2,24,58,.94),rgba(4,25,61,.7) 55%,rgba(7,9,15,.82)),linear-gradient(0deg,rgba(7,9,15,.9),transparent 40%)}
.closer__film{z-index:-3}
.closer__film .film__poster,.closer__film .film__clip{filter:saturate(.8)}
.closer__aurora{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.closer__aurora i{position:absolute;width:56vmax;aspect-ratio:1;border-radius:50%;animation:drift 22s ease-in-out infinite alternate;will-change:transform}
.closer__aurora i:nth-child(1){left:-12%;top:10%;background:radial-gradient(closest-side,rgba(250,124,13,.32),transparent)}
.closer__aurora i:nth-child(2){right:-14%;top:-40%;background:radial-gradient(closest-side,rgba(10,63,134,.85),transparent);animation-duration:28s;animation-delay:-8s}
.closer__aurora i:nth-child(3){left:35%;bottom:-60%;background:radial-gradient(closest-side,rgba(124,236,254,.16),transparent);animation-duration:34s;animation-delay:-14s}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(10%,-6%,0) scale(1.12)}100%{transform:translate3d(-8%,6%,0) scale(.94)}}
.closer__radar{position:absolute;right:-6%;top:42%;z-index:-1;width:min(640px,62vw);aspect-ratio:1;translate:0 -50%;border-radius:50%;pointer-events:none;border:1px solid rgba(124,236,254,.2);background:repeating-radial-gradient(circle,transparent 0 63px,rgba(124,236,254,.09) 64px 65px);overflow:hidden}
.closer__radar i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(124,236,254,.26),rgba(124,236,254,0) 70deg);animation:sweep 7s linear infinite}
@keyframes sweep{to{transform:rotate(1turn)}}
.closer__lane{display:flex;margin-top:clamp(48px,6vw,84px);padding:15px 0 16px;overflow:hidden;border-top:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,rgba(7,9,15,0),rgba(7,9,15,.28));position:relative;z-index:2;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent)}
.closer__set{display:flex;flex:none;align-items:center;animation:slide 95s linear infinite}
.closer__set span{display:inline-flex;align-items:center;white-space:nowrap;font:600 clamp(.72rem,.69rem + .12vw,.8rem)/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(226,231,240,.56)}
.closer__set span::after{content:"";flex:none;width:4px;height:4px;margin:0 2.4em 0 2.2em;border-radius:50%;background:var(--amber);box-shadow:0 0 8px rgba(250,124,13,.55);opacity:.9}
.closer:hover .closer__set,.is-still .closer__set,.is-still .closer__aurora i,.is-still .closer__radar i{animation-play-state:paused}
@media (max-width:760px){.closer__radar{width:90vw;right:-40%;opacity:.6}}
.foot{position:relative}

/* depth for coloured bands: parallax light planes, bevelled edges, glinting top edge, pointer tilt */
.depth{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;contain:strict}
.depth--back{z-index:-1}
.depth::after{content:"";position:absolute;inset:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 0 70px 90px -70px rgba(124,236,254,.07),inset 0 -90px 120px -80px rgba(0,0,0,.7)}
.depth__plane{position:absolute;inset:-60px;transition:transform 1.1s var(--ease)}
.depth__plane--far{transform:translate3d(calc(var(--px,0) * -12px),calc(var(--py,0) * -9px),0)}
.depth__plane--near{transform:translate3d(calc(var(--px,0) * 30px),calc(var(--py,0) * 22px),0)}
.depth__plane i{position:absolute;border-radius:50%;will-change:transform;animation:orb 16s ease-in-out infinite alternate}
.depth__plane--far i{width:clamp(180px,22vw,340px);aspect-ratio:1;background:radial-gradient(closest-side,rgba(10,63,134,.55),rgba(10,63,134,0));animation-duration:26s}
.depth__plane--far i:nth-child(1){left:6%;top:4%}
.depth__plane--far i:nth-child(2){right:10%;bottom:-6%;background:radial-gradient(closest-side,rgba(250,124,13,.16),rgba(250,124,13,0));animation-delay:-9s}
.depth__plane--far i:nth-child(3){left:46%;top:30%;background:radial-gradient(closest-side,rgba(124,236,254,.09),rgba(124,236,254,0));animation-delay:-15s}
.depth__plane--near i{width:var(--s,10px);aspect-ratio:1;background:radial-gradient(closest-side,rgba(255,214,170,.95),rgba(250,124,13,.35) 55%,rgba(250,124,13,0));filter:blur(.4px)}
.depth__plane--near i:nth-child(1){--s:9px;left:18%;top:28%;animation-duration:13s}
.depth__plane--near i:nth-child(2){--s:14px;left:72%;top:18%;animation-duration:17s;animation-delay:-6s;background:radial-gradient(closest-side,rgba(200,248,255,.9),rgba(124,236,254,.3) 55%,rgba(124,236,254,0))}
.depth__plane--near i:nth-child(3){--s:7px;left:58%;top:74%;animation-duration:11s;animation-delay:-3s}
.depth__plane--near i:nth-child(4){--s:18px;left:88%;top:60%;opacity:.6;animation-duration:19s;animation-delay:-11s}
@keyframes orb{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(26px,-34px,0) scale(1.15)}100%{transform:translate3d(-18px,18px,0) scale(.9)}}
.depth__glint{position:absolute;left:0;right:0;top:0;height:1px;overflow:hidden}
.depth__glint::after{content:"";position:absolute;top:0;left:0;width:28%;height:100%;background:linear-gradient(90deg,rgba(255,214,170,0),rgba(255,228,196,.95),rgba(255,214,170,0));transform:translateX(-110%);animation:glint 9s var(--ease) infinite}
@keyframes glint{0%,58%{transform:translateX(-110%)}100%{transform:translateX(460%)}}
[data-depth] .closer__inner,[data-depth] .feature__copy{transform:perspective(1400px) rotateX(calc(var(--py,0) * -1.6deg)) rotateY(calc(var(--px,0) * 2.2deg));transition:transform 1.1s var(--ease)}
.closer__aurora{transform:translate3d(calc(var(--px,0) * -20px),calc(var(--py,0) * -14px),0);transition:transform 1.2s var(--ease)}
.closer__radar{transform:translate3d(calc(var(--px,0) * 16px),calc(var(--py,0) * 12px),0);transition:transform 1.2s var(--ease)}
.band--mesh>.depth{z-index:1}
.is-off .depth *,.is-off .depth::after,.is-off .depth__glint::after,.is-off.band--mesh::before,.is-off .closer__aurora i,.is-off .closer__radar i,.is-off .closer__set,.is-still .depth__plane i,.is-still .depth__glint::after{animation-play-state:paused!important}

/* one-card swipe rows: position dots */
.swipedots{display:none}
@media (max-width:620px){.swipedots:not([hidden]){display:flex;justify-content:center;gap:2px;margin-top:8px}
  .swipedots button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;background:none;cursor:pointer}
  .swipedots button::before{content:"";width:8px;height:8px;border-radius:8px;background:rgba(255,255,255,.28);transition:width .35s var(--ease),background .35s}
  .band--paper .swipedots button::before{background:rgba(18,24,38,.25)}
  .swipedots button[aria-current="true"]::before{width:24px;background:var(--amber)}
  .swipedots button[aria-current="true"]{min-width:44px}}

/* parallax where scroll-driven animation exists */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .bento__i img:not(.film__poster),.scard__img img:not(.film__poster),.mast__frame>img,.mast__frame>picture img,.mast__frame>.film{scale:1.14;animation:plx linear none;animation-timeline:view();animation-range:cover}
    @keyframes plx{from{translate:0 -5%}to{translate:0 5%}}
    .tl{animation:none}
  }
}

/* chamfered tile grid (home services): sets of eight, highlighted in reading order */
.ctiles{--c:22px;display:grid;margin-top:8px}
.ctiles__set{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-content:start}
.ctiles__set+.ctiles__set{margin-top:16px}
.ctile{position:relative;display:grid;place-items:center;align-content:center;gap:14px;aspect-ratio:1/.8;padding:18px 14px;text-align:center;text-decoration:none;color:var(--t-light);isolation:isolate}
.ctile__s,.ctile__f{position:absolute;clip-path:polygon(0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,var(--c) 100%,0 calc(100% - var(--c)))}
.ctile__s{inset:0;z-index:-1;background:linear-gradient(150deg,rgba(255,180,110,.62),rgba(250,124,13,.28) 45%,rgba(250,124,13,.48));transition:background .3s}
.ctile__f{inset:1px;--c:21.6px;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#162038,#0B111E 70%)}
.ctile__f::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,15,.55),rgba(7,9,15,.72) 60%,rgba(7,9,15,.88));opacity:0;transition:opacity .3s ease}
.ctile__p{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .3s ease,transform 1.6s var(--ease)}
.ctile__ic{display:grid;place-items:center;color:var(--amber)}
.ctile__ic .i{width:44px;height:44px;stroke-width:1.35;stroke-dasharray:130;stroke-dashoffset:0;transition:transform .5s var(--spring)}
.ctile__t{text-shadow:0 1px 10px rgba(7,9,15,.85);font:600 1.02rem/1.25 var(--sans);letter-spacing:-.005em;max-width:16ch;text-wrap:balance}
.ctile.is-act .ctile__s,.ctile:focus-visible .ctile__s{background:linear-gradient(150deg,#FFC48A,var(--amber) 50%,#FFB066)}
.ctile.is-act .ctile__p,.ctile.is-act .ctile__f::after,.ctile:focus-visible .ctile__p,.ctile:focus-visible .ctile__f::after{opacity:1}
.ctile.is-act .ctile__p,.ctile:focus-visible .ctile__p{transform:none}
.ctile.is-act .ctile__ic .i{animation:icdraw 1.2s var(--ease) both;transform:translateY(-3px)}
@keyframes icdraw{from{stroke-dashoffset:130}to{stroke-dashoffset:0}}
.ctile:focus-visible{box-shadow:none;outline:2px solid var(--amber-hi);outline-offset:4px;border-radius:0}
@media (hover:hover){.ctile:hover .ctile__s{background:linear-gradient(150deg,#FFC48A,var(--amber) 50%,#FFB066)}.ctile:hover .ctile__p,.ctile:hover .ctile__f::after{opacity:1}.ctile:hover .ctile__p{transform:none}}
/* live mode: sets share one grid cell and cross-fade; reserved height never changes */
@media (prefers-reduced-motion:no-preference){
  .js .ctiles__set{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s .6s}
  .js .ctiles__set+.ctiles__set{margin-top:0}
  .js .ctiles__set[data-on]{opacity:1;visibility:visible;transition-delay:0s}
  .js .ctiles__set .ctile{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
  .js .ctiles__set[data-on] .ctile{opacity:1;transform:none}
  .js .ctiles__set[data-on] .ctile:nth-child(2){transition-delay:.04s}.js .ctiles__set[data-on] .ctile:nth-child(3){transition-delay:.08s}.js .ctiles__set[data-on] .ctile:nth-child(4){transition-delay:.12s}
  .js .ctiles__set[data-on] .ctile:nth-child(5){transition-delay:.16s}.js .ctiles__set[data-on] .ctile:nth-child(6){transition-delay:.2s}.js .ctiles__set[data-on] .ctile:nth-child(7){transition-delay:.24s}.js .ctiles__set[data-on] .ctile:nth-child(8){transition-delay:.28s}
}
.ctiles__ctl{display:none}
@media (prefers-reduced-motion:no-preference){.js .ctiles__ctl{display:flex;align-items:center;gap:14px;margin-top:24px}}
.ctiles__tabs{display:flex;gap:8px;padding:4px;border-radius:999px;background:#0A0F1B;box-shadow:inset 3px 3px 7px rgba(0,0,0,.6),inset -2px -2px 5px rgba(255,255,255,.05)}
.ctiles__tab{min-width:88px;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--t-dim);font:700 .9rem/1 var(--head);letter-spacing:.06em;font-feature-settings:"lnum","tnum";cursor:pointer;transition:background .3s,color .3s,box-shadow .3s,transform .3s var(--spring)}
.ctiles__tab:hover{color:var(--t-light)}
.ctiles__tab[aria-pressed="true"]{background:var(--clay-amber);color:var(--ink);box-shadow:var(--sh-clay-amber)}
.ctiles__tab:active{transform:scale(.97)}
.ctiles__meter{max-width:none}
.ctiles__meter span{transform:scaleX(var(--p,0));transition:transform .5s linear}
@media (max-width:899px){.ctiles{--c:16px}.ctile__f{--c:15.6px}.ctiles__set{grid-template-columns:1fr 1fr;gap:12px}.ctile{aspect-ratio:1/.9;gap:10px}.ctile__ic .i{width:36px;height:36px}.ctile__t{font-size:.95rem}}
@media (max-width:420px){.ctiles__tab{min-width:72px;padding:0 10px}.ctiles__ctl{gap:10px}}

/* services tile band: midnight navy with a brass glow behind the grid, blueprint lines and grain, so the dark tiles read as raised plates */
.band--tiles{overflow:hidden;isolation:isolate;color:var(--t-light);background:radial-gradient(60% 50% at 50% 60%,rgba(250,124,13,.18),rgba(250,124,13,0) 70%),radial-gradient(70% 60% at 88% 0%,rgba(10,63,134,.55),rgba(10,63,134,0) 70%),radial-gradient(60% 50% at 0% 100%,rgba(10,63,134,.35),rgba(10,63,134,0) 70%),linear-gradient(180deg,#13254A 0%,#0F1E3D 45%,#0C1832 100%);box-shadow:inset 0 1px 0 rgba(255,214,170,.12),inset 0 -1px 0 rgba(0,0,0,.4)}
.band--tiles::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(150,180,235,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(150,180,235,.075) 1px,transparent 1px),linear-gradient(rgba(150,180,235,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(150,180,235,.035) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;background-position:center;-webkit-mask-image:radial-gradient(75% 70% at 50% 55%,#000 30%,transparent 100%);mask-image:radial-gradient(75% 70% at 50% 55%,#000 30%,transparent 100%)}
.band--tiles::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.1;mix-blend-mode:overlay;background:url(/assets/ui/grain.a7769663.webp) 0 0/160px 160px}
.band--tiles>.wrap{position:relative;z-index:2}
.tband{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;contain:strict}
.tband__orb{position:absolute;left:58%;top:18%;width:clamp(260px,34vw,520px);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,170,90,.16),rgba(250,124,13,0));will-change:transform;animation:tdrift 30s ease-in-out infinite alternate}
.tband__orb--b{left:6%;top:52%;width:clamp(220px,28vw,420px);background:radial-gradient(closest-side,rgba(124,236,254,.07),rgba(124,236,254,0));animation-duration:38s;animation-delay:-14s}
@keyframes tdrift{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(-12vw,6vh,0)}100%{transform:translate3d(-4vw,-4vh,0)}}
.band--tiles.is-off .tband__orb,.is-still .tband__orb{animation-play-state:paused}
.band--tiles .ctile__f{background:radial-gradient(120% 90% at 50% 0%,#141C30,#080C16 72%)}
.band--tiles .ctile__s{filter:none}
.band--tiles .ctiles__set{filter:drop-shadow(0 18px 26px rgba(3,6,14,.55))}
.band--tiles .ctiles__tabs{background:#081022}
.band--tiles .rail__meter{background:rgba(3,6,14,.45)}
@media (prefers-reduced-motion:reduce){.tband__orb{animation:none}}

/* clay link button: short links that go to another page (section headers, card footers, office links) */
.clink{--cl-bg:var(--clay-ink);--cl-sh:var(--sh-clay-ink);--cl-sh-hi:var(--sh-clay-ink-hi);--cl-sh-in:var(--sh-clay-ink-in);--cl-ic-bg:var(--clay-amber);--cl-ic:var(--ink);
  position:relative;display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:5px 5px 5px 20px;border-radius:999px;background:var(--cl-bg);box-shadow:var(--cl-sh);color:var(--t-light);font:600 .94rem/1 var(--sans);letter-spacing:.01em;text-decoration:none;white-space:nowrap;transition:transform .35s var(--spring),box-shadow .25s ease,color .2s}
.clink::before{content:"";position:absolute;inset:3px 18px auto 14px;height:42%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,0));pointer-events:none}
.clink__t{position:relative}
.clink__ic{position:relative;display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--cl-ic-bg);color:var(--cl-ic);box-shadow:var(--sh-clay-amber)}
.clink__ic .i{width:17px;height:17px;transition:transform .35s var(--spring)}
.clink:hover{transform:translateY(-2px);box-shadow:var(--cl-sh-hi);text-decoration:none}
.clink:hover .clink__ic .i{transform:translateX(3px)}
.clink[target]:hover .clink__ic .i{transform:translate(2px,-2px)}
.clink:active{transform:translateY(1px) scale(.98);box-shadow:var(--cl-sh-in);transition-duration:.08s}
.clink:active::before{opacity:0}
.clink:active .clink__ic{box-shadow:inset 2px 3px 5px rgba(150,58,0,.55)}
.clink:focus-visible{box-shadow:var(--cl-sh),var(--focus);border-radius:999px}
.clink--paper,.band--paper .clink:not(.clink--glass){--cl-bg:radial-gradient(120% 140% at 30% 20%,#FFFFFF 0%,var(--paper) 55%,var(--paper-3) 100%);--cl-sh:6px 8px 16px rgba(18,24,38,.14),-5px -5px 12px rgba(255,255,255,.9),inset 2px 2px 2px rgba(255,255,255,.9),inset -3px -4px 7px rgba(18,24,38,.07);--cl-sh-hi:9px 12px 22px rgba(18,24,38,.18),-6px -6px 14px rgba(255,255,255,.95),inset 2px 2px 2px rgba(255,255,255,.9),inset -3px -4px 7px rgba(18,24,38,.07);--cl-sh-in:inset 4px 5px 9px rgba(18,24,38,.16),inset -3px -3px 7px rgba(255,255,255,.9);color:var(--t-dark)}
a.clink--paper,.band--paper a.clink:not(.clink--glass){color:var(--t-dark)}
.clink--paper::before,.band--paper .clink:not(.clink--glass)::before{background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0))}
.clink--glass{--cl-bg:rgba(13,20,36,.38);--cl-sh:inset 1px 1px 0 rgba(255,255,255,.26),0 10px 24px -12px rgba(0,0,0,.7);--cl-sh-hi:inset 1px 1px 0 rgba(255,255,255,.3),0 16px 30px -12px rgba(0,0,0,.75),0 0 18px -6px rgba(250,124,13,.45);--cl-sh-in:inset 2px 3px 8px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}
.office__links{display:flex;flex-wrap:wrap;gap:10px}
.clink.ticker__more{border:0;padding:5px 5px 5px 18px;margin-right:var(--gut);font-size:.88rem;min-height:44px}
@media (max-width:760px){.clink.ticker__more{margin-right:12px;padding:4px 4px 4px 14px;font-size:.8rem}.clink.ticker__more .clink__ic{width:32px;height:32px}}
@media (forced-colors:active){.clink{border:1px solid LinkText}}

/* drawer: one frosted pill slides behind the hovered, pressed or focused item */
.drawer__hl{position:absolute;left:0;top:0;z-index:0;width:0;height:0;border-radius:18px;pointer-events:none;overflow:hidden;opacity:0;will-change:transform;contain:layout size style;
  background:linear-gradient(180deg,rgba(255,196,138,.24),rgba(250,124,13,.11));backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,214,170,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 18px rgba(250,124,13,.18),0 10px 26px -12px rgba(250,124,13,.55);
  transition:opacity .25s ease}
.drawer__hl.is-on{opacity:1}
.drawer__hl i{position:absolute;left:0;top:50%;width:140px;height:140px;margin:-70px 0 0 -70px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,212,.38),rgba(255,214,170,0));transform:translate3d(-200px,0,0);will-change:transform}
@media (prefers-reduced-motion:reduce){.drawer__hl{transition:none}.drawer__hl i{display:none}}

/* staff login: header chip, drawer tile, careers block */
.bar__staff{display:inline-flex;align-items:center;gap:.5em;min-height:44px;padding:0 14px 0 12px;border-radius:999px;font:600 .86rem/1 var(--sans);letter-spacing:.01em;color:var(--t-dim);text-decoration:none;background:var(--clay-ink);box-shadow:5px 6px 12px rgba(0,0,0,.45),inset 1px 1px 1px rgba(255,255,255,.16),inset -2px -3px 5px rgba(0,0,0,.45);transition:color .2s,transform .3s var(--spring),box-shadow .2s}
.bar__staff .i{width:15px;height:15px;color:var(--amber)}
.bar__staff:hover{color:var(--t-light);transform:translateY(-1px);box-shadow:7px 9px 16px rgba(0,0,0,.5),0 0 14px -4px rgba(250,124,13,.45),inset 1px 1px 1px rgba(255,255,255,.2),inset -2px -3px 5px rgba(0,0,0,.45)}
.bar__staff{transition:transform .35s var(--spring),box-shadow .3s,color .2s}
.bar__staff:hover .i{color:var(--amber-hi)}
.bar__staff:active{transform:translateY(1px) scale(.97);box-shadow:var(--sh-clay-ink-in);transition-duration:.08s}
.bar__staff:focus-visible{box-shadow:var(--focus)}
@media (max-width:1320px){.bar__staff{width:44px;padding:0;justify-content:center}.bar__staff-t{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media (max-width:1020px){.bar__staff{display:none}}
.drawer__staff{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px 8px 8px;border-radius:16px;text-decoration:none;color:var(--t-light);border:1px solid rgba(255,214,170,.2);background:linear-gradient(180deg,rgba(255,196,138,.08),rgba(255,255,255,.02));box-shadow:inset 1px 1px 0 rgba(255,255,255,.12)}
.drawer__staff:active{transform:scale(.98);box-shadow:inset 3px 4px 8px rgba(0,0,0,.35)}
.drawer__staff-ic{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--clay-ink);box-shadow:var(--sh-clay-ink);color:var(--amber)}
.drawer__staff-t{display:grid;gap:3px;flex:1;min-width:0}
.drawer__staff-t b{font-weight:600}
.drawer__staff-t small{font-size:.8rem;color:var(--t-dim)}
.drawer__staff>.i{color:var(--t-dim)}
.btn--dark{--bg:var(--ink);color:var(--t-light);box-shadow:0 12px 26px -12px rgba(7,9,15,.7),inset 0 1px 0 rgba(255,255,255,.14)}
.btn--dark:hover{--bg:#151D30}
.btn--dark .i{color:var(--amber)}
.staff{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,5vw,72px);align-items:center}
.staff__card{display:grid;gap:14px;justify-items:start;padding:clamp(22px,3vw,32px);border-radius:var(--r-l);background:var(--paper);box-shadow:var(--sh-clay)}
.staff__k{font:600 .72rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--t-mute);margin-top:6px}
.staff__apps{display:flex;flex-wrap:wrap;gap:10px}
.store{display:grid;align-content:center;min-height:48px;padding:6px 16px;border-radius:12px;background:var(--t-dark);color:var(--t-light);font:600 1rem/1.1 var(--sans);text-decoration:none;box-shadow:0 8px 18px -10px rgba(7,9,15,.7)}
.store small{font-size:.68rem;font-weight:500;color:var(--t-dim);letter-spacing:.02em}
.staff a.store,.staff a.store:hover{color:var(--t-light);text-decoration:none}
.store:hover{background:#1C2436}
.staff .btn--dark,.staff .btn--dark:hover{color:var(--t-light);text-decoration:none}
.staff__n{font-size:.88rem;color:var(--t-mute)}
@media (max-width:820px){.staff{grid-template-columns:1fr}}

/* reveal */
.js [data-reveal]>*{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js [data-reveal].is-in>*{opacity:1;transform:none}
.js [data-reveal].is-in>:nth-child(2){transition-delay:.08s}.js [data-reveal].is-in>:nth-child(3){transition-delay:.16s}
.js [data-reveal].is-in>:nth-child(4){transition-delay:.24s}.js [data-reveal].is-in>:nth-child(5){transition-delay:.32s}.js [data-reveal].is-in>:nth-child(6){transition-delay:.4s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .ticker__set{animation:none}.ticker__lane{overflow-x:auto}
  .js [data-reveal]>*{opacity:1;transform:none}
  .tl::before{transform:none}
  .tile,.bento__i{transform:none!important}
  .soc__t:hover,.soc__t:focus-visible,.soc__t:active,.lcard:hover,.pillars--clay li:hover,.btn--amber:hover,.btn--amber:active,a.bar__logo:hover{transform:none}
  .drawer__nav>a,.drawer__nav>details,.drawer__glow,.hb i{animation:none!important}
  .drawer__acc{transition:none}
  .logo-motion img,.logo-motion:hover img,.logo-motion:focus-visible img{animation:none;transform:none;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}
  .soc__t:hover .soc__face,.soc__t:focus-visible .soc__face{transform:none}
  .soc__t::after{display:none}
  .js .draw .i{stroke-dasharray:none}
  .closer__aurora i,.closer__radar i,.hero__cue span{animation:none!important}
  .depth__plane i,.depth__glint::after,.callcard__ping{animation:none!important}.callcard__ping{display:none}
  [data-depth] .closer__inner,[data-depth] .feature__copy,.depth__plane,.closer__aurora,.closer__radar{transform:none!important}
  .rail__track>*{scale:none;opacity:1}
  .closer__set{animation:none!important}
  .band--mesh::before,.mast--svc::before{animation:none!important}
}
@media (forced-colors:active){.btn{border:1px solid ButtonText}.glass,.soft{border:1px solid CanvasText}}
@media print{.bar,.drawer,.dock,.closer,.film__clip,.motion,.progress,.totop,.dots{display:none!important}body{background:#fff;color:#000}}

/* ---------- reviews: refined cards + dot control bar ---------- */
.rail--quotes .rail__track{padding:14px 2px 18px}
.quote{gap:18px;padding:26px 26px 22px;border-radius:22px;background:linear-gradient(170deg,#141E31,#0B111D 70%);border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 26px 50px -34px rgba(0,0,0,.95);justify-content:flex-start;translate:0 0;transition:translate .5s var(--ease),box-shadow .5s var(--ease),border-color .5s}
.quote::before{inset:0 26px auto;height:2px;background:linear-gradient(90deg,var(--amber),rgba(250,124,13,0) 70%)}
.quote.is-mid{translate:0 -8px;border-color:rgba(250,124,13,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 34px 60px -30px rgba(0,0,0,.95),0 0 0 1px rgba(250,124,13,.08),0 18px 50px -30px rgba(250,124,13,.45)}
.quote blockquote::before{content:none}
.quote__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;height:44px}
.quote__mark{width:46px;height:35px;fill:var(--amber);filter:drop-shadow(0 0 12px rgba(250,124,13,.35))}
.quote__src{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font:600 .68rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#C9D0DC;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.quote__src::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px rgba(250,124,13,.8)}
.quote__stars{display:flex;gap:2px;color:rgba(255,255,255,.2);font-size:.95rem}.quote__stars .on{color:var(--amber)}
.quote p{padding-top:0;font:400 1.04rem/1.6 var(--sans);color:#E3E7EF}
.has-clamp .quote:not(.is-open) .quote__q p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden}
.quote__more{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:-10px 0 -6px -2px;padding:0 4px;border:0;background:none;color:var(--amber-hi);font:600 .88rem/1 var(--sans);cursor:pointer}
.quote__more .i{transition:transform .3s var(--ease)}
.quote.is-open .quote__more .i{transform:rotate(180deg)}
.quote__more:hover .quote__more-t{text-decoration:underline;text-underline-offset:3px}
.quote__more[hidden]{display:none}
.quote figcaption{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.quote__av{background:linear-gradient(150deg,#2A3A5C,#16213A);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 14px -6px rgba(0,0,0,.8);color:var(--amber-hi);letter-spacing:.04em}
.quote figcaption small{display:block;margin-top:2px}
/* dots */
.rail--dots .rail__ctl{justify-content:center;gap:14px}
.rail__dots{display:flex;align-items:center;gap:2px;padding:0 6px}
.rail__dot{position:relative;width:24px;height:44px;padding:0;border:0;background:none;cursor:pointer}
.rail__dot::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:8px;background:rgba(255,255,255,.28);box-shadow:inset 0 1px 1px rgba(0,0,0,.4);transition:width .4s var(--spring),margin .4s var(--spring),background .3s}
.rail__dot:hover::before{background:rgba(255,255,255,.55)}
.rail__dot[aria-current]{width:40px}
.rail__dot[aria-current]::before{width:28px;margin-left:-14px;background:linear-gradient(90deg,#D96A08,var(--amber) 55%,#FFC48A);box-shadow:0 0 12px rgba(250,124,13,.6)}
.rail__dot:focus-visible{outline:none}.rail__dot:focus-visible::before{outline:2px solid var(--amber-hi);outline-offset:3px}
.rail__dot{transition:width .4s var(--spring)}
@media (prefers-reduced-motion:reduce){.quote,.rail__dot,.rail__dot::before{transition:none}.quote.is-mid{translate:none}}

/* header: phone hover glow */
.bar__phone{border-radius:999px;min-height:44px;transition:color .2s,text-shadow .3s,background-color .3s}
.bar__phone:hover,.bar__phone:focus-visible{color:#FFE3C4;text-shadow:0 0 14px rgba(250,124,13,.65);background:radial-gradient(closest-side,rgba(250,124,13,.14),transparent)}
.bar__cta{min-height:44px}

/* image cards on ivory bands keep ivory titles over the dark scrim */
.band--paper a.tile{color:var(--t-light)}
.tile::after{background:linear-gradient(180deg,rgba(7,9,15,.05) 35%,rgba(7,9,15,.92))}
.tile__t{color:var(--t-light);text-shadow:0 1px 12px rgba(7,9,15,.55)}
.rail__count{min-width:0;white-space:nowrap}
.rail__count b{font-size:clamp(1.45rem,1.3rem + .5vw,1.85rem)}
.ctiles__ctl .rbtn{flex:none}

/* review text keeps the reviewer's own line breaks */
.quote__q p{white-space:pre-line}
.rvsum{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0 0;color:var(--t-dim);font-size:.95rem}
.rvsum__n{font:700 2rem/1 var(--head);color:var(--amber);font-feature-settings:"lnum"}
.rvsum .quote__stars{font-size:1.1rem}
@media (max-width:699px){.head-row>div:last-child:not(.head){width:100%}}

/* coverflow: plain grid by default (no JS, reduced motion) */
.cf__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px}
.cf__ctl{display:none}
.has-clamp .quote.quote--full:not(.is-open) .quote__q p,.quote--full .quote__q p{display:block;-webkit-line-clamp:none;line-clamp:none;overflow:visible}
.quote--full .quote__more{display:none}
/* coverflow layout is applied from first paint (html.js is set in <head>), so nothing moves when main.js starts.
   Every card shares one grid cell: the stage is as tall as the tallest card, no measuring needed. */
@media (prefers-reduced-motion:no-preference){
.js .cf__stage{position:relative;overflow:hidden;outline:none;touch-action:pan-y;padding:14px 0;border-radius:var(--r-l)}
.js .cf__list{display:grid;grid-template-columns:1fr;gap:0;align-items:center;justify-items:center}
.js .cf__ctl{display:flex;justify-content:center;gap:14px}
.js .cf__i{grid-area:1/1;width:min(560px,86%);will-change:transform,filter,opacity;cursor:grab;user-select:none}
.js .cf__i:not(:first-child){opacity:0}
.js .cf__i .quote{min-height:0}
.js .cf.is-drag .cf__i{cursor:grabbing}
.js .cf__i[aria-hidden="true"] a,.js .cf__i[aria-hidden="true"] button{pointer-events:none}
.js .cf__stage:focus-visible{box-shadow:0 0 0 2px var(--amber-hi)}
}
@media (prefers-reduced-motion:no-preference) and (max-width:599px){.js .cf__i{width:84%}.js .cf .rail__dots{min-height:44px}}

/* counters and set pills: tabular lining figures so 01 / 04 keep an even width as they change, visible dash */
.rail__count b,.ctiles__tab{font-family:var(--head);font-weight:700;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum","lnum";letter-spacing:.02em}
.rail__count b{font-size:clamp(1.3rem,1.15rem + .45vw,1.65rem);line-height:1}
.ctiles__tab{font-size:.95rem}
.nd{display:inline-block;margin:0 .22em;font-weight:700;opacity:1}
.ctiles__tab .nd{color:var(--amber)}
.ctiles__tab[aria-pressed="true"] .nd{color:var(--ink)}
@media (max-width:599px){.js .cf__ctl{flex-wrap:wrap;gap:4px 16px}.cf .rail__dots{order:-1;width:100%;justify-content:center;padding:0;gap:0}.cf .rail__dot{width:24px}.cf .rail__dot[aria-current]{width:24px}.cf .rail__dot[aria-current]::before{width:18px;margin-left:-9px}}

/* drawer rows let the glass pill show through while it sits on them */
.drawer__nav>a,.drawer__nav summary{transition:transform .15s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease}
.drawer__nav>a.is-pill,.drawer__nav summary.is-pill{background:transparent;border-color:transparent;box-shadow:none}
.drawer__body a.is-pill{color:var(--t-light)}
.cf__stage{isolation:isolate}

/* =====================================================================
   Daylight layer (Oct 2026): light, warm grounds with a few navy anchors.
   Shades alternate down each page (ivory / white / stone, set by the build),
   with a pale sky "mist" band and navy anchors (services tiles, closer, footer).
   The logo's azure swoosh joins amber as the second accent.
   ===================================================================== */
:root{
  --white:#FFFFFF;--ivory:#F8F5EF;--stone:#EEE8DE;--mist:#EAF3FB;
  --navy-band:#0F2A52;--foot:#0B1730;
  --sky:#1E9BEA;--sky-hi:#5CC6FA;--sky-ink:#0969A8;
  --t-dark:#14213A;--t-mute:#4A5468;--line-paper:#8A8F9C;
  --paper:var(--ivory);--paper-2:#F0EBE2;--paper-3:#E5DFD3;
  --focus:0 0 0 3px #fff,0 0 0 6px var(--sky-ink);
}
/* light context: the shared text tokens resolve to ink on paper */
body,.band--paper,.mast,.menu,.drawer__panel,.bar{--t-light:#14213A;--t-dim:#4A5468;--glass-bg:rgba(255,255,255,.74);--glass-line:rgba(20,33,58,.12)}
/* dark context: footage, navy anchors and image cards keep light text */
.hero,.feature,.closer,.foot,.band--tiles,.band--navy,.tile,.scard,.bento__i,.ctile,.mast__frame,.dock,.bigcall,.alarm,.planner__out div,.store,.btn--dark,.dots__l,.clink:not(.clink--paper),.bar__icon,.bar__staff,.totop,.rbtn,:is(.is-home,.is-filmtop) .bar:not(.is-solid){--t-light:#F5F3EE;--t-dim:#B4BDCC;--glass-bg:rgba(13,20,36,.58);--glass-line:rgba(255,255,255,.14)}
.band--paper .clink:not(.clink--glass),.menu .clink{--t-light:#14213A;--t-dim:#4A5468}
html{scrollbar-color:var(--amber) #E5DFD3}
::-webkit-scrollbar-track{background:#E9E3D8}
::-webkit-scrollbar-thumb{border-color:#E9E3D8}
body{background:var(--ivory);color:var(--t-dark)}
::selection{background:#CFE8FA;color:var(--t-dark)}

/* type: Roboto headings, Open Sans text; accents are colour and weight, never italic */
body{font-size:1.0625rem;line-height:1.65}
h1 em,h2 em,h3 em,.head__t em,.hero__t em,.mast__t em,.closer__t em,.feature__t em{font-style:normal;font-weight:inherit;color:var(--sky-ink)}
.hero__t em,.feature__t em,.closer__t em,.band--tiles h2 em,.band--navy h2 em{color:var(--sky-hi)}
.head__t{font-size:clamp(2rem,1.35rem + 2.3vw,3.4rem);line-height:1.08;letter-spacing:-.018em}
.hero__t{font-size:clamp(2.6rem,1.3rem + 5.2vw,6rem);line-height:1;letter-spacing:-.025em;max-width:11em}
.mast__t{font-size:clamp(2.3rem,1.45rem + 3.2vw,4.4rem);line-height:1.04;letter-spacing:-.022em;max-width:13em}
.mast--slim .mast__t{font-size:clamp(2.1rem,1.4rem + 2.4vw,3.5rem)}
.feature__t{font-size:clamp(2.3rem,1.4rem + 3.4vw,4.6rem);line-height:1.02;letter-spacing:-.022em;max-width:12em}
.closer__t{font-size:clamp(2.1rem,1.35rem + 2.6vw,3.8rem);line-height:1.06;letter-spacing:-.02em;max-width:14em}
.tile__t,.scard__t,.bento__t,.ctile__t,.pillars h3,.tl h3,.trio h3,.person h3,.panel__t,.pstep__title,.idx__t,.office__city,.way strong,.cert summary,.consent__title,.prose h3,.acc__i summary,.lcard__t,.seal h3{font-family:var(--head);font-weight:700;letter-spacing:-.01em}
.acc__i summary{font-weight:600;font-size:1.1rem;line-height:1.4}
.lcard__t{font-size:clamp(1.25rem,1.1rem + .5vw,1.55rem);line-height:1.2}
.prose h2{font-size:clamp(1.5rem,1.3rem + .7vw,1.9rem);line-height:1.2;letter-spacing:-.015em}
.kicker{color:var(--sky-ink);font-weight:700;letter-spacing:.16em}
.kicker::before{background:var(--sky);opacity:1;height:2px;border-radius:2px}
.band--paper .kicker{color:var(--sky-ink)}
.hero .kicker,.feature .kicker,.closer .kicker,.band--tiles .kicker,.band--navy .kicker{color:var(--sky-hi)}
.hero__kw{letter-spacing:.14em}
.big{font-size:clamp(1.15rem,1.05rem + .45vw,1.4rem);line-height:1.5}
.head__lead,.band--paper .head__lead{color:var(--t-mute)}
.hero__lead{font-size:clamp(1.08rem,1rem + .35vw,1.3rem);line-height:1.55;color:#F2F4F8;text-shadow:0 1px 14px rgba(7,9,15,.45)}
.hero__t{text-shadow:0 2px 24px rgba(7,9,15,.35)}
a{text-underline-offset:.22em}
.band--paper a:not(.btn):not(.clink):not(.ctile):not(.tile):not(.scard):not(.bento__i):hover,.prose a:hover{color:var(--sky-ink)}

/* bands: shades, mist and the navy anchor */
.band--paper+.band--paper{padding-top:clamp(72px,9vw,136px)}
.band--paper.band--tight+.band--paper,.band--paper+.band--paper.band--tight{padding-top:clamp(56px,6vw,92px)}
.band--paper.band--flush{padding-top:clamp(40px,5vw,72px)}
.band--white{--paper:#FFFFFF;--paper-2:#F5F2EC;--paper-3:#E9E4DA;background:#FFFFFF}
.band--ivory{--paper:#F8F5EF;--paper-2:#F0EBE2;--paper-3:#E5DFD3;background:#F8F5EF}
.band--stone{--paper:#EEE8DE;--paper-2:#E6DFD3;--paper-3:#DCD4C6;background:#EEE8DE}
.band--mist{--paper:#EAF3FB;--paper-2:#DEEBF6;--paper-3:#CFE1F1;background:#EAF3FB}
.band--paper{background:var(--paper)}
.band--mesh{background:var(--paper)}
.band--mesh::before{background:radial-gradient(40% 46% at 10% 6%,rgba(30,155,234,.16),transparent 70%),radial-gradient(30% 36% at 90% 20%,rgba(250,124,13,.09),transparent 70%),radial-gradient(38% 44% at 62% 98%,rgba(92,198,250,.14),transparent 70%)}
.band--paper.grain::after,.mast.grain::after{opacity:.05;mix-blend-mode:multiply}
.band--navy{color:var(--t-light);background:radial-gradient(80% 60% at 100% 0%,rgba(30,155,234,.18),transparent 60%),linear-gradient(180deg,#12305C,var(--navy-band))}
.band--paper .depth::after{box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.band--paper .depth__plane--far i{background:radial-gradient(closest-side,rgba(30,155,234,.14),rgba(30,155,234,0))}
.band--paper .depth__plane--far i:nth-child(2){background:radial-gradient(closest-side,rgba(250,124,13,.1),rgba(250,124,13,0))}
.band--paper .depth__plane--near i{opacity:.55}
.band--paper .depth__glint{display:none}
.band--tiles{background:radial-gradient(60% 50% at 50% 60%,rgba(250,124,13,.14),rgba(250,124,13,0) 70%),radial-gradient(70% 60% at 88% 0%,rgba(30,155,234,.28),rgba(30,155,234,0) 70%),radial-gradient(60% 50% at 0% 100%,rgba(30,155,234,.16),rgba(30,155,234,0) 70%),linear-gradient(180deg,#14305E 0%,#10274D 45%,#0D2142 100%)}
.ticker{background:#FFFFFF;border-bottom:1px solid rgba(20,33,58,.06)}

/* header: transparent over the home footage, frosted ivory everywhere else */
.bar__inner{color:var(--t-dark)}
:is(.is-home,.is-filmtop) .bar:not(.is-solid) .bar__inner{color:#F5F3EE}
.bar.is-solid .bar__inner{background:rgba(251,249,245,.86);border-color:rgba(20,33,58,.08);box-shadow:0 18px 40px -26px rgba(20,33,58,.45)}
.bar__logo img{filter:drop-shadow(0 6px 14px rgba(20,33,58,.22))}
:is(.is-home,.is-filmtop) .bar:not(.is-solid) .bar__logo img{filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}
.nav__link{color:inherit}
html:not(.js) .nav__link:hover,html:not(.js) .nav__item.is-open>.nav__link{background:rgba(20,33,58,.06)}
.nav__link:hover .i,.nav__item.is-open .nav__link .i{color:var(--amber-txt)}
.nav__link[aria-current],.nav__link[data-current]{color:var(--sky-ink)}
.nav__link[aria-current]::after,.nav__link[data-current]::after{background:var(--sky);box-shadow:0 0 8px rgba(30,155,234,.6)}
:is(.is-home,.is-filmtop) .bar:not(.is-solid) .nav__link:hover .i,:is(.is-home,.is-filmtop) .bar:not(.is-solid) .nav__item.is-open .nav__link .i{color:var(--amber-hi)}
:is(.is-home,.is-filmtop) .bar:not(.is-solid) .nav__link[aria-current]{color:var(--sky-hi)}
.nav__link:focus-visible{outline-color:var(--sky-ink)}
.bar__phone:hover,.bar__phone:focus-visible{color:var(--amber-txt);text-shadow:none;background:rgba(250,124,13,.08)}
:is(.is-home,.is-filmtop) .bar:not(.is-solid) .bar__phone:hover{color:#FFE3C4;text-shadow:0 0 14px rgba(250,124,13,.65)}
.bar__icon{color:#F5F3EE}
.bar__staff{color:#D7DCE6}
.nav__hl{background:linear-gradient(180deg,rgba(30,155,234,.12),rgba(30,155,234,.05));border-color:rgba(30,155,234,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 22px -14px rgba(30,155,234,.55)}
:is(.is-home,.is-filmtop) .bar:not(.is-solid) .nav__hl{background:linear-gradient(180deg,rgba(255,196,138,.16),rgba(250,124,13,.07));border-color:rgba(255,214,170,.3)}
.nav__hl i,.menu__hl i{background:radial-gradient(closest-side,rgba(255,255,255,.6),rgba(255,255,255,0))}

/* desktop menus and the phone drawer: frosted ivory */
.menu{background:linear-gradient(165deg,rgba(255,255,255,.96),rgba(246,242,234,.97));border-color:rgba(20,33,58,.1);box-shadow:inset 1px 1px 0 #fff,0 34px 80px -30px rgba(20,33,58,.45);color:var(--t-dark)}
.menu::before{background:radial-gradient(circle,rgba(30,155,234,.14),transparent 68%)}
.menu::after{opacity:.05;mix-blend-mode:multiply}
.menu__head{color:var(--sky-ink)}
.menu li>a{color:#2B3650}
.menu li>a:hover,.menu li>a:focus-visible{color:var(--t-dark)}
.menu li .i{color:var(--amber-txt)}
.menu li>a:hover .i,.menu li>a:focus-visible .i{color:var(--amber);filter:none}
.menu__hl{background:linear-gradient(180deg,rgba(30,155,234,.1),rgba(30,155,234,.04));border-color:rgba(30,155,234,.22);box-shadow:inset 0 1px 0 #fff,0 8px 20px -14px rgba(30,155,234,.5)}
.menu__foot{border-top-color:rgba(20,33,58,.1)}
.drawer{background:rgba(20,33,58,.32)}
.drawer__panel{color:var(--t-dark);background:linear-gradient(165deg,rgba(255,255,255,.94),rgba(244,239,230,.96));border-left-color:rgba(20,33,58,.1);box-shadow:inset 1px 0 0 #fff,-28px 0 70px rgba(20,33,58,.28)}
.drawer__panel::after{opacity:.05;mix-blend-mode:multiply}
.drawer__glow{background:radial-gradient(circle,rgba(30,155,234,.22),transparent 68%)}
.drawer__nav>a,.drawer__nav summary{border-color:rgba(20,33,58,.08);background:linear-gradient(180deg,#FFFFFF,#F6F2EA);box-shadow:5px 7px 14px rgba(20,33,58,.1),inset 1px 1px 0 #fff;color:var(--t-dark)}
.drawer__nav>a:active,.drawer__nav summary:active{box-shadow:inset 3px 4px 8px rgba(20,33,58,.14)}
.drawer__body a{color:var(--t-mute)}
.drawer__body a:hover,.drawer__body a:focus-visible,.drawer__body a.is-pill{color:var(--t-dark)}
.drawer__body a:active{background:rgba(20,33,58,.05);color:var(--t-dark)}
.drawer__sub{color:var(--sky-ink)}
.drawer__urgent{color:var(--amber-txt)}
.drawer__foot{background:linear-gradient(180deg,rgba(244,239,230,0),rgba(244,239,230,.9) 18%)}
.drawer__foot .btn{box-shadow:5px 7px 14px rgba(20,33,58,.16),inset 0 1px 0 rgba(255,255,255,.35)}
.drawer__foot .btn--glass{--bg:#fff;color:var(--t-dark);border-color:rgba(20,33,58,.16)}
.drawer__hl{background:linear-gradient(180deg,rgba(30,155,234,.14),rgba(30,155,234,.05));border-color:rgba(30,155,234,.3);box-shadow:inset 0 1px 0 #fff,0 10px 24px -14px rgba(30,155,234,.55)}
.drawer__hl i{background:radial-gradient(closest-side,rgba(255,255,255,.7),rgba(255,255,255,0))}
.drawer__staff{color:var(--t-dark);border-color:rgba(20,33,58,.1);background:linear-gradient(180deg,#FFFFFF,#F5F1E9);box-shadow:4px 6px 12px rgba(20,33,58,.08)}
.drawer__staff-t small,.drawer__staff>.i{color:var(--t-mute)}
.drawer__nav>a[aria-current]::before,.drawer__nav details.is-here>summary::before{background:var(--sky);box-shadow:0 0 10px rgba(30,155,234,.7)}

/* inner masthead: ivory with soft daylight washes */
.mast{color:var(--t-dark);background:radial-gradient(60% 80% at 88% 8%,rgba(30,155,234,.13),transparent 65%),radial-gradient(46% 60% at 0% 100%,rgba(250,124,13,.08),transparent 70%),linear-gradient(180deg,#FBF9F5,var(--ivory))}
.mast::after{background:linear-gradient(90deg,transparent,rgba(20,33,58,.12),transparent)}
.mast__lead{color:var(--t-mute)}
.mast--alert{background:radial-gradient(60% 80% at 90% 0%,rgba(250,124,13,.16),transparent 60%),linear-gradient(180deg,#FBF9F5,var(--ivory))}
.mast--svc::before{background:radial-gradient(30% 34% at 18% 70%,rgba(250,124,13,.08),transparent 70%),radial-gradient(36% 40% at 70% 20%,rgba(30,155,234,.12),transparent 70%)}
.mast__frame{background:#DCE4EE;box-shadow:0 40px 80px -44px rgba(20,33,58,.55)}
.mast__sketch{filter:none;opacity:.9}
.mast .soft,.band--navy .soft{box-shadow:16px 18px 40px rgba(18,24,38,.12),-12px -12px 30px rgba(255,255,255,.8);border-color:rgba(255,255,255,.6)}
.mast .bigcall{background:var(--navy-band);border:0}
.crumbs ol{color:var(--t-mute)}
.crumbs a:hover{color:var(--sky-ink)}
.jump a{border-color:rgba(20,33,58,.2);background:rgba(255,255,255,.55)}
.jump a:hover{background:#fff;border-color:var(--sky)}
.mast .btn--glass,.band--paper .btn--glass{--bg:rgba(255,255,255,.7);color:var(--t-dark);border-color:rgba(20,33,58,.2);backdrop-filter:none;-webkit-backdrop-filter:none}
.mast .btn--glass:hover,.band--paper .btn--glass:hover{--bg:#fff;border-color:var(--sky-ink)}
.mast .btn--glass .i,.band--paper .btn--glass .i{color:var(--sky-ink)}
.frame-chip{color:#F5F3EE}
.frame-chip .i{color:var(--sky-hi)}
.film-note{background:rgba(7,9,15,.55);color:#EEF1F6}

/* hero over daylight footage: a quiet scrim on the text side only */
.hero__veil{background:linear-gradient(90deg,rgba(9,18,36,.7) 0%,rgba(9,18,36,.44) 42%,rgba(9,18,36,0) 72%),linear-gradient(180deg,rgba(9,18,36,.42) 0%,rgba(9,18,36,0) 26%,rgba(9,18,36,0) 58%,rgba(9,18,36,.6) 100%)}
.hero__panel.glass{background:rgba(10,20,40,.5)}
.hero__acs-k .i{color:var(--sky-hi)}
.feature__veil{background:linear-gradient(0deg,rgba(9,18,36,.86),rgba(9,18,36,.25) 62%,rgba(9,18,36,.05))}

/* glass and soft surfaces on light grounds */
.band--paper .glass,.mast .glass:not(.frame-chip){background:rgba(255,255,255,.72);border-color:rgba(20,33,58,.1);box-shadow:inset 0 1px 0 #fff,0 24px 50px -32px rgba(20,33,58,.4);color:var(--t-dark)}
.soft{background:#FFFFFF;box-shadow:14px 16px 38px rgba(18,24,38,.1),-10px -10px 28px rgba(255,255,255,.75);border-color:rgba(20,33,58,.06)}
.band--white .soft{background:var(--ivory);box-shadow:0 24px 50px -30px rgba(20,33,58,.3);border-color:rgba(20,33,58,.08)}
.field input,.field select,.field textarea{background:#FBFAF7}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sky-ink);box-shadow:inset 2px 2px 5px rgba(18,24,38,.06),0 0 0 3px rgba(30,155,234,.3)}
.field input::placeholder,.field textarea::placeholder{color:#5F6676}
.field--check input{accent-color:var(--sky-ink)}
.pform__bar{background:linear-gradient(90deg,var(--navy),var(--sky))}
:focus-visible{box-shadow:var(--focus)}
.acc__i summary:focus-visible,.cert summary:focus-visible,.rm__more summary:focus-visible{outline-color:var(--sky-ink)}

/* clay controls on light grounds */
.rbtn{color:var(--amber-hi)}
.band--paper .rbtn,.soft .rbtn{color:var(--amber-txt)}
.band--paper .rbtn:hover{color:var(--amber)}
.band--paper .rail__count b{color:var(--amber-txt);text-shadow:none}
.band--paper .rail__sep{color:var(--t-mute)}
.band--paper .rail__dot::before{background:rgba(20,33,58,.22);box-shadow:none}
.band--paper .rail__dot:hover::before{background:rgba(20,33,58,.45)}
.band--paper .rail__dot[aria-current]::before{background:linear-gradient(90deg,#D96A08,var(--amber) 55%,#FFB066);box-shadow:0 0 10px rgba(250,124,13,.4)}
.band--paper .rail__dot:focus-visible::before{outline-color:var(--sky-ink)}
.rm__more summary{color:var(--sky-ink)}

/* editorial intro */
.intro__copy{color:var(--t-mute)}
.intro__copy p:first-child{color:var(--t-dark)}
.intro__facts li::before{background:linear-gradient(90deg,var(--sky),rgba(30,155,234,.15))}
.intro__facts b{background:linear-gradient(170deg,#173A6E 0%,var(--sky-ink) 60%,#1E9BEA 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro__facts span{color:var(--t-mute)}
.intro__links a{border-color:rgba(20,33,58,.18);background:rgba(255,255,255,.6)}
.intro__links a:hover{background:var(--amber);border-color:var(--amber);color:var(--ink)}

/* line cards, overview, ledgers, compliance lists */
.band--paper .lcard{border-color:rgba(20,33,58,.1);background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.55));box-shadow:0 22px 44px -34px rgba(20,33,58,.35)}
.band--paper .lcard:hover{border-color:rgba(30,155,234,.45)}
.band--paper .lcard::before{background:linear-gradient(var(--sky),var(--sky)) 0 0/16px 1.5px,linear-gradient(var(--sky),var(--sky)) 0 0/1.5px 16px,linear-gradient(var(--amber),var(--amber)) 100% 100%/16px 1.5px,linear-gradient(var(--amber),var(--amber)) 100% 100%/1.5px 16px;background-repeat:no-repeat}
.band--paper .lcard__ic{border-color:rgba(30,155,234,.35);color:var(--sky-ink);background:#fff}
.band--paper .lcard__k{color:var(--amber-txt)}
.band--paper .spot::after{background:radial-gradient(420px circle at var(--mx) var(--my),rgba(30,155,234,.1),rgba(250,124,13,.05) 35%,transparent 60%)}
.fine{color:var(--t-mute)}
.fine a{color:var(--sky-ink)}
.overview__copy{color:var(--t-mute)}
.overview__copy p:first-child{color:var(--t-dark)}
.overview__area{color:var(--t-mute)}
.overview__area .i{color:var(--sky-ink)}
.overview__area a{color:var(--sky-ink)}
.band--paper .ledger{border-top-color:rgba(20,33,58,.14)}
.band--paper .ledger li{border-color:rgba(20,33,58,.12)}
.band--paper .ledger__n{color:var(--sky-ink)}
.band--paper .ledger p{color:var(--t-mute)}
.band--paper .comp__list li{background:rgba(255,255,255,.75);border-color:rgba(20,33,58,.08);box-shadow:0 14px 30px -24px rgba(20,33,58,.35)}
.band--paper .comp__list .i{color:var(--sky-ink)}
.trio p{color:var(--t-mute)}
.band--paper .trio li{background:#fff;box-shadow:0 22px 44px -34px rgba(20,33,58,.4);border:1px solid rgba(20,33,58,.06)}
.band--white .trio li{background:var(--ivory)}
.band--paper .verified{background:rgba(30,155,234,.12);color:var(--sky-ink)}
.band--paper .seal__src a{color:var(--sky-ink)}
.band--paper .seal__dl dt,.band--paper .seal__fine{color:var(--t-mute)}
.band--paper .docs a{background:#fff;border-color:rgba(20,33,58,.1)}
.band--paper .docs a:hover{background:var(--paper-2);border-color:var(--sky)}
.band--paper .tcard__k,.band--paper .tcard__meta{color:var(--t-mute)}
.band--paper .tcard__desc{color:var(--t-dark)}
.band--paper .tcard__scale li{background:rgba(20,33,58,.12)}
.band--paper .tcard__meta a{color:var(--sky-ink)}
.band--paper .map__dots{stroke:rgba(20,33,58,.28)}
.band--paper .map__pin text{fill:var(--t-dark)}
.band--paper .office{background:#fff;border:1px solid rgba(20,33,58,.07);box-shadow:0 18px 36px -30px rgba(20,33,58,.4)}
.band--white .office{background:var(--ivory)}
.band--paper .needs li,.band--paper .roles li{background:#fff;border-color:rgba(20,33,58,.12)}
.band--paper .needs .i{color:var(--amber-txt)}
.pill-ic,.glance__list .i,.tag .i,.opt span .i{color:var(--sky-ink)}
.glance__list li{background:#fff}
.band--white .glance__list li{background:var(--ivory)}
.chip b{color:var(--navy)}
.ticks .i{color:var(--sky-ink)}
.way__ic{background:var(--navy-band);color:var(--sky-hi)}
.way--call .way__ic{background:var(--amber);color:var(--ink)}
.idx__h span{color:var(--sky-ink)}
.next li::before{color:var(--sky-ink)}
.tl::before{background:linear-gradient(90deg,var(--sky),rgba(250,124,13,.6) 70%,rgba(250,124,13,.12))}
@media (max-width:820px){.tl::before{background:linear-gradient(180deg,var(--sky),rgba(250,124,13,.6) 70%,rgba(250,124,13,.12))}}
.band--neu .tl__n{color:var(--sky-ink)}

/* reviews: white cards with an amber rule */
.band--paper .quote{background:#FFFFFF;border:1px solid rgba(20,33,58,.08);box-shadow:0 26px 50px -36px rgba(20,33,58,.45)}
.band--white .quote{background:var(--ivory)}
.band--paper .quote.is-mid{border-color:rgba(30,155,234,.35);box-shadow:0 34px 60px -34px rgba(20,33,58,.5),0 0 0 1px rgba(30,155,234,.12)}
.band--paper .quote::after{background:radial-gradient(360px circle at var(--mx) var(--my),rgba(30,155,234,.07),transparent 60%)}
.band--paper .quote p{color:#26324A}
.band--paper .quote__src{color:var(--t-mute);background:var(--paper-2);border-color:rgba(20,33,58,.08)}
.band--paper .quote__stars{color:rgba(20,33,58,.18)}.band--paper .quote__stars .on{color:var(--amber)}
.band--paper .quote__more{color:var(--sky-ink)}
.band--paper .quote figcaption{border-top-color:rgba(20,33,58,.08)}
.band--paper .quote__av{background:linear-gradient(150deg,#163A6E,var(--navy-band));color:#fff;box-shadow:0 6px 14px -6px rgba(20,33,58,.5)}
.band--paper .quote__mark{fill:var(--sky);filter:none}
.band--paper .rvsum__n{color:var(--amber-txt)}
.band--paper .js .cf__stage:focus-visible,.band--paper .cf__stage:focus-visible{box-shadow:0 0 0 2px var(--sky-ink)}

/* image cards keep their scrim; slightly lighter now the photos are daylight */
.scard__img img{filter:saturate(.9) brightness(.96)}
.scard:hover::before,.scard:focus-visible::before{border-color:rgba(92,198,250,.85)}
.scard__ic,.bento__ic{color:var(--sky-hi)}
.tile__ic{color:var(--amber-hi)}
.tile::after{background:linear-gradient(180deg,rgba(9,18,36,0) 38%,rgba(9,18,36,.86))}
.bento__i::after{background:linear-gradient(200deg,rgba(9,18,36,0) 34%,rgba(9,18,36,.84) 100%)}

/* standard figure */
.turn::before{background:radial-gradient(closest-side,rgba(30,155,234,.18),rgba(30,155,234,.05) 70%,transparent),conic-gradient(from 200deg,transparent,rgba(250,124,13,.16),transparent 40%)}

/* scroll aids: progress bar, back to top ring (amber, as before), section rail */
.progress__bar{background:linear-gradient(90deg,rgba(30,155,234,0),var(--sky) 30%,var(--amber) 84%,#FFD9AE)}
.totop{background:conic-gradient(var(--amber) calc(var(--sp,0)*1turn),rgba(20,33,58,.16) 0);box-shadow:0 14px 30px -14px rgba(20,33,58,.6)}
.totop:hover{box-shadow:0 18px 34px -14px rgba(20,33,58,.65),0 0 18px -4px rgba(250,124,13,.45)}
.dots ol{background:rgba(255,255,255,.82);border-color:rgba(20,33,58,.1);box-shadow:0 18px 40px -22px rgba(20,33,58,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dots a::before{background:rgba(20,33,58,.3)}
.dots a:hover::before{background:var(--t-dark)}
.dots a[aria-current]::before{background:var(--sky);box-shadow:0 0 10px rgba(30,155,234,.55)}
.dots__l{background:var(--navy-band);border-color:transparent}
.dock{color:#F5F3EE;background:rgba(11,23,48,.92)}
.swipedots button::before{background:rgba(20,33,58,.25)}
.hero .swipedots button::before,.band--tiles .swipedots button::before{background:rgba(255,255,255,.28)}

/* closing band and footer: the navy anchors */
.closer{background:linear-gradient(135deg,#14305E,#0F2A52 55%,#0B1730);color:var(--t-light)}
.closer::before{background:linear-gradient(90deg,rgba(12,32,66,.9),rgba(15,42,82,.62) 55%,rgba(11,23,48,.78)),linear-gradient(0deg,rgba(11,23,48,.85),transparent 40%)}
.closer__aurora i:nth-child(2){background:radial-gradient(closest-side,rgba(30,155,234,.45),transparent)}
.closer__aurora i:nth-child(3){background:radial-gradient(closest-side,rgba(92,198,250,.2),transparent)}
.closer__radar{border-color:rgba(92,198,250,.22);background:repeating-radial-gradient(circle,transparent 0 63px,rgba(92,198,250,.09) 64px 65px)}
.closer__radar i{background:conic-gradient(from 0deg,rgba(92,198,250,.26),rgba(92,198,250,0) 70deg)}
.foot{background:var(--foot);color:#B4BDCC}
.foot__acs .i{color:var(--sky-hi)}
.foot__h{color:#F5F3EE}
.foot a:hover{color:#fff}
.foot .threat{color:#F5F3EE}
.foot .threat__label{color:#B4BDCC}
.callcard__k{color:var(--amber-hi)}
.hero,.feature,.closer,.band--tiles,.band--navy{color:var(--t-light)}
.band--paper h1 em,.band--paper h2 em,.band--paper h3 em,.mast h1 em{color:var(--sky-ink)}

/* =====================================================================
   Canvas layer: one continuous warm cream canvas, no hard-edged strips.
   Sections only shift tone through soft, edge-free washes. Content sits in
   white rounded cards and framed photos; navy is kept for accents (image
   tiles, the contained closing panel and the footer). Amber marks the
   kickers, first letters and ticks; the logo azure stays on emphasis.
   ===================================================================== */
:root{
  --cream:#F7F2EA;--cream-2:#F1E9DC;--card:#FFFFFF;
  --amber-ink:#A84A00;--amber-mark:#D35F00;
  --r-card:20px;--r-img:18px;
  --sh-card:0 1px 2px rgba(20,33,58,.05),0 20px 44px -26px rgba(20,33,58,.30);
  --sh-card-hi:0 2px 4px rgba(20,33,58,.06),0 30px 60px -28px rgba(20,33,58,.38);
  --sh-img:0 30px 60px -32px rgba(20,33,58,.50),0 8px 18px -10px rgba(20,33,58,.20);
  --sh-clay:var(--sh-card);
}
html{background:var(--cream)}
body{background:linear-gradient(180deg,#F9F5EE 0,#F2EBDF 1200px,#F9F5EE 2400px) 0 0/100% 2400px repeat-y,var(--cream)}

/* sections: transparent on the canvas, tone shifts fade out before any edge */
.band--paper,.band--white,.band--ivory,.band--stone,.band--mist,.band--mesh,.band--tiles,.band--navy{background:transparent}
.band--paper,.band--tiles,.mast{--paper:#FFFFFF;--paper-2:#FFFFFF;--paper-3:#F2ECE2}
.band--stone{background:radial-gradient(75% 60% at 50% 50%,rgba(233,222,204,.55),rgba(233,222,204,0) 72%)}
.band--white{background:radial-gradient(70% 60% at 50% 50%,rgba(255,255,255,.6),rgba(255,255,255,0) 72%)}
.band--mist{background:radial-gradient(65% 55% at 35% 50%,rgba(208,230,249,.6),rgba(208,230,249,0) 72%)}
.band--mesh::before{background:radial-gradient(36% 40% at 12% 30%,rgba(30,155,234,.10),transparent 70%),radial-gradient(30% 34% at 88% 40%,rgba(250,124,13,.07),transparent 70%)}
.band.grain::after,.mast.grain::after{display:none}
.ticker{background:transparent;border:0}
.band--navy{color:var(--t-dark)}

/* cards: white, rounded, soft shadow */
.soft,.band--paper .soft{background:var(--card);border-radius:var(--r-card);border:1px solid rgba(20,33,58,.06);box-shadow:var(--sh-card)}
.band--paper .glass,.mast .glass{background:rgba(255,255,255,.92);border-color:rgba(20,33,58,.07);box-shadow:var(--sh-card)}
.glance__list li{background:var(--card);border-radius:var(--r-card);border:1px solid rgba(20,33,58,.06);box-shadow:var(--sh-card)}
.glance__list .i,.ticks .i,.band--paper .ticks .i{color:var(--amber-mark)}

/* framed photos: rounded with a soft drop shadow, never full-bleed */
.mast__frame{aspect-ratio:4/4.3;border-radius:var(--r-img);box-shadow:var(--sh-img);background:#E6DED1}
.band--paper figure picture img,.band--paper .frame img,.standard__fig img{border-radius:var(--r-img)}
.band--paper figure:has(> picture),.standard__fig{border-radius:var(--r-img)}

/* home hero: impactful but framed on the canvas */
.hero{margin:10px clamp(8px,1.1vw,16px) 0;border-radius:28px;min-height:max(620px,calc(100svh - 10px));box-shadow:var(--sh-img)}
.hero__veil{background:linear-gradient(90deg,rgba(8,18,38,.55),rgba(8,18,38,.08) 62%),linear-gradient(180deg,rgba(8,18,38,.42) 0%,rgba(8,18,38,0) 26%,rgba(8,18,38,0) 52%,rgba(8,18,38,.62) 100%)}
@media (max-width:700px){.hero{margin:6px 6px 0;border-radius:22px}}

/* inner page heads sit on the canvas too */
.mast{background:radial-gradient(55% 70% at 88% 18%,rgba(30,155,234,.10),transparent 70%),radial-gradient(45% 55% at 0% 100%,rgba(250,124,13,.06),transparent 70%)}
.mast::after{display:none}

/* footage features become contained, rounded panels */
.feature{width:min(100% - 2*var(--gut),var(--wrap));margin:clamp(24px,4vw,56px) auto;border-radius:24px;box-shadow:var(--sh-img)}
.feature>.wrap{width:auto;margin-inline:clamp(24px,4.5vw,72px)}
.feature__veil{background:linear-gradient(0deg,rgba(8,18,38,.80),rgba(8,18,38,.12) 62%,rgba(8,18,38,0))}

/* closer: the single contained navy call-to-action panel */
.closer{width:min(100% - 2*var(--gut),var(--wrap));margin:clamp(40px,6vw,96px) auto clamp(48px,6vw,88px);border-radius:28px;box-shadow:0 40px 80px -40px rgba(11,23,48,.65)}
.closer>.wrap{width:auto;margin-inline:clamp(24px,5vw,72px)}
.closer__lane{border-radius:0 0 28px 28px}
.foot{border-radius:28px 28px 0 0}

/* kickers: small amber label with a short rule */
.kicker,.band--paper .kicker,.mast .kicker{color:var(--amber-ink);font-weight:700;font-size:.72rem;letter-spacing:.18em}
.kicker::before{width:22px;height:1.5px;background:var(--amber-mark);opacity:1}
.hero .kicker,.feature .kicker,.closer .kicker,.band--navy .kicker{color:#FFC48A}
.hero .kicker::before,.feature .kicker::before,.closer .kicker::before{background:#FFA64D}

/* amber first letter on headings */
.head__t::first-letter,.mast__t::first-letter,.prose h2::first-letter,.panel__t::first-letter{color:var(--amber-mark)}
.hero__t::first-letter,.feature__t::first-letter,.closer__t::first-letter{color:#FFA64D}

/* buttons: orange gradient pills */
.btn--amber{background:linear-gradient(135deg,#FFAE3D 0%,#FA8A1A 50%,#EC6A0C 100%);color:#14213A;box-shadow:0 14px 28px -14px rgba(236,106,12,.8),inset 0 1px 0 rgba(255,255,255,.45)}
.btn--amber:hover{background:linear-gradient(135deg,#FFBA57 0%,#FB9530 50%,#F0760F 100%);transform:translateY(-1px)}

/* home service tiles: white cut-corner cards on the canvas, photo on focus */
.band--tiles{--t-light:#14213A;--t-dim:#4A5468;color:var(--t-dark)}
.band--tiles h2 em{color:var(--sky-ink)}
.band--tiles .kicker{color:var(--amber-ink)}
.ctile{--t-light:#14213A;color:var(--t-dark);filter:drop-shadow(0 16px 22px rgba(20,33,58,.14))}
.ctile__s{background:linear-gradient(150deg,rgba(250,124,13,.45),rgba(20,33,58,.10) 50%,rgba(250,124,13,.32))}
.ctile__f{background:#FFFFFF}
.ctile__ic{color:var(--amber-mark)}
.ctile__t{text-shadow:none}
.ctile.is-act,.ctile:focus-visible{color:#F5F3EE}
.ctile.is-act .ctile__t,.ctile:focus-visible .ctile__t{text-shadow:0 1px 10px rgba(7,9,15,.85)}
.ctile.is-act .ctile__ic,.ctile:focus-visible .ctile__ic{color:#FFB066}
.ctiles__tabs{background:#FFFFFF;box-shadow:var(--sh-card)}
.ctiles__tab{color:var(--t-mute)}
.ctiles__tab:hover{color:var(--t-dark)}
.band--tiles::before,.band--tiles::after,.band--tiles .tband__orb{display:none}
.band--tiles .ctile__f{background:#FFFFFF}
.band--tiles .ctiles__set{filter:drop-shadow(0 18px 24px rgba(20,33,58,.13))}
.ctile{filter:none}
.band--tiles .ctiles__tabs{background:#FFFFFF;box-shadow:var(--sh-card)}
.band--tiles .rail__meter{background:rgba(20,33,58,.1)}
.band--tiles .swipedots button::before{background:rgba(20,33,58,.25)}
@media (hover:hover){.ctile:hover{color:#F5F3EE}.ctile:hover .ctile__t{text-shadow:0 1px 10px rgba(7,9,15,.85)}.ctile:hover .ctile__ic{color:#FFB066}}
.hero__veil{background:linear-gradient(90deg,rgba(8,18,38,.62),rgba(8,18,38,.18) 48%,rgba(8,18,38,0) 70%),linear-gradient(180deg,rgba(8,18,38,.40) 0%,rgba(8,18,38,0) 22%,rgba(8,18,38,0) 50%,rgba(8,18,38,.58) 100%)}
@media (max-width:700px){.hero__veil{background:linear-gradient(180deg,rgba(8,18,38,.38) 0%,rgba(8,18,38,.12) 16%,rgba(8,18,38,.42) 34%,rgba(8,18,38,.62) 62%,rgba(8,18,38,.72) 100%)}}
.pos-guard{object-position:76% 35%}
.mast__frame .frame-chip{--t-light:#14213A;--t-dim:#4A5468;color:var(--t-dark);background:rgba(255,255,255,.94);border-color:rgba(20,33,58,.08);box-shadow:0 12px 28px -16px rgba(20,33,58,.45)}
.mast__frame .frame-chip .i{color:var(--sky-ink)}
.mast__frame .frame-chip b{color:var(--t-dark)}
.hero__t{font-size:clamp(2.4rem,1.2rem + 4.3vw,5.1rem);max-width:12.6em;line-height:1.02}
/* image / text split rows */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:center}
.split--flip .split__media{order:2}
.split__media{position:relative;margin:0;aspect-ratio:16/9;border-radius:var(--r-img);overflow:hidden;box-shadow:var(--sh-img);background:#E6DED1}
.split__media .film,.split__media picture,.split__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split__copy p{color:var(--t-mute);max-width:36rem}
.split__copy .ticks{margin:18px 0 26px}
@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}.split--flip .split__media{order:0}}
/* client-supplied "network" background, very soft and faded at every edge */
.band--mesh{isolation:isolate}
.band--mesh::after{content:"";display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.16;mix-blend-mode:multiply;
  background:url(/assets/ui/net-bg.ffa02f82.webp) center/cover no-repeat;background-image:image-set(url(/assets/ui/net-bg-av.0bef1e87.avif) type("image/avif"),url(/assets/ui/net-bg.ffa02f82.webp) type("image/webp"));
  -webkit-mask-image:radial-gradient(70% 65% at 50% 50%,#000 30%,transparent 78%);mask-image:radial-gradient(70% 65% at 50% 50%,#000 30%,transparent 78%)}
.band--mesh.grain::after{display:block}
.band.band--tiles::before,.band.band--tiles::after{content:none;display:none}
.band.band--tiles{box-shadow:none}
.band--mesh::before{-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}
.band--paper .depth::after{box-shadow:none}

/* =====================================================================
   Rhythm layer (round 8): sections read as distinct rounded sheets in
   cream, white, stone and mist on the canvas (set by the build), with a
   minority of navy sheets for contrast. The home hero is full-bleed again.
   ===================================================================== */
:root{--sheet-x:clamp(8px,1.3vw,20px);--sheet-r:clamp(22px,2.4vw,34px);--navy-1:#0F2A52;--navy-0:#0B1730}
.band.band--white,.band.band--stone,.band.band--mist,.band.band--ivory,.band.band--deep{margin:clamp(10px,1.2vw,16px) var(--sheet-x);border-radius:var(--sheet-r);overflow:clip}
.band.band--white{background:#FFFFFF;box-shadow:0 1px 0 rgba(20,33,58,.04),0 24px 50px -40px rgba(20,33,58,.35)}
.band.band--stone{background:#EEE8DE}
.band.band--mist{background:#EAF3FB}
.band.band--ivory{background:#FBF8F3;box-shadow:inset 0 0 0 1px rgba(20,33,58,.05)}
.band.band--cream{background:transparent}
.band--white .soft,.band--white .glance__list li{border-color:rgba(20,33,58,.09);box-shadow:0 1px 2px rgba(20,33,58,.06),0 16px 34px -24px rgba(20,33,58,.34)}
.band--white .soft{background:#FBF9F5}
.band.band--mesh::after{-webkit-mask-image:radial-gradient(80% 75% at 50% 50%,#000 35%,transparent 85%);mask-image:radial-gradient(80% 75% at 50% 50%,#000 35%,transparent 85%)}

/* navy sheets: light text on the ground, cards inside keep ink on white */
.band.band--deep{background:radial-gradient(60% 70% at 85% 0%,rgba(30,155,234,.22),transparent 70%),radial-gradient(45% 60% at 0% 100%,rgba(250,124,13,.10),transparent 70%),linear-gradient(160deg,#133463 0%,var(--navy-1) 45%,var(--navy-0) 100%);
  color:#F3F6FB;--t-dark:#F3F6FB;--t-mute:#C9D3E3;--t-light:#F3F6FB;--t-dim:#C9D3E3;--sky-ink:#8FD6FF;--amber-ink:#FFB774;--amber-mark:#FFA64D;--line-paper:rgba(255,255,255,.28);--glass-bg:rgba(255,255,255,.08);--glass-line:rgba(255,255,255,.16);--paper:#163766;--paper-2:#132F59;--paper-3:#0F2A52;--focus:0 0 0 3px #0B1730,0 0 0 6px #8FD6FF}
.band--deep .kicker{color:#FFC48A}.band--deep .kicker::before{background:#FFA64D}
.band--deep h1 em,.band--deep h2 em,.band--deep h3 em{color:#8FD6FF}
.band--deep{--t-link:#F3F6FB;--t-link-hi:#8FD6FF}
.band--deep a:not(.btn):not(.clink):not(.scard):not(.tile):not(.bento__i){color:var(--t-link)}
.band--deep a:not(.btn):not(.clink):not(.scard):not(.tile):not(.bento__i):hover{color:var(--t-link-hi)}
.band--deep .soft,.band--deep .tl__s,.band--deep .seal,.band--deep .way,.band--deep .glass,.band--deep .glance__list li,.band--deep .panel,.band--deep form,.band--deep .cert,.band--deep .chip,.band--deep .pstep,.band--deep .way,.band--deep .lcard{
  color:#14213A;--t-dark:#14213A;--t-mute:#4A5468;--t-light:#14213A;--t-dim:#4A5468;--sky-ink:#0969A8;--amber-ink:#A84A00;--amber-mark:#D35F00;--line-paper:#8A8F9C;--paper:#FFFFFF;--paper-2:#FFFFFF;--paper-3:#F2ECE2;--focus:0 0 0 3px #fff,0 0 0 6px #0969A8;--t-link:#0969A8;--t-link-hi:#064E7D}
.band--deep .clink:not(.clink--glass){--cl-bg:radial-gradient(120% 140% at 30% 20%,#FFFFFF 0%,#F4EFE6 100%);--cl-sh:0 12px 26px -14px rgba(0,0,0,.6);color:#14213A;--t-light:#14213A}
.band--deep .band__line,.band--deep hr{border-color:rgba(255,255,255,.18)}
.band--deep.band--mesh::after{mix-blend-mode:screen;opacity:.10;filter:invert(1)}
.band--deep .depth::after,.band--deep.grain::after{display:none}

/* home hero: full-bleed again */
.hero{margin:0;border-radius:0;box-shadow:none;min-height:max(620px,100svh)}
@media (max-width:700px){.hero{margin:0;border-radius:0}}

/* contrast fixes */
.menu .clink,.menu a.clink{--t-light:#F5F3EE;--t-dim:#C9D3E3;color:#F5F3EE}
.menu .clink:hover{color:#FFFFFF}
.band--paper a.scard,.band--paper a.bento__i,.band--paper a.tile,.band--paper a.scard:hover,.band--paper a.bento__i:hover,.band--paper a.tile:hover{color:#F7F8FB}
.scard::after{background:linear-gradient(180deg,rgba(7,12,24,0) 28%,rgba(7,12,24,.5) 56%,rgba(7,12,24,.9) 100%)}
.scard__t,.bento__t,.tile__t{color:#FFFFFF;text-shadow:0 1px 12px rgba(5,10,20,.65)}
.scard__t~*,.scard p,.bento__i p,.tile p{color:#E7ECF4}
.scard .i,.bento__i .i{color:#FFC48A}

/* kickers: darker and heavier everywhere they sit on a light ground */
.kicker,.band--paper .kicker,.mast .kicker{color:#8F3E00;font-weight:800;font-size:.76rem;letter-spacing:.16em}
.kicker::before{height:2px}
.faqcat h2{font:800 .8rem/1.2 var(--sans);letter-spacing:.14em;color:#8F3E00}
.band--deep .faqcat h2,.band--deep .kicker,.hero .kicker,.feature .kicker,.closer .kicker,.band--navy .kicker{color:#FFC48A}

/* FAQ questions: clearly bold, solid ink */
.acc__i summary{font-weight:700;color:#14213A}
.acc__i summary:hover{color:#0969A8}
.band--deep .acc__i summary,.feature .acc__i summary,.closer .acc__i summary,.acc--dark .acc__i summary{color:#F3F6FB}

/* hero reel: two stacked clips, the front one fades in over the other */
.reel .film__clip{opacity:0;transition:opacity 1.4s cubic-bezier(.42,0,.58,1);transform:translateZ(0);will-change:opacity;backface-visibility:hidden}
@media (prefers-reduced-motion:reduce){.reel .film__clip{animation:none!important;transition:none}}
.reel.is-playing .film__clip{opacity:0}
.reel .film__clip.is-under{opacity:1;z-index:1;transition:none}
.reel .film__clip.is-front{opacity:1;z-index:2}

/* abstract texture videos behind a few sections: subtle, under the content */
.band>.tex{position:absolute;inset:0;z-index:-1;pointer-events:none;background:transparent;opacity:.22;-webkit-mask-image:radial-gradient(85% 80% at 50% 50%,#000 40%,transparent 92%);mask-image:radial-gradient(85% 80% at 50% 50%,#000 40%,transparent 92%)}
.band>.tex .film__poster,.band>.tex .film__clip{filter:grayscale(1)}
.band--deep>.tex{mix-blend-mode:screen;opacity:.30}
.band--mist>.tex,.band--white>.tex,.band--stone>.tex{mix-blend-mode:multiply;opacity:.16}
.band:has(>.tex){position:relative;isolation:isolate}
.band:has(>.tex)::after{display:none}
.band--deep .way{--t-link:#14213A;--t-link-hi:#0969A8}
.band--deep .clink--paper,.band--deep a.clink--paper{--t-dark:#14213A;--t-light:#14213A;--t-dim:#4A5468;color:#14213A}
.verified{color:#075A90}
.band--deep .verified{color:#075A90}
.band--deep .tl__n{color:#8FD6FF;opacity:1}
@media (max-width:820px){.band--deep .tl__n{color:#A84A00}}

/* =====================================================================
   Band layer (round 9): sections are full-bleed bands again. Light bands
   change shade from one to the next and every third or so band is navy
   (chosen by the build). Only the footage panel and the closing panel are
   rounded, and both use the same width, inset and radius.
   ===================================================================== */
:root{--panel-w:min(100% - 2*var(--gut),var(--wrap));--panel-r:28px}
@media (max-width:700px){:root{--panel-r:22px}}
body{background:#F7F2EA}
.band.band--white,.band.band--stone,.band.band--mist,.band.band--ivory,.band.band--cream,.band.band--deep{margin:0;border-radius:0;box-shadow:none}
.band.band--white{background:#FFFFFF}
.band.band--ivory{background:#F8F5EF}
.band.band--cream{background:#F7F2EA}
.band.band--stone{background:#EEE8DE}
.band.band--mist{background:#EAF3FB}
.band.band--deep{background:radial-gradient(80% 60% at 100% 0%,rgba(30,155,234,.18),transparent 60%),radial-gradient(50% 60% at 0% 100%,rgba(250,124,13,.06),transparent 70%),linear-gradient(180deg,#12305C,#0F2A52 60%,#0D2447)}
.band--white .soft{background:#FFFFFF}
/* the only rounded panels: one shared size and radius */
.feature,.closer{width:var(--panel-w);margin-inline:auto;border-radius:var(--panel-r)}
.closer__lane{border-radius:0 0 var(--panel-r) var(--panel-r)}
.feature{margin-block:clamp(32px,5vw,72px)}
.closer{margin-block:clamp(40px,6vw,88px)}
.foot{border-radius:0}

/* call group: call pill with the emergency button stacked beneath, same width */
.bigcall{gap:12px;margin:0;padding:10px 22px 10px 11px}
.bigcall .i{width:36px;height:36px;padding:8.5px}
.bigcall>span{gap:4px}
.callcard__n.bigcall__n,.bigcall__n,.bigcall .bigcall__n{font-size:clamp(1.25rem,1.05rem + .75vw,1.7rem)}
.bigcall small{font-size:.66rem;line-height:1.4}
.mast .bigcall{margin:22px 0 18px}
.callstack{display:inline-grid;gap:12px;margin:24px 0 8px;min-width:min(100%,300px)}
.callstack .bigcall{width:100%}
.callstack__alt.btn{width:100%;justify-content:space-between;min-height:50px;padding:.7em 1.1em .7em 1.4em;background:#FFFFFF;color:#14213A;border:1px solid rgba(20,33,58,.14);box-shadow:0 12px 26px -16px rgba(11,23,48,.55);font-weight:700}
.callstack__alt.btn .i{width:30px;height:30px;padding:7px;border-radius:50%;background:linear-gradient(135deg,#FFAE3D,#EC6A0C);color:#14213A}
.callstack__alt.btn:hover{background:#FFF7EE;color:#14213A}
.band--deep .callstack__alt.btn{border-color:transparent}
@media (max-width:420px){.callstack{display:grid;width:100%}}
/* the footage panel's two links: one matching pair */
.feature .act .btn{min-width:180px;justify-content:space-between}
.band--deep>.tex--net .film__poster,.band--deep>.tex--net .film__clip{filter:grayscale(1) invert(1)}
.band--deep>.tex--net{opacity:.22}
.band--deep .clink:not(.clink--glass),.band--deep a.clink:not(.clink--glass){--t-dark:#14213A;--t-light:#14213A;--t-dim:#4A5468;color:#14213A}
.band--deep .glass{--glass-bg:rgba(255,255,255,.96);--glass-line:rgba(20,33,58,.08);background:#FFFFFF}
/* coverage page offices: navy, as before the daylight redesign */
.band--deep .map__dots{stroke:rgba(174,182,198,.45)}
.band--deep .map__pin text{fill:#F3F6FB}
.band--deep .office{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);box-shadow:none;color:#F3F6FB}
.band--deep .office address{color:#C9D3E3}
/* home buyer's checklist: the original night mesh and outlined cut-corner cards (pre-redesign look) */
.band.band--deep#standards{background:var(--night)}
#standards.band--deep::before{background:radial-gradient(42% 46% at 12% 8%,rgba(10,63,134,.62),transparent 70%),radial-gradient(30% 36% at 88% 24%,rgba(250,124,13,.13),transparent 70%),radial-gradient(38% 44% at 62% 96%,rgba(124,236,254,.08),transparent 70%);-webkit-mask-image:none;mask-image:none}
#standards.band--deep .lcard{color:#F5F3EE;--t-dark:#F5F3EE;--t-light:#F5F3EE;--t-mute:#B4BDCC;--t-dim:#B4BDCC;--t-link:#F5F3EE;--t-link-hi:#FFB774;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0));box-shadow:none}
#standards.band--deep .lcard:hover{border-color:rgba(250,124,13,.45)}
#standards.band--deep .lcard::before{background:linear-gradient(var(--amber),var(--amber)) 0 0/16px 1px,linear-gradient(var(--amber),var(--amber)) 0 0/1px 16px,linear-gradient(var(--amber),var(--amber)) 100% 0/16px 1px,linear-gradient(var(--amber),var(--amber)) 100% 0/1px 16px,linear-gradient(var(--amber),var(--amber)) 0 100%/16px 1px,linear-gradient(var(--amber),var(--amber)) 0 100%/1px 16px,linear-gradient(var(--amber),var(--amber)) 100% 100%/16px 1px,linear-gradient(var(--amber),var(--amber)) 100% 100%/1px 16px;background-repeat:no-repeat}
#standards.band--deep .lcard__ic{border-color:rgba(255,255,255,.2);color:var(--amber);background:transparent}
#standards.band--deep .lcard__k{color:#B4BDCC}
#standards.band--deep .lcard__d{color:#C9D3E3}
#standards.band--deep .lcard__t{color:#F5F3EE}
/* card-on-section audit fixes (Oct 2026) */
.band--deep .comp__list li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
.band--deep .comp__list .i{color:#8FD6FF}
.band--deep .tl__n{color:#A84A00}
.band--deep .rail__count b,.band--deep .rail__count .nd{color:#FFB774}
.band--paper .quote__stars .on,.quote__stars .on{color:#C25700}
.band--deep .quote__stars .on,.feature .quote__stars .on,.closer .quote__stars .on{color:#FFA64D}
.band--deep .pillars--clay li{color:#14213A;--t-dark:#14213A;--t-mute:#4A5468;--t-light:#14213A;--t-dim:#4A5468}
#standard .chip{background:linear-gradient(145deg,#F8F6F1,#ECE7DC);box-shadow:var(--sh-clay)}

/* photo state of the cut-corner tiles and image cards: pure white title, soft shadow, amber icon (hover, focus, tap, auto-highlight) */
.ctile.is-act,.ctile:focus-visible,.ctile:active{color:#FFFFFF}
.ctile.is-act .ctile__t,.ctile:focus-visible .ctile__t,.ctile:active .ctile__t{color:#FFFFFF;text-shadow:0 1px 2px rgba(0,0,0,.55),0 2px 14px rgba(0,0,0,.6)}
.ctile.is-act .ctile__ic,.ctile:focus-visible .ctile__ic,.ctile:active .ctile__ic{color:#FFB066}
@media (hover:hover){.ctile:hover{color:#FFFFFF}.ctile:hover .ctile__t{color:#FFFFFF;text-shadow:0 1px 2px rgba(0,0,0,.55),0 2px 14px rgba(0,0,0,.6)}.ctile:hover .ctile__ic{color:#FFB066}}
.tile:hover,.tile:focus-visible,.tile:active,.scard:hover,.scard:focus-visible,.scard:active,.bento__i:hover,.bento__i:focus-visible,.bento__i:active{color:#FFFFFF}
.tile:hover .tile__t,.tile:focus-visible .tile__t,.scard:hover .scard__t,.scard:focus-visible .scard__t,.bento__i:hover .bento__t,.bento__i:focus-visible .bento__t{color:#FFFFFF}
.tile .tile__d,.bento__i .bento__d,.scard .scard__d{color:#FFFFFF;text-shadow:0 1px 2px rgba(0,0,0,.5)}

/* ---- phone type scale and declutter (under 768px; tested at 360, 390, 430) ---- */
@media (max-width:767px){
  .kicker{font-size:.7rem;letter-spacing:.12em;gap:8px}
  .hero__kw-long{display:none}
  .hero__kw{white-space:nowrap}
  .hero__t{font-size:clamp(2.05rem,1.05rem + 5vw,2.4rem);line-height:1.07;letter-spacing:-.02em}
  .hero__t .hero__kw{margin-bottom:14px}
  .hero__lead{font-size:clamp(.94rem,.86rem + .4vw,1rem);line-height:1.55;max-width:34ch}
  .hero__panel{display:none}
  .hero__grid{padding:112px 0 calc(var(--dock-h,64px) + 40px + env(safe-area-inset-bottom));gap:0}
  .hero{min-height:max(560px,100svh)}
  .hero__veil{background:linear-gradient(180deg,rgba(8,18,38,.42) 0%,rgba(8,18,38,.12) 18%,rgba(8,18,38,.38) 40%,rgba(8,18,38,.7) 66%,rgba(8,18,38,.82) 100%),linear-gradient(90deg,rgba(8,18,38,.35),rgba(8,18,38,0) 70%)}
  .mast__t{font-size:clamp(1.85rem,.9rem + 4.6vw,2.2rem);line-height:1.1;letter-spacing:-.018em}
  .mast__lead{font-size:clamp(.94rem,.86rem + .4vw,1rem);line-height:1.55}
  .head__t{font-size:clamp(1.55rem,1.05rem + 2.4vw,1.85rem);line-height:1.15}
  .head__lead{font-size:.97rem}
  .btn,.btn--lg{min-height:46px;padding:.7em 1em;font-size:.9rem;gap:.45em;letter-spacing:0}
  .btn .i{width:1.05em;height:1.05em}
  .act{flex-wrap:wrap;gap:10px}
  .hero .act .btn,.mast .act .btn{flex:0 0 auto;width:auto}
  .bigcall,.callstack .bigcall{min-height:48px}
  /* carousel control rows: one line, 44px clay buttons, even gaps */
  .rbtn{width:44px;height:44px;flex:none}
  .rail__ctl,.js .ctiles__ctl{flex-wrap:nowrap;gap:10px;justify-content:center}
  .rail__count{white-space:nowrap;font-size:.8rem;padding-inline:4px}
  .rail__count b{font-size:1.15rem}
  .ctiles__tabs{flex:none;gap:4px;padding:3px}
  .ctiles__tab{min-width:0;min-height:44px;padding:0 12px;font-size:.84rem;white-space:nowrap}
  .ctiles__tab .nd{margin:0 .12em}
  /* swipe dots: visible on every background, amber pill when active, ring on keyboard focus only */
  .swipedots{gap:0}
  .swipedots button:focus{outline:none;box-shadow:none}
  .swipedots button:focus-visible{outline:2px solid var(--sky-ink);outline-offset:-6px;border-radius:999px}
  .swipedots button::before{background:rgba(20,33,58,.55)}
  .band--deep .swipedots button::before,.band--night .swipedots button::before,.hero .swipedots button::before,.feature .swipedots button::before,.closer .swipedots button::before{background:rgba(255,255,255,.55)}
  .band--deep .swipedots button:focus-visible{outline-color:#8FD6FF}
  .swipedots button[aria-current="true"]::before,.band--deep .swipedots button[aria-current="true"]::before{width:24px;background:var(--amber)}
}
@media (max-width:380px){
  .btn,.btn--lg{padding:.7em .8em;font-size:.86rem;gap:.35em}
  .act{gap:8px}
  .rail__ctl,.js .ctiles__ctl{gap:8px}
  .ctiles__tab{padding:0 10px;font-size:.8rem}
}
@media (max-width:767px){
  .rail--dots .rail__ctl{gap:8px}
  .rail__dots{gap:0;padding:0;flex:0 1 auto;min-width:0}
  .rail__dot{width:24px}.rail__dot[aria-current]{width:36px}.rail__dot[aria-current]::before{width:24px;margin-left:-12px}
  .band--deep .rail__dot::before{background:rgba(255,255,255,.55)}
  .rail__dot::before{width:8px;height:8px}
}
@media (max-width:380px){.rail--dots .rail__ctl{gap:6px}}
/* inactive pagination dots at 3:1 or better on light and navy */
.band--paper .rail__dot::before,.rail__dot::before{background:rgba(20,33,58,.55)}
.band--paper .rail__dot:hover::before{background:rgba(20,33,58,.75)}
.band--deep .rail__dot::before,.band--night .rail__dot::before,.feature .rail__dot::before,.closer .rail__dot::before{background:rgba(255,255,255,.55)}
.band--deep .rail__dot:hover::before{background:rgba(255,255,255,.8)}
@media (max-width:767px){
  .band--paper .swipedots button::before,.band--tiles .swipedots button::before{background:rgba(20,33,58,.55)}
  .band--paper.band--deep .swipedots button::before,.band.band--deep .swipedots button::before{background:rgba(255,255,255,.55)}
  .band--paper .swipedots button[aria-current="true"]::before,.band.band--deep .swipedots button[aria-current="true"]::before{background:var(--amber)}
}
/* r11: footer status column spans full width on phones so the threat card and socials never clip at 360 */
@media (max-width:599px){
  .foot__cols>*{min-width:0}
  .foot__cols>div:last-child{grid-column:1/-1}
  .foot__cols>div:last-child .threat--foot{max-width:100%}
}

/* =====================================================================
   Final revision layer (Oct 2026): black or white headings, nav current
   page, mission section, navy neumorphism, one enquiry form with a custom
   listbox, careers apply panel, All Services background, layered scroll.
   ===================================================================== */
:root{--hd:#0B0F1A;--ember:#E8700A;--ember-ink:#B65300;--neu-navy:#123462}

/* headings: black on light grounds, white on dark ones; no coloured words or first letters */
.hero,.feature,.closer,.foot,.band--deep,.band--night,.mast--alert{--hd:#FFFFFF}
.band--deep :is(.soft,.seal,.way,.glass,.glance__list li,.panel,form,.cert,.chip,.pstep,.pillars--clay li,.office:not(.band--deep .office)){--hd:#0B0F1A}
.band--deep .office{--hd:#FFFFFF}
:is(h1,h2,h3,h4,.head__t,.mast__t,.hero__t,.feature__t,.closer__t,.panel__t,.idx__t,.lcard__t){color:var(--hd)!important}
:is(h1,h2,h3,h4,.head__t,.mast__t,.hero__t,.feature__t,.closer__t,.panel__t) :is(em,strong,b,span:not(.kicker):not(.kicker *):not(.live):not(.vh)){color:inherit!important}
:is(h1,h2,h3,h4,.head__t,.mast__t,.hero__t,.feature__t,.closer__t,.panel__t,.prose h2)::first-letter{color:inherit!important}
.hero__t .hero__kw,.hero__t .hero__kw *{color:#FFC48A!important}

/* nav: the current page (and its menu) in bold ink with an ember underline; neutral hover pill, no blue box */
.nav__link[aria-current],.nav__link[data-current]{color:#0B0F1A;font-weight:700}
.nav__link[aria-current]::after,.nav__link[data-current]::after{left:.85em;right:.85em;width:auto;margin-left:0;bottom:6px;height:2.5px;border-radius:2px;background:var(--ember);box-shadow:none}
.nav__trigger[data-current]::after{right:calc(.85em + 1.1em);margin-left:0}
:is(.is-home,.is-filmtop) .bar:not(.is-solid) .nav__link[aria-current],:is(.is-home,.is-filmtop) .bar:not(.is-solid) .nav__link[data-current]{color:#FFFFFF}
.nav__hl{background:linear-gradient(180deg,rgba(20,33,58,.07),rgba(20,33,58,.03));border-color:rgba(20,33,58,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.menu li>a[aria-current]{font-weight:700;color:#0B0F1A;text-decoration:underline;text-decoration-color:var(--ember);text-decoration-thickness:2.5px;text-underline-offset:5px}
.drawer__nav>a[aria-current],.drawer__body a[aria-current]{font-weight:700;color:#0B0F1A;text-decoration:underline;text-decoration-color:var(--ember);text-decoration-thickness:2.5px;text-underline-offset:5px}
.drawer__nav>a[aria-current]::before,.drawer__nav details.is-here>summary::before{background:var(--ember);box-shadow:none}
/* services menu: Guarding is the long list, so it takes two columns */
.menu--wide{width:min(1040px,94vw)}
.menu__cols{grid-template-columns:2fr 1fr 1fr 1fr}
.menu__col--guarding ul{columns:2;column-gap:18px}
.menu__col--guarding li{break-inside:avoid}

/* mission section under the home hero (and on About): the client's officer photo in a raised frame */
.mission__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,5vw,80px);align-items:center}
.mission__fig{position:relative;margin:0;padding:14px;border-radius:34px;background:linear-gradient(145deg,#FFFFFF,#EEE9E0);box-shadow:18px 22px 44px rgba(18,24,38,.16),-14px -14px 32px rgba(255,255,255,.95)}
.mission__fig picture,.mission__fig img{display:block;width:100%;aspect-ratio:4/4.4;object-fit:cover;object-position:72% 30%;border-radius:24px}
.mission__chip{position:absolute;left:clamp(-18px,-1.4vw,-8px);bottom:28px;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border-radius:20px;background:#FFFFFF;color:#14213A;box-shadow:12px 16px 30px rgba(18,24,38,.18),-6px -6px 16px rgba(255,255,255,.9);font-size:.86rem;line-height:1.3}
.mission__chip .i{width:40px;height:40px;padding:9px;border-radius:50%;flex:none;background:linear-gradient(145deg,#FFB24D,#EC6A0C);color:#14213A;box-shadow:inset 2px 2px 4px rgba(255,255,255,.45),inset -3px -3px 6px rgba(160,70,0,.35)}
.mission__chip b{display:block;font-weight:700}.mission__chip small{display:block;color:#4A5468;font-size:.8rem}
.mission__copy .head{margin-bottom:22px}
.mission__pillars{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mission__pillars li{display:block;padding:20px 18px}
.mission__pillars li .pill-ic{margin-bottom:12px}
.mission__pillars h3{font-size:1.02rem;margin-bottom:4px}
.mission__pillars p{font-size:.9rem;margin:0}
@media (max-width:1100px){.mission__pillars{grid-template-columns:1fr}.mission__pillars li{display:flex;gap:14px;align-items:flex-start}.mission__pillars li .pill-ic{margin:0}}
@media (max-width:900px){.mission__grid{grid-template-columns:minmax(0,1fr)}.mission__fig{max-width:520px}.mission__fig picture,.mission__fig img{aspect-ratio:4/3.4}.mission__chip{left:10px;bottom:14px}}
.mquote{position:relative;margin:0;padding:clamp(24px,3vw,34px) clamp(22px,3vw,36px);border-radius:28px;background:linear-gradient(145deg,#FFFFFF,#F1ECE3);box-shadow:14px 16px 34px rgba(18,24,38,.13),-12px -12px 28px rgba(255,255,255,.95),inset 1px 1px 0 rgba(255,255,255,.9);color:#14213A}
.mquote__k{display:flex;align-items:center;gap:10px;margin:0 0 12px;font:800 .74rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#8F3E00}
.mquote__k .i{width:34px;height:34px;padding:8px;border-radius:50%;background:#F7F2EA;color:var(--ember-ink);box-shadow:inset 3px 3px 6px rgba(18,24,38,.12),inset -3px -3px 6px rgba(255,255,255,.95)}
.mquote__q{margin:0;padding:0;border:0}
.mquote__q p{margin:0;font:500 clamp(1.02rem,.95rem + .35vw,1.2rem)/1.6 var(--sans);color:#14213A}
.mquote__by{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(20,33,58,.12)}
.mquote__by b{font:700 .95rem/1.2 var(--head);letter-spacing:.06em;text-transform:uppercase;color:#0B0F1A}
.mquote__by span{color:#4A5468;font-size:.9rem}
.mission__solo{max-width:900px}
.mission__solo .head{margin-bottom:28px}
.mquote--lg .mquote__q p{font-size:clamp(1.12rem,1rem + .55vw,1.42rem);line-height:1.55}

/* navy bands with neumorphic cards: the home Buyer's checklist and Four steps (same navy, same card language) */
.band.band--deep.band--neu-dark,.band.band--deep#standards{background:radial-gradient(80% 60% at 100% 0%,rgba(30,155,234,.16),transparent 60%),linear-gradient(180deg,#12305C,#0F2A52 60%,#0D2447)}
#standards.band--deep::before,#standards.band--deep.band--mesh::after{display:none}
.band--neu-dark .tl__s,#standards.band--deep .lcard{--hd:#FFFFFF;color:#F3F6FB;--t-dark:#F3F6FB;--t-light:#F3F6FB;--t-mute:#C9D3E3;--t-dim:#C9D3E3;--t-link:#F3F6FB;--t-link-hi:#FFB774;
  background:linear-gradient(145deg,#15396B,#0F2B54);border:1px solid rgba(255,255,255,.07);
  box-shadow:12px 14px 28px rgba(3,10,26,.55),-8px -8px 22px rgba(52,96,160,.22),inset 1px 1px 0 rgba(255,255,255,.08)}
.band--neu-dark .tl__s p,#standards.band--deep .lcard__d{color:#C9D3E3}
#standards.band--deep .lcard__k{color:#FFC48A}
.band--neu-dark .tl__ic,#standards.band--deep .lcard__ic{background:#11305C;color:#FFA64D;border:0;box-shadow:inset 4px 4px 9px rgba(3,10,26,.6),inset -4px -4px 9px rgba(60,104,170,.3)}
.band--neu-dark .tl__n{color:#FFB774!important}
.band--neu-dark .tl__s:is(:hover,:focus-within),#standards.band--deep .lcard:hover{translate:0 -6px;border-color:rgba(255,166,77,.35);box-shadow:16px 20px 36px rgba(3,10,26,.6),-10px -10px 26px rgba(52,96,160,.26),inset 1px 1px 0 rgba(255,255,255,.1)}
.band--neu-dark .tl__s:is(:hover,:focus-within) .tl__ic{color:#FFC48A;box-shadow:inset 3px 3px 7px rgba(3,10,26,.6),inset -3px -3px 7px rgba(60,104,170,.3),0 0 0 4px rgba(250,124,13,.14),0 0 18px rgba(250,124,13,.3)}
#standards.band--deep .lcard::before{display:none}
#standards.band--deep .lcard{transition:translate .35s var(--spring),box-shadow .35s,border-color .35s}
@media (prefers-reduced-motion:reduce){#standards.band--deep .lcard:hover,.band--neu-dark .tl__s:is(:hover,:focus-within){translate:none}}
@media (max-width:820px){.band--neu-dark .tl__ic{background:#11305C}}
#standards .fine,#standards .fine a{color:#C9D3E3}

/* reviews: two buttons side by side */
.head-row__acts{display:flex;flex-wrap:wrap;gap:12px}

/* careers: apply panel (the form is gone) */
.apply__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,72px);align-items:center}
.apply__btn{margin-top:6px}
.apply__note{display:flex;align-items:center;gap:8px;margin:14px 0 0;color:#4A5468;font-size:.9rem}
.apply__note .i{width:16px;height:16px;color:var(--ember-ink)}
.apply__panel{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:16px;border-radius:34px;background:linear-gradient(145deg,#F4F0E9,#FFFFFF);box-shadow:inset 6px 6px 14px rgba(18,24,38,.08),inset -6px -6px 14px rgba(255,255,255,.95)}
.apply__card{padding:24px 22px;border-radius:24px;background:linear-gradient(145deg,#FFFFFF,#F3EEE6);box-shadow:10px 12px 26px rgba(18,24,38,.12),-8px -8px 20px rgba(255,255,255,.95);color:#14213A}
.apply__k{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:700 1.02rem/1.2 var(--head);color:#0B0F1A}
.apply__k .i{width:36px;height:36px;padding:8px;border-radius:50%;background:linear-gradient(145deg,#FFB24D,#EC6A0C);color:#14213A;box-shadow:inset 2px 2px 4px rgba(255,255,255,.45),inset -3px -3px 6px rgba(160,70,0,.35)}
.apply__list,.apply__steps{display:grid;gap:10px;margin:0;padding:0;list-style:none;font-size:.94rem;line-height:1.45}
.apply__list li{display:flex;gap:10px;align-items:flex-start}
.apply__list .i{flex:none;width:18px;height:18px;margin-top:2px;color:#B65300}
.apply__steps li{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:start}
.apply__n{font:700 .82rem/1.9 var(--head);color:#8F3E00;font-feature-settings:"tnum","lnum"}
@media (max-width:980px){.apply__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:620px){.apply__panel{grid-template-columns:1fr;padding:10px;border-radius:28px}}

/* All Services: the client's network footage behind frosted rows; clay arrow buttons turn ember on hover */
.idx-band{position:relative;isolation:isolate;overflow:clip}
.idx-band__film{z-index:-2;background:#F4F6F8}
.idx-band__film .film__poster,.idx-band__film .film__clip{filter:grayscale(1) contrast(1.05);opacity:.55}
.idx-band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(247,242,234,.35) 40%,rgba(255,255,255,.55));pointer-events:none}
.idx-band .idx{margin-bottom:40px;padding:clamp(18px,2.4vw,30px);border-radius:30px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);border:1px solid rgba(255,255,255,.8);box-shadow:16px 20px 44px rgba(18,24,38,.12),-10px -10px 26px rgba(255,255,255,.7)}
.idx-band .idx__h{color:#0B0F1A!important;font:800 .82rem/1 var(--sans);border-bottom-color:rgba(20,33,58,.14)}
.idx-band .idx__h span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#F7F2EA;color:var(--ember-ink);box-shadow:inset 3px 3px 6px rgba(18,24,38,.12),inset -3px -3px 6px rgba(255,255,255,.95)}
.idx-band .idx__row{border-bottom-color:rgba(20,33,58,.1);color:#14213A;border-radius:18px}
.idx-band .idx__list li:last-child .idx__row{border-bottom:0}
.idx-band .idx__row:hover,.idx-band .idx__row:focus-visible{background:rgba(255,255,255,.9);box-shadow:0 14px 30px -18px rgba(18,24,38,.35)}
.idx-band .idx__t{color:#0B0F1A!important}
.idx-band .idx__d{color:#3E4757}
.idx-band .idx__thumb{box-shadow:4px 6px 12px rgba(18,24,38,.18)}
.idx-band .idx__go{background:linear-gradient(145deg,#FFFFFF,#ECE6DB);color:#14213A;box-shadow:6px 8px 14px rgba(18,24,38,.16),-5px -5px 12px rgba(255,255,255,.95),inset 1px 1px 0 rgba(255,255,255,.9);transition:background .25s,box-shadow .25s,transform .35s var(--spring)}
.idx-band .idx__go .i{color:#14213A;transition:transform .35s var(--spring),color .2s}
.idx-band .idx__row:is(:hover,:focus-visible) .idx__go{background:linear-gradient(145deg,#FFA94A,#EC6A0C);box-shadow:8px 10px 18px rgba(168,74,0,.32),inset 2px 2px 3px rgba(255,236,212,.6),inset -3px -3px 6px rgba(150,58,0,.4);transform:translateY(-2px)}
.idx-band .idx__row:is(:hover,:focus-visible) .idx__go .i{color:#0B0F1A;transform:translateX(2px)}
.idx-more{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:6px 4px}
.idx-more__k{margin:0 8px 0 0;font:800 .76rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#8F3E00}


/* enquiry form: one design everywhere; narrow side panels stack the paired fields */
.detail__side .eform .field-row,.now__form .eform .field-row{grid-template-columns:1fr;gap:0}
@media (min-width:1180px){.now__form .eform .field-row{grid-template-columns:1fr 1fr;gap:14px}}
.eform .panel__t{margin-bottom:4px}.eform .panel__sub{margin-bottom:18px}
/* native select (touch phones and no-JS): same face as the custom button */
.field--select select{cursor:pointer;font-weight:600;color:#14213A}
/* custom listbox */
.sel{position:relative}
.sel__native{position:absolute!important;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.sel__btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;padding:.7em .8em .7em 1em;border-radius:14px;border:1px solid var(--line-paper,#C9C2B6);background:#FBFAF7;color:#14213A;font:600 1rem/1.3 var(--sans);text-align:left;cursor:pointer;box-shadow:inset 3px 3px 7px rgba(18,24,38,.08),inset -3px -3px 7px rgba(255,255,255,.9);transition:border-color .2s,box-shadow .2s}
.sel__btn:hover{border-color:#8A8F9C}
.sel__btn:focus-visible,.sel.is-open .sel__btn{outline:none;border-color:#0F2A52;box-shadow:inset 2px 2px 5px rgba(18,24,38,.06),0 0 0 3px rgba(232,112,10,.35)}
.sel__v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sel__chev{flex:none;width:30px;height:30px;border-radius:50%;background:linear-gradient(145deg,#FFFFFF,#ECE6DB);box-shadow:3px 4px 8px rgba(18,24,38,.14),-3px -3px 6px rgba(255,255,255,.9);position:relative;transition:background .2s}
.sel__chev::before{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-5px 0 0 -4px;border:solid #14213A;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .25s var(--spring,ease),margin .25s}
.sel.is-open .sel__chev{background:linear-gradient(145deg,#FFA94A,#EC6A0C)}
.sel.is-open .sel__chev::before{transform:rotate(-135deg);margin-top:-2px}
.field.is-invalid .sel__btn{border-color:#B3261E}
.sel__list{position:absolute;z-index:70;margin:0;padding:8px;list-style:none;overflow-y:auto;overscroll-behavior:contain;border-radius:18px;background:#FFFFFF;border:1px solid rgba(20,33,58,.12);box-shadow:0 26px 60px -24px rgba(11,23,48,.45),0 8px 18px -10px rgba(11,23,48,.25);scrollbar-width:thin;scrollbar-color:#C9C2B6 transparent;opacity:0;transform:translateY(-6px);transition:opacity .16s ease,transform .2s var(--spring,ease)}
.sel__list.is-up{transform:translateY(6px)}
.sel__list.is-in{opacity:1;transform:none}
.sel__grp{padding:12px 12px 6px;font:800 .7rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#8F3E00}
.sel__grp:first-child{padding-top:6px}
.sel__o{position:relative;display:flex;align-items:center;min-height:42px;padding:.55em 2.4em .55em .9em;border-radius:12px;color:#14213A;font:500 .98rem/1.3 var(--sans);cursor:pointer}
.sel__o.is-act{background:#FFF1E2;color:#0B0F1A}
.sel__o.is-act::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--ember)}
.sel__o[aria-selected="true"]{font-weight:700}
.sel__o[aria-selected="true"]::after{content:"";position:absolute;right:14px;top:50%;width:6px;height:11px;margin-top:-7px;border:solid #B65300;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
@media (prefers-reduced-motion:reduce){.sel__list{transition:none;transform:none}}

/* landing pages: raised fact panel, navy check cards, service link cards */
.neu-panel{padding:clamp(22px,3vw,32px);border-radius:30px;background:linear-gradient(145deg,#FFFFFF,#F1ECE3);box-shadow:14px 16px 34px rgba(18,24,38,.13),-12px -12px 28px rgba(255,255,255,.95);color:#14213A}
.neu-panel__k{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:700 1.05rem/1.2 var(--head);color:#0B0F1A}
.neu-panel__k .i{width:36px;height:36px;padding:8px;border-radius:50%;background:linear-gradient(145deg,#FFB24D,#EC6A0C);color:#14213A}
.factlist{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:0}
.factlist li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(20,33,58,.1);font-size:.95rem}
.factlist li span{color:#4A5468}.factlist li b{color:#0B0F1A;text-align:right}
.neu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0;list-style:none}
.neu-card{padding:26px 22px;border-radius:26px;color:#F3F6FB;--hd:#FFFFFF;background:linear-gradient(145deg,#15396B,#0F2B54);border:1px solid rgba(255,255,255,.07);box-shadow:12px 14px 28px rgba(3,10,26,.55),-8px -8px 22px rgba(52,96,160,.22),inset 1px 1px 0 rgba(255,255,255,.08)}
.neu-card__ic{display:grid;place-items:center;width:52px;height:52px;margin-bottom:18px;border-radius:50%;background:#11305C;color:#FFA64D;box-shadow:inset 4px 4px 9px rgba(3,10,26,.6),inset -4px -4px 9px rgba(60,104,170,.3)}
.neu-card h3{font-size:1.15rem;margin-bottom:6px}.neu-card p{margin:0;color:#C9D3E3;font-size:.95rem}
@media (max-width:980px){.neu-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.neu-grid{grid-template-columns:1fr}}
.lcards2{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none}
.lcard2{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;padding:22px 20px 58px;border-radius:24px;text-decoration:none;color:#14213A;background:linear-gradient(145deg,#FFFFFF,#F2EDE5);box-shadow:10px 12px 26px rgba(18,24,38,.12),-8px -8px 20px rgba(255,255,255,.95);transition:translate .35s var(--spring),box-shadow .35s}
.lcard2:hover,.lcard2:focus-visible{translate:0 -4px;box-shadow:14px 18px 32px rgba(18,24,38,.16),-10px -10px 24px rgba(255,255,255,1)}
.lcard2__ic{display:grid;place-items:center;width:46px;height:46px;margin-bottom:8px;border-radius:50%;background:#F7F2EA;color:#B65300;box-shadow:inset 3px 3px 7px rgba(18,24,38,.12),inset -3px -3px 7px rgba(255,255,255,.95)}
.lcard2__t{font:700 1.08rem/1.25 var(--head);color:#0B0F1A}
.lcard2__d{font-size:.92rem;line-height:1.5;color:#4A5468}
.lcard2__go{position:absolute;right:16px;bottom:14px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#FFFFFF,#ECE6DB);color:#14213A;box-shadow:4px 6px 12px rgba(18,24,38,.14),-4px -4px 10px rgba(255,255,255,.9);transition:background .25s}
.lcard2:hover .lcard2__go,.lcard2:focus-visible .lcard2__go{background:linear-gradient(145deg,#FFA94A,#EC6A0C)}
@media (max-width:1100px){.lcards2{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.lcards2{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.lcard2:hover,.lcard2:focus-visible{translate:none}}
.ledger b{color:#0B0F1A}
.band--deep .ledger b{color:#FFFFFF}


/* Christmas Eve page: full-bleed footage masthead (white text on a navy veil) and a tall photo split */
.mast--film{--hd:#FFFFFF;--t-dark:#F5F3EE;--t-mute:#DCE3EE;--t-dim:#DCE3EE;color:#F5F3EE;background:#0B1424;isolation:isolate;min-height:min(80svh,760px);display:grid;align-content:end}
.mast--film::after{display:none}
.mast--film .mast__film{position:absolute;inset:0;z-index:-2}
.mast__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,18,36,.82) 0%,rgba(9,18,36,.58) 44%,rgba(9,18,36,.12) 78%),linear-gradient(180deg,rgba(9,18,36,.55) 0%,rgba(9,18,36,0) 30%,rgba(9,18,36,0) 62%,rgba(9,18,36,.6) 100%)}
.mast--film .mast__copy{max-width:40rem}
.mast--film .mast__lead,.mast--film .crumbs ol,.mast--film .crumbs a{color:#E9EDF4}
.mast--film .crumbs a:hover{color:#fff}
.mast--film .kicker{color:#FFC48A}
.mast--film .btn--glass{--bg:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4)}
.mast--film .btn--glass:hover{--bg:rgba(255,255,255,.22);border-color:#fff}
.mast--film .btn--glass .i{color:#fff}
@media (max-width:760px){.mast--film{min-height:auto}.mast__veil{background:linear-gradient(180deg,rgba(9,18,36,.62) 0%,rgba(9,18,36,.5) 40%,rgba(9,18,36,.78) 100%)}}
.split__media--tall{aspect-ratio:4/5;max-height:640px}
@media (min-width:561px){.split .ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.split .ledger li:nth-child(2n){border-right:0}}
@media (max-width:900px){.split__media--tall{aspect-ratio:4/3}}

/* light neumorphic step cards keep dark headings when the rhythm shades their band navy */
.band--deep.band--neu:not(.band--neu-dark) .tl__s{--hd:#0B0F1A}
/* the emergency mast is light in this theme: dark headings */
.mast--alert{--hd:#0B0F1A}

/* sound toggle on the one video with a soundtrack: clay round button, bottom-right of the footage */
.snd{position:absolute;right:16px;bottom:16px;z-index:3;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:0;cursor:pointer;pointer-events:auto;
  background:radial-gradient(120% 120% at 30% 22%,#FFFFFF,#F7F2EA 50%,#E9E1D4);color:#0B0F1A;
  box-shadow:5px 7px 14px rgba(9,18,36,.35),-3px -3px 8px rgba(255,255,255,.35),inset 2px 2px 2px rgba(255,255,255,.9),inset -3px -3px 6px rgba(18,24,38,.1);transition:transform .3s,background .3s,color .3s}
.snd[hidden]{display:none}
.snd .i{width:22px;height:22px}
.snd .snd__on,.snd.is-on .snd__off{display:none}
.snd.is-on .snd__on{display:block}
.snd:hover,.snd.is-on{background:var(--clay-amber,#F08A24);color:#0B0F1A}
.snd:hover{transform:translateY(-2px)}
.snd:focus-visible{outline:3px solid #0B0F1A;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.snd:active{box-shadow:inset 3px 4px 7px rgba(150,58,0,.45)}
@media (max-width:760px){.snd{right:12px;bottom:12px;width:44px;height:44px}}
.pos-left{object-position:32% 40%}

/* All Services rows: lighter, cleaner service names (Roboto 500) */
.idx-band .idx__t{font:500 clamp(1.05rem,.98rem + .3vw,1.22rem)/1.2 var(--head);letter-spacing:-.01em}
/* London boroughs chip list: wraps fully inside the column, link button on its own row below */
.boroughs{min-width:0;max-width:100%;margin:0;padding:0;list-style:none;overflow:visible}
.boroughs li{max-width:100%;overflow-wrap:anywhere}
.boroughs + .aside-link{display:flex;clear:both;margin-top:clamp(1.5rem,1.2rem + 1vw,2rem);position:static}
.pos-dog{object-position:20% 60%}
/* full, uncropped client photo in a service mast (Event security) */
.mast__full{display:grid;gap:14px;align-content:center;width:100%;max-width:620px;justify-self:end}
.mast__frame.mast__frame--full{max-width:none;width:100%;height:auto;border-radius:var(--r-img)}
.mast__frame--full>picture img,.mast__frame--full>img{scale:1!important;animation:none!important;object-fit:cover;object-position:50% 50%}
.mast__full>.frame-chip{position:static;justify-self:start}
.mast__frame.mast__frame--full{aspect-ratio:auto}
.mast__frame--full>picture{display:block}
.mast__frame--full>picture img,.mast__frame--full>img{position:static;display:block;width:100%;height:auto}
/* carousel prev/next: the same ember clay circle as the "All sectors" button icon, everywhere */
html .rbtn,html .band--paper .rbtn,html .soft .rbtn{width:52px;height:52px;border:0;color:#07090F;
  background:radial-gradient(120% 120% at 30% 22%,#FFC27E 0%,#FF9A3D 34%,#FA7C0D 64%,#C85800 100%);
  box-shadow:5px 7px 14px rgba(0,0,0,.45),inset 2px 2px 2px rgba(255,236,212,.65),inset -3px -3px 6px rgba(150,58,0,.45),0 0 18px rgba(255,170,90,.35)}
html .rbtn::before{display:none}
html .rbtn .i{width:20px;height:20px;color:#07090F}
html .rbtn:hover,html .band--paper .rbtn:hover{color:#07090F;background:radial-gradient(120% 120% at 30% 22%,#FFC27E 0%,#FF9A3D 34%,#FA7C0D 64%,#C85800 100%);transform:translateY(-2px);
  box-shadow:7px 10px 18px rgba(0,0,0,.45),inset 2px 2px 2px rgba(255,236,212,.65),inset -3px -3px 6px rgba(150,58,0,.45),0 0 24px rgba(255,170,90,.5)}
html .rbtn:active,html .band--paper .rbtn:active{box-shadow:inset 2px 3px 5px rgba(150,58,0,.55)}
html .rbtn:focus-visible{outline:3px solid #FFFFFF;outline-offset:3px}
html .rbtn[aria-disabled="true"],html .rbtn:disabled,html .band--paper .rbtn[aria-disabled="true"]{opacity:.42;color:#07090F;transform:none;
  background:radial-gradient(120% 120% at 30% 22%,#FFC27E 0%,#FF9A3D 34%,#FA7C0D 64%,#C85800 100%);box-shadow:5px 7px 14px rgba(0,0,0,.3),inset 2px 2px 2px rgba(255,236,212,.65),inset -3px -3px 6px rgba(150,58,0,.45)}
@media (max-width:760px){html .rbtn{width:48px;height:48px}}
.mast__full>.frame-chip{--t-light:#14213A;--t-dim:#4A5468;color:#14213A;background:rgba(255,255,255,.94);border:1px solid rgba(20,33,58,.08);box-shadow:0 12px 28px -16px rgba(20,33,58,.45)}
.mast__full>.frame-chip b{color:#14213A}.mast__full>.frame-chip .i{color:var(--sky-ink)}
/* cross-link footage band: readable eyebrow and copy over bright sky */
.feature--xlink .feature__veil{background:linear-gradient(90deg,rgba(9,18,36,.86) 0%,rgba(9,18,36,.62) 50%,rgba(9,18,36,.2) 100%),linear-gradient(0deg,rgba(9,18,36,.55),rgba(9,18,36,0) 60%)}
.feature--xlink .kicker{color:#FFD9AE;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.feature--xlink .feature__lead{max-width:34rem;margin:.6rem 0 0;color:#F5F3EE;font-size:1.05rem;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.pos-mall{object-position:50% 24%}
.pos-center{object-position:50% 50%}
.split__media--film{position:relative;aspect-ratio:16/10;background:#0B1424}
.split__media--film .split__film{position:absolute;inset:0}
@media (max-width:760px){.split__media--film{aspect-ratio:4/5}}
.pos-cctv{object-position:30% 40%}
.pos-campus{object-position:30% 72%}
/* tile corner link (bento/tile): dark arrow on the ember hover state */
:is(.bento__i,.tile):is(:hover,:focus-visible,:focus-within) :is(.bento__go,.tile__go),
:is(.bento__i,.tile):is(:hover,:focus-visible,:focus-within) :is(.bento__go,.tile__go) .i{color:#07090F!important}
:is(.bento__i,.tile):is(:hover,:focus-visible,:focus-within) :is(.bento__go,.tile__go) .i,
:is(.bento__i,.tile):is(:hover,:focus-visible,:focus-within) :is(.bento__go,.tile__go) .i *{stroke:#07090F!important}
/* threat level meter: segments 1..n filled on an amber-to-deep-red ramp, the rest grey */
.tcard .tcard__scale li.is-fill:nth-child(1){background:#FFB547}
.tcard .tcard__scale li.is-fill:nth-child(2){background:#FA9A2B}
.tcard .tcard__scale li.is-fill:nth-child(3){background:#F07A12}
.tcard .tcard__scale li.is-fill:nth-child(4){background:#D9480F}
.tcard .tcard__scale li.is-fill:nth-child(5){background:#A61E12}
.tcard__scale li{height:8px}

/* Coverage: client-supplied UK dot map (inline SVG) with raised card, extruded dots and glowing pins */
.dmap{perspective:1200px;background:none;overflow:visible}
.dmap .dmap__svg{display:block;width:100%;height:auto;border-radius:var(--r-l,24px);transform:rotateX(6deg) rotateY(-7deg);transform-origin:50% 60%;
  box-shadow:0 1px 0 rgba(255,255,255,.18) inset,-14px -14px 34px -18px rgba(120,150,210,.35),26px 34px 60px -24px rgba(8,14,30,.65),0 60px 90px -60px rgba(8,14,30,.7);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.dmap:hover .dmap__svg{transform:rotateX(3deg) rotateY(-3deg)}
.dmap__land,.dmap__shade{fill:none;stroke-linecap:round;stroke-width:3.4}
.dmap__shade{stroke:#060C1B;opacity:.75;transform:translate(1.6px,2.2px)}
.dmap__land{stroke:#8FA3C6}
.dmap__dot{fill:#FA7C0D;stroke:#FFD2A3;stroke-width:1.2}
.dmap__glow{fill:#FA7C0D;opacity:.28}
.dmap__pulse{fill:none;stroke:#FA7C0D;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:dmap-pulse 2.8s ease-out infinite}
.dmap__pin:nth-of-type(2) .dmap__pulse{animation-delay:.7s}.dmap__pin:nth-of-type(3) .dmap__pulse{animation-delay:1.4s}.dmap__pin:nth-of-type(4) .dmap__pulse{animation-delay:2.1s}
.dmap__pin text{fill:#fff;font:600 17px/1 var(--body,sans-serif)}
@keyframes dmap-pulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.4);opacity:0}}
.dmap .frame-chip{z-index:2}
@media (prefers-reduced-motion:reduce){.dmap__pulse{animation:none;opacity:0}.dmap .dmap__svg{transition:none}}
@media (max-width:700px){.dmap .dmap__svg{transform:none}}
/* Where to find us */
.reach{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 18px}
.reach__i{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:18px;background:#0F2348;color:#F3F6FB;text-decoration:none;margin:0;box-shadow:0 18px 36px -26px rgba(20,33,58,.6)}
.reach__i small{display:block;font-size:.78rem;color:#B9C5DA;letter-spacing:.04em;text-transform:uppercase}
.reach__i strong{font-weight:600;font-size:1.05rem;word-break:break-word}
.reach__ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(250,124,13,.16);color:#FA9A2B}
a.reach__i:hover strong{text-decoration:underline}
.offices--grid{grid-template-columns:repeat(4,1fr)}
.otile{position:relative;padding:22px 20px 18px;border-radius:18px;background:#fff;border:1px solid rgba(20,33,58,.07);box-shadow:0 18px 36px -30px rgba(20,33,58,.4);display:flex;flex-direction:column}
.otile__n{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font:700 1.25rem/1.2 var(--head);color:var(--t-dark)}
.otile__n b{font:600 .72rem/1 var(--body);letter-spacing:.05em;text-transform:uppercase;padding:5px 8px;border-radius:99px;background:rgba(250,124,13,.14);color:#9A4300}
.otile__pin{width:12px;height:12px;border-radius:50%;background:#FA7C0D;box-shadow:0 0 0 5px rgba(250,124,13,.18)}
.otile__reg{font-size:.84rem;color:var(--t-mute);margin:4px 0 12px}
.otile address{font-style:normal;color:var(--t-mute);font-size:.94rem;margin-bottom:14px;flex:1}
@media (max-width:1100px){.offices--grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.reach{grid-template-columns:1fr}}
@media (max-width:560px){.offices--grid{grid-template-columns:1fr}}
.mast__frame.dmap{background:none;border:0;box-shadow:none;padding:0;aspect-ratio:auto;height:auto}
.mast__frame.dmap::before,.mast__frame.dmap::after{display:none}
.band .otile .otile__n{color:#0B1A33}
.band .otile .otile__n b{font:600 .72rem/1 var(--body);color:#9A4300}
.band .otile .otile__reg{color:#5A6782}
.band .otile address{color:#3E4A63}
.band .reach__i{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);box-shadow:none}

/* Careers: INDEL app store buttons, Get a Free Quote pill logic (clay depth, glow, spring hover) in site navy */
html a.store.store--clay{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:9px 24px 9px 18px;border-radius:999px;background:#14284D;color:#fff;
  font-family:var(--sans);text-decoration:none;border:1px solid rgba(255,255,255,.12);
  box-shadow:0 4px 0 #0A1630,0 14px 30px -12px rgba(20,40,77,.75),inset 0 1px 0 rgba(255,255,255,.22);transition:transform .45s var(--spring,ease),box-shadow .3s,background-color .25s}
html a.store.store--clay:hover,html a.store.store--clay:focus-visible{background:#1B3566;color:#fff;transform:translateY(-2px);
  box-shadow:0 6px 0 #0A1630,0 18px 36px -12px rgba(250,124,13,.45),inset 0 1px 0 rgba(255,255,255,.28)}
html a.store.store--clay:active{transform:translateY(2px);box-shadow:0 2px 0 #0A1630,0 8px 18px -10px rgba(20,40,77,.7)}
html a.store.store--clay:focus-visible{outline:3px solid #FA9A2B;outline-offset:3px}
.store--clay .store__g{width:24px;height:24px;flex:none;color:#fff}
.store--clay .store__t{display:grid;gap:3px;text-align:left}
html .store--clay .store__t small{font:500 12px/1 var(--sans);color:#E3E9F4;letter-spacing:.02em}
html .store--clay .store__t b{font:700 16px/1.05 var(--sans);color:#fff}
html .store--clay:hover .store__t small,html .store--clay:hover .store__t b,html .store--clay:hover .store__g{color:#fff}
@media (prefers-reduced-motion:reduce){html a.store.store--clay{transition:none}html a.store.store--clay:hover{transform:none}}
.glance__list li:last-child:nth-child(odd){grid-column:1/-1}
/* Coverage office cards (go-live): frosted glass over the navy with raised neumorphic depth */
.band .otile{background:linear-gradient(155deg,rgba(255,255,255,.13),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);
  box-shadow:-8px -8px 20px -6px rgba(120,150,210,.18),14px 18px 34px -10px rgba(4,10,24,.7),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.25);
  transition:transform .45s var(--spring,ease),box-shadow .3s}
.band .otile:hover{transform:translateY(-3px);box-shadow:-8px -8px 22px -6px rgba(120,150,210,.22),18px 24px 40px -10px rgba(4,10,24,.75),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.25)}
.band .otile .otile__n{color:#fff}
.band .otile .otile__n b{background:rgba(250,124,13,.2);color:#FFC58A}
.band .otile .otile__reg{color:#C3CEE0}
.band .otile address{color:#E2E8F2}
.band .otile .otile__pin{box-shadow:0 0 0 5px rgba(250,124,13,.22),0 0 14px rgba(250,124,13,.6)}
.band .reach__i{background:linear-gradient(155deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:-6px -6px 16px -6px rgba(120,150,210,.16),10px 14px 28px -10px rgba(4,10,24,.65),inset 0 1px 0 rgba(255,255,255,.2)}
@media (prefers-reduced-motion:reduce){.band .otile{transition:none}.band .otile:hover{transform:none}}

/* Enquiring as: segmented toggle + Business name reveal */
/* Laid out like every other field: label above, toggle below, no panel behind it. */
form .field.seg,.eform .field.seg,.cform .field.seg{display:block;border:0;padding:0;margin:0 0 16px;min-width:0;background:none;box-shadow:none;border-radius:0}
.seg legend{display:block;float:none;width:auto;font-weight:600;font-size:.9rem;color:var(--t-dark);line-height:1.3;margin:0 0 7px;padding:0}
.seg .seg__opts{margin:3px 0 3px 3px;max-width:calc(100% - 6px)}
@media (max-width:420px){.seg .seg__opts{display:grid;width:calc(100% - 6px)}.seg__opts label{padding:0 12px}}
.seg legend{font-weight:600;font-size:.92rem;margin-bottom:8px;padding:0}
.seg__opts{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:999px;background:rgba(20,33,58,.07);box-shadow:inset 2px 2px 5px rgba(20,33,58,.12),inset -2px -2px 5px rgba(255,255,255,.7)}
.seg__opts input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.seg__opts label{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:42px;padding:0 20px;border-radius:999px;font-weight:600;font-size:.93rem;color:#3E4A63;cursor:pointer;transition:background-color .25s,color .25s,box-shadow .25s}
.seg__opts label .i{width:1.05em;height:1.05em}
.seg__opts input:checked+label{background:#14284D;color:#fff;box-shadow:0 3px 0 #0A1630,0 8px 18px -8px rgba(20,40,77,.6),inset 0 1px 0 rgba(255,255,255,.2)}
.seg__opts input:focus-visible+label{outline:3px solid #FA9A2B;outline-offset:2px}
.seg__opts label:hover{color:#0B1A33}
.field--biz .opt{font-weight:400;color:var(--t-mute)}
.has-biz-js .field--biz{display:grid;grid-template-rows:0fr;opacity:0;margin-bottom:0;transition:grid-template-rows .3s ease,opacity .25s ease,margin .3s ease}
.has-biz-js .field--biz.is-open{grid-template-rows:1fr;opacity:1;margin-bottom:var(--field-gap,14px)}
.field--biz__in{min-height:0;overflow:hidden}
.has-biz-js .field--biz.is-open .field--biz__in{overflow:visible}
.band--deep .seg__opts,.now__form .seg__opts{background:rgba(20,33,58,.07)}
@media (prefers-reduced-motion:reduce){.has-biz-js .field--biz{transition:none}}

/* SIA Approved Contractor badge: pinned at the start of the accreditation ribbon, and the Credentials masthead */
.siab{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#0B1A33;flex:none}
.siab img{width:auto;height:58px;filter:none}
.siab span{display:grid;gap:3px;line-height:1.15}
.siab b{font:700 .95rem/1.1 var(--head)}
.siab small{font-size:.78rem;color:#4A5873}
.ticker__sia{margin-left:var(--gut);padding:8px 18px 8px 10px;border-radius:18px;background:#fff;border:1px solid rgba(20,33,58,.08);box-shadow:0 10px 24px -16px rgba(20,33,58,.45)}
.ticker__sia:hover b{text-decoration:underline}
@media (max-width:760px){.ticker__sia{margin-left:12px;padding:6px 10px 6px 6px}.ticker__sia img{height:44px}.ticker__sia span{display:none}}
.mast__frame.sia-hero{display:grid;place-items:center;align-content:center;gap:18px;padding:36px;aspect-ratio:auto;background:rgba(255,255,255,.75);border:1px solid rgba(20,33,58,.08);box-shadow:0 30px 60px -36px rgba(20,33,58,.45)}
.siab--hero{flex-direction:column;text-align:center;gap:16px}
.siab--hero img{height:min(260px,40vw)}
.siab--hero b{font-size:1.3rem}.siab--hero small{font-size:.92rem}
.sia-hero__ref{font-size:.88rem;color:#4A5873;margin:0}.sia-hero__ref b{color:#0B1A33}
.pos-lock{object-position:66% 50%}
.pos-keypad{object-position:50% 40%}
.mast__frame.sia-hero{min-height:0;height:auto;overflow:visible}
.mast__frame.sia-hero .siab{flex-direction:column;align-items:center;text-align:center}
.mast__frame.sia-hero img{position:static;inset:auto;width:auto;max-width:100%;height:min(240px,48vw);object-fit:contain;border-radius:0;transform:none}
.mast__frame.sia-hero .siab span{display:grid}
html .band .otile .otile__n b{font-size:.72rem;line-height:1;font-weight:600}
html .band .otile .otile__reg{color:#E4EAF4}
html .band .otile .otile__n b{background:rgba(0,0,0,.28);color:#FFE2C2}
html .band .reach__i small{color:#E4EAF4}
