/* Right Pear living decks. Brand tokens match the website (WEBSITE/03-SITE/public/assets/site.css). */
:root{
  --navy:#1C1F3B; --navy-deep:#131529; --navy-2:#262B52; --navy-3:#343a6b;
  --yel:#FBBA2B; --yel-soft:#FFE2A0;
  --paper:#F6F1E7; --paper-2:#EFE8DA; --white:#FFFDF8;
  --ink:#1C1F3B; --mute:#676a82; --mute-2:#9ea0b8; --line:rgba(28,31,59,.12); --line-l:rgba(250,250,250,.16);
  --serif:"Young Serif", Georgia, serif; --sans:"Work Sans", system-ui, sans-serif; --ital:"Newsreader", Georgia, serif;
  --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--navy-deep);color:var(--ink);font:500 22px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{display:block;max-width:100%}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.012em;line-height:1.04;margin:0}
.it{font-family:var(--ital);font-style:italic;font-weight:400;letter-spacing:-.01em}
.y{color:var(--yel)}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font:600 15px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--yel);border-radius:2px}
.navy .eyebrow,.deep .eyebrow{color:var(--mute-2)}
p{margin:0}

/* ---------- stage: every slide is a 1600x900 canvas scaled to fit ---------- */
.viewport{position:fixed;inset:0;overflow:hidden}
.stage{position:absolute;left:50%;top:50%;width:1600px;height:900px;transform-origin:center center;transform:translate(-50%,-50%)}
.slide{position:absolute;inset:0;padding:78px 110px 96px;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility 0s .6s;display:flex;flex-direction:column}
.slide.on{opacity:1;visibility:visible;transition:opacity .6s var(--ease)}
.slide.paper{background:var(--paper)} .slide.paper2{background:var(--paper-2)}
.slide.navy{background:var(--navy);color:#FAFAFA} .slide.deep{background:var(--navy-deep);color:#FAFAFA}
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.slide h2{font-size:68px;margin-top:22px;max-width:18ch}
.slide .lede{font-size:26px;line-height:1.5;opacity:.85;max-width:46ch;margin-top:26px}
.slide .foot{position:absolute;left:110px;right:110px;bottom:44px;display:flex;justify-content:space-between;font:600 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.45}
.cols{display:grid;gap:60px;flex:1;align-items:center}
.cols.two{grid-template-columns:1fr 1fr} .cols.wide{grid-template-columns:1.05fr .95fr} .cols.narrow{grid-template-columns:.8fr 1.2fr}

/* reveal: children with .r animate in when their slide turns on */
.r{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.slide.on .r{opacity:1;transform:none;transition-delay:calc(var(--i,0) * 90ms + 150ms)}

/* ---------- cover ---------- */
.cover h1{font-size:112px;max-width:12ch;margin-top:30px}
.cover .sub{font-size:26px;opacity:.85;margin-top:28px;max-width:34ch}
.qpear .pear{position:absolute;right:120px;top:50px;height:800px;width:auto;opacity:1}
.pear path{fill:transparent;stroke:var(--yel);stroke-width:26;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:60000;stroke-dashoffset:60000}
.slide.on .pear path{animation:draw 2.4s var(--ease) .2s forwards,fillin .9s var(--ease) 2.2s forwards}
@keyframes fillin{to{fill:var(--yel);stroke-width:0}}
@keyframes draw{to{stroke-dashoffset:0}}
.prep{display:flex;align-items:center;gap:22px;margin-top:auto;padding-top:40px}
.chip{background:#fff;border-radius:16px;padding:14px 20px;display:grid;place-items:center;height:84px}
.chip img{max-height:56px;max-width:210px;object-fit:contain}
.prep .t{font-size:18px;line-height:1.45;opacity:.85}
.prep .t b{display:block;font-size:22px;opacity:1;color:#fff}
.logo-mark{position:absolute;left:110px;top:70px;width:170px;color:#fff}
.logo-mark .rp-word{fill:currentColor}
.cover .inner{margin-top:96px}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:0;border-top:1px solid var(--line);margin-top:auto}
.navy .stats,.deep .stats{border-color:var(--line-l)}
.stats>div{padding:34px 30px 0 0}
.stats b{display:block;font:400 104px/1 var(--serif);letter-spacing:-.02em}
.stats b sup{font-size:.42em;vertical-align:top;margin-left:4px;color:var(--yel)}
.stats span{display:block;font-size:20px;line-height:1.4;opacity:.72;margin-top:14px;max-width:18ch}

/* ---------- team ---------- */
.team{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:34px}
/* same hover as the website: front photo crossfades to the side profile with a slow zoom */
.person{background:var(--white);border:1px solid var(--line);border-radius:26px;overflow:hidden;display:grid;grid-template-columns:350px 1fr;box-shadow:0 20px 60px -30px rgba(19,21,41,.35);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.person:hover{transform:translateY(-6px);box-shadow:0 34px 70px -30px rgba(19,21,41,.45)}
.person .ph{height:540px;position:relative;overflow:hidden;background:var(--paper-2)}
.person .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:opacity .6s,transform 1.2s var(--ease)}
.person .ph img+img{position:absolute;inset:0;opacity:0}
.person:hover .ph img+img{opacity:1}
.person:hover .ph img{transform:scale(1.04)}
.person .in{padding:34px 32px;display:flex;flex-direction:column;justify-content:center}
.person small{font:600 14px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#b07b00}
.person h3{font-size:40px;margin:12px 0 12px;line-height:1.05}
.person p{font-size:19px;line-height:1.5;color:var(--mute)}
.person .ct{margin-top:18px;font-size:18px;line-height:1.5;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.person .ct a{text-decoration:none;border-bottom:2px solid var(--yel)}

/* ---------- grids of cards ---------- */
.cards{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:24px;margin-top:36px}
.card{background:var(--white);border-radius:22px;padding:30px;box-shadow:0 18px 50px -32px rgba(19,21,41,.4)}
.navy .card,.deep .card{background:var(--navy-2);box-shadow:none;color:#FAFAFA}
.card h4{font:700 15px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#b07b00;margin:0 0 14px}
.navy .card h4,.deep .card h4{color:var(--yel)}
.card p,.card li{font-size:19px;line-height:1.5}
.card ul{margin:0;padding-left:20px}
.card li{margin:4px 0}

/* areas */
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.area{border:1px solid var(--line-l);border-radius:20px;padding:22px 26px;display:flex;flex-direction:column;gap:14px}
.area b{font:400 32px/1.05 var(--serif)} .area span{font-size:16px;opacity:.75;line-height:1.35;display:flex;align-items:baseline;gap:10px}
.area em{font-style:normal;font:400 34px/1 var(--serif);color:var(--yel)}
.beyond{margin-top:26px;font-size:21px;opacity:.8}

/* comparison */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px;align-items:start}
.opt{border-radius:26px;padding:30px 34px;background:var(--white);position:relative;box-shadow:0 18px 50px -32px rgba(19,21,41,.4)}
.opt.feat{background:var(--navy);color:#FAFAFA}
.opt .tag{position:absolute;top:-16px;right:30px;background:var(--yel);color:var(--navy);font:800 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:9px 13px;border-radius:9px}
.opt h3{font-size:40px}
.opt .for{font-size:18px;opacity:.75;margin:8px 0 14px}
.opt ul{list-style:none;margin:0;padding:0}
.opt li{display:grid;grid-template-columns:28px 1fr;gap:6px;font-size:17px;line-height:1.4;padding:8px 0;border-top:1px solid var(--line)}
.opt.feat li{border-color:var(--line-l)}
.opt li::before{content:"";width:18px;height:18px;margin-top:4px;border-radius:50%;background:var(--yel);box-shadow:inset 0 0 0 5px var(--white)}
.opt.feat li::before{box-shadow:inset 0 0 0 5px var(--navy)}
.opt li b{font-weight:700}
.terms{margin-top:16px;font-size:17px;opacity:.7}

/* process 2x2 */
.quad{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:36px;border-top:1px solid var(--line-l)}
.quad a{display:block;text-decoration:none;padding:26px 34px 24px 0;border-bottom:1px solid var(--line-l);transition:background .3s}
.quad a:nth-child(odd){border-right:1px solid var(--line-l)}
.quad a:nth-child(even){padding-left:44px}
.quad a:hover h3{color:var(--yel)}
.quad .n{font:600 15px/1 var(--sans);letter-spacing:.16em;color:var(--yel)}
.quad h3{font-size:46px;margin:10px 0 10px;transition:color .3s}
.quad p{font-size:19px;opacity:.75;max-width:38ch}

/* timeline */
.tl{position:relative;margin-top:70px;display:grid;grid-template-columns:repeat(var(--n,5),1fr);gap:22px}
.tl::before{content:"";position:absolute;left:0;right:0;top:15px;height:3px;background:var(--line)}
.navy .tl::before,.deep .tl::before{background:var(--line-l)}
.tl::after{content:"";position:absolute;left:0;top:15px;height:3px;width:0;background:var(--yel);transition:width 2.2s var(--ease) .3s}
.slide.on .tl::after{width:100%}
.tl>div{position:relative;padding-top:52px}
.tl>div::before{content:"";position:absolute;top:4px;left:0;width:25px;height:25px;border-radius:50%;background:var(--yel);box-shadow:0 0 0 6px rgba(251,186,43,.2)}
.tl small{font:700 14px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;opacity:.6}
.tl h4{font:400 32px/1.1 var(--serif);margin:12px 0 10px}
.tl p{font-size:18px;line-height:1.45;opacity:.78}

/* stage detail */
.items{display:grid;gap:22px;margin-top:40px}
.item{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start}
.item i{font:400 26px/54px var(--serif);font-style:normal;width:54px;height:54px;border-radius:50%;background:var(--yel);color:var(--navy);text-align:center}
.item h4{font:700 22px/1.25 var(--sans);margin:4px 0 4px}
.item p{font-size:19px;line-height:1.45;opacity:.75}
.visual{align-self:stretch;display:grid;place-items:center}

/* mock: SAR profile cards */
.sar{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:100%}
.sar>div{background:var(--white);border-radius:20px;padding:24px 22px;color:var(--ink)}
.sar .bars{display:flex;align-items:end;gap:10px;height:130px;border-bottom:2px solid var(--line);margin-bottom:16px}
.sar .bars span{flex:1;border-radius:6px 6px 0 0;height:0;transition:height 1.2s var(--ease)}
.slide.on .sar .bars span{height:var(--h)}
.sar h5{font:400 26px/1.1 var(--serif);margin:0 0 8px}
.sar p{font-size:15px;line-height:1.45;color:var(--mute)}
.b1{background:#E4572E}.b2{background:#1C9C5B}.b3{background:#2F6FDE}.b4{background:var(--yel)}
.sar .legend{grid-column:1/-1;display:flex;gap:22px;font-size:14px;color:var(--mute-2)}
.sar .legend span::before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px;vertical-align:-1px;background:var(--c)}

/* mock: portal */
.portal{width:100%;background:var(--white);border-radius:20px;overflow:hidden;color:var(--ink);box-shadow:0 30px 80px -30px rgba(0,0,0,.5)}
.portal .bar{background:var(--yel);padding:14px 22px;display:flex;justify-content:space-between;font:700 15px/1 var(--sans)}
.portal table{width:100%;border-collapse:collapse;font-size:16px}
.portal th{text-align:left;font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding:14px 18px;border-bottom:1px solid var(--line)}
.portal td{padding:13px 18px;border-bottom:1px solid var(--line)}
.portal .av{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font:700 12px/1 var(--sans);margin-right:10px;vertical-align:middle}
.pill{display:inline-block;font:700 12px/1 var(--sans);padding:6px 10px;border-radius:999px;background:var(--paper-2)}
.pill.g{background:#d9f2e3;color:#15603a}.pill.a{background:#fff0cc;color:#8a5a00}
.portal .vid{display:grid;grid-template-columns:200px 1fr;gap:18px;padding:18px;border-top:1px solid var(--line);align-items:center}
.portal .vid .ph{height:112px;border-radius:12px;background:linear-gradient(135deg,var(--navy-2),var(--navy-3));display:grid;place-items:center}
.portal .vid .ph::after{content:"";border-left:22px solid #fff;border-top:14px solid transparent;border-bottom:14px solid transparent;margin-left:6px}
.portal .vid p{font-size:15px;color:var(--mute);line-height:1.5}

/* mock: document */
.doc{width:420px;background:var(--white);border-radius:14px;color:var(--ink);box-shadow:0 30px 80px -30px rgba(0,0,0,.55);overflow:hidden;transform:rotate(-2deg)}
.doc .hd{background:var(--navy);color:#fff;padding:26px 28px}
.doc .hd small{font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--yel)}
.doc .hd h5{font:400 30px/1.1 var(--serif);margin:10px 0 0}
.doc .bd{padding:22px 28px}
.doc .ln{height:10px;border-radius:5px;background:var(--paper-2);margin:10px 0}
.doc h6{font:700 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:18px 0 6px;color:#b07b00}

/* market radar */
.radar{position:relative;width:560px;height:560px}
.radar .ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--line-l)}
.radar .ring.r2{inset:22%}.radar .ring.r3{inset:44%}
.radar .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(251,186,43,.28),rgba(251,186,43,0) 22%);animation:spin 5s linear infinite;opacity:0;transition:opacity 1s}
.slide.on .radar .sweep{opacity:1}
@keyframes spin{to{transform:rotate(360deg)}}
.radar .dot{position:absolute;width:9px;height:9px;border-radius:50%;background:rgba(250,250,250,.55);transform:scale(0);transition:transform .5s var(--ease)}
.radar .dot.hot{background:var(--yel);width:13px;height:13px;box-shadow:0 0 0 5px rgba(251,186,43,.25)}
.slide.on .radar .dot{transform:scale(1);transition-delay:var(--d)}
.radar .pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;color:var(--navy);font:700 15px/1 var(--sans);padding:10px 14px;border-radius:10px;white-space:nowrap}
.radar .rad{position:absolute;left:50%;top:-6px;transform:translateX(-50%);font:600 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:.55;background:var(--navy);padding:0 8px}
.big-n{display:grid;gap:22px;margin-top:30px}
.big-n b{display:block;font:400 96px/1 var(--serif);letter-spacing:-.02em}
.big-n b.y{color:var(--yel)}
.big-n span{display:block;font-size:20px;opacity:.78;max-width:30ch;margin-top:6px}

/* salary bars */
.sbars{display:grid;gap:20px;margin-top:36px}
.sbar{display:grid;grid-template-columns:300px 1fr 170px;gap:24px;align-items:center}
.sbar .l{font-size:21px;font-weight:600} .sbar .l small{display:block;font-weight:500;font-size:15px;opacity:.6}
.sbar .t{height:22px;border-radius:11px;background:var(--paper-2);overflow:hidden}
.sbar .t i{display:block;height:100%;width:0;border-radius:11px;background:var(--navy);transition:width 1.4s var(--ease)}
.sbar.hl .t i{background:var(--yel)}
.slide.on .sbar .t i{width:var(--w)}
.sbar .v{font:400 36px/1 var(--serif);text-align:right}
.src{margin-top:24px;font-size:15px;opacity:.6}

/* cases */
.case{display:flex;flex-direction:column}
.case .lg{height:60px;display:flex;align-items:center;margin-bottom:16px}
.case .lg img{max-height:64px;max-width:200px;object-fit:contain;object-position:left center}
.case .role{font:700 14px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#b07b00}
.case h3{font-size:29px;margin:10px 0 10px}
.case .meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.case .meta span{font-size:14px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:6px 12px}
.case blockquote{margin:auto 0 0;font:400 18px/1.45 var(--ital);font-style:italic;color:var(--mute);border-left:3px solid var(--yel);padding-left:16px}

/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:50px;flex:1}
.quote{display:flex;flex-direction:column;border-top:1px solid var(--line-l);padding-top:28px}
.quote p{font:400 29px/1.35 var(--ital);font-style:italic}
.quote p::before{content:"\201C";display:block;font:400 90px/.6 var(--serif);color:var(--yel);margin-bottom:12px}
.quote cite{margin-top:auto;padding-top:24px;font-style:normal;font-size:18px;line-height:1.4;opacity:.8}
.quote cite b{display:block;color:#fff;opacity:1}
.hero-quote p{font:400 50px/1.25 var(--ital);font-style:italic;max-width:30ch;margin-top:40px}
.hero-quote cite{display:block;margin-top:34px;font-style:normal;font-size:22px;opacity:.85}

/* logos */
.logos{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:48px}
.logos div{background:#fff;border-radius:20px;height:190px;display:grid;place-items:center;padding:18px 24px 30px;position:relative}
.logos img{max-height:120px;max-width:86%;object-fit:contain}
.logos span{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-size:13px;font-weight:600;color:var(--mute)}

/* hires */
.hires{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:50px}
.hires div{border-top:3px solid var(--yel);padding-top:20px}
.hires h4{font:400 34px/1.1 var(--serif);margin:0 0 16px}
.hires p{font-size:20px;line-height:1.7;opacity:.8}

/* checklist */
.check{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;margin-top:44px;padding:0;list-style:none}
.check li{display:grid;grid-template-columns:36px 1fr;font-size:21px;line-height:1.45;padding:14px 0;border-bottom:1px solid var(--line-l)}
.check li::before{content:"";width:22px;height:12px;border-left:3px solid var(--yel);border-bottom:3px solid var(--yel);transform:rotate(-45deg);margin-top:6px}
.check b{display:block}
.check span{opacity:.7;font-size:18px}

/* cta */
.cta h2{font-size:96px;max-width:14ch}
.btns{display:flex;gap:16px;flex-wrap:wrap;margin-top:44px}
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--yel);color:var(--navy);text-decoration:none;font:700 21px/1 var(--sans);padding:22px 30px;border-radius:16px;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px var(--line-l)}
.btn svg{width:20px;height:20px}
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:auto;padding-top:30px;max-width:900px}
.contacts div{display:grid;grid-template-columns:90px 1fr;gap:20px;align-items:center}
.contacts img{width:90px;height:90px;border-radius:50%;object-fit:cover}
.contacts b{display:block;font:400 30px/1.1 var(--serif)}
.contacts span{font-size:18px;opacity:.8;line-height:1.5}

/* ---------- chrome ---------- */
.ui{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;gap:14px;padding:14px 20px;z-index:20;color:#fff;font:600 13px/1 var(--sans);letter-spacing:.1em;pointer-events:none}
.ui>*{pointer-events:auto}
.ui button{background:rgba(255,255,255,.1);border:0;color:#fff;width:40px;height:40px;border-radius:12px;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(8px)}
.ui button:hover{background:var(--yel);color:var(--navy)}
.ui button svg{width:16px;height:16px}
.ui .count{opacity:.7;min-width:56px;text-align:center}
.ui .sp{flex:1}
.progress{position:fixed;left:0;top:0;height:4px;background:var(--yel);width:0;z-index:21;transition:width .5s var(--ease)}
.menu{position:fixed;inset:0;background:var(--navy-deep);z-index:30;display:none;overflow:auto;padding:70px 8vw}
.menu.open{display:block}
.menu ol{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--rows,6),auto);grid-template-columns:1fr 1fr;column-gap:60px;color:#fff}
.menu li{break-inside:avoid}
.menu li a{display:grid;grid-template-columns:48px 1fr;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line-l);text-decoration:none;font:400 26px/1.2 var(--serif)}
.menu li a span{font:600 14px/1.8 var(--sans);opacity:.5}
.menu .x{position:absolute;right:30px;top:24px}
.hint{position:fixed;right:20px;bottom:70px;z-index:20;color:#fff;background:rgba(0,0,0,.35);font:600 13px/1 var(--sans);padding:10px 12px;border-radius:10px;opacity:0;transition:opacity .6s}
.hint.show{opacity:1}

/* ---------- phones: stack the slides and scroll ---------- */
@media (max-width:760px), (max-height:460px) and (orientation:portrait){
  html,body{height:auto;font-size:17px}
  .viewport{position:static;display:block;overflow:visible}
  .stage{position:static;width:auto!important;height:auto!important;transform:none!important}
  .slide{position:relative;inset:auto;opacity:1;visibility:visible;padding:64px 22px 56px;min-height:100svh}
  .slide .r{opacity:1;transform:none}
  .slide h2{font-size:40px}.cover h1{font-size:52px}.cta h2{font-size:46px}
  .slide .lede,.cover .sub{font-size:19px}
  .cols.two,.cols.wide,.cols.narrow,.team,.compare,.quotes,.quad,.cards,.hires,.contacts{grid-template-columns:1fr!important}
  .stats{grid-template-columns:1fr 1fr!important}.stats b{font-size:56px}.stats span{font-size:15px}
  .areas{grid-template-columns:1fr 1fr}.logos{grid-template-columns:1fr 1fr}.logos div{height:120px}
  .person{grid-template-columns:130px 1fr}.person .ph{height:auto;min-height:190px}.person h3{font-size:30px}.person .in{padding:18px}
  .quad a,.quad a:nth-child(even){padding:22px 0;border-right:0}.quad h3{font-size:36px}
  .tl{grid-template-columns:1fr!important;gap:6px}.tl::before,.tl::after{display:none}.tl>div{padding:0 0 18px 40px}.tl>div::before{top:2px}
  .radar{width:300px;height:300px;margin:20px auto}.big-n b{font-size:64px}
  .sbar{grid-template-columns:1fr 90px;gap:10px}.sbar .t{grid-column:1/-1;grid-row:2}.sbar .v{font-size:24px}
  .sar{grid-template-columns:1fr}.doc{width:100%;transform:none}
  .cover .pear{height:340px;right:-40px;top:40px;opacity:.3}.logo-mark{left:22px;top:22px;width:120px}.cover .inner{margin-top:70px}
  .slide .foot,.ui,.hint,.progress{display:none}
  .opt h3{font-size:34px}.quote p{font-size:22px}.hero-quote p{font-size:28px}.check{grid-template-columns:1fr}
  .slide .pear path{stroke-dashoffset:0}
}

/* ---------- print / save as PDF: one slide per landscape page ---------- */
@media print{
  @page{size:1600px 900px;margin:0}
  html,body{background:none;height:auto}
  .viewport{position:static;display:block}
  .stage{position:static;transform:none!important;width:1600px;height:auto}
  .slide{position:relative;opacity:1!important;visibility:visible!important;height:900px;page-break-after:always;break-after:page}
  .slide .r{opacity:1;transform:none}
  .pear path{stroke-dashoffset:0!important;animation:none!important;fill:var(--yel)!important}
  .sar .bars span{height:var(--h)!important}.sbar .t i{width:var(--w)!important}.tl::after{width:100%!important}.radar .dot{transform:scale(1)!important}
  .ui,.progress,.menu,.hint{display:none!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.qpear .pear{height:420px;top:auto;bottom:-60px;right:80px;opacity:.35}
.hero-quote{position:relative;z-index:1;margin-top:auto;margin-bottom:auto}

/* moving timeline (journey): a runner travels the track, each stage lights up as it passes */
.journey{position:relative;margin-top:70px;--dur:7s}
.jtrack{position:relative;height:4px;background:var(--line-l);border-radius:2px;margin:0 0 0 12px}
.jfill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--yel);border-radius:2px}
.jrunner{position:absolute;top:50%;left:0;width:26px;height:48px;margin:-52px 0 0 -13px;display:block;opacity:0}
.jrunner .psolid{width:26px;height:48px;animation:bob .5s ease-in-out infinite alternate;transform-origin:50% 100%}
.jrunner .psolid path{fill:var(--yel)}
@keyframes bob{to{transform:translateY(-4px) rotate(6deg)}}
.jsteps{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:26px;margin-top:-17px}
.jstep{position:relative;padding-top:52px;opacity:.28;transform:translateY(14px)}
.jdot{position:absolute;top:0;left:0;width:30px;height:30px;border-radius:50%;background:var(--navy);box-shadow:inset 0 0 0 3px var(--line-l)}
.jstep small{font:700 14px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--yel)}
.jstep h4{font:400 40px/1.05 var(--serif);margin:14px 0 12px}
.jstep p{font-size:19px;line-height:1.45;opacity:.8}
.jchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.jchips span{font:600 14px/1 var(--sans);border:1px solid var(--line-l);border-radius:999px;padding:8px 12px;opacity:0;transform:scale(.9)}
.slide.on .jfill{animation:jfill var(--dur) linear .4s forwards}
.slide.on .jrunner{animation:jrun var(--dur) linear .4s forwards}
.slide.on .jstep{animation:jlight .7s var(--ease) forwards;animation-delay:calc(.4s + var(--dur) * var(--k) / var(--n))}
.slide.on .jstep .jdot{animation:jdot .5s var(--ease) forwards;animation-delay:calc(.4s + var(--dur) * var(--k) / var(--n))}
.slide.on .jchips span{animation:jchip .5s var(--ease) forwards;animation-delay:calc(.9s + var(--dur) * var(--k) / var(--n))}
.slide.on .jchips span:nth-child(2){animation-delay:calc(1.05s + var(--dur) * var(--k) / var(--n))}
.slide.on .jchips span:nth-child(3){animation-delay:calc(1.2s + var(--dur) * var(--k) / var(--n))}
@keyframes jfill{to{width:100%}}
@keyframes jrun{0%{left:0;opacity:1}96%{opacity:1}100%{left:100%;opacity:1}}
@keyframes jlight{to{opacity:1;transform:none}}
@keyframes jdot{to{background:var(--yel);box-shadow:0 0 0 7px rgba(251,186,43,.22)}}
@keyframes jchip{to{opacity:1;transform:none;background:rgba(251,186,43,.12);border-color:rgba(251,186,43,.5)}}
.jreplay{position:absolute;right:110px;top:92px;background:transparent;border:1px solid var(--line-l);color:inherit;font:600 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:11px 16px;border-radius:10px;cursor:pointer;opacity:.7}
.jreplay:hover{opacity:1;border-color:var(--yel);color:var(--yel)}

/* side arrows */
.side{position:fixed;top:50%;z-index:22;width:58px;height:58px;margin-top:-29px;border:0;border-radius:50%;background:rgba(19,21,41,.55);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s,opacity .3s,transform .2s}
.side:hover{background:var(--yel);color:var(--navy);transform:scale(1.06)}
.side svg{width:22px;height:22px}
.side.l{left:18px}.side.rt{right:18px}
.side[disabled]{opacity:0;pointer-events:none}
@media (max-width:760px), (max-height:460px) and (orientation:portrait){
  .side{display:none}
  .journey{margin-top:30px}.jtrack{display:none}.jsteps{grid-template-columns:1fr;margin-top:0;gap:22px}
  .jstep{opacity:1;transform:none;padding:0 0 0 46px}.jdot{background:var(--yel)}.jchips span{opacity:1;transform:none}
  .jstep h4{font-size:30px}.jreplay{display:none}
}
@media print{.side,.jreplay{display:none!important}.jstep,.jchips span{opacity:1!important;transform:none!important}.jfill{width:100%!important}.jdot{background:var(--yel)!important}}
@media (max-width:760px){.menu ol{grid-auto-flow:row;grid-template-columns:1fr;grid-template-rows:none}}

/* testimonials: spotlight */
.qhead{display:flex;justify-content:space-between;align-items:center}
.gbadge{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;cursor:pointer;transition:background .25s,border-color .25s,transform .25s;background:rgba(255,255,255,.06);border:1px solid var(--line-l);border-radius:999px;padding:12px 22px 12px 16px}
.gbadge b{font:400 34px/1 var(--serif);color:#fff}
.gbadge span{font-size:16px;opacity:.75}
.stars{display:flex;gap:3px}
.stars i{width:22px;height:22px;display:block}
.stars svg path{fill:rgba(255,255,255,.18)}
.slide.on .stars svg path{animation:star .4s var(--ease) forwards;animation-delay:calc(.6s + var(--s) * .12s)}
@keyframes star{to{fill:var(--yel)}}
.spot{display:grid;grid-template-columns:1.25fr 1fr;gap:26px;margin-top:40px;flex:1;min-height:0}
.qside{display:grid;grid-template-rows:1fr 1fr;gap:26px}
.qcard{margin:0;position:relative;border-radius:26px;padding:34px 36px 30px;background:var(--navy-2);display:flex;flex-direction:column;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s}
.qcard:hover{transform:translateY(-4px);box-shadow:0 24px 50px -24px rgba(0,0,0,.6)}
.qcard .qm{position:absolute;right:22px;bottom:-150px;font:400 260px/1 var(--serif);color:var(--yel);opacity:.14;pointer-events:none}
.qcard blockquote{margin:0;font:400 23px/1.42 var(--ital);font-style:italic;position:relative}
.qcard figcaption{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:22px;font-size:16px;line-height:1.35;opacity:.9}
.qcard figcaption b{display:block;font-size:18px}
.qcard .qlogo{margin-left:auto;height:54px;width:auto;border-radius:10px}
.qcard .av{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font:700 15px/1 var(--sans);background:var(--yel);color:var(--navy)}
.qcard.feat{background:var(--yel);color:var(--navy);padding:46px 48px 40px}
.qcard.feat .qm{color:var(--navy);opacity:.1;font-size:380px;bottom:-190px}
.qcard.feat blockquote{font-size:40px;line-height:1.28}
.qcard.feat .av{background:var(--navy);color:var(--yel)}
.slide.on .qcard.feat{animation:lift 1s var(--ease) .3s both}
@keyframes lift{from{transform:translateY(30px) rotate(-1.5deg);opacity:0}to{transform:none;opacity:1}}
@media (max-width:760px){.qhead{flex-direction:column;align-items:flex-start;gap:16px}.spot{grid-template-columns:1fr}.qside{grid-template-rows:none}.qcard.feat blockquote{font-size:24px}.qcard blockquote{font-size:19px}}
@media print{.stars svg path{fill:var(--yel)!important}}

/* map slide */
.mapgrid{display:grid;grid-template-columns:470px 1fr;gap:20px;flex:1;align-items:center;min-height:0;margin-right:-60px}
.mapgrid>div:first-child{position:relative;z-index:2}
.mapgrid h2{font-size:62px}
.mapwrap{position:relative;align-self:center}
.swmap{width:100%;height:auto;overflow:visible;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 94%,transparent)}
.swmap .land{fill:#232851;stroke:rgba(255,255,255,.1);stroke-width:1}
.swmap .wider{fill:rgba(255,255,255,.07);stroke:rgba(255,255,255,.12);stroke-width:1;stroke-dasharray:4 4}
.swmap .wl{fill:rgba(255,255,255,.4);font:600 14px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.swmap .ar{fill:rgba(251,186,43,0);stroke:var(--yel);stroke-width:1.8;stroke-dasharray:3000;stroke-dashoffset:3000;cursor:pointer;transition:fill .35s,filter .35s}
/* intro: outline draws, then the fill fades in (fill-mode backwards, so after the intro only hover changes the fill) */
.slide.on .swmap .ar{fill:#3a4175;animation:ardraw 1.6s var(--ease) forwards,arfill .8s var(--ease) backwards;animation-delay:calc(.3s + var(--k) * .18s),calc(1.2s + var(--k) * .18s);transition:fill .12s,stroke .12s,stroke-width .12s}
@keyframes arfill{from{fill:rgba(58,65,117,0)}to{fill:#3a4175}}
@keyframes ardraw{to{stroke-dashoffset:0}}
.slide.on .swmap .ar.act{fill:rgba(251,186,43,.7);transition:fill .12s,stroke .12s,stroke-width .12s;stroke:#FFE9B0;stroke-width:4}
.swmap .pin{opacity:0}
.swmap .pin circle{fill:rgba(255,255,255,.85)}
.swmap .pin text{fill:rgba(255,255,255,.7);font:600 13px/1 var(--sans)}
.slide.on .swmap .pin{animation:pin .5s var(--ease) forwards;animation-delay:calc(1.8s + var(--k) * .07s)}
@keyframes pin{from{opacity:0}to{opacity:1}}
.slide.on .swmap .pin circle{animation:pop .5s var(--ease) both;animation-delay:calc(1.8s + var(--k) * .07s);transform-box:fill-box;transform-origin:center}
@keyframes pop{from{transform:scale(0)}60%{transform:scale(1.6)}to{transform:scale(1)}}
.swmap .hq .core{fill:var(--yel);stroke:var(--navy);stroke-width:3}
.swmap .hq .ring{fill:none;stroke:var(--yel);stroke-width:2;opacity:0;transform-origin:center;transform-box:fill-box}
.slide.on .swmap .hq .ring{animation:ping 4s ease-out 2.2s infinite}
.slide.on .swmap .hq .r2{animation-delay:2.6s}
@keyframes ping{0%{opacity:.6;transform:scale(.7)}60%,100%{opacity:0;transform:scale(2.6)}}
.swmap .hqlab rect{fill:var(--navy-deep);stroke:var(--yel);stroke-width:1.5}
.swmap .hql{fill:var(--yel);font:700 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.swmap .hqlab{opacity:0}.slide.on .swmap .hqlab{animation:pin .6s var(--ease) 1.6s forwards}
.mlegend{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mlegend li{display:flex;align-items:center;gap:10px;padding:12px 14px;line-height:1.15;border:1px solid var(--line-l);border-radius:14px;font-size:18px;font-weight:600;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.mlegend li i{flex:none;width:12px;height:12px;border-radius:3px;background:#3a4175;border:1.5px solid var(--yel)}
.mlegend li span{margin-left:auto;font:400 22px/1 var(--serif);color:var(--yel)}
.mlegend li.act{background:var(--yel);color:var(--navy);border-color:var(--yel)}
.mlegend li.act span{color:var(--navy)}.mlegend li.act i{background:var(--navy);border-color:var(--navy)}
.tip{position:absolute;z-index:5;width:310px;transform:translate(-50%,calc(-100% - 22px));opacity:0;visibility:hidden;pointer-events:none;background:#fff;color:var(--ink);border-radius:18px;padding:20px 22px;box-shadow:0 26px 60px -20px rgba(0,0,0,.6);transition:opacity .2s,visibility .2s}
.tip::after{content:"";position:absolute;left:50%;bottom:-9px;width:18px;height:18px;background:#fff;transform:translateX(-50%) rotate(45deg);border-radius:3px}
.tip.act{opacity:1;visibility:visible;pointer-events:auto}
.tip small{font:700 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#b07b00}
.tip .tn{display:flex;align-items:baseline;gap:10px;margin-top:10px}
.tip .tn b{font:400 44px/1 var(--serif)}
.tip .tn span{font-size:16px;color:var(--mute)}
.tip p{font-size:16px;line-height:1.45;margin-top:12px;color:var(--mute)}
.tip .tw{font-size:13px}
.tip a{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font:700 14px/1 var(--sans);color:var(--navy);text-decoration:none;border-bottom:2px solid var(--yel);padding-bottom:4px}
.tip a svg{width:14px;height:14px}
@media (max-width:760px){.mapgrid{grid-template-columns:1fr}.tip{width:240px}.mlegend li{font-size:15px}}
@media print{.swmap .ar{stroke-dashoffset:0!important;fill:#3a4175!important}.swmap .pin{opacity:1!important}}
.tip.below{transform:translate(-50%,22px)}
.tip.below::after{bottom:auto;top:-9px}
.gbadge:hover{background:rgba(251,186,43,.14);border-color:var(--yel);transform:translateY(-2px)}
.gbadge .go{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--yel);color:var(--navy);opacity:1}
.gbadge .go svg{width:14px;height:14px}
.mhint{margin-top:26px;font:600 14px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--yel);opacity:.85}
.slide.on .mlegend li.r{transition:background .12s,border-color .12s,color .12s,opacity .9s var(--ease),transform .9s var(--ease);transition-delay:0s,0s,0s,calc(var(--i,0) * 90ms + 150ms),calc(var(--i,0) * 90ms + 150ms)}
.mlegend li span,.mlegend li i{transition:color .12s,background .12s,border-color .12s}

/* premium cover: warm glow, slow orbit rings, masked headline reveal, floating pear, fact bar */
.slide.cover,.slide.cta{background:radial-gradient(1100px 820px at 80% 46%,#2c3163 0%,var(--navy) 46%,var(--navy-deep) 100%)}
.cover .glow,.cta .glow{position:absolute;right:60px;top:40px;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(251,186,43,.22),rgba(251,186,43,.06) 42%,transparent 68%);opacity:0;transition:opacity 2s var(--ease) 1.8s}
.slide.on .glow{opacity:1}
.cover .orbit,.cta .orbit{position:absolute;right:-40px;top:-100px;width:900px;height:900px;pointer-events:none}
.cover .orbit i,.cta .orbit i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(251,186,43,.16);opacity:0;transform:scale(.92);transition:opacity 1.6s var(--ease),transform 1.6s var(--ease)}
.cover .orbit i:nth-child(2),.cta .orbit i:nth-child(2){inset:13%;border-style:dashed;border-color:rgba(255,255,255,.1)}
.cover .orbit i:nth-child(3),.cta .orbit i:nth-child(3){inset:26%;border-color:rgba(251,186,43,.1)}
.slide.on .orbit i{opacity:1;transform:none;transition-delay:.4s}
.slide.on .orbit i:nth-child(2){transition-delay:.6s;animation:spin 90s linear infinite}
.slide.on .orbit i:nth-child(3){transition-delay:.8s}
.cover .pearwrap,.cta .pearwrap{position:absolute;right:240px;top:62px;height:600px;z-index:1}
.cover .pearwrap .pear,.cta .pearwrap .pear{position:static;height:600px;width:auto}
.slide.on .pearwrap{animation:float 6s ease-in-out 3.2s infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.cover .inner,.cta .inner,.cta .contacts{position:relative;z-index:2}
.cover h1.reveal,.cta h2.reveal{clip-path:inset(0 0 100% 0);transform:translateY(24px)}
.slide.on h1.reveal,.slide.on h2.reveal{animation:unmask 1.2s var(--ease) .35s forwards}
@keyframes unmask{to{clip-path:inset(0 0 -20% 0);transform:none}}
.cover h1{font-size:100px;letter-spacing:-.02em}
.cmeta{position:absolute;left:110px;right:110px;bottom:50px;background:linear-gradient(180deg,transparent,rgba(19,21,41,.55));display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:0;border-top:1px solid var(--line-l);padding-top:22px;z-index:2}
.cmeta>div{padding-right:56px;margin-right:56px;border-right:1px solid var(--line-l);opacity:0;transform:translateY(10px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.cmeta>div:last-child{border-right:0}
.slide.on .cmeta>div{opacity:1;transform:none;transition-delay:calc(1.4s + var(--m) * .12s)}
.cmeta b{display:block;font:400 34px/1 var(--serif);color:var(--yel)}
.cmeta span{display:block;margin-top:8px;font:600 13px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:.6}
@media (max-width:760px),(max-height:460px) and (orientation:portrait){.cover .orbit,.cover .glow,.cta .glow{display:none}.cover .pearwrap,.cta .pearwrap{right:-30px;top:40px;height:340px;opacity:.3}.cover .pearwrap .pear,.cta .pearwrap .pear{height:340px}.cover h1.reveal,.cta h2.reveal{clip-path:none;transform:none}.cmeta{position:static;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.cmeta>div{opacity:1;transform:none;border:0;padding:0;margin:0}}
@media print{.cover h1.reveal,.cta h2.reveal{clip-path:none!important;transform:none!important}.cmeta>div,.orbit i,.glow{opacity:1!important;transform:none!important}}
.cta h2.reveal{margin-top:22px}
.cta .contacts{border-top:1px solid var(--line-l);padding-top:26px;max-width:none;grid-template-columns:auto auto;justify-content:start;gap:70px}
.cta .contacts>div{opacity:0;transform:translateY(10px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.slide.on.cta .contacts>div{opacity:1;transform:none;transition-delay:1.4s}
.slide.on.cta .contacts>div+div{transition-delay:1.55s}
.cta .contacts img{box-shadow:0 0 0 3px var(--yel)}
@media (max-width:760px),(max-height:460px) and (orientation:portrait){.cta .orbit,.cta .glow{display:none}.cta .pearwrap{right:-30px;top:40px;height:300px;opacity:.25}.cta .pearwrap .pear{height:300px}.cta h2.reveal{clip-path:none;transform:none}.cta .contacts{grid-template-columns:1fr;gap:18px}.cta .contacts>div{opacity:1;transform:none}}
@media print{.cta h2.reveal{clip-path:none!important;transform:none!important}.cta .contacts>div{opacity:1!important;transform:none!important}}

/* who we hire: five equal cards */
.hcards{flex:1;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:34px;min-height:0;align-items:stretch}
.hcard{position:relative;background:var(--white);border-radius:22px;padding:30px 26px;box-shadow:0 18px 44px -28px rgba(19,21,41,.4);opacity:0;display:flex;flex-direction:column;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.slide.on .hcard{animation:tilein .8s var(--ease) both;animation-delay:calc(.35s + var(--k) * .08s)}
.hcard::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--yel)}
.hcard h4{font:400 31px/1.05 var(--serif);margin:6px 0 10px}
.hcard .hsum{font-size:17px;line-height:1.45;color:var(--mute);min-height:50px}
.hcard .pl{display:flex;flex-direction:column;gap:0;margin-top:18px;border-top:1px solid var(--line)}
.hcard .pl span{font-size:17px;font-weight:600;padding:11px 0;border-bottom:1px solid var(--line)}
.hcard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -28px rgba(19,21,41,.5)}
/* recent searches: featured case */
.cases-feat{flex:1;display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:30px;min-height:0}
.cs-side{display:grid;grid-template-rows:1fr 1fr;gap:24px;min-height:0}
.cs{position:relative;background:var(--white);border-radius:24px;padding:26px 30px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px -32px rgba(19,21,41,.45);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.cs:hover{transform:translateY(-5px);box-shadow:0 34px 70px -30px rgba(19,21,41,.5)}
.cs::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--yel);transform:scaleY(0);transform-origin:top;transition:transform .9s var(--ease) .5s}
.slide.on .cs::before{transform:scaleY(1)}
.cs-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.cs-logo{height:56px;display:flex;align-items:center}
.cs-logo img{max-height:56px;max-width:190px;object-fit:contain;object-position:left center}
.cs-logo strong{font:400 30px/1 var(--serif)}
.cs-metric{text-align:right}
.cs-metric b{display:block;font:400 54px/1 var(--serif);color:var(--navy);letter-spacing:-.02em}
.cs-metric small{display:block;font:600 12px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#b07b00;margin-top:6px}
.cs .role{font:700 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#b07b00;margin-top:16px}
.cs h3{font-size:30px;margin:8px 0 10px}
.cs .meta{display:flex;gap:8px;flex-wrap:wrap}
.cs .meta span{font-size:13px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:6px 11px}
.cs blockquote{margin:auto 0 0;padding-top:14px;font:400 17px/1.45 var(--ital);font-style:italic;color:var(--mute)}
.cs.hero{background:var(--navy);color:#FAFAFA;padding:36px 40px}
.cs.hero .cs-logo{background:#fff;border-radius:14px;padding:10px 16px;height:76px}
.cs.hero .cs-metric b{font-size:110px;color:var(--yel)}
.cs.hero .cs-metric small{color:var(--mute-2)}
.cs.hero .role{color:var(--yel);margin-top:26px}
.cs.hero h3{font-size:46px}
.cs.hero .meta span{border-color:var(--line-l)}
.cs.hero blockquote{font-size:25px;line-height:1.4;color:#e8e8f0;border-left:3px solid var(--yel);padding:0 0 0 20px}
@media (max-width:760px){.hcards{grid-template-columns:1fr}.hcard{opacity:1;animation:none!important}.cases-feat{grid-template-columns:1fr}.cs.hero .cs-metric b{font-size:64px}.cs.hero h3{font-size:30px}.cs.hero blockquote{font-size:19px}}
@media print{.hcard{opacity:1!important;animation:none!important}.cs::before{transform:none!important}}
.cs-side .cs blockquote{display:none}
.cs-side .cs h3{font-size:32px}
.cs-side .cs .meta{margin-top:auto;padding-top:10px}
.cs.hero .cs-logo img{max-width:300px;max-height:60px}

/* logo wall: editorial ledger grid */
.lgrid-wrap{flex:1;display:grid;grid-template-columns:380px 1fr;gap:56px;align-items:center;min-height:0;margin-right:-40px}
.lside h2{font-size:68px;max-width:9ch}
.lside .lede{font-size:21px;max-width:26ch}
.kinds{list-style:none;padding:0;margin:34px 0 0;border-top:1px solid var(--line)}
.kinds li{font:400 26px/1 var(--serif);padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;opacity:0;transform:translateX(-10px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.kinds li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--yel)}
.slide.on .kinds li{opacity:1;transform:none;transition-delay:calc(.6s + var(--k) * .1s)}
/* white tiles; entrance is a keyframe on the tile, hover is a separate transition, so the two never fight */
.lgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:236px;gap:18px}
.lc{position:relative;display:grid;place-items:center;padding:30px 28px 38px;background:#fff;border-radius:22px;box-shadow:0 16px 40px -26px rgba(19,21,41,.45);opacity:0;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.slide.on .lc{animation:tilein .8s var(--ease) both;animation-delay:calc(.35s + var(--k) * .07s)}
@keyframes tilein{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.lc img{max-width:84%;max-height:118px;object-fit:contain;transition:transform .35s var(--ease)}
.lc::after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:4px;border-radius:4px 4px 0 0;background:var(--yel);transform:scaleX(0);transition:transform .35s var(--ease)}
.lc:hover{transform:translateY(-6px);box-shadow:0 30px 60px -28px rgba(19,21,41,.5)}
.lc:hover img{transform:scale(1.05)}
.lc:hover::after{transform:scaleX(1)}
.lnote{position:absolute;left:0;right:0;bottom:14px;text-align:center;font:700 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#b07b00}
@media (max-width:760px){.lgrid-wrap{grid-template-columns:1fr;gap:30px}.lside h2{font-size:40px}.lgrid{grid-template-columns:1fr 1fr;grid-auto-rows:130px}.lc,.kinds li{opacity:1!important;transform:none!important;animation:none!important}}
@media print{.lc,.kinds li{opacity:1!important;transform:none!important;animation:none!important}}

/* journey, premium pass: gradient stage, glass cards that light up, glowing track, ticked milestones, offer flag */
.slide.jslide{background:radial-gradient(1200px 700px at 50% 120%,#2c3163 0%,var(--navy) 50%,var(--navy-deep) 100%)}
.slide.jslide::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse at 50% 60%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 60%,#000 20%,transparent 75%);pointer-events:none}
.jslide .journey{margin-top:84px}
.jslide .jtrack{height:6px;border-radius:3px;background:rgba(255,255,255,.08)}
.jslide .jfill{border-radius:3px;background:linear-gradient(90deg,rgba(251,186,43,.35),var(--yel));box-shadow:0 0 18px rgba(251,186,43,.55)}
.jslide .jsteps{gap:22px;margin-top:-20px}
.jslide .jstep{padding-top:0;opacity:1;transform:none}
.jslide .jdot{position:relative;display:grid;place-items:center;width:40px;height:40px;margin-bottom:22px;border-radius:50%;background:var(--navy-deep);box-shadow:inset 0 0 0 2px rgba(255,255,255,.18)}
.jslide .jdot svg{width:18px;height:18px;fill:none;stroke:var(--navy);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20}
.jslide .jdot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--yel);opacity:0}
.slide.on.jslide .jstep .jdot{animation:jdot2 .5s var(--ease) forwards;animation-delay:calc(.4s + var(--dur) * var(--k) / var(--n))}
.slide.on.jslide .jstep .jdot svg{animation:tick .4s var(--ease) forwards;animation-delay:calc(.6s + var(--dur) * var(--k) / var(--n))}
.slide.on.jslide .jstep .jdot::after{animation:ring 1s ease-out forwards;animation-delay:calc(.4s + var(--dur) * var(--k) / var(--n))}
@keyframes jdot2{to{background:var(--yel);box-shadow:0 0 0 6px rgba(251,186,43,.18),0 0 24px rgba(251,186,43,.5)}}
@keyframes tick{to{stroke-dashoffset:0}}
@keyframes ring{0%{opacity:.9;transform:scale(.8)}100%{opacity:0;transform:scale(1.9)}}
.jcard{position:relative;border-radius:22px;padding:24px 24px 26px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);opacity:.38;transform:translateY(14px)}
.slide.on.jslide .jcard{animation:jcard .9s var(--ease) forwards;animation-delay:calc(.4s + var(--dur) * var(--k) / var(--n))}
@keyframes jcard{to{opacity:1;transform:none;background:linear-gradient(180deg,rgba(251,186,43,.09),rgba(255,255,255,.02));border-color:rgba(251,186,43,.45);box-shadow:0 30px 60px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(251,186,43,.35)}}
.jhead{display:flex;justify-content:space-between;align-items:center}
.jcard small{font:700 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--yel)}
.jn{font:400 22px/1 var(--serif);opacity:.35}
.jslide .jstep h4{font:400 38px/1.05 var(--serif);margin:14px 0 10px}
.jslide .jstep p{font-size:18px;line-height:1.45;opacity:.78}
.jslide .jchips span{border-radius:10px}
.jflag{position:absolute;right:-8px;top:-54px;background:var(--yel);color:var(--navy);font:800 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;border-radius:10px;opacity:0;transform:translateY(8px) scale(.9);box-shadow:0 12px 30px -10px rgba(251,186,43,.6)}
.jflag::after{content:"";position:absolute;right:18px;bottom:-6px;width:12px;height:12px;background:var(--yel);transform:rotate(45deg);border-radius:2px}
.slide.on.jslide .jflag{animation:flag .6s var(--ease) forwards;animation-delay:calc(.4s + var(--dur))}
@keyframes flag{to{opacity:1;transform:none}}
.jslide .jreplay{top:84px}
@media (max-width:760px){.jslide .jcard{opacity:1;transform:none}.jflag{display:none}.jslide .jdot{position:absolute;left:0;top:0;width:28px;height:28px;background:var(--yel)}.jslide .jdot svg{stroke-dashoffset:0}}
@media print{.jslide .jcard{opacity:1!important;transform:none!important}.jslide .jdot{background:var(--yel)!important}.jslide .jdot svg{stroke-dashoffset:0!important}.jflag{opacity:1!important;transform:none!important}}
.jslide .jsteps{align-items:stretch}.jslide .jstep{display:flex;flex-direction:column}.jslide .jcard{flex:1;min-height:300px}
.jslide .journey{margin-top:96px}

/* proof cards (slide 2) */
.pcards{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px;min-height:0}
.pcard{position:relative;background:var(--white);border-radius:24px;padding:30px 28px;display:flex;flex-direction:column;box-shadow:0 18px 44px -28px rgba(19,21,41,.4);opacity:0;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.slide.on .pcard{animation:tilein .8s var(--ease) both;animation-delay:calc(.35s + var(--k) * .1s)}
.pcard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -28px rgba(19,21,41,.5)}
.pcard::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--yel);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.slide.on .pcard::after{transform:scaleX(1);transition-delay:calc(1.2s + var(--k) * .12s)}
.pvis{position:relative;height:190px;display:grid;place-items:center;margin-bottom:22px}
.gring{width:176px;height:176px;transform:rotate(-90deg)}
.gring circle{fill:none;stroke-width:12}
.gring .rb{stroke:var(--paper-2)}
.gring .rf{stroke:var(--yel);stroke-linecap:round;stroke-dasharray:var(--c);stroke-dashoffset:var(--c);transition:stroke-dashoffset 1.8s var(--ease)}
.slide.on .gring .rf{stroke-dashoffset:var(--o);transition-delay:calc(.6s + var(--k) * .12s)}
.rn{position:absolute;font:400 54px/1 var(--serif);letter-spacing:-.02em;color:var(--navy)}
.pc-weeks .pvis,.pc-faces .pvis{align-content:center;gap:18px}
.pc-weeks .rn,.pc-faces .rn{position:static;font-size:96px}
.wks{display:flex;gap:7px}
.wks i{width:24px;height:30px;border-radius:6px;background:var(--paper-2);transition:background .3s}
.slide.on .wks i{animation:wk .35s var(--ease) forwards;animation-delay:calc(.7s + var(--w) * .16s)}
@keyframes wk{to{background:var(--yel)}}
.faces{display:flex}
.faces img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:4px solid var(--white);box-shadow:0 0 0 2px var(--yel)}
.faces img+img{margin-left:-20px}
.pcard h4{font:400 30px/1.1 var(--serif);margin:0 0 10px}
.pcard p{font-size:17px;line-height:1.45;color:var(--mute)}
@media (max-width:760px){.pcards{grid-template-columns:1fr 1fr}.pcard{opacity:1;animation:none!important;padding:20px}.pvis{height:130px}.gring{width:120px;height:120px}.rn{font-size:36px}.pc-weeks .rn,.pc-faces .rn{font-size:56px}.gring .rf{stroke-dashoffset:var(--o)}.wks i{background:var(--yel);width:14px;height:20px}}
@media print{.pcard{opacity:1!important;animation:none!important}.gring .rf{stroke-dashoffset:var(--o)!important}.wks i{background:var(--yel)!important}}
.pcard{justify-content:center}.pvis{height:210px}

/* ---- shared premium pieces for the search and proposal decks ---- */
.slide.glowbg{background:radial-gradient(1200px 760px at 70% 110%,#2c3163 0%,var(--navy) 50%,var(--navy-deep) 100%)}
/* journey links to stage detail */
.jlink{cursor:pointer}.jlink .jcard{transition:border-color .3s,transform .3s var(--ease)}
.jlink:hover .jcard{transform:translateY(-4px)!important;border-color:var(--yel)!important}
.jmore{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font:700 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--yel)}
.jmore svg{width:14px;height:14px}
/* proof: plain big number */
.rn.big{position:static;font-size:110px}
.bigline{display:block;width:0;height:4px;border-radius:2px;background:var(--yel);transition:width 1.2s var(--ease)}
.slide.on .bigline{width:120px;transition-delay:.8s}
.pc-big .pvis{align-content:center;gap:14px}
/* stage slides: progress pips + framed visual */
.pips{position:absolute;right:110px;top:34px;display:flex;gap:6px;z-index:3}
.pip{display:flex;align-items:center;gap:8px;text-decoration:none;font:600 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:9px 12px;border-radius:999px;border:1px solid var(--line);transition:all .25s}
.pip i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.pip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.pip.on i{background:var(--yel)}
.pip:hover:not(.on){border-color:var(--yel);color:var(--ink)}
.vpanel{width:100%;border-radius:30px;padding:40px;background:radial-gradient(700px 500px at 70% 0%,#2c3163,var(--navy) 60%,var(--navy-deep));color:#fff;box-shadow:0 40px 80px -40px rgba(19,21,41,.7);display:grid;place-items:center;min-height:470px;position:relative;overflow:hidden}
.vpanel::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;pointer-events:none}
.vpanel>*{position:relative}
.vpanel .src{color:#fff!important}
.vpanel .sbar .t{background:rgba(255,255,255,.1)}
.vpanel .doc{transform:rotate(-3deg)}
.slide .item i{box-shadow:0 0 0 6px rgba(251,186,43,.16)}
/* checklist, premium */
.glowbg .check li{opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.slide.on.glowbg .check li{opacity:1;transform:none;transition-delay:calc(var(--i,0) * 70ms + 200ms)}
.glowbg .check li::before{transform:rotate(-45deg) scale(0);transition:transform .4s var(--ease)}
.slide.on.glowbg .check li::before{transform:rotate(-45deg) scale(1);transition-delay:calc(var(--i,0) * 70ms + 450ms)}
.glowbg .check{background:rgba(255,255,255,.03);border:1px solid var(--line-l);border-radius:26px;padding:12px 40px}
/* brief cards */
.bcards{display:grid;gap:16px}
.bcard{display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:center;background:var(--white);border-radius:22px;padding:26px 30px;box-shadow:0 18px 44px -28px rgba(19,21,41,.4);border-left:5px solid var(--yel);opacity:0}
.slide.on .bcard{animation:tilein .8s var(--ease) both;animation-delay:calc(.35s + var(--k) * .12s)}
.bn{font:400 44px/1 var(--serif);color:#c99212}
.bcard h4{font:400 30px/1.1 var(--serif);margin:0 0 6px}
.bcard p{font-size:18px;line-height:1.45;color:var(--mute)}
/* salary panel */
.spanel{background:var(--white);border-radius:28px;padding:34px 40px;margin-top:30px;box-shadow:0 24px 60px -34px rgba(19,21,41,.45)}
.spanel .sbars{margin-top:0}
.sbar.hl{background:linear-gradient(90deg,rgba(251,186,43,.12),transparent);margin:0 -20px;padding:12px 20px;border-radius:16px}
.you{font-style:normal;font:800 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;background:var(--yel);color:var(--navy);padding:5px 8px;border-radius:6px;margin-left:10px;vertical-align:3px}
/* single quote */
.qcard.solo{margin-top:40px;flex:1;max-height:520px;justify-content:center}
.qcard.solo blockquote{font-size:48px;line-height:1.25;max-width:26ch}
.slide.on .qcard.solo{animation:lift 1s var(--ease) .3s both}
@media (max-width:760px){.pips{display:none}.vpanel{min-height:0;padding:22px}.bcard{opacity:1;animation:none!important;grid-template-columns:44px 1fr;padding:18px}.qcard.solo blockquote{font-size:24px}.spanel{padding:18px}}
@media print{.bcard,.glowbg .check li{opacity:1!important;transform:none!important;animation:none!important}.bigline{width:120px!important}}
.bcard{padding:32px 34px}.bcard h4{font-size:34px}.bcard p{font-size:19px}.bcards{gap:20px}
.qcard.solo blockquote{max-width:34ch}
.check li:nth-last-child(-n+2):nth-child(odd),.check li:last-child{border-bottom:0}

/* journey cards: fixed rhythm so every card lines up */
.jslide .jcard{display:flex;flex-direction:column}
.jslide .jstep h4{white-space:nowrap}
.jslide .jchips{margin-top:auto;padding-top:18px;flex-direction:column;flex-wrap:nowrap;gap:0;min-height:128px;border-top:1px solid rgba(255,255,255,.08)}
.jslide .jchips span{border:0!important;background:none!important;border-radius:0;padding:7px 0;font:600 15px/1.2 var(--sans);display:flex;align-items:center;gap:10px;transform:none}
.jslide .jchips span::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--yel)}
.jslide .jmore{margin-top:14px}
.jslide .jcard{min-height:420px}

/* radar, premium: sweep has a sharp leading edge and trailing fade; dots react exactly when the edge reaches them */
.radar{--sweep:8s}
.radar .sweep{animation:none;background:conic-gradient(from 0deg,rgba(251,186,43,0) 0deg,rgba(251,186,43,0) 250deg,rgba(251,186,43,.05) 320deg,rgba(251,186,43,.18) 357deg,rgba(255,226,150,.45) 359.6deg,rgba(251,186,43,0) 360deg)}
.slide.on .radar .sweep{animation:spin var(--sweep) linear infinite}
.radar .ring{border-color:rgba(255,255,255,.1)}
.radar .ring::after{content:"";position:absolute;inset:-1px;border-radius:50%;box-shadow:inset 0 0 40px rgba(251,186,43,.05)}
.radar .core{position:absolute;left:50%;top:50%;width:240px;height:240px;margin:-120px 0 0 -120px;border-radius:50%;background:radial-gradient(circle,rgba(251,186,43,.08),transparent 70%);pointer-events:none}
/* light dots: soft points that shimmer as the beam passes */
.radar .dot{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;background:radial-gradient(circle,#fff 0 35%,rgba(255,255,255,.55) 70%);opacity:.55}
.slide.on .radar .dot:not(.hot){animation:shimmer var(--sweep) linear infinite;animation-delay:var(--s)}
@keyframes shimmer{0%{opacity:.85}10%{opacity:.5}100%{opacity:.5}}
/* gold dots: glowing core, idle breathing, flare + ripple on the sweep */
.radar .dot.hot{width:13px;height:13px;margin:-6.5px 0 0 -6.5px;opacity:1;background:radial-gradient(circle at 40% 38%,#fff6d8 0 18%,#FFD470 38%,#FBBA2B 62%,#d99a0f 100%);box-shadow:0 0 7px 1px rgba(251,186,43,.35)}
.radar .dot.hot::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:1px solid rgba(255,212,112,.8);opacity:0}
.slide.on .radar .dot.hot{animation:flare var(--sweep) linear infinite;animation-delay:var(--s)}
.slide.on .radar .dot.hot::after{animation:ripple var(--sweep) ease-out infinite;animation-delay:var(--s)}
@keyframes flare{0%{box-shadow:0 0 12px 3px rgba(255,212,112,.6)}20%,100%{box-shadow:0 0 7px 1px rgba(251,186,43,.35)}}
@keyframes ripple{0%{opacity:.45;transform:scale(1)}20%,100%{opacity:0;transform:scale(2.3)}}
@media (prefers-reduced-motion:reduce){.slide.on .radar .sweep,.slide.on .radar .dot,.slide.on .radar .dot::after{animation:none!important}}

/* prospect snapshot */
.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.fact{background:var(--white);border-radius:18px;padding:18px 20px;box-shadow:0 14px 36px -26px rgba(19,21,41,.4);border-left:4px solid var(--yel);opacity:0}
.slide.on .fact{animation:tilein .7s var(--ease) both;animation-delay:calc(.5s + var(--k) * .08s)}
.fact b{display:block;font:400 26px/1.1 var(--serif)}
.fact span{display:block;font-size:15px;line-height:1.4;color:var(--mute);margin-top:6px}
.gpanel{position:relative;border-radius:30px;padding:38px 40px 30px;background:radial-gradient(700px 500px at 70% 0%,#2c3163,var(--navy) 60%,var(--navy-deep));color:#fff;box-shadow:0 40px 80px -40px rgba(19,21,41,.7);min-height:520px;display:flex;flex-direction:column}
.gt{font:700 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;opacity:.6}
.gchart{height:360px;display:flex;align-items:flex-end;justify-content:center;gap:60px;margin-top:30px;border-bottom:1px solid var(--line-l);padding:0 30px}
.gcol{width:150px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}
.gcol b{font:400 42px/1 var(--serif);margin-bottom:14px}
.gcol .gbar{width:100%;height:0;border-radius:14px 14px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,.08));transition:height 1.4s var(--ease)}
.slide.on .gcol .gbar{height:calc(var(--h) - 70px);transition-delay:calc(.5s + var(--k) * .25s)}
.gcol.now .gbar{background:linear-gradient(180deg,#FFD470,var(--yel));box-shadow:0 0 40px -6px rgba(251,186,43,.55)}
.gcol.now b{color:var(--yel)}
.gcol span{position:absolute;bottom:-34px;font:600 14px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.gup{position:absolute;right:36px;top:30px;background:var(--yel);color:var(--navy);font:800 16px/1 var(--sans);padding:10px 14px;border-radius:10px;opacity:0;transform:translateY(8px)}
.slide.on .gup{animation:flag .6s var(--ease) 1.9s forwards}
.gpanel{padding-bottom:58px}
@media (max-width:760px){.facts{grid-template-columns:1fr}.fact{opacity:1;animation:none!important}.gpanel{min-height:360px}.gcol .gbar{height:calc(var(--h) - 70px)}.gup{opacity:1;transform:none}}
@media print{.fact{opacity:1!important;animation:none!important}.gcol .gbar{height:calc(var(--h) - 70px)!important}.gup{opacity:1!important;transform:none!important}}
.bcards{gap:12px}.bcard{padding:20px 28px}.bcard h4{font-size:28px}.bcard p{font-size:16.5px}
.gpanel{justify-content:space-between}

/* cases, 2x2 grid: equal cards, navy/white checkerboard */
.cases-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:20px;margin-top:28px;min-height:0}
.cases-grid .cs{padding:26px 32px}
.cases-grid .cs.hero{padding:26px 32px}
.cases-grid .cs .cs-metric b,.cases-grid .cs.hero .cs-metric b{font-size:58px}
.cases-grid .cs h3,.cases-grid .cs.hero h3{font-size:29px;margin:6px 0 8px}
.cases-grid .cs .role{margin-top:10px}
.cases-grid .cs blockquote,.cases-grid .cs.hero blockquote{font-size:17px;line-height:1.45;padding:12px 0 0 16px;border-left:3px solid var(--yel);margin-top:auto}
.cases-grid .cs.hero .cs-logo{height:58px;padding:8px 14px}
.cases-grid .cs .cs-logo{height:50px}
/* candidates slide */
.cand{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;min-height:0}
.gbig{display:flex;align-items:center;gap:22px;margin-top:30px;padding:22px 28px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(251,186,43,.4);text-decoration:none;color:inherit;width:fit-content;transition:background .25s,transform .25s var(--ease)}
.gbig:hover{background:rgba(251,186,43,.12);transform:translateY(-3px)}
.gbig .stars i{width:28px;height:28px}
.gbig b{font:400 64px/1 var(--serif);color:var(--yel)}
.gbig span{font-size:18px;line-height:1.35;opacity:.85}
.gbig em{display:flex;align-items:center;gap:8px;font-style:normal;font:700 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--yel);margin-top:8px}
.gbig em svg{width:14px;height:14px}
.wl{margin-top:30px;font:700 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;opacity:.6}
.wpills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.wpills span{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;border:1px solid var(--line-l);font:600 15px/1 var(--sans);opacity:0}
.wpills span b{font:400 17px/1 var(--serif);color:var(--yel)}
.slide.on .wpills span{animation:tilein .6s var(--ease) both;animation-delay:calc(.9s + var(--k) * .06s)}
.cqs{display:grid;gap:16px}
.cq{margin:0;background:var(--white);color:var(--ink);border-radius:22px;padding:24px 28px;box-shadow:0 24px 50px -28px rgba(0,0,0,.6);opacity:0}
.slide.on .cq{animation:tilein .8s var(--ease) both;animation-delay:calc(.5s + var(--k) * .15s)}
.cq.dark{background:var(--navy-2);color:#fff;border:1px solid rgba(251,186,43,.35)}
.cq-top{display:flex;justify-content:space-between;align-items:center}
.cq-top small{font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#b07b00}
.cq.dark .cq-top small{color:var(--yel)}
.stars.sm i{width:16px;height:16px}
.stars.sm svg path{fill:var(--yel)!important;animation:none!important}
.cq blockquote{margin:12px 0 10px;font:400 21px/1.4 var(--ital);font-style:italic}
.cq figcaption{font-size:14px;font-weight:600;opacity:.65}
@media (max-width:760px){.cases-grid{grid-template-columns:1fr;grid-template-rows:none}.cand{grid-template-columns:1fr}.cq,.wpills span{opacity:1;animation:none!important}}
@media print{.cq,.wpills span{opacity:1!important;animation:none!important}}
.cs.hero .cs-logo strong{color:var(--navy);font-size:24px;white-space:nowrap}
.cmeta b{white-space:nowrap}
.cmeta>div{padding-right:44px;margin-right:44px}

@media (max-width:760px),(max-height:460px) and (orientation:portrait){html,body{overflow-x:hidden}}

/* phone held sideways: full screen */
body.fs-land .ui{display:none}
/* phone sideways: slim arrows float over the slide margins */
body.fs-land .side{width:40px;height:40px;margin-top:-20px;background:rgba(19,21,41,.45);opacity:.85}
body.fs-land .side svg{width:16px;height:16px}
body.fs-land .side.l{left:6px}body.fs-land .side.rt{right:6px}
body.fs-land .progress{height:3px}
body.fs-land .hint{bottom:14px;right:14px}
body.fs-land,body.fs-land .viewport{background:var(--navy-deep)}


body.fs-land .side[disabled]{opacity:0;pointer-events:none}

/* =====================================================================
   PHONE (upright) LAYOUT, rebuilt 2026-09-28. Upright is the phone experience:
   each slide is a natural-height section, one column, phone-sized type.
   Kept last in the file so it overrides the desktop rules above.
   ===================================================================== */
@media (max-width:760px), (max-height:460px) and (orientation:portrait){
  body{font-size:16px;background:var(--navy-deep)}
  .slide{min-height:0;padding:64px 20px 56px;border-bottom:1px solid rgba(0,0,0,.08)}
  .slide h2,.mapgrid h2,.lside h2{font-size:34px;max-width:none!important;margin-top:14px}
  .slide .lede,.cover .sub{font-size:16.5px;line-height:1.55;margin-top:14px}
  .eyebrow{font-size:12px}.eyebrow::before{width:24px}
  .foot{display:none!important}
  .r,.slide .r{opacity:1!important;transform:none!important}
  /* cover + closing */
  .cover h1{font-size:46px;max-width:none}
  .cover .inner{margin-top:56px}
  .cover .pearwrap,.cta .pearwrap{right:-40px;top:24px;height:260px;opacity:.22}
  .cover .pearwrap .pear,.cta .pearwrap .pear{height:260px}
  .cover .orbit,.cover .glow,.cta .orbit,.cta .glow{display:none}
  .cmeta{position:static;grid-template-columns:1fr 1fr;gap:18px 14px;margin-top:34px;background:none;padding-top:18px}
  .cmeta>div{border:0;padding:0;margin:0;opacity:1;transform:none}
  .cmeta b{font-size:24px;white-space:normal}.cmeta span{font-size:11px}
  .cta h2{font-size:38px}
  .btns{flex-direction:column;align-items:stretch;gap:10px}.btn{justify-content:center;font-size:17px;padding:17px 20px}
  .cta .contacts{grid-template-columns:1fr;gap:16px}
  .contacts div{grid-template-columns:60px 1fr}.contacts img{width:60px;height:60px}.contacts b{font-size:22px}.contacts span{font-size:15px}
  /* proof cards */
  .pcards{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
  .pcard{padding:18px 14px;opacity:1;animation:none!important}
  .pvis{height:110px!important;margin-bottom:12px}
  .gring{width:100px;height:100px}
  .rn{font-size:30px}.rn.big,.pc-weeks .rn,.pc-faces .rn{font-size:44px}
  .bigline{width:60px!important}
  .wks i{width:11px;height:16px}.faces img{width:48px;height:48px}
  .pcard h4{font-size:18px}.pcard p{font-size:13px}
  /* directors */
  .team{grid-template-columns:1fr;gap:16px;margin-top:22px}
  .person{grid-template-columns:120px 1fr}
  .person .ph{height:auto;min-height:170px}
  .person .in{padding:16px}.person h3{font-size:26px}.person p{font-size:14px}.person .ct{font-size:14px}.person small{font-size:11px}
  /* map */
  .mapgrid{grid-template-columns:1fr;gap:18px;margin-right:0}
  .mlegend{grid-template-columns:1fr 1fr;gap:8px}
  .mlegend li{font-size:14px;padding:10px 11px;min-width:0}.mlegend li span{font-size:18px}
  .mhint{margin-top:18px}
  .tip{width:210px;padding:14px 16px}.tip .tn b{font-size:30px}.tip p{font-size:13px}
  .swmap{-webkit-mask-image:none;mask-image:none}
  /* who we hire: compact two-column cards */
  .hcards{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .hcard{padding:16px 14px;opacity:1;animation:none!important}
  .hcard h4{font-size:21px}.hcard .hsum{display:none}
  .hcard .pl{margin-top:10px}.hcard .pl span{font-size:13px;padding:7px 0}
  /* two ways to work */
  .compare{grid-template-columns:1fr;gap:18px}
  .opt{padding:22px 20px}.opt h3{font-size:28px}.opt li{font-size:14.5px}
  /* moving timeline */
  .journey,.jslide .journey{margin-top:24px}
  .jtrack{display:none}
  .jsteps,.jslide .jsteps{grid-template-columns:1fr;gap:12px;margin-top:0}
  .jslide .jstep{padding:0}
  .jcard,.jslide .jcard{min-height:0!important;padding:18px 18px 16px}
  .jslide .jstep h4{font-size:26px;white-space:normal}.jslide .jstep p{font-size:14.5px}
  .jslide .jchips{min-height:0}.jflag,.jreplay{display:none}
  /* cases */
  .cases-grid,.cases-feat{grid-template-columns:1fr;grid-template-rows:none;gap:14px}
  .cs,.cases-grid .cs,.cases-grid .cs.hero{padding:20px}
  .cs-metric b,.cases-grid .cs .cs-metric b,.cases-grid .cs.hero .cs-metric b,.cs.hero .cs-metric b{font-size:38px}
  .cs h3,.cases-grid .cs h3,.cases-grid .cs.hero h3,.cs.hero h3{font-size:22px}
  .cs blockquote,.cases-grid .cs blockquote{font-size:15px}
  .cs-logo img{max-width:140px}
  /* candidates + quotes */
  .cand,.spot{grid-template-columns:1fr;gap:20px}
  .gbig{padding:14px 16px;gap:12px}.gbig b{font-size:40px}.gbig .stars i{width:18px;height:18px}.gbig span{font-size:14px}
  .cq{padding:18px;opacity:1;animation:none!important}.cq blockquote{font-size:17px}
  .wpills span{opacity:1;animation:none!important;font-size:13px}
  .qhead{flex-direction:column;align-items:flex-start;gap:14px}
  .qcard.solo blockquote{font-size:22px}
  /* search + proposal slide types */
  .pips{display:none}
  .cols.wide,.cols.two,.cols.narrow{grid-template-columns:1fr!important;gap:22px}
  .items{gap:14px;margin-top:22px}.item{grid-template-columns:40px 1fr;gap:12px}.item i{width:40px;height:40px;font-size:20px;line-height:40px}
  .item h4{font-size:17px}.item p{font-size:14.5px}
  .vpanel{min-height:0;padding:22px 16px;border-radius:22px}
  .sar{grid-template-columns:1fr 1fr 1fr;gap:8px}.sar>div{padding:12px 10px}.sar .bars{height:70px;gap:4px}.sar h5{font-size:15px}.sar p{display:none}
  .portal table{font-size:12px}.portal th,.portal td{padding:8px}.portal .vid{grid-template-columns:90px 1fr}.portal .vid .ph{height:60px}
  .doc{width:100%;max-width:300px}
  .check{grid-template-columns:1fr;margin-top:20px}.glowbg .check{padding:6px 18px}.check li{font-size:15.5px}
  .bcards{gap:10px}.bcard{grid-template-columns:44px 1fr;padding:16px;opacity:1;animation:none!important}.bcard h4{font-size:20px}.bcard p{font-size:14px}.bn{font-size:28px}
  .facts{grid-template-columns:1fr 1fr;gap:10px}.fact{padding:14px;opacity:1;animation:none!important}.fact b{font-size:18px}.fact span{font-size:12.5px}
  .gpanel{min-height:0;padding:22px 18px 52px}.gchart{height:220px;gap:30px}.gcol b{font-size:26px}.gcol{width:100px}.gup{right:16px;top:16px}
  .spanel{padding:18px 16px}
  .sbar{grid-template-columns:1fr auto;gap:8px}.sbar .l{font-size:15px}.sbar .t{grid-column:1/-1;grid-row:2;height:14px}.sbar .v{font-size:22px}
  .radar{width:300px;height:300px;margin:10px auto}
  .big-n b{font-size:56px}.big-n span{font-size:15px}
  .stats{grid-template-columns:1fr 1fr!important}.stats b{font-size:46px}.stats span{font-size:14px}
}
@media (max-width:760px), (max-height:460px) and (orientation:portrait){
  .slide .lede{font-size:16.5px!important}
  .beyond{font-size:15px}
  .cs-top{gap:12px}
  .cs.hero .cs-logo,.cases-grid .cs.hero .cs-logo{height:44px;padding:6px 10px;border-radius:10px}
  .cs.hero .cs-logo img,.cases-grid .cs.hero .cs-logo img{max-width:110px;max-height:32px}
  .cs-logo,.cases-grid .cs .cs-logo{height:40px}.cs-logo img{max-height:32px;max-width:120px}
  .cs.hero .cs-logo strong,.cs-logo strong{font-size:18px}
  .cs-metric small{font-size:10px}
}
@media (max-width:760px), (max-height:460px) and (orientation:portrait){
  .sar .legend{flex-wrap:wrap;gap:6px 12px;font-size:11px}
  .qcard.solo{padding:26px 22px}
}
.cq-top{gap:12px}.cq-top small{white-space:nowrap;margin-left:auto;text-align:right}
@media (max-width:760px), (max-height:460px) and (orientation:portrait){
  /* map card: full-width panel under the map instead of a floating bubble */
  .mapwrap{display:flex;flex-direction:column}
  .tip,.tip.below{position:relative;left:auto!important;top:auto!important;transform:none!important;width:auto;margin-top:12px;display:none;opacity:1;visibility:visible}
  .tip.act{display:block}
  .tip::after{display:none}
  .tip .tn{flex-wrap:wrap}
}
@media (max-width:760px), (max-height:460px) and (orientation:portrait){
  /* stages, phone: a light runs down a rail on the left and each card lights up as it arrives */
  .jslide .jsteps{position:relative;padding-left:30px;--dur:4.4s}
  .jslide .jsteps::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:3px;border-radius:2px;background:rgba(255,255,255,.1)}
  .jslide .jsteps::after{content:"";position:absolute;left:8px;top:8px;width:3px;height:0;border-radius:2px;background:linear-gradient(180deg,rgba(251,186,43,.3),var(--yel));box-shadow:0 0 14px rgba(251,186,43,.7)}
  .slide.on.jslide .jsteps::after{animation:railfill var(--dur) linear .3s forwards}
  @keyframes railfill{to{height:calc(100% - 16px)}}
  .jslide .jstep{position:relative}
  .jslide .jdot{display:grid!important;position:absolute;left:-30px;top:22px;width:19px;height:19px;margin:0;box-shadow:inset 0 0 0 2px rgba(255,255,255,.2)}
  .jslide .jdot svg{width:11px;height:11px}
  .jslide .jdot::after{inset:-5px}
  .jslide .jsteps .jcard{opacity:.35;transform:translateY(8px);border-color:rgba(255,255,255,.08);transition:none}
  .slide.on.jslide .jcard{animation:jcardm .7s var(--ease) forwards!important;animation-delay:calc(.3s + var(--dur) * var(--k) / var(--n))!important}
  @keyframes jcardm{to{opacity:1;transform:none;border-color:rgba(251,186,43,.5);background:linear-gradient(180deg,rgba(251,186,43,.10),rgba(255,255,255,.02));box-shadow:0 20px 40px -24px rgba(0,0,0,.7),inset 0 1px 0 rgba(251,186,43,.35)}}
  .slide.on.jslide .jstep .jdot{animation:jdot2 .5s var(--ease) forwards;animation-delay:calc(.3s + var(--dur) * var(--k) / var(--n))}
  .slide.on.jslide .jstep .jdot svg{animation:tick .4s var(--ease) forwards;animation-delay:calc(.5s + var(--dur) * var(--k) / var(--n))}
  .slide.on.jslide .jstep .jdot::after{animation:ring 1s ease-out forwards;animation-delay:calc(.3s + var(--dur) * var(--k) / var(--n))}
}
@media (max-width:760px), (max-height:460px) and (orientation:portrait){
  .gt{display:block;padding-right:86px;line-height:1.4}
  .vpanel .sbars{gap:12px}.vpanel .sbar.hl{background:none;margin:0;padding:0}.vpanel .sbar .l small{font-size:12.5px}
  .vpanel .doc{max-width:230px;transform:rotate(-2deg)}.doc .hd{padding:16px 18px}.doc .hd h5{font-size:22px}.doc .bd{padding:12px 18px}
  .prep .chip{height:64px;padding:10px 14px}.prep .chip img{max-height:40px;max-width:120px}.prep .t{font-size:14px}.prep .t b{font-size:17px}
}

/* USA coverage map */
.usm{position:absolute;inset:0}
.usmap{position:absolute;left:70px;top:250px;width:calc(100% - 140px);height:auto}
.usmap .gb{fill:#3a4175;stroke:rgba(255,255,255,.2)}
.usmap .st{fill:#232851;stroke:rgba(255,255,255,.1);stroke-width:1}
.usmap .st.cov{fill:rgba(251,186,43,.08);stroke:rgba(251,186,43,.5);transition:fill .25s}
.slide.on .usmap .st.cov{animation:covfill .8s var(--ease) forwards;animation-delay:1.6s}
@keyframes covfill{to{fill:rgba(251,186,43,.34)}}
.usmap .st.cov:hover{fill:rgba(251,186,43,.7)}
.usmap .arc{fill:none;stroke:#FFD470;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1600;stroke-dashoffset:1600;opacity:.8}
.slide.on .usmap .arc{animation:ardraw 1.6s var(--ease) forwards;animation-delay:calc(.4s + var(--k) * .09s)}
.usmap .end{opacity:0}
.slide.on .usmap .end{animation:pin .4s var(--ease) forwards;animation-delay:calc(1.6s + var(--k) * .09s)}
.usmap .end .pt{fill:var(--yel)}
.usmap .end .pulse{fill:none;stroke:var(--yel);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}
.slide.on .usmap .end .pulse{animation:ping 3.2s ease-out infinite;animation-delay:calc(2.4s + var(--k) * .2s)}
.usmap .end text{fill:#fff;font:600 12px/1 var(--sans);text-anchor:middle;opacity:0;transition:opacity .2s;pointer-events:none}
.usmap .end:hover text{opacity:1}
.usmap .home .core{fill:var(--yel);stroke:var(--navy);stroke-width:3}
.usmap .home .ring{fill:none;stroke:var(--yel);stroke-width:2;transform-box:fill-box;transform-origin:center;opacity:0}
.slide.on .usmap .home .ring{animation:ping 3s ease-out 1s infinite}
.usmap .home text{fill:var(--yel);font:700 15px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.usm-copy{position:absolute;left:110px;top:78px;max-width:640px}
.usm-copy h2{margin-top:18px}
.usm-copy .lede{font-size:21px;max-width:52ch}
.spills{position:absolute;top:640px;left:820px;width:560px;display:flex;flex-wrap:wrap;gap:8px}
.spills span{font:600 14px/1 var(--sans);padding:8px 12px;border-radius:999px;border:1px solid rgba(251,186,43,.4);background:rgba(251,186,43,.06);opacity:0}
.slide.on .spills span{animation:tilein .5s var(--ease) both;animation-delay:calc(2s + var(--k) * .05s)}
/* ways to hire */
.htcs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.htc{background:var(--white);border-radius:22px;padding:28px 30px;box-shadow:0 18px 44px -28px rgba(19,21,41,.4);border-top:4px solid var(--yel);opacity:0}
.slide.on .htc{animation:tilein .8s var(--ease) both;animation-delay:calc(.35s + var(--k) * .1s)}
.hn{font:400 26px/1 var(--serif);color:#c99212}
.htc h4{font:400 34px/1.1 var(--serif);margin:10px 0 10px}
.htc p{font-size:17px;line-height:1.5;color:var(--mute)}
.terms-box{margin-top:26px;background:var(--navy);color:#fff;border-radius:22px;padding:24px 30px}
.terms-box small{font:700 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--yel)}
.terms-row{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:14px}
.term b{font:400 30px/1 var(--serif);color:var(--yel)}
.term p{font-size:17px;line-height:1.5;opacity:.85;margin-top:8px}
/* typical roles */
.rts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rtile{background:var(--white);border-radius:18px;padding:26px 26px;box-shadow:0 14px 36px -26px rgba(19,21,41,.4);border-left:5px solid var(--yel);opacity:0}
.slide.on .rtile{animation:tilein .7s var(--ease) both;animation-delay:calc(.4s + var(--k) * .08s)}
.rtile b{font:400 32px/1.1 var(--serif)}
.rn.txt{font-size:44px!important;white-space:nowrap;letter-spacing:-.03em}
@media (max-width:760px), (max-height:460px) and (orientation:portrait){
  .usm{position:relative;inset:auto;display:flex;flex-direction:column-reverse}
  .usm-copy{position:static;max-width:none}
  .usmap{position:static;width:100%;margin-top:14px}
  .spills{position:static;width:auto;margin-top:16px}.spills span{opacity:1;animation:none!important;font-size:12.5px}
  .usmap .end text{display:none}
  .htcs{grid-template-columns:1fr;gap:12px}.htc{opacity:1;animation:none!important;padding:18px}.htc h4{font-size:24px}.htc p{font-size:14.5px}
  .terms-row{grid-template-columns:1fr;gap:14px}.term b{font-size:22px}.term p{font-size:14.5px}
  .rts{gap:10px}.rtile{opacity:1;animation:none!important;padding:16px}.rtile b{font-size:20px}
  .rn.txt{font-size:28px!important;white-space:normal}
}
@media print{.htc,.rtile,.spills span,.usmap .end{opacity:1!important;animation:none!important}.usmap .arc{stroke-dashoffset:0!important}}
.team.solo{grid-template-columns:1fr;max-width:980px}.team.solo .person{grid-template-columns:400px 1fr}.team.solo .person .ph{height:560px}.team.solo .person h3{font-size:54px}.team.solo .person p{font-size:21px}
@media (max-width:760px){.team.solo .person{grid-template-columns:120px 1fr}.team.solo .person .ph{height:auto}.team.solo .person h3{font-size:26px}.team.solo .person p{font-size:14px}}
.cases-row{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;align-items:stretch;max-height:420px}
.cases-row .cs h3{font-size:32px}
@media (max-width:760px){.cases-row{grid-template-columns:1fr;max-height:none;gap:14px}.cases-row .cs h3{font-size:22px}}
.cases-row .cs .cs-logo,.cases-row .cs.hero .cs-logo{background:none;padding:0;height:auto}
.cases-row .cs .cs-logo strong{font-size:22px;white-space:normal}
.cases-row .cs.hero .cs-logo strong{color:#fff}
.cases-row .cs .cs-metric b,.cases-row .cs.hero .cs-metric b{font-size:56px}
.cases-row .cs{justify-content:space-between;padding:30px 30px}
/* salary spread (range bars) */
.sbar.rng .t{position:relative;overflow:visible;background:var(--paper-2)}
.sbar.rng .t i{position:absolute;left:var(--l);top:0;width:0;transition:width 1.4s var(--ease)}
.slide.on .sbar.rng .t i{width:var(--w)}
.sbar.rng .t b{position:absolute;left:var(--m);top:-7px;width:4px;height:36px;margin-left:-2px;border-radius:2px;background:var(--navy);opacity:0;transition:opacity .4s 1.2s}
.sbar.rng.hl .t b{background:var(--navy)}
.slide.on .sbar.rng .t b{opacity:1}
.sbar.rng .v small{display:block;font:500 14px/1.3 var(--sans,inherit);opacity:.6;margin-top:6px}
.sbar.axis{margin-top:-6px}.sbar.axis .ax{position:relative;height:18px}
.sbar.axis .ax span{position:absolute;transform:translateX(-50%);font-size:13px;opacity:.5}
@media (max-width:760px){.sbar.axis{grid-template-columns:1fr}.sbar.axis>div:first-child,.sbar.axis>div:last-child{display:none}.sbar.rng .t b{height:24px;top:-5px}
  .cases-grid .cs:nth-child(3){order:4}.cases-grid .cs:nth-child(4){order:3}}
.brief .bleft{padding-top:4px}
.brief .bleft .lede{margin-top:28px}
@media (max-width:760px){.brief .bleft{display:block;padding:0}.brief .bleft .lede{margin-top:16px}}
.cols.brief{align-content:center}

/* ---------- survey deck: question charts ---------- */
.qgrid{flex:1;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:24px;margin-top:30px;min-height:0;align-content:center}
.qpanel{background:var(--white);border-radius:26px;padding:28px 34px 26px;box-shadow:0 24px 60px -34px rgba(19,21,41,.45);display:flex;flex-direction:column}
.qhd{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--line,rgba(19,21,41,.1));padding-bottom:14px}
.qhd h4{font:600 19px/1.3 var(--sans);margin:0}
.qhd small{font-size:14px;opacity:.5;white-space:nowrap}
.qstat{display:flex;align-items:baseline;gap:16px;margin:18px 0 8px}
.qstat b{font:400 76px/1 var(--serif);color:var(--navy)}
.qstat b sup,.sn sup{font-size:.5em;vertical-align:.7em}
.qstat span{font-size:18px;line-height:1.35;color:var(--mute);max-width:22ch}
.qrows{display:grid;gap:12px;margin-top:10px}
.qrow{display:grid;grid-template-columns:minmax(120px,.8fr) 1.4fr 92px;gap:16px;align-items:center;font-size:17px}
.qgrid[style*="--n:1"] .qrow{grid-template-columns:260px 1fr 110px}
.qrow .ql{font-weight:500}
.qrow .qt{height:18px;border-radius:9px;background:var(--paper-2);overflow:hidden}
.qrow .qt i{display:block;height:100%;width:0;border-radius:9px;background:var(--navy-3,#343a6b);opacity:.55;transition:width 1.2s var(--ease);transition-delay:calc(.35s + var(--j) * .07s)}
.qrow.hl .qt i{background:var(--yel);opacity:1}
.qrow.hl .ql{font-weight:700}
.slide.on .qrow .qt i{width:var(--w)}
.qrow .qv{text-align:right;font-size:14px;opacity:.55;white-space:nowrap}
.qrow .qv b{font:400 22px/1 var(--serif);margin-right:8px;opacity:1;color:var(--navy)}
.qrow.hl .qv{opacity:1}
.qnote{margin:auto 0 0;padding-top:16px;font-size:16px;line-height:1.45;color:var(--mute)}
/* ---------- survey deck: 1 to 5 scores ---------- */
.sgrid{flex:1;display:grid;grid-template-columns:repeat(var(--n),minmax(0,560px));justify-content:center;gap:28px;margin-top:30px;min-height:0;align-content:center}
.scard{background:var(--white);border-radius:26px;padding:30px 34px;box-shadow:0 24px 60px -34px rgba(19,21,41,.45)}
.scard.dark{background:var(--navy);color:#FAFAFA}
.shd{display:flex;align-items:baseline;gap:6px}
.sn{font:400 96px/1 var(--serif);color:var(--navy)}
.scard.dark .sn{color:var(--yel)}
.shd em{font:400 40px/1 var(--serif);font-style:normal;opacity:.4}
.scard h4{font:500 19px/1.4 var(--sans);margin:12px 0 0;max-width:36ch}
.hist{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;height:170px;margin-top:22px;align-items:end}
.hc{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.hc i{display:block;width:100%;height:0;border-radius:10px 10px 4px 4px;background:var(--paper-2);transition:height 1s var(--ease);transition-delay:calc(.4s + var(--j) * .08s)}
.scard.dark .hc i{background:rgba(255,255,255,.14)}
.hc.hi i{background:var(--yel)}
.slide.on .hc i{height:calc(var(--h) * .72)}
.hc b{font:600 15px/1 var(--sans);opacity:.6}
.hc span{font-size:14px;opacity:.5}
.sfoot{margin:16px 0 0;font-size:15px;opacity:.75}
.sfoot strong{font-weight:700}
/* ---------- survey deck: director summary ---------- */
.summ{flex:1;display:grid;grid-template-columns:360px 1fr;gap:80px;align-items:center}
.sphoto img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:28px;box-shadow:0 30px 60px -30px rgba(19,21,41,.5)}
.sphoto div{margin-top:18px}.sphoto b{display:block;font:400 26px/1.2 var(--serif)}.sphoto span{font-size:16px;opacity:.6}
.summ blockquote{margin:26px 0 0;padding:0 0 0 28px;border-left:4px solid var(--yel)}
.summ blockquote p{font:400 27px/1.45 var(--ital);font-style:italic;margin:0 0 18px;max-width:46ch}
@media (max-width:760px){
  .qgrid,.sgrid{grid-template-columns:1fr!important;gap:14px;margin-top:18px}
  .qpanel,.scard{padding:18px}
  .qrow,.qgrid[style*="--n:1"] .qrow{grid-template-columns:1fr auto;gap:6px 10px;font-size:14px}
  .qrow .qt{grid-column:1/-1;grid-row:2;height:12px}
  .qstat b{font-size:48px}.qstat span{font-size:15px}
  .sn{font-size:60px}.hist{height:120px}
  .summ{grid-template-columns:1fr;gap:24px}.sphoto img{max-width:200px}.summ blockquote p{font-size:19px}
}
@media print{.qrow .qt i{width:var(--w)!important}.hc i{height:calc(var(--h) * .72)!important}}
.qrows{gap:15px}.qrow{font-size:19px}.qrow .qt{height:22px;border-radius:11px}.qrow .qt i{border-radius:11px}.qhd h4{font-size:21px}
@media (max-width:760px){.qrow{font-size:14px}.qrow .qt{height:12px}.qhd h4{font-size:16px}}
.qgrid[style*="--n:1"] .qstat span{max-width:34ch}
.sgrid.one{margin-top:0;grid-template-columns:1fr}
.check.big{margin:auto 0;column-gap:70px}.check.big li{font-size:27px;padding:24px 0;grid-template-columns:48px 1fr}.check.big span{font-size:19px;margin-top:4px}.check.big li::before{width:26px;height:14px}
@media (max-width:760px){.check.big li{font-size:17px;padding:12px 0;grid-template-columns:32px 1fr}.check.big span{font-size:14px}}
.check.big li>span{font-size:inherit;opacity:1}.check.big li>span>span{display:block;font-size:19px;opacity:.7}.check.big b{font-weight:600}
@media (max-width:760px){.check.big li>span>span{font-size:14px}}
/* phone pass 2026-09-29: nothing may overflow its card */
@media (max-width:760px){
  .mlegend{grid-template-columns:1fr!important}
  .mlegend li{font-size:15px}
  .hcard{min-width:0;padding-left:14px;padding-right:14px}
  .hcard h4{font-size:18px;overflow-wrap:anywhere}
  .pcard,.qpanel,.scard,.cs,.bcard,.opt,.fact{min-width:0}
  .pcard h4{overflow-wrap:anywhere}
}
@media (max-width:760px){
  .slide .cols,.slide .cand,.slide .facts,.slide .cases-grid,.slide .cases-row,.slide .cases-feat,.slide .usm{grid-template-columns:minmax(0,1fr)!important}
  .slide .cols>*,.slide .cand>*,.slide .facts>*,.slide .cs-top>*,.slide .sbar>*,.slide .qrow>*{min-width:0}
  .sbar.hl,.spanel .sbar.hl{margin:0 -10px;padding:10px}
  .sbar .l .you{white-space:nowrap;display:inline-block}
  .sbar.axis .ax span:first-child{transform:none}.sbar.axis .ax span:last-child{transform:translateX(-100%)}
  .cs-metric{min-width:0;text-align:right}.cs-top{gap:10px}
}
@media (max-width:760px){
  .slide .cqs,.slide .qgrid,.slide .sgrid,.slide .pcards,.slide .bcards,.slide .rts,.slide .htcs,.slide .check{grid-template-columns:repeat(var(--mc,1),minmax(0,1fr))!important}
  .slide .pcards{--mc:2}
  .slide .cqs>*,.slide .pcards>*,.slide .rts>*{min-width:0}
  .sbar.hl,.spanel .sbar.hl{margin:0}
  .cases-row .cs .cs-metric b,.cases-row .cs.hero .cs-metric b{font-size:38px}
}
@media (max-width:760px){.slide .rts{--mc:2}}
@media (max-width:760px){.cases-row .cs .cs-metric b,.cases-row .cs.hero .cs-metric b{font-size:32px}.cq-top{flex-wrap:wrap;gap:6px 10px}.cq-top small{min-width:0}}
@media (max-width:760px){
  .slide .cs-top>.cs-metric{flex:none;min-width:auto}
  .slide .cs-top>.cs-logo{flex:1 1 auto;min-width:0}.cs-logo strong{white-space:normal!important;overflow-wrap:anywhere}
  .gbig{flex-wrap:wrap;max-width:100%}
  .radar{max-width:100%}
  .person .in{min-width:0;max-width:100%}
}
@media (max-width:760px){.person{grid-template-columns:110px minmax(0,1fr)!important}.radar{height:auto!important;aspect-ratio:1}}
@media (max-width:760px){.ct a{overflow-wrap:anywhere}.radar{width:min(300px,100%)!important}.visual,.vpanel{min-width:0;max-width:100%}.vpanel{overflow:hidden}.portal table{width:100%;table-layout:fixed}.portal td,.portal th{overflow-wrap:anywhere}}
.scard.solo{padding:46px 50px}.scard.solo .sn{font-size:150px}.scard.solo .shd em{font-size:56px}.scard.solo h4{font-size:23px;margin-top:18px}.scard.solo .sfoot{font-size:17px;margin-top:20px}
@media (max-width:760px){.scard.solo{padding:22px}.scard.solo .sn{font-size:72px}.scard.solo .shd em{font-size:30px}.scard.solo h4{font-size:16px}}
.cnochart{margin:auto 0}.facts.wide{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:34px}
@media (max-width:760px){.facts.wide{grid-template-columns:1fr 1fr!important}}
.chip.dark{background:#262B52;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
/* ---------- candidate profile decks (2026-10-05): career, qualifications and systems, the practicalities. All cv- prefixed. ---------- */
@keyframes cvin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.cv-tl{position:relative;margin-top:30px;display:grid}
.cv-tl::before{content:"";position:absolute;left:222px;top:26px;bottom:26px;width:2px;background:var(--line)}
.cv-row{display:grid;grid-template-columns:180px 50px minmax(0,1fr) minmax(0,1.3fr);gap:0 26px;align-items:start;padding:17px 0;border-top:1px solid var(--line);opacity:0}
.cv-row:first-child{border-top:0}
.slide.on .cv-row{animation:cvin .8s var(--ease) both;animation-delay:calc(.35s + var(--k) * .12s)}
.cv-yr{font:600 15px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding-top:8px}
.cv-dot{width:16px;height:16px;border-radius:50%;background:var(--paper);border:3px solid var(--yel);margin:9px 0 0 9px;position:relative;z-index:1}
.cv-row:first-child .cv-dot{background:var(--yel)}
.cv-what h4{font:400 30px/1.12 var(--serif);margin:0}
.cv-what p{font-size:18px;line-height:1.4;color:var(--mute);margin-top:6px}
.cv-pts{list-style:none;margin:0;padding:4px 0 0;display:grid;gap:8px}
.cv-pts li{position:relative;padding-left:22px;font-size:17.5px;line-height:1.45}
.cv-pts li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--yel)}
.cv-dense{margin-top:22px}.cv-dense .cv-row{padding:11px 0}.cv-dense .cv-what h4{font-size:25px}.cv-dense .cv-what p{font-size:16px;margin-top:3px}.cv-dense .cv-pts li{font-size:15.5px;line-height:1.4}.cv-dense .cv-pts{gap:4px;padding-top:2px}.cv-dense .cv-yr{padding-top:5px}.cv-dense .cv-dot{margin-top:6px}
.cv-more{margin-top:12px;font-size:16px;color:var(--mute)}
.cv-sk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;margin-top:44px;flex:1;align-content:start}
.cv-sk.cv-one{grid-template-columns:minmax(0,1fr)}
.cv-sk small{display:block;font:600 14px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin:0 0 18px}
.cv-sys small+.cv-pills{margin-bottom:36px}
.cv-q ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.cv-q li{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:16px;background:var(--white);border-radius:18px;padding:18px 22px;font:400 26px/1.2 var(--serif);box-shadow:0 18px 44px -30px rgba(19,21,41,.45);opacity:0}
.slide.on .cv-q li{animation:cvin .8s var(--ease) both;animation-delay:calc(.35s + var(--k) * .1s)}
.cv-q li i{width:44px;height:44px;border-radius:50%;background:var(--yel);display:grid;place-items:center}
.cv-q li svg{width:22px;height:22px;fill:none;stroke:var(--navy);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cv-pills{display:flex;flex-wrap:wrap;gap:12px}
.cv-pills span{font:600 20px/1 var(--sans);padding:15px 22px;border-radius:999px;background:var(--navy);color:#fff;opacity:0}
.cv-pills.cv-alt span{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}
.slide.on .cv-pills span{animation:cvin .6s var(--ease) both;animation-delay:calc(.5s + var(--k) * .06s)}
.cv-terms{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:18px;margin-top:40px}
.cv-tile{background:var(--navy-2);border-radius:20px;padding:28px 28px 26px;box-shadow:inset 0 4px 0 var(--yel);opacity:0}
.slide.on .cv-tile{animation:cvin .8s var(--ease) both;animation-delay:calc(.35s + var(--k) * .1s)}
.cv-tile small{display:block;font:600 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute-2)}
.cv-tile b{display:block;font:400 34px/1.15 var(--serif);color:#fff;margin-top:14px}
.cv-why{margin-top:26px;border-left:4px solid var(--yel);padding:4px 0 4px 26px;max-width:60ch}
.cv-why small{display:block;font:600 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute-2)}
.cv-why p{font:400 italic 28px/1.35 var(--ital);margin-top:12px;color:#fff}
@media (max-width:760px){
  .cv-tl::before{display:none}
  .cv-row,.cv-dense .cv-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:16px 0;opacity:1;animation:none!important}
  .cv-dot{display:none}.cv-yr,.cv-dense .cv-yr{padding-top:0;font-size:12px}
  .cv-what h4,.cv-dense .cv-what h4{font-size:22px;overflow-wrap:anywhere}.cv-what p,.cv-dense .cv-what p{font-size:15px}
  .cv-pts li,.cv-dense .cv-pts li{font-size:15px}
  .cv-sk{grid-template-columns:minmax(0,1fr);gap:30px;margin-top:26px}
  .cv-q li{font-size:19px;padding:14px 16px;grid-template-columns:34px minmax(0,1fr);opacity:1;animation:none!important;overflow-wrap:anywhere}.cv-q li i{width:34px;height:34px}
  .cv-pills span{font-size:15px;padding:11px 15px;opacity:1;animation:none!important}
  .cv-terms{grid-template-columns:minmax(0,1fr)!important;gap:12px;margin-top:24px}
  .cv-tile{padding:18px 20px;opacity:1;animation:none!important;min-width:0}.cv-tile b{font-size:24px;overflow-wrap:anywhere}
  .cv-why p{font-size:20px}
}
@media print{.cv-row,.cv-q li,.cv-pills span,.cv-tile{opacity:1!important;animation:none!important;transform:none!important}}
/* candidate cover: headlines run longer than the standing decks' covers, so a smaller, wider heading clear of the meta row */
.cv-cover h1{font-size:76px;max-width:21ch;margin-top:24px}
.cv-cover .sub{font-size:23px;max-width:46ch;margin-top:24px}
@media (max-width:760px),(max-height:460px) and (orientation:portrait){.cv-cover h1{font-size:40px;max-width:none}.cv-cover .sub{font-size:18px}}
/* candidate cover meta (2026-10-11, replaces the practicalities slide): facts row in the .cmeta style, longer lines beneath */
.cv-cm{position:absolute;left:110px;right:110px;bottom:46px;z-index:2;border-top:1px solid var(--line-l);padding-top:20px;background:linear-gradient(180deg,transparent,rgba(19,21,41,.55))}
.cv-cmf{display:flex;flex-wrap:wrap;gap:14px 0}
.cv-cmf>div{padding-right:38px;margin-right:38px;border-right:1px solid var(--line-l)}
.cv-cmf>div:last-child{border-right:0;margin-right:0;padding-right:0}
.cv-cmf b{display:block;font:400 30px/1 var(--serif);color:var(--yel);white-space:nowrap}
.cv-cmf span,.cv-cmn span{display:block;margin-top:8px;font:600 12.5px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.cv-cmn{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0 38px;margin-top:18px}
.cv-cmf+.cv-cmn{border-top:1px solid var(--line-l);padding-top:16px}
.cv-cmn p{margin:0;font:400 21px/1.35 var(--serif);color:#fff;max-width:52ch}
.cv-cmn span{margin:0 0 6px}
.cv-cmf>div,.cv-cmn p{opacity:0;transform:translateY(10px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.slide.on .cv-cmf>div,.slide.on .cv-cmn p{opacity:1;transform:none;transition-delay:calc(1.4s + var(--m) * .12s)}
@media (max-width:760px),(max-height:460px) and (orientation:portrait){
  .cv-cm{position:static;margin-top:30px;background:none}
  .cv-cmf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
  .cv-cmf>div{border:0;padding:0;margin:0;opacity:1;transform:none;min-width:0}
  .cv-cmf b{font-size:24px;white-space:normal;overflow-wrap:anywhere}
  .cv-cmn{grid-auto-flow:row;gap:14px}
  .cv-cmn p{font-size:18px;opacity:1;transform:none}
}
@media print{.cv-cmf>div,.cv-cmn p{opacity:1!important;transform:none!important}}

/* draft sticker for slides still waiting on the boys' words (s.todo in the deck JSON) */
.nl-todo{position:absolute;top:18px;right:22px;z-index:6;max-width:300px;background:#FBBA2B;color:#1C1F3B;font:700 12.5px/1.35 "Work Sans",sans-serif;padding:9px 13px;border-radius:10px;transform:rotate(1.5deg);box-shadow:0 10px 24px -12px rgba(0,0,0,.45)}
.nl-todo:before{content:"To update · ";text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}
@media print{.nl-todo{display:none}}

/* newsletter: blue booking buttons (cta.site_primary) and in-text links (slide.links) */
.btn.nl-blue{background:#3a4290;color:#fff;border-color:#3a4290}.btn.nl-blue:hover{background:#4a53a8;border-color:#4a53a8}
a.nl-link{color:inherit;text-decoration:underline;text-decoration-color:#FBBA2B;text-decoration-thickness:2px;text-underline-offset:4px;font-weight:600}
/* print: blurred shadows become semi-transparent images in PDFs, which some viewers (Preview, WhatsApp) draw as grey boxes. Hairline instead. */
@media print{.card,.opt,.person,.portal,.doc,.pcard,.bcard,.sphoto img{box-shadow:none!important;outline:1px solid rgba(19,21,41,.08);outline-offset:-1px}.navy .card,.deep .card{outline:0}}

/* candidate testimonial (Giles, 2026-10-21): half-size text for longer references, attribution under the box */
.qcard.cv-testi{padding:48px 160px 48px 54px;flex:0 1 auto;margin-top:auto}
.qcard.cv-testi blockquote{font-size:20px;line-height:1.65;max-width:68ch}
.qcard.cv-testi .qm{font-size:300px;bottom:-150px;right:34px}
.cv-testi-by{display:flex;align-items:center;gap:14px;margin-top:24px;margin-bottom:auto;font-size:16px;line-height:1.35;opacity:.92}
.cv-testi-by b{display:block;font-size:18px}
.cv-testi-by .av{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font:700 15px/1 var(--sans);background:var(--yel);color:var(--navy)}
@media (max-width:760px){.qcard.cv-testi{padding:28px 26px;margin-top:0}.qcard.cv-testi blockquote{font-size:16px}}

/* one-link gate on candidate profiles: ask for a work email once per device */
.cv-gate{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(19,21,41,.72);backdrop-filter:blur(8px)}
.cv-gate-card{width:100%;max-width:440px;background:var(--navy-2,#262a4d);color:#fff;border-radius:22px;padding:34px 32px;display:grid;gap:14px;box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}
.cv-gate-eb{font:700 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--yel)}
.cv-gate-card h2{font:400 30px/1.15 var(--serif);margin:0}.cv-gate-card p{margin:0;opacity:.85;font-size:16px}
.cv-gate-card input{font:500 17px var(--sans);padding:14px 16px;border-radius:12px;border:2px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;outline:0}
.cv-gate-card input:focus{border-color:var(--yel)}.cv-gate-card input.bad{border-color:#ff8a80}
.cv-gate-card button{font:700 16px var(--sans);padding:14px;border:0;border-radius:12px;background:var(--yel);color:var(--navy);cursor:pointer}
.cv-gate-card small{opacity:.6;font-size:12.5px}.cv-gate-card small a{color:inherit}
@media print{.cv-gate{display:none!important}}
