/* Spruce Talent site styles */
body{margin:0;background:#0B1C3D}
a{color:#0B1C3D}a:hover{color:#0B1C3D}
.root{font-family:Comfortaa,system-ui,sans-serif;font-weight:500;color:#0B1C3D;background:#fff;font-size:16px;line-height:1.5;overflow-x:clip}
.k{font-family:Montserrat,system-ui,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05;margin:0}
.btn,.navl,.pill,.giant,.num,.role .ix,.role dt,.tl-n,.tl-body h3,.card .q{font-family:Montserrat,system-ui,sans-serif}
.h2{font-size:clamp(34px,4.3vw,66px)}
.hl{white-space:nowrap;background:#FFD60A;color:#0B1C3D;padding:.02em .14em .04em;display:inline-block;line-height:1}
.pill{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border-radius:6px;background:rgba(11,28,61,.1);color:#0B1C3D}
.pill.big{font-size:clamp(16px,1.3vw,20px);letter-spacing:.18em;padding:0;background:none;color:#0B1C3D}
.navy .pill{background:rgba(205,229,247,.16);color:#CDE5F7}
.navy{color:#fff;background:radial-gradient(60% 55% at 0% 100%,rgba(0,119,190,.38),rgba(0,119,190,0) 70%),radial-gradient(120% 95% at 56% 14%,#2f639f 0%,#173a6b 40%,#0B1C3D 80%);position:relative}
.grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.16) 0,rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 1px,transparent 1px);background-size:20% 100%,100% 46vh;background-position:0 0,0 12vh}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;box-sizing:border-box;height:56px;padding:0 32px;border:0;border-radius:16px;font:600 16px/18px Montserrat,system-ui,sans-serif;letter-spacing:0;text-transform:none;white-space:nowrap;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1),background-color .35s cubic-bezier(.22,1,.36,1)}
.btn>*{position:relative}
.otile{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:16px;color:#fff;background:linear-gradient(180deg,#2E4777 0%,#0B1C3D 52%,#071430 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -2px 0 rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.36),0 8px 24px -6px rgba(11,28,61,.55)}
.otile svg{display:block}
.btn-sm{height:46px;padding:0 24px;font-size:15px}
.btn-nav{height:42px;padding:0 26px}
:where(div,p):has(> .btn + .btn){display:inline-grid !important;grid-auto-flow:column;grid-auto-columns:1fr;justify-content:start}
@media (max-width:520px){:where(div,p):has(> .btn + .btn){grid-auto-flow:row}}
.btn::after{content:"";flex:none;width:16px;height:16px;margin-left:-2px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8h10M8.5 3.5 13 8l-4.5 4.5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8h10M8.5 3.5 13 8l-4.5 4.5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.btn:hover::after{transform:translateX(3px)}
.cvx-btn::after{display:none}

.btn:focus-visible,.navl:focus-visible,.fl:focus-visible{outline:2px solid #FFD60A;outline-offset:3px}
[data-tone="light"] .btn:focus-visible,.nav .btn.lt:focus-visible,[data-tone="light"] .fl:focus-visible,.nav .navl.lt:focus-visible{outline-color:#0B1C3D}
.btn:active{transform:translateY(1px)}
.btn-w,.btn-w:hover{color:#0B1C3D}
.btn-w{background:linear-gradient(180deg,#ffffff 0%,#F4F8FC 50%,#D6E2EF 100%);box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 rgba(11,28,61,.16),0 1px 2px rgba(0,0,0,.45),0 10px 24px -8px rgba(0,0,0,.55)}
.btn-w:hover{background:linear-gradient(180deg,#ffffff 0%,#FBFDFF 55%,#EBF1F8 100%);transform:translateY(-1px);box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 rgba(11,28,61,.1),0 2px 3px rgba(0,0,0,.24),0 12px 30px -6px rgba(5,14,34,.4)}
.btn-w:active{transform:translateY(1px);box-shadow:inset 0 2px 4px rgba(11,28,61,.18),0 1px 1px rgba(0,0,0,.16)}
.btn-y,.btn-y:hover{color:#0B1C3D}
.btn-y{background:linear-gradient(180deg,#FFE45C 0%,#FFD60A 52%,#EEC100 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(120,90,0,.22),0 1px 2px rgba(0,0,0,.45),0 10px 24px -8px rgba(0,0,0,.55)}
.btn-y:hover{background:linear-gradient(180deg,#FFEA7A 0%,#FFDB2E 52%,#F3C700 100%);transform:translateY(-1px)}
.btn-y:active{transform:translateY(1px);box-shadow:inset 0 2px 4px rgba(120,90,0,.3),0 1px 1px rgba(0,0,0,.2)}
.btn-n,.btn-n:hover{color:#fff}
.btn-n{background:linear-gradient(180deg,#2E4777 0%,#0B1C3D 52%,#071430 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -2px 0 rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.36),0 8px 24px -6px rgba(11,28,61,.55)}
.btn-n:hover{background:linear-gradient(180deg,#3A5588 0%,#18294D 52%,#0B1C3D 100%);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),inset 0 -2px 0 rgba(0,0,0,.4),0 2px 3px rgba(0,0,0,.3),0 12px 30px -6px rgba(11,28,61,.65)}
.btn-n:active{transform:translateY(1px);box-shadow:inset 0 2px 4px rgba(0,0,0,.45),0 1px 1px rgba(0,0,0,.2),0 4px 12px -6px rgba(11,28,61,.55)}
.btn-g,.btn-g:hover{color:#fff}
.btn-g{isolation:isolate;background:rgba(0,0,0,.05);-webkit-backdrop-filter:blur(2px) saturate(1.2);backdrop-filter:blur(2px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),inset 0 0 8px rgba(255,255,255,.22),0 4px 10px rgba(0,0,0,.18)}
.btn-g::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from 304deg,rgba(255,255,255,.9) 0deg,rgba(255,255,255,.16) 55deg,rgba(255,255,255,.03) 120deg,rgba(255,255,255,.03) 240deg,rgba(255,255,255,.16) 305deg,rgba(255,255,255,.9) 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.btn-g:hover{background:rgba(255,255,255,.08);transform:translateY(-1px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),inset 0 0 8px rgba(255,255,255,.26),0 1px 2px rgba(0,0,0,.18),0 10px 24px -10px rgba(5,14,34,.45)}
@media (prefers-reduced-transparency:reduce){.btn-g{background:#1B3566;-webkit-backdrop-filter:none;backdrop-filter:none}}
.nav .btn-w.lt{color:#fff;background:linear-gradient(180deg,#2E4777 0%,#0B1C3D 52%,#071430 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -2px 0 rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.36),0 8px 24px -6px rgba(11,28,61,.55)}
.btn[disabled],.btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none;transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(0,0,0,.09)}


/* fixed nav, switches tone over light sections */
.nav{position:fixed;left:0;right:0;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:28px min(28px,2vw) 0;height:104px;box-sizing:border-box;align-items:flex-start;pointer-events:none}
.nav>*{pointer-events:auto;height:48px;display:flex;align-items:center}
.nav .logo{align-items:flex-start}
.nav .logo{display:block}.nav img{display:block;height:34px;width:auto}.nav .lg-n{display:none}.nav .lt .lg-w{display:none}.nav .lt .lg-n{display:block}
.navl{font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:6px 0;transition:color .3s}
.navl,.navl:hover{color:#fff}
.nav .navl.lt,.nav .navl.lt:hover{color:#0B1C3D}
.navl:hover{text-decoration:underline;text-underline-offset:6px}

/* pinned hero */
.pin{position:sticky;top:0;height:100vh;min-height:600px;overflow:hidden}
.shot{position:absolute;right:0;top:0;bottom:0;width:60%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 42%);mask-image:linear-gradient(to right,transparent 0,#000 42%);will-change:opacity}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 30%;animation:settle 1.8s cubic-bezier(.19,.8,.22,1) both}
.shot::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(23,58,107,.5),rgba(11,28,61,.62))}
.hero-shot{width:100%;-webkit-mask-image:none;mask-image:none}
.hero-shot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shot::after{background:radial-gradient(42% 60% at 0% 100%,rgba(0,119,190,.62),rgba(0,119,190,0) 100%),linear-gradient(to right,rgba(5,14,34,.5) 0,rgba(5,14,34,.22) 42%,rgba(5,14,34,0) 70%),linear-gradient(rgba(5,14,34,.35) 0,transparent 22%)}
.rec-shot{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 30%),linear-gradient(transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 30%),linear-gradient(transparent 0,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.rec-shot::after{background:none}
.founder{position:absolute;left:calc(20% + min(44%, 760px) + clamp(48px,5vw,96px));top:50%;translate:0 -50%;width:clamp(240px,25vw,420px);margin:0;z-index:1}
.founder img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;box-shadow:0 0 0 1px rgba(205,229,247,.28),0 30px 60px -24px rgba(0,0,0,.6)}
.founder .fd-badge{position:absolute;right:-24px;top:32px;width:88px;height:88px;aspect-ratio:auto;border-radius:50%;box-shadow:0 8px 16px rgba(5,14,34,.35)}
.founder figcaption{margin-top:16px;padding-left:14px;border-left:4px solid #FFD60A;display:flex;flex-direction:column;gap:3px}
.founder strong{font-weight:800;font-size:20px;color:#fff;letter-spacing:-.01em}
.founder span{font-size:14px;color:#CDE5F7}
@media (max-width:820px){.founder{position:relative;left:auto;right:auto;top:auto;translate:none;margin:0 20px 36px;width:min(260px,70%)}}
@keyframes settle{from{scale:1.14}to{scale:1}}
.ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.ln>span{display:block;animation:up 1s cubic-bezier(.19,.8,.22,1) both}
.ln.d1>span{animation-delay:.12s}
@keyframes up{from{transform:translateY(108%)}to{transform:none}}
.fu{animation:fu .9s cubic-bezier(.19,.8,.22,1) both}
.fu.d2{animation-delay:.4s}.fu.d3{animation-delay:.55s}
@keyframes fu{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.card .t{font-size:clamp(28px,2.5vw,40px);font-weight:800;line-height:1.05;letter-spacing:-.02em;position:relative}
.strip{position:absolute;top:0;bottom:0;width:20.1%;background:#fff;transform:scaleX(0);transform-origin:0 50%;will-change:transform;z-index:8}

/* brand fonts trial, hero only: Montserrat headlines, Comfortaa for everything else.
   Sizes step by 1.25, gaps are multiples of 8, text lines stay under 75 characters. */
[data-s="hero"]{font-family:Comfortaa,system-ui,sans-serif;font-weight:400}
[data-s="hero"] .k{font-family:Montserrat,system-ui,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.05}
[data-s="hero"] .card .t{font-family:Comfortaa,system-ui,sans-serif;font-weight:700;letter-spacing:-.03em}
.hero-copy{--kick:34px;--head:103px;position:absolute;inset:0;display:grid;grid-template-rows:repeat(4,25%);will-change:transform}
.hero-copy>*{padding:4px min(80px,4.17vw);min-width:0}
.hero-copy .hero-kick{grid-row:1;align-self:end}
[data-s="hero"] .k.hero-h1{display:block;padding:0;margin:calc(32px - .116 * var(--head) + .16 * var(--kick)) 0 calc(44px - .079em);font-family:Manrope,system-ui,sans-serif;font-size:var(--head);font-weight:400;line-height:.92;letter-spacing:-.045em;text-transform:none;font-kerning:normal}
.k.hero-h1 .ln{display:block;padding:0;margin:0}
.k.hero-h1 .apos{display:inline-block;margin:0 .035em 0 .04em}
.k.hero-h1 .kern-y{display:inline-block;margin-left:.03em}
.k.hero-h1 .kern-l{display:inline-block;margin-right:.05em}
.hero-copy .hero-lower{grid-row:1/-1;align-self:end;padding-bottom:64px}
.hero-grid{background-image:linear-gradient(to right,rgba(255,255,255,.16) 0,rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.16) 0,rgba(255,255,255,.16) 1px,transparent 1px);background-size:20% 100%,100% 25%;background-position:0 0,0 0;-webkit-mask-image:none;mask-image:none}
.hero-kick{margin:0;font-size:var(--kick);font-weight:500;letter-spacing:0;line-height:1}
.hero-kick .hl{padding:.1em .12em .16em;margin:-.1em 0 -.16em .04em}
.hero-sub{margin:0;max-width:600px;font-size:19.5px;line-height:29px;color:#fff}
.hero-acts{margin-top:32px;display:flex;gap:16px;flex-wrap:wrap}
@media (max-width:900px){.hero-copy{--kick:min(20px,5.1vw);--head:min(56px,14.3vw)}[data-s="hero"] .k.hero-h1{margin:calc(24px - .116 * var(--head) + .16 * var(--kick)) 0 calc(28px - .079em)}.hero-acts{margin-top:25px}.hero-copy .hero-lower{padding-bottom:48px}.hero-sub{font-size:17px;line-height:25px}}

/* reveal on arrival */
.js .rv{opacity:0;transform:translateY(34px)}
.js .rv.in{opacity:1;transform:none;transition:opacity .9s cubic-bezier(.19,.8,.22,1),transform .9s cubic-bezier(.19,.8,.22,1)}
.js .rv.in.s1{transition-delay:.1s}.js .rv.in.s2{transition-delay:.2s}.js .rv.in.s3{transition-delay:.3s}

/* big numerals */
.numlayer{display:none}
.num{position:absolute;left:50%;top:50%;font-weight:900;font-size:min(600px,66vh);line-height:1;color:#B3D5F0;translate:-50% -50%;opacity:0;transform:translateY(60px) scale(.94);transition:opacity .45s,transform .7s cubic-bezier(.19,.8,.22,1)}
.num.on{opacity:1;transform:none}
.word{font-size:clamp(46px,7vw,124px)}
.rule{height:4px;background:#FFD60A;margin:16px auto 18px;width:min(420px,70vw)}

/* sliding giant words */
.mq,div[aria-hidden="true"]:has(>.mq){pointer-events:none}
.mq{display:flex;width:max-content;animation:mq 60s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
.giant{font-weight:900;text-transform:uppercase;letter-spacing:-.03em;line-height:.8;white-space:nowrap;font-size:clamp(160px,26vw,480px);color:#EDF3F9;padding-right:.3em}

/* word by word */
.w{display:inline-block;margin-right:.24em;opacity:.3;transition:opacity .35s}
.w.on{opacity:1}

/* second person */
.duo{position:relative;max-width:1120px;margin:0 auto;padding:0 clamp(20px,4vw,60px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,6vw,96px);align-items:center}
.person{margin:0}
.person .ph{position:relative;margin:14px}
.person .ph::before,.person .ph::after{content:"";position:absolute;z-index:1;width:64px;height:64px;border:4px solid #FFD60A}
.person .ph::before{left:-14px;top:-14px;border-right:0;border-bottom:0}
.person .ph::after{right:-14px;bottom:-14px;border-left:0;border-top:0}
.person img{position:relative;display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.person figcaption{margin:32px 14px 0;padding-left:14px;border-left:4px solid #FFD60A;display:flex;flex-direction:column;gap:3px}
.person strong{font-weight:800;font-size:20px;letter-spacing:-.01em}
.person span{font-size:14px}
/* Aaron: white section, photo overlapping a mist panel, ST mark */
.ar-wrap{position:relative;max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,64px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:center}
.ar-photo{position:relative;z-index:2;margin:0 -96px 0 auto;width:clamp(240px,25vw,420px)}
.ar-frame{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 24px 48px -16px rgba(11,28,61,.4)}
.ar-frame img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%}
.ar-badge{position:absolute;right:-24px;top:32px;width:88px;height:88px;box-shadow:0 8px 16px rgba(11,28,61,.25);border-radius:50%}
.ar-photo figcaption{margin:24px 0 0;padding-left:16px;border-left:4px solid #FFD60A;display:flex;flex-direction:column;gap:4px}
.ar-photo strong{font:800 20px/1.2 Montserrat,system-ui,sans-serif;letter-spacing:-.01em}
.ar-photo figcaption span{font-size:14px}
.ar-panel{position:relative;overflow:hidden;background:#EAF4FB;border-radius:24px;padding:64px 64px 64px calc(96px + 48px);box-shadow:0 8px 16px rgba(11,28,61,.06)}
.ar-panel>*{position:relative}
.ar-mark{position:absolute !important;right:-48px;bottom:-64px;width:min(360px,48%);height:auto;opacity:.07;pointer-events:none}
@media (max-width:900px){.ar-wrap{grid-template-columns:1fr}.ar-photo{margin:0 0 -48px;width:min(300px,80%)}.ar-badge{right:-16px;width:72px;height:72px}.ar-panel{padding:96px 24px 48px}}
/* map: deeper navy, no grid, so the two dark sections read as one stretch */
.deep{background:linear-gradient(#0B1C3D 0,rgba(11,28,61,0) 30%),radial-gradient(70% 60% at 72% 52%,#1d4a85 0%,#0f2850 45%,#0B1C3D 80%),#0B1C3D}
/* roles fade into the map so the two dark sections read as one */
.fade-b{background:linear-gradient(rgba(11,28,61,0) 55%,#0B1C3D 100%),radial-gradient(120% 95% at 56% 14%,#2f639f 0%,#173a6b 40%,#0B1C3D 80%)}
.fade-b .grid{-webkit-mask-image:linear-gradient(#000 45%,transparent 92%);mask-image:linear-gradient(#000 45%,transparent 92%)}
/* closing call to action as a card */
.cta-card{position:relative;overflow:hidden;max-width:1180px;margin:0 auto;border-radius:24px;padding:96px 32px;box-shadow:0 24px 48px -16px rgba(11,28,61,.35)}
.cta-mark{position:absolute;right:-56px;bottom:-72px;width:380px;height:auto;opacity:.08;pointer-events:none}
/* agency credit */
.bm{display:inline-flex;align-items:center;gap:8px;text-decoration:none;transition:opacity .2s}
.bm:hover{opacity:.7}
.bm img{height:16px;width:auto;display:block}
/* open roles */
.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#FFD60A;margin-right:9px;vertical-align:1px;animation:live 1.8s ease-out infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(255,214,10,.55)}70%,100%{box-shadow:0 0 0 9px rgba(255,214,10,0)}}
.giant.dim{color:rgba(205,229,247,.07)}
.role{position:relative;display:block;height:100%;box-sizing:border-box;padding:32px 32px 32px;border-radius:16px;border:1px solid rgba(205,229,247,.3);background:#14305c;color:#fff;transition:translate .35s cubic-bezier(.19,.8,.22,1),background-color .35s,border-color .35s}
.role::before{content:none;position:absolute;left:-1px;right:-1px;top:-1px;height:5px;background:#FFD60A;transform:scaleX(0);transform-origin:0 50%;transition:transform .45s cubic-bezier(.19,.8,.22,1)}
.role:hover{translate:0 -4px;background:#1a3a6e;border-color:rgba(205,229,247,.55)}
.role:hover::before{transform:scaleX(1)}
.role .ix{position:absolute;right:20px;top:14px;font-weight:900;font-size:64px;line-height:1;color:rgba(205,229,247,.2)}
.role dl{margin:22px 0 0;font-size:14px}
.role dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid rgba(205,229,247,.2)}
.role dt{color:#CDE5F7;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:11px;padding-top:2px}
.role dd{margin:0;text-align:right;color:#fff}
/* process */
.proc{position:relative;max-width:1180px;margin:9vh auto 0;padding:0 clamp(20px,4vw,60px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.proc.six{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:54px}
.pstep{position:relative;padding:34px 26px 8px 0}
.pstep::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:#0B1C3D}
.pstep::after{content:"";position:absolute;left:0;top:-6px;width:14px;height:14px;background:#FFD60A;border:2px solid #0B1C3D;box-sizing:border-box}
.pstep .pn{font-weight:900;font-size:15px;letter-spacing:.08em}
.pstep h3{margin:18px 0 12px;font-weight:800;font-size:clamp(22px,1.9vw,30px);line-height:1.05;letter-spacing:-.02em}
.pstep p{margin:0;font-size:15px;max-width:240px}
/* six steps: the section pins, photo cards stack and peel away as you scroll */
.ps{position:relative;height:440vh}
.ps-pin{position:sticky;top:0;height:100vh;min-height:640px;display:flex;align-items:center;overflow:hidden}
.ps-wrap{width:100%;max-width:1240px;margin:0 auto;padding:72px clamp(20px,4vw,64px) 0;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center}
.ps-list{list-style:none;margin:40px 0 32px;padding:0;display:grid;gap:8px;max-width:360px}
.ps-item{display:flex;align-items:center;gap:16px;width:100%;box-sizing:border-box;padding:12px 16px;border:0;border-radius:10px;background:transparent;color:#0B1C3D;font:800 15px/1 Montserrat,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-align:left;cursor:pointer;opacity:.45;transition:opacity .3s,background-color .3s,color .3s,padding .4s cubic-bezier(.19,.8,.22,1)}
.ps-item:hover{opacity:.8}
.ps-item.done{opacity:.85}
.ps-item.on{opacity:1;background:#0B1C3D;color:#fff;padding-left:24px}
.ps-item:focus-visible{outline:2px solid #0B1C3D;outline-offset:3px}
.ps-ix{font-size:12px;letter-spacing:.1em;width:24px;flex:none}
/* six steps: stacked cards, each with a drawn scene that animates when it comes to the top */
.ps-stage{position:relative;height:min(620px,66vh);min-height:440px}
.ps-card{--i:0;--u:0;--r:0deg;position:absolute;inset:0;display:flex;flex-direction:column;box-sizing:border-box;padding:10px 10px 0;border-radius:6px;overflow:hidden;background:#fff;color:#0B1C3D;transform-origin:50% 100%;transform:translateY(100vh) rotate(7deg);opacity:1;z-index:calc(10 + var(--i));box-shadow:0 0 0 1px rgba(11,28,61,.06),0 24px 48px -16px rgba(11,28,61,.35);transition:transform .8s cubic-bezier(.19,.8,.22,1)}
.ps-card.on{transform:none}
.ps-card:nth-child(1){--r:-5deg}.ps-card:nth-child(2){--r:4deg}.ps-card:nth-child(3){--r:-3.5deg}.ps-card:nth-child(4){--r:5deg}.ps-card:nth-child(5){--r:-2.5deg}
.ps-card.past{transform:translateY(calc(var(--u) * -18px)) rotate(var(--r)) scale(calc(1 - var(--u) * .015));pointer-events:none}
.ps-card.past .ps-no{opacity:1}
.ps-art{position:relative;flex:1 1 auto;min-height:0;background:#0B1C3D;overflow:hidden;border-radius:2px}
.ps-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ps-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,28,61,.5),rgba(11,28,61,.82) 70%)}
.ps-art svg{position:absolute;right:0;bottom:0;z-index:1;width:80%;height:80%;padding:0 24px 24px 0;box-sizing:border-box}
.ps-art text{font-family:Montserrat,system-ui,sans-serif}
.ps-st{position:absolute;right:28px;top:28px;width:48px;height:auto;z-index:2}
.ps-no{position:absolute;left:32px;top:24px;z-index:2;display:flex;flex-direction:column;font-family:Montserrat,system-ui,sans-serif;color:#fff}
.ps-no b{font-weight:800;font-size:clamp(64px,5.6vw,96px);line-height:1;letter-spacing:-.04em}
.ps-no span{margin-top:8px;font-weight:800;font-size:13px;letter-spacing:.14em;color:#CDE5F7}
.ps-in{flex:none;padding:24px 30px 32px}
.ps-in h3{margin:0 0 8px;font:800 clamp(28px,2.6vw,44px)/1.05 Montserrat,system-ui,sans-serif;letter-spacing:-.02em;text-transform:uppercase}
.ps-in p{margin:0;max-width:34em;font-size:clamp(16px,1.15vw,18px);line-height:1.5}
.ps-card:not(.on) .ps-in,.ps-card:not(.on) .ps-no{opacity:0}
.ps-in,.ps-no{transition:opacity .45s .15s}
/* scene motion: fade and settle, no bounce */
.ps-art .a{transition:opacity .5s calc(.25s + var(--k,0) * .09s),transform .6s cubic-bezier(.19,.8,.22,1) calc(.25s + var(--k,0) * .09s)}
.ps-card:not(.on):not(.past) .ps-art .a{opacity:0;transform:translateY(8px)}
.ps-art .dr{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s cubic-bezier(.6,0,.2,1) .55s}
.ps-card:not(.on):not(.past) .ps-art .dr{stroke-dashoffset:1}
@media (max-width:900px){.ps-stage{height:520px;min-height:0}.ps-art svg{width:68%;height:78%;padding:0 12px 12px 0}.ps-no{left:20px;top:16px}.ps-no b{font-size:56px}.ps-st{right:16px;top:16px;width:40px}.ps-in{padding:20px 14px 24px}}

.ps-bar{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:72px}
.ps-bar span{display:block;height:6px;border-radius:3px;background:rgba(11,28,61,.14);overflow:hidden}
.ps-bar i{display:block;height:100%;background:#0B1C3D;transform:scaleX(0);transform-origin:0 50%}
@media (max-width:900px){.ps-wrap{grid-template-columns:1fr;gap:24px}.ps-list{display:flex;gap:8px;margin:24px 0 0;max-width:none}.ps-list li{flex:1}.ps-item{justify-content:center;padding:12px 0}.ps-item.on{padding-left:0}.ps-nm{display:none}.ps-ix{width:auto}.ps-cta{display:none}.ps-bar{margin-top:56px}}
/* word by word, second person */
.say{margin:32px 0 0;max-width:24em;font-size:clamp(18px,1.6vw,27px);line-height:1.4;font-weight:500}
.wd{opacity:.22;transition:opacity .35s}
.wd.on{opacity:1}

/* Australia map, pick a city */
.mp-wrap{position:relative;max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,64px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:center}
.mp-copy p{margin:24px 0 0;max-width:30em;font-size:clamp(16px,1.1vw,18px);color:#E6EEF8}
.mp{position:relative;width:100%;max-width:840px;margin:0 auto;aspect-ratio:740/710}
.mp-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mp-dots{fill:none;stroke:rgba(205,229,247,.45);stroke-width:5;stroke-linecap:round}
.mp-l{stroke:rgba(205,229,247,.2);stroke-width:1.5;transition:stroke .4s,stroke-width .4s}
.mp-l.on{stroke:#fff;stroke-width:2.5;stroke-dasharray:3 9;stroke-linecap:round;animation:mpflow 1.2s linear infinite}
.mp-idle .mp-l.on{animation-play-state:paused}
@keyframes mpflow{to{stroke-dashoffset:-24}}
.mp-hot{pointer-events:none;-webkit-mask-image:radial-gradient(circle 130px at var(--mx,-999px) var(--my,-999px),#000 0,transparent 100%);mask-image:radial-gradient(circle 130px at var(--mx,-999px) var(--my,-999px),#000 0,transparent 100%)}
.mp-hot .mp-dots{stroke:#fff;stroke-width:6}
.mp-node{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;box-shadow:0 0 0 6px rgba(205,229,247,.1),0 8px 16px -4px rgba(5,14,34,.6);padding:0;box-sizing:border-box;border-radius:50%;border:2px solid #CDE5F7;background:#14305c;color:#CDE5F7;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:scale .45s cubic-bezier(.19,.8,.22,1),background-color .3s,color .3s}
.mp-node svg{width:22px;height:22px}
.mp-node::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid #CDE5F7;opacity:0}
.mp-node:hover{background:#1e4380}
.mp-node.on{box-shadow:0 0 0 8px rgba(255,255,255,.16),0 0 32px 4px rgba(205,229,247,.55);scale:1.3;background:#fff;color:#0B1C3D;border-color:#fff;z-index:2}
.mp-node.on::after{animation:mpring 1.8s ease-out infinite}
.mp-node:focus-visible{outline:2px solid #FFD60A;outline-offset:4px}
@keyframes mpring{0%{opacity:.8;transform:scale(.8)}100%{opacity:0;transform:scale(1.5)}}
.mp-stats{display:flex;gap:40px;margin-top:40px}
.mp-stats b{display:block;font:800 clamp(36px,3.4vw,56px)/1 Montserrat,system-ui,sans-serif;letter-spacing:-.02em;color:#fff}
.mp-stats span{display:block;margin-top:8px;font-size:14px;color:#CDE5F7}
.mp-copy .mp-note{margin-top:16px;font-size:13px;color:#CDE5F7}
.mp-dock{position:absolute;left:14%;top:77%;width:min(320px,54%)}
.mp-card{position:absolute;left:0;top:0;width:100%;box-sizing:border-box;background:#fff;color:#0B1C3D;border-radius:14px;padding:24px;box-shadow:0 16px 32px -8px rgba(5,14,34,.55);opacity:0;transform:translateY(16px) scale(.96);pointer-events:none;transition:opacity .3s,transform .45s cubic-bezier(.19,.8,.22,1)}
.mp-card.on{opacity:1;transform:none;pointer-events:auto}
.mp-tag{font-family:Montserrat,sans-serif;font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#0077BE}
.mp-city{font-family:Montserrat,sans-serif;font-weight:800;font-size:24px;line-height:1.1;letter-spacing:-.02em;text-transform:uppercase;margin-top:8px}
.mp-state{font-size:14px;margin-top:4px}
.mp-card p{margin:16px 0;font-size:14px;line-height:1.5}
@media (max-width:980px){.mp-wrap{grid-template-columns:1fr}.mp{margin-bottom:200px}.mp-dock{left:0;top:104%;width:100%}}

.mp-node.sm{width:28px;height:28px;margin:-14px 0 0 -14px;border-width:1.5px}
.mp-node.sm svg{width:15px;height:15px}
/* questions */
.faq{max-width:860px;margin:7vh auto 0;padding:0 20px}
.faq details{border-top:1px solid rgba(11,28,61,.3)}
.faq details:last-child{border-bottom:1px solid rgba(11,28,61,.3)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-weight:800;font-size:clamp(18px,1.5vw,23px);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;border-right:3px solid #0B1C3D;border-bottom:3px solid #0B1C3D;rotate:45deg;translate:0 -4px;transition:rotate .3s,translate .3s}
.faq details[open] summary::after{rotate:-135deg;translate:0 4px}
.faq summary:focus-visible{outline:2px solid #0B1C3D;outline-offset:4px}
.faq details p{margin:0;padding:0 60px 26px 0;font-size:16px;max-width:640px}

.fl{font-weight:800;font-size:16px;text-decoration:none;display:block;padding:7px 0}
.fl:hover{text-decoration:underline}

/* ---- Quadro sections (measured at 1920 x 911) ---- */
.outc{position:relative;display:flex;justify-content:center;gap:64px;padding:9vh 20px 0;flex-wrap:wrap}
.oc{width:384px;height:360px;box-sizing:border-box;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-left:1px solid #0B1C3D}
.oc-n{font:800 14px/1 Montserrat,system-ui,sans-serif;letter-spacing:.04em;color:#0B1C3D}
.oc-t{font-size:48px;line-height:1.1;font-weight:500;letter-spacing:-.02em}
.oc p{margin:0;max-width:336px;font-size:15px;line-height:22.5px;color:rgba(11,28,61,.7)}
.oc-cta{position:relative;text-align:center;margin-top:160px;padding:0 20px}
.oc-cta .k{font-size:32px;line-height:1.1}
.oc-cta p{margin:12px auto 24px;max-width:640px;font-size:15px;line-height:22.5px;color:rgba(11,28,61,.7)}
.tm{position:relative;overflow:hidden;min-height:100vh}
.tm-photo{position:absolute;top:0;left:56%;width:31%;height:100%;object-fit:cover;object-position:50% 18%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%),linear-gradient(#000 0,#000 52%,transparent 92%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%),linear-gradient(#000 0,#000 52%,transparent 92%);mask-composite:intersect}
.tm-shade{position:absolute;inset:0;background:linear-gradient(to top,#0B1C3D 0,rgba(11,28,61,0) 30%)}
.tm-badge{position:absolute;left:calc(87% - 112px);top:calc(50% - 44px);width:88px;height:88px;border-radius:50%;box-shadow:0 8px 16px rgba(5,14,34,.35)}
.cta2 .grid,.tm .grid{background-image:linear-gradient(to right,rgba(255,255,255,.14) 0,rgba(255,255,255,.14) 1px,transparent 1px);background-size:20% 100%;background-position:0 0;-webkit-mask-image:none;mask-image:none}
.tm .grid{-webkit-mask-image:linear-gradient(#000 0,#000 55%,transparent 92%);mask-image:linear-gradient(#000 0,#000 55%,transparent 92%)}
.cta2 .grid{-webkit-mask-image:linear-gradient(transparent 0,#000 45%,#000 70%,transparent 100%);mask-image:linear-gradient(transparent 0,#000 45%,#000 70%,transparent 100%)}
.tm-copy{position:relative;margin-left:20%;width:min(762px,40%);padding:22vh 0 18vh}
.tm-quote{position:relative}
.tm-bar{position:absolute;left:-28px;top:4px;bottom:4px;width:10px;background:#FFD60A}
.tm-q{font-size:min(64px,3.33vw);line-height:1;letter-spacing:-.01em;margin:0}
.tm .wd{opacity:.3;transition:opacity .35s}.tm .wd.on{opacity:1}
.tm-who{margin:40px 0 0;font-size:15px;line-height:22.5px;color:rgba(255,255,255,.75)}
.tm-who strong{color:#fff;font-weight:700}
.tm-note{margin:8px 0 0;font-size:13px;color:rgba(255,255,255,.6)}
.tm-acts{margin-top:24px;display:flex;gap:16px;flex-wrap:wrap}
.rise,.fall{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);pointer-events:none;z-index:6}
.rise i,.fall i{display:block;background:#fff;height:100%;transform:scaleY(0);transition:transform .8s cubic-bezier(.7,0,.2,1)}
.rise i{transform-origin:50% 0}.fall i{transform-origin:50% 100%}
.fall{z-index:30}
.rise.armed i{transform:scaleY(1)}.rise.armed.go i{transform:scaleY(0)}.fall.go i{transform:scaleY(1)}
.rise i:nth-child(2),.fall i:nth-child(4){transition-delay:.07s}.rise i:nth-child(3),.fall i:nth-child(2){transition-delay:.14s}.rise i:nth-child(4),.fall i:nth-child(5){transition-delay:.21s}.rise i:nth-child(5),.fall i:nth-child(3){transition-delay:.28s}

.ab{position:relative;background:#fff;padding:160px 20px 128px;overflow:hidden}
.ab-wrap{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:48px}
.ab-copy{width:616px;max-width:100%}
.ab-h{font-size:56px;line-height:1;font-weight:500;letter-spacing:-.02em;margin:0}
.ab-p{margin:24px 0 0;max-width:616px;font-size:15px;line-height:22.5px;color:rgba(11,28,61,.7)}
.ab-copy .btn{margin-top:40px}
.ab-stack{position:relative;width:579px;height:718px;flex:none;margin-right:19px}
.ab-stack img{position:absolute;left:43px;top:30px;width:493px;height:657px;object-fit:cover;border-radius:4px;box-shadow:0 1px 2px rgba(11,28,61,.12),0 24px 48px -24px rgba(11,28,61,.45);will-change:transform}
.ab-stack img:nth-child(1){rotate:-8deg;translate:-30px 14px}.ab-stack img:nth-child(2){rotate:6deg;translate:30px -14px}.ab-stack img:nth-child(3){rotate:-1.5deg}
.ab-stats{max-width:1280px;margin:120px auto 0;display:grid;grid-template-columns:repeat(4,272px);justify-content:space-between}
.ab-stats b{display:block;font-size:56px;line-height:1;font-weight:500;letter-spacing:-.02em}
.ab-stats span{display:block;margin-top:23px;font-size:15px;line-height:22.5px;color:rgba(11,28,61,.7)}
.ab-note{max-width:1280px;margin:32px auto 0;font-size:13px;color:rgba(11,28,61,.6)}
.cta2{position:relative;text-align:center;padding:10vh 20px 22vh;overflow:hidden;background:linear-gradient(#0B1C3D 0,rgba(11,28,61,0) 40%),radial-gradient(70% 70% at 50% 62%,#1d4a85 0%,#0f2850 45%,#0B1C3D 80%),#0B1C3D}
.cta2 .k{font-size:min(96px,5vw);line-height:.95}
.cta2 p{margin:24px auto 32px;max-width:560px;font-size:18px;line-height:27px;color:rgba(255,255,255,.85)}
.cta2 .tm-acts{justify-content:center}
.fqh{font-size:min(64px,3.33vw);line-height:1}
.fqs{max-width:1224px;margin:96px auto 0;padding:0 20px;display:grid;grid-template-columns:repeat(2,504px);justify-content:space-between;row-gap:40px}
.fq h3{margin:0;font-size:18px;line-height:27px;font-weight:500}
.fq p{margin:12px 0 0;font-size:14px;line-height:21px;color:rgba(11,28,61,.7)}
@media (max-width:1100px){.ab-wrap{flex-direction:column;align-items:flex-start}.ab-stack{margin:0 auto}.ab-stats{grid-template-columns:repeat(2,1fr);row-gap:48px}.fqs{grid-template-columns:1fr}}
@media (max-width:900px){.tm-copy{margin:0 20px;width:auto;padding:14vh 0}.tm-photo{left:0;width:100%;opacity:.3}.tm-badge{display:none}.tm-q{font-size:30px}.oc{width:100%;height:auto;min-height:280px}.oc-t{font-size:36px}.ab-h{font-size:36px}.ab-stack{width:300px;height:380px}.ab-stack img{left:20px;top:16px;width:260px;height:346px}.cta2 .k{font-size:44px}.fqh{font-size:34px}}
.card{position:absolute;left:50%;top:0;width:min(500px,86vw);margin-left:calc(min(500px,86vw) / -2);box-sizing:border-box;background:#fff;color:#0B1C3D;padding:48px;will-change:transform;box-shadow:0 0 64px rgba(5,14,34,.18)}
.card .q{position:absolute;right:40px;top:28px;font-size:120px;font-weight:900;line-height:.8;color:#EDF3F9}
[data-s="hero"] .card .t{font-size:min(56px,9vw);line-height:1;font-weight:700}
[data-s="hero"] .card p{margin:24px 0 0 !important;max-width:404px;font-size:15px !important;line-height:22.5px;color:rgba(11,28,61,.7) !important}
.stk{position:relative}
.stk-under{position:sticky;top:0;height:100vh;min-height:0 !important;display:flex;align-items:center}
.stk-under .tm-copy{padding:0}
.tm-pinned .tm-copy{width:min(820px,40.5%)}
.tm-pinned .tm-q{font-size:min(54px,2.8vw,6vh);line-height:1.04}
[data-s="record"] .tm-who{margin-top:min(40px,4vh)}
.stk-dim{position:absolute;inset:0;background:#050E22;opacity:0;pointer-events:none;z-index:5}
.stk-over{position:relative;z-index:2;border-radius:40px 40px 0 0;box-shadow:0 -36px 64px -16px rgba(2,8,22,.55);clip-path:inset(-140px 0 0 0)}
.cta3{background:#fff;padding:128px clamp(16px,4vw,64px) 0}
.cta3-box{max-width:1280px;margin:0 auto;box-sizing:border-box;background:#EAF4FB;border-radius:24px;padding:96px 24px;text-align:center}
.cta3-box .k{font-size:min(72px,4.4vw);line-height:.95}
.cta3-box p{margin:24px auto 32px;max-width:560px;font-size:18px;line-height:27px;color:rgba(11,28,61,.75)}
.cta3-box .tm-acts{justify-content:center}
@media (max-width:900px){.cta3{padding-top:80px}.cta3-box{padding:64px 20px}.cta3-box .k{font-size:38px}}
.fq2{position:relative;background:#fff;padding:160px clamp(20px,4.2vw,80px);overflow:hidden}
.fq2-mark{position:absolute;left:-60px;bottom:48px;width:520px;opacity:.05;pointer-events:none}
.fq2-wrap{position:relative;max-width:1328px;margin:0 auto;display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
.fq2-h{font-size:min(56px,3.4vw);line-height:1}
.fq2-l p{margin:24px 0 0;max-width:380px;font-size:15px;line-height:22.5px;color:rgba(11,28,61,.7)}
.fq2-l p a{color:#0B1C3D;font-weight:700}
.fq2-r{display:flex;flex-direction:column;gap:12px}
.fqd{background:#fff;border-radius:14px;box-shadow:0 0 0 1px rgba(11,28,61,.07),0 8px 16px -8px rgba(11,28,61,.12)}
.fqd summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 26px;font-size:18px;line-height:27px;font-weight:500}
.fqd summary::-webkit-details-marker{display:none}
.fqp{flex:none;position:relative;width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(11,28,61,.25);transition:transform .3s,background-color .3s}
.fqp::before,.fqp::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;margin:-.75px 0 0 -5.5px;background:#0B1C3D}
.fqp::after{transform:rotate(90deg)}
.fqd[open] .fqp{transform:rotate(45deg);background:#0B1C3D}.fqd[open] .fqp::before,.fqd[open] .fqp::after{background:#fff}
.fqd summary:focus-visible{outline:2px solid #0B1C3D;outline-offset:2px;border-radius:14px}
.fqd p{margin:0;padding:0 26px 24px;max-width:640px;font-size:15px;line-height:22.5px;color:rgba(11,28,61,.72)}
.cta4{background:#fff;padding:0 clamp(20px,4.2vw,80px) 128px}
.cta4-card{position:relative;max-width:1328px;height:528px;margin:0 auto;border-radius:24px;overflow:hidden;color:#fff}
.cta4-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.cta4-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,14,34,.82) 0,rgba(5,14,34,.25) 55%,rgba(5,14,34,.1) 100%)}
.cta4-in{position:absolute;left:64px;right:64px;bottom:64px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.cta4-in .k{font-size:min(72px,4.4vw);line-height:.95}
.cta4-in p{margin:16px 0 0;max-width:460px;font-size:18px;line-height:27px;color:rgba(255,255,255,.85)}
.cta4-in .tm-acts{margin:0}
.ftr{background:#0B1C3D;color:#fff;padding:112px clamp(20px,4.2vw,80px) 40px}
.ftr a{color:inherit;text-decoration:none}
.ftr-top{max-width:1328px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:56px}
.ftr-logo{display:block;height:36px;width:auto}
.ftr-brand p{margin:24px 0 0;max-width:400px;font-size:15px;line-height:24px;color:rgba(255,255,255,.72)}
.ftr-contact{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px;color:rgba(255,255,255,.72)}
.ftr-contact a{font:600 20px/1.3 Montserrat,system-ui,sans-serif;color:#fff}
.ftr-contact a:hover,.ftr-col a:hover{color:#FFD60A}
.ftr-col h3,.ftr-areas h3{margin:0 0 20px;font:800 12px/1 Montserrat,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ftr-col a{display:block;padding:6px 0;font-size:15px;line-height:22px;color:rgba(255,255,255,.88);transition:color .2s}
.ftr-areas{max-width:1328px;margin:72px auto 0;padding-top:40px;border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:1.6fr 3fr;gap:56px}
.ftr-areas p{margin:0;font-size:14px;line-height:24px;color:rgba(255,255,255,.62)}
.ftr-areas h3{margin-bottom:8px}
.ftr-areas .lead{color:#fff;font-size:15px;margin-bottom:8px}
.ftr-bot{max-width:1328px;margin:56px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.6)}
.ftr-bot span{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.ftr-bot .bm img{height:16px}
.ftr-badge{width:72px;height:72px;border-radius:50%;margin-top:40px;box-shadow:0 8px 16px rgba(0,0,0,.3)}
@media (max-width:1100px){.fq2-wrap{grid-template-columns:1fr;gap:40px}.fq2-h{font-size:40px}.ftr-top{grid-template-columns:1fr 1fr}.ftr-areas{grid-template-columns:1fr;gap:16px}}
@media (max-width:700px){.fq2{padding:96px 20px}.cta4-card{height:480px}.cta4-in{left:24px;right:24px;bottom:32px}.cta4-in .k{font-size:38px}.ftr-top{grid-template-columns:1fr}}
.cta4-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.cta4-shade{background:linear-gradient(to top,rgba(5,14,34,.88) 0,rgba(5,14,34,.45) 50%,rgba(5,14,34,.2) 100%),radial-gradient(60% 80% at 0% 100%,rgba(0,119,190,.45),rgba(0,119,190,0) 70%)}
.ftr{position:relative;overflow:hidden;background:radial-gradient(55% 70% at 0% 100%,rgba(0,119,190,.32),rgba(0,119,190,0) 70%),radial-gradient(90% 100% at 82% 0%,#17386a 0%,#0f2850 38%,#0B1C3D 72%),#0B1C3D}
.ftr>*{position:relative}
.ftr-wm{position:absolute !important;right:-40px;bottom:-60px;width:min(520px,40vw);opacity:.06;pointer-events:none}
.wm{position:absolute;width:min(560px,40vw);opacity:.06;pointer-events:none;z-index:0}
.ab>.wm{right:-80px;top:40px}
.ab>*:not(.wm),.ps-pin>*:not(.wm){position:relative;z-index:1}
.ps-pin>.wm{left:-90px;bottom:-110px}
.fq2-mark{opacity:.06}
.nd{position:relative;display:flex;align-items:center}
.nd>.navl{display:inline-flex;align-items:center;gap:6px}
.nd-c{transition:transform .25s}
.nd:hover .nd-c,.nd:focus-within .nd-c{transform:rotate(180deg)}
.nd-p{position:absolute;left:50%;top:calc(100% + 14px);min-width:260px;box-sizing:border-box;padding:12px;background:#fff;color:#0B1C3D;border-radius:14px;
 box-shadow:0 0 0 1px rgba(11,28,61,.06),0 24px 48px -16px rgba(5,14,34,.35);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .2s,transform .2s,visibility 0s .2s;display:flex;gap:8px}
.nd-p::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nd:hover .nd-p,.nd:focus-within .nd-p{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s,transform .2s}
.nd.wide .nd-p{min-width:520px}
.nd-g{flex:1;display:flex;flex-direction:column}
.nd-h{padding:8px 12px 6px;font:800 11px/1 Montserrat,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,28,61,.5)}
.nd-p a{display:block;padding:10px 12px;border-radius:8px;font-size:15px;line-height:20px;color:#0B1C3D;text-decoration:none;white-space:nowrap}
.nd-p a:hover,.nd-p a:focus-visible{background:#EAF4FB;outline:none}
.sweep{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);pointer-events:none;z-index:6}
.sweep i{display:block;background:#fff;transform-origin:100% 50%;transform:scaleX(0);transition:transform .9s cubic-bezier(.65,0,.35,1)}
.sweep.armed i{transform:scaleX(1)}.sweep.armed.go i{transform:scaleX(0)}

.js .rv.lr{opacity:1;transform:none}
.lr .lw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.lr .lw>span{display:inline-block;transform:translateY(110%);transition:transform .9s cubic-bezier(.19,.8,.22,1);transition-delay:calc(var(--k) * 55ms)}
.lr.in .lw>span{transform:none}
.fqd{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s cubic-bezier(.19,.8,.22,1);transition-delay:calc(var(--k) * 60ms)}
.fq2-r.in .fqd{opacity:1;transform:none}

.intro{display:none}
html.intro-show .intro{position:fixed;inset:0;z-index:200;display:grid;place-items:center;color:#fff;
 background:#071430;
 transition:transform .8s cubic-bezier(.65,0,.35,1);will-change:transform}
html.intro-show .intro.lift{transform:translateY(-110%)}
html.intro-lock{overflow:hidden}
html.intro-lock .fu,html.intro-lock .ln>span{animation-play-state:paused}
.intro-in{width:clamp(280px,38vw,760px)}
.intro-mask{clip-path:inset(-40px -3000px 0 -3000px);padding-bottom:.04em}
.intro-logo{font-size:calc(clamp(280px,38vw,760px) / 6.64);color:#fff;white-space:nowrap}
.intro-word{display:block;font:400 1em/.9 Montserrat,system-ui,sans-serif;letter-spacing:-.035em;margin:0}
.intro-word b{font-weight:700}
.intro-word i{display:inline-block;width:.15em;height:.15em;border-radius:50%;background:#FFD60A;margin-left:.03em}
.intro-tag{display:block;margin:.06em 0 0 .8em;font:600 .1em/1 Montserrat,system-ui,sans-serif;letter-spacing:.34em;text-transform:uppercase}
.intro-up{animation:introUp .8s cubic-bezier(.22,1,.36,1) .15s both}
.intro-up.d1{animation-delay:.27s}
@keyframes introUp{from{transform:translateY(125%);opacity:0}to{transform:none;opacity:1}}
.intro-row{display:flex;align-items:center;gap:16px;margin-top:32px;opacity:0;animation:introFade .6s ease .45s both}
@keyframes introFade{to{opacity:1}}
.intro-bar{flex:1;height:2px;background:rgba(255,255,255,.18);overflow:hidden}
.intro-bar i{display:block;height:100%;background:#fff;transform-origin:0 50%;transform:scaleX(0)}
.intro-pct{min-width:4ch;text-align:right;font:800 14px/1 Montserrat,system-ui,sans-serif;letter-spacing:.06em;font-variant-numeric:tabular-nums}
@media (max-width:820px){.duo{grid-template-columns:1fr}.person{max-width:340px}.proc,.proc.six{grid-template-columns:1fr 1fr;row-gap:40px}.faq details p{padding-right:0}.navlinks{display:none !important}.shot{width:100%;opacity:.5}.cols3{grid-template-columns:1fr !important}.cols3>*{margin-top:0 !important;border-left:0 !important}.outc{grid-template-columns:1fr !important}}


/* Quadro motion pass */
.w,.wd,.tm .wd{opacity:1;transition:none}
.ch{opacity:.28;transition:opacity .2s linear}
.ch.on{opacity:1}
.rise,.sweep{bottom:auto;height:100vh}
.rise i,.sweep i{transform-origin:50% 0;transform:scaleY(0);transition:none}
.tm.tm-pinned{min-height:0;overflow:clip}
.tm-pin{position:sticky;top:0;height:100vh;margin-bottom:-100vh;overflow:hidden}
.tm.tm-pinned .tm-copy{padding:46vh 0 20vh}
@media (max-width:900px){.tm.tm-pinned .tm-copy{padding:38vh 0 14vh}}


/* Dejan: the backdrop holds while the quote scrolls up and lights, then How we work slides over him */
.tm.tm-pinned{background:none;z-index:1}
[data-s="aaron"].tm-pinned{z-index:3}
.tm-curtain{position:fixed;inset:0;z-index:0;display:none;overflow:hidden;pointer-events:none}
.tm-pinned .tm-copy{z-index:1}
.rise,.sweep{display:none}
[data-s="record"].tm-pinned .tm-copy{padding:45vh 0 155vh}
[data-s="record"] + [data-s="process"]{margin-top:-100vh}
.tm-pinned .tm-photo{left:44%;width:56%;object-position:50% 20%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 34%);mask-image:linear-gradient(to right,transparent 0,#000 34%)}
.tm-pinned .tm-shade{background:linear-gradient(to top,rgba(11,28,61,.85) 0,rgba(11,28,61,0) 34%),linear-gradient(to right,rgba(11,28,61,.55) 0,rgba(11,28,61,0) 60%)}
.tm-pinned .tm-badge{left:auto;right:6%;top:auto;bottom:12%}
@media (max-width:900px){[data-s="record"].tm-pinned .tm-copy{padding:38vh 0 150vh}.tm-pinned .tm-photo{left:0;width:100%;opacity:.35}}
/* role words sit still; only the yellow rule draws across as each one comes into view */
.js [data-step] .word.rv,.js [data-step] p.rv{opacity:1;transform:none;transition:none}
.js [data-step] .rule.rv{opacity:1;transform:scaleX(0);transform-origin:50% 50%;transition:none}
.js [data-step] .rule.rv.on{transform:none;transition:transform .9s cubic-bezier(.22,1,.36,1) .1s}

.oc-i{display:block;color:#0B1C3D}
.oc-t b{font-weight:700}
.nav-btns{display:flex;align-items:center;gap:10px}
.nav .btn-nav{padding:0 22px}
.nav .btn-g.lt,.nav .btn-g.lt:hover{color:#0B1C3D}
.nav .btn-g.lt{background:rgba(11,28,61,.03);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 0 0 1px rgba(11,28,61,.4)}
.nav .btn-g.lt::before{display:none}
.nav .btn-g.lt:hover{background:rgba(11,28,61,.08)}
@media (max-width:1180px){.nav .navlinks{gap:20px !important}.nav .btn-nav{padding:0 16px}}
@media (max-width:1100px){.nav .btn-g.btn-nav{display:none}}
.ab{padding-bottom:clamp(96px,14vh,140px)}
.wm-side{position:absolute;z-index:0;width:min(420px,28vw);height:auto;opacity:.05;pointer-events:none}
.wm-side.l{left:-110px;top:4%;rotate:-8deg}
.wm-side.r{right:-110px;top:46%;rotate:8deg}
@media (max-width:820px){.wm-side{display:none}}

/* ---------- inner pages ---------- */
.wrap{position:relative;max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,60px)}
.phero{padding:clamp(150px,24vh,240px) 0 clamp(70px,12vh,130px);overflow:hidden}
.phero h1{font-size:clamp(44px,6.4vw,112px);line-height:.92}
.phero .lead{margin:30px 0 0;max-width:560px;font-size:clamp(17px,1.35vw,21px);color:#dfeaf7}
.phero .acts{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.band{position:relative;padding:clamp(70px,13vh,150px) 0;overflow:hidden}
.band.lb{background:#fff}.band.mist{background:#EAF4FB}.band.wh{background:#fff}
.sec-h{text-align:center;margin-bottom:7vh}
.sec-h h2{margin-top:24px}
.lede{font-size:clamp(16px,1.2vw,19px);max-width:560px}
.cards4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card2{background:#fff;border:1px solid rgba(11,28,61,.16);border-radius:14px;padding:28px 24px 30px;box-shadow:0 1px 2px rgba(11,28,61,.08)}
.card2 .cn{font-weight:900;font-size:13px;letter-spacing:.08em;color:#0077BE}
.card2 h3{margin:14px 0 14px;font-weight:800;font-size:clamp(20px,1.6vw,26px);line-height:1.08;letter-spacing:-.02em}
.card2 ul{margin:0;padding:0;list-style:none;font-size:15px}
.card2 li{padding:8px 0;border-top:1px solid rgba(11,28,61,.12)}
.card2 p{margin:0;font-size:15px}
.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:760px}
.tile{border:1px solid rgba(205,229,247,.3);background:rgba(205,229,247,.1);padding:30px 28px}
.tile b{display:block;font-weight:900;font-size:clamp(56px,7vw,112px);line-height:.9;letter-spacing:-.03em;color:#FFD60A}
.tile span{display:block;margin-top:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:13px}
.note{font-size:14px;color:#CDE5F7;margin-top:22px;max-width:560px}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:start}
/* forms */
.formcard{background:#fff;border:1px solid rgba(11,28,61,.16);border-radius:14px;padding:clamp(24px,3vw,40px);box-shadow:0 1px 2px rgba(11,28,61,.08),0 24px 50px -30px rgba(11,28,61,.35);color:#0B1C3D}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1 / -1}
.field label{font-weight:800;font-size:12px;letter-spacing:.07em;text-transform:uppercase}
.field input,.field select,.field textarea{font:500 16px/1.3 Comfortaa,system-ui,sans-serif;color:#0B1C3D;background:#F6FAFD;border:1px solid rgba(11,28,61,.28);border-radius:10px;padding:13px 14px;min-height:48px;box-sizing:border-box;width:100%}
.field textarea{min-height:120px;resize:vertical}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid #0077BE;outline-offset:1px;background:#fff}
.field.bad input,.field.bad select,.field.bad textarea{border-color:#B3261E;background:#FFF5F4}
.field .err{display:none;font-size:13px;color:#B3261E;font-weight:700}
.field.bad .err{display:block}
.field .hint{font-size:13px;color:#41557a}
.fmsg{display:none;margin-top:18px;padding:14px 16px;border-radius:10px;font-size:15px;font-weight:700}
.fmsg.show{display:block}
.fmsg.demo{background:#FFF6CC;border:1px solid #D2A600}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font:800 12px/1 Comfortaa,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;min-height:44px;padding:0 16px;border-radius:8px;cursor:pointer;color:#0B1C3D;background:linear-gradient(#fff,#E4ECF4);border:1px solid rgba(11,28,61,.28);box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 rgba(11,28,61,.12)}
.chip[aria-pressed="true"]{color:#fff;background:linear-gradient(#2C4A8E,#0B1C3D);border-color:#050E22;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -2px 0 rgba(0,0,0,.32)}
.chip:focus-visible{outline:2px solid #0077BE;outline-offset:2px}
/* jobs */
.joblist{display:grid;gap:14px}
.jobrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;background:#fff;border:1px solid rgba(11,28,61,.16);border-radius:14px;padding:26px 28px;transition:translate .3s cubic-bezier(.19,.8,.22,1),border-color .3s}
.jobrow:hover{translate:0 -4px;border-color:#0B1C3D}
.jobrow h3{margin:12px 0 8px;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(22px,2vw,32px);line-height:1}
.jobrow p{margin:0;font-size:15px}
.jobrow .meta{font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#0077BE}
.jobs2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;align-items:start}
.sidecard{background:#0B1C3D;color:#fff;border-radius:14px;padding:30px 28px}
.sidecard h3{margin:0 0 12px;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;font-size:26px;line-height:1.02}
.sidecard p{margin:0 0 22px;font-size:15px;color:#dfeaf7}
.prose{max-width:640px;font-size:17px;line-height:1.55}
.prose h2{font-weight:900;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(22px,2vw,30px);margin:44px 0 14px}
.prose h2:first-child{margin-top:0}
.prose ul{padding-left:20px;margin:0}
.prose li{margin:8px 0}
.todo{display:inline-block;background:#FFF6CC;border:1px dashed #B38F00;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:700}
.jd{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(30px,5vw,80px);align-items:start}
.sticky{position:sticky;top:110px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:28px}
.tabpanel{display:none}
.tabpanel.on{display:block}
.princ{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:900px){.cards4{grid-template-columns:1fr 1fr}.steps3,.two,.jobs2,.jd,.princ{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr}.sticky{position:static}.jobrow{grid-template-columns:1fr}.tiles{grid-template-columns:1fr}}
@media (max-width:560px){.cards4{grid-template-columns:1fr}}

/* express CV upload */
.cvx{padding:128px 0;background:linear-gradient(#0B1C3D 0,rgba(11,28,61,0) 30%),radial-gradient(70% 70% at 75% 50%,#1d4a85 0%,#0f2850 45%,#0B1C3D 85%),#0B1C3D;color:#fff}
.cvx-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center}
.cvx-copy p{margin:24px 0 0;max-width:30em;font-size:clamp(16px,1.2vw,19px);line-height:1.5;color:#E6EEF8}
.cvx-steps{list-style:none;margin:40px 0 0;padding:0;display:flex;gap:32px;flex-wrap:wrap}
.cvx-steps li{display:flex;flex-direction:column;gap:8px;font-size:15px;color:#CDE5F7}
.cvx-steps b{font:800 13px/1 Montserrat,system-ui,sans-serif;letter-spacing:.12em;color:#fff}
.cvx-form{position:relative}
.cvx-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cvx-zone{position:relative;display:block;min-height:400px;border-radius:24px;background:rgba(205,229,247,.06);cursor:pointer;transition:background-color .3s,transform .4s cubic-bezier(.19,.8,.22,1),box-shadow .4s}
.cvx-zone:hover{background:rgba(205,229,247,.1)}
.cvx-input:focus-visible+.cvx-zone{outline:2px solid #FFD60A;outline-offset:4px}
.cvx-ants{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.cvx-ants rect{x:1px;y:1px;width:calc(100% - 2px);height:calc(100% - 2px);fill:none;stroke:rgba(205,229,247,.45);stroke-width:2;stroke-dasharray:10 9;transition:stroke .3s}
.cvx-zone:hover .cvx-ants rect{stroke:rgba(205,229,247,.75)}
.is-over .cvx-zone{background:rgba(255,214,10,.08);transform:scale(1.015);box-shadow:0 24px 48px -16px rgba(5,14,34,.6)}
.is-over .cvx-ants rect{stroke:#FFD60A;animation:cvxants .6s linear infinite}
@keyframes cvxants{to{stroke-dashoffset:-19}}
.cvx-idle,.cvx-done{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;text-align:center;transition:opacity .35s,transform .5s cubic-bezier(.19,.8,.22,1)}
.cvx-done{opacity:0;transform:translateY(16px);pointer-events:none}
.has-file .cvx-idle{opacity:0;transform:translateY(-16px);pointer-events:none}
.has-file .cvx-done{opacity:1;transform:none}
.has-file .cvx-ants rect{stroke:rgba(205,229,247,.25);stroke-dasharray:none}
.cvx-art{width:160px;height:140px;margin-bottom:8px;overflow:visible}
.cvx-art g{transform-box:fill-box;transform-origin:center;transition:transform .5s cubic-bezier(.19,.8,.22,1)}
.cvx-zone:hover .cvx-front,.is-over .cvx-front{transform:translateY(-6px) rotate(3deg)}
.cvx-zone:hover .cvx-back,.is-over .cvx-back{transform:translate(-6px,2px) rotate(-4deg)}
.is-over .cvx-badge{transform:translateY(-8px) scale(1.12)}
.cvx-t{font:800 clamp(22px,2vw,30px)/1.15 Montserrat,system-ui,sans-serif;letter-spacing:-.01em;text-transform:uppercase}
.cvx-t2{display:none}
.is-over .cvx-t1{display:none}.is-over .cvx-t2{display:inline}
.cvx-or{font-size:14px;color:#CDE5F7}
.cvx-btn{pointer-events:none;margin-top:8px}
.cvx-fmt{margin-top:16px;font-size:13px;color:#CDE5F7}
.cvx-name{max-width:100%;font:800 clamp(18px,1.6vw,24px)/1.2 Montserrat,system-ui,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cvx-size{font-size:14px;color:#CDE5F7}
.cvx-bar{width:min(280px,80%);height:6px;margin-top:16px;border-radius:3px;background:rgba(205,229,247,.2);overflow:hidden}
.cvx-bar i{display:block;height:100%;background:#FFD60A;transform:scaleX(0);transform-origin:0 50%}
.has-file .cvx-bar i{transform:scaleX(1);transition:transform 1.1s cubic-bezier(.4,0,.2,1) .2s}
.cvx-ok{margin-top:8px;font:800 12px/1 Montserrat,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#FFD60A;opacity:0;transition:opacity .3s 1.3s}
.has-file .cvx-ok{opacity:1}
.cvx-err{min-height:24px;margin:16px 0 0;font-size:14px;color:#ffc2b8}
.cvx-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:8px}
.cvx-reset{display:none;padding:12px 0;border:0;background:none;color:#CDE5F7;font:500 14px/1 Comfortaa,system-ui,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.has-file .cvx-reset{display:inline-block}
.cvx-reset:focus-visible{outline:2px solid #FFD60A;outline-offset:3px}
.cvx .fmsg{margin-top:16px;background:rgba(205,229,247,.1);color:#fff;border-color:rgba(205,229,247,.3)}
.cvx-legal{margin:16px 0 0;font-size:13px;color:#CDE5F7}
.cvx-legal a{color:#fff}
@media (max-width:900px){.cvx{padding:96px 0}.cvx-grid{grid-template-columns:1fr}.cvx-zone{min-height:340px}}
/* example run on arrival */
.cvx-ghost{position:absolute;left:50%;top:22%;z-index:3;width:96px;margin-left:-48px;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;pointer-events:none;filter:drop-shadow(0 16px 24px rgba(5,14,34,.55))}
.cvx-ghost svg{width:96px;height:112px}
.cvx-gname{padding:6px 10px;border-radius:6px;background:#0B1C3D;font:800 11px/1 Montserrat,system-ui,sans-serif;letter-spacing:.06em;white-space:nowrap}
.demo-drag .cvx-ghost{animation:cvxghost 1.5s cubic-bezier(.3,.7,.2,1) forwards}
@keyframes cvxghost{0%{opacity:0;transform:translate(220px,-120px) rotate(16deg)}25%{opacity:1}100%{opacity:1;transform:translate(0,18px) rotate(-5deg)}}
.demo-drop .cvx-reset{display:none !important}
.demo-drop .cvx-ghost{opacity:0;transform:translate(0,60px) scale(.6);transition:opacity .3s,transform .4s}
.cvx-sent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;text-align:center;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .4s,transform .5s cubic-bezier(.19,.8,.22,1)}
.cvx-env{width:120px;height:96px;margin-bottom:16px;overflow:visible}
.is-sent .cvx-done{opacity:0;transform:translateY(-16px)}
.is-sent .cvx-sent{opacity:1;transform:none}
.is-sent .cvx-env{animation:cvxfly 1.6s cubic-bezier(.5,0,.3,1) .9s forwards}
@keyframes cvxfly{0%{transform:none}30%{transform:translate(-8px,6px) rotate(-6deg)}100%{transform:translate(220px,-160px) rotate(18deg) scale(.5);opacity:0}}
.is-sent .cvx-ants rect{stroke:#FFD60A;stroke-dasharray:none}

/* role pages */
.rolelinks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.rolelinks .card2{display:flex;flex-direction:column;justify-content:space-between;gap:16px;text-decoration:none;color:#0B1C3D;transition:translate .3s cubic-bezier(.19,.8,.22,1),box-shadow .3s}
.rolelinks .card2 h3{margin:0;font-size:clamp(17px,1.3vw,21px)}
.rolelinks .card2 span{font:800 12px/1 Montserrat,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#0077BE}
.rolelinks .card2:hover{translate:0 -4px;box-shadow:0 8px 16px rgba(11,28,61,.1)}
.card2 p{margin:0;font-size:15px;line-height:1.5}
.cardlink{display:inline-block;margin-top:16px;font:800 12px/1 Montserrat,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#0077BE;text-decoration:none}
.cardlink:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width:980px){.rolelinks{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* photo heroes on every inner page */
.phero.pimg{display:flex;align-items:flex-end;box-sizing:border-box;min-height:min(92vh,880px);padding:clamp(160px,24vh,240px) 0 clamp(64px,10vh,112px);background:#0B1C3D}
.phero.pimg.short{min-height:min(64vh,600px)}
.phero.pimg .wrap{width:100%}
.phero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:pheroIn 2.4s cubic-bezier(.19,.8,.22,1) both}
@keyframes pheroIn{from{transform:scale(1.12)}to{transform:scale(1.02)}}
.phero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,14,34,.9) 0,rgba(11,28,61,.74) 38%,rgba(11,28,61,.3) 72%,rgba(11,28,61,.16) 100%),linear-gradient(to top,rgba(5,14,34,.8) 0,rgba(5,14,34,0) 52%),linear-gradient(rgba(5,14,34,.55) 0,rgba(5,14,34,0) 24%)}
/* same faded vertical lines as the Dejan and Aaron sections: no horizontal lines, gone by the bottom */
.phero .grid{display:none}
.phero.pimg h1{max-width:16ch;font-size:clamp(44px,5.4vw,96px)}
.phero .lead{color:rgba(255,255,255,.88)}
.hfacts{list-style:none;margin:40px 0 0;padding:0;display:flex;gap:16px 40px;flex-wrap:wrap;font:700 14px/1 Montserrat,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.hfacts li{display:flex;align-items:center;gap:12px}
.hfacts li::before{content:"";width:8px;height:8px;background:#FFD60A}
/* contact tiles in the hero */
.ctiles{display:flex;flex-wrap:wrap;gap:24px 56px;margin-top:40px}
.ctile{display:grid;grid-template-columns:auto auto;column-gap:12px;row-gap:6px;align-items:center;justify-content:start;color:#fff;text-decoration:none}
.ctile svg{grid-row:1 / span 2;color:#FFD60A}
.ctile span{font:800 11px/1 Montserrat,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.ctile b{font:700 clamp(17px,1.3vw,20px)/1.2 Montserrat,system-ui,sans-serif}
a.ctile:hover b{text-decoration:underline;text-underline-offset:4px}
a.ctile:focus-visible{outline:2px solid #FFD60A;outline-offset:3px}
/* photo role-area cards */
.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.area{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;color:#0B1C3D;text-decoration:none;box-shadow:0 0 0 1px rgba(11,28,61,.08),0 8px 16px -8px rgba(11,28,61,.16);transition:translate .4s cubic-bezier(.19,.8,.22,1),box-shadow .4s}
.area:hover{translate:0 -6px;box-shadow:0 0 0 1px rgba(11,28,61,.12),0 24px 40px -16px rgba(11,28,61,.32)}
.area:focus-visible{outline:2px solid #0077BE;outline-offset:4px}
.area-ph{aspect-ratio:3/2;overflow:hidden;background:#CDE5F7}
.area-ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.19,.8,.22,1)}
.area:hover .area-ph img{transform:scale(1.06)}
.area-b{flex:1;display:flex;flex-direction:column;padding:24px}
.area h3{margin:0;font:800 clamp(19px,1.5vw,24px)/1.1 Montserrat,system-ui,sans-serif;text-transform:uppercase;letter-spacing:-.01em}
.area ul{list-style:none;margin:16px 0 24px;padding:0;font-size:15px}
.area li{padding:8px 0;border-top:1px solid rgba(11,28,61,.1)}
.area-go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font:700 14px/1 Montserrat,system-ui,sans-serif;color:#0077BE}
.area-go::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8h10M8.5 3.5 13 8l-4.5 4.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8h10M8.5 3.5 13 8l-4.5 4.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .3s}
.area:hover .area-go::after{transform:translateX(3px)}
.areas.sm{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.areas.sm .area-ph{aspect-ratio:4/3}
.areas.sm .area-b{padding:16px 16px 20px;gap:16px}
.areas.sm h3{font-size:16px;line-height:1.2}
@media (max-width:1100px){.areas.sm{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.areas,.areas.sm{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.areas{grid-template-columns:1fr}}
/* photo beside copy */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,112px);align-items:center}
.split-ph{position:relative;margin:0 0 24px 24px}
.split-ph::before{content:"";position:absolute;left:-24px;bottom:-24px;width:56%;height:56%;background:#0B1C3D}
.split-ph img{position:relative;display:block;width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 24px 48px -24px rgba(11,28,61,.45)}
.split-ph.wide img{aspect-ratio:3/2}
.rcol{display:flex;flex-direction:column;gap:56px}
.ab-stats.tight{max-width:none;margin-top:112px;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.band .ab-note{max-width:none}
.nsteps{list-style:none;margin:40px 0 0;padding:0}
.nsteps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:24px 0;border-top:1px solid rgba(11,28,61,.14)}
.nsteps li:last-child{border-bottom:1px solid rgba(11,28,61,.14)}
.nsteps b{font:800 14px/1 Montserrat,system-ui,sans-serif;letter-spacing:.08em;color:#0077BE;padding-top:4px}
.nsteps h3{margin:0 0 8px;font:800 19px/1.2 Montserrat,system-ui,sans-serif;text-transform:uppercase;letter-spacing:-.01em}
.nsteps p{margin:0;font-size:15px;line-height:1.55;color:rgba(11,28,61,.72)}
.sec-h .lede{margin-left:auto;margin-right:auto}
/* contact paths */
.paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.path{position:relative;display:flex;align-items:flex-end;min-height:340px;border-radius:24px;overflow:hidden;text-decoration:none;background:#0B1C3D;transition:translate .4s cubic-bezier(.19,.8,.22,1),box-shadow .4s}
.path,.path:hover,.path:hover h3,.path:hover p{color:#fff}
.path:hover{translate:0 -4px;box-shadow:0 24px 40px -16px rgba(11,28,61,.45)}
.path-shade{display:none}
.path-in{padding:clamp(24px,3.4vw,48px)}
.path h3{font-size:clamp(32px,3.4vw,56px);line-height:.95}
.path p{margin:16px 0 24px;max-width:460px;min-height:3.1em;font-size:16px;line-height:1.55;color:rgba(255,255,255,.88)}
.path:focus-visible{outline:2px solid #0077BE;outline-offset:4px}
/* team */
.mini-h{margin:48px 0 16px;font:800 12px/1 Montserrat,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,28,61,.6)}
.team2{display:grid;grid-template-columns:1fr;gap:12px;max-width:440px}
.tcard{display:flex;align-items:center;gap:16px;padding:12px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px rgba(11,28,61,.08),0 8px 16px -8px rgba(11,28,61,.14)}
.tcard img{width:72px;height:72px;flex:none;border-radius:12px;object-fit:cover}
.tcard strong{display:block;font:800 18px/1.2 Montserrat,system-ui,sans-serif}
.tcard span{display:block;margin-top:4px;font-size:13px;color:rgba(11,28,61,.7)}
.people2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,96px);max-width:880px;margin:0 auto}
.pbio{margin:12px 14px 0 32px;max-width:36ch;font-size:15px;line-height:1.6;color:rgba(11,28,61,.75)}
.fnote{margin:16px 0 0;font-size:13px;color:rgba(11,28,61,.7)}
.fnote a{color:#0B1C3D}
.outc.four{gap:32px}
.outc.four .oc{width:280px;height:340px}
.outc.four .oc-t{font-size:38px}
.cta4.inner{padding-top:clamp(64px,12vh,128px)}
/* legal pages */
.legal{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(40px,7vw,112px);align-items:start}
.toc{position:sticky;top:112px;display:flex;flex-direction:column}
.toc h2{margin:0 0 16px;font:800 12px/1 Montserrat,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,28,61,.6)}
.toc a{padding:8px 0 8px 16px;border-left:2px solid rgba(11,28,61,.12);font-size:14px;line-height:1.35;color:#0B1C3D;text-decoration:none}
.toc a:hover{border-left-color:#FFD60A}
.lprose{max-width:68ch;font-size:16px;line-height:1.65}
.lprose .lmeta{margin:0 0 40px;font:700 13px/1 Montserrat,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#0077BE}
.lsec{scroll-margin-top:112px;padding-bottom:16px}
.band.lg{overflow:visible}
.lprose h2{font-family:Montserrat,system-ui,sans-serif;font-weight:800;display:flex;gap:16px;align-items:baseline;margin:48px 0 16px;font-size:clamp(22px,1.9vw,28px)}
.lsec:first-of-type h2{margin-top:0}
.lprose h2 span{font-size:14px;letter-spacing:.08em;color:#0077BE}
.lprose p{margin:0 0 16px}
.lprose ul{margin:0 0 16px}
.lprose a{color:#0077BE}
@media (max-width:1100px){.outc.four .oc{width:calc(50% - 16px);max-width:384px}}
@media (max-width:900px){.split,.legal,.paths,.people2{grid-template-columns:1fr}.split.rev>figure{order:2}.toc{position:static}.ctiles{grid-template-columns:1fr}.path{min-height:440px}.ab-stats.tight{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}.phero.pimg{min-height:auto}.outc.four .oc{width:100%}}
@media (max-width:900px){.outc.four .oc{height:auto;min-height:0;gap:32px}}
@media (max-width:560px){.team2{grid-template-columns:1fr}.hfacts{gap:16px 24px}.cta4-in .k{font-size:28px}.cta4-in>div{min-width:0}}

/* form status */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fmsg.ok{background:#EAF4FB;border:1px solid #0077BE;color:#0B1C3D}
.fmsg.err{background:#FFF5F4;border:1px solid #B3261E;color:#8C1D18}
.formcard.sent .fgrid,.formcard.sent .chips,.formcard.sent button[type="submit"]{display:none}
.formcard.sent .fmsg{margin-top:0}
/* ---------- liquid glass (Jye's real recipe: allstruct LIQUID_GLASS_SPEC, ported via Morris glass.css) ----------
   Clear centre, refraction at the rim only (glass engine in main.js), specular rim lit from 304deg, 5 % black fill. */
.glass-lens{position:absolute;inset:0;border-radius:inherit;background:rgba(0,0,0,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),inset 0 0 8px rgba(255,255,255,.22),0 4px 10px rgba(0,0,0,.18);-webkit-backdrop-filter:blur(2px) saturate(1.2);backdrop-filter:blur(2px) saturate(1.2);isolation:isolate;pointer-events:none}
.glass-lens::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from 304deg,rgba(255,255,255,.9) 0deg,rgba(255,255,255,.16) 55deg,rgba(255,255,255,.03) 120deg,rgba(255,255,255,.03) 240deg,rgba(255,255,255,.16) 305deg,rgba(255,255,255,.9) 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.glass-lens.is-light{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),inset 0 0 8px rgba(255,255,255,.7),0 4px 14px rgba(11,28,61,.12)}
.glass-lens.is-light::before{opacity:.55}
@media (prefers-reduced-transparency:reduce){.glass-lens{background:rgba(11,28,61,.88);-webkit-backdrop-filter:none !important;backdrop-filter:none !important}.glass-lens.is-light{background:rgba(255,255,255,.92)}}

/* ---------- compact header (Morris): past the hero the links and buttons fade, the logo slides to the
   centre into a liquid-glass pill and a glass Menu pill holds the right, all on one 1.1 s ease ---------- */
.nav>.nav-logo{height:auto}
.nav-logo{position:relative;padding:11px 18px;margin:-4px -18px 0;border-radius:16px;transition:transform 1.1s cubic-bezier(.65,0,.35,1)}
.nav-logo .logo{position:relative}
.nav-logo .glass-lens{opacity:0;transition:opacity 1.1s cubic-bezier(.65,0,.35,1)}
.nav.compact .nav-logo{transform:translateX(calc(50vw - min(28px,2vw) + 18px - 50%))}
.nav.compact .nav-logo .glass-lens{opacity:1}
.nav .navlinks,.nav .nav-btns{transition:opacity 1.1s cubic-bezier(.65,0,.35,1),visibility 0s}
.nav.compact .navlinks,.nav.compact .nav-btns{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.1s cubic-bezier(.65,0,.35,1),visibility 0s linear 1.1s}
.nav>.btn-g.nav-menu{display:flex;position:absolute;right:min(28px,2vw);top:28px;gap:10px;padding:0 20px;opacity:0;visibility:hidden;transition:opacity 1.1s cubic-bezier(.65,0,.35,1),visibility 0s linear 1.1s,background-color .3s}
.nav>.btn-g.nav-menu::after{display:none}
.nav.compact>.btn-g.nav-menu{opacity:1;visibility:visible;transition:opacity 1.1s cubic-bezier(.65,0,.35,1),visibility 0s}
.nav-menu svg{display:block}
@media (max-width:820px){.nav>.btn-g.nav-menu{display:none}.nav.compact .nav-logo{transform:translateX(calc(50vw - min(28px,2vw) + 18px - 50%)) scale(.82)}}
a.badge-link{display:contents}

/* ---------- phone button ---------- */
.burger{display:none}
@media (max-width:820px){
.nav .btn-nav{display:none}
.nav>.burger{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;border-radius:14px;cursor:pointer;color:#0B1C3D;background:linear-gradient(180deg,#ffffff 0%,#F4F8FC 50%,#D6E2EF 100%);box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 rgba(11,28,61,.16),0 1px 2px rgba(0,0,0,.35),0 8px 20px -8px rgba(0,0,0,.5)}
.nav>.burger.lt{color:#fff;background:linear-gradient(180deg,#2E4777 0%,#0B1C3D 52%,#071430 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -2px 0 rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.36),0 8px 24px -6px rgba(11,28,61,.55)}
}
.burger:focus-visible{outline:2px solid #FFD60A;outline-offset:3px}

/* ---------- the menu sheet (Morris: wipes down, photo panel left, big links rising, info row) ---------- */
.mnav{position:fixed;inset:0;z-index:80;padding:20px;box-sizing:border-box;color:#fff;background:rgba(11,28,61,.97);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .9s cubic-bezier(.76,0,.24,1) .25s,visibility 0s linear 1.15s}
.mnav.open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path 1s cubic-bezier(.76,0,.24,1),visibility 0s}
.mnav-grid{height:100%;display:grid;grid-template-columns:min(420px,32vw) 1fr;gap:56px}
.mnav-panel{position:relative;border-radius:24px;overflow:hidden;opacity:0;transform:scale(1.25);transition:opacity 1.8s cubic-bezier(.22,1,.36,1) .25s,transform 1.8s cubic-bezier(.22,1,.36,1) .25s}
.mnav.open .mnav-panel{opacity:1;transform:none}
.mnav-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s cubic-bezier(.22,1,.36,1)}
.mnav-slide.on{opacity:1}
.mnav-col{display:flex;flex-direction:column;min-height:0;padding:0 28px 28px 0}
.mnav-top{display:flex;align-items:center;justify-content:space-between;height:52px;margin-top:8px}
.mnav-top img{display:block;height:36px;width:auto}
.mnav-x.btn{gap:10px;padding:0 20px}
.mnav-x.btn::after{display:none}
.mnav-main{flex:1;min-height:0;display:flex;flex-direction:column;align-items:flex-start;padding-top:clamp(32px,12svh,158px)}
.mnav-wrap{margin-top:6px}
.mnav-link{overflow-x:visible;overflow-y:clip;padding-right:8px}
.mnav-item:first-child .mnav-wrap{margin-top:0}
.mnav-link{display:flex;align-items:center;font:800 min(clamp(44px,5.2vw,76px),7.4svh)/1.05 Montserrat,system-ui,sans-serif;text-transform:uppercase;letter-spacing:-.02em;color:#fff;text-decoration:none;transform:translateY(110%);transition:transform .6s cubic-bezier(.76,0,.24,1) calc(var(--i,0) * .03s)}
.mnav.open .mnav-link{transform:none;transition:transform 1.1s cubic-bezier(.22,1,.36,1) calc(.35s + var(--i,0) * .08s)}
.mnav-label{display:inline-block;transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .7s cubic-bezier(.22,1,.36,1)}
.mnav-main:hover .mnav-label,.mnav-main.has-pop .mnav-label{opacity:.55}
.mnav-main .mnav-link:hover .mnav-label,.mnav-item.pop .mnav-label{transform:translateX(6px);opacity:1}
.mnav-main{position:relative}
.mnav .mnav-link,.mnav .mnav-link:hover,.mnav .mnav-link:focus{color:#fff}
.mnav .mnav-subs a:hover,.mnav .mnav-info a:hover{color:#fff}
.mnav-item{position:static}
.mnav-wrap{display:flex;align-items:center;gap:16px}
.mnav-more{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;margin-top:4px;padding:0;border:0;border-radius:50%;cursor:pointer;color:#fff;background:color-mix(in srgb,currentColor 6%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 38%,transparent);opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1) calc(.5s + var(--i,0) * .08s),transform .5s cubic-bezier(.22,1,.36,1),background-color .3s}
.mnav.open .mnav-more{opacity:1}
.mnav-more:hover{background:color-mix(in srgb,currentColor 14%,transparent)}
.mnav-item.pop .mnav-more{transform:rotate(180deg)}
.mnav-subs{position:absolute;left:min(48vw,640px);top:clamp(32px,12svh,158px);list-style:none;margin:0;padding:0 0 0 40px;border-left:1px solid rgba(255,255,255,.14);visibility:hidden}
.mnav-subs li{opacity:0;transform:translateX(-12px);transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1)}
.mnav-item.pop .mnav-subs{visibility:visible}
.mnav-item.pop .mnav-subs li{opacity:1;transform:none;transition-delay:calc(var(--j,0) * .04s)}
.mnav-subs a{display:block;padding:10px 0;font:600 clamp(16px,1.3vw,20px)/1.3 Montserrat,system-ui,sans-serif;color:rgba(255,255,255,.88);text-decoration:none;transition:color .2s,transform .4s cubic-bezier(.22,1,.36,1)}
.mnav-subs a:hover{color:#fff;transform:translateX(6px)}
@media (max-width:1024px){.mnav-main{overflow-y:auto}.mnav-subs{position:static;display:none;padding:4px 0 12px 4px;border-left:0;visibility:visible}.mnav-item.pop .mnav-subs{display:block}.mnav-subs a{padding:8px 0;font-size:16px}.mnav-more{width:40px;height:40px}}
.mnav-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:24px;padding-top:25px;border-top:1px solid rgba(255,255,255,.14);opacity:0;transform:translateY(16px);transition:opacity 1s cubic-bezier(.22,1,.36,1) .8s,transform 1s cubic-bezier(.22,1,.36,1) .8s}
.mnav.open .mnav-info{opacity:1;transform:none}
.mnav-info p{margin:0;font:500 13px/16px Montserrat,system-ui,sans-serif;color:rgba(255,255,255,.6)}
.mnav-info a,.mnav-info span{display:block;margin-top:6px;font-size:16px;line-height:20px;color:#fff;text-decoration:none}
.mnav-info a:hover{opacity:.8}
.mnav a:focus-visible,.mnav button:focus-visible{outline:2px solid #FFD60A;outline-offset:3px}
html.mnav-lock{overflow:hidden}
@media (max-width:1024px){.mnav-grid{grid-template-columns:1fr}.mnav-panel{display:none}.mnav-col{padding:0}}
@media (max-width:640px){.mnav-link{font-size:min(34px,4.4svh)}.mnav-main{padding-top:clamp(20px,6svh,158px)}.mnav-info{grid-template-columns:1fr;gap:16px;padding-top:18px}.mnav-top img{height:30px}}
/* personal LinkedIn link: the Morris Homes social circle (36px, hairline ring, faint fill, 16px glyph) */
.pli{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;color:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 38%,transparent);background:color-mix(in srgb,currentColor 6%,transparent);transition:background-color .3s,transform .3s cubic-bezier(.22,1,.36,1)}
.pli svg{display:block;width:16px;height:16px}
.pli:hover{color:#fff;background:color-mix(in srgb,currentColor 14%,transparent);transform:translateY(-1px)}
.pli:focus-visible{outline:2px solid #FFD60A;outline-offset:2px}
.tm-whorow{display:flex;align-items:center;gap:20px;margin-top:min(40px,4vh)}
.tm-whorow .tm-who{margin:0}
.tm-whorow .pli{width:46px;height:46px}
.tm-whorow .pli svg{width:18px;height:18px}
.tm-who strong{display:block;font-size:17px}
.person figcaption{position:relative;padding-right:48px}
.person .pli,.tcard .pli,.person .pli:hover,.tcard .pli:hover{color:#0B1C3D}
.person .pli,.tcard .pli{width:36px;height:36px}
.person .pli svg,.tcard .pli svg{width:15px;height:15px}
.person .pli{position:absolute;right:0;top:50%;margin-top:-18px}
.tcard .pli{margin-left:auto;margin-right:4px}
/* role pages: steps on navy, and the career ladder */
.nsteps.dk li{border-color:rgba(255,255,255,.18)}
.nsteps.dk b{color:#FFD60A}
.nsteps.dk h3{color:#fff}
.nsteps.dk p{color:rgba(255,255,255,.78)}
.nsteps.dk{margin-top:0}
.ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end}
.ladder li{display:flex;flex-direction:column;justify-content:flex-end;gap:16px;padding:24px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px rgba(11,28,61,.08),0 8px 16px -8px rgba(11,28,61,.14)}
.ladder li:nth-child(1){min-height:120px}.ladder li:nth-child(2){min-height:168px}.ladder li:nth-child(3){min-height:216px}
.ladder li:nth-child(4){min-height:264px;background:#0B1C3D;color:#fff}
.ladder b{font:800 13px/1 Montserrat,system-ui,sans-serif;letter-spacing:.08em;color:#0077BE}
.ladder li:nth-child(4) b{color:#FFD60A}
.ladder span{font:800 clamp(17px,1.4vw,22px)/1.15 Montserrat,system-ui,sans-serif;text-transform:uppercase;letter-spacing:-.01em}
@media (max-width:900px){.ladder{grid-template-columns:1fr 1fr}.ladder li{min-height:0 !important}}
@media (max-width:560px){.ladder{grid-template-columns:1fr}}
/* footer profiles */
.ftr-social{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.ftr-social a{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:12px;font:600 14px/1 Montserrat,system-ui,sans-serif;color:#fff;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transition:background-color .2s}
.ftr-social a:hover{background:rgba(255,255,255,.16);color:#fff}

/* headings: letters rise in one by one, line by line, then the highlight sweeps across (Quadro text effect) */
.js :is(.k.h2,.fq2-h,.ab-h,.cta4-in .k,.oc-cta .k,.phero h1,.hero-h1,.path h3):not(.tx){opacity:0}
.js .rv.tx{opacity:1;transform:none}
.tx .ln>span{animation:none}
.tx .tw{display:inline-block;white-space:nowrap;clip-path:inset(-.3em -.12em -.32em -.12em)}
.tx .tc{display:inline-block;opacity:0;transform:translate3d(0,var(--ty,.9em),0)}
.tx.tx-in .tc{opacity:1;transform:none;transition:transform .75s cubic-bezier(.22,1,.36,1) var(--d,0s),opacity .45s ease var(--d,0s)}
.hero-h1 .ln:first-child .tc{--ty:.85em}
.hero-h1 .ln.d1 .tc{--ty:-.85em}
:is(.tx,.hlx) .hl{background:transparent;position:relative;z-index:0;color:inherit;transition:color .2s ease calc(var(--hd,0s) + .15s)}
:is(.tx,.hlx) .hl::before{content:"";position:absolute;inset:0;z-index:-1;background:#FFD60A;transform:scaleX(0);transform-origin:0 50%;transition:transform .45s cubic-bezier(.65,0,.35,1) var(--hd,0s)}
:is(.tx.tx-in,.hlx.hlx-in) .hl,.hlk .hl{color:#0B1C3D}
.hlk .hl{transition:none}
:is(.tx.tx-in,.hlx.hlx-in) .hl::before{transform:none}
.hero-kick.fu{animation:kickIn .6s cubic-bezier(.22,1,.36,1) 0s both}
@keyframes kickIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}
.hero-lower .fu.d2{animation-delay:.45s}
.hero-lower .fu.d3{animation-delay:.55s}
.phero .fu.d2{animation-delay:.4s}
.phero .fu.d3{animation-delay:.5s}

/* ---------------- retained search: what it means (brief -> search -> shortlist) */
.rsx .sec-h{margin-bottom:clamp(40px,6vh,64px)}
.rsx .sec-h .lede{max-width:600px;margin-left:auto;margin-right:auto}
.rsv{--a:34px;--g:12px;--p:calc(var(--a) + var(--g));display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1.2fr) 48px minmax(0,1fr);color:#0B1C3D}
.rsv-p{display:flex;flex-direction:column;gap:24px;min-width:0}
.rsv-stage{position:relative;height:250px;display:flex;align-items:center;justify-content:center}
.rsv-h{display:flex;flex-direction:column;gap:8px}
.rsv-h small{font:800 12px/1 Montserrat,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#0077BE}
.rsv-h b{font:800 clamp(18px,1.5vw,22px)/1.2 Montserrat,system-ui,sans-serif;letter-spacing:-.01em;color:#0B1C3D}
.rsv-h span{font-size:15px;line-height:1.5;color:rgba(11,28,61,.7)}
.rsv-arrow{align-self:start;margin-top:117px;display:flex;justify-content:center}
.rsv-arrow svg{width:36px;height:16px;fill:none;stroke:rgba(11,28,61,.35);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rsv-arrow .ln{stroke-dasharray:30;stroke-dashoffset:30}
.rsv-arrow .hd{opacity:0}
.rsv.run .rsv-arrow .ln{animation:rsvDraw .5s ease-out var(--t) forwards}
.rsv.run .rsv-arrow .hd{animation:rsvFade .2s ease-out calc(var(--t) + .4s) forwards}
/* 1: the role */
.rsv-role{width:100%;max-width:240px;padding:18px 18px 12px;border-radius:12px;background:#fff;color:#0B1C3D;box-shadow:0 0 0 1px rgba(11,28,61,.08),0 18px 36px -14px rgba(11,28,61,.3);opacity:0;transform:translateY(12px)}
.rsv.run .rsv-role{animation:rsvUp .6s cubic-bezier(.22,1,.36,1) .1s forwards}
.rsv-role small{display:block;font:800 11px/1 Montserrat,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#0077BE;margin-bottom:8px}
.rsv-role b{display:block;font:800 18px/1.2 Montserrat,system-ui,sans-serif;margin-bottom:12px}
.rsv-role ul{list-style:none;margin:0;padding:0}
.rsv-role li{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:7px 0;border-top:1px solid rgba(11,28,61,.08);font:700 13px/1 Montserrat,system-ui,sans-serif}
.rsv-role li>svg:first-child{width:24px;height:24px;padding:4px;border-radius:50%;background:#EAF4FB;fill:none;stroke:#0077BE;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rsv-ok{width:18px;height:18px;opacity:0;transform:scale(.4)}
.rsv-ok circle{fill:#0B1C3D}.rsv-ok path{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rsv.run .rsv-ok{animation:rsvPop .4s cubic-bezier(.22,1,.36,1) var(--t) forwards}
.rsv-c i{display:block;height:7px;border-radius:4px;background:rgba(11,28,61,.1)}
/* 2: the market, scanned */
.rsv-mkt{position:relative;display:grid;grid-template-columns:repeat(6,var(--a));gap:var(--g)}
.rsv-a{position:relative;width:var(--a);height:var(--a)}
.rsv-a svg{position:absolute;inset:0;width:100%;height:100%}
.rsv-a .n{--b:#CDE5F7;--f:#5B8DB8;opacity:.45}
.rsv-a .y{--b:#0B1C3D;--f:#fff;opacity:0;transform:scale(.6)}
.rsv-a.f::after{content:"";position:absolute;inset:-5px;border-radius:50%;box-shadow:0 0 0 2px rgba(0,119,190,.45);opacity:0}
.rsv.run .rsv-a .n{animation:rsvSeen .7s ease-out var(--t) forwards}
.rsv.run .rsv-a.f .y{animation:rsvPop .5s cubic-bezier(.22,1,.36,1) 3.7s forwards}
.rsv.run .rsv-a.f::after{animation:rsvFade .4s ease-out 3.9s forwards}
.rsv-lens{position:absolute;left:0;top:0;width:56px;height:56px;--o:calc(var(--a) / 2 - 22px);opacity:0;pointer-events:none;filter:drop-shadow(0 6px 12px rgba(11,28,61,.25))}
.rsv-lens svg{width:100%;height:100%;fill:none;stroke:#0B1C3D;stroke-width:3;stroke-linecap:round}
.rsv-lens circle{fill:rgba(255,255,255,.55)}
.rsv.run .rsv-lens{animation:rsvScan 2.6s linear .9s forwards}
/* 3: the shortlist */
.rsv-list{width:100%;max-width:240px;display:flex;flex-direction:column;gap:10px}
.rsv-c{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px rgba(11,28,61,.08),0 12px 24px -12px rgba(11,28,61,.3);opacity:0;transform:translateX(16px)}
.rsv-c svg{--b:#EAF4FB;--f:#0077BE;width:30px;height:30px}
.rsv-c>div{height:30px;display:flex;flex-direction:column;justify-content:space-between;padding:2px 0 1px}.rsv-c b{display:block;font:800 13px/1 Montserrat,system-ui,sans-serif;color:#0B1C3D}.rsv-c i{width:70%}
.rsv.run .rsv-c{animation:rsvIn .55s cubic-bezier(.22,1,.36,1) var(--t) forwards}
.rsv-c.h{box-shadow:0 0 0 2px #0077BE,0 12px 24px -12px rgba(11,28,61,.3)}
.rsv-c.h svg{--b:#0B1C3D;--f:#fff}
.rsv-tag{position:absolute;right:-10px;top:-12px;padding:6px 10px;border-radius:999px;background:#FFD60A;font:900 10px/1 Montserrat,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#0B1C3D;box-shadow:0 6px 14px rgba(3,10,26,.35);opacity:0;transform:scale(.5)}
.rsv.run .rsv-tag{animation:rsvPop .5s cubic-bezier(.22,1,.36,1) 5s forwards}
@keyframes rsvUp{to{opacity:1;transform:none}}
@keyframes rsvIn{to{opacity:1;transform:none}}
@keyframes rsvFade{to{opacity:1}}
@keyframes rsvDraw{to{stroke-dashoffset:0}}
@keyframes rsvPop{to{opacity:1;transform:none}}
@keyframes rsvSeen{0%{opacity:.35;transform:scale(1)}35%{opacity:1;transform:scale(1.18)}100%{opacity:.85;transform:scale(1)}}
@keyframes rsvScan{
0%{opacity:0;transform:translate(var(--o),var(--o))}
5%{opacity:1;transform:translate(var(--o),var(--o))}
30%{transform:translate(calc(var(--o) + 5 * var(--p)),var(--o))}
35%{transform:translate(calc(var(--o) + 5 * var(--p)),calc(var(--o) + var(--p)))}
60%{transform:translate(var(--o),calc(var(--o) + var(--p)))}
65%{transform:translate(var(--o),calc(var(--o) + 2 * var(--p)))}
92%{opacity:1;transform:translate(calc(var(--o) + 5 * var(--p)),calc(var(--o) + 2 * var(--p)))}
100%{opacity:0;transform:translate(calc(var(--o) + 5 * var(--p)),calc(var(--o) + 2 * var(--p)))}}
@media (max-width:960px){.rsv{grid-template-columns:1fr}.rsv-arrow{margin:16px 0;align-self:center}.rsv-arrow svg{transform:rotate(90deg)}}
@media (max-width:560px){.rsv{--a:30px;--g:10px}.rsv-stage{height:auto;min-height:220px}}
/* ---------------- retained search: when it fits */
.rsfit-s{background:#0B1C3D;color:#fff}
.rsfit-s .lede{color:rgba(255,255,255,.8)}
.rsfit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));row-gap:48px}
.rsfit-i{display:flex;flex-direction:column;gap:16px;padding:0 32px;border-left:1px solid rgba(255,255,255,.16)}
.rsfit-i:first-child{padding-left:0;border-left:0}
.rsfit-i svg{width:32px;height:32px;color:#CDE5F7}
.rsfit-i h3{margin:0;font:800 clamp(20px,1.6vw,24px)/1.15 Montserrat,system-ui,sans-serif;letter-spacing:-.02em}
.rsfit-i p{margin:0;font-size:16px;line-height:1.5;color:rgba(255,255,255,.72)}
@media (max-width:1024px){.rsfit{grid-template-columns:1fr 1fr}.rsfit-i:nth-child(odd){padding-left:0;border-left:0}}
@media (max-width:560px){.rsfit{grid-template-columns:1fr;row-gap:0}.rsfit-i{padding:24px 0;border-left:0;border-top:1px solid rgba(255,255,255,.16)}.rsfit-i:first-child{padding-top:0;border-top:0}}
/* ---------------- retained search: page rhythm on the 8-point grid */
.rsx.band,.rsfit-s.band,#how.band{padding:128px 0}
#how+.fq2{padding-top:128px;padding-bottom:128px}
:is(.rsx,.rsfit-s) .sec-h{margin-bottom:64px}
:is(.rsx,.rsfit-s) .sec-h h2,.rsp-l h2{margin:0}
.rsv-h{align-items:center;text-align:center}
br.dk{display:inline}
@media (max-width:700px){.rsx.band,.rsfit-s.band,#how.band{padding:80px 0}#how+.fq2{padding-top:80px;padding-bottom:80px}:is(.rsx,.rsfit-s) .sec-h{margin-bottom:48px}br.dk{display:none}}
/* ---------------- retained search: the process */
.rsp{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,112px);align-items:start}
.rsp-l{position:static}
.rsp-ph{margin-top:48px}
.rsp-track{position:relative;list-style:none;margin:0;padding:0 0 0 48px}
.rsp-track::before,.rsp-track::after{content:"";position:absolute;left:11px;top:12px;bottom:12px;width:2px;border-radius:2px;background:rgba(11,28,61,.12)}
.rsp-track::after{background:#0077BE;bottom:auto;height:calc((100% - 24px) * var(--p,0))}
.rsp-track li{position:relative;padding:0 0 48px}
.rsp-track li:last-child{padding-bottom:0}
.rsp-track li::before{content:"";position:absolute;left:-43px;top:6px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px rgba(11,28,61,.25);transition:background-color .4s,box-shadow .4s;z-index:1}
.rsp-track li.on::before{background:#0077BE;box-shadow:inset 0 0 0 2px #0077BE,0 0 0 5px rgba(0,119,190,.15)}
.rsp-track small{display:block;font:800 12px/1 Montserrat,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#0077BE;margin-bottom:8px}
.rsp-track h3{margin:0 0 8px;font:800 clamp(20px,1.6vw,26px)/1.15 Montserrat,system-ui,sans-serif;letter-spacing:-.02em}
.rsp-track p{margin:0;font-size:16px;line-height:1.55;color:rgba(11,28,61,.74)}
.rsp-always{margin-top:48px;padding:16px 24px;border-radius:14px;border:1px dashed rgba(11,28,61,.3);font-size:15px;line-height:1.5}
.rsp-always b{font-family:Montserrat,system-ui,sans-serif}
@media (max-width:900px){.rsp{grid-template-columns:1fr}.rsp-l{position:static}}

@media (max-width:760px){
body{text-align:center}
/* text blocks with a max-width sit in the middle; rows of buttons, facts and tiles centre */
body :is(main,section,footer,.pin) :is(p,.lead,.lede,.k,h1,h2,h3){margin-left:auto !important;margin-right:auto !important}
.hero-acts,.acts,.tm-acts,.hfacts,.ctiles,.tm-whorow,.ftr-bot,.ftr-soc,.ftr-contact{justify-content:center}
.ab-wrap,.ab-copy,.mp-copy,.fq2-l,.cta4-in,.cta4-in>div,.ps-left,.split>div,.oc{align-items:center}
.ctile{justify-content:center}
/* keep left: menu sheet, questions, forms, legal text, timelines */
.mnav,.fqd,.faq details,form,.fgrid,.legal,.toc,.rsp-track,.cvx-zone,.jobrow,.jd{text-align:left}
:is(.fqd,.faq details,form,.legal,.rsp-track) :is(p,h2,h3){margin-left:0 !important;margin-right:0 !important}
/* hero */
.hero-copy{text-align:center}
.hero-copy .hero-lower{padding-left:16px;padding-right:16px}
/* "Tired of hiring twice": big and stacked */
[data-el="head2"] h2{font-size:min(44px,11.3vw) !important;line-height:.95 !important}
[data-el="head2"] h2 br{display:none}
/* pain cards and footer bottom row */
.card{text-align:center}
.ftr-bot{flex-direction:column}
.ftr-bot span{justify-content:center}
/* who we place: the long word fits the screen */
.word{font-size:min(46px,10.6vw)}
/* value cards: a rule on top instead of a line down the left */
.oc{border-left:0;border-top:1px solid #0B1C3D;padding:32px 8px;gap:16px;justify-content:flex-start;min-height:0}
.oc p{margin-left:auto;margin-right:auto}

/* Dejan and Aaron: quote readable, centred, name on one line under it */
.tm-copy,.tm.tm-pinned .tm-copy,.tm-pinned .tm-copy{margin:0 16px;width:auto}
.tm-pinned .tm-q,.tm-q{font-size:min(28px,7.2vw);line-height:1.12}
.tm-bar{left:50%;top:-24px;bottom:auto;width:40px;height:6px;transform:translateX(-50%)}
.tm-whorow{flex-direction:column;gap:16px;margin-top:32px}
.tm-who strong{font-size:18px}
.tm-whorow .tm-who,.tm-who{text-align:center}
/* how we work: cards stay below the step numbers */
.ps-left{text-align:center}
.ps-left .pill{margin-left:auto;margin-right:auto}
.ps-stage{margin-top:24px}
.ps-card.past{transform:translateY(calc(var(--u) * 6px)) rotate(calc(var(--r) * .4)) scale(calc(1 - var(--u) * .02))}
.ps-in{text-align:center}
.phero h1.longword{font-size:min(44px,8vw)}
.ps-ix{font-size:14px}
.areas.sm{grid-template-columns:1fr}
.cards4{grid-template-columns:1fr !important}
.card2 .cn,.cvx-fmt,.cvx-legal,.fnote,.ftr-bot,.tcard span{font-size:14px}
.ps-in p{margin-left:auto;margin-right:auto}
/* role-area cards, contact tiles, fit list */
.area-b{align-items:center}
.ctiles{flex-direction:column;align-items:center}
.ctile{grid-template-columns:auto;justify-items:center}
.ctile svg{grid-row:auto}
.rsfit-i{text-align:center}
/* city card */
.mp-card{text-align:center}
/* closing card */
.cta4-in{flex-direction:column;align-items:center;justify-content:flex-end}
.cta4-in .tm-acts{justify-content:center}
/* mobile-first clean-up: no grid lines over photos, footer logo centred */
.grid,.hero-grid{display:none !important}
.ftr-logo{margin-left:auto;margin-right:auto}
/* hero: heading, one line, the two buttons; the fact row repeats the line above */
.hfacts{display:none !important}
/* role-area cards: a shorter photo, the name and the link; the title list lives on the role page */
.area-ph{aspect-ratio:2/1}
.area ul{display:none}
.area-b{gap:16px}
/* "Other roles": a plain list split by thin lines, no photo cards */
.areas.sm{gap:0}
.areas.sm .area{flex-direction:row;background:none;border-radius:0;box-shadow:none;border-top:1px solid rgba(11,28,61,.12)}
.areas.sm .area:last-child{border-bottom:1px solid rgba(11,28,61,.12)}
.areas.sm .area:hover{translate:none;box-shadow:none}
.areas.sm .area-ph{display:none}
.areas.sm .area-b{flex:1;flex-direction:row;justify-content:space-between;align-items:center;padding:20px 0;gap:16px;text-align:left}
.areas.sm .area-b h3{margin:0 !important;text-align:left}
.areas.sm .area-go{margin-top:0;flex:none}
/* team portraits: clean photo, name centred underneath, no corner frames or side bar */
.person{margin:0 auto}
.person .ph{margin:0}
.person .ph::before,.person .ph::after{display:none}
.person img{border-radius:16px}
.person figcaption{margin:24px 0 0;padding:0;border-left:0;align-items:center}
.rsfit-i{align-items:center;padding:0}
/* how we work: the whole pinned screen fits under the logo bar on any phone height */
.ps-pin{height:100vh;height:100svh;min-height:0;align-items:flex-start}
.ps-wrap{padding:88px 16px 16px;gap:16px}
.ps-left .pill{display:none}
.ps-left .h2{margin-top:0 !important;font-size:min(32px,8.4vw)}
.ps-list{margin-top:16px}
.ps-item{padding:10px 0}
.ps-stage{margin-top:0;height:calc(100vh - 264px);height:calc(100svh - 264px);min-height:300px;max-height:480px}
.ps-no b{font-size:44px}
.ps-st{width:32px}
.ps-in{padding:16px 16px 20px}
.ps-in h3{font-size:24px}
.ps-in p{font-size:15px;line-height:1.45}
/* top-left logo: 5% smaller and 16px in from the edge, like the page gutter */
.nav img{height:32px}
.nav>.nav-logo{margin-left:-10px}
.nav.compact .nav-logo{transform:translateX(calc(50vw - min(28px,2vw) + 10px - 50%)) scale(.82)}
/* contact hero: call and email only */
.ctiles>div.ctile{display:none}
/* footer: logo, contacts, the main links; no badge, role list or city list on a phone */
.ftr{padding-top:80px}
.ftr-badge,.ftr-areas>p,.ftr-col[aria-label="Recruitment for home builders"] a:nth-of-type(n+4),.ftr-col[aria-label="Spruce Talent"] a:nth-of-type(n+3){display:none}
.ftr-top{gap:40px}
.ftr-areas{margin-top:48px}
}
/* no grid lines over the team photos at any size */
.tm .grid{display:none !important}

.skip{position:fixed;left:16px;top:-80px;z-index:200;padding:12px 20px;border-radius:12px;background:#FFD60A;color:#0B1C3D;font:800 14px/1 Montserrat,system-ui,sans-serif;text-decoration:none;transition:top .2s}
.skip:focus{top:16px;outline:2px solid #0B1C3D;outline-offset:2px}
main{display:contents}

.nf{position:relative;min-height:100svh;display:grid;place-items:center;padding:160px 20px 96px;box-sizing:border-box;text-align:center;overflow:hidden}
.nf-num{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:800 min(52vw,560px)/1 Montserrat,system-ui,sans-serif;letter-spacing:-.06em;color:rgba(205,229,247,.06);pointer-events:none;user-select:none}
.nf-in{position:relative;max-width:760px;display:flex;flex-direction:column;align-items:center}
.nf-ring{display:block;width:72px;height:72px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.22),0 8px 16px rgba(5,14,34,.35)}
.nf-ring img{display:block;width:100%;height:100%}
.nf-kick{margin:40px 0 0;font:800 13px/1 Montserrat,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#CDE5F7}
.nf-h{margin:16px 0 0;font-size:clamp(44px,7vw,104px);line-height:.95}
.nf-p{margin:24px auto 0;max-width:40ch;font-size:clamp(17px,1.3vw,20px);line-height:1.6;color:rgba(255,255,255,.85)}
.nf-acts{margin-top:40px;justify-content:center}
.nf-home{margin-top:24px;font-size:15px;color:rgba(255,255,255,.75);text-decoration:underline;text-underline-offset:4px}
.nf-home:hover{color:#fff}
@media (max-width:760px){.nf{padding:128px 16px 80px}.nf-h{font-size:min(48px,12.4vw)}}

.k.hero-h1 .ln{overflow:visible}
/* hero text sits outside the pinned layer and scrolls natively: one screen tall, above the video */
[data-s="hero"]>.hero-copy{top:0;right:0;bottom:auto;left:0;height:100vh;min-height:600px;z-index:2;will-change:auto;transform:none;color:#fff}
/* ---------- chat widget ---------- */
.chatw{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:70;text-align:left}
.chatw-btn{position:relative;display:grid;place-items:center;flex:none;box-sizing:border-box;width:63px;height:63px;aspect-ratio:1;padding:0;border:0;border-radius:50%;color:#0B1C3D;cursor:pointer;
 -webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;
 background:radial-gradient(circle at 50% 30%,#FFE66B 0%,#FFD60A 55%,#F2C600 100%);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 2px 4px rgba(0,0,0,.25),0 10px 24px -6px rgba(5,14,34,.5);
 transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1)}
/* the whole button, plus 10px around it, takes the tap; the icon never swallows it */
.chatw-btn::before{content:"";position:absolute;inset:-10px;border-radius:50%}
.chatw-btn svg{pointer-events:none}
/* hover only on devices with a mouse: on a phone a hover change makes the first tap only "hover", hence double taps */
@media (hover:hover){.chatw-btn:hover{transform:translateY(-2px);background:radial-gradient(circle at 50% 30%,#FFEC8A 0%,#FFDB2E 55%,#F5CA00 100%)}}
.chatw-btn:active{transform:scale(.96)}
.chatw-btn:focus-visible{outline:3px solid #0077BE;outline-offset:3px}
.chatw-btn .i-x,.chatw.open .chatw-btn .i-chat{display:none}
.chatw.open .chatw-btn .i-x{display:block}
/* prompt beside the button, like Morris: one slim pill, dismissible */
.chatw-tip{position:absolute;right:76px;bottom:10px;display:flex;align-items:center;border-radius:999px;color:#0B1C3D;
 background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 0 0 1px rgba(11,28,61,.08),0 8px 24px -6px rgba(5,14,34,.3);
 opacity:0;visibility:hidden;transform:translateX(8px);transition:opacity .3s,transform .4s cubic-bezier(.22,1,.36,1),visibility 0s .4s}
.chatw-tip.show{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .4s cubic-bezier(.22,1,.36,1)}
.chatw.open .chatw-tip{opacity:0;visibility:hidden}
.chatw-tip-go{padding:12px 4px 12px 18px;border:0;background:none;color:inherit;font:800 14px/1 Montserrat,system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.chatw-tip-x{display:grid;place-items:center;width:32px;height:32px;margin-right:4px;padding:0;border:0;border-radius:50%;background:none;color:#41557a;font:400 20px/1 Arial,sans-serif;cursor:pointer}
.chatw-tip-x:hover{background:rgba(11,28,61,.08)}
/* the panel: a card above the button on desktop */
.chatw-panel{position:absolute;right:0;bottom:79px;width:min(380px,calc(100vw - 48px));max-height:min(640px,calc(100vh - 136px));max-height:min(640px,calc(100dvh - 136px));
 display:flex;flex-direction:column;border-radius:20px;overflow:hidden;color:#fff;background:#0B1C3D;
 box-shadow:0 0 0 1px rgba(255,255,255,.1),0 24px 64px -12px rgba(5,14,34,.6);
 opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:100% 100%;
 transition:opacity .25s,transform .35s cubic-bezier(.22,1,.36,1),visibility 0s .35s}
.chatw.open .chatw-panel{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .35s cubic-bezier(.22,1,.36,1)}
.chatw-head{flex:none;display:flex;align-items:center;gap:12px;padding:16px 12px 16px 20px;border-bottom:1px solid rgba(255,255,255,.12)}
.chatw-head img{width:40px;height:40px;flex:none;border-radius:50%}
.chatw-back:not([hidden])+img{display:none}
.chatw-who{flex:1;min-width:0}
.chatw-who strong{display:block;font:800 16px/1.2 Montserrat,system-ui,sans-serif}
.chatw-contact{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.chatw-contact a{width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:13px;line-height:1.35;color:#CDE5F7;text-decoration:none}
.chatw-contact a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.chatw-x,.chatw-back{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:#fff;cursor:pointer}
.chatw-back[hidden]{display:none}
.chatw-back{margin-left:-8px}
.chatw-x:hover,.chatw-back:hover{background:rgba(255,255,255,.08)}
.chatw-x:focus-visible,.chatw-back:focus-visible{outline:2px solid #FFD60A;outline-offset:2px}
.chatw-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 20px 24px}
.chatw-msg{max-width:88%;margin:0;padding:16px;border-radius:16px 16px 16px 4px;background:rgba(205,229,247,.1);font-size:15px;line-height:1.5}
.chatw-opts{display:grid !important;grid-auto-flow:row !important;width:100%;gap:12px;margin-top:24px}
.chatw-opts .btn{width:100%}
.chatw-call{margin:24px 0 0;text-align:center;font-size:14px;color:#CDE5F7}
.chatw-call a{color:#fff;text-decoration:underline;text-underline-offset:4px}
/* the site's own forms, flat on the navy panel */
.chatw .formcard{margin-top:24px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#fff}
.chatw .fgrid{grid-template-columns:1fr}
.chatw .field label{color:#fff}
.chatw .field .err{color:#ffc2b8}
.chatw .field textarea{min-height:88px}
.chatw form button.btn{width:100%}
.chatw .cvx-form{margin-top:24px}
.chatw .cvx-ants,.chatw .cvx-or,.chatw .cvx-ghost{display:none}
.chatw .cvx-idle>*,.chatw .cvx-done>*,.chatw .cvx-sent>*{flex-shrink:0}
.chatw .cvx-zone{min-height:272px;border-radius:16px;background:rgba(205,229,247,.06);box-shadow:inset 0 0 0 1px rgba(205,229,247,.16)}
.chatw .cvx-zone:hover{background:rgba(205,229,247,.1)}
.chatw .cvx-idle,.chatw .cvx-done,.chatw .cvx-sent{padding:24px;gap:8px}
.chatw .cvx-art{width:104px;height:92px;margin-bottom:0}
.chatw .cvx-t{font:700 16px/1.3 Montserrat,system-ui,sans-serif;letter-spacing:0;text-transform:none}
.chatw .cvx-btn{margin-top:8px;height:48px;padding:0 24px;font-size:15px}
.chatw .cvx-fmt{margin-top:8px}
.chatw .cvx-name{font-size:16px}
.chatw .cvx-env{width:96px;height:76px;margin-bottom:8px}
.chatw .cvx-form:not(.has-file) .cvx-actions{display:none}
.chatw .cvx-err:empty{min-height:0;margin:0}
.chatw .cvx-legal{margin-top:16px}
@media (pointer:coarse){.chatw .cvx-idle .cvx-t{display:none}}
.chatw .cvx-actions{gap:8px}
@media (max-width:640px){
 .chatw{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}
 .chatw-btn{width:59px;height:59px}
 .chatw-tip{right:74px;bottom:8px}
 /* the whole screen on a phone */
 .chatw-panel{position:fixed;inset:0;width:auto;height:100vh;height:100dvh;max-height:none;border-radius:0;transform:translateY(24px)}
 .chatw-head{padding-top:max(16px,env(safe-area-inset-top))}
 .chatw-body{padding-bottom:max(32px,env(safe-area-inset-bottom))}
 .chatw.open .chatw-btn{visibility:hidden}
 /* the button never covers the last line of the footer */
 .ftr-bot{padding-bottom:72px}
}
html.chatw-lock{overflow:hidden}
html.mnav-lock .chatw{display:none}
