
@font-face{font-family:Inter;src:url('/ultron/asset-1.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Playfair;src:url('/ultron/asset-2.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--ink:#111820;--grey:#555c65;--line:#d5d8dc;--blue:#164ed3;--pale:#f5f6f7;--gutter:clamp(24px,5.2vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:white;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.15;letter-spacing:-.035em}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;border:0;background:none;cursor:pointer;padding:0;text-align:left}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:6px}img,svg{display:block}img{max-width:100%}[hidden]{display:none!important}.wrap{width:calc(100% - var(--gutter)*2);max-width:1392px;margin-inline:auto}.skip{position:fixed;top:-100px;left:16px;background:white;padding:14px;z-index:99}.skip:focus{top:12px}.eyebrow{font-size:14px;font-weight:500;color:var(--blue);line-height:1.5}.arrow{font-size:27px;line-height:1;display:inline-block;transition:transform .2s}.link{display:inline-flex;align-items:center;gap:22px;color:var(--blue);font-size:15px;font-weight:500;padding-block:9px}.link:hover .arrow{transform:translateX(5px)}.outline{border:1px solid var(--line);padding:17px 24px;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-size:14px;font-weight:500;transition:border-color .2s,color .2s}.outline:hover{border-color:var(--blue);color:var(--blue)}
.utility{background:var(--pale);border-bottom:1px solid #e9eaec;color:#626871;font-size:12px;line-height:1.4}.utility-inner{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:24px}.utility-links{display:flex;align-items:center;gap:24px}.utility a:hover{color:var(--blue)}.utility .language{color:var(--ink)}.site-header{background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:48px}.brand{display:flex;gap:20px;align-items:center;flex-shrink:0}.brand svg{width:49px;height:48px}.brand-name{font-family:Playfair,Georgia,serif;letter-spacing:.15em;font-size:26px;line-height:1;border-left:1px solid var(--blue);padding-left:20px}.desktop-nav{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:500}.desktop-nav a{padding:10px 0}.desktop-nav a:hover{color:var(--blue)}.desktop-nav .contact-nav{display:flex;align-items:center;gap:15px;margin-left:16px;color:var(--blue)}.contact-nav .arrow{font-size:20px}.mobile-menu{display:none}.mobile-menu summary{list-style:none;cursor:pointer;padding:12px 0;font-size:14px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;inset:100% 0 auto;background:white;border-bottom:1px solid var(--line);padding:18px var(--gutter) 24px}.mobile-menu nav a{display:block;padding:10px 0}
.hero{position:relative;isolation:isolate;color:white;background:#162532;min-height:670px;height:min(76svh,790px);display:flex;flex-direction:column;justify-content:space-between}.hero-photo,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}.hero-shade{background:linear-gradient(90deg,rgba(6,19,34,.78) 0%,rgba(7,22,37,.52) 37%,rgba(6,20,33,.13) 78%),linear-gradient(0deg,rgba(7,20,32,.75),transparent 35%)}.hero-content{padding-top:clamp(65px,7vh,105px);padding-bottom:45px}.hero .eyebrow{color:white;font-size:16px;letter-spacing:.005em}.hero h1{font-size:clamp(60px,6.1vw,88px);line-height:1.075;letter-spacing:-.035em;max-width:770px;margin-top:22px}.hero-lead{font-size:19px;line-height:1.65;max-width:525px;margin-top:26px;color:#f1f4f8}.hero-link{display:inline-flex;align-items:center;gap:36px;margin-top:30px;min-height:45px;font-size:14px;font-weight:500;letter-spacing:.035em;text-transform:uppercase}.hero-link .arrow{font-size:38px}.hero-link:hover .arrow{transform:translateX(7px)}.hero-foot{border-top:1px solid #ffffff50;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:22px 0 25px}.hero-foot-label{font-size:12px;letter-spacing:.08em;color:#d7dfe6;text-transform:uppercase;flex-shrink:0}.hero-feature{display:flex;justify-content:space-between;align-items:center;gap:36px;width:min(760px,100%);font-size:17px;line-height:1.4}.hero-feature small{font-size:12px;color:#d7dfe6;display:block;margin-bottom:5px}.hero-feature:hover .arrow{transform:translateX(5px)}
.expertises{padding-block:78px 72px}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:end;margin-bottom:38px}.intro h2{font-size:clamp(34px,3.4vw,49px);max-width:650px}.intro p{font-size:18px;color:var(--grey);line-height:1.7;max-width:490px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service{padding:29px 36px 0 0;display:flex;flex-direction:column;align-items:flex-start}.service+.service{border-left:1px solid var(--line);padding-left:36px}.service h3{font-size:25px;line-height:1.2;max-width:315px;letter-spacing:-.025em}.service p{font-size:16px;line-height:1.65;color:var(--grey);margin-top:18px;max-width:340px}.service .link{margin-top:20px}
.experience{padding-block:62px 74px;border-top:1px solid var(--line)}.case-heading{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:32px}.case-heading h2{font-size:14px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--grey)}.case-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line)}.case-tabs button{position:relative;padding:10px 0 13px;font-size:14px;color:var(--grey)}.case-tabs button[aria-pressed=true]{color:var(--ink)}.case-tabs button[aria-pressed=true]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--blue)}.case-grid{display:grid;grid-template-columns:.9fr 1.12fr;gap:64px;align-items:stretch}.case-photo{position:relative;min-height:480px}.case-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 68%}.case-copy{padding:10px 0;display:flex;flex-direction:column;align-items:flex-start}.case-copy .eyebrow{margin-bottom:18px}.case-copy h3{font-size:clamp(34px,3.1vw,46px);line-height:1.17;max-width:650px}.case-lead{font-size:18px;line-height:1.7;color:var(--grey);margin-top:25px;max-width:570px}.case-proof{border-top:1px solid var(--line);margin-top:32px;padding-top:22px;width:100%;display:grid;grid-template-columns:1.1fr .8fr;gap:35px}.case-proof p{font-size:15px;line-height:1.65}.case-proof .proof-label{font-size:12px;font-weight:500;color:var(--grey);letter-spacing:.07em;text-transform:uppercase;margin-bottom:10px}.case-copy>.link{margin-top:22px}.case-disclosure{margin-top:22px;font-size:12px;color:var(--grey);line-height:1.6;max-width:650px}
.audit{background:var(--pale);padding-block:58px}.audit-grid{display:grid;grid-template-columns:.65fr 1.18fr .65fr;gap:52px;align-items:start}.audit h2{font-size:32px;line-height:1.2}.audit-body>p{font-size:18px;color:var(--grey);line-height:1.7;max-width:580px}.audit-body>.link{margin-top:15px}.audit-aside{border-left:1px solid var(--line);padding-left:34px}.audit-aside .eyebrow{font-size:13px}.audit-aside p{font-size:16px;line-height:1.65;margin-top:12px}.audit-aside .link{font-size:14px;margin-top:16px;gap:15px}
.perspectives{padding-block:76px}.rule-heading{display:flex;gap:35px;align-items:center;justify-content:center;margin-bottom:42px}.rule-heading:before,.rule-heading:after{content:"";height:1px;flex:1;background:var(--line)}.rule-heading h2{font-size:40px;letter-spacing:-.025em}.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}.article-card+.article-card{position:relative}.article-card+.article-card:before{position:absolute;content:"";left:-22px;top:0;bottom:0;width:1px;background:var(--line)}.cover-link{width:100%;display:block;overflow:hidden;aspect-ratio:1.87;background:var(--pale)}.cover-link img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.cover-link:hover img{transform:scale(1.025)}.article-body{padding-top:23px}.article-body .eyebrow{font-size:14px}.article-body h3{font-size:29px;line-height:1.22;margin-top:12px;max-width:650px;letter-spacing:-.025em}.article-title:hover{color:var(--blue)}.article-body>p{font-size:17px;color:var(--grey);line-height:1.65;margin-top:17px;max-width:650px}.article-meta{margin-top:26px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--grey);font-size:12px}.article-meta .link{font-size:14px;gap:18px}.all-articles{text-align:center;margin-top:38px}
.contact{border-top:1px solid var(--line);padding-block:58px}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.contact h2{font-size:clamp(34px,3.3vw,48px)}.contact p{font-size:17px;color:var(--grey);margin-top:16px}.contact .outline{border-color:var(--ink);min-width:240px;min-height:60px;font-size:15px}.contact .outline:hover{border-color:var(--blue)}.footer{background:var(--ink);color:white;padding-block:48px 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:35px}.footer .brand svg{width:44px;height:42px}.footer .brand-name{font-size:23px;border-color:#6c96fa}.footer-contact{font-size:18px}.footer-contact:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:baseline;flex-wrap:wrap;font-size:12px;color:#b6bec8;border-top:1px solid #ffffff30;padding-top:23px;margin-top:36px}.footer-nav{display:flex;gap:25px;flex-wrap:wrap}.footer-nav a:hover{color:white}.credits{max-width:520px;margin-left:auto;text-align:right;font-size:11px;color:#b6bec8;margin-top:15px}.credits summary{cursor:pointer}.credits p{margin-top:8px}.credits a{text-decoration:underline}
.detail-page{padding-block:38px 68px}.detail-nav{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:26px;border-bottom:1px solid var(--line)}.detail-nav a{font-size:14px;color:var(--grey)}.detail-nav a:hover{color:var(--blue)}.detail-nav>span{font-size:12px;color:var(--grey)}.reading{max-width:800px;margin:50px auto 0}.reading .eyebrow{margin-bottom:18px}.reading h1{font-size:clamp(40px,4.2vw,62px);line-height:1.1;letter-spacing:-.035em}.reading .lead{font-size:22px;color:var(--grey);line-height:1.6;margin-top:26px}.reading .meta{font-size:13px;color:var(--grey);margin-top:24px}.reading h2{font-size:29px;margin-top:40px;line-height:1.2}.reading p,.reading li{font-size:17px;line-height:1.8}.reading p{margin-top:20px}.reading ul{padding-left:22px}.reading li{margin-bottom:10px}.reading .takeaway{border-left:3px solid var(--blue);background:var(--pale);padding:24px 28px;margin:34px 0}.takeaway p{margin:0}.reading .facts{display:grid;grid-template-columns:145px 1fr;gap:26px 30px;border-top:1px solid var(--line);margin-top:36px;padding-top:30px}.facts dt{font-size:14px;color:var(--grey)}.facts dd{font-size:17px;margin:0;line-height:1.75}.reading .scope{font-size:13px;color:var(--grey);border-top:1px solid var(--line);padding-top:24px;margin-top:36px}.reading a.inline{color:var(--blue);text-decoration:underline}.reading .button,.reading .text-link{margin-top:28px;border:1px solid var(--line);padding:15px 20px;font-size:15px;display:inline-flex;gap:25px;align-items:center;color:var(--blue)}.reading .button:hover,.reading .text-link:hover{border-color:var(--blue)}.table-region{overflow:auto;margin-top:25px}.reading table{border-collapse:collapse;width:100%;min-width:480px;font-size:14px}.reading caption{text-align:left;font-weight:500;padding-bottom:12px}.reading th,.reading td{padding:15px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.reading th{font-weight:500}.reading thead{background:var(--pale)}
@media(min-width:1700px){.hero h1{font-size:94px}.hero-content{padding-top:105px}}
@media(max-width:1150px){.desktop-nav{gap:20px;font-size:14px}.desktop-nav .contact-nav{margin-left:0}.brand-name{font-size:23px}.nav-inner{gap:30px}.case-grid{gap:45px}.case-copy h3{font-size:37px}.case-photo{min-height:480px}.intro{gap:50px}.audit-grid{gap:35px;grid-template-columns:.75fr 1.2fr .8fr}.audit-aside{padding-left:25px}.article-body h3{font-size:26px}}
@media(max-width:920px){.desktop-nav{display:none}.mobile-menu{display:block}.hero{min-height:635px;height:72svh}.hero h1{font-size:68px}.hero-content{padding-top:65px}.hero-feature{font-size:16px}.hero-foot-label{max-width:120px}.intro{gap:30px}.intro h2{font-size:36px}.intro p{font-size:16px}.service{padding-right:22px}.service+.service{padding-left:22px}.service h3{font-size:22px}.service p{font-size:15px}.case-grid{grid-template-columns:.85fr 1fr;gap:34px}.case-photo{min-height:500px}.case-copy h3{font-size:33px}.case-lead{font-size:16px}.case-proof{grid-template-columns:1fr;gap:18px;margin-top:24px}.audit-grid{grid-template-columns:.7fr 1fr;gap:40px}.audit-aside{grid-column:2;padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.audit-aside p{max-width:400px}.article-grid{gap:32px}.article-card+.article-card:before{left:-16px}.article-body h3{font-size:25px}.article-body>p{font-size:16px}.contact-inner{gap:30px}.contact h2{font-size:36px}.contact .outline{min-width:200px}}
@media(max-width:650px){html{scroll-padding-top:85px}.utility{font-size:11px}.utility-inner{min-height:31px}.utility-description{max-width:200px}.utility-links{gap:16px}.utility-links>a{display:none}.nav-inner{min-height:81px}.brand{gap:14px}.brand svg{width:42px;height:41px}.brand-name{font-size:22px;padding-left:15px;letter-spacing:.12em}.hero{height:auto;min-height:660px}.hero-photo img{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#09182cbb,#10233b44),linear-gradient(0deg,#0b1b2de8,transparent 60%)}.hero-content{padding:66px 0 48px}.hero .eyebrow{font-size:14px;max-width:270px;line-height:1.6}.hero h1{font-size:clamp(48px,11.8vw,67px);margin-top:22px;line-height:1.09;letter-spacing:-.035em}.hero-lead{font-size:17px;line-height:1.7;max-width:400px;margin-top:24px}.hero-link{font-size:13px;gap:22px;margin-top:24px}.hero-link .arrow{font-size:32px}.hero-foot{display:block;padding:20px 0 24px;margin-top:0}.hero-foot-label{font-size:11px;max-width:none;margin-bottom:13px}.hero-feature{font-size:15px;gap:25px}.hero-feature small{display:none}.hero-feature .arrow{font-size:25px}.expertises{padding-block:48px}.intro{display:block;margin-bottom:30px}.intro h2{font-size:33px}.intro p{margin-top:20px;font-size:17px}.services{display:block}.service,.service+.service{border-left:0;padding:24px 0 25px}.service+.service{border-top:1px solid var(--line)}.service h3{font-size:25px;max-width:none}.service p{font-size:16px;max-width:none;margin-top:13px}.service .link{margin-top:13px;font-size:14px}.experience{padding-block:42px 48px}.case-heading{display:block;margin-bottom:26px}.case-heading h2{font-size:12px}.case-tabs{gap:25px;width:max-content;max-width:100%;margin-top:17px}.case-tabs button{font-size:13px;padding-bottom:10px}.case-grid{grid-template-columns:1fr;gap:28px}.case-photo{min-height:0;height:295px}.case-photo img{object-position:50% 61%}.case-copy{padding:0}.case-copy h3{font-size:34px}.case-lead{font-size:17px;margin-top:20px}.case-copy .eyebrow{font-size:14px;margin-bottom:13px}.case-proof{grid-template-columns:1fr 1fr;gap:22px;margin-top:25px;padding-top:20px}.case-proof p{font-size:14px}.case-proof .proof-label{font-size:11px;margin-bottom:9px}.case-disclosure{font-size:12px}.audit{padding-block:42px}.audit-grid{display:block}.audit h2{font-size:33px}.audit-body>p{font-size:17px;margin-top:22px}.audit-aside{margin-top:25px;padding-top:23px}.audit-aside p{font-size:16px;margin-top:10px}.audit-aside .link{margin-top:13px}.perspectives{padding-block:48px}.rule-heading{gap:20px;margin-bottom:30px}.rule-heading h2{font-size:31px;white-space:nowrap}.article-grid{grid-template-columns:1fr;gap:34px}.article-card+.article-card:before{display:none}.article-card+.article-card{border-top:1px solid var(--line);padding-top:30px}.cover-link{aspect-ratio:1.65}.article-body{padding-top:20px}.article-body h3{font-size:28px;margin-top:12px}.article-body>p{font-size:16px;margin-top:15px}.article-meta{margin-top:18px}.all-articles{margin-top:28px}.contact{padding-block:40px}.contact-inner{display:block}.contact h2{font-size:34px}.contact p{font-size:16px;max-width:350px}.contact .outline{margin-top:24px;min-height:55px;padding:15px 20px;min-width:0}.footer{padding-block:35px 22px}.footer-top{align-items:flex-start;flex-direction:column;gap:27px}.footer .brand-name{font-size:22px}.footer-contact{font-size:17px}.footer-bottom{margin-top:28px;gap:19px;flex-direction:column}.footer-nav{gap:12px 23px}.credits{text-align:left;margin-left:0}.detail-page{padding-top:24px}.detail-nav{gap:20px}.detail-nav>span{display:none}.reading{margin-top:32px}.reading h1{font-size:39px}.reading .lead{font-size:20px}.reading h2{font-size:27px}.reading p,.reading li,.facts dd{font-size:16px}.reading .facts{grid-template-columns:1fr;gap:6px}.facts dd{margin-bottom:19px}.reading .takeaway{padding:22px}.reading .scope{font-size:13px}}
@media(max-width:360px){.brand-name{font-size:19px}.brand svg{width:36px}.brand{gap:12px}.case-proof{grid-template-columns:1fr}.hero h1{font-size:47px}.hero .eyebrow{max-width:260px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Arlan Grey: a continuous editorial composition, with a distinct role for each section. */
:root{--gutter:clamp(24px,5.6vw,92px)}
.hero-content{padding-top:76px;padding-bottom:175px}
.hero h1{font-weight:400;font-size:clamp(64px,6.4vw,94px);line-height:1.04;letter-spacing:-.045em}
.hero h1 .signal-word{display:inline-block;position:relative}
.hero h1 .signal-word:after{content:"";display:block;width:54px;height:3px;background:#82a9ff;margin-top:24px}
.hero-lead{margin-top:23px;max-width:485px;font-size:18px}
.hero-link{margin-top:20px}
.hero-foot{position:absolute;right:var(--gutter);bottom:-1px;width:42%;max-width:580px;display:block;padding:23px 30px 24px;margin:0;background:white;color:var(--ink);border:0;border-top:3px solid var(--blue)}
.hero-foot-label{color:var(--blue);font-size:11px;margin-bottom:9px;max-width:none}
.hero-feature{font-size:22px;line-height:1.3;letter-spacing:-.025em;gap:30px;width:100%}
.hero-feature small{display:none}
.hero-feature .arrow{font-size:30px;color:var(--blue)}

.expertises{padding-block:76px 74px}
.expertise-directory{display:grid;grid-template-columns:210px 1fr;gap:62px}
.directory-label{font-size:15px;line-height:1.5;letter-spacing:0;font-weight:500;max-width:160px;padding-top:7px}
.directory-label:before{content:"";display:block;width:32px;height:2px;background:var(--blue);margin-bottom:19px}
.directory-intro{font-size:clamp(27px,2.6vw,37px);line-height:1.35;letter-spacing:-.025em;font-weight:400;max-width:960px;margin-bottom:35px}
.services{display:block;border-top:1px solid var(--line)}
.service,.service+.service{border-left:0;border-bottom:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:1.04fr 1fr 30px;gap:35px;align-items:center}
.service h3{font-size:23px;line-height:1.3;letter-spacing:-.025em;max-width:350px;font-weight:500}
.service p{font-size:15px;line-height:1.65;margin:0;max-width:350px}
.service .link{margin:0;padding:6px 0;justify-content:flex-end}
.service .arrow{font-size:25px}
.service-link-title:hover{color:var(--blue)}

.experience{border:0;padding:0 0 74px}
.case-heading{border-top:1px solid var(--ink);padding-top:24px;margin-bottom:36px}
.case-heading h2{font-size:13px;letter-spacing:.015em;text-transform:none;color:var(--grey)}
.case-tabs{gap:30px}
.case-grid{display:block}
.case-copy{display:grid;grid-template-columns:1.4fr .75fr;gap:0 90px;align-items:start;padding:0}
.case-main{padding:12px 0 0 0}
.case-copy .eyebrow{font-size:14px;margin-bottom:18px}
.case-copy h3{font-size:clamp(36px,4vw,57px);line-height:1.1;letter-spacing:-.04em;max-width:810px;font-weight:400}
.case-lead{font-size:18px;max-width:690px;margin-top:26px;line-height:1.75}
.case-main>.link{margin-top:27px}
.case-proof{display:block;background:var(--pale);border-top:2px solid var(--blue);padding:28px 32px 31px;margin:0;width:100%}
.case-proof .proof-label{font-size:12px;letter-spacing:.025em;text-transform:none;color:var(--grey);margin-bottom:12px}
.case-proof>div:first-child>p:last-child{font-size:23px;line-height:1.5;letter-spacing:-.025em;font-weight:400}
.case-proof>div+div{border-top:1px solid var(--line);padding-top:22px;margin-top:25px}
.case-proof>div+div>p:last-child{font-size:15px;line-height:1.7}
.case-disclosure{margin-top:29px;max-width:730px;line-height:1.6}

.audit{background:var(--ink);color:white;padding-block:43px}
.audit-grid{grid-template-columns:.65fr 1.2fr .73fr;gap:52px;align-items:center}
.audit-heading .eyebrow{font-size:12px;color:#adc6ff;margin-bottom:11px}
.audit h2{font-size:34px;line-height:1.15;letter-spacing:-.035em;font-weight:400}
.audit-body>p{font-size:17px;line-height:1.7;color:#d9dde4;max-width:530px}
.audit-body>.link{margin-top:13px;color:#adc6ff;font-size:14px}
.audit-aside{border-color:#ffffff35;padding-left:34px}
.audit-aside .eyebrow{color:#adc6ff;font-size:12px}
.audit-aside p{font-size:16px;line-height:1.6;max-width:270px}
.audit-aside .link{color:#adc6ff;margin-top:14px;font-size:14px}

.perspectives{padding-block:78px}
.rule-heading{justify-content:flex-start;align-items:end;gap:34px;margin-bottom:34px}
.rule-heading:before,.rule-heading:after{display:none}
.rule-heading h2{font-size:clamp(39px,4vw,57px);letter-spacing:-.04em;line-height:1.1;font-weight:400}
.editorial-kicker{font-size:13px;color:var(--grey);margin-bottom:7px}
.article-grid{grid-template-columns:1.62fr 1fr;gap:68px;align-items:start}
.article-card+.article-card:before{display:none}
.article-card--lead .cover-link{aspect-ratio:1.95}
.article-card--lead .article-body{padding-top:24px}
.article-card--lead .article-body h3{font-size:33px;line-height:1.18;max-width:700px}
.article-card--lead .article-body>p{max-width:660px;font-size:16px}
.article-card--lead .article-meta{margin-top:17px}
.article-card--essay{border-top:2px solid var(--ink);padding-top:19px}
.article-card--essay .article-body{padding:0}
.article-card--essay .article-body .eyebrow{font-size:13px}
.article-card--essay .article-body h3{font-size:clamp(30px,3vw,42px);line-height:1.16;font-weight:400;letter-spacing:-.035em;margin-top:23px}
.article-card--essay .article-body>p{font-size:17px;line-height:1.75;margin-top:25px}
.article-card--essay .article-meta{margin-top:30px;border-top:1px solid var(--line);padding-top:15px}
.essay-question{border-left:2px solid var(--blue);padding-left:21px;margin-top:44px}
.essay-question p{font-size:14px;color:var(--grey);line-height:1.7}
.essay-question strong{display:block;color:var(--ink);font-weight:500;margin-bottom:7px}

.contact{padding-block:45px 61px;border-top:1px solid var(--ink)}
.contact-inner{align-items:end;gap:55px}
.contact h2{font-weight:400;font-size:clamp(40px,4.7vw,66px);line-height:1.12;letter-spacing:-.04em;max-width:840px}
.contact p{font-size:16px;max-width:560px}
.contact-direct{display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--blue);padding:13px 0;white-space:nowrap;font-size:17px;margin-bottom:6px}
.contact-direct .arrow{color:var(--blue)}
.contact-direct:hover{color:var(--blue)}

.detail-page{max-width:1300px}
.reading{max-width:790px}
.reading .eyebrow{position:relative;padding-left:45px}
.reading .eyebrow:before{content:"";position:absolute;left:0;top:.75em;width:25px;height:2px;background:var(--blue)}
.reading h1{font-weight:400;letter-spacing:-.04em}

@media(min-width:1700px){.hero h1{font-size:96px}}
@media(max-width:1150px){
 .expertise-directory{grid-template-columns:155px 1fr;gap:42px}
 .service,.service+.service{gap:25px;grid-template-columns:1fr 1fr 25px}
 .service h3{font-size:21px}
 .case-copy{gap:0 45px;grid-template-columns:1.3fr .8fr}
 .case-copy h3{font-size:45px}
 .case-proof{padding:25px}
 .article-grid{gap:45px}
 .article-card--lead .article-body h3{font-size:30px}
 .audit-grid{gap:35px}
}
@media(max-width:920px){
 .hero-content{padding-top:67px;padding-bottom:165px}
 .hero h1{font-size:72px}
 .hero-foot{width:47%;padding:20px 24px}
 .hero-feature{font-size:19px}
 .hero-feature .arrow{font-size:25px}
 .expertise-directory{grid-template-columns:1fr;gap:22px}
 .directory-label{display:flex;align-items:center;gap:17px;max-width:none;padding:0;font-size:13px}
 .directory-label:before{margin:0;width:26px}
 .directory-intro{font-size:31px;margin-bottom:28px;max-width:850px}
 .case-copy{grid-template-columns:1.12fr .8fr;gap:0 35px}
 .case-copy h3{font-size:39px}
 .case-lead{font-size:16px}
 .case-proof>div:first-child>p:last-child{font-size:20px}
 .audit-grid{grid-template-columns:.7fr 1fr;gap:30px 40px}
 .audit-aside{grid-column:2;padding:23px 0 0}
 .audit-body>p{font-size:16px}
 .article-grid{grid-template-columns:1.2fr 1fr;gap:34px}
 .article-card--lead .article-body h3{font-size:27px}
 .article-card--essay .article-body h3{font-size:31px}
 .article-card--essay .article-body>p{font-size:16px}
 .essay-question{margin-top:30px}
 .contact-inner{display:block}
 .contact-direct{width:max-content;max-width:100%;margin-top:24px;font-size:18px;gap:45px}
}
@media(max-width:650px){
 .hero{min-height:725px}
 .hero-content{padding:56px 0 205px}
 .hero h1{font-size:clamp(48px,12.5vw,69px);line-height:1.045;letter-spacing:-.04em}
 .hero h1 .signal-word:after{margin-top:20px;width:39px;height:2px}
 .hero-lead{font-size:17px;margin-top:20px}
 .hero-foot{right:0;width:calc(100% - var(--gutter));max-width:none;padding:21px var(--gutter) 22px 24px;bottom:-1px}
 .hero-foot-label{font-size:11px;margin-bottom:9px}
 .hero-feature{font-size:21px;gap:22px;max-width:none}
 .expertises{padding-block:46px 45px}
 .expertise-directory{gap:20px}
 .directory-intro{font-size:27px;line-height:1.4;margin-bottom:26px}
 .service,.service+.service{position:relative;grid-template-columns:1fr;gap:10px;padding:23px 34px 23px 0}
 .service h3{font-size:24px;max-width:310px;line-height:1.25}
 .service p{font-size:15px;max-width:none;line-height:1.65}
 .service .link{position:absolute;right:0;top:23px}
 .service .arrow{font-size:25px}
 .experience{padding-bottom:46px}
 .case-heading{padding-top:20px;margin-bottom:27px}
 .case-heading h2{font-size:12px}
 .case-copy{grid-template-columns:1fr;gap:28px}
 .case-main{padding:0}
 .case-copy .eyebrow{font-size:13px}
 .case-copy h3{font-size:clamp(34px,8.9vw,45px);line-height:1.13}
 .case-lead{font-size:17px;margin-top:22px}
 .case-main>.link{margin-top:19px}
 .case-proof{padding:24px;display:grid;grid-template-columns:1fr;gap:20px}
 .case-proof>div+div{margin:0;padding-top:18px}
 .case-proof>div:first-child>p:last-child{font-size:23px;line-height:1.45}
 .case-proof>div+div>p:last-child{font-size:15px}
 .case-disclosure{margin-top:20px;font-size:12px}
 .audit{padding-block:34px 38px}
 .audit-grid{display:block}
 .audit h2{font-size:34px}
 .audit-heading .eyebrow{font-size:12px;margin-bottom:10px}
 .audit-body>p{margin-top:20px;font-size:17px}
 .audit-aside{margin-top:24px;padding-top:20px}
 .audit-aside p{max-width:none;margin-top:9px}
 .audit-aside .link{margin-top:12px}
 .perspectives{padding-block:45px}
 .rule-heading{display:block;margin-bottom:28px}
 .rule-heading h2{font-size:43px}
 .editorial-kicker{font-size:13px;margin-top:13px;margin-bottom:0}
 .article-grid{display:block}
 .article-card--lead .cover-link{aspect-ratio:1.55}
 .article-card--lead .article-body h3{font-size:30px}
 .article-card--lead .article-body .eyebrow{font-size:13px}
 .article-card--essay{border-top:2px solid var(--ink);margin-top:31px;padding-top:24px}
 .article-card--essay .article-body h3{font-size:34px;margin-top:18px}
 .article-card--essay .article-body>p{font-size:17px;margin-top:20px}
 .article-card--essay .article-meta{margin-top:22px}
 .essay-question{margin-top:22px;padding-left:19px}
 .contact{padding-block:34px 42px}
 .contact h2{font-size:42px;max-width:420px}
 .contact p{font-size:16px;max-width:390px}
 .contact-direct{font-size:17px;gap:23px;margin-top:18px}
}

/* Motion follows the editorial hierarchy; content is visible without JavaScript. */
:root {
  --motion-ease: cubic-bezier(.22, 1, .36, 1);
  --motion-fast: 180ms;
}
.hero-photo { overflow: hidden; }
.hero-photo img { transform-origin: 60% 50%; }
.hero a:focus-visible { outline-color: #adc6ff; }
.arrow { transition: transform 240ms var(--motion-ease); }
.desktop-nav a { position: relative; }
.desktop-nav a::after {
  content: "";
  position: absolute;
  inset: auto 0 4px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 240ms var(--motion-ease);
}
.desktop-nav a:focus-visible::after { transform: scaleX(1); transition: none; }
.service { position: relative; }
.service::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: 1px;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 360ms var(--motion-ease);
}
.service:focus-within::after { transform: scaleX(1); transition: none; }
.cover-link img { transition: transform 650ms var(--motion-ease); }
.case-tabs { position: relative; }
.case-tabs button { min-height: 44px; }
.case-indicator {
  position: absolute;
  bottom: -1px;
  left: 0;
  height: 3px;
  width: 1px;
  background: var(--blue);
  transform-origin: left;
  pointer-events: none;
}
.case-tabs[data-indicator="ready"] button::after { display: none; }
@media (max-width: 420px) {
  .case-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; width: 100%; }
  .case-tabs button { align-self: stretch; }
}
.reading-progress {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .desktop-nav a:hover::after, .service:hover::after {
    transform: scaleX(1);
    transform-origin: left;
  }
  .article-title:hover { text-decoration: underline; text-underline-offset: .15em; text-decoration-thickness: 1px; }
  .contact-direct:hover .arrow { transform: translate(4px, -4px); }
}
@supports (view-transition-name: site-navigation) {
  html { view-transition-name: root; }
  .site-header { view-transition-name: site-navigation; }
  ::view-transition { pointer-events: none; }
  ::view-transition-group(root), ::view-transition-group(site-navigation) { animation: none; }
  ::view-transition-group(site-navigation) { z-index: 2; }
  ::view-transition-old(site-navigation) { display: none; }
  ::view-transition-new(site-navigation) { animation: none; }
  ::view-transition-old(root) {
    animation: editorial-leave 140ms ease-out both;
    mix-blend-mode: normal;
  }
  ::view-transition-new(root) {
    animation: editorial-enter 240ms var(--motion-ease) both;
    mix-blend-mode: normal;
  }
}
@keyframes editorial-leave { to { opacity: 0; } }
@keyframes editorial-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
  .cover-link:hover img, .arrow { transform: none !important; }
}

:root { --gutter: clamp(24px, 5.4vw, 88px); --header-height: 81px; }
.utility { display: none; }
.nav-inner { min-height: 80px; gap: 35px; }
.brand svg { width: 39px; height: 40px; }
.brand-name { font-size: 23px; }
.desktop-nav { font-size: 14px; gap: 27px; }
.opening { background: white; }
.opening-stage { position: relative; height: max(690px, calc(100svh - var(--header-height))); isolation: isolate; }
.opening-photo { position: absolute; inset: 0; clip-path: inset(12% 5% 18% 70%); overflow: hidden; z-index: -1; }
.opening-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.opening-wash { position: absolute; inset: 0; background: linear-gradient(0deg, #071320b8, #07132000 75%); opacity: 0; pointer-events: none; z-index: -1; }
.opening-content { padding-block: 46px 95px; }
.opening-content > .eyebrow { color: var(--grey); font-size: 13px; letter-spacing: .025em; }
.opening-title { font-size: clamp(60px, 8.8vw, 148px); line-height: .99; font-weight: 400; letter-spacing: -.065em; margin-top: 32px; max-width: 89%; }
.opening-title .opening-signal { color: var(--blue); }
.opening-bottom { margin-top: 35px; width: 50%; max-width: 580px; }
.opening-bottom > p { font-size: 18px; line-height: 1.65; max-width: 450px; color: var(--grey); }
.opening-note { display: grid; grid-template-columns: 1fr 30px; column-gap: 20px; border-top: 1px solid var(--line); padding-top: 17px; margin-top: 29px; max-width: 445px; font-size: 16px; line-height: 1.5; }
.opening-note > span:first-child { grid-column: 1 / -1; font-size: 12px; color: var(--grey); margin-bottom: 5px; }
.opening-note .arrow { color: var(--blue); grid-column: 2; grid-row: 2; }
.opening-note:hover .arrow { transform: translate(4px, -4px); }
.opening-destination { display: none; position: absolute; bottom: 90px; left: var(--gutter); margin: 0; color: white; }
.opening-destination .eyebrow { color: white; font-size: 14px; margin-bottom: 20px; }
.opening-destination h2 { font-size: clamp(45px, 6vw, 88px); font-weight: 400; line-height: 1.02; letter-spacing: -.05em; }
.opening-destination .link { margin-top: 25px; color: white; }
.opening-destination a:focus-visible { outline-color: white; }
.opening-guide { position: absolute; bottom: 24px; left: var(--gutter); display: flex; align-items: center; gap: 20px; margin: 0; color: var(--grey); font-size: 12px; pointer-events: none; }
.opening-meter { height: 1px; width: 90px; background: #84909f60; }
.opening-meter > span { display: block; background: currentColor; height: 100%; transform: scaleX(0); transform-origin: left; }
.opening[data-motion="pinned"] .opening-stage { height: calc(100svh - var(--header-height)); min-height: 0; }
.opening[data-motion] .opening-destination { display: block; }
.expertise-journey { padding: 0 0 68px; background: white; }
.expertise-bar { padding-block: 33px 26px; display: flex; gap: 30px; align-items: center; justify-content: space-between; border-top: 1px solid var(--ink); }
.expertise-bar h2 { font-size: 15px; letter-spacing: 0; font-weight: 500; }
.expertise-controls { display: flex; gap: 27px; }
.expertise-controls button { display: flex; align-items: center; gap: 9px; padding: 12px 0; font-size: 13px; color: var(--grey); }
.expertise-controls button[aria-pressed="true"] { color: var(--blue); text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }
.expertise-viewport { overflow: clip; }
.expertise-track { display: grid; }
.expertise-panel { position: relative; padding: 55px var(--gutter) 28px; border-top: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; min-height: 480px; }
.expertise-number { position: absolute; right: var(--gutter); top: 22px; font-size: clamp(110px, 13vw, 190px); line-height: 1; letter-spacing: -.08em; font-weight: 300; color: #dfe3e9; pointer-events: none; }
.expertise-panel-copy { position: relative; max-width: 690px; }
.expertise-panel-copy > .eyebrow { font-size: 13px; margin-bottom: 23px; }
.expertise-panel h3 { font-size: clamp(38px, 4.8vw, 73px); line-height: 1.05; font-weight: 400; letter-spacing: -.05em; }
.expertise-panel-copy > p:not(.eyebrow) { font-size: 19px; color: var(--grey); line-height: 1.65; max-width: 520px; margin-top: 23px; }
.expertise-panel .link { margin-top: 20px; }
.expertise-deliverables { padding-top: 24px; margin-top: 30px; border-top: 1px solid var(--line); color: var(--grey); font-size: 14px; display: flex; flex-wrap: wrap; gap: 12px; }
.expertise-panel--soft { background: #f1f3f6; }
.expertise-panel--ink { background: var(--ink); color: white; }
.expertise-panel--ink .expertise-number { color: #ffffff15; }
.expertise-panel--ink .eyebrow, .expertise-panel--ink .link { color: #adc6ff; }
.expertise-panel--ink .expertise-panel-copy > p:not(.eyebrow), .expertise-panel--ink .expertise-deliverables { color: #d8dee7; }
.expertise-panel--ink .expertise-deliverables { border-color: #ffffff30; }
.expertise-panel--ink a:focus-visible { outline-color: #adc6ff; }
.expertise-meter { height: 2px; background: var(--line); margin-top: 24px; display: none; }
.expertise-meter > span { display: block; height: 100%; background: var(--blue); transform-origin: left; }
.expertise-journey[data-motion="horizontal"] .expertise-stage { height: calc(100svh - var(--header-height)); display: flex; flex-direction: column; }
.expertise-journey[data-motion="horizontal"] .expertise-bar { flex-shrink: 0; }
.expertise-journey[data-motion="horizontal"] .expertise-viewport { flex: 1; min-height: 0; }
.expertise-journey[data-motion="horizontal"] .expertise-track { display: flex; height: 100%; width: max-content; padding-inline: var(--gutter); }
.expertise-journey[data-motion="horizontal"] .expertise-panel { flex: 0 0 auto; width: 86vw; min-height: 0; height: 100%; padding: 35px 48px 25px; border: 1px solid var(--line); border-right: 0; }
.expertise-journey[data-motion="horizontal"] .expertise-panel:last-child { border-right: 1px solid var(--line); }
.expertise-journey[data-motion="horizontal"] .expertise-panel-copy { max-width: 71%; }
.expertise-journey[data-motion="horizontal"] .expertise-panel-copy > p:not(.eyebrow) { font-size: 18px; margin-top: 20px; }
.expertise-journey[data-motion="horizontal"] .expertise-panel h3 { font-size: clamp(38px, 4.4vw, 66px); }
.expertise-journey[data-motion="horizontal"] .expertise-meter { display: block; flex-shrink: 0; margin-bottom: 24px; }
.experience { padding-top: 32px; }
.perspectives .rule-heading h2 { font-size: clamp(46px, 6.5vw, 85px); }
.article-card--lead .cover-link { overflow: hidden; }
/* GSAP owns this zoom; a CSS transition would keep easing toward every frame. */
.article-card--lead .cover-link img { transition: none; }
.article-card--lead .cover-link img { transition: none; }
.contact h2 { font-size: clamp(46px, 7.1vw, 100px); line-height: 1.03; }
.contact { padding-block: 62px 76px; }
.audit h2 { font-size: 40px; }
.audit-body > .link { font-size: 16px; font-weight: 500; }
.audit-aside .link { color: #d8dee7; }
.article-card--lead .article-body h3 { font-size: clamp(30px, 3vw, 40px); }
.article-card--essay .article-body h3 { font-size: clamp(28px, 2.5vw, 34px); }
.opening-title, .expertise-panel h3, .article-body h3, .contact h2 { text-wrap: balance; }
@media (max-width: 1000px) {
  .opening-title { font-size: 9.4vw; }
  .opening-bottom { width: 58%; }
  .opening-bottom > p { font-size: 17px; }
  .expertise-journey[data-motion="horizontal"] .expertise-panel { padding: 27px 32px 22px; }
  .expertise-journey[data-motion="horizontal"] .expertise-panel-copy { max-width: 84%; }
  .expertise-journey[data-motion="horizontal"] .expertise-panel h3 { font-size: 42px; }
  .expertise-number { top: 15px; right: 30px; font-size: 130px; }
}
@media (max-width: 700px) {
  .opening-stage { min-height: 750px; height: calc(100svh - var(--header-height)); }
  .opening-photo { clip-path: inset(68% 6% 5% 6%); }
  .opening-content { padding-top: 32px; padding-bottom: 0; }
  .opening-content > .eyebrow { font-size: 12px; max-width: 270px; }
  .opening-title { font-size: clamp(39px, 10.5vw, 74px); max-width: none; margin-top: 25px; line-height: 1.05; }
  .opening-bottom { width: 100%; margin-top: 22px; }
  .opening-bottom > p { font-size: 16px; line-height: 1.6; max-width: 450px; }
  .opening-note { margin-top: 19px; padding-top: 13px; font-size: 14px; max-width: 420px; }
  .opening-note > span:first-child { font-size: 12px; }
  .opening-guide { bottom: 14px; font-size: 11px; gap: 15px; }
  .opening-destination { bottom: 76px; }
  .opening-destination h2 { font-size: clamp(36px, 8.8vw, 59px); }
  .expertise-bar { display: block; padding-block: 23px 17px; }
  .expertise-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 10px; }
  .expertise-controls button { display: grid; align-content: start; justify-items: start; text-align: left; font-size: clamp(10px, 2.95vw, 12px); gap: 6px; min-height: 60px; }
  .expertise-panel { min-height: 0; padding-block: 38px 26px; }
  .expertise-panel-copy { max-width: 100%; }
  .expertise-panel h3 { font-size: clamp(31px, 7.7vw, 49px); }
  .expertise-panel-copy > p:not(.eyebrow) { font-size: 17px; }
  .expertise-number { font-size: 86px; opacity: .45; }
  .expertise-panel-copy > .eyebrow { font-size: 12px; margin-bottom: 19px; }
  .expertise-deliverables { font-size: 13px; gap: 8px; }
  .expertise-journey { padding-bottom: 35px; }
  .contact { padding-block: 40px 52px; }
  .audit h2 { font-size: 34px; }
  .article-card--lead .article-body h3 { font-size: 32px; }
  .article-card--essay .article-body h3 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .opening-guide { display: none; }
}
@media print {
  .pin-spacer { padding: 0 !important; height: auto !important; }
  .opening-stage, .expertise-stage { position: relative !important; transform: none !important; height: auto !important; }
  .opening-content { opacity: 1 !important; visibility: visible !important; transform: none !important; }
  .opening-title { transform: none !important; opacity: 1 !important; }
  .opening-destination, .opening-guide, .opening-photo, .opening-wash { display: none !important; }
  .expertise-track { display: block !important; transform: none !important; width: auto !important; }
  .expertise-panel { width: auto !important; height: auto !important; }
  .expertise-viewport { overflow: visible; }
}

/* Ultron: the image, shell and stage remain separate scroll-animation targets. */
.experience {
  --experience-accent: #adc6ff;
  --experience-muted: #e1e6ed;
  width: 100%; max-width: none; margin: 0; padding: 0; border: 0;
  background: var(--ink); color: white;
}
.experience .experience-stage { position: relative; isolation: isolate; overflow: clip; }
.experience .experience-image { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.experience .experience-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; }
.experience .experience-image::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, #0a131dda 0%, #0a131db8 52%, #0a131d52 100%),
    linear-gradient(180deg, #0a131d9e 0%, #0a131d00 38%, #0a131d9e 100%);
}
.experience .experience-shell { position: relative; padding-block: 56px 48px; }
.experience .case-heading {
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
  border: 0; padding: 0; margin: 0;
}
.experience .case-heading h2 { max-width: 320px; font-size: 15px; line-height: 1.5; font-weight: 500; letter-spacing: 0; text-transform: none; color: white; }
.experience .case-tabs { display: flex; gap: 32px; width: auto; max-width: 100%; margin: 0; border-bottom: 1px solid #ffffff45; }
.experience .case-tabs button { padding: 12px 0 16px; font-size: 14px; line-height: 1.5; color: var(--experience-muted); }
.experience .case-tabs button[aria-pressed="true"] { color: white; }
.experience .case-tabs button[aria-pressed="true"]::after, .experience .case-indicator { background: var(--experience-accent); }
.experience .case-tabs button:hover { color: white; }
.experience a:focus-visible, .experience button:focus-visible { outline-color: white; }
.experience .case-copy {
  display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .85fr);
  gap: clamp(48px, 6.4vw, 104px); align-items: end; padding: 0; margin-top: clamp(96px, 11vw, 176px);
}
.experience .case-main { min-width: 0; padding: 0; }
.experience .case-copy .eyebrow { margin: 0 0 24px; color: var(--experience-accent); font-size: 14px; letter-spacing: .015em; }
.experience .case-copy h3 { max-width: 780px; font-size: clamp(44px, 5.3vw, 80px); line-height: 1.06; letter-spacing: -.05em; font-weight: 400; text-wrap: balance; }
.experience .case-lead { max-width: 570px; margin-top: 32px; font-size: 19px; line-height: 1.7; color: var(--experience-muted); }
.experience .case-main > .link { margin-top: 28px; padding-block: 12px; gap: 32px; color: white; font-size: 15px; }
.experience .case-main > .link .arrow { color: var(--experience-accent); }
.experience .case-proof {
  display: block; width: 100%; max-width: 440px; min-width: 0; justify-self: end;
  margin: 0; padding: clamp(28px, 2.5vw, 40px); border: 0; border-top: 3px solid var(--blue);
  background: var(--pale); color: var(--ink);
}
.experience .case-proof .proof-label { margin-bottom: 16px; font-size: 12px; line-height: 1.5; font-weight: 500; letter-spacing: .015em; text-transform: none; color: var(--grey); }
.experience .case-proof > div:first-child > p:last-child { font-size: clamp(24px, 2.05vw, 30px); line-height: 1.4; letter-spacing: -.03em; font-weight: 400; }
.experience .case-proof > div + div { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.experience .case-proof > div + div > p:last-child { font-size: 16px; line-height: 1.65; }
.experience .case-disclosure { margin-top: 48px; max-width: 690px; color: var(--experience-muted); font-size: 12px; line-height: 1.7; }

@media (max-width: 1000px) {
  .experience .experience-shell { padding-block: 40px; }
  .experience .case-heading { align-items: start; gap: 24px; }
  .experience .case-heading h2 { max-width: 220px; }
  .experience .case-tabs { gap: 24px; }
  .experience .case-tabs button { font-size: 13px; }
  .experience .case-copy { grid-template-columns: 1fr; gap: 48px; margin-top: 88px; }
  .experience .case-copy h3 { max-width: 700px; font-size: clamp(44px, 7vw, 66px); }
  .experience .case-proof { max-width: 520px; padding: 32px; }
  .experience .case-proof > div:first-child > p:last-child { font-size: 28px; }
  .experience .case-disclosure { margin-top: 40px; }
}
@media (max-width: 700px) {
  .experience .experience-image { position: relative; inset: auto; height: clamp(300px, 80vw, 460px); }
  .experience .experience-image img { object-position: 50% 52%; }
  .experience .experience-image::after { background: linear-gradient(180deg, #11182000 50%, var(--ink) 100%); }
  .experience .experience-shell { padding-block: 24px 40px; }
  .experience .case-heading { display: block; }
  .experience .case-heading h2 { max-width: none; font-size: 14px; }
  .experience .case-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; width: 100%; margin-top: 24px; }
  .experience .case-tabs button { min-height: 60px; align-self: stretch; padding: 8px 0 16px; font-size: 13px; }
  .experience .case-copy { margin-top: 48px; gap: 40px; }
  .experience .case-copy .eyebrow { margin-bottom: 20px; font-size: 13px; }
  .experience .case-copy h3 { max-width: 620px; font-size: clamp(35px, 8.6vw, 54px); line-height: 1.1; letter-spacing: -.04em; }
  .experience .case-lead { margin-top: 24px; font-size: 17px; line-height: 1.7; }
  .experience .case-main > .link { margin-top: 20px; gap: 24px; }
  .experience .case-proof { max-width: none; padding: 28px 24px; }
  .experience .case-proof .proof-label { margin-bottom: 12px; }
  .experience .case-proof > div:first-child > p:last-child { font-size: 25px; }
  .experience .case-proof > div + div { margin-top: 28px; padding-top: 24px; }
  .experience .case-disclosure { margin-top: 32px; }
}
@media print {
  .experience { background: white; color: var(--ink); }
  .experience .experience-image { display: none; }
  .experience .experience-shell { width: 100%; padding-block: 32px; transform: none !important; }
  .experience .case-copy { margin-top: 32px; display: block; }
  .experience .case-copy h3 { font-size: 36px; }
  .experience .case-heading h2, .experience .case-tabs button, .experience .case-copy .eyebrow,
  .experience .case-lead, .experience .case-main > .link, .experience .case-disclosure { color: var(--ink); }
  .experience .case-proof { max-width: none; margin-top: 32px; }
}

/* Ultron 2: a photographic chapter, a clear offer, and a full-width closing. */
.expertise-journey { padding-bottom: 0; }
.expertise-journey[data-motion="horizontal"] { padding-bottom: 48px; }
.audit { background: white; color: var(--ink); padding-block: clamp(64px, 8vw, 120px); }
.audit-grid { grid-template-columns: 1.1fr 1fr; gap: 32px 10%; align-items: start; }
.audit-heading { grid-row: 1 / 3; }
.audit-heading .eyebrow { color: var(--blue); margin-bottom: 24px; font-size: 13px; }
.audit h2 { font-size: clamp(44px, 5.5vw, 80px); max-width: 610px; letter-spacing: -.055em; line-height: 1.02; text-wrap: balance; }
.audit-body > p { color: var(--grey); font-size: 20px; line-height: 1.6; max-width: 540px; }
.audit-body > .link { color: var(--blue); font-size: 16px; margin-top: 26px; }
.audit-aside { grid-column: 2; padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--line); max-width: 540px; }
.audit-aside .eyebrow { color: var(--grey); }
.audit-aside p { font-size: 17px; max-width: 440px; line-height: 1.5; }
.audit-aside .link { color: var(--blue); }
.perspectives { border-top: 1px solid var(--line); padding-top: 64px; padding-bottom: 104px; }
.article-card--lead .cover-link { aspect-ratio: 1.65; }
.article-card--essay { margin-top: 18%; }
.closing.contact { padding: 0; border: 0; background: white; }
.closing-stage { position: relative; isolation: isolate; overflow: clip; background: var(--ink); color: white; min-height: 78svh; }
.closing-inner { position: relative; padding-block: clamp(64px, 8vw, 112px) 72px; }
.closing .eyebrow { color: #adc6ff; font-size: 14px; margin-bottom: 36px; }
.closing h2 { font-size: clamp(54px, 8.6vw, 136px); max-width: 1150px; font-weight: 400; line-height: .98; letter-spacing: -.06em; text-wrap: balance; }
.closing .closing-lead { font-size: 19px; color: #ccd3dd; max-width: 560px; margin-top: 32px; line-height: 1.6; }
.closing-stage .contact-next-step { color: #ccd3dd; }
.closing .contact-direct { display: flex; align-items: center; justify-content: space-between; gap: 32px; width: min(760px, 100%); max-width: 100%; margin: 48px 0 0; padding: 20px 0 24px; border-bottom: 1px solid #ffffff60; font-size: clamp(19px, 2.4vw, 32px); white-space: normal; color: white; }
.closing .contact-direct > span { overflow-wrap: anywhere; }
.closing-arrow { width: clamp(48px, 6.7vw, 96px); height: auto; flex-shrink: 0; color: #adc6ff; transition: transform .35s var(--motion-ease); }
.closing .contact-direct:hover { color: #adc6ff; border-color: #adc6ff; }
.closing .contact-direct:hover .closing-arrow { transform: translate(6px, -6px); }
.closing .contact-direct:focus-visible { outline-color: #adc6ff; }
.closing-mark { position: absolute; width: min(62vw, 920px); right: -14%; bottom: 8%; z-index: -1; opacity: .08; pointer-events: none; }
.closing-mark svg { display: block; width: 100%; height: auto; }
.closing-mark svg path { fill: #dce6f8; }
body:has(#home-page:not([hidden])) .footer { padding-top: 0; }
body:has(#home-page:not([hidden])) .footer-top { display: none; }
body:has(#home-page:not([hidden])) .footer-bottom { margin-top: 0; padding-top: 24px; }
@media (max-width: 920px) {
  .audit-grid { grid-template-columns: 1fr 1fr; gap: 32px 6%; }
  .audit-body > p { font-size: 18px; }
  .closing-mark { width: 75vw; right: -25%; }
}
@media (max-width: 700px) {
  .expertise-journey[data-motion="horizontal"] { padding-bottom: 24px; }
  .audit { padding-block: 56px; }
  .audit-grid { display: block; }
  .audit-heading .eyebrow { margin-bottom: 20px; }
  .audit h2 { font-size: clamp(43px, 10.5vw, 64px); max-width: 540px; }
  .audit-body > p { margin-top: 28px; font-size: 18px; }
  .audit-body > .link { margin-top: 20px; }
  .audit-aside { margin-top: 32px; padding-top: 24px; }
  .perspectives { padding-block: 48px 64px; }
  .article-card--essay { margin-top: 40px; }
  .closing-stage { min-height: 0; }
  .closing-inner { padding-block: 56px 56px; }
  .closing .eyebrow { font-size: 12px; margin-bottom: 28px; }
  .closing h2 { font-size: clamp(48px, 11.3vw, 79px); }
  .closing .closing-lead { font-size: 17px; margin-top: 28px; }
  .closing .contact-direct { margin-top: 32px; font-size: clamp(17px, 4.5vw, 24px); gap: 16px; }
  .closing-arrow { width: 44px; }
  .closing-mark { width: 100vw; right: -35%; bottom: 18%; opacity: .05; }
}
@media (prefers-reduced-motion: reduce) {
  .closing .contact-direct:hover .closing-arrow { transform: none; }
}
@media print {
  .closing-stage { clip-path: none !important; color: black; background: white; min-height: 0; }
  .closing h2, .closing p, .closing .contact-direct, .closing-stage .contact-next-step { color: black; }
  .closing-mark { display: none; }
  .article-card--essay { margin-top: 0; }
}

.menu-trigger { display: none; align-items: center; justify-content: flex-end; gap: 16px; min-height: 48px; font-size: 13px; white-space: nowrap; }
.menu-glyph { display: inline-block; position: relative; width: 25px; height: 20px; }
.menu-glyph::before, .menu-glyph::after { content: ""; position: absolute; top: 6px; right: 0; width: 25px; height: 1px; background: currentColor; transition: transform 200ms ease; }
.menu-glyph::after { top: 14px; }
.menu-trigger:hover .menu-glyph::before { transform: translateX(-4px); }
.menu-trigger:hover .menu-glyph::after { transform: translateX(4px); }
.menu-dialog { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; height: 100dvh; max-height: none; padding: 0; margin: 0; border: 0; background: var(--ink); color: white; overflow: auto; overscroll-behavior: contain; }
.menu-dialog:not([open]) { display: none; }
.menu-dialog::backdrop { background: var(--ink); }
.menu-shell { display: flex; flex-direction: column; min-height: 100%; padding: 24px var(--gutter) 28px; }
.menu-top { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.menu-dialog .brand svg { filter: brightness(0) invert(1); }
.menu-dialog .brand-name { border-color: #ffffff60; }
.menu-close { display: inline-flex; align-items: center; justify-content: flex-end; gap: 16px; min-height: 48px; font-size: 13px; }
.menu-close .menu-glyph::before { top: 10px; transform: rotate(45deg); }
.menu-close .menu-glyph::after { top: 10px; transform: rotate(-45deg); }
.menu-close:hover .menu-glyph::before { transform: rotate(135deg); }
.menu-close:hover .menu-glyph::after { transform: rotate(45deg); }
.menu-accessible-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.menu-large-nav { margin-block: auto; padding-block: 44px; }
.menu-large-nav ol { list-style: none; margin: 0; padding: 0; }
.menu-large-nav li { border-bottom: 1px solid #ffffff26; }
.menu-large-nav a { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: baseline; gap: 16px; padding-block: 12px; min-height: 64px; }
.menu-index { align-self: center; color: #adb7c3; font-size: 12px; font-variant-numeric: tabular-nums; }
.menu-link-title { display: block; font-size: clamp(36px, 6.4vw, 80px); line-height: 1.12; font-weight: 400; letter-spacing: -.05em; transition: transform 280ms ease, color 280ms ease; }
.menu-link-arrow { align-self: center; font-size: clamp(27px, 3.7vw, 44px); line-height: 1; color: #a9c1ff; transition: transform 280ms ease; }
.menu-large-nav a:hover .menu-link-title { transform: translateX(8px); color: #a9c1ff; }
.menu-large-nav a:hover .menu-link-arrow { transform: translate(4px, -4px); }
.menu-dialog a:focus-visible, .menu-dialog button:focus-visible { outline-color: #a9c1ff; outline-offset: 5px; }
.menu-bottom { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding-top: 20px; font-size: 13px; }
.menu-bottom p { color: #adb7c3; }
.menu-bottom a { display: inline-flex; align-items: baseline; gap: 20px; text-decoration: underline; text-underline-offset: 5px; }
.menu-dialog[open] .menu-link-title { animation: menu-link-enter 650ms cubic-bezier(.16, 1, .3, 1) backwards; }
.menu-dialog[open] li:nth-child(2) .menu-link-title { animation-delay: 35ms; }
.menu-dialog[open] li:nth-child(3) .menu-link-title { animation-delay: 70ms; }
.menu-dialog[open] li:nth-child(4) .menu-link-title { animation-delay: 105ms; }
.menu-dialog[open] li:nth-child(5) .menu-link-title { animation-delay: 140ms; }
@keyframes menu-link-enter { from { transform: translateY(34px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@media (max-width: 1100px) {
  .site-header .desktop-nav { display: none; }
  .site-header .mobile-menu { display: block; }
  .site-header .menu-trigger { display: inline-flex; }
  .menu-enhanced .site-header .mobile-menu { display: none; }
}
@media (max-width: 700px) {
  .menu-shell { padding-block: 16px 24px; }
  .menu-top { gap: 20px; }
  .menu-dialog .brand-name { font-size: 20px; padding-left: 14px; }
  .menu-dialog .brand { gap: 14px; }
  .menu-dialog .brand svg { width: 34px; height: 36px; }
  .menu-large-nav { padding-block: 36px; }
  .menu-large-nav a { grid-template-columns: 24px minmax(0, 1fr) 26px; gap: 10px; padding-block: 17px; }
  .menu-link-title { font-size: clamp(28px, 6.8vw, 45px); }
  .menu-link-arrow { font-size: 27px; }
  .menu-index { font-size: 10px; }
  .menu-bottom { display: grid; font-size: 12px; }
  .menu-bottom a { font-size: 14px; }
}
@media (max-width: 420px) {
  .site-header .brand { gap: 12px; }
  .site-header .brand-name { font-size: 18px; padding-left: 12px; letter-spacing: .12em; }
  .site-header .brand svg { width: 32px; height: 34px; }
  .site-header .nav-inner { gap: 20px; }
  .menu-trigger, .menu-close { gap: 10px; font-size: 12px; }
}
@media (max-height: 600px) {
  .menu-shell { padding-block: 12px 20px; }
  .menu-large-nav { padding-block: 20px; }
  .menu-large-nav a { padding-block: 9px; min-height: 49px; }
  .menu-link-title { font-size: clamp(27px, 5.6vh, 40px); }
  .menu-bottom { padding-top: 12px; }
}
@media (max-width: 360px) {
  .site-header .brand { gap: 10px; }
  .site-header .brand-name { font-size: 16px; padding-left: 10px; letter-spacing: .1em; }
  .site-header .brand svg { width: 28px; height: 31px; }
  .site-header .nav-inner, .menu-top { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .menu-dialog[open] .menu-link-title { animation: none; }
  .menu-large-nav a:hover .menu-link-title, .menu-large-nav a:hover .menu-link-arrow { transform: none; }
}
@media print { .menu-dialog, .menu-trigger, .mobile-menu { display: none !important; } }

.reading-transfer-layer { position: fixed; inset: 0; z-index: 19; pointer-events: none; overflow: hidden; }
.reading-transfer-layer > div { position: absolute; margin: 0; overflow: hidden; transform-origin: 0 0; }
.reading-transfer-title { white-space: normal; }
.reading-transfer-layer > .reading-transfer-title { overflow: visible; }
.reading-transfer-image { background: var(--pale); }
.reading-transfer-image img { width: 100%; height: 100%; object-fit: cover; }
.reading--editorial { max-width: none; margin-top: 52px; }
.reading-opening { display: grid; grid-template-columns: 1.13fr 1fr; column-gap: clamp(40px, 6vw, 96px); align-items: center; padding-bottom: 60px; border-bottom: 1px solid var(--line); }
.reading .reading-opening h1 { font-size: clamp(40px, 4.8vw, 74px); line-height: 1.05; letter-spacing: -.045em; font-weight: 400; }
.reading .reading-opening .eyebrow { font-size: 13px; margin-top: 0; margin-bottom: 28px; }
.reading .reading-opening .lead { font-size: 20px; line-height: 1.65; margin-top: 28px; max-width: 660px; }
.reading-cover { width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: var(--pale); }
.reading-cover img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.reading-text { max-width: 740px; margin: 60px auto 0; }
.reading-opening--essay { display: block; max-width: 1080px; margin-inline: auto; padding-block: 28px 64px; }
.reading-opening--essay h1 { max-width: 930px; }
.reading-opening--essay .lead { max-width: 650px; }
.reading-text > h2:first-child { margin-top: 0; }
.optical-surface { position: absolute; inset: 0; pointer-events: none; visibility: hidden; }
.opening-photo[data-optical="ready"] .optical-surface { visibility: visible; }
.optical-surface canvas { display: block; width: 100%; height: 100%; }
.opening-media { position: absolute; inset: 0; }
.opening-media > img { object-position: center; }
.opening-photo[data-optical="ready"] .opening-media > img { opacity: 0; }
/* SplitText clips to the line box. Preserve room for ink beyond tight leading,
   while keeping the original line positions and the height of each heading. */
.ag-title-line-mask {
  overflow: visible !important;
  clip-path: inset(-.16em -.08em -.24em -.08em);
}
@media (max-width: 760px) {
  .reading--editorial { margin-top: 36px; }
  .reading-opening { grid-template-columns: 1fr; gap: 32px; padding-bottom: 36px; }
  .reading .reading-opening h1 { font-size: clamp(38px, 8.8vw, 58px); }
  .reading .reading-opening .eyebrow { margin-bottom: 20px; }
  .reading .reading-opening .lead { font-size: 18px; margin-top: 22px; }
  .reading-cover { aspect-ratio: 16 / 10; }
  .reading-text { margin-top: 36px; }
  .reading-opening--essay { padding-top: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .reading-transfer-layer, .optical-surface { display: none; }
  .opening-photo[data-optical="ready"] .opening-media > img { opacity: 1; }
}

.expertise-journey[data-motion="staged"] { padding-bottom: 0; }
.expertise-journey[data-motion="staged"] .expertise-stage { height: calc(100svh - var(--header-height)); display: flex; flex-direction: column; }
.expertise-journey[data-motion="staged"] .expertise-bar { flex-shrink: 0; padding-block: 22px; }
.expertise-journey[data-motion="staged"] .expertise-viewport { flex: 1; min-height: 0; position: relative; }
.expertise-journey[data-motion="staged"] .expertise-track { position: relative; height: 100%; }
.expertise-journey[data-motion="staged"] .expertise-panel {
  position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0;
  padding: 32px var(--gutter) 28px; border: 0; overflow: hidden; background: white;
}
.expertise-journey[data-motion="staged"] .expertise-panel--soft { background: #edf0f4; }
.expertise-journey[data-motion="staged"] .expertise-panel--ink { background: var(--ink); }
.expertise-journey[data-motion="staged"] .expertise-panel-copy { max-width: 69%; }
.expertise-journey[data-motion="staged"] .expertise-panel-copy > .eyebrow { margin-bottom: 18px; }
.expertise-journey[data-motion="staged"] .expertise-panel h3 { font-size: clamp(42px, 5.2vw, 78px); line-height: 1.08; }
.expertise-journey[data-motion="staged"] .expertise-panel-copy > p:not(.eyebrow) { margin-top: 20px; font-size: 18px; max-width: 540px; }
.expertise-journey[data-motion="staged"] .expertise-panel .link { margin-top: 16px; }
.expertise-journey[data-motion="staged"] .expertise-deliverables { margin-top: 24px; padding-top: 20px; }
.expertise-journey[data-motion="staged"] .expertise-number { top: 20px; right: var(--gutter); font-size: clamp(150px, 23vw, 340px); letter-spacing: -.09em; color: #dfe4eb; }
.expertise-journey[data-motion="staged"] .expertise-panel--soft .expertise-number { color: #d7dde6; }
.expertise-journey[data-motion="staged"] .expertise-panel--ink .expertise-number { color: #ffffff13; }
.expertise-journey[data-motion="staged"] .expertise-meter { display: block; height: 2px; width: 100%; max-width: none; margin: 0; flex-shrink: 0; }
.expertise-followup { padding-block: 1.5rem; }
.expertise-followup .link { min-height: 44px; max-width: 100%; }
.expertise-followup .arrow { flex-shrink: 0; }
.case-main { position: relative; }
.case-outgoing { position: absolute; inset: 0 auto auto 0; width: 100%; pointer-events: none; }
.case-outgoing .link { pointer-events: none; }
.case-transition-overlay { position: absolute; pointer-events: none; }
.experience-photo-layers { position: absolute; inset: 0; z-index: 0; }
.experience .experience-image::after { z-index: 1; }
.experience-photo-layers > img { position: absolute; inset: 0; }
.article-photo-action {
  position: absolute; top: 0; left: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 88px; height: 88px; border-radius: 50%; background: white; color: var(--ink);
  font-size: 13px; line-height: 1.4; opacity: 0; pointer-events: none; transform: translate(-50%, -50%);
}
.article-photo-action > .ui-icon { width: 26px; height: 26px; margin-top: 4px; color: var(--blue); }
.article-card--lead .cover-link { position: relative; }
@media (pointer: coarse), (prefers-reduced-motion: reduce) { .article-photo-action { display: none; } }
@media print {
  .expertise-journey[data-motion="staged"] .expertise-panel { position: relative; inset: auto; clip-path: none !important; }
  .expertise-journey[data-motion="staged"] .expertise-panel-copy { opacity: 1 !important; transform: none !important; }
  .case-outgoing, .article-photo-action { display: none; }
}

/* The same editorial grid and motion vocabulary across every Ultron subpage. */
.detail-page { max-width: 1600px; padding-block: 32px 0; }
.detail-nav { padding-bottom: 24px; }
.reading, .reading--editorial { max-width: none; margin: 48px 0 0; }
.reading-opening { position: relative; gap: 48px; padding-bottom: 48px; align-items: center; }
.reading-opening--photo { grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr); }
.reading-opening--number { grid-template-columns: minmax(0, 1fr) minmax(160px, .32fr); }
.reading-opening--type { display: block; }
.reading-heading { min-width: 0; max-width: 1000px; }
.reading .reading-opening h1 { max-width: 1040px; font-family: inherit; font-size: clamp(40px, 5.5vw, 84px); font-weight: 400; line-height: 1.07; letter-spacing: -.05em; text-wrap: balance; }
.reading .reading-opening .eyebrow { padding-left: 0; margin: 0 0 24px; font-size: 13px; line-height: 1.6; color: var(--blue); }
.reading .reading-opening .eyebrow::before { content: none; }
.reading .reading-opening .lead { margin-top: 28px; max-width: 680px; font-size: clamp(19px, 1.8vw, 23px); line-height: 1.6; }
.reading .reading-opening .meta { margin-top: 24px; font-size: 12px; }
.reading-edition { align-self: start; justify-self: end; color: var(--line); font-size: clamp(160px, 20vw, 300px); font-weight: 400; line-height: .9; letter-spacing: -.09em; padding-top: 48px; user-select: none; }
.reading-cover { margin: 0; aspect-ratio: auto; overflow: visible; background: none; }
.reading-cover-media { aspect-ratio: 4 / 5; overflow: hidden; background: var(--pale); }
.reading-cover-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.reading-cover figcaption { margin-top: 12px; font-size: 11px; line-height: 1.5; color: var(--grey); }
.reading-body { display: grid; grid-template-columns: minmax(180px, .32fr) minmax(0, 1fr); column-gap: clamp(40px, 6vw, 96px); padding-top: 48px; }
.reading-text { min-width: 0; max-width: 760px; width: 100%; margin: 0; justify-self: end; }
.reading-index { align-self: start; position: sticky; top: calc(var(--header-height) + 24px); max-height: calc(100svh - var(--header-height) - 48px); overflow-y: auto; padding-right: 8px; }
.reading .reading-index > p { font-size: 12px; color: var(--grey); margin: 0 0 16px; }
.reading-index ol { list-style: none; margin: 0; padding: 0; }
.reading .reading-index li { margin: 0; font-size: 13px; line-height: 1.5; border-top: 1px solid var(--line); }
.reading-index a { display: grid; grid-template-columns: 24px 1fr; gap: 12px; padding: 14px 0; min-height: 48px; color: var(--grey); }
.reading-index a > span { font-size: 11px; padding-top: 2px; color: var(--blue); }
.reading-index a[aria-current="location"] { color: var(--ink); font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.reading-index a:hover { color: var(--blue); }
.reading-chapter { margin: 0 0 40px; padding: 32px 0 0; border-top: 1px solid var(--line); }
.reading .reading-chapter h2 { margin: 0; max-width: 680px; font-size: clamp(27px, 2.6vw, 38px); line-height: 1.2; font-weight: 400; letter-spacing: -.035em; text-wrap: balance; }
.reading .reading-text p, .reading .reading-text li { font-size: 18px; line-height: 1.8; }
.reading .reading-text p { margin-top: 20px; }
.reading .reading-text ul { margin: 24px 0 0; padding-left: 22px; }
.reading .reading-text li { margin-bottom: 16px; padding-left: 8px; }
.reading .takeaway { border: 0; border-top: 2px solid var(--blue); padding: 28px 32px; margin: 32px 0; background: var(--pale); }
.reading .reading-text .takeaway p { margin: 0; }
.reading-premise:first-child .takeaway { margin-top: 0; }
.reading-premise + .reading-premise { margin-top: 32px; }
.reading .facts { display: block; margin: 0; padding: 0; border: 0; }
.reading-fact { padding: 28px 0 32px; border-top: 1px solid var(--line); }
.reading .facts dt { margin: 0 0 16px; font-size: 13px; color: var(--blue); }
.reading .facts dd { margin: 0; font-size: clamp(21px, 2vw, 29px); line-height: 1.55; letter-spacing: -.02em; }
.reading .reading-notes .scope { margin: 32px 0 0; padding-top: 24px; font-size: 13px; line-height: 1.8; }
.reading .table-region { margin: 0 0 32px; }
.reading table { font-variant-numeric: tabular-nums; }
.reading th, .reading td { padding: 20px 12px; }
.reading-continuation { margin-top: 56px; padding-bottom: 48px; }
.reading-next { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 80px; column-gap: 48px; padding: clamp(32px, 5vw, 72px); background: var(--ink); color: white; overflow: hidden; }
.reading-next-kicker { grid-column: 1; font-size: 12px; color: #d8dee7; }
.reading-next-title { grid-column: 1; display: block; min-width: 0; margin-top: 24px; max-width: 880px; font-size: clamp(29px, 3.9vw, 56px); font-weight: 400; line-height: 1.15; letter-spacing: -.04em; text-wrap: balance; overflow-wrap: anywhere; }
.reading-next-arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; justify-self: end; font-size: 72px; font-weight: 300; line-height: 1; color: #adc6ff; transition: transform 480ms var(--motion-ease); }
.reading-next:focus-visible { outline-offset: -8px; outline-color: white; }
.reading-related { display: flex; justify-content: space-between; gap: 24px; padding: 24px 0 0; font-size: 13px; line-height: 1.7; color: var(--grey); }
.reading-related > span { color: var(--blue); text-align: right; }
.reading [id] { scroll-margin-top: calc(var(--header-height) + 28px); }
@media (hover: hover) and (pointer: fine) {
  .reading-next:hover .reading-next-arrow { transform: translate(10px, -10px); }
  .reading-next:hover .reading-next-title, .reading-related:hover > span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
}
@media (max-width: 1000px) {
  .reading-opening { gap: 32px; }
  .reading-opening--photo { grid-template-columns: minmax(0, 1fr) minmax(0, .65fr); }
  .reading-body { grid-template-columns: minmax(150px, .3fr) minmax(0, 1fr); gap: 32px; }
  .reading .reading-index li { font-size: 12px; }
}
@media (max-width: 760px) {
  .detail-page { padding-top: 24px; }
  .reading, .reading--editorial { margin-top: 32px; }
  .reading-opening { display: block; padding-bottom: 32px; }
  .reading-edition { display: none; }
  .reading .reading-opening h1 { font-size: clamp(36px, 8.8vw, 60px); line-height: 1.1; }
  .reading .reading-opening .eyebrow { margin-bottom: 20px; font-size: 12px; }
  .reading .reading-opening .lead { margin-top: 24px; font-size: 19px; }
  .reading-cover { margin-top: 32px; }
  .reading-cover-media { aspect-ratio: 16 / 10; }
  .reading-body { display: block; padding-top: 32px; }
  .reading-index { position: static; max-height: none; padding: 0; margin-bottom: 32px; overflow: visible; }
  .reading-index ol { display: flex; overflow-x: auto; gap: 24px; padding-bottom: 8px; }
  .reading .reading-index li { flex: 0 0 auto; max-width: 220px; }
  .reading-index a { max-width: 220px; padding-block: 12px; }
  .reading-chapter { padding-top: 24px; margin-bottom: 32px; }
  .reading .reading-text p, .reading .reading-text li { font-size: 17px; }
  .reading .takeaway { padding: 24px; }
  .reading .facts dd { font-size: 22px; }
  .reading-continuation { margin-top: 40px; padding-bottom: 32px; }
  .reading-next { grid-template-columns: minmax(0, 1fr) 36px; gap: 20px; padding: 32px 24px; }
  .reading-next-arrow { font-size: 40px; }
  .reading-related { display: block; }
  .reading-related > span { display: block; margin-top: 8px; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .reading-next-arrow { transition: none; transform: none !important; }
}
@media (max-width: 480px) {
  .reading-next { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .reading-next-arrow { grid-column: 1; grid-row: 3; margin-top: 24px; }
}
@media print {
  .detail-page { width: 100%; padding: 0; }
  .reading { margin-top: 24px; }
  .reading-opening, .reading-body { display: block; }
  .reading-index, .reading-edition, .reading-cover, .reading-continuation { display: none; }
  .reading-text { max-width: none; }
  .reading-chapter, .reading-fact { break-inside: avoid; }
  .reading .reading-opening h1 { font-size: 36px; }
}

/* The initial photograph and the introduction belong to one composition.
   The frame reserves the image's place while its aperture opens across the stage. */
.opening-stage { height: auto; min-height: 0; }
.opening-content {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
  grid-template-areas: "intro visual" "title visual" "bottom bottom";
  grid-template-rows: auto auto auto;
  column-gap: clamp(32px, 4.5vw, 72px);
  row-gap: 20px;
  align-content: center;
  min-height: calc(100svh - var(--header-height));
  padding-block: 28px 64px;
  overflow: visible;
}
.opening-content > .eyebrow { grid-area: intro; align-self: start; max-width: none; }
.opening-title { grid-area: title; align-self: start; max-width: 100%; margin: 0; }
.opening-frame {
  grid-area: visual; position: relative;
  min-width: 0; min-height: clamp(240px, 42svh, 450px);
}
.opening-photo { clip-path: none; z-index: -2; }
.opening-bottom {
  grid-area: bottom; display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
  column-gap: clamp(32px, 4.5vw, 72px); row-gap: 16px;
  width: 100%; max-width: none; margin: 0; align-items: start;
}
.opening-bottom > p { max-width: 520px; }
.opening-note { width: 100%; max-width: none; margin: 0; padding-top: 12px; }
.opening-explore { grid-column: 1; justify-self: start; }
.opening-guide { display: none; }
.opening-destination { display: none; color: #fff; overflow: visible; }
.opening-destination .eyebrow, .opening-destination .link { color: #fff; }

/* Full white lettering appears only after this contrast layer is in place.
   Its lightest stop keeps white text above 4.5:1 even over a white photograph. */
.opening-wash {
  background: linear-gradient(90deg, rgba(7, 19, 32, .82), rgba(7, 19, 32, .62));
}

/* A static frame gives the photograph its own containing block. When pinned,
   the stage becomes that block; JavaScript sets a measured starting aperture.
   Never apply opacity, transform, containment or isolation to the common grid. */
.opening[data-motion="pinned"] .opening-frame { position: static; }
.opening[data-motion="pinned"] .opening-guide { display: flex; }
.opening[data-motion="pinned"] .opening-destination { display: block; }
.opening[data-motion="pinned"] .opening-explore { display: none; }
.opening:not([data-motion="pinned"]) .opening-destination { display: none; }
.opening:not([data-motion="pinned"]) .opening-wash { display: none; }

/* Narrow screens keep a natural reading order and a photograph near the title.
   They do not acquire a second, duplicate hero when pinning is unavailable. */
@media (max-width: 760px) {
  .opening-content {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "intro" "title" "visual" "bottom";
    grid-template-rows: auto; min-height: 0; padding-block: 24px 40px;
  }
  .opening-frame { min-height: clamp(180px, 30svh, 280px); }
  .opening-bottom { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .opening-explore { grid-row: 2; }
  .opening-note { grid-row: 3; }
}
@media print {
  .opening-content { display: block; min-height: 0; padding-block: 24px; }
  .opening-title { margin-block: 20px; }
  .opening-frame { display: none; }
}

/* Final Ultron type layer: append after every other preview stylesheet.
   One visual hierarchy across the home page and all ten reading views.
   Sizes below assume the browser's default 16px root; rem preserves user scaling.
   Brand wordmarks (Playfair), large edition numbers and decorative arrows retain
   their existing sizes. Inline links inherit the size of their surrounding prose. */
:root {
  --type-h1: clamp(2.25rem, calc(1.35rem + 4.3vw), 5.25rem); /* 36–84 */
  --type-section: clamp(2rem, calc(1.15rem + 3vw), 3.5rem); /* 32–56 */
  --type-heading: clamp(1.5rem, calc(1.1rem + 1.4vw), 2.25rem); /* 24–36 */
  --type-body: 1.125rem; /* 18 */
  --type-ui: 1rem; /* 16 */
  --type-label: .875rem; /* 14 */
  --type-leading-h1: 1.08;
  --type-leading-section: 1.12;
  --type-leading-heading: 1.2;
  --type-leading-body: 1.7;
  --type-leading-ui: 1.5;
  --type-leading-label: 1.6;
}

@media (max-width: 760px) {
  :root {
    --type-body: 1.0625rem; /* 17 */
    --type-ui: .875rem; /* 14 */
    --type-label: .8125rem; /* 13 */
  }
}

body {
  font-size: var(--type-body);
  line-height: var(--type-leading-body);
}

/* H1 is identical in the opening and every reader, including photographic views.
   No fixed text height or nowrap: long French titles must be allowed to reflow. */
.opening .opening-title,
.reading .reading-opening h1 {
  font-size: var(--type-h1);
  font-weight: 400;
  line-height: var(--type-leading-h1);
  letter-spacing: -.05em;
  text-wrap: balance;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* Large scene titles share one visual level. The expertise/experience h3 tags
   sit below small chapter labels in the document outline; the continuation is
   an action with the same visual scale. Full-screen menu titles also retain
   this display hierarchy; header navigation uses the smaller UI level. */
.opening-destination h2,
.expertise-panel h3,
.expertise-journey[data-motion="horizontal"] .expertise-panel h3,
.expertise-journey[data-motion="staged"] .expertise-panel h3,
.experience .case-copy h3,
.audit h2,
.perspectives .rule-heading h2,
.contact h2,
.closing h2,
.menu-link-title,
.reading-next-title {
  font-size: var(--type-section);
  font-weight: 400;
  line-height: var(--type-leading-section);
  letter-spacing: -.04em;
  text-wrap: balance;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* Article titles and reading intertitles are peers, regardless of column width
   or HTML heading level. The lead article no longer has a separate font size. */
.article-body h3,
.article-card--lead .article-body h3,
.article-card--essay .article-body h3,
.reading h2,
.reading h3,
.reading .reading-chapter h2 {
  font-size: var(--type-heading);
  font-weight: 400;
  line-height: var(--type-leading-heading);
  letter-spacing: -.03em;
  text-wrap: balance;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* Prose, leads, outcomes and tables all use the same body size. Specific staged
   selectors are intentional: their earlier rules otherwise outrank this layer. */
.opening-bottom > p,
.expertise-panel-copy > p:not(.eyebrow),
.expertise-journey[data-motion="horizontal"] .expertise-panel-copy > p:not(.eyebrow),
.expertise-journey[data-motion="staged"] .expertise-panel-copy > p:not(.eyebrow),
.experience .case-lead,
.experience .case-proof > div:first-child > p:last-child,
.experience .case-proof > div + div > p:last-child,
.audit-body > p,
.audit-aside p,
.article-body > p:not(.eyebrow),
.article-card--lead .article-body > p:not(.eyebrow),
.article-card--essay .article-body > p:not(.eyebrow),
.essay-question p,
.contact p:not(.eyebrow),
.closing .closing-lead,
.reading .reading-opening .lead,
.reading .reading-text p,
.reading .reading-text li,
.reading .facts dd,
.reading table {
  font-size: var(--type-body);
  line-height: var(--type-leading-body);
  letter-spacing: 0;
}

/* Navigation and standalone actions: shared size and leading, with existing
   minimum hit areas intact. Decorative .arrow descendants remain independent. */
.skip,
.link,
.outline,
.desktop-nav,
.desktop-nav a,
.mobile-menu summary,
.mobile-menu nav a,
.menu-trigger,
.menu-close,
.menu-large-nav a,
.menu-bottom a,
.detail-nav a,
.opening-note,
.expertise-controls button,
.expertise-panel .link,
.experience .case-tabs button,
.experience .case-main > .link,
.audit-body > .link,
.audit-aside .link,
.article-meta .link,
.article-photo-action,
.contact-direct,
.closing .contact-direct,
.footer-contact,
.footer-nav,
.credits summary,
.credits a,
.reading .button,
.reading .text-link,
.reading .reading-index li,
.reading-index a,
.reading-related {
  font-size: var(--type-ui);
  line-height: var(--type-leading-ui);
  letter-spacing: 0;
}

/* Chapter markers, captions, disclosures and metadata. None of the readable
   supporting text falls below 13px at the default root size. The small index
   numbers are navigation aids, so they follow labels rather than decoration. */
.eyebrow,
.opening-content > .eyebrow,
.opening-destination .eyebrow,
.opening-note > span:first-child,
.opening-guide,
.expertise-bar h2,
.expertise-panel-copy > .eyebrow,
.expertise-deliverables,
.expertise-journey[data-motion="horizontal"] .expertise-deliverables,
.expertise-journey[data-motion="staged"] .expertise-deliverables,
.experience .case-heading h2,
.experience .case-copy .eyebrow,
.experience .case-proof .proof-label,
.experience .case-disclosure,
.audit-heading .eyebrow,
.audit-aside .eyebrow,
.article-card--lead .article-body .eyebrow,
.article-card--essay .article-body .eyebrow,
.article-meta > span,
.editorial-kicker,
.closing .eyebrow,
.menu-index,
.menu-bottom p,
.detail-nav > span,
.footer-bottom > p,
.credits p,
.reading .reading-opening .eyebrow,
.reading .reading-opening .meta,
.reading-cover figcaption,
.reading .reading-index > p,
.reading-index a > span,
.reading .facts dt,
.reading .reading-notes .scope,
.reading caption,
.reading-next-kicker {
  font-size: var(--type-label);
  line-height: var(--type-leading-label);
  letter-spacing: .01em;
}

/* Wrapping guards for narrow columns, translated labels and increased text size.
   Keep photo/scene masks untouched; only text and navigation may reflow here. */
.opening-note,
.expertise-controls button,
.experience .case-tabs button,
.menu-link-title,
.menu-bottom a,
.detail-nav a,
.reading-index a,
.reading-related,
.footer-contact,
.credits {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}
.expertise-controls button > span { min-width: 0; max-width: 100%; }
.expertise-controls button,
.experience .case-tabs button { hyphens: auto; }
.reading-next-title { padding-bottom: .12em; }
.reading .reading-text .scope { overflow-wrap: anywhere; }
.article-meta { flex-wrap: wrap; }
.menu-bottom a { flex-wrap: wrap; }
.reading table { min-width: 36rem; }

/* The 16px desktop labels need more room than the previous 14px header.
   Match this breakpoint in preview-interactions.js (menuBreakpoint).
   The global [hidden] rule still takes precedence over display declarations. */
@media (max-width: 1200px) {
  .site-header .desktop-nav { display: none; }
  .site-header .mobile-menu { display: block; }
  .site-header .menu-trigger { display: inline-flex; }
  .menu-enhanced .site-header .mobile-menu { display: none; }
}

@media print {
  :root {
    --type-h1: 2.25rem;
    --type-section: 2rem;
    --type-heading: 1.5rem;
    --type-body: 1.0625rem;
    --type-ui: .875rem;
    --type-label: .8125rem;
  }
  .reading table { min-width: 0; }
}


/* Commercial paths share the established Ultron scale and spacing. */
.sector-directory{padding-block:64px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.sector-directory h2{font-size:var(--type-section,40px);line-height:1.15;max-width:600px;margin-top:16px}.sector-links{border-top:1px solid var(--line)}.sector-links a{display:flex;justify-content:space-between;gap:28px;padding:26px 0;border-bottom:1px solid var(--line);font-size:var(--type-body,18px)}.sector-links a:hover{color:var(--blue)}.contact-phone{display:flex;justify-content:space-between;gap:20px;width:min(650px,100%);margin-top:26px;padding-top:20px;border-top:1px solid var(--line);font-size:16px}.contact-phone:hover{color:var(--blue)}.contact-next-step{max-width:600px;font-size:14px;line-height:1.65;color:var(--grey);margin-top:24px}.closing-inner{padding-bottom:48px}.language-link{font-size:14px;margin-left:22px;color:var(--grey)}.reading-text .inline{text-underline-offset:4px}.directory-list{list-style:none;padding:0!important}.directory-list li{border-bottom:1px solid var(--line);padding:24px 0}.directory-list a{display:flex;justify-content:space-between;gap:24px}.directory-list a:hover{color:var(--blue)}.legal-facts{margin-top:24px}.legal-facts>div{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:14px 0;border-bottom:1px solid var(--line)}.legal-facts dt{color:var(--grey);font-size:14px}.legal-facts dd{margin:0}.legal-documents{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px}.legal-documents a{font-size:14px}.legal-documents a[aria-current]{color:var(--blue)}
@media(max-width:760px){.sector-directory{grid-template-columns:1fr;gap:30px;padding-block:42px}.sector-directory h2{font-size:32px}.contact-phone{flex-direction:column;gap:6px}.legal-facts>div{grid-template-columns:1fr;gap:6px}.closing-inner{padding-bottom:36px}}

/* Preserve editorial list semantics alongside the application reset. */
.reading-text ul{list-style:disc}.reading-text ul.directory-list{list-style:none}.reading-index ol{list-style:none}.reading-text strong{font-weight:600}

/* Keep the language switch beside the desktop links, with flexible space
   only between the brand and the navigation. */
@media (min-width: 1201px) {
  .site-header .nav-inner { justify-content: flex-start; gap: 24px; }
  .site-header .desktop-nav { margin-left: auto; }
  .site-header .language-link { display: inline-flex; align-items: center; justify-content: center; margin-left: 0; min-width: 44px; min-height: 44px; }
}

/* Phone navigation: reserve room for the language and menu controls. */
.ui-icon { display: inline-block; width: 22px; height: 22px; flex: 0 0 auto; vertical-align: middle; color: inherit; }
.arrow > .ui-icon, .menu-link-arrow > .ui-icon, .reading-next-arrow > .ui-icon { width: 1em; height: 1em; }
#back-link { display: inline-flex; align-items: center; gap: 12px; }
@media (max-width: 760px) {
  :root {
    --gutter: clamp(18px, 5vw, 24px); --header-height: 65px;
    --type-display: clamp(2.625rem, 12vw, 3.5rem);
    --type-h1: clamp(2rem, calc(.6rem + 7vw), 2.5rem);
    --type-section: clamp(1.75rem, calc(1rem + 3.6vw), 2.125rem);
    --type-heading: clamp(1.375rem, calc(1rem + 2vw), 1.625rem);
    --type-body: 1.0625rem; --type-ui: .9375rem; --type-label: .8125rem;
    --type-leading-body: 1.65; --type-leading-section: 1.18; --type-leading-heading: 1.25;
  }
  .opening .opening-title { font-size: var(--type-display); line-height: 1.08; letter-spacing: -.045em; }
  .opening-content { row-gap: 20px; padding-block: 24px 32px; }
  .opening-frame { min-height: 0; height: auto; aspect-ratio: 1.6; }
  .opening-bottom { gap: 16px; }
  .expertise-panel h3 .title-break { display: none; }
  .expertise-number { font-size: clamp(56px, 14vw, 64px); top: 22px; right: var(--gutter); }
  .expertise-panel-copy > .eyebrow { max-width: calc(100% - 64px); min-height: 42px; margin-bottom: 14px; }
  .expertise-panel { padding-top: 28px; }
  .sector-directory h2 { font-size: var(--type-section); }
  .arrow, .contact-nav .arrow, .experience .case-main > .link .arrow { font-size: 22px; }
  .menu-link-arrow { font-size: 24px; }
  .reading-next-arrow { font-size: 32px; }
  .closing-arrow { width: 32px; }
  .ui-icon { width: 20px; height: 20px; }
  .site-header .nav-inner { display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; gap: 8px; min-height: 64px; }
  .site-header .brand { min-width: 0; gap: 10px; justify-self: start; }
  .site-header .brand svg { width: 32px; height: 34px; flex-shrink: 0; }
  .site-header .brand-name { font-size: 18px; padding-left: 12px; letter-spacing: .1em; white-space: nowrap; }
  .site-header .language-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; margin: 0; }
  .site-header .menu-trigger, .mobile-menu > summary { justify-content: center; min-width: 44px; min-height: 44px; padding: 0; }
  .mobile-menu > summary { display: flex; align-items: center; }
  .menu-trigger > .menu-label, .mobile-menu > summary > .menu-label { display: none; }
  .menu-close { min-width: 44px; flex-shrink: 0; }
  .menu-shell { padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  .menu-top { flex-wrap: wrap; gap: 12px; }
  .footer-nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .directory-list a, .sector-links a { min-width: 0; }
  .directory-list a > span:first-child, .sector-links a > span:first-child { min-width: 0; overflow-wrap: anywhere; }
  .legal-facts dd { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 380px) {
  .site-header .brand-name { font-size: 16px; padding-left: 10px; }
  .site-header .brand svg { width: 28px; height: 31px; }
  .menu-close > .menu-label { display: none; }
  .menu-dialog .brand-name { font-size: 18px; }
}
/* The native fallback is also used by the React questionnaire. */
@media (max-width: 1200px) {
  .mobile-menu nav { max-height: calc(100svh - var(--header-height)); max-height: calc(100dvh - var(--header-height)); overflow-y: auto; overscroll-behavior: contain; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  .mobile-menu nav a { min-height: 44px; }
}

/* Compact closing and legal footer, sharing a narrower reading width.
   These screen rules follow the common typography and legacy phone rules. */
@media screen {
  .closing-stage { min-height: 0; }
  .closing-inner.wrap, .footer > .wrap { max-width: 1120px; }
  .closing-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
    align-items: start;
    gap: 64px;
    padding-block: 64px 48px;
  }
  .closing-intro, .closing-actions { min-width: 0; }
  .closing .eyebrow { margin: 0 0 20px; }
  .closing h2 { max-width: 18ch; }
  .closing .closing-lead { max-width: 42ch; margin-top: 20px; }
  .closing-actions { padding-top: 48px; }
  .closing .contact-direct {
    width: 100%; min-height: 64px; margin: 0; padding: 4px 0 20px;
    gap: 24px; font-size: var(--type-body);
  }
  .closing .closing-arrow { width: 32px; }
  .closing .contact-phone {
    width: 100%; min-height: 44px; margin-top: 12px; padding: 0; border: 0;
    flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 16px;
    font-size: var(--type-ui); line-height: var(--type-leading-ui);
  }
  .closing .contact-phone > span { min-width: 0; overflow-wrap: anywhere; }
  .closing .contact-phone:hover { color: #adc6ff; }
  .closing .contact-phone:focus-visible,
  .footer a:focus-visible,
  .credits summary:focus-visible { outline: 2px solid #adc6ff; outline-offset: 4px; }
  .closing .closing-actions .contact-next-step {
    max-width: 46ch; margin-top: 16px;
    font-size: var(--type-label); line-height: var(--type-leading-label);
  }
  .closing-mark { width: clamp(240px, 28vw, 400px); right: -100px; top: 24px; bottom: auto; opacity: .04; }
  .footer { padding-bottom: 24px; }
  .footer-bottom { align-items: center; gap: 16px 32px; }
  .footer-nav { align-items: center; gap: 8px 24px; font-size: var(--type-label); }
  .footer-nav a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
  .footer-nav .ui-icon { width: 16px; height: 16px; }
  .credits { margin-top: 4px; }
  .credits summary {
    display: flex; align-items: center; justify-content: flex-end;
    gap: 10px; min-height: 44px; list-style: none; font-size: var(--type-label);
  }
  .credits summary::-webkit-details-marker { display: none; }
  .credits summary::before {
    content: ''; width: 7px; height: 7px; flex: 0 0 auto;
    border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
    transform: rotate(-45deg);
  }
  .credits[open] summary::before { transform: rotate(45deg); }
}
@media screen and (max-width: 900px) {
  .closing-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-block: 48px 32px; }
  .closing-inner.wrap, .footer > .wrap { max-width: 560px; }
  .closing-actions { padding-top: 0; max-width: 560px; }
  .closing .eyebrow { margin-bottom: 16px; }
  .closing .closing-lead { margin-top: 16px; }
  .closing .contact-direct { min-height: 56px; padding-block: 4px 16px; }
  .closing .closing-arrow { width: 28px; }
  .closing-mark { width: 160px; right: -40px; top: 28px; opacity: .035; }
}
@media screen and (max-width: 760px) {
  .closing-inner { padding-block: 40px 32px; gap: 28px; }
  /* Reserve the eyebrow row for the mark, including its small scroll movement. */
  .closing .eyebrow { min-height: 44px; display: flex; align-items: center; padding-right: 64px; font-size: 14px; }
  .closing-mark { width: 44px; right: max(var(--gutter), calc((100% - 560px) / 2)); top: 40px; opacity: .3; }
  .closing p.closing-lead { max-width: none; font-size: var(--type-body); line-height: 1.6; }
  .closing .contact-direct { gap: 16px; font-size: clamp(17px, 4.7vw, 20px); line-height: 1.5; }
  .closing .contact-direct > span { min-width: 0; }
  .closing .closing-arrow { width: 24px; }
  .closing .contact-phone { column-gap: 16px; row-gap: 6px; font-size: 15px; line-height: 1.5; }
  .closing .closing-actions .contact-next-step { max-width: none; font-size: 14px; line-height: 1.6; margin-top: 16px; }
  .footer { padding-bottom: max(20px, env(safe-area-inset-bottom)); }
  .footer-top { gap: 20px; }
  .footer-bottom { flex-direction: column; align-items: stretch; gap: 12px; }
  body:has(#home-page:not([hidden])) .footer-bottom { padding-top: 20px; }
  .footer-nav { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; font-size: 14px; }
  .footer-nav a { display: flex; justify-content: space-between; min-width: 0; }
  .credits { margin-top: 0; margin-left: 0; text-align: left; }
  .credits summary { justify-content: flex-start; font-size: 14px; }
  .credits p { font-size: 14px; line-height: 1.6; }
}

/* Distinct self-assessment and consulting entry points, October 2026. */
.entry-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; margin-top:48px; }
.entry-paths article { border-top:1px solid var(--line,#D5D8DC); padding-top:24px; }
.entry-paths h3 { font-size:clamp(24px,2.3vw,34px); line-height:1.2; margin:16px 0 20px; }
.entry-paths p { max-width:48ch; line-height:1.6; }
.entry-paths .link { margin:24px 0; }
.entry-paths .entry-note { font-size:14px; color:#555C65; }
@media(max-width:768px){.entry-paths{grid-template-columns:1fr;gap:32px;margin-top:32px;}}

/* Arlan Grey institutional footer. */
body .footer.ag-footer{background:#F5F6F7;color:#111820;padding:72px 0 24px;border-top:1px solid #D5D8DC}
body .footer.ag-footer>.wrap{max-width:1440px}
.ag-footer-main{display:grid;grid-template-columns:1.2fr 1fr 1.1fr;gap:64px;align-items:start;padding-bottom:80px}
.ag-footer-statement{font-size:clamp(28px,2.7vw,40px);line-height:1.22;letter-spacing:-.035em;max-width:390px}
.ag-footer-navigation{display:grid;gap:12px;align-content:start}
.ag-footer-navigation a{font-size:19px;min-height:36px;display:flex;align-items:center}
.ag-footer-contact h2{font-size:24px;line-height:1.3;font-weight:600;letter-spacing:-.025em}
.ag-footer-contact p{font-size:16px;line-height:1.55;margin-top:20px;color:#555C65}
.ag-footer-button{display:flex;align-items:center;justify-content:space-between;gap:28px;width:fit-content;margin-top:24px;background:#164ED3;color:#fff;padding:15px 22px;font-size:15px;font-weight:600;min-height:52px}
.ag-footer-button:hover{background:#123FA9;color:white}
.ag-footer-base{display:grid;grid-template-columns:280px 1fr auto;gap:32px;align-items:center;border-top:1px solid #D5D8DC;padding-top:32px}
.ag-footer-base .brand{color:#111820}.ag-footer-base .brand-name{font-size:20px}.ag-footer-base .brand svg{width:38px;height:38px}
.ag-footer .footer-nav{font-size:12px;gap:8px 20px;text-transform:uppercase;font-weight:600;color:#111820;display:flex;flex-wrap:wrap}
.ag-footer .footer-nav a{min-height:44px;text-decoration:underline;text-underline-offset:4px}
.ag-footer-social{display:flex;align-items:center;gap:12px;font-size:13px;min-height:44px;white-space:nowrap}.ag-footer-social>span:first-child{text-transform:uppercase;font-size:11px}.ag-footer-social svg{flex-shrink:0}
.ag-footer a:focus-visible{outline:2px solid #164ED3;outline-offset:5px}.ag-footer-navigation a:hover,.ag-footer .footer-nav a:hover,.ag-footer-social:hover{color:#164ED3}
.ag-footer-end{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-top:32px;font-size:12px;color:#555C65}.ag-footer .credits{color:#555C65;margin:0;max-width:520px}.ag-footer .credits summary{min-height:32px}
@media(max-width:1100px){.ag-footer-main{gap:32px}.ag-footer-base{grid-template-columns:1fr auto}.ag-footer-base .footer-nav{grid-column:1/-1;grid-row:2}.ag-footer-statement{font-size:32px}}
@media(max-width:760px){body .footer.ag-footer{padding-top:40px}.ag-footer-main{grid-template-columns:1fr;gap:32px;padding-bottom:40px}.ag-footer-statement{font-size:32px;max-width:420px}.ag-footer-navigation{grid-template-columns:1fr 1fr;gap:4px 20px}.ag-footer-navigation a{min-height:44px;font-size:16px}.ag-footer-contact h2{font-size:23px}.ag-footer-base{grid-template-columns:1fr;gap:16px}.ag-footer-base .footer-nav{grid-row:auto;gap:4px 20px}.ag-footer-end{flex-direction:column;gap:16px;margin-top:20px}.ag-footer .credits{text-align:left}.ag-footer-social{justify-self:start}}
body:has(#home-page:not([hidden])) .footer.ag-footer{padding-top:72px}
@media(max-width:760px){body:has(#home-page:not([hidden])) .footer.ag-footer{padding-top:40px}}

/* Only opted-in phone scenes use this layout. Desktop rules are unchanged.
   The browser owns stickiness; ScrollTrigger only scrubs the artwork/panels.
   No overflow/transform on the sticky stage's containing ancestors. */
@media screen and (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  .opening[data-scroll="sticky"], .expertise-journey[data-scroll="sticky"] {
    --mobile-scene-height: calc(100svh - var(--header-height) - env(safe-area-inset-bottom, 0px));
  }
  .opening[data-scroll="sticky"] .opening-sticky-track {
    height: calc(var(--mobile-scene-height) + var(--opening-travel));
  }
  .opening[data-scroll="sticky"] .opening-stage,
  .expertise-journey[data-scroll="sticky"] .expertise-stage {
    position: sticky;
    top: var(--header-height);
    height: var(--mobile-scene-height);
    min-height: 0;
  }
  .opening[data-scroll="sticky"] .opening-content {
    height: 100%;
    min-height: 0;
    grid-template-rows: auto auto minmax(112px, 1fr) auto;
    align-content: stretch;
    padding-block: 18px 52px;
    row-gap: 12px;
  }
  .opening[data-scroll="sticky"] .opening-frame {
    aspect-ratio: auto;
    height: auto;
    min-height: 112px;
  }
  .opening[data-scroll="sticky"] .opening-bottom { gap: 8px; }
  .opening[data-scroll="sticky"] .opening-bottom > p { line-height: 1.55; }
  .opening[data-scroll="sticky"] .opening-explore { display: inline-flex; min-height: 44px; }
  .opening[data-scroll="sticky"] .opening-guide { bottom: 16px; gap: 16px; }
  .opening[data-scroll="sticky"] .opening-destination { bottom: 80px; }
  .opening[data-scroll="sticky"] .opening-followup { padding-block: 28px 32px; }
  .opening[data-scroll="sticky"] .opening-followup .opening-note { margin: 0; }

  .expertise-journey[data-scroll="sticky"] {
    height: calc(var(--mobile-scene-height) + var(--expertise-travel));
    padding: 0;
  }
  .expertise-journey[data-scroll="sticky"] .expertise-stage { background: white; }
  .expertise-journey[data-scroll="sticky"] .expertise-bar { padding-block: 16px 8px; }
  .expertise-journey[data-scroll="sticky"] .expertise-controls { gap: 16px; }
  .expertise-journey[data-scroll="sticky"] .expertise-controls button { min-height: 44px; font-size: var(--type-label); gap: 4px; }
  .expertise-journey[data-scroll="sticky"] .expertise-panel { padding: 20px var(--gutter); }
  .expertise-journey[data-scroll="sticky"] .expertise-panel-copy { max-width: 100%; }
  .expertise-journey[data-scroll="sticky"] .expertise-number {
    font-size: 48px;
    top: 20px;
    right: var(--gutter);
  }
  .expertise-journey[data-scroll="sticky"] .expertise-panel-copy > .eyebrow {
    max-width: calc(100% - 72px);
    min-height: 36px;
    margin-bottom: 12px;
  }
  .expertise-journey[data-scroll="sticky"] .expertise-panel-copy > p:not(.eyebrow) { margin-top: 14px; }
  .expertise-journey[data-scroll="sticky"] .expertise-panel .link { min-height: 44px; margin-top: 12px; }
  .expertise-journey[data-scroll="sticky"] .expertise-deliverables { padding-top: 12px; margin-top: 16px; gap: 8px; }
}

/* If a chapter narrowly exceeds the reading window, recover vertical space
   before the runtime considers ordinary flow. Type sizes and choreography stay
   unchanged. This applies to short desktop windows as well as phones. */
@media screen and (prefers-reduced-motion: no-preference) {
  .expertise-journey[data-motion="staged"][data-density="compact"] .expertise-bar { padding-block: 12px; }
  .expertise-journey[data-motion="staged"][data-density="compact"] .expertise-panel { padding-block: 16px; }
  .expertise-journey[data-motion="staged"][data-density="compact"] .expertise-number { top: 16px; }
  .expertise-journey[data-motion="staged"][data-density="compact"] .expertise-panel-copy > p:not(.eyebrow) { margin-top: 12px; }
  .expertise-journey[data-motion="staged"][data-density="compact"] .expertise-panel .link { margin-top: 8px; min-height: 44px; }
  .expertise-journey[data-motion="staged"][data-density="compact"] .expertise-deliverables { margin-top: 12px; padding-top: 10px; gap: 8px; }
}

/* These two-column comparisons remain readable without horizontal scrolling. */
[data-reading-key="control-budget"] table { min-width: 0; table-layout: fixed; }
[data-reading-key="control-budget"] th:first-child { width: 38%; }
[data-reading-key="control-budget"] th,
[data-reading-key="control-budget"] td { overflow-wrap: break-word; }

/* Scoped to the new article; existing pages retain their layout. */
[data-reading-key="buy-build"] .table-region { max-width:100%; overflow-x:auto; }
[data-reading-key="buy-build"] table { min-width:640px; width:100%; table-layout:fixed; }
[data-reading-key="buy-build"] th:first-child { width:34%; }
[data-reading-key="buy-build"] th, [data-reading-key="buy-build"] td { overflow-wrap:break-word; }
