/* Dark edition: layout and feature styles carried over from the white edition, with dark colors restored. */

html{scroll-snap-type:y proximity;scroll-padding-top:100px}.hero,.section,footer{scroll-snap-align:start}header{transition:height .25s,box-shadow .25s}header.compact{height:80px}.brand-logo{width:220px;height:auto;display:block}.core-label{font-size:28px;letter-spacing:-1px}.core-label span{font:600 11px/1.5 monospace;letter-spacing:1.5px;top:50px}.eyebrow,.edition,.service-number{font-size:12px;letter-spacing:1.2px}.brandname,.visual-top,.visual-bottom,.visual-caption,.hero-foot>div span,.scroll,.sector-strip>span:first-child,.gate-tabs span,.deliverable span,.gate-graphic>span,.agenda>span{font-size:12px;letter-spacing:.7px}.visual-top{align-items:center}.visual-bottom{font-weight:600}.hero-copy>p,p,.section-heading p,.services p,.about p,.case-story p{font-size:16px}.hero-foot p,.tags span,.case-numbers p,.principles,.agenda small,.email,.footer-bottom{font-size:13px}nav,.navcta,.textlink,summary,.deliverable b,.button,.footer-top>a:last-child{font-size:14px}.button{min-height:48px;cursor:pointer}.navcta{min-height:44px;align-items:center}.services summary{min-height:54px;align-items:center;line-height:1.6}.service-art{height:85px;margin:18px 0}.services h3{margin:18px 0}.sector-strip{font-size:16px}.hero-foot{gap:20px}.hero-foot>div{max-width:230px}.hero-layout{min-height:620px}.motion-toggle{border-radius:30px;padding:10px 12px;min-height:44px;font-size:12px;cursor:pointer}.reading-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:30;pointer-events:none}.section-dots{position:fixed;z-index:12;right:13px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:0;padding:7px 0;border-radius:30px}.section-dots a{width:36px;height:40px;display:flex;align-items:center;justify-content:center;position:relative}.section-dots i{width:6px;height:6px;border-radius:50%;transition:transform .25s,background .25s}.section-dots a[aria-current] i{transform:scale(1.7)}.section-dots span{opacity:0;pointer-events:none;position:absolute;right:44px;padding:9px 13px;border-radius:5px;font-size:12px;white-space:nowrap;transition:opacity .2s}.section-dots a:hover span,.section-dots a:focus-visible span{opacity:1}.footer-nav{display:flex;flex-wrap:wrap;gap:28px;margin-bottom:38px;font-size:14px}.footer-nav a{padding:12px 0}.footer-top .brand-logo{width:230px}.footer-top p{font-size:18px}.footer-bottom{line-height:1.7;align-items:baseline;gap:35px}.footer-bottom>span:last-child{max-width:580px}.gate-tabs button{min-height:85px;font-size:16px}.gate-panel{transition:opacity .2s}.section-heading h2{max-width:760px}details[open]{padding-bottom:10px}details[open] p{animation:soft-in .3s ease-out}from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}.section-heading,.case-story,.contact-grid>div,.services article{transition:opacity .7s,transform .7s}.js-reveal{opacity:0;transform:translateY(20px)}.js-reveal.in-view{opacity:1;transform:none}.services article:nth-child(2){transition-delay:.08s}.services article:nth-child(3){transition-delay:.16s}#nav a{position:relative;padding:13px 0}#nav a:after{content:'';height:1px;position:absolute;bottom:4px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s}#nav a:hover:after,#nav a[aria-current]:after{transform:scaleX(1)}.booking-main{padding:45px 7% 95px}.back-link{font-size:14px;display:inline-flex;padding:12px 0;margin-bottom:35px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.booking-grid h1{font-size:clamp(40px,4.4vw,65px);letter-spacing:-2px}.booking-grid form{border-radius:12px;padding:32px}.booking-grid form h2{font-size:29px;letter-spacing:-1px}.booking-grid label{display:block;font-size:14px;font-weight:600;margin:20px 0}.booking-grid input,.booking-grid select,.booking-grid textarea{display:block;width:100%;margin-top:9px;min-height:48px;border-radius:5px;font:16px EDL,Arial,sans-serif;padding:12px}.booking-grid input:focus,.booking-grid select:focus,.booking-grid textarea:focus{outline-offset:2px}.booking-grid .form-note{font-size:13px}.booking-grid .textlink{line-height:1.6}.booking-grid .agenda{margin-top:35px}#form-status{font-size:14px}@media(max-width:1050px){.section-dots{display:none}.hero-layout{gap:25px}.actions{align-items:flex-start}.hero-foot>p{display:none}.brand-logo{width:180px}header nav{gap:20px}.navcta{gap:14px}.edition{display:none}.visual-top{font-size:10px}.visual-caption{font-size:10px}}@media(max-width:700px){html{scroll-snap-type:none;scroll-padding-top:85px}header,header.compact{height:80px}.brand-logo{width:145px}.navcta{font-size:12px;padding:10px;gap:6px;margin-right:8px}.menu{min-width:44px;min-height:44px}#nav{top:80px}.section{padding:65px 6%}.eyebrow,.edition,.service-number{font-size:12px}.hero-layout{min-height:0}.hero-copy>p,.section-heading p,.services p,.about p,.case-story p,.contact p{font-size:16px}.actions{flex-direction:column;align-items:stretch;gap:13px}.actions .button{justify-content:space-between;font-size:14px}.actions .textlink{min-height:44px;font-size:14px}.hero-foot{grid-template-columns:1fr 1fr}.hero-foot>div span,.scroll{font-size:11px}.hero-foot .scroll{align-items:center}.sector-strip{font-size:14px;line-height:1.6}.sector-strip>span:first-child{font-size:11px}.visual{height:355px}.visual-top,.visual-bottom,.visual-caption{font-size:11px}.motion-toggle{font-size:11px}.gate-tabs{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:15px;padding-bottom:2px}.gate-tabs button{flex:0 0 115px;scroll-snap-align:start;font-size:15px;min-height:85px}.gate-tabs span{font-size:12px}.gate-panel p,.deliverable b{font-size:15px}.case-numbers{grid-template-columns:1fr;gap:0}.case-numbers>div{display:flex;align-items:center;gap:25px;padding:20px 0}.case-numbers b{font-size:48px;min-width:120px}.case-numbers p{font-size:14px}.tags span{font-size:12px}.principles{flex-direction:column;font-size:14px}.email{font-size:14px;overflow-wrap:anywhere}.agenda small{font-size:14px}.footer-nav{gap:10px 24px;font-size:14px}.footer-top{gap:25px}.footer-top .brand-logo{width:190px}.footer-bottom{font-size:12px;gap:16px}.footer-top>a:last-child{font-size:12px}.booking-main{padding:25px 6% 60px}.booking-grid{grid-template-columns:1fr;gap:40px}.booking-grid form{padding:24px}.booking-grid h1{font-size:43px}.booking-grid .agenda{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-snap-type:none}.js-reveal{opacity:1;transform:none}details[open] p{animation:none}}.service-number{font-size:14px}.diagram{height:95px}.diagram svg{height:95px;width:250px;max-width:100%}.diagram text{font:10px monospace;letter-spacing:.3px}@media(max-width:700px){.service-art.diagram{position:static;transform:none;margin:18px 0;height:85px;justify-content:flex-start}.diagram svg{height:85px;width:235px}.services h3{margin-top:15px}}@media(min-width:701px) and (max-width:900px){header,header.compact{height:80px}header #nav{display:none;position:absolute;top:80px;left:0;right:0;padding:20px 5%}header #nav.open{display:flex;flex-direction:column;gap:8px}.menu{display:block;font-size:22px;min-width:44px;min-height:44px}.navcta{margin-left:auto;margin-right:20px}.hero-layout{grid-template-columns:1fr}.hero-copy{max-width:620px}.hero-layout h1{font-size:64px}.hero .visual{height:400px;max-width:650px;justify-self:center}.actions{flex-direction:row;align-items:center}.booking-grid{gap:30px}.booking-grid form{padding:22px}}
.services summary{font-size:18px;font-weight:600;line-height:1.5;gap:16px;min-height:60px;padding:18px 0}.services summary span{font-size:22px;flex-shrink:0}.services details p{font-size:16px;line-height:1.75}
.section-dots{background:#1a2224e6;border:1px solid #ffffff18}
.section-dots i{background:#ffffff55}
.section-dots a[aria-current] i{background:#edaa82}
.section-dots span{background:#1a2224;color:#eceee9;border:1px solid #ffffff18}
.reading-progress{background:#edaa82}
#nav a:after{background:#edaa82}
.back-link{color:#b8bdbb}
.booking-grid form{background:#171f21;border:1px solid #ffffff18}
.booking-grid input,.booking-grid select,.booking-grid textarea{background:#111719;color:#eceee9;border:1px solid #ffffff30}
.booking-grid input:focus,.booking-grid select:focus,.booking-grid textarea:focus{outline:2px solid #edaa82}
.booking-grid label{color:#eceee9}
.booking-grid .form-note,#form-status{color:#b8bdbb}
