@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#111210;--surface:#191a17;--raised:#20211d;--ink:#f4f2eb;--muted:#a5a69d;--line:#34352e;--accent:#f0ab78;--soft:#211c17;--head:'Manrope',sans-serif;--body:'DM Sans',sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}body.light{--bg:#f7f7f2;--surface:#eeeee6;--raised:#e3e4da;--ink:#20231c;--muted:#5e6257;--line:#d3d5c8;--accent:#94461b;--soft:#eee3d7;color-scheme:light}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}p{color:var(--muted);margin:0 0 22px}h1,h2,h3{font-family:var(--head);line-height:1.12;font-weight:500;margin:0;letter-spacing:-.045em}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}h1{font-size:clamp(42px,5.2vw,76px)}h2{font-size:clamp(36px,4.1vw,56px)}h3{font-size:24px;letter-spacing:-.025em}header,main,footer{max-width:1260px;margin:auto;padding-left:44px;padding-right:44px}header{height:98px;display:flex;align-items:center;gap:35px;border-bottom:1px solid var(--line)}.brand{font:bold 30px var(--head);letter-spacing:-2px}.brand span{color:var(--accent)}nav{display:flex;gap:32px;margin-left:auto;font-size:14px}nav a{color:var(--muted)}nav a:hover,.text-link:hover{color:var(--accent)}nav a:last-child{color:var(--ink)}.theme{color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;font-size:22px}.hero{display:grid;grid-template-columns:1.22fr 1fr;gap:55px;padding:68px 0 54px;align-items:center}.eyebrow,.label{font-size:12px;font-weight:600;letter-spacing:.15em;line-height:1.6}.eyebrow{color:var(--accent);margin-bottom:25px}.hero .eyebrow{font-size:11px;letter-spacing:.12em}.intro{font-size:17px;line-height:1.8;max-width:480px;margin:28px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;padding:13px 23px;border:1px solid var(--line);border-radius:6px;font-size:14px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:var(--raised)}.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.primary:hover{background:var(--accent);filter:brightness(1.1)}.hero-note{display:flex;gap:22px;color:var(--muted);font-size:12px;margin-top:30px}.portrait{position:relative;margin:0;border-radius:10px;overflow:hidden;align-self:stretch;min-height:560px;background:#68240b}.portrait img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:50% 38%}.portrait:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.88))}.portrait figcaption{position:absolute;bottom:29px;left:28px;z-index:1;color:#fff}.portrait figcaption span{display:block;font-size:10px;letter-spacing:.17em;margin-bottom:11px;color:#e5b99b}.portrait strong{font:500 23px/1.35 var(--head);letter-spacing:-.03em}.context{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0 36px;border-bottom:1px solid var(--line);color:var(--muted)}.context>span{font-size:10px;letter-spacing:.12em}.context strong{font:600 19px var(--head);color:var(--ink);opacity:.7}section:not(.hero){padding:90px 0;border-bottom:1px solid var(--line)}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-top>p{max-width:320px;font-size:16px;margin-bottom:3px}.section-top .eyebrow{margin-bottom:19px}.metrics{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.metric{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:30px 25px;display:flex;flex-direction:column}.metric .label{font-size:10px;color:var(--muted);letter-spacing:.1em}.metric>strong{display:block;font:500 78px/1.4 var(--head);letter-spacing:-.075em;margin:15px 0;color:var(--accent)}.metric strong span{font-size:50px}.metric h3{font-size:20px;margin-bottom:13px}.metric p{font-size:14px;line-height:1.8}.featured{background:linear-gradient(130deg,var(--soft),var(--surface))}.metric-foot{border-top:1px solid var(--line);padding-top:15px;margin-top:auto;font-size:9px;letter-spacing:.05em;color:var(--muted)}.metric-foot span{float:right}.case-logo{font:800 70px var(--head);letter-spacing:-.08em;color:var(--accent)}.case-logo span{font:14px var(--body);vertical-align:top;letter-spacing:0}.case-intro{max-width:680px;font-size:18px}.case-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;margin:36px 0 15px;background:var(--surface)}.case-stats>div{padding:26px;border-right:1px solid var(--line)}.case-stats>div:last-child{border:0}.case-stats strong{display:block;font:500 40px var(--head);letter-spacing:-.06em}.case-stats span{font-size:13px;color:var(--muted)}.source{font-size:12px;line-height:1.65}.case details{margin-top:32px;border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.case summary{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-weight:500;font-size:17px}.case summary span{font-size:28px;color:var(--accent)}details[open]>summary>span:last-child,details[open]>summary>b{transform:rotate(45deg)}.case-detail{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:22px 0}.case-detail h3{margin-bottom:20px;line-height:1.35}.case-detail li{color:var(--muted);margin-bottom:15px}.case-detail strong{color:var(--ink)}ol{padding-left:20px}.evidence{width:100%;border-radius:8px;margin:8px 0 14px}.services{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.services article{padding:32px 0;border-top:1px solid var(--line)}.service-num{color:var(--accent);font-size:12px;letter-spacing:.12em;display:block;margin-bottom:22px}.services h3{font-size:27px;margin-bottom:18px}.services p{max-width:440px}.services ul{padding:0;list-style:none;margin:0;font-size:14px;line-height:2;color:var(--muted)}.services li:before{content:'·';margin-right:12px;color:var(--accent)}section.process{padding:46px 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.steps span{font:14px monospace;color:var(--accent)}.steps h3{font-size:20px;margin:16px 0 12px}.steps p{font-size:14px;margin:0}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.large-copy{font-size:25px;line-height:1.45;color:var(--ink);letter-spacing:-.03em}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0 45px}.mini-stats strong{font:500 35px var(--head);display:block;color:var(--accent)}.mini-stats span{font-size:12px;color:var(--muted);line-height:1.6;display:block;margin-top:10px}.timeline{margin-top:35px}.timeline details{border-top:1px solid var(--line)}.timeline summary{display:grid;grid-template-columns:220px 1fr 30px;align-items:center;padding:28px 0;gap:20px}.timeline summary>span{font-size:11px;color:var(--muted);letter-spacing:.1em}.timeline small{display:block;font:14px var(--body);color:var(--muted);letter-spacing:0;margin-top:10px}.timeline b{font-size:22px;color:var(--accent);font-weight:400}.timeline-body{margin-left:240px;padding-bottom:25px;max-width:650px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{padding:7px 12px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:12px}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:6px;color:var(--muted)}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quotes figure{margin:0;padding:35px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.quotes blockquote{font:italic 27px/1.45 Georgia,serif;margin:0 0 33px;color:var(--ink)}.quotes figcaption strong,.quotes figcaption span,.quotes figcaption small{display:block}.quotes figcaption strong{font-size:14px}.quotes figcaption span{font-size:12px;color:var(--muted);margin-top:4px}.quotes figcaption small{font-size:11px;color:var(--muted);margin-top:10px}.tool-groups{display:grid;grid-template-columns:1fr 1fr;gap:50px}.tool-groups h3{font-size:20px;margin-bottom:25px}.builder-note{margin-top:38px;padding:25px 0;border-top:1px solid var(--line)}.builder-note .label{color:var(--accent)}.builder-note p{margin:14px 0}.contact{text-align:center}.contact h2{font-size:clamp(42px,5.5vw,74px)}.contact>p:not(.eyebrow){margin:25px 0 32px}.contact .email{display:block;font-size:14px;color:var(--muted);margin-top:20px}.contact-bottom{display:flex;justify-content:space-between;margin-top:70px;font-size:13px;color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;padding-top:30px;padding-bottom:30px}footer>span,footer>a:last-child{font-size:12px;color:var(--muted)}.skip{position:absolute;left:10px;top:-80px;background:var(--accent);color:var(--bg);padding:12px;z-index:10}.skip:focus{top:10px}@media(min-width:1400px){.hero{padding-top:78px;padding-bottom:70px}.portrait{min-height:605px}}@media(max-width:950px){header,main,footer{padding-left:26px;padding-right:26px}.hero{gap:30px;grid-template-columns:1.1fr 1fr}.portrait{min-height:510px}h1{font-size:48px}.metrics{grid-template-columns:1fr 1fr}.featured{grid-column:1/-1}.metric>strong{font-size:66px}.context strong{font-size:15px}.about-grid{gap:35px}.timeline summary{grid-template-columns:170px 1fr 25px}.timeline-body{margin-left:190px}.case-stats>div{padding:20px 16px}.case-stats strong{font-size:32px}.hero-note{gap:12px;font-size:11px}}@media(max-width:650px){header,main,footer{padding-left:20px;padding-right:20px}header{height:78px;gap:15px}.brand{font-size:26px}nav{gap:16px}nav a{font-size:12px}nav a:nth-child(2),nav a:nth-child(3){display:none}.theme{width:34px;height:34px}.hero{grid-template-columns:1fr;padding-top:40px;gap:35px}h1{font-size:48px}.hero .eyebrow{font-size:10px}.hero-copy{max-width:500px}.intro{font-size:16px}.portrait{height:450px;min-height:0}.portrait img{object-position:50% 32%}.context{flex-wrap:wrap;justify-content:flex-start;gap:20px 28px}.context>span{width:100%}.context strong{font-size:16px}section:not(.hero){padding:62px 0}.section-top{display:block;margin-bottom:30px}.section-top>p{margin-top:24px;max-width:100%}.metrics{gap:12px}.metric{padding:22px 18px}.metric .label{font-size:9px}.metric>strong{font-size:58px;margin:10px 0}.metric strong span{font-size:35px}.metric h3{font-size:18px;line-height:1.3}.metric p{font-size:13px}.metric-foot{font-size:8px}.case-logo{display:block;font-size:48px;margin-top:22px}.case-stats{grid-template-columns:1fr 1fr}.case-stats>div:nth-child(2){border-right:0}.case-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.case-detail,.services,.about-grid,.quotes,.tool-groups{grid-template-columns:1fr;gap:25px}.case summary{font-size:15px}.case-detail{padding-top:16px}.services{gap:0}.services article{padding:27px 0}.steps{grid-template-columns:1fr 1fr;gap:28px}.about-grid{gap:30px}.mini-stats{margin-bottom:10px}.timeline summary{grid-template-columns:1fr 25px;gap:10px}.timeline summary>span{grid-column:1/-1}.timeline h3{font-size:21px}.timeline-body{margin-left:0}.quotes figure{padding:27px}.quotes blockquote{font-size:25px}.recommendations .text-link{display:inline-block;margin-top:24px}.contact-bottom{gap:25px;flex-direction:column;margin-top:45px}.contact h2{font-size:43px}footer{flex-wrap:wrap;gap:15px}footer .brand{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Motion enhancements: preserve layout and the original accessible numbers. */
.metric>strong,.case-stats strong,.mini-stats strong{position:relative;font-variant-numeric:tabular-nums}
.metric strong .stat-original,.metric strong .stat-visual,.case-stats strong .stat-original,.case-stats strong .stat-visual,.mini-stats strong .stat-original,.mini-stats strong .stat-visual{font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;margin:0;display:inline-block}
.stat-original{opacity:0}
.stat-visual{position:absolute;left:0;top:0;white-space:nowrap}
.case-stats .stat-visual span,.mini-stats .stat-visual span{font:inherit;color:inherit;display:inline;margin:0}
nav a{position:relative}
nav a:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}
.metric,.quotes figure{transition:translate .3s ease,border-color .3s ease,box-shadow .3s ease}
.services article{transition:border-color .3s ease}
.service-num{transition:translate .3s ease}
.tags span{transition:border-color .25s ease,color .25s ease}
summary>span:last-child,summary>b{transition:transform .25s ease}
.portrait img{transition:transform .8s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){
.metric:hover,.quotes figure:hover{translate:0 -5px;border-color:var(--accent);box-shadow:0 16px 32px #00000012}
.services article:hover{border-color:var(--accent)}
.services article:hover .service-num{translate:6px 0}
.tags span:hover{border-color:var(--accent);color:var(--ink)}
.portrait:hover img{transform:scale(1.035)}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.metric:hover,.quotes figure:hover,.services article:hover .service-num{translate:none}
.portrait:hover img,.button:hover{transform:none}
}
@media print{.stat-original{opacity:1}.stat-visual{display:none!important}}

.fanout-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}
.product-status{display:inline-block;font-size:10px;letter-spacing:.1em;color:var(--accent);border:1px solid var(--line);padding:7px 11px;border-radius:30px;margin-bottom:24px}
.fanout-grid h3{margin-bottom:18px;line-height:1.3}
.fanout-grid .button{margin-top:28px}
.fanout-flow{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:30px}
.fanout-flow>.label{color:var(--accent)}
.fanout-flow ol{list-style:none;padding:0;margin:0}
.fanout-flow li{display:flex;gap:20px;padding:22px 0;border-top:1px solid var(--line)}
.fanout-flow li>span{color:var(--accent);font:13px monospace;padding-top:5px}
.fanout-flow h3{font-size:20px;margin-bottom:8px}
.fanout-flow p{font-size:14px;margin-bottom:0}
.fanout-features{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}
.fanout-features article{padding-top:24px;border-top:1px solid var(--line)}
.fanout-features h3{font-size:19px;line-height:1.4;margin-bottom:12px}
.fanout-features p{font-size:14px}
.fanout-notes{border-top:1px solid var(--line);margin-top:12px}
.fanout-notes summary{display:flex;justify-content:space-between;padding:20px 0}
.fanout-notes summary span{color:var(--accent);font-size:24px}
.fanout-notes .timeline-body{margin:0;max-width:850px;font-size:14px}
@media(max-width:950px){nav{gap:20px}.fanout-grid{gap:30px}}
@media(max-width:650px){nav{gap:13px}.fanout-grid,.fanout-features{grid-template-columns:1fr}.fanout-features{gap:5px}.fanout-flow{padding:22px}}
.fanout-sample{margin-top:50px;padding:30px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.fanout-sample .section-top h3{font-size:29px;line-height:1.3}.fanout-sample .section-top>p{font-size:13px}
.sample-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.sample-grid figure{margin:0}.sample-grid img{width:100%;height:auto;display:block;border-radius:8px;background:#fff}.sample-grid figcaption{font-size:11px;color:var(--muted);margin-top:12px}
.sample-numbers{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px}.sample-numbers strong{display:block;color:var(--accent);font:500 30px var(--head)}.sample-numbers span{font-size:11px;color:var(--muted)}.sample-grid p{font-size:14px}
.sample-gap{border-top:1px solid var(--line);margin-top:25px}.sample-gap summary{display:grid;grid-template-columns:1fr 25px;gap:10px;padding:22px 0;font-size:16px}.sample-gap summary>span{grid-column:1/-1;font-size:10px;letter-spacing:.08em;color:var(--accent)}.sample-gap summary b{color:var(--accent);font-size:22px;font-weight:400}.sample-gap-body{padding:0 0 15px}.sample-gap-body h3{font-size:18px;margin-bottom:12px}.sample-gap-body p{font-size:14px}.sample-note{margin:18px 0 0}
@media(max-width:750px){.sample-grid{grid-template-columns:1fr}.fanout-sample{padding:22px}.fanout-sample .section-top{display:block}.fanout-sample .section-top>p{margin-top:18px}}

/* Fanout enquiry: existing palette, typography and buttons. */
#fanout-lead-modal{padding:0;border:1px solid var(--line);border-radius:20px;background:var(--bg);color:var(--ink);width:min(640px,calc(100% - 32px));max-height:90dvh;overflow:auto;margin:auto}
#fanout-lead-modal::backdrop{background:rgb(0 0 0 / .75)}
.fanout-modal-panel{position:relative;padding:40px}
#fanout-lead-title{font-size:clamp(28px,4vw,40px);line-height:1.2;margin:0 28px 16px 0}
#fanout-lead-title em{font-family:Georgia,serif;color:var(--accent);font-weight:400}
#fanout-lead-description{color:var(--muted);font-size:14px;margin-bottom:24px}
.fanout-modal-x{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;background:transparent;color:var(--ink);font:28px var(--body);cursor:pointer}
#fanout-lead-form label{display:block;font-size:14px;font-weight:600;margin:16px 0 6px}
#fanout-lead-form label span{color:var(--muted);font-weight:400}
#fanout-lead-form input,#fanout-lead-form textarea{display:block;box-sizing:border-box;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:16px var(--body)}
#fanout-lead-form textarea{resize:vertical}
#fanout-lead-form input:focus-visible,#fanout-lead-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#fanout-lead-form input::placeholder,#fanout-lead-form textarea::placeholder{color:var(--muted);opacity:1}
#fanout-lead-form .button{margin-top:24px;cursor:pointer}
#fanout-lead-form .button:disabled{opacity:.6;cursor:wait}
#fanout-lead-error{color:var(--accent);font-size:14px}
#fanout-lead-success p{margin:24px 0}
#fanout-lead-modal [hidden]{display:none!important}
@media(max-width:600px){#fanout-lead-modal{width:100%;height:100dvh;max-width:100%;max-height:100dvh;border:0;border-radius:0}.fanout-modal-panel{padding:56px 24px 32px}}
