@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url("assets/fonts/inter-latin.woff2") format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/plex-mono-400-latin.woff2") format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/plex-mono-500-latin.woff2") format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/plex-mono-600-latin.woff2") format("woff2")}
:root{--ivory:#F7F5ED;--forest:#203D32;--ink:#18251F;--sage:#E5EBE1;--butter:#F0D46C;--emerald:#167D69;--pad:clamp(22px,5vw,90px);--space:clamp(80px,9vw,145px)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--ivory);color:var(--ink);font:400 17px/1.7 Inter,Arial,sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--butter);outline-offset:4px}h1,h2,h3{font-family:Inter,Arial,sans-serif;font-weight:900;letter-spacing:-.055em;line-height:1.07;margin:0 0 28px}h2{font-size:clamp(2.5rem,4.7vw,5.2rem)}h3{font-size:clamp(1.4rem,2vw,2.2rem);letter-spacing:-.04em}p{margin:0 0 1.4em}.wrap{width:min(calc(100% - 2*var(--pad)),1390px);margin:auto}.section{padding:var(--space) 0}.dark{background:var(--forest);color:var(--ivory)}.sage{background:var(--sage)}.label,.num,.footer-label{font:500 11px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.12em;margin-bottom:26px}.butter{color:var(--butter)}
.header{position:absolute;z-index:30;top:0;width:100%;height:105px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:25px}.header.is-scrolled{position:fixed;height:78px;background:rgba(247,245,237,.97);backdrop-filter:blur(10px);box-shadow:0 8px 30px #18251f13}.logo,.footer-logo{font-size:clamp(22px,1.8vw,30px);font-weight:900;letter-spacing:-.09em;line-height:.86}.nav{display:flex;align-items:center;gap:clamp(15px,2vw,35px)}.nav a{font:600 11px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase}.nav a:hover,.nav a.is-current{color:var(--emerald)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 22px;background:var(--ink);color:var(--ivory);font:600 11px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;transition:transform .2s}.btn:hover,.footer-action:hover{transform:translateY(-3px)}.menu{display:none;background:var(--forest);color:#fff;border:0;padding:12px 17px;cursor:pointer}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:50;pointer-events:none}.scroll-progress span{display:block;background:var(--butter);height:100%;width:0}
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(780px,90svh,1050px);padding:170px 0 115px;background:#ddd center/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f7f5edf5 0%,#f7f5edea 37%,#f7f5ed8c 61%,#18251f7d 100%)}.hero h1{font-size:clamp(3.65rem,6.1vw,7rem);line-height:.98;text-transform:uppercase;max-width:14ch;margin-bottom:36px}.hero-opening,.hero-opening-line,.hero-accent{display:block}.hero-opening-line{white-space:nowrap}.hero-accent{color:var(--emerald)}.hero-final-line{white-space:nowrap}.hero p{max-width:650px;font-size:clamp(15px,1.2vw,18px);line-height:1.7;margin-bottom:18px}.hero .actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:32px}.hero .actions>a:not(.btn){font:600 11px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase}
.audience-marquee{display:flex;align-items:center;background:var(--ink);color:var(--ivory);height:72px;overflow:hidden}.audience-inner{display:flex;align-items:center;gap:32px;width:100%}.audience-title{padding-left:var(--pad);white-space:nowrap;color:var(--butter);font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.1em}.audience-viewport{flex:1;min-width:0;overflow:hidden}.audience-track{display:flex;width:max-content;animation:marquee 34s linear infinite}.audience-group{display:flex;align-items:center;gap:26px;white-space:nowrap;padding-right:26px}.audience-item{font:500 12px 'IBM Plex Mono',monospace;text-transform:uppercase}.audience-separator{color:var(--butter)}.audience-marquee:hover .audience-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}
.split{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(48px,8vw,125px);align-items:start}.split>div{min-width:0}.split>div:last-child{padding-top:clamp(0px,2.5vw,45px)}.split p{max-width:60ch}.problem h2{max-width:12ch}.problem .split>div:last-child p:last-child{font-weight:800}.approach h2{max-width:14ch}.grid2,.grid3{display:grid;gap:clamp(18px,2vw,30px);margin-top:clamp(40px,5vw,75px)}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid2 article,.grid3 article{min-width:0;padding:clamp(24px,3vw,44px);background:var(--ivory);color:var(--ink);transition:transform .2s}.grid2 article:hover,.grid3 article:hover{transform:translateY(-4px)}.grid2 article p:last-child,.grid3 article p:last-child{margin-bottom:0}.grid2 .num,.grid3 .num{color:var(--emerald);margin-bottom:30px}.grid3 article:nth-child(2){background:var(--forest);color:var(--ivory)}.grid3 article:nth-child(2) .num{color:var(--butter)}#services .grid3 article{min-height:350px}#services .grid3 article:nth-child(3){background:#eeeade;color:var(--ink)}#process .grid3 article{background:#ffffff12;color:var(--ivory);min-height:300px}#process .grid3 article:nth-child(2){background:#ffffff1c}#process .grid3 .num{color:var(--butter)}
#why .why-statement{font-size:clamp(2.1rem,3.3vw,4rem);line-height:1.08;max-width:19ch;text-transform:uppercase}#why h3{font-size:clamp(1.3rem,2vw,2rem);color:var(--forest);margin-top:35px}.founder{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,100px);align-items:center}.founder img{width:100%;height:clamp(380px,42vw,600px);object-fit:cover;object-position:center top}.founder h2{font-size:clamp(2.5rem,4vw,4.8rem)}.founder .stats{display:flex;gap:35px;flex-wrap:wrap;margin-top:30px}.founder .stats strong{display:block;font-size:clamp(3rem,5vw,5rem);font-weight:900;line-height:1}.founder .stats span{display:block;font:500 11px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;margin-top:8px}
.end{min-height:500px;display:flex;align-items:center}.end-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(40px,8vw,120px);align-items:center}.end h2{max-width:13ch}.end-action .btn{background:var(--butter);color:var(--ink)}.booking-note{font-size:12px;opacity:.8;line-height:1.6;margin-top:18px}
footer{background:var(--ink);color:var(--ivory);padding:clamp(70px,8vw,110px) 0 45px}.footer-main{display:grid;gap:clamp(45px,5vw,70px)}.footer-lead{display:grid;gap:35px}.footer-logo{display:inline-block;width:max-content;font-size:clamp(30px,3vw,48px)}.footer-dot{color:var(--butter)}.footer-promise-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:35px}.footer-promise-row p{font-weight:900;letter-spacing:-.06em;line-height:1.1;font-size:clamp(2.6rem,4.5vw,5.3rem);margin:0}.footer-promise-row p span{color:var(--butter)}.footer-action{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--butter);color:var(--ink);padding:18px 26px;min-height:66px;font:600 12px 'IBM Plex Mono',monospace;text-transform:uppercase;transition:transform .2s}.footer-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(25px,5vw,80px)}.footer-navigation>div{display:flex;flex-direction:column;align-items:flex-start;gap:15px;min-width:0}.footer-navigation a{font-size:14px;line-height:1.6}.footer-navigation a:hover{color:var(--butter)}.footer-label{color:var(--butter);margin-bottom:10px}.footer-bottom{margin-top:65px;font:400 11px 'IBM Plex Mono',monospace;opacity:.8}.to-top{position:fixed;bottom:24px;right:24px;z-index:50;width:48px;height:48px;background:var(--butter);display:flex;align-items:center;justify-content:center;font-size:23px;opacity:0;pointer-events:none;transition:opacity .2s}.to-top.show{opacity:1;pointer-events:auto}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}.js-motion .reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.header>.btn{display:none}.split{gap:45px}.hero h1{font-size:clamp(3.4rem,6vw,5.6rem)}}
@media(max-width:900px){:root{--pad:clamp(24px,5vw,50px);--space:clamp(70px,9vw,105px)}.header{height:85px}.header.is-scrolled{height:75px}.menu{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px var(--pad);background:var(--ivory);box-shadow:0 16px 24px #18251f20;flex-direction:column;align-items:flex-start;gap:22px}.nav.open{display:flex}.nav a{font-size:13px}.hero{min-height:760px;padding-top:150px}.hero h1{font-size:clamp(3.1rem,6.9vw,5.3rem)}.split{grid-template-columns:1fr;gap:22px}.split>div:last-child{padding-top:0}.problem h2{max-width:17ch}#why .why-statement{font-size:clamp(2.4rem,5.3vw,4rem);max-width:24ch}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}#services .grid3 article{min-height:0}#services .grid3 article:last-child{grid-column:1/-1}.founder{grid-template-columns:1fr 1fr;gap:35px}.end-layout{grid-template-columns:1fr;gap:25px}}
@media(max-width:650px){:root{--pad:22px;--space:76px}body{font-size:16px}.hero{min-height:720px;padding:140px 0 75px;background-position:65% center}.hero:before{background:linear-gradient(90deg,#f7f5edf5 0%,#f7f5ede9 65%,#f7f5ed9c 100%)}.hero h1{font-size:clamp(2.55rem,10vw,4.1rem);max-width:100%;margin-bottom:26px}.hero-opening-line,.hero-final-line{white-space:normal}.hero .actions{gap:22px}.hero .btn{width:100%;max-width:390px}.audience-title{padding-left:var(--pad);font-size:10px}.audience-inner{gap:15px}.audience-marquee{height:62px}.section h2{font-size:clamp(2.25rem,9vw,3.6rem);max-width:100%}.grid2,.grid3{grid-template-columns:1fr;gap:16px;margin-top:35px}.grid2 article,.grid3 article{padding:27px}#services .grid3 article:last-child{grid-column:auto}#process .grid3 article{min-height:0}#why .why-statement{font-size:clamp(2rem,8vw,3.2rem);max-width:100%}.founder{grid-template-columns:1fr}.founder img{height:450px;max-height:70vh}.end{min-height:0}.end-layout{gap:20px}.end-action .btn{width:100%}.footer-promise-row{grid-template-columns:1fr;gap:26px}.footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 25px}.footer-navigation>div:last-child{grid-column:1/-1}.footer-promise-row p{font-size:clamp(2.6rem,10vw,4rem)}.footer-action{width:max-content;max-width:100%}.to-top{bottom:15px;right:15px}}
@media(max-width:390px){.hero h1{font-size:clamp(2.3rem,9.7vw,2.9rem)}.footer-navigation{grid-template-columns:1fr}.footer-navigation>div:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.audience-track{animation:none}}

.hero{background-image:url("assets/hero.jpg")}
/* v20: targeted visual repair, preserve approved wording and photography */
.statement-accent{display:block;margin-top:.16em;background:none!important;box-shadow:none!important;text-shadow:none!important;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.approach .statement-accent{color:var(--butter)}
#why .why-accent{color:var(--emerald)}
#contact .statement-accent{color:var(--butter)}
#approach h2,#why h2,#contact h2{overflow-wrap:normal;word-break:normal;hyphens:none}
#why .why-statement{font-size:clamp(2rem,3.05vw,3.65rem);line-height:1.11;max-width:20ch}
#why .why-statement .statement-accent{margin-top:.24em}
#services .maintenance{margin-top:clamp(34px,4vw,58px);padding:clamp(25px,3vw,42px);background:var(--sage);max-width:850px;clear:both}
#services .maintenance h3{font-size:clamp(1.45rem,2.2vw,2rem);margin-bottom:16px}
#services .maintenance p{margin:0;max-width:66ch}
#services .grid3{align-items:stretch}
#services .grid3 article{min-height:0}
#approach .split>div:first-child,#why .split>div:first-child{min-width:0}
#approach h2{font-size:clamp(2.6rem,4.45vw,5.1rem);max-width:16ch}
#contact h2{font-size:clamp(2.6rem,4.6vw,5.3rem);max-width:15ch}
@media(max-width:900px){#why .why-statement{font-size:clamp(2.25rem,5vw,3.6rem);max-width:26ch}#approach h2{max-width:19ch}}
@media(max-width:650px){#why .why-statement{font-size:clamp(2rem,7.7vw,3.1rem);max-width:100%}#approach h2,#contact h2{font-size:clamp(2.2rem,8.2vw,3.5rem);max-width:100%}#services .maintenance{margin-top:25px;padding:27px}}

/* v21: founder credentials in two columns; editorial why headline in two three-line statements */
.founder .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,32px);align-items:start;margin:clamp(24px,3vw,38px) 0}
.founder .stats>div{min-width:0}
.founder .stats strong{font-size:clamp(3rem,4.6vw,4.7rem)}
.founder .stats span{max-width:24ch;overflow-wrap:normal}
#why .why-statement{font-size:clamp(2rem,2.8vw,3.1rem);line-height:1.1;max-width:none;letter-spacing:-.06em}
#why .why-opening,#why .why-accent{display:block}
#why .why-line{display:block;white-space:nowrap}
#why .why-statement .statement-accent{margin-top:.35em}
@media(max-width:1100px){#why .why-statement{font-size:clamp(1.95rem,3.25vw,2.75rem)}}
@media(max-width:900px){#why .why-statement{font-size:clamp(2rem,5vw,3.1rem)}#why .why-line{white-space:normal}}
@media(max-width:650px){#why .why-statement{font-size:clamp(2rem,7.5vw,3rem)}#why .why-line{display:inline;white-space:normal}#why .why-line:not(:last-child)::after{content:' '} .founder .stats{gap:18px}.founder .stats strong{font-size:clamp(2.7rem,11vw,4rem)}.founder .stats span{font-size:10px}}

/* Production accessibility corrections; preserve the approved resting layout. */
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--ink);color:var(--ivory);padding:12px 18px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--ink);box-shadow:0 0 0 6px var(--ivory)}
.dark a:focus-visible,footer a:focus-visible{outline-color:var(--butter);box-shadow:0 0 0 6px var(--ink)}
.audience-marquee:focus-visible{outline:3px solid var(--butter);outline-offset:-4px}
@media(max-width:900px){.nav a{min-height:24px;display:inline-flex;align-items:center}.nav:target{display:flex}}
@media(prefers-reduced-motion:reduce){.audience-viewport{overflow:visible}.audience-marquee{height:auto;min-height:62px;padding-block:18px}.audience-inner{align-items:flex-start}.audience-track{width:auto}.audience-group{flex-wrap:wrap;white-space:normal;gap:12px 20px}.audience-group[aria-hidden="true"]{display:none}}


