/* A stable header and content-driven hero work at short heights and at zoom. */
:root{--header-height:88px}
html{scroll-padding-top:110px;scroll-behavior:auto}
.site-header,.site-header.solid{position:sticky;top:0;z-index:90;min-height:var(--header-height);padding:16px max(24px,4vw);background:var(--paper);color:var(--ink);border-bottom:1px solid var(--border);display:grid;grid-template-columns:auto 1fr auto;gap:30px;transition:background-color .18s}
.site-header.on-hero:not(.solid),.site-header.on-hero:not(.solid) .brand__name,.site-header.on-hero:not(.solid) .nav a,.site-header.on-hero:not(.solid) .theme-toggle{color:var(--ink)}
.brand{min-width:155px;flex-shrink:0}.brand__tag{font-size:10px;letter-spacing:.18em}.nav{justify-content:center;gap:clamp(18px,2.5vw,36px)}.nav a{font-size:15px;padding:10px 0;white-space:nowrap}.header-right{gap:12px}.header-right .btn{white-space:nowrap;padding:13px 22px;font-size:14px;min-height:46px}
.theme-toggle,.nav-toggle{width:44px;height:44px;flex-shrink:0}.nav-toggle{align-items:center;justify-content:center}
.hero__stage{align-items:center;padding:clamp(64px,9vh,110px) max(24px,5vw) 88px}
.hero__inner{width:100%;max-width:850px;min-width:0}.hero h1{font-size:clamp(2.7rem,5.7vw,5.6rem);line-height:1.05;letter-spacing:-.045em;margin:22px 0 0;max-width:850px}.hero__subs{min-height:6em;max-width:48ch;margin-top:28px;overflow:hidden}.hero__subs p{font-size:clamp(1.125rem,1.7vw,1.4rem);line-height:1.6}.hero__cta{margin-top:30px;gap:14px}.hero__badge,.hero__chapters{display:none}.scene__veil{background:linear-gradient(90deg,rgba(5,25,18,.72),rgba(5,25,18,.25) 75%),linear-gradient(0deg,rgba(5,25,18,.3),transparent)}
.hero__scroll{bottom:25px;left:max(24px,5vw)}
.page-hero{padding-top:64px;padding-bottom:56px}.page-hero h1{line-height:1.1}
[data-view]:not([hidden]){animation:page-enter .22s ease-out}@keyframes page-enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
.btn{transition:background-color .18s,color .18s,border-color .18s;min-height:46px}.btn:hover{transform:none}.mobile-menu{z-index:150;overflow-y:auto;transition:transform .22s ease;padding-top:80px;padding-bottom:30px}.mobile-menu a{font-size:clamp(24px,7vw,36px)}
.submit-error{color:#be573e;max-width:45ch;font-size:15px}.catalogue{margin-top:24px}.catalogue:empty{display:none}.post__body p{white-space:pre-line}.post__body h3{overflow-wrap:anywhere}.site-footer a{color:inherit}.section{scroll-margin-top:110px}
@media(max-width:1050px){.site-header,.site-header.solid{grid-template-columns:1fr auto;gap:16px}.nav{display:none}.nav-toggle{display:flex}.brand{min-width:0}.header-right{gap:8px}}
@media(max-width:600px){:root{--header-height:76px}.site-header,.site-header.solid{padding:12px 20px;min-height:76px}.header-right>.btn{display:none}.hero__stage{min-height:calc(100svh - 76px);padding:52px 22px 70px}.hero h1{font-size:clamp(2.45rem,10vw,3.65rem);letter-spacing:-.035em}.hero__subs{margin-top:24px}.hero__cta{gap:12px}.hero__cta .btn{font-size:14px;padding:13px 19px}.page-hero{padding-top:42px;padding-bottom:36px}.brand__tag{font-size:9px}.hero__scroll{left:22px}.eyebrow{font-size:12px;letter-spacing:.16em}.section{padding-block:50px}.contact-grid{gap:32px}}
@media(prefers-reduced-motion:reduce){[data-view]:not([hidden]){animation:none}.pscene img{animation:none!important}}
