/* DefrilexCX — "Precision": pure white, tight modern sans (Inter Tight / Inter), floating pill menu,
   soft grey rounded tiles, Defrilex blue for the second phrase and orange for small accents. */
:root{
  --navy:#08288c; --orange:#f89100; --ink:#0b0d12; --text:#4a5060; --muted:#6b7285;
  --bg:#fff; --paper:#f7f8fa; --tint:#f3f4f7; --line:#e9ebf0; --line-2:#dcdfe7;
  --serif:"Inter Tight","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1200px; --gut:clamp(16px,4vw,40px); --r:24px; --top:86px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--top) + 20px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:600;color:var(--ink);letter-spacing:-.04em;text-wrap:balance}
h1{font-size:clamp(40px,5.6vw,84px);line-height:1}
h2{font-size:clamp(30px,4vw,58px);line-height:1.02}
h3{font-size:20px;line-height:1.25;letter-spacing:-.02em}
.acc{color:var(--navy)}
ol,ul{margin:0;padding:0;list-style:none}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:6px}

/* ---------- buttons and links ---------- */
.pbtn{display:inline-flex;align-items:center;gap:12px;padding:9px 9px 9px 20px;border-radius:40px;border:1.5px solid var(--navy);background:#fff;color:var(--ink);font:500 15px/1.2 var(--sans);cursor:pointer;transition:background .2s,color .2s}
.pbtn .dot{width:30px;height:30px;border-radius:50%;background:var(--orange);color:var(--ink);display:grid;place-items:center;flex:none;transition:transform .2s}
.pbtn:hover{background:var(--navy);color:#fff}
.pbtn:hover .dot{transform:translateX(2px)}
.pbtn.sm{font-size:13.5px;padding:6px 6px 6px 15px;gap:9px}
.pbtn.sm .dot{width:26px;height:26px}
.lnk{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:15px;color:var(--navy);border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s}
.lnk svg{transition:transform .2s}
.lnk:hover,a:hover>.tx .lnk{border-color:var(--navy)}
.lnk:hover svg{transform:translateX(3px)}
.btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.top .wrap{max-width:1400px;height:var(--top);display:flex;align-items:center;gap:22px}
.logo img{height:38px;width:auto}
.nav{margin-left:auto}
.nav ul{display:flex;align-items:center;gap:2px}
.nav a{display:block;padding:8px 11px;border-radius:30px;font-size:14px;color:var(--ink);white-space:nowrap;transition:background .2s,color .2s}
.nav a:hover{background:var(--tint)}
.nav a[aria-current]{color:var(--navy);font-weight:500;background:var(--tint)}
.top-actions{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--ink);padding-left:16px;border-left:1px solid var(--line)}
.top-actions>a:not(.pbtn){white-space:nowrap}
.top-actions>a:not(.pbtn):hover{color:var(--navy)}
.m-only{display:none}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;place-items:center;gap:0;padding:0}
.menu-btn span{display:block;width:18px;height:1.5px;background:var(--ink);margin:2.5px auto;transition:transform .2s,opacity .2s}
@media (max-width:1300px){.top-actions>a:not(.pbtn){display:none}.top-actions{border:0;padding:0}}
@media (max-width:1120px){
  .menu-btn{display:block}
  .top-actions{display:none}
  .nav{position:fixed;inset:var(--top) 0 0 0;background:#fff;padding:18px var(--gut) 40px;overflow:auto;display:none;margin:0}
  .top.open .nav{display:block}
  .nav ul{flex-direction:column;align-items:stretch;gap:0}
  .nav a{padding:15px 4px;border-radius:0;border-bottom:1px solid var(--line);font-size:17px}
  .nav a[aria-current]{background:none}
  .m-only{display:block}
  .m-btn{padding-top:22px}
  .m-btn a{border:1.5px solid var(--navy);border-radius:40px;display:inline-flex;padding:9px 9px 9px 20px;font-size:15px}
  .top.open .menu-btn span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .top.open .menu-btn span:nth-child(2){opacity:0}
  .top.open .menu-btn span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}
@media (max-width:520px){:root{--top:64px}.logo img{height:32px}}

/* ---------- shared pieces ---------- */
.crumb{font-size:13px;color:var(--muted);margin-bottom:22px}
.crumb a:hover{color:var(--navy)}
.crumb.on-dark{color:rgba(255,255,255,.8)}
.eye{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.eye b{font-weight:600;color:var(--orange);letter-spacing:.08em}
.eye b::after{content:"";display:inline-block;width:28px;height:1px;background:var(--line-2);margin-left:12px;vertical-align:middle}
.eye.plain{color:var(--navy)}
.eye.plain::before{content:"";width:28px;height:1px;background:var(--orange)}
.sub{font-size:clamp(17px,1.35vw,19px);line-height:1.6;color:var(--text)}
.big{font:500 clamp(20px,1.9vw,26px)/1.45 var(--serif);color:var(--ink);letter-spacing:-.01em}
.note{font-size:15px;line-height:1.65;color:var(--muted);padding-left:18px;border-left:2px solid var(--orange);max-width:78ch}
.note a,.flow p a,.reach a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.sec{padding-block:clamp(64px,8vw,120px)}
.sec.tint{background:var(--tint)}
.sec.line{border-top:1px solid var(--line)}
.sec>.wrap>.note{margin-top:clamp(28px,4vw,48px)}
.head{margin-bottom:clamp(32px,4.5vw,60px)}
.head.two>div{max-width:900px}
.head.center{text-align:center;max-width:820px;margin-inline:auto}
.head.center .eye{justify-content:center}
.head.split-h{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,6vw,96px);align-items:start;margin-bottom:0}
.flow>*+*{margin-top:18px}
.flow>h2+*{margin-top:26px}
.flow>.lnk,.flow>.nums,.flow>.pair{margin-top:30px}
.media{position:relative;border-radius:var(--r);overflow:hidden;background:var(--tint)}
.media>img,.media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media.r169{aspect-ratio:16/9}.media.r43{aspect-ratio:4/3}.media.r45{aspect-ratio:4/4.6}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,96px);align-items:center}
.split.rev>.flow{order:2}
.split .stick{position:sticky;top:calc(var(--top) + 28px);align-self:start}
.split:has(.stick){align-items:start}
.after{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;margin-top:clamp(28px,4vw,48px)}
.after .lnk{flex:none}
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* numbered lists */
.nums{counter-reset:n}
.nums li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px}
.nums .n{font:500 13px/1.9 var(--sans);letter-spacing:.08em;color:var(--orange)}
.nums h3{font-size:19px}
.nums p{margin-top:6px;font-size:15.5px;color:var(--text)}
.nums.lined li{padding-block:22px;border-top:1px solid var(--line)}
.nums.lined li:last-child{border-bottom:1px solid var(--line)}
.nums.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);margin-top:clamp(36px,5vw,64px)}
.nums.grid3 li{padding-block:24px;border-top:1px solid var(--line)}
.nums.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.nums.cards li{grid-column:span 2;display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.nums.cards li:nth-child(n+4){grid-column:span 3}
.nums.cards .n{display:block;margin-bottom:22px}
ol.plain{counter-reset:p}
ol.plain li{counter-increment:p;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding-block:14px;border-top:1px solid var(--line);color:var(--ink);font-size:16px}
ol.plain li:last-child{border-bottom:1px solid var(--line)}
ol.plain li::before{content:counter(p,decimal-leading-zero);font:500 13px/2 var(--sans);letter-spacing:.08em;color:var(--orange)}
.mini{font:600 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-top:36px!important}

/* ---------- home: film hero ---------- */
.film{position:relative;background:#050f30}
.film-v{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden}
.film-v video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-v::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,15,48,0) 35%,rgba(5,15,48,.78) 100%)}
.film-t{position:absolute;left:0;right:0;bottom:0;padding-bottom:clamp(24px,4vw,56px)}
.film-t h1{color:#fff;max-width:17ch}
.film-t h1 .acc{color:#fff;opacity:.92}
.film-t .crumb{margin-bottom:14px}
.lede{border-bottom:1px solid var(--line)}
.lede-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,80px);align-items:center;padding-block:clamp(32px,4vw,52px)}
.lede-g p{font:500 clamp(19px,1.7vw,23px)/1.5 var(--serif);color:var(--ink);letter-spacing:-.01em}
.lede-g .btns{justify-content:flex-end}
.ticker{overflow:hidden;border-top:1px solid var(--line);background:var(--paper)}
.ticker>div{display:flex;width:max-content;animation:tick 48s linear infinite}
.ticker span{padding:14px 26px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.ticker span::after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--orange);margin-left:52px;vertical-align:middle}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker>div{animation:none}}

.sticky-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,6vw,96px);align-items:start}
.sticky{position:sticky;top:calc(var(--top) + 28px)}
.sticky .media{margin-top:32px}
.sticky>p{margin-top:22px}

.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.duo-c{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:border-color .25s,box-shadow .25s}
.duo-c:hover{border-color:var(--line-2);box-shadow:0 18px 50px rgba(8,40,140,.08)}
.duo-c .im{aspect-ratio:16/9;overflow:hidden}
.duo-c .im img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.duo-c:hover .im img{transform:scale(1.03)}
.duo-c .tx{padding:clamp(22px,2.6vw,36px);display:grid;gap:14px;align-content:start;flex:1}
.duo-c h3{font-size:clamp(22px,2vw,28px)}
.duo-c .lnk{justify-self:start;margin-top:6px}

.ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:22px;overflow:hidden}
.ledger .col{padding:clamp(22px,3vw,44px)}
.ledger .col+.col{border-left:1px solid var(--line)}
.ledger .ours{background:var(--tint)}
.ledger h3{font-size:clamp(22px,2vw,28px);margin-bottom:18px}
.ledger .ours h3{color:var(--navy)}
.ledger ol{counter-reset:l}
.ledger li{counter-increment:l;display:grid;grid-template-columns:40px minmax(0,1fr);padding-block:14px;border-top:1px solid var(--line-2);color:var(--ink)}
.ledger li::before{content:counter(l,decimal-leading-zero);font:500 13px/2 var(--sans);letter-spacing:.08em;color:var(--orange)}

.fit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 22px}
.fit .im{aspect-ratio:4/3;border-radius:14px;overflow:hidden;margin-bottom:16px;background:#fff}
.fit .im img{width:100%;height:100%;object-fit:cover}
.fit span,.models span,.princ span,.steps span{font:500 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.fit h3{font-size:19px;margin:10px 0 8px}
.fit p{font-size:14.5px;line-height:1.6}

.steps{display:grid;gap:0 22px}
.steps.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.steps.c3{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.steps li{position:relative;padding:26px 0 28px;border-top:1px solid var(--line-2)}
.steps li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--orange)}
.steps h3{margin:14px 0 10px;font-size:19px}
.steps p{font-size:14.5px;line-height:1.6}
.steps.v{grid-template-columns:1fr;border-left:1px solid var(--line-2);margin-left:4px}
.steps.v li{border-top:0;padding:0 0 34px 34px}
.steps.v li:last-child{padding-bottom:0}
.steps.v li::before{top:3px;left:-5px}
.steps.v h3{font-size:22px}
.steps.v p{font-size:15.5px}

/* ---------- closing sections ---------- */
.cta{padding-block:clamp(56px,7vw,104px);border-top:1px solid var(--line)}
.cta p{color:var(--text);font-size:16.5px}
.cta-a .cta-g,.cta-d .cta-g{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:end}
.cta-a h2,.cta-d h2,.cta-c h2{font-size:clamp(34px,4.2vw,58px);line-height:1.04}
.cta .r{display:grid;gap:22px;justify-items:start}
.cta-a .r{padding-left:clamp(20px,3vw,40px);border-left:1px solid var(--line)}
.cta-b{border-top:0;padding-top:0}
.cta-b .card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--tint);border-radius:26px;overflow:hidden}
.cta-b .im{position:relative;min-height:320px}
.cta-b .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta-b .tx{padding:clamp(28px,5vw,72px);display:grid;gap:18px;align-content:center;justify-items:start}
.cta-b .btns{margin-top:8px}
.cta-c{text-align:center;background:var(--paper)}
.cta-c .wrap{display:grid;justify-items:center;gap:20px}
.cta-c p{max-width:54ch}
.faces{display:flex}
.faces img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:3px solid #fff;margin-left:-12px}
.faces img:first-child{margin-left:0}
.cta-d{background:var(--tint);border-top:0}
.cta-d .r{border-left:3px solid var(--orange);padding-left:clamp(20px,3vw,36px)}
.cta-e .cta-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}

/* ---------- page heroes ---------- */
.ph{padding-block:clamp(36px,5vw,72px) clamp(40px,5vw,72px);border-bottom:1px solid var(--line)}
.ph .sub{margin-top:22px;max-width:60ch}
.ph .btns{margin-top:30px}
.ph-split .g,.ph-rev .g,.ph-agents .g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center}
.ph-split .media,.ph-rev .media{max-height:560px;width:100%}
.ph-rev .g{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.jump{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(36px,5vw,64px);border-top:1px solid var(--line)}
.jump a{padding:18px 18px 0 0;font-size:14.5px;color:var(--ink);display:grid;gap:8px;transition:color .2s}
.jump a b,.tiles b{font:500 12px/1 var(--sans);letter-spacing:.14em;color:var(--orange)}
.jump a:hover{color:var(--navy)}
.ph-center{text-align:center;background:var(--paper)}
.ph-center h1{max-width:16ch;margin-inline:auto}
.ph-center .sub{margin-inline:auto}
.ph-center .btns{justify-content:center}
.ph-center .media.wide{aspect-ratio:21/9;margin-top:clamp(36px,5vw,64px)}
.ph-ed .g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,80px);align-items:end}
.ph-ed .sub{margin:0}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:clamp(36px,5vw,64px)}
.tiles a{display:grid;gap:12px;align-content:start;padding:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);transition:border-color .2s,background .2s}
.tiles a:hover{border-color:var(--navy);background:#fff}
.tiles span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tiles em{font:500 19px/1.3 var(--serif);color:var(--ink)}
.ph-plain{background:var(--tint)}
.ph-plain .g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,80px);align-items:end}
.ph-plain .sub{margin:0}
.ph-plain .side{padding-left:clamp(0px,3vw,36px);border-left:3px solid var(--orange)}
.mosaic{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:14px;aspect-ratio:1/1.02;max-height:560px;width:100%}
.mosaic .a{grid-row:span 2}
.ph-form{border-bottom:0;padding-bottom:clamp(64px,8vw,110px)}
.ph-form h1{font-size:clamp(34px,4vw,54px)}
.ph-form .media{margin-top:32px}

/* services */
.pull{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center;margin-top:clamp(40px,5vw,72px);padding:clamp(18px,2.4vw,28px);background:var(--tint);border-radius:26px}
.pull p{font-size:17px;line-height:1.7;padding-right:clamp(0px,2vw,28px)}
.pull strong{display:block;font:500 clamp(22px,2.2vw,30px)/1.25 var(--serif);color:var(--navy);margin-bottom:14px;letter-spacing:-.01em}
.twolist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,72px);margin-top:clamp(40px,5vw,72px)}
.twolist h3{font-size:22px;margin-bottom:18px}
.models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.models article{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.models .im{aspect-ratio:16/10}
.models .im img{width:100%;height:100%;object-fit:cover}
.models span{padding:26px 26px 0}
.models h3{font-size:26px;padding:10px 26px 0}
.models p{padding:12px 26px 0;font-size:15.5px}
.models .suits{margin-top:auto;padding:22px 26px 26px;font-size:14.5px}
.models .suits b{display:block;font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--navy);padding-top:18px;margin-bottom:10px;border-top:1px solid var(--line)}

/* how it works */
.rtable{border:1px solid var(--line);border-radius:22px;overflow:hidden}
.rtable>div{display:grid;grid-template-columns:1fr 1fr}
.rtable>div+div{border-top:1px solid var(--line)}
.rtable span{padding:18px clamp(16px,2.4vw,32px);display:grid;grid-template-columns:38px minmax(0,1fr);color:var(--ink)}
.rtable span+span{border-left:1px solid var(--line);background:var(--tint)}
.rtable i{font:500 13px/2 var(--sans);font-style:normal;letter-spacing:.08em;color:var(--orange)}
.rtable .rt-h span{display:block;font:500 clamp(19px,1.8vw,24px)/1.3 var(--serif);padding-block:24px}
.rtable .rt-h span+span{color:var(--navy)}
.note.mid{margin-inline:auto}
.faq-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);align-items:start}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font:500 clamp(19px,1.7vw,22px)/1.3 var(--serif);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);background:linear-gradient(var(--ink),var(--ink)) center/11px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 11px no-repeat;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg);background-color:var(--orange);border-color:var(--orange)}
.faq p{padding:0 50px 24px 0;max-width:70ch}

/* use cases */
.case{padding-block:clamp(56px,7vw,104px)}
.case.alt{background:var(--tint)}
.case-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.case-g.rev>.media{order:2}
.case-g.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.case-g>.media{position:sticky;top:calc(var(--top) + 28px)}
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-top:26px;border-top:1px solid var(--line-2)}
.pair h3{font:600 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-bottom:10px}
.pair p{font-size:15px}

/* security */
.callout{background:var(--tint);border-radius:var(--r);padding:24px 26px;color:var(--ink)}
.callout strong{font-weight:600;color:var(--navy)}
.qa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.qa>div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.6vw,34px)}
.qa h3{font-size:21px;margin-bottom:12px}

/* about */
.media.band{aspect-ratio:21/9;margin-top:clamp(40px,5vw,72px)}
.media.band img{object-position:50% 30%}
.princ{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,5vw,80px)}
.princ article{padding:30px 0;border-top:1px solid var(--line)}
.princ h3{font-size:clamp(22px,2vw,26px);margin:14px 0 10px}
.addr{font:500 20px/1.5 var(--serif);color:var(--ink);padding-top:22px;border-top:1px solid var(--line);margin-top:28px!important}

/* forms */
.form-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,80px);align-items:start}
.form{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,40px);display:grid;gap:16px}
.form h3{font-size:26px}
.fsub{font-size:15px;color:var(--muted);margin-bottom:6px}
.f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form label{display:grid;gap:7px;font-size:13.5px;font-weight:500;color:var(--ink)}
.form input,.form select,.form textarea{width:100%;font:400 16px/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.form textarea{resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 3px rgba(8,40,140,.12)}
.form .bad{border-color:#c2410c}
.form .pbtn{justify-self:start;margin-top:6px}
.fnote{font-size:13.5px;color:var(--muted)}
.form .done{border-top:1px solid var(--line);padding-top:18px}
.form .ok{font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-bottom:10px}
.reach li{padding:14px 0 14px 26px;border-top:1px solid var(--line);position:relative;color:var(--ink)}
.reach li:last-child{border-bottom:1px solid var(--line)}
.reach li::before{content:"→";position:absolute;left:0;color:var(--orange)}
.sticky-f{position:sticky;top:calc(var(--top) + 24px)}

/* jobs */
.jobs{display:grid;gap:10px}
.job{background:#fff;border:1px solid var(--line);border-radius:16px;transition:border-color .2s}
.job[open],.job:hover{border-color:var(--line-2)}
.job summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:6px 16px;padding:18px 20px;align-items:center}
.job summary::-webkit-details-marker{display:none}
.jc{grid-column:1/-1;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.jt{font:500 20px/1.3 var(--serif);color:var(--ink)}
.jm{grid-column:1;display:flex;flex-wrap:wrap;gap:6px}
.jm i{font-style:normal;font-size:12.5px;padding:3px 10px;border-radius:30px;background:var(--tint);color:var(--text)}
.jx{grid-row:2/4;grid-column:2;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);background:linear-gradient(var(--ink),var(--ink)) center/11px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 11px no-repeat;transition:transform .25s}
.job[open] .jx{transform:rotate(45deg);background-color:var(--orange);border-color:var(--orange)}
.jb{padding:0 20px 20px;font-size:15px;display:grid;gap:14px}
.jb ul{display:grid;gap:8px}
.jb li{padding-left:20px;position:relative}
.jb li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--orange)}
.jf{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}

/* legal */
.lg-hero{background:var(--tint);padding-block:clamp(36px,5vw,72px)}
.lg-hero h1{max-width:20ch;font-size:clamp(34px,4.2vw,56px)}
.lg-lead{margin-top:24px;max-width:78ch;display:grid;gap:12px;color:var(--text)}
.lg{padding-block:clamp(40px,6vw,88px)}
.lg-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.lg-toc{position:sticky;top:calc(var(--top) + 24px);max-height:calc(100vh - var(--top) - 48px);overflow:auto;font-size:13.5px}
.lg-toc>p{font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-bottom:12px}
.lg-toc a{display:grid;grid-template-columns:30px 1fr;padding:7px 0;color:var(--muted);border-top:1px solid var(--line);text-transform:capitalize}
.lg-toc a:hover{color:var(--navy)}
.lg-toc b{font-weight:500;color:var(--orange)}
.lg-body{max-width:820px}
.lg-sec{padding-bottom:clamp(36px,5vw,60px);margin-bottom:clamp(36px,5vw,60px);border-bottom:1px solid var(--line)}
.lg-sec:last-child{border:0;margin:0}
.lg-sec h2{font-size:clamp(24px,2.5vw,32px);margin-bottom:22px}
.lg-sec h3{font-size:20px;margin:30px 0 12px;color:var(--navy)}
.lg-sec p{margin-top:14px}
.lg-sec strong{font-weight:600;color:var(--ink)}
.lg-sec a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.lg-sec code{font-size:.9em;background:var(--tint);padding:2px 6px;border-radius:6px}
.lg-ul{margin-top:14px;display:grid;gap:10px}
.lg-ul li{padding-left:22px;position:relative}
.lg-ul li::before{content:"";position:absolute;left:0;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--orange)}
.lg-ol{margin-top:16px}
.lg-ol li{display:grid;grid-template-columns:40px minmax(0,1fr);padding-block:12px;border-top:1px solid var(--line)}
.lg-ol li:last-child{border-bottom:1px solid var(--line)}
.lg-ol i{font:500 13px/2 var(--sans);font-style:normal;letter-spacing:.08em;color:var(--orange)}
.lg-ol strong{display:block;margin-bottom:4px}
.lg-table{margin-top:18px;overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.lg-table table{border-collapse:collapse;width:100%;min-width:520px;font-size:14.5px}
.lg-table th{text-align:left;font:600 11px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:var(--tint);padding:14px 16px}
.lg-table td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:top}
.lg-table td:first-child{color:var(--ink);font-weight:500;width:32%}
.lg-addr{font:500 18px/1.55 var(--serif);color:var(--ink);padding:18px 22px;background:var(--tint);border-radius:14px;margin-top:18px!important}
.lg-addr strong{font-weight:500}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line);background:#fff;padding-block:clamp(44px,5vw,72px) 26px;font-size:14.5px}
.foot .wrap{max-width:1400px}
.fgrid{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(4,minmax(0,1fr));gap:36px clamp(20px,3vw,48px)}
.fabout img{height:36px;width:auto;margin-bottom:18px}
.fabout p{max-width:40ch;color:var(--muted)}
.fcontact{margin-top:20px;display:grid;gap:8px}
.fcontact li{display:grid;grid-template-columns:46px minmax(0,1fr)}
.fcontact li>span:first-child{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:2.1}
.fcontact a,.fcontact .v{color:var(--ink)}
.fcontact a:hover,.foot ul a:hover,.legal a:hover{color:var(--navy)}
.social{display:flex;gap:10px;margin-top:20px}
.social a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--navy);transition:background .2s,color .2s}
.social a:hover{background:var(--navy);color:#fff}
.foot h4{font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--navy);margin-bottom:16px}
.foot .fgrid>div:not(.fabout) ul{display:grid;gap:10px}
.foot .fgrid>div:not(.fabout) a{color:var(--text)}
.legal{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;margin-top:clamp(36px,4vw,56px);padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.legal nav{display:flex;flex-wrap:wrap;gap:8px 22px}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .fit{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps.c5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nums.grid3,.steps.c3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nums.cards li,.nums.cards li:nth-child(n+4){grid-column:span 3}
  .tiles,.jump{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fabout{grid-column:1/-1}
  .lg-grid{grid-template-columns:minmax(0,1fr)}
  .lg-toc{position:static;max-height:none}
  .lg-toc ol{columns:2;column-gap:28px}
  .lg-toc li{break-inside:avoid}
}
@media (max-width:860px){
  .split,.sticky-g,.head.split-h,.lede-g,.ph-split .g,.ph-rev .g,.ph-agents .g,.ph-ed .g,.ph-plain .g,.case-g,.case-g.rev,.form-g,.faq-g,.pull,.cta-a .cta-g,.cta-d .cta-g,.cta-e .cta-g,.cta-b .card,.models,.duo,.twolist{grid-template-columns:1fr}
  .head.split-h{gap:32px}
  .split.rev>.flow,.case-g.rev>.media{order:0}
  .sticky,.split .stick,.case-g>.media,.sticky-f{position:static}
  .lede-g .btns{justify-content:flex-start}
  .media.r45{aspect-ratio:4/3}
  .cta-a .r{padding-left:0;border-left:0;padding-top:22px;border-top:1px solid var(--line)}
  .ph-plain .side{padding-left:18px}
  .cta-b .im{min-height:220px}
  .mosaic{aspect-ratio:4/3}
  .film-v{aspect-ratio:16/9;min-height:0;max-height:none}
  .film-t{position:static;background:#050f30;padding-block:22px 28px}
  .film-v::after{display:none}
}
@media (max-width:640px){
  .ledger,.rtable>div,.princ,.qa,.pair,.f2{grid-template-columns:1fr}
  .ledger .col+.col{border-left:0;border-top:1px solid var(--line)}
  .rtable .rt-h{display:none}
  .rtable span+span{border-left:0;border-top:1px dashed var(--line-2)}
  .fit{gap:28px 14px}
  .fit h3{font-size:17px}
  .steps.c5,.steps.c3,.nums.grid3,.tiles,.jump,.fgrid{grid-template-columns:1fr}
  .nums.cards{grid-template-columns:1fr}
  .nums.cards li,.nums.cards li:nth-child(n+4){grid-column:auto}
  .lg-toc ol{columns:1}
  .faq p{padding-right:0}
  .pbtn{white-space:normal}
  .media.band,.ph-center .media.wide{aspect-ratio:16/10}
}

/* =====================================================================
   Precision layer: component shapes for the Option B design
   ===================================================================== */
.em,.lede-g p,.big,.tiles em,.pull strong,.faq summary,.jt,.addr,.lg-addr,.rtable .rt-h span{letter-spacing:-.025em}
h1 .acc,h2 .acc{color:var(--navy)}
@keyframes rise{from{opacity:0;transform:translateY(20px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
.ph h1,.hero h1,.lg-hero h1{animation:rise 1s ease both}
.ph .sub,.hero .sub,.lg-lead{animation:rise 1s .12s ease both}
.ph .btns,.hero .btns{animation:rise 1s .24s ease both}
@media (prefers-reduced-motion:reduce){.ph h1,.hero h1,.lg-hero h1,.ph .sub,.hero .sub,.lg-lead,.ph .btns,.hero .btns{animation:none}}

/* buttons */
.pbtn{padding:14px 22px;border:0;background:var(--ink);color:#fff;font:500 15.5px/1.2 var(--sans);gap:10px;transition:transform .2s,background .2s}
.pbtn .dot{width:auto;height:auto;background:none;color:var(--orange)}
.pbtn:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.pbtn.sm{padding:11px 18px;font-size:14px}
.pbtn.sm .dot{display:none}
.btns{gap:12px}
.btns .lnk{background:var(--tint);border:0;border-radius:40px;padding:14px 22px;color:var(--ink);font-size:15.5px;transition:transform .2s}
.btns .lnk:hover{transform:translateY(-2px)}

/* floating pill menu */
.top{top:12px;width:min(1320px,calc(100% - 24px));margin:12px auto 0;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:36px;box-shadow:0 10px 40px rgba(11,13,18,.06)}
.top .wrap{max-width:none;height:60px;padding-inline:20px 9px;gap:18px}
.logo img{height:32px}
.nav a{color:var(--text);padding:8px 10px}
.nav a:hover{background:none;color:var(--ink)}
.nav a[aria-current]{background:var(--tint);color:var(--ink)}
.top-actions{border-left:0;padding-left:6px;color:var(--text)}
.top .pbtn{background:var(--navy)}
.top .pbtn:hover{background:var(--ink)}
.menu-btn{border:0;background:var(--tint);border-radius:50%}
@media (max-width:1120px){
  .top .wrap{padding-inline:16px 8px}
  .nav{position:absolute;inset:calc(100% + 8px) 0 auto 0;max-height:calc(100vh - 110px);background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 30px 80px rgba(11,13,18,.16);padding:10px 22px 24px}
  .nav a{color:var(--ink)}
  .nav li:last-child a,.nav li:nth-last-child(2) a{border-bottom:0}
  .m-btn a{border:0}
}
@media (max-width:520px){:root{--top:82px}.logo img{height:28px}}

/* labels */
.eye{font-size:13px;letter-spacing:.01em;text-transform:none;color:var(--muted);gap:8px;margin-bottom:16px}
.eye b{letter-spacing:.06em}
.eye b::after{content:"·";width:auto;height:auto;background:none;margin-left:8px;color:var(--line-2)}
.eye.plain{color:var(--muted)}
.eye.plain::before{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(248,145,0,.18);margin-right:4px}
.crumb{margin-bottom:20px}
.mini{letter-spacing:.02em;text-transform:none;font-size:14px;color:var(--ink)}
.pair h3,.models .suits b,.foot h4,.lg-toc>p,.lg-table th,.form .ok{letter-spacing:.04em}

/* surfaces */
.sec{padding-block:clamp(72px,9vw,140px)}
.sec.tint,.case.alt,.ph-plain,.lg-hero,.cta-d,.cta-c{background:var(--tint);margin-inline:12px;border-radius:36px}
.sec.line,.cta,.ph,.lede{border:0}
.media{border-radius:28px}
.ph .media{box-shadow:0 40px 120px rgba(8,40,140,.16)}
.duo-c,.models article{border:0;border-radius:28px;padding:14px 14px 0}
.duo-c:hover,.models article:hover{box-shadow:0 30px 70px rgba(11,13,18,.10);transform:translateY(-6px)}
.duo-c,.models article{transition:transform .3s,box-shadow .3s}
.duo-c .im,.models .im{border-radius:18px;overflow:hidden}
.duo-c .tx{padding:22px 16px 30px}
.duo-c h3{font-size:clamp(24px,2.2vw,30px)}
.models article{background:var(--tint)}
.models span{padding:24px 14px 0}.models h3{padding:10px 14px 0;font-size:28px}.models p{padding:12px 14px 0}.models .suits{padding:22px 14px 26px}
.models .suits b{border-top-color:var(--line-2)}
.ledger,.rtable{border-radius:28px}
.ledger h3{font-size:clamp(24px,2.4vw,34px)}
.fit .im{border-radius:20px}
.fit h3{font-size:20px}
.nums h3{font-size:20px}
.nums.cards li,.qa>div{border:0;border-radius:24px}
.qa h3{font-size:22px}
.tiles a{border:0;background:var(--tint);border-radius:22px}
.tiles a:hover{background:var(--tint);transform:translateY(-4px)}
.tiles a{transition:transform .25s}
.tiles span{text-transform:none;letter-spacing:.01em;font-size:13px}
.jump{border-top-color:var(--line)}
.pull{border-radius:32px}
.pull strong{font-weight:600;letter-spacing:-.03em}
.callout{border-radius:22px}
.form{background:var(--tint);border:0;border-radius:28px}
.form input,.form select,.form textarea{border-color:transparent;border-radius:14px}
.job{border-radius:20px;border-color:transparent}
.steps h3{font-size:20px}.steps.v h3{font-size:24px}
.princ h3{font-size:clamp(22px,2.2vw,28px)}
.faq summary{font-weight:600;letter-spacing:-.02em}
.jt{font-weight:600}
.lg-sec h3{color:var(--ink)}
.lg-table{border-radius:18px}

/* page heroes */
.ph{padding-block:clamp(44px,6vw,88px) clamp(40px,5vw,72px)}
.ph-center{background:none}
.ph-center h1{max-width:14ch}
.ph-plain,.lg-hero{margin-top:12px;padding-block:clamp(48px,6vw,88px)}
.ph-plain .side{border-left:0;padding-left:0}
.ph-form h1{font-size:clamp(38px,4.6vw,66px)}
.lg-hero h1{font-size:clamp(38px,5vw,72px)}
.case{padding-block:clamp(64px,8vw,120px)}

/* closing sections: one very large line */
.cta{padding-block:clamp(72px,10vw,160px)}
.cta-a .cta-g{grid-template-columns:1fr;justify-items:center;text-align:center;gap:26px}
.cta-a .eye{justify-content:center}
.cta-a h2,.cta-c h2,.cta-d h2{font-size:clamp(42px,7.6vw,120px);line-height:.96}
.cta-a h2,.cta-c h2{max-width:12ch;margin-inline:auto}
.cta-a .r{border:0;padding:0;justify-items:center}
.cta-a .r p,.cta-c p{max-width:56ch;font-size:18px}
.cta-b{padding-top:0;padding-bottom:clamp(56px,7vw,104px)}
.cta-b .card{border-radius:36px}
.cta-b h2,.cta-e h2{font-size:clamp(32px,4.4vw,64px)}
.cta-c{margin-bottom:12px}
.cta-d{margin-bottom:12px}
.cta-d .cta-g{align-items:center}
.cta-d h2{font-size:clamp(38px,5.4vw,84px)}
.cta-d .r{border-left:0;padding-left:0}
.cta-e .r{gap:22px}

/* ---------- home: centered hero and the chapter stage ---------- */
.hero{text-align:center;padding:clamp(48px,7vw,104px) 20px clamp(36px,5vw,60px);display:grid;justify-items:center;gap:26px}
.chip{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--text);border:1px solid var(--line);border-radius:30px;padding:7px 14px}
.chip i{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(248,145,0,.18)}
.hero h1{font-size:clamp(40px,6.4vw,98px);line-height:.98;max-width:16ch}
.hero .sub{max-width:62ch}
.hero .btns{justify-content:center}
.stage{width:min(1320px,calc(100% - 32px));margin:0 auto}
.screen{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:var(--ink);box-shadow:0 40px 120px rgba(8,40,140,.18)}
.screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .8s,transform 1.6s}
.screen video.on{opacity:1;transform:none}
.cap{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;color:#fff;font-size:13px;letter-spacing:.02em;pointer-events:none}
.cap span,.cap b{background:rgba(11,13,18,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 14px;border-radius:30px;font-weight:500}
.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}
.tabs button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:8px;align-content:start;padding:20px 18px 24px;border-radius:20px;transition:background .25s}
.tabs button:hover,.tabs button[aria-selected=true]{background:var(--tint)}
.tabs button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.tabs i{display:block;height:3px;border-radius:3px;background:var(--line-2);overflow:hidden}
.tabs u{display:block;height:100%;width:0;background:var(--orange)}
.tabs button[aria-selected=true] u{animation:bar 6s linear forwards}
@keyframes bar{to{width:100%}}
.tabs b{font:500 12px/1 var(--sans);letter-spacing:.14em;color:var(--muted);margin-top:8px}
.tabs strong{font:600 18px/1.25 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.tabs span{font-size:14.5px;color:var(--text);line-height:1.5;opacity:0;max-height:0;overflow:hidden;transition:opacity .4s,max-height .4s}
.tabs button[aria-selected=true] span{opacity:1;max-height:140px}
.ticker{border:0;background:none;margin-top:clamp(28px,4vw,56px)}
.ticker span{font-size:13px;letter-spacing:.02em;text-transform:none}
.bigsec h2{font-size:clamp(34px,5.4vw,84px);line-height:1;max-width:16ch}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,72px);margin-top:clamp(32px,5vw,64px);font-size:19px}
.two p:first-child{color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.chips a{display:inline-flex;gap:10px;align-items:baseline;background:var(--tint);border-radius:30px;padding:10px 16px;font-size:14.5px;color:var(--ink);transition:background .2s}
.chips a:hover{background:var(--line)}
.chips b{font:500 12px/1 var(--sans);letter-spacing:.1em;color:var(--orange)}
.bigsec .lnk{margin-top:26px}
@media (max-width:860px){
  .tabs,.two{grid-template-columns:1fr}
  .tabs span{opacity:1;max-height:none}
  .screen{border-radius:18px}
  .sec.tint,.case.alt,.ph-plain,.lg-hero,.cta-d,.cta-c{margin-inline:8px;border-radius:26px}
  .cta-a .r{border-top:0;padding-top:0}
}
.tiles span::first-letter{text-transform:uppercase}


/* =====================================================================
   Calm layer: lighter type, flat menu, fewer shapes
   ===================================================================== */
h1,h2,h3,h4{font-weight:500;letter-spacing:-.032em}
h1{font-size:clamp(34px,4.6vw,66px);line-height:1.04}
h2{font-size:clamp(28px,3.4vw,48px);line-height:1.06}
h3,.nums h3,.steps h3,.fit h3{font-weight:500;letter-spacing:-.015em}
.faq summary,.jt,.pull strong,.tabs strong{font-weight:500}

/* menu: one flat bar */
:root{--top:66px}
.top{top:0;width:100%;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:rgba(255,255,255,.94)}
.top .wrap{max-width:1320px;margin-inline:auto;height:var(--top);padding-inline:var(--gut)}
.top .pbtn{background:var(--ink)}
.top .pbtn:hover{background:var(--navy)}
.nav a[aria-current]{background:none;color:var(--ink);font-weight:500}
.menu-btn{border-radius:12px}
@media (max-width:1120px){.nav{inset:100% 0 auto 0;border-radius:0 0 22px 22px;border-top:0}}
@media (max-width:520px){:root{--top:60px}}

/* actions: one button and a text link */
.btns{gap:14px 26px}
.btns .lnk{background:none;border-radius:0;padding:0 0 2px;color:var(--ink);font-size:15.5px}
.btns .lnk:hover{transform:none;color:var(--navy);border-color:transparent}
.pbtn{padding:13px 20px}

/* home first screen */
.hero{padding:clamp(56px,7vw,110px) 20px 0;gap:0}
.hero h1{font-size:clamp(34px,4.8vw,70px);line-height:1.03;max-width:19ch}
.hero .sub{margin-top:24px;font-size:18px}
.hero .btns{margin-top:30px}
.stage{width:min(1240px,calc(100% - 2*var(--gut)));margin-top:clamp(40px,5vw,72px)}
.screen{border-radius:22px;box-shadow:none}
.screen video{opacity:1;transform:none}
.bigsec h2{font-size:clamp(28px,3.4vw,48px);line-height:1.06;max-width:none}

/* quieter surfaces */
.media{border-radius:20px}
.ph .media{box-shadow:none}
.sec.tint,.case.alt,.ph-plain,.lg-hero,.cta-d,.cta-c{border-radius:28px}
.duo-c:hover,.models article:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(11,13,18,.07)}
.ph h1,.hero h1,.lg-hero h1,.ph .sub,.hero .sub,.lg-lead,.ph .btns,.hero .btns{animation-name:calm}
@keyframes calm{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* closing lines: large but not shouting */
.cta{padding-block:clamp(64px,8vw,128px)}
.cta-a h2,.cta-c h2{font-size:clamp(34px,5vw,76px);line-height:1.02;max-width:14ch}
.cta-d h2{font-size:clamp(32px,4.4vw,64px);line-height:1.04}
.cta-b h2,.cta-e h2{font-size:clamp(28px,3.6vw,52px)}
.ph-form h1{font-size:clamp(32px,4vw,56px)}
.lg-hero h1{font-size:clamp(32px,4.2vw,60px)}
.ledger h3{font-size:clamp(22px,2vw,28px)}

/* =====================================================================
   Corporate layer (after LanguageLine, TP and Vectis): cream ground, serif headlines with an
   italic second phrase, a utility bar over the menu, navy bands, diagonal orange and
   hatched-line accents, squarer corners, navy footer.
   ===================================================================== */
:root{--bg:#faf8f4;--paper:#fff;--tint:#f1ede6;--line:#e6e0d6;--line-2:#d6cec1;--text:#3f4658;--muted:#6a6f7d;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;--r:8px;--top:76px;
  --hatch-o:repeating-linear-gradient(118deg,rgba(248,145,0,.7) 0 1.5px,transparent 1.5px 11px);
  --hatch-n:repeating-linear-gradient(118deg,rgba(8,40,140,.45) 0 1.5px,transparent 1.5px 11px)}
body{background:var(--bg)}
h1,h2,h3,h4{font-weight:400;letter-spacing:-.02em}
h1{font-size:clamp(36px,4.8vw,68px);line-height:1.04}
h2{font-size:clamp(30px,3.5vw,50px);line-height:1.08}
h3,.nums h3,.steps h3,.fit h3{font-weight:500;letter-spacing:-.01em;font-size:21px}
.acc{font-style:italic}
.big,.pull strong,.faq summary,.jt,.tiles em,.addr,.lg-addr,.rtable .rt-h span{font-weight:400;letter-spacing:-.01em}
.big{font-size:clamp(21px,2vw,27px)}

/* utility bar + menu */
.util{background:var(--tint);font-size:12.5px;color:var(--text)}
.util .wrap{max-width:1320px;display:flex;justify-content:flex-end;gap:26px;padding-block:8px}
.util a:hover{color:var(--navy)}
.top{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.logo img{height:40px}
.nav a{font-size:14.5px;font-weight:500;color:var(--ink);padding:8px 12px}
.nav a:hover{color:var(--navy)}
.nav a[aria-current]{color:var(--navy);box-shadow:inset 0 -2px 0 var(--orange);border-radius:0}
.top-actions>a:not(.pbtn){display:none}
.top .pbtn,.pbtn{background:var(--navy);color:#fff;font-weight:600;font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;padding:14px 22px}
.top .pbtn{padding:12px 20px;font-size:12.5px}
.pbtn:hover,.top .pbtn:hover{background:#061d66}
.btns .lnk,.lnk{color:var(--navy);font-weight:600;border-bottom:1.5px solid currentColor;padding-bottom:1px}
.btns .lnk:hover{color:var(--ink)}
@media (max-width:1120px){.util{display:none}.nav{background:#fff}.m-btn a{border:0}}
@media (max-width:520px){:root{--top:64px}.logo img{height:32px}}

/* labels: 01/ */
.eye{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);gap:10px}
.eye b{color:var(--orange);letter-spacing:.06em}
.eye b::after{content:"/";color:var(--orange);margin-left:2px}
.eye.plain::before{width:22px;height:2px;border-radius:0;box-shadow:none;background:var(--orange)}
.mini{text-transform:uppercase;letter-spacing:.14em;font-size:12.5px;color:var(--navy)}

/* shapes */
.media,.screen{border-radius:6px}
.duo-c,.models article,.nums.cards li,.qa>div,.form,.job,.tiles a,.pull,.callout,.ledger,.rtable,.cta-b .card,.fit .im,.duo-c .im,.models .im,.lg-table,.lg-addr{border-radius:8px}
.form input,.form select,.form textarea{border-radius:6px;border-color:var(--line-2)}
.duo-c,.models article{padding:0;overflow:hidden;background:#fff;border:1px solid var(--line)}
.duo-c .im,.models .im{border-radius:0}
.duo-c .tx{padding:26px 28px 30px}
.models span{padding:24px 26px 0}.models h3{padding:8px 26px 0;font-size:28px;font-weight:400}.models p{padding:12px 26px 0}.models .suits{padding:22px 26px 26px}
.nums.cards li,.qa>div,.job{border:1px solid var(--line)}
.form{background:#fff;border:1px solid var(--line)}
.tiles a{background:#fff;border:1px solid var(--line)}
.tiles a:hover{background:#fff;border-color:var(--navy)}

/* bands */
.sec{position:relative}
.sec>.wrap,.case>.wrap,.ph>.wrap{position:relative;z-index:1}
.sec.tint,.case.alt,.ph-plain,.lg-hero,.cta-d,.cta-c{margin-inline:0;border-radius:0;overflow:hidden;position:relative}
.sec.tint::before,.case.alt::before{content:"";position:absolute;left:-60px;bottom:-30px;width:380px;height:260px;background:var(--hatch-o);clip-path:polygon(0 100%,38% 0,100% 0,62% 100%);opacity:.8;pointer-events:none}
.ph{position:relative;overflow:hidden;background:#fff;border-bottom:1px solid var(--line)}
.ph::after{content:"";position:absolute;right:-70px;top:-40px;width:420px;height:240px;background:var(--hatch-n);clip-path:polygon(0 100%,38% 0,100% 0,62% 100%);opacity:.5;pointer-events:none}
.ph-plain,.lg-hero{background:var(--tint)}
.sec.navy{background:var(--navy);overflow:hidden}
.sec.navy::before{content:"";position:absolute;left:-60px;top:-20px;width:360px;height:100%;background:var(--hatch-o);clip-path:polygon(0 0,46% 0,10% 100%,0 100%);opacity:.75}
.sec.navy h2,.sec.navy h3{color:#fff}
.sec.navy h2 .acc,.sec.navy .ours h3{color:var(--orange)}
.sec.navy .eye{color:rgba(255,255,255,.8)}
.sec.navy .ledger{border:0;border-radius:0;display:grid;gap:clamp(24px,6vw,96px)}
.sec.navy .ledger .col{padding:0;background:none;border:0}
.sec.navy .ledger h3{font-size:clamp(26px,2.6vw,36px);padding-bottom:16px;border-bottom:2px solid var(--orange);margin-bottom:6px}
.sec.navy .ledger li{color:#fff;border-top:0;border-bottom:1px solid rgba(255,255,255,.18)}
.sec.navy .note{color:rgba(255,255,255,.78)}
.sec.navy .lnk{color:#fff}

/* home: diagonal film hero */
.lhero{position:relative;background:var(--navy);overflow:hidden;min-height:clamp(440px,44vw,640px);display:grid;align-items:center}
.lhero .v,.lhero .stripe{position:absolute;inset:0 0 0 40%}
.lhero .v{clip-path:polygon(24% 0,100% 0,100% 100%,2% 100%)}
.lhero .v video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lhero .stripe{background:var(--orange);clip-path:polygon(22% 0,24.2% 0,2.2% 100%,0 100%)}
.lhero::after{content:"";position:absolute;right:-40px;bottom:0;width:260px;height:70%;background:repeating-linear-gradient(118deg,rgba(255,255,255,.5) 0 1.5px,transparent 1.5px 11px);clip-path:polygon(60% 0,100% 0,100% 100%,0 100%);pointer-events:none}
.lhero .wrap{position:relative;z-index:2;width:100%}
.lhero .t{max-width:min(560px,44%);padding-block:clamp(40px,5vw,72px)}
.lhero h1{color:#fff;font-size:clamp(32px,3.7vw,54px);line-height:1.08}
.lhero h1 .acc{color:#fff}
.lhero .sub{color:rgba(255,255,255,.86);margin-top:20px;font-size:16.5px}
.lhero .btns{margin-top:28px}
.lhero .pbtn{background:#fff;color:var(--navy)}
.lhero .pbtn:hover{background:var(--orange);color:var(--ink)}
.lhero .pbtn:hover .dot{color:var(--ink)}
.lhero .lnk{color:#fff}

/* home 01: four situations beside a photo */
.find{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,6vw,96px);align-items:center}
.find h2{margin-bottom:24px}
.find>div>p+p{margin-top:16px}
.quad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px clamp(24px,4vw,56px);margin:36px 0 30px}
.quad h3{font:600 16px/1.35 var(--sans);letter-spacing:0;color:var(--navy)}
.quad h3 svg{display:inline;vertical-align:-2px;margin-left:4px;transition:transform .2s}
.quad a:hover h3 svg{transform:translateX(4px)}
.quad p{margin-top:8px;font-size:15px}
.media.hatch{overflow:visible}
.media.hatch>img{border-radius:6px}
.media.hatch::before{content:"";position:absolute;left:-70px;bottom:-56px;width:78%;height:60%;background:var(--hatch-o);clip-path:polygon(0 100%,38% 0,100% 0,62% 100%);z-index:-1}
.find .media{z-index:0}

/* industries: photo with a navy label bar */
.fit article{display:grid;grid-template-rows:auto auto 1fr;position:relative;background:#fff}
.fit .im{margin:0;border-radius:0}
.fit span{position:absolute;left:12px;top:12px;background:#fff;color:var(--navy);padding:6px 8px;border-radius:3px;font-weight:600}
.fit h3{margin:0;background:var(--navy);color:#fff;font:600 15px/1.3 var(--sans);letter-spacing:0;padding:16px 16px;min-height:72px;display:flex;align-items:center}
.fit p{padding:16px 16px 20px}

/* steps and lists */
.steps li::before{border-radius:0;width:28px;height:3px;top:-2px}
.steps.v li::before{width:9px;height:9px;border-radius:50%;top:6px}
.nums.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,6vw,96px);max-width:1040px;margin-inline:auto}
.nums.grid2 li{padding-block:26px;border-top:1px solid var(--line-2)}
.ctr{text-align:center;margin-top:36px}

/* closing band: navy text, photo, orange angle */
.cta-ll{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--navy);color:#fff;overflow:hidden}
.cta-ll .t{padding:clamp(48px,6vw,96px) clamp(24px,5vw,72px) clamp(48px,6vw,96px) max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));display:grid;gap:20px;align-content:center;justify-items:start}
.cta-ll h2{color:#fff;font-size:clamp(30px,3.4vw,48px)}
.cta-ll p{color:rgba(255,255,255,.86);max-width:52ch}
.cta-ll .eye{color:rgba(255,255,255,.8);margin:0}
.cta-ll .pbtn{background:none;border:1.5px solid #fff;margin-top:8px}
.cta-ll .pbtn:hover{background:#fff;color:var(--navy)}
.cta-ll .p{position:relative;background:var(--orange);min-height:340px}
.cta-ll .p::before{content:"";position:absolute;left:0;bottom:0;width:22%;height:42%;background:var(--navy);clip-path:polygon(0 0,0 100%,100% 100%)}
.cta-ll .im{position:absolute;inset:0 16% 14% 0;overflow:hidden}
.cta-ll .im video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* other closing sections */
.cta{border-top:0}
.cta-a h2,.cta-c h2,.cta-d h2{font-size:clamp(32px,4vw,58px);line-height:1.06}
.cta-d{background:var(--navy)}
.cta-d h2,.cta-d h2 .acc{color:#fff}
.cta-d p{color:rgba(255,255,255,.86)}
.cta-d .pbtn{background:#fff;color:var(--navy)}
.cta-c,.cta-d{margin-bottom:0}
.cta-b{padding-top:clamp(40px,5vw,72px)}
.cta-b .card{background:#fff;border:1px solid var(--line)}

/* footer */
.foot{background:#061d66;border:0;color:rgba(255,255,255,.78)}
.foot .fabout img{background:#fff;padding:8px 12px;border-radius:6px;height:54px}
.foot .fabout p,.fcontact li>span:first-child{color:rgba(255,255,255,.66)}
.fcontact a,.fcontact .v,.foot .fgrid>div:not(.fabout) a{color:#fff}
.fcontact a:hover,.foot ul a:hover,.legal a:hover{color:var(--orange)}
.foot h4{color:var(--orange)}
.foot .fgrid>div:not(.fabout){border-left:1px solid rgba(255,255,255,.2);padding-left:20px}
.social a{border-color:rgba(255,255,255,.3);color:#fff}
.social a:hover{background:#fff;color:var(--navy)}
.legal{border-top-color:rgba(255,255,255,.2);color:rgba(255,255,255,.66)}

@media (max-width:860px){
  .lhero{display:block;min-height:0}
  .lhero .v{position:relative;inset:auto;aspect-ratio:16/9;clip-path:none}
  .lhero .stripe{position:relative;inset:auto;height:5px;clip-path:none}
  .lhero::after{display:none}
  .lhero .t{max-width:none;padding-block:28px 40px}
  .find,.cta-ll,.sec.navy .ledger{grid-template-columns:1fr}
  .cta-ll .t{padding:44px var(--gut)}
  .cta-ll .p{min-height:260px}
  .media.hatch::before{left:-30px;bottom:-30px}
  .sec.tint,.case.alt,.ph-plain,.lg-hero,.cta-d,.cta-c{margin-inline:0;border-radius:0}
  .foot .fgrid>div:not(.fabout){border-left:0;padding-left:0}
}
@media (max-width:640px){.quad,.nums.grid2{grid-template-columns:1fr}.fit h3{min-height:0}}
.lhero .t{max-width:min(500px,38%)}
.sec.tint::before,.case.alt::before{width:300px;height:170px;opacity:.55}
.ph::after{opacity:.32}
@media (max-width:860px){.lhero .t{max-width:none}}


/* =====================================================================
   White ground (no cream) and the home first screen
   ===================================================================== */
:root{--bg:#fff;--tint:#f4f6f9;--line:#e6e9f0;--line-2:#d5dae5;--text:#3f4658;--muted:#666d7e}
.util{background:var(--tint)}
.hero2{background:#fff;padding-block:clamp(40px,5vw,76px) clamp(48px,6vw,88px);text-align:center}
.hero2 .wrap{display:grid;justify-items:center}
.hero2 h1{font-size:clamp(36px,4.8vw,68px);line-height:1.05;max-width:22ch}
.hero2 .sub{margin-top:24px;max-width:64ch}
.hero2 .btns{margin-top:30px;justify-content:center}
.frame{margin:clamp(40px,5vw,68px) 0 0;width:100%;position:relative;text-align:left}
.frame::before{content:"";position:absolute;left:-14px;bottom:-14px;width:38%;height:46%;border-left:3px solid var(--orange);border-bottom:3px solid var(--orange);pointer-events:none}
.frame .scr{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy);border-radius:6px 6px 0 0}
.frame .scr video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.frame figcaption{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--navy);color:#fff;border-radius:0 0 6px 6px}
.frame figcaption span{padding:16px 14px;font-size:12.5px;font-weight:500;line-height:1.35;letter-spacing:.01em;border-left:1px solid rgba(255,255,255,.18);display:flex;align-items:center}
.frame figcaption span:first-child{border-left:0}
.hero2 h1,.hero2 .sub,.hero2 .btns{animation:calm .9s ease both}
.hero2 .sub{animation-delay:.1s}.hero2 .btns{animation-delay:.2s}
@media (max-width:860px){
  .frame figcaption{grid-template-columns:repeat(2,minmax(0,1fr))}
  .frame figcaption span{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:12px 14px}
  .frame figcaption span:nth-child(-n+2){border-top:0}
  .frame::before{left:-8px;bottom:-8px}
}


/* =====================================================================
   Quiet layer: one white page, no colour bands, no blue blocks, no angled or hatched shapes.
   Black type, grey second phrase, soft grey rounded tiles, navy only on buttons and links.
   ===================================================================== */
:root{--bg:#fff;--tint:#f5f5f7;--line:#e8e8ed;--line-2:#d2d2d7;--ink:#1d1d1f;--text:#424245;--muted:#6e6e73;
  --serif:"Inter",-apple-system,"SF Pro Display","Helvetica Neue",Arial,sans-serif;--sans:"Inter",-apple-system,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  --r:22px;--top:60px;--wrap:1120px}
body{background:#fff;color:var(--text)}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.03em;color:var(--ink)}
h1{font-size:clamp(38px,5vw,72px);line-height:1.05}
h2{font-size:clamp(30px,3.8vw,52px);line-height:1.08}
h3,.nums h3,.steps h3,.fit h3{font-size:19px;font-weight:600;letter-spacing:-.015em}
.acc,h1 .acc,h2 .acc{color:var(--muted);font-style:normal}
.big,.pull strong,.faq summary,.jt,.tiles em,.addr,.lg-addr,.rtable .rt-h span{font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.sub{color:var(--text)}

/* menu: one thin white bar */
.util{display:none}
.top{background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.top .wrap{max-width:1180px}
.logo img{height:32px}
.nav a{font-size:13px;font-weight:400;color:var(--ink);padding:8px 10px;opacity:.88}
.nav a:hover{color:var(--ink);opacity:1}
.nav a[aria-current]{box-shadow:none;color:var(--ink);font-weight:600;opacity:1}
.top-actions{font-size:13px;gap:18px}
.top-actions>a:not(.pbtn){display:inline;color:var(--ink);opacity:.88}
@media (max-width:1300px){.top-actions>a:not(.pbtn){display:none}}
.pbtn,.top .pbtn{background:var(--navy);color:#fff;font:500 15px/1.2 var(--sans);letter-spacing:0;text-transform:none;padding:12px 22px;border-radius:980px}
.top .pbtn{font-size:12.5px;padding:8px 15px}
.pbtn .dot{display:none}
.pbtn:hover,.top .pbtn:hover{background:#0a34b5;transform:none}
.lnk,.btns .lnk{color:var(--navy);font-weight:500;border-bottom:0;padding:0;font-size:15.5px}
.lnk:hover,.btns .lnk:hover{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.lnk svg{width:12px;height:12px}

/* labels */
.eye{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted);gap:8px;margin-bottom:14px}
.eye b{color:var(--orange);letter-spacing:0}
.eye b::after{content:"";margin:0}
.eye.plain{color:var(--orange)}
.eye.plain::before{display:none}
.mini{text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink)}
.pair h3,.models .suits b,.foot h4,.lg-toc>p,.lg-table th,.form .ok{letter-spacing:0;text-transform:none;font-size:13px;color:var(--ink)}
.note{border-left:0;padding-left:0;color:var(--muted)}
.crumb{color:var(--muted)}

/* one continuous white page */
.sec,.case{padding-block:clamp(64px,8vw,120px)}
.sec.tint,.case.alt,.ph,.ph-plain,.lg-hero,.cta-c,.cta-d,.ph-center{background:#fff;border:0;margin:0;border-radius:0}
.sec.tint::before,.case.alt::before,.ph::after,.media.hatch::before,.sec.navy::before{display:none}
.ph{padding-block:clamp(48px,6vw,96px) clamp(24px,3vw,48px)}
.ph-plain .side{border:0;padding:0}

/* tiles */
.media,.screen{border-radius:22px}
.media.hatch>img{border-radius:22px}
.duo-c,.models article,.nums.cards li,.qa>div,.form,.job,.tiles a,.pull,.callout,.cta-b .card{background:var(--tint);border:0;border-radius:22px}
.duo-c:hover,.models article:hover{box-shadow:none;transform:none}
.duo-c .im img{transition:transform .8s}
.models .suits b{border-top-color:var(--line-2)}
.tiles a:hover{background:#ededf0;transform:none}
.form input,.form select,.form textarea{background:#fff;border-color:var(--line-2);border-radius:12px}
.form input:focus,.form select:focus,.form textarea:focus{box-shadow:0 0 0 3px rgba(8,40,140,.14)}
.jm i{background:#fff}
.ledger{border:0;border-radius:0;display:grid;gap:14px;overflow:visible}
.ledger .col,.ledger .ours{background:var(--tint);border:0!important;border-radius:22px}
.ledger .ours h3{color:var(--ink)}
.ledger li{border-top-color:var(--line-2)}
.rtable{border:0;background:var(--tint);border-radius:22px}
.rtable>div+div{border-top-color:var(--line-2)}
.rtable span+span{background:none;border-left-color:var(--line-2)}
.rtable .rt-h span+span{color:var(--ink)}
.callout strong{color:var(--ink)}
.fit{gap:14px}
.fit article{background:var(--tint);border-radius:22px;overflow:hidden;display:block}
.fit .im{border-radius:0;margin:0}
.fit span{position:static;display:block;background:none;color:var(--orange);padding:20px 20px 0}
.fit h3{background:none;color:var(--ink);font:600 19px/1.25 var(--serif);letter-spacing:-.015em;padding:8px 20px 0;min-height:0;display:block}
.fit p{padding:8px 20px 24px}
.steps li{border-top-color:var(--line-2)}
.steps li::before{display:none}
.steps.v{border-left-color:var(--line-2)}
.steps.v li::before{display:block;background:var(--ink)}
.nums .n,ol.plain li::before,.ledger li::before,.rtable i,.lg-ol i,.steps span,.fit span,.models span,.princ span,.tiles b,.jump a b,.jc,.lg-toc b{color:var(--orange)}
.nums.lined li,.nums.grid3 li,.nums.grid2 li,ol.plain li,.princ article,.faq details,.pair,.lg-sec,.lg-ol li,.reach li{border-color:var(--line)}
.quad h3{color:var(--ink);font-size:17px}
.quad h3 svg{color:var(--navy)}
.faq details[open] summary::after{background-color:var(--tint);border-color:var(--line-2)}
.job[open] .jx{background-color:#fff;border-color:var(--line-2)}
.lg-toc a{border-top-color:var(--line)}
.lg-table,.lg-addr{border-radius:16px}
.lg-table th{background:var(--tint);color:var(--ink)}
.lg-sec h3{color:var(--ink)}

/* closing sections: centred, white */
.cta{padding-block:clamp(72px,9vw,140px);border:0}
.cta-a .cta-g,.cta-d .cta-g{grid-template-columns:1fr;justify-items:center;text-align:center;gap:22px}
.cta-a .eye{justify-content:center}
.cta-a h2,.cta-c h2,.cta-d h2{font-size:clamp(34px,4.6vw,64px);line-height:1.05;color:var(--ink);max-width:16ch;margin-inline:auto}
.cta-d h2 .acc{color:var(--muted)}
.cta-a .r,.cta-d .r{border:0;padding:0;justify-items:center}
.cta p,.cta-d p{color:var(--text);max-width:56ch}
.cta-d .pbtn{background:var(--navy);color:#fff}
.cta-b .card{border-radius:28px}

/* footer: white, small type */
.foot{background:#fff;color:var(--muted);border-top:1px solid var(--line);font-size:13px}
.foot .fabout img{background:none;padding:0;border-radius:0;height:30px}
.foot .fabout p,.fcontact li>span:first-child{color:var(--muted)}
.fcontact a,.fcontact .v,.foot .fgrid>div:not(.fabout) a{color:var(--text)}
.fcontact a:hover,.foot ul a:hover,.legal a:hover{color:var(--ink);text-decoration:underline}
.foot h4{color:var(--ink);font-weight:600;margin-bottom:12px}
.foot .fgrid>div:not(.fabout){border-left:0;padding-left:0}
.social a{border-color:var(--line-2);color:var(--ink)}
.social a:hover{background:var(--tint);color:var(--ink)}
.legal{border-top-color:var(--line);color:var(--muted);font-size:12px}
@media (max-width:860px){.cta-a .r{padding-top:0}}
.ph-home h1{font-size:clamp(34px,4vw,58px)}.ph-home .g{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}@media (max-width:860px){.ph-home .g{grid-template-columns:1fr}}

/* =====================================================================
   No grey: white tiles with a hairline, black headlines, darker text
   ===================================================================== */
:root{--tint:#fff;--text:#1d1d1f;--muted:#4a4a4f;--line:#e6e6e6;--line-2:#d9d9d9}
.acc,h1 .acc,h2 .acc,.cta-d h2 .acc{color:var(--ink)}
.duo-c,.models article,.nums.cards li,.qa>div,.form,.job,.tiles a,.pull,.callout,.cta-b .card,.fit article,.ledger .col,.ledger .ours,.rtable{background:#fff;border:1px solid var(--line)!important}
.tiles a:hover{background:#fff;border-color:var(--ink)!important}
.jm i{background:#fff;border:1px solid var(--line)}
.lg-table th,.lg-addr{background:#fff}
.lg-addr{border:1px solid var(--line)}
.lg-table th{border-bottom:1px solid var(--line)}
.faq details[open] summary::after,.social a:hover{background-color:#fff}
.media,.screen{background:#fff}
.crumb,.note,.eye,.fsub,.fnote,.foot,.foot .fabout p,.fcontact li>span:first-child,.legal{color:var(--muted)}
.top{border-bottom-color:var(--line)}

/* =====================================================================
   Refinement pass: centred section headings, more air, a distinct For Agents opening,
   gentler motion
   ===================================================================== */
.sec,.case{padding-block:clamp(72px,9vw,136px)}
.head.two,.head.center{text-align:center;max-width:none;margin-bottom:clamp(36px,5vw,64px)}
.head.two>div,.head.center{max-width:860px;margin-inline:auto}
.head.two .eye,.head.center .eye{justify-content:center}
.head.two h2,.head.center h2{font-size:clamp(32px,4.2vw,56px)}
.sec>.wrap>.note,.after .note{text-align:center;margin-inline:auto;max-width:64ch}
.after{flex-direction:column;justify-content:center;gap:18px;text-align:center}
.eye{font-size:14px}
.sub{font-size:clamp(17px,1.5vw,21px);line-height:1.5}
.split{gap:clamp(32px,7vw,110px)}
.duo{gap:20px}
.duo-c .tx{padding:30px 32px 34px}
.duo-c h3{font-size:clamp(24px,2.4vw,32px);font-weight:600;letter-spacing:-.025em}
.ledger .col{padding:clamp(26px,3.4vw,48px)}
.ledger h3{font-size:clamp(24px,2.4vw,32px);font-weight:600;letter-spacing:-.025em}
.models h3{font-weight:600;letter-spacing:-.025em}
.steps.c5,.steps.c3{gap:0 28px}
.steps li{padding-top:22px}
.steps span{font-size:13px;letter-spacing:0;text-transform:none;font-weight:600}
.fit span,.models span,.princ span{font-size:13px;letter-spacing:0;font-weight:600}
.pbtn{transition:background .2s,transform .2s}
.pbtn:active{transform:scale(.98)}
.rv{transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.media.rv{transform:scale(.97)}
.media.rv.in{transform:none}

/* For Agents opens differently from the home page: centred text, three windows in a row */
.ph-agents:not(.ph-home) .g{grid-template-columns:1fr;justify-items:center;text-align:center;gap:clamp(36px,5vw,64px)}
.ph-agents:not(.ph-home) .t{display:grid;justify-items:center}
.ph-agents:not(.ph-home) h1{max-width:18ch}
.ph-agents:not(.ph-home) .sub{max-width:68ch}
.ph-agents:not(.ph-home) .btns{justify-content:center}
.ph-agents:not(.ph-home) .mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;aspect-ratio:auto;max-height:none;gap:16px}
.ph-agents:not(.ph-home) .mosaic .media{aspect-ratio:4/4.4;grid-row:auto}
@media (max-width:640px){.ph-agents:not(.ph-home) .mosaic{gap:8px}.ph-agents:not(.ph-home) .mosaic .media{aspect-ratio:3/4.4;border-radius:14px}}
.head.two{display:block}
.pair{grid-template-columns:1fr}.pair p{font-size:16px;max-width:60ch}


/* =====================================================================
   Atelier layer: precise, quiet, expensive. Geist for text, Geist Mono for labels,
   black on white with one orange accent, hairlines, a floating glass menu, fine motion.
   ===================================================================== */
:root{--ink:#0a0a0a;--text:#262626;--muted:#5c5c5c;--line:#ececec;--line-2:#dedede;--tint:#fff;
  --serif:"Geist","Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;--sans:"Geist","Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;--r:18px;--top:76px;--wrap:1180px;--ease:cubic-bezier(.2,.7,.2,1)}
::selection{background:var(--orange);color:#000}
body{font-size:16.5px;line-height:1.6;color:var(--text);font-feature-settings:"ss01","cv11"}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.045em;color:var(--ink)}
h1{font-size:clamp(42px,6vw,92px);line-height:.98}
h2,.head.two h2,.head.center h2{font-size:clamp(32px,4.4vw,64px);line-height:1.02}
h3,.nums h3,.steps h3,.fit h3{font-size:19px;font-weight:500;letter-spacing:-.02em}
.sub{font-size:clamp(17px,1.5vw,20px);color:var(--muted);line-height:1.55}
.big{font-weight:400;letter-spacing:-.025em;font-size:clamp(21px,2.1vw,28px);line-height:1.35}

/* labels in mono */
.eye,.crumb,.steps span,.fit span,.models span,.princ span,.nums .n,ol.plain li::before,.ledger li::before,.rtable i,.lg-ol i,.tiles b,.jump a b,.jc,.lg-toc b,.foot h4,.mini,.pair h3,.models .suits b,.lg-toc>p,.lg-table th,.form .ok,.fcontact li>span:first-child,.cap{font-family:var(--mono);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:11.5px}
.eye{color:var(--muted);gap:10px;margin-bottom:22px}
.eye b{color:var(--orange);font-weight:500}
.eye b::after{content:"/";margin-left:10px;color:var(--line-2)}
.eye.plain{color:var(--muted)}
.crumb{color:var(--muted);margin-bottom:28px}
.mini,.pair h3,.models .suits b{color:var(--ink)}

/* floating glass menu */
.top{top:14px;width:min(1180px,calc(100% - 28px));margin:14px auto 0;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);transition:box-shadow .4s,border-color .4s}
.top.scrolled{box-shadow:0 12px 40px rgba(0,0,0,.07);border-color:var(--line-2)}
.top .wrap{height:54px;padding-inline:20px 7px;max-width:none}
.logo img{height:28px}
.nav a{font-size:13.5px;color:var(--text);opacity:1;padding:8px 11px;transition:color .2s}
.nav a:hover{color:var(--ink)}
.nav a[aria-current]{font-weight:500;color:var(--ink)}
.top-actions>a:not(.pbtn){color:var(--text);opacity:1}
.progress{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--orange);transform-origin:0 50%;transform:scaleX(0);z-index:60;pointer-events:none}
@media (max-width:1120px){.nav{inset:calc(100% + 8px) 0 auto 0;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.12)}}
@media (max-width:520px){:root{--top:72px}.logo img{height:26px}}

/* buttons: black, with an arrow that travels */
.pbtn,.top .pbtn{background:var(--ink);color:#fff;font:500 15px/1 var(--sans);padding:14px 20px 14px 22px;gap:10px;border-radius:999px}
.top .pbtn{font-size:13px;padding:11px 16px}
.pbtn .dot{display:inline-grid;width:auto;height:auto;background:none;color:var(--orange);transition:transform .35s var(--ease)}
.top .pbtn .dot{display:none}
.pbtn:hover,.top .pbtn:hover{background:#222}
.pbtn:hover .dot{transform:translateX(4px)}
.lnk,.btns .lnk{color:var(--ink);font-weight:500;position:relative;padding-bottom:3px;text-decoration:none!important}
.lnk::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform .45s var(--ease)}
.lnk:hover::after{transform:scaleX(1)}
.lnk svg{color:var(--orange)}
.btns{gap:16px 28px}

/* first screens */
.ph{position:relative;padding-block:clamp(56px,7vw,112px) clamp(32px,4vw,64px);overflow:visible;isolation:isolate}
.ph::before{content:"";position:absolute;inset:-120px 0 0 0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 55% at 78% 8%,rgba(248,145,0,.10),transparent 70%),
             radial-gradient(circle,rgba(10,10,10,.16) 1px,transparent 1.4px) 0 0/26px 26px;
  -webkit-mask-image:radial-gradient(90% 80% at 60% 20%,#000 0,transparent 78%);mask-image:radial-gradient(90% 80% at 60% 20%,#000 0,transparent 78%)}
.ph-home h1{font-size:clamp(40px,5.2vw,78px)}
.ph-form h1,.lg-hero h1{font-size:clamp(36px,4.6vw,68px)}
h1.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
h1.split .w>span{display:inline-block;transform:translateY(105%);animation:word 1s var(--ease) forwards}
@keyframes word{to{transform:none}}
.ph h1,.lg-hero h1{animation:none}

/* the moving line of phrases */
.ticker{margin:clamp(8px,2vw,24px) 0 0;border-block:1px solid var(--line);background:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.ticker>div{animation-duration:60s}
.ticker span{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:18px 30px}
.ticker span::after{width:4px;height:4px;margin-left:60px}

/* surfaces */
.sec,.case{padding-block:clamp(80px,10vw,160px)}
.media,.screen{border-radius:18px;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 30px 80px -30px rgba(0,0,0,.25)}
.media.hatch>img{border-radius:18px}
.media>img,.media>video,.duo-c .im img,.models .im img,.fit .im img{transition:transform 1.4s var(--ease)}
.media:hover>img,.media:hover>video,.duo-c:hover .im img,.models article:hover .im img,.fit article:hover .im img{transform:scale(1.035)}
.duo-c,.models article,.nums.cards li,.qa>div,.form,.job,.tiles a,.pull,.callout,.cta-b .card,.fit article,.ledger .col,.ledger .ours,.rtable{border-radius:18px;border-color:var(--line)!important;transition:border-color .35s,transform .5s var(--ease),box-shadow .5s var(--ease)}
.glow{position:relative}
.glow::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0),rgba(248,145,0,.10),transparent 65%)}
.glow:hover::before{opacity:1}
.glow:hover{border-color:var(--line-2)!important}
.duo-c:hover,.models article:hover,.fit article:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(0,0,0,.2)}
.fit .im,.duo-c .im,.models .im{overflow:hidden}
.fit h3{font:500 18px/1.25 var(--sans);letter-spacing:-.02em}
.fit span{padding-top:18px}
.duo-c h3,.ledger h3,.models h3{font-weight:500;letter-spacing:-.035em}
.nums.lined li,.nums.grid3 li,.nums.grid2 li,ol.plain li,.princ article,.faq details,.pair,.lg-sec,.lg-ol li,.reach li,.ledger li,.steps li{border-color:var(--line)}
.steps li{border-top:1px solid var(--line)}
.steps li::before{display:block;content:"";position:absolute;left:0;top:-1px;width:28px;height:1px;background:var(--ink);border-radius:0}
.steps.v li::before{width:7px;height:7px;border-radius:50%;top:6px;left:-4px;background:var(--ink)}
.faq summary{font-weight:500;letter-spacing:-.02em}
.faq summary::after,.jx{border-color:var(--line-2)}
.form input,.form select,.form textarea{border-radius:12px;border-color:var(--line-2);font-family:var(--sans)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(10,10,10,.08)}
.form label{font-weight:500}
.jt{font-weight:500}
.jm i{font-family:var(--mono);font-size:11px;letter-spacing:.03em}
.faces img{border-color:#fff;box-shadow:0 0 0 1px var(--line)}

/* closing lines */
.cta{padding-block:clamp(96px,12vw,190px)}
.cta-a h2,.cta-c h2,.cta-d h2{font-size:clamp(40px,6vw,92px);line-height:.98;max-width:13ch}
.cta-b h2,.cta-e h2{font-size:clamp(30px,3.8vw,54px)}

/* footer */
.foot{border-top:1px solid var(--line);font-size:13.5px;padding-top:clamp(56px,6vw,88px)}
.foot h4{color:var(--muted);margin-bottom:16px}
.fcontact a,.fcontact .v,.foot .fgrid>div:not(.fabout) a{color:var(--ink)}
.legal{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}

/* reveal */
.rv{transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.media.rv{transform:translateY(28px) scale(.98)}
.fit article.rv:nth-child(4n+2),.steps li.rv:nth-child(2),.duo-c.rv:nth-child(2),.models article.rv:nth-child(2){transition-delay:.08s}
.fit article.rv:nth-child(4n+3),.steps li.rv:nth-child(3),.models article.rv:nth-child(3){transition-delay:.16s}
.fit article.rv:nth-child(4n+4),.steps li.rv:nth-child(4){transition-delay:.24s}
.steps li.rv:nth-child(5){transition-delay:.32s}
@media (prefers-reduced-motion:reduce){h1.split .w>span{animation:none;transform:none}.rv,.media.rv{transform:none;transition:none}.media>img,.media>video{transition:none}}
h1.split{display:block!important}h1.split .w{padding-right:.06em;margin-right:-.06em}

/* no dot pattern behind the first screen: only the soft warm light */
.ph::before{background:radial-gradient(60% 55% at 78% 8%,rgba(248,145,0,.10),transparent 70%);-webkit-mask-image:none;mask-image:none}

/* environments: tall picture cards in one row that scrolls sideways */
.fitrow{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 18px;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;-webkit-overflow-scrolling:touch}
.fitrow article{position:relative;flex:0 0 clamp(220px,23vw,290px);aspect-ratio:3/4.2;border-radius:18px;overflow:hidden;scroll-snap-align:start;background:var(--ink)}
.fitrow .im{position:absolute;inset:0}
.fitrow .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.fitrow article:hover .im img{transform:scale(1.05)}
.fitrow article::after{content:"";position:absolute;inset:40% 0 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.8));pointer-events:none}
.fitrow span,.fitrow h3{position:absolute;left:20px;right:20px;z-index:1}
.fitrow h3{bottom:20px;color:#fff;font:500 19px/1.2 var(--sans);letter-spacing:-.02em}
.fitrow span{bottom:auto;top:18px;font:400 11.5px/1 var(--mono);letter-spacing:.06em;color:#fff}
.fitrow article.rv:nth-child(2){transition-delay:.06s}.fitrow article.rv:nth-child(3){transition-delay:.12s}.fitrow article.rv:nth-child(4){transition-delay:.18s}
@media (max-width:640px){.fitrow article{flex-basis:68vw}}
.fitrow article::before{content:"";position:absolute;inset:0 0 72% 0;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent);pointer-events:none;z-index:1}

/* partnership steps: rows that open and close */
.acc5 details{border-top:1px solid var(--line)}
.acc5 details:last-child{border-bottom:1px solid var(--line)}
.acc5 summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:64px minmax(0,1fr) 30px;align-items:center;padding:26px 0;transition:padding .4s var(--ease)}
.acc5 summary::-webkit-details-marker{display:none}
.acc5 summary:hover{padding-left:8px}
.acc5 summary b{font:400 11.5px/1 var(--mono);letter-spacing:.06em;color:var(--orange)}
.acc5 summary span{font:500 clamp(22px,2.6vw,34px)/1.15 var(--sans);letter-spacing:-.035em;color:var(--ink)}
.acc5 summary i{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);background:linear-gradient(var(--ink),var(--ink)) center/11px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1px 11px no-repeat;transition:transform .35s var(--ease)}
.acc5 details[open] summary i{transform:rotate(45deg)}
.acc5 summary:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:8px}
.acc5 p{padding:0 30px 28px 64px;font-size:17px;max-width:70ch;color:var(--muted)}
@media (max-width:640px){.acc5 summary{grid-template-columns:44px minmax(0,1fr) 30px;padding:22px 0}.acc5 p{padding-left:44px;padding-right:0}}

/* larger logo */
.top .wrap{height:64px;padding-inline:22px 9px}
.logo img{height:42px}
.foot .fabout img{height:46px}
@media (max-width:1280px){.nav a{padding:8px 8px}}
@media (max-width:520px){.top .wrap{height:58px}.logo img{height:36px}}

/* home 01: situations */
.when-h{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,6vw,96px);align-items:end}
.when-h h2{margin:0}
.when-h .big{color:var(--muted);font-size:clamp(18px,1.5vw,21px);line-height:1.5;letter-spacing:-.01em;margin:0}
.when-l{font:500 12px/1 var(--mono,"Geist Mono",ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:clamp(48px,6vw,84px) 0 18px}
.sit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sit a{position:relative;display:flex;flex-direction:column;min-height:270px;padding:24px 24px 22px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);text-decoration:none;transition:border-color .35s,transform .45s var(--ease),box-shadow .45s}
.sit a:hover{border-color:var(--ink);transform:translateY(-4px);box-shadow:0 24px 60px rgba(0,0,0,.07)}
.sit span{font:500 12px/1 var(--mono,"Geist Mono",ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sit span b{font-weight:500;color:var(--orange);margin-right:10px}
.sit h3{margin-top:auto;font:500 clamp(18px,1.55vw,22px)/1.25 var(--sans);letter-spacing:-.02em;color:var(--ink);padding-right:8px}
.sit i{display:grid;place-items:center;width:38px;height:38px;margin-top:22px;border:1px solid var(--line-2);border-radius:50%;transition:background .3s,color .3s,border-color .3s}
.sit a:hover i{background:var(--ink);border-color:var(--ink);color:var(--orange)}
#when .ctr{margin-top:34px}
@media (max-width:1000px){.when-h{grid-template-columns:1fr;align-items:start}.sit{grid-template-columns:repeat(2,minmax(0,1fr))}.sit a{min-height:220px}}
@media (max-width:560px){.sit{grid-template-columns:1fr}.sit a{min-height:0}.sit h3{margin-top:44px}}

/* home 01: large numbers */
.wh{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.wh a{display:block;padding-top:22px;position:relative;color:var(--ink);text-decoration:none}
.wh a::before,.wh a::after{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--line)}
.wh a::after{background:var(--orange);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--ease)}
.wh a:hover::after,.wh a:focus-visible::after{transform:scaleX(1)}
.wh em{display:block;font:300 clamp(64px,7.4vw,112px)/.95 var(--sans);letter-spacing:-.06em;color:var(--ink);font-style:normal}
.wh span{display:block;margin:22px 0 12px;font:500 12px/1 var(--mono,"Geist Mono",ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wh h3{font:500 clamp(17px,1.45vw,20px)/1.25 var(--sans);letter-spacing:-.02em;color:var(--ink);margin:0}
@media (max-width:1000px){.wh{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.wh{grid-template-columns:1fr}.wh em{font-size:64px}}

/* home 06: trust */
.trust{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(32px,6vw,96px);align-items:start}
.trust-h{position:sticky;top:calc(var(--top) + 48px)}
.trust-h h2{margin:0 0 34px;font-size:clamp(32px,3.6vw,50px)}
.trust-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.trust-g article{display:flex;flex-direction:column;padding:26px 26px 28px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .35s}
.trust-g article:hover{border-color:var(--line-2)}
.trust-g .wide{grid-column:1/-1}
.trust-g .tk{display:flex;align-items:center;justify-content:space-between;margin-bottom:44px}
.trust-g .tk i{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line-2);border-radius:50%;color:var(--ink)}
.trust-g .tk span{font:500 12px/1 var(--mono,"Geist Mono",ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.trust-g .tk b{font-weight:500;color:var(--orange);margin-right:10px}
.trust-g h3{font:500 clamp(18px,1.5vw,21px)/1.25 var(--sans);letter-spacing:-.02em;color:var(--ink);margin:0 0 10px}
.trust-g p{font-size:15.5px;line-height:1.55;color:var(--muted);margin:0}
.trust-g .tw{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
.trust-g .tw>h3{margin:0}
.trust-g ul{list-style:none;margin:0;padding:0;display:grid}
.trust-g ul li{position:relative;padding:11px 0 11px 22px;border-top:1px solid var(--line);font-size:14.5px;color:var(--text)}
.trust-g ul li:first-child{border-top:0;padding-top:2px}
.trust-g ul li::before{content:"";position:absolute;left:0;top:19px;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.trust-g ul li:first-child::before{top:10px}
@media (max-width:1000px){.trust{grid-template-columns:1fr}.trust-h{position:static}}
@media (max-width:640px){.trust-g{grid-template-columns:1fr}.trust-g .tw{grid-template-columns:1fr;gap:10px}.trust-g .tw ul{margin-top:10px}.trust-g .tk{margin-bottom:30px}}

.ph-center .media.wide video{object-position:50% 38%}

/* ---------- Quiet luxury pass ---------- */
/* flat media: no floating shadows, one hairline */
.media,.screen,.ph .media{box-shadow:none}
.media::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);pointer-events:none}

.duo-c:hover,.models article:hover,.fit article:hover,.sit a:hover{box-shadow:none;transform:none;border-color:var(--line-2)!important}
.duo-c:hover .im img,.models article:hover .im img{transform:scale(1.035)}
/* nothing blue outside the logo */
.cta-d .pbtn,.pbtn,.top .pbtn{background:var(--ink);color:#fff}
.pbtn:hover,.top .pbtn:hover{background:#000}
.lnk,.btns .lnk,.lnk:hover,.btns .lnk:hover,.crumb a:hover,.nav a:hover,.util a:hover{color:var(--ink)}
.note a,.flow p a,.reach a,.fine a,main p a:not(.pbtn):not(.lnk){color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-decoration-thickness:1px;text-underline-offset:4px;transition:text-decoration-color .25s}
.note a:hover,.flow p a:hover,.reach a:hover,.fine a:hover,main p a:not(.pbtn):not(.lnk):hover{text-decoration-color:var(--orange)}
.crumb a{text-decoration:none!important}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(10,10,10,.06)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
/* no lines cutting under the first screen */
.ticker{border-block:0;margin-top:0}
.jump{border-top:0;padding-top:0}
.sec.line{border-top:0}
/* calmer type rhythm */
p{text-wrap:pretty}
h2,.head.two h2,.head.center h2{font-size:clamp(30px,3.9vw,56px);line-height:1.04;letter-spacing:-.045em}
.head.two h2,.head.center h2{max-width:26ch;margin-inline:auto}
#models .head h2{max-width:32ch;font-size:clamp(28px,3.2vw,44px)}
.split .flow h2,.sticky h2,.faq-g h2,.case h2,.find h2{font-size:clamp(28px,3.3vw,46px)}
.cta-a h2,.cta-c h2,.cta-d h2{font-size:clamp(38px,5.2vw,76px);line-height:1}
.flow p,.case p,.sec p{line-height:1.6}
.sec{padding-block:clamp(72px,9.5vw,148px)}
.eye{letter-spacing:.09em}
/* use cases hero uses the same large numbers */
.ph-ed .wh{margin-top:clamp(40px,5vw,72px)}
/* footer: quieter */
.foot{border-top:1px solid var(--line)}
.foot a{transition:color .2s}
.foot ul a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:4px}
@media (max-width:1000px){.sticky,.split .stick,.case-g>.media,.sticky-f,.media.stick{position:relative;top:auto}}

/* ---------- role pages ---------- */
.ph-job{padding-bottom:clamp(8px,2vw,24px)}
.ph-job .wrap{max-width:var(--wrap)}
.ph-job h1{font-size:clamp(36px,5vw,68px);line-height:1.02;max-width:18ch;margin:0 0 22px}
.ph-job .sub{max-width:60ch}
.jstatus{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--mono,"Geist Mono",ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 22px}
.jstatus i{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(248,145,0,.16)}
.jtags,.jchips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0}
.jtags li,.jchips li{font:500 11.5px/1 var(--mono,"Geist Mono",ui-monospace,monospace);letter-spacing:.04em;padding:9px 13px;border:1px solid var(--line-2);border-radius:999px;color:var(--text);background:#fff}
.ph-job .btns{margin-top:34px}
.jmain{padding-top:clamp(40px,5vw,72px)}
.jgrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(32px,6vw,96px);align-items:start}
.jintro{padding-bottom:clamp(28px,3vw,44px)}
.jintro p{font-size:clamp(18px,1.5vw,21px);line-height:1.5;letter-spacing:-.01em;color:var(--ink);max-width:62ch}
.jintro p+p{margin-top:16px;color:var(--muted)}
.jsec{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:clamp(28px,3.4vw,44px) 0;border-top:1px solid var(--line);scroll-margin-top:calc(var(--top) + 30px)}
.jsec .eye{margin:4px 0 0;align-items:flex-start;line-height:1.5}
.jbody ul:not(.jchips){list-style:none;margin:0;padding:0}
.jbody ul:not(.jchips) li{position:relative;padding:0 0 12px 22px;font-size:16px;line-height:1.55;color:var(--text)}
.jbody ul:not(.jchips) li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:1px;background:var(--ink)}
.jbody .jchips{margin-top:0}
.jbody p{font-size:16px;line-height:1.6;color:var(--text);max-width:64ch}
.jbody p+p{margin-top:14px}
.jbody .jnote{margin-top:16px;font-size:14.5px;color:var(--muted)}
.jbody .mini{margin:26px 0 14px}
.jsteps{list-style:none;margin:0;padding:0}
.jsteps li{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:baseline;padding:14px 0;border-top:1px solid var(--line);font-size:16px;color:var(--text)}
.jsteps li:first-child{border-top:0;padding-top:0}
.jsteps b{font:500 12px/1 var(--mono,"Geist Mono",ui-monospace,monospace);letter-spacing:.06em;color:var(--orange)}
.jside{position:sticky;top:calc(var(--top) + 40px)}
.jcard{border:1px solid var(--line);border-radius:var(--r);padding:28px;background:#fff}
.jcard h2{font:500 20px/1.2 var(--sans);letter-spacing:-.02em;margin:0 0 14px;max-width:none}
.jcard dl{margin:0 0 24px}
.jcard dl div{display:grid;gap:5px;padding:13px 0;border-top:1px solid var(--line)}
.jcard dt{font:500 11px/1 var(--mono,"Geist Mono",ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.jcard dd{margin:0;font-size:15px;color:var(--ink)}
.jcard .pbtn{width:100%;justify-content:center}
.jcard .fine{margin:14px 0 0;font-size:13.5px;color:var(--muted);text-align:center}
.jcard .fine b{font-weight:500;color:var(--ink)}
.jcopy{all:unset;box-sizing:border-box;display:block;width:100%;margin-top:16px;padding:12px 0 0;border-top:1px solid var(--line);text-align:center;font-size:14px;color:var(--ink);cursor:pointer}
.jcopy:hover{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:4px}
.jmore{padding-top:0}
.jlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(36px,4vw,56px)}
.jlist a{display:flex;flex-direction:column;min-height:210px;padding:24px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;transition:border-color .35s}
.jlist a:hover{border-color:var(--ink)}
.jlist span{font:500 11.5px/1 var(--mono,"Geist Mono",ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.jlist h3{margin-top:auto;font:500 19px/1.25 var(--sans);letter-spacing:-.02em}
.jlist i{display:grid;place-items:center;width:38px;height:38px;margin-top:18px;border:1px solid var(--line-2);border-radius:50%;transition:background .3s,color .3s,border-color .3s}
.jlist a:hover i{background:var(--ink);border-color:var(--ink);color:var(--orange)}
.jmore .ctr{margin-top:34px}
@media (max-width:1000px){.jgrid{grid-template-columns:1fr}.jside{position:static;order:-1}.jlist{grid-template-columns:1fr}.jlist a{min-height:0}.jlist h3{margin-top:28px}}
@media (max-width:640px){.jsec{grid-template-columns:1fr;gap:14px}}
