@font-face{font-family:WA Sans;src:url('assets/wa-sans-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:WA Sans;src:url('assets/wa-sans-bold.woff') format('woff');font-weight:700;font-display:swap}

/* Westerhaug Advisory — website styles (design v7, 2026-10-10)
   Brand: graphite #242424 main, deep #161716, chalk #F6F3ED, powder rose #E9D3D6. Sans headlines (Nimbus Sans Bold), no italics. */
:root{--graphite:#242424;--deep:#161716;--panel:#2e2e2d;--chalk:#f6f3ed;--rose:#e9d3d6;--muted:#cfcbc4;--line:#ffffff2b;--ink-muted:#4a4945;--sans:'WA Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
a,button,summary,input,select,textarea,[tabindex]{scroll-margin-top:96px}
body{margin:0;background:var(--graphite);color:var(--chalk);font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,summary{cursor:pointer}
img{display:block;max-width:100%}
h1,h2,h3,h4,p,figure{margin:0}
h1,h2,h3{font-family:var(--sans);font-weight:700;line-height:1.02;letter-spacing:-.045em;overflow-wrap:break-word}
h2{font-size:clamp(36px,4.3vw,62px)}
h3{font-size:28px;letter-spacing:-.035em}
h2,h3{hyphens:manual}
p{line-height:1.6}
em,i{font-style:normal}
::selection{background:var(--rose);color:var(--graphite)}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--rose);outline-offset:5px}
.container{max-width:1440px;margin:auto;padding:0 7%}
.section{padding:clamp(96px,9.5vw,148px) 0}
.eyebrow,.index{font-size:13px;letter-spacing:.12em;text-transform:uppercase;line-height:1.6}
.index{font-size:12px}
.eyebrow{margin-bottom:28px}
.index{color:var(--muted)}
.skip{position:fixed;z-index:60;left:20px;top:-100px;background:var(--rose);color:var(--graphite);padding:15px}
.skip:focus{top:15px}

/* header v9: fixed, transparent over the hero, blurred graphite bar after scroll, hides on scroll down / returns on scroll up */
:root{--header-h:88px;--ease:cubic-bezier(.22,.7,.2,1)}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:50;transition:transform .5s var(--ease)}
.site-header.is-hidden{transform:translateY(-102%)}
.site-header:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;transition:opacity .4s;opacity:0;background:#161716d6;-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);border-bottom:1px solid #ffffff1c}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header:after{background:#161716f2}}
.site-header.is-scrolled:after{opacity:1}
.nav-row{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:30px;transition:height .4s var(--ease)}
.site-header.is-scrolled{--header-h:72px}
.brand{display:block;width:224px;flex:0 0 auto;position:relative;z-index:3}
.brand img{width:100%;height:auto}
nav{display:flex;align-items:center;gap:clamp(18px,2vw,34px)}
.nav-links{display:flex;gap:clamp(18px,2vw,32px);margin:0;padding:0;list-style:none}
.nav-links a{position:relative;display:inline-block;white-space:nowrap;padding:12px 0;font-size:12px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .3s}
.nav-links a:after{content:'';position:absolute;left:0;right:.12em;bottom:6px;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:left center;transition:transform .45s var(--ease)}
.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current]{color:var(--chalk)}
.nav-links a:hover:after,.nav-links a:focus-visible:after,.nav-links a[aria-current]:after{transform:scaleX(1)}
.lang-switch{display:flex;align-items:center}
.lang-switch button{position:relative;min-width:0;min-height:40px;padding:0 9px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:.15em;line-height:1;transition:color .3s}
.lang-switch button+button:before{content:'\00b7';position:absolute;left:-2px;top:50%;transform:translateY(-52%);color:#ffffff66;pointer-events:none}
.lang-switch button:hover{color:var(--chalk)}
.lang-switch button:after{content:'';position:absolute;left:9px;right:calc(9px - .15em);bottom:9px;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:left center;transition:transform .4s var(--ease)}
.lang-switch button[aria-pressed="true"]{color:var(--rose);font-weight:700}
.lang-switch button[aria-pressed="true"]:after{transform:scaleX(1)}
.nav-cta{min-height:40px!important;padding:0 20px!important;font-size:12px!important;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--line);border-radius:99px;padding:13px 25px;font-size:14px;font-family:var(--sans);line-height:1.4;background:transparent;color:var(--chalk);transition:transform .25s,background .25s,box-shadow .25s}
.button.rose{background:var(--rose);border-color:var(--rose);color:var(--graphite)}
.button:hover{transform:translateY(-2px);box-shadow:0 6px 25px #00000016}
.button.rose:hover{background:#f5e8e9}
.button:active{transform:translateY(0)}
.button.small{min-height:42px;padding:10px 23px;text-align:center}
.menu-toggle{display:none;align-items:center;gap:12px;position:relative;z-index:3;min-height:44px;padding:0 4px 0 12px;background:transparent;border:0;color:var(--chalk);font-size:12px;letter-spacing:.15em;text-transform:uppercase;line-height:1}
.menu-icon{position:relative;width:26px;height:10px}
.menu-icon:before,.menu-icon:after{content:'';position:absolute;left:0;width:100%;height:1px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease)}
.menu-icon:before{top:0}.menu-icon:after{top:9px}
.menu-toggle[aria-expanded="true"] .menu-icon:before{top:4px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon:after{top:4px;transform:rotate(-45deg)}

/* hero: abstract route map on the right, fading into graphite on the left and bottom */
.hero{position:relative;min-height:830px;height:auto;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;background:var(--graphite);overflow:hidden}
/* V11: bigger map (canvas 1200x800, shown 1:1 at 1440px, bleeding off the right edge) + route as an animated inline SVG in the same coordinate space */
.hero-map{position:absolute;z-index:-1;right:-2%;top:84px;width:min(1200px,98%);aspect-ratio:3/2;pointer-events:none}
.hero-map picture{display:contents}
.hero-map img{display:block;width:100%;height:100%;object-fit:fill}
.route{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}
.route-m{display:none}
.route-line{stroke-dasharray:1;stroke-dashoffset:1;animation:route-draw 2.8s cubic-bezier(.55,.05,.25,1) .6s forwards}
.route-end{opacity:0;transform-box:fill-box;transform-origin:center;animation:route-dot .8s ease 3.3s forwards}
@keyframes route-draw{to{stroke-dashoffset:0}}
@keyframes route-dot{from{opacity:0;transform:scale(.35)}to{opacity:1;transform:none}}
/* tag sits on the bottom rule, aligned with the container edge, clear of the fixed header */
.hero-code{position:absolute;z-index:1;left:calc((100% - min(100%,1440px))/2 + min(100%,1440px)*.07);bottom:13px;padding:9px 12px;background:var(--rose);color:var(--graphite);font-size:12px;font-weight:700;letter-spacing:.14em}
.hero-content{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:32px;padding-top:150px;padding-bottom:40px}
.hero-heading{max-width:900px}
.hero h1{font-size:clamp(60px,7.6vw,112px);line-height:.92;letter-spacing:-.055em}
.hero h1 span{display:inline-block;color:var(--rose)}
.hero-heading .eyebrow{color:var(--rose);margin-bottom:31px;font-weight:700}
/* questions ticker: all four questions share one grid cell, so the box is as tall as the tallest one (no layout shift); script.js toggles .is-on / .is-out */
.hero-ticker{display:grid;margin:20px 0 0;padding:.06em 0 .16em;overflow:hidden;color:var(--rose);font-size:clamp(28px,3.4vw,48px);font-weight:700;line-height:1.08;letter-spacing:-.04em;max-width:100%}
.tq{grid-area:1/1;display:block;opacity:0;transform:translateY(75%);transition:opacity .55s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.tq.is-on{opacity:1;transform:none}
.tq.is-out{opacity:0;transform:translateY(-75%)}
.hero-aside{max-width:440px;padding:0}
.hero-aside p{font-size:18px;margin-bottom:28px;color:var(--muted)}
.hero-aside .hero-assurance{font-size:15px;margin:14px 0 0;color:var(--muted)}
.hero-foot{width:100%;display:flex;justify-content:flex-end;gap:20px;padding-bottom:20px;font-size:13px;letter-spacing:.11em;color:#e6e4de;border-top:1px solid var(--line);padding-top:15px}
.hero-foot a{font-size:13px;letter-spacing:0;border-bottom:1px solid #ffffff60;padding-bottom:2px}

/* who / what / why band (V12: deep graphite with rose labels, chalk text, 1px rules; the manifest is the only big rose area) */
.band{background:var(--deep);color:var(--chalk);border-top:1px solid var(--line)}
.band-grid{max-width:1440px;margin:auto;padding:0 7%;display:grid;grid-template-columns:repeat(3,1fr)}
.band-col{padding:36px 36px 40px 0}
.band-col+.band-col{padding-left:36px;border-left:1px solid var(--line)}
.band-h{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin-bottom:14px}
.band-col p:not(.band-h){font-size:18px;line-height:1.5;max-width:360px;hyphens:manual}

select{display:block;width:100%;font-size:16px;color:var(--chalk);background:var(--graphite);border:0;border-bottom:1px solid #ffffff50;padding:13px 0;margin-top:8px;border-radius:0}
.optional{color:var(--muted)}
.contact-grid .contact-expectation{font-size:16px}

/* introduction (dark) */
.introduction{padding:clamp(100px,10vw,160px) 0 clamp(90px,9vw,140px);background:var(--graphite)}
.introduction h2{max-width:1050px;font-size:clamp(34px,4.4vw,64px)}
.introduction h2 span{color:var(--rose)}
.intro-bottom{max-width:1200px;margin:64px 0 0;padding-top:32px;border-top:1px solid var(--line);display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}
.intro-bottom p{color:var(--muted)}
.intro-copy .text-link{margin-top:22px}
.signature{font-size:15px;line-height:1.5;padding-top:5px}

/* manifest strip: one statement, rose ground, graphite type (contrast ~11:1) */
.manifest{background:var(--rose);color:var(--graphite);padding:clamp(64px,8vw,120px) 0 clamp(72px,9vw,132px);overflow:hidden}
.manifest ::selection{background:var(--graphite);color:var(--rose)}
.manifest-text{font-size:clamp(56px,10.4vw,140px);line-height:.9;letter-spacing:-.055em;hyphens:none;-webkit-hyphens:none}
.manifest-text span{display:block}

/* light chalk sections */
.light{background:var(--chalk);color:var(--graphite)}
.light .eyebrow{color:var(--graphite);font-weight:700}
.light ::selection{background:var(--graphite);color:var(--chalk)}
.light a:focus-visible,.light button:focus-visible,.light summary:focus-visible{outline-color:var(--graphite)}
.light .index{display:inline-block;padding:5px 10px;background:var(--rose);color:var(--graphite);border:1px solid var(--graphite);font-weight:700;letter-spacing:.1em}
.light .button{border-color:var(--graphite);color:var(--graphite)}
.light .button.rose{background:var(--graphite);border-color:var(--graphite);color:var(--chalk)}
.light .button.rose:hover{background:#3a3a39}
.light .text-link{border-bottom-color:var(--graphite)}
.light summary:after{color:var(--graphite)}

.section-head{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start;margin-bottom:60px}
.section-head .eyebrow{padding-top:8px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--graphite)}
.service{position:relative;padding:32px 30px 24px;border-right:1px solid var(--graphite);transition:background .25s}
.service:last-child{border-right:0}
.service:hover,.service:has(details[open]){background:var(--rose)}
.service:hover .index,.service:has(details[open]) .index{background:var(--graphite);color:var(--chalk)}
.service h3{font-size:30px;margin:38px 0 22px}
.service>p{font-size:17px;color:var(--ink-muted);min-height:112px}
.service details{margin-top:28px;border-top:1px solid var(--graphite)}
.service details>p{color:var(--graphite)}
summary{display:flex;justify-content:space-between;gap:20px;align-items:center;list-style:none;padding:22px 0;font-size:16px}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';font-size:22px;font-weight:400;flex:0 0 17px;text-align:right}
details[open]>summary:after{content:'−'}
details>p{font-size:16px;padding-bottom:22px;color:var(--muted)}

/* text link (intro -> work sample) */
.text-link{display:inline-block;font-size:16px;margin-top:30px;border-bottom:1px solid var(--rose);padding-bottom:6px}

/* review (dark, quiet route motif) */
.approach{position:relative;isolation:isolate;overflow:hidden;background:var(--deep);padding:clamp(100px,10vw,160px) 0}
.approach:before{content:'';position:absolute;z-index:-1;right:-2%;bottom:-4%;width:min(34%,440px);height:62%;background:url('assets/route-motif.svg') no-repeat right bottom/contain;opacity:.05;pointer-events:none}
.review-top{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.review-top h2{font-size:clamp(44px,5vw,76px)}
.review-top .eyebrow,.review-delivery .eyebrow{color:var(--rose)}
.review-intro{max-width:520px;justify-self:end;padding-bottom:7px}
.review-intro p{color:var(--muted);margin-bottom:32px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;list-style:none;padding:0;margin:72px 0 20px}
.steps li{border-top:1px solid var(--line);padding-top:21px}
.steps h3{font-size:30px;margin:22px 0 14px}
.steps .index{display:block;font-weight:700;font-size:64px;letter-spacing:-.05em;line-height:1;color:var(--rose);text-transform:none}
.steps p{font-size:17px;max-width:340px;color:var(--muted)}
.review-note{font-size:16px;max-width:62ch;color:var(--muted);margin-top:34px}
.review-delivery{display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid var(--line);padding:32px 0 0;margin-top:56px}
.review-delivery h3{font-size:34px;margin-bottom:16px}
.review-delivery div>p{max-width:62ch;font-size:18px;color:var(--muted)}

/* work / decision note (chalk) */
.work{border-top:0}
.work-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}
.work-intro{font-size:18px;color:var(--ink-muted);max-width:40ch;margin-top:28px}
.decision-note{justify-self:center;width:100%;max-width:560px}
/* V12: visual decision-note mock-up, drawn in HTML/CSS (illustration only, no data) */
.doc{position:relative;background:#fdfbf7;color:var(--graphite);border:1px solid #24242426;padding:clamp(26px,3.2vw,44px) clamp(22px,3vw,44px) 28px;box-shadow:0 1px 0 #00000014,0 10px 24px -8px #24242426,0 32px 60px -24px #2424243d}
.doc:before{content:'';position:absolute;left:clamp(22px,3vw,44px);right:clamp(22px,3vw,44px);top:0;height:4px;background:var(--graphite)}
.doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:26px;padding-bottom:16px;border-bottom:1px solid #24242433}
.doc-no{white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.5;padding-top:6px}
.doc-stamp{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;padding:7px 12px 6px;border:2px solid #c9959c;background:var(--rose);color:var(--graphite);transform:rotate(-3deg);transform-origin:right top}
.doc-stamp b{white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.3}
.doc-stamp span{font-size:11px;letter-spacing:.12em;line-height:1.3}
.doc h3{font-size:clamp(26px,2.5vw,34px);margin-bottom:28px}
.doc-sec{padding:16px 0 0;margin-top:16px;border-top:1px solid #2424241f}
.doc h4{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:11px}
.doc-sec>p{font-size:15px;line-height:1.55;color:#33322f}
.ph{display:grid;gap:9px}
.ph i{display:block;height:8px;border-radius:2px;background:#24242424}
.ph i.s{width:58%}
.doc-chart{margin:0}
.doc-chart figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;font-weight:700;margin-bottom:14px}
.doc-tag{font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border:1px dashed #24242480;color:#4a4945}
.bar-row{display:grid;grid-template-columns:104px 1fr;gap:12px;align-items:center;font-size:13px;line-height:1.25;margin-bottom:9px}
.bar{display:flex;height:20px;gap:2px}
.bar i{display:block;min-width:0}
.bar .c{background:#2424242b}
.bar .k{background:var(--graphite)}
.doc-legend{display:flex;gap:20px;margin:12px 0 0 116px;font-size:12px;line-height:1.3;color:#4a4945}
.doc-legend span{display:inline-flex;align-items:center;gap:7px}
.doc-legend span:before{content:'';width:12px;height:12px;background:#2424242b}
.doc-legend .lg-k:before{background:var(--graphite)}
.doc-foot{margin-top:24px;padding-top:14px;border-top:1px solid #24242433;font-size:13px;font-weight:700;line-height:1.45;color:var(--graphite)}
.decision-note details{border-top:0;margin-top:20px;border-bottom:1px solid var(--graphite);border-top:1px solid var(--graphite)}
.decision-note summary{font-size:16px;font-weight:700}
.decision-note details>p,.decision-body p{color:var(--graphite)}
.decision-body{padding:0 0 24px}
.decision-body h4{font-size:16px;margin:19px 0 8px}
.decision-body p{font-size:16px}
.decision-body .sample-notice{font-size:15px;border-top:1px solid var(--graphite);padding-top:20px;margin-top:23px;color:#33322f}

/* method (anonymous 'how we work' section, dark) */
.method{background:var(--graphite);border-top:1px solid var(--line);padding:clamp(100px,10vw,160px) 0}
.method-top{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end}
.method-top .eyebrow{color:var(--rose)}
.method-top h2{font-size:clamp(40px,4.4vw,64px)}
.method-lead{max-width:420px;justify-self:end;font-size:20px;color:var(--muted);padding-bottom:7px}
.method-list{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;list-style:none;padding:0;margin:72px 0 0}
.method-list li{border-top:1px solid var(--line);padding-top:21px}
.method-list .index{display:block;font-weight:700;font-size:56px;letter-spacing:-.05em;line-height:1;color:var(--rose);text-transform:none}
.method-list h3{font-size:25px;margin:22px 0 14px}
.method-list p{font-size:16px;max-width:290px;color:var(--muted)}

/* contact (dark) with compact FAQ below */
.questions details{border-bottom:1px solid var(--line)}
.questions summary{font-size:17px;padding:22px 0}
.questions p{padding:0 30px 22px 0;color:var(--muted)}
.faq-block{position:relative;z-index:1;display:grid;grid-template-columns:1fr 2fr;gap:90px;align-items:start;margin-top:84px;padding-top:44px}
.faq-block:before{content:'';position:absolute;top:0;left:7%;right:7%;border-top:1px solid var(--line)}
.faq-head .eyebrow{color:var(--rose);margin-bottom:14px}
.faq-head h3{font-size:34px}
.faq-block .questions{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;align-items:start}
.faq-block .questions details:nth-child(-n+2){border-top:1px solid var(--line)}
.contact{position:relative;background:var(--graphite);border-top:1px solid var(--line);overflow:hidden}
.contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr 1fr;gap:90px}
.contact{padding-top:clamp(100px,10vw,160px)}
.contact h2{font-size:clamp(40px,4.6vw,66px)}
.contact-grid>div>p:not(.eyebrow){color:var(--muted);margin-top:30px;max-width:62ch}
form{display:grid;gap:27px;padding-top:9px}
label{font-size:14px}
input,textarea{display:block;width:100%;padding:13px 0;color:var(--chalk);background:transparent;border:0;border-bottom:1px solid #ffffff50;border-radius:0;font-size:16px;margin-top:8px}
textarea{resize:vertical}
input:focus-visible,textarea:focus-visible{outline:2px solid var(--rose);outline-offset:5px}
textarea::placeholder{color:#cfcbc4}
form .button{justify-self:start}
.form-note{font-size:14px;color:var(--muted);margin-top:-12px}
#form-status{font-size:14px;color:var(--rose)}
footer{background:var(--deep);padding:44px 0 26px}
.footer-row,.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center}
.footer-links{display:flex;gap:25px}
.footer-links button{color:var(--chalk);background:transparent;border:0;padding:8px 0;font-size:14px}
.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:25px;font-size:14px;color:var(--muted)}
dialog{background:var(--graphite);color:var(--chalk);border:1px solid var(--line);width:calc(100% - 40px);max-width:600px;padding:35px}
dialog::backdrop{background:#0009}
dialog h2{font-size:32px;margin-bottom:25px}
dialog p{font-size:16px;margin-bottom:30px}



/* tablet and below: full-screen overlay menu */
@media(max-width:1300px){
.menu-toggle{display:inline-flex}
nav{position:fixed;z-index:1;top:0;left:0;width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:calc(var(--header-h) + 36px) 7% calc(34px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--deep) radial-gradient(ellipse 70% 45% at 85% 100%,#e9d3d61c,transparent 70%);visibility:hidden;opacity:0;transition:opacity .4s var(--ease),visibility 0s .4s}
nav.open{visibility:visible;opacity:1;transition:opacity .4s var(--ease),visibility 0s}
.nav-links{flex-direction:column;gap:0;counter-reset:navnum;width:100%;max-width:720px}
.nav-links li{counter-increment:navnum;border-bottom:1px solid var(--line);opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .7s var(--ease)}
.nav-links li:first-child{border-top:1px solid var(--line)}
.nav-links a{display:flex;align-items:baseline;gap:20px;width:100%;padding:18px 0 17px;font-size:clamp(32px,8.6vw,46px);font-weight:700;letter-spacing:-.04em;text-transform:none;line-height:1.02;color:var(--chalk)}
.nav-links a:before{content:counter(navnum,decimal-leading-zero);flex:0 0 28px;font-size:12px;font-weight:400;letter-spacing:.15em;color:var(--rose);transform:translateY(-.55em)}
.nav-links a:after{left:48px;right:auto;width:calc(100% - 48px);bottom:10px}
.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current]{color:var(--chalk)}
nav .nav-cta,nav .lang-switch{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .7s var(--ease)}
nav .lang-switch{margin-top:auto;margin-left:-14px;padding-top:28px}
nav .nav-cta{margin-top:14px;align-self:stretch;max-width:720px;min-height:52px!important;font-size:13px!important}
.lang-switch button{min-height:48px;padding:0 14px;font-size:13px}
.lang-switch button:after{left:14px;right:calc(14px - .15em);bottom:11px}
.lang-switch button+button:before{left:-3px}
nav.open .nav-links li,nav.open .nav-cta,nav.open .lang-switch{opacity:1;transform:none}
nav.open .nav-links li:nth-child(1){transition-delay:.14s}
nav.open .nav-links li:nth-child(2){transition-delay:.22s}
nav.open .nav-links li:nth-child(3){transition-delay:.30s}
nav.open .nav-links li:nth-child(4){transition-delay:.38s}
nav.open .nav-cta{transition-delay:.48s}
nav.open .lang-switch{transition-delay:.56s}
body.menu-open{overflow:hidden}
.site-header.menu-open:after{opacity:0}
.site-header.menu-open{transform:none}
}
@media(max-width:1100px){
.container{padding-left:5%;padding-right:5%}
nav{padding-left:5%;padding-right:5%}
.band-grid{padding:0 5%}
.band-col{padding:30px 24px 34px 0}
.band-col+.band-col{padding-left:24px}
.hero-content{padding-top:140px}
.hero-code{left:calc((100% - min(100%,1440px))/2 + min(100%,1440px)*.05)}
.service{padding:28px 24px 18px}
.service h3{font-size:27px}
.service>p{min-height:130px}
.work-grid,.contact-grid{gap:50px}
.faq-block{gap:50px;margin-top:64px}
.faq-block:before{left:5%;right:5%}
.method-top{gap:50px}
.method-list{grid-template-columns:repeat(2,1fr);gap:48px 40px}
.hero-map{width:100%;right:-4%}
}

@media(max-width:760px){
.container{padding-left:26px;padding-right:26px}
.band-grid{padding:0 26px;grid-template-columns:1fr}
.band-col,.band-col+.band-col{padding:24px 0 26px;border-left:0}
.band-col+.band-col{border-top:1px solid var(--line)}
.band-col p:not(.band-h){max-width:none}
.section{padding:88px 0}
body{font-size:17px}
:root{--header-h:76px}
.site-header.is-scrolled{--header-h:64px}
.nav-row{gap:15px}
.container.nav-row{padding-left:26px;padding-right:26px}
.brand{width:min(204px,56vw)}
nav{padding-left:26px;padding-right:26px}
/* hero: map becomes a strip above the text */
.hero{min-height:0;max-height:none;height:auto;padding-top:64px;justify-content:flex-start}
.hero-map{position:relative;z-index:0;right:auto;top:auto;width:100%;aspect-ratio:780/840;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 12%);mask-image:linear-gradient(0deg,transparent 0,#000 12%)}
.route-d{display:none}.route-m{display:block}
.manifest-text{font-size:clamp(44px,13.4vw,56px);hyphens:manual;-webkit-hyphens:manual}
.hero-ticker{font-size:clamp(28px,7.6vw,40px);margin-top:16px}
.hero-code{top:96px;bottom:auto;left:auto;right:26px}
.hero-content{gap:26px;padding-top:0;padding-bottom:30px;margin-top:-46px}
.hero h1{font-size:clamp(52px,14vw,76px)}
.hero-heading .eyebrow{margin-bottom:22px}
.hero-aside{max-width:430px}
.hero-aside p{font-size:17px;margin-bottom:20px}
.hero-foot{display:none}
h2{font-size:clamp(32px,9vw,44px)}
.introduction{padding:88px 0}
.introduction h2{font-size:clamp(32px,9vw,43px)}
.intro-bottom{grid-template-columns:1fr;gap:20px;margin-top:40px;padding-top:25px}
.section-head{grid-template-columns:1fr;gap:0;margin-bottom:35px}
.section-head .eyebrow{margin-bottom:22px}
.service-grid{grid-template-columns:1fr}
.service{padding:28px;border-right:0;border-bottom:1px solid var(--graphite)}
.service:last-child{border-bottom:0}
.service h3{font-size:32px;margin:27px 0 20px}
.service>p{min-height:0;max-width:500px}
.service details{margin-top:18px}
.eyebrow{margin-bottom:24px}
.approach{padding:88px 0}
.approach:before{width:70%;height:40%;right:-10%;bottom:-2%;opacity:.05}
.review-top{grid-template-columns:1fr;gap:35px}
.review-delivery{grid-template-columns:1fr;gap:0}
.review-top h2{font-size:clamp(42px,12vw,56px)}
.review-intro{justify-self:start;max-width:440px}
.steps{grid-template-columns:1fr;gap:30px;margin-top:46px}
.steps h3{margin-top:15px}
.steps .index{font-size:52px}
.steps p{max-width:480px}
.work-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
.faq-block{grid-template-columns:1fr;gap:20px;margin-top:56px;padding-top:34px}
.faq-block:before{left:26px;right:26px}
.faq-block .questions{grid-template-columns:1fr}
.faq-block .questions details:nth-child(2){border-top:0}
.method{padding:88px 0}
.method-top{grid-template-columns:1fr;gap:30px}
.method-lead{justify-self:start;max-width:440px;font-size:18px}
.method-list{grid-template-columns:1fr;gap:30px;margin-top:46px}
.method-list .index{font-size:48px}
.method-list h3{margin-top:15px}
.method-list p{max-width:480px}
.contact h2{font-size:clamp(38px,11vw,52px)}
.footer-row,.footer-bottom{align-items:start;flex-direction:column;gap:20px}
.footer-bottom{margin-top:28px;padding-top:22px}
.contact form{padding-top:0}
.work-intro{max-width:450px}
}

@media(max-width:430px){
.hero h1{font-size:clamp(48px,14.5vw,60px)}
.service{padding:24px}
.service h3{font-size:28px}
.doc h3{font-size:26px}
.bar-row{grid-template-columns:86px 1fr;font-size:12px}
.doc-legend{margin-left:98px}
.doc-head{flex-wrap:wrap}
}
@media(max-width:370px){
.container{padding-left:21px;padding-right:21px}
.band-grid{padding:0 21px}
.brand{width:164px}
.hero h1{font-size:46px}
.hero-code{right:21px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important}
.button:hover,.button:active{transform:none}
/* V11: route fully drawn, questions shown as a static list */
.route-line{animation:none;stroke-dashoffset:0}
.route-end{animation:none;opacity:1}
.hero-ticker{display:block;overflow:visible;padding:0;font-size:clamp(22px,2.4vw,32px);line-height:1.18}
.tq{display:block;opacity:1;transform:none;margin-top:.12em}
}

/* v10: transparent desktop header that adapts to chalk sections */
.logo-on-light{display:none}
@media(min-width:1301px){
.site-header.is-scrolled:after{opacity:0}
.site-header.on-light .logo-on-dark{display:none}
.site-header.on-light .logo-on-light{display:block}
.site-header.on-light .nav-links a{color:#4a4945}
.site-header.on-light .nav-links a:hover,.site-header.on-light .nav-links a:focus-visible,.site-header.on-light .nav-links a[aria-current]{color:var(--graphite)}
.site-header.on-light .nav-links a:after{background:var(--graphite)}
.site-header.on-light .lang-switch button{color:#4a4945}
.site-header.on-light .lang-switch button:hover{color:var(--graphite)}
.site-header.on-light .lang-switch button+button:before{color:#24242466}
.site-header.on-light .lang-switch button[aria-pressed="true"]{color:var(--graphite)}
.site-header.on-light .lang-switch button:after{background:var(--graphite)}
.site-header.on-light .nav-cta{background:var(--graphite);border-color:var(--graphite);color:var(--chalk)}
}
@media(max-width:1300px){.logo-on-light{display:none!important}}

/* v10.1: transparent look with a soft fade behind the nav so text underneath never collides with it (desktop) */
@media(min-width:1301px){
.site-header:after{-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:0;background:linear-gradient(180deg,#161716f0 0%,#161716c0 50%,#16171600 100%)}
.site-header.is-scrolled:after{opacity:1}
.site-header.on-light:after{background:linear-gradient(180deg,#f6f3edf2 0%,#f6f3edc4 50%,#f6f3ed00 100%)}
.site-header{--header-h:84px}
.site-header.is-scrolled{--header-h:76px}
.site-header:after{bottom:-34px}
}

/* v10.2: straddle case - a section edge between header top and bottom: no fade (it would show as a grey strip), readable text instead */
@media(min-width:1301px){
.site-header.mixed:after,.site-header.mixed.is-scrolled:after,.site-header.mixed.on-light:after{opacity:0;transition-duration:.1s}
.site-header.mixed .nav-links a,.site-header.mixed .lang-switch button{text-shadow:0 0 10px #16171699,0 1px 2px #16171666}
.site-header.mixed.on-light .nav-links a,.site-header.mixed.on-light .lang-switch button{text-shadow:0 0 10px #f6f3edcc,0 1px 2px #f6f3ed99}
.site-header.mixed .brand img{filter:drop-shadow(0 0 8px #16171666)}
.site-header.mixed.on-light .brand img{filter:drop-shadow(0 0 8px #f6f3edaa)}
}

/* V12: lead size (22-26px) for the first paragraph in key sections, body measure ~62ch */
.lead{font-size:clamp(21px,1.9vw,26px);line-height:1.45;letter-spacing:-.01em;max-width:34em}
.introduction .lead,.review-intro .lead{color:var(--chalk)}
.contact-grid .lead{color:var(--chalk);margin-top:32px}
.intro-bottom p:not(.lead),.hero-aside p,.work-intro,.service>p,.method-list p,.steps p{max-width:62ch}
@media(max-width:760px){.lead{font-size:clamp(20px,5.6vw,22px)}.review-intro p.lead{font-size:clamp(20px,5.6vw,22px)}.steps p{max-width:none}}

/* V12: subtle scroll reveals (24px / 600ms). Visible by default; only hidden when JS has set html.js, and never under reduced motion */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .service.reveal{transition:opacity .6s var(--ease),transform .6s var(--ease),background .25s}
.js .reveal.is-in{opacity:1;transform:none}
.js .service.reveal:nth-child(2),.js .steps li.reveal:nth-child(2),.js .method-list li.reveal:nth-child(2){transition-delay:.08s}
.js .service.reveal:nth-child(3),.js .steps li.reveal:nth-child(3),.js .method-list li.reveal:nth-child(3){transition-delay:.16s}
.js .method-list li.reveal:nth-child(4){transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none!important}}

/* V12: work sample stacks on tablets so the document keeps a readable width */
@media(max-width:1000px){.work-grid{grid-template-columns:1fr;gap:48px;align-items:start}.decision-note{justify-self:start;max-width:600px}.work-intro{max-width:56ch}}

/* V12c: theses ('Was wir anders sehen'): dark graphite, big rose numerals, bold statements; manifest stays the only big rose area */
.theses{background:var(--graphite);padding:clamp(88px,9vw,140px) 0 clamp(80px,8vw,128px)}
.theses-head{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.6;color:var(--rose);margin:0 0 clamp(36px,4vw,56px)}
.theses-list{list-style:none;margin:0;padding:0}
.thesis{display:grid;grid-template-columns:clamp(96px,11vw,172px) minmax(0,1.5fr) minmax(0,1fr);column-gap:clamp(24px,4vw,64px);align-items:start;padding:clamp(30px,3.6vw,52px) 0;border-top:1px solid var(--line)}
.thesis:last-child{border-bottom:1px solid var(--line)}
.thesis-no{font-weight:700;font-size:clamp(64px,8.4vw,128px);line-height:.82;letter-spacing:-.06em;color:var(--rose)}
.thesis h3{font-size:clamp(34px,4.5vw,68px);line-height:.98;letter-spacing:-.05em;color:var(--chalk);hyphens:manual}
.thesis p{font-size:18px;line-height:1.55;color:var(--muted);max-width:34ch;padding-top:.5em}
.js .thesis.reveal:nth-child(2){transition-delay:.08s}
.js .thesis.reveal:nth-child(3){transition-delay:.16s}
@media(max-width:1000px){.thesis{grid-template-columns:clamp(84px,14vw,120px) minmax(0,1fr);row-gap:18px}.thesis p{grid-column:2;max-width:46ch;padding-top:0}.thesis-no{grid-row:1/span 2}}
@media(max-width:760px){.theses{padding:72px 0 64px}.thesis{grid-template-columns:1fr;row-gap:12px;padding:30px 0 34px}.thesis p{grid-column:1;font-size:17px}.thesis-no{grid-row:auto;font-size:56px}.thesis h3{font-size:clamp(34px,10.4vw,44px)}}
