:root { --bg:#f6f6f3; --surface:#fff; --text:#111; --muted:#575757; --line:#d8d8d4; --accent:#111; --radius:12px; --max:1080px; }
html[data-theme="dark"] { --bg:#141618; --surface:#1d2023; --text:#f3f3f2; --muted:#d0d0cc; --line:#3a3e42; --accent:#f3f3f2; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
a{color:inherit}.container{width:min(100% - 2rem,var(--max));margin:0 auto}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:40}.scroll-progress span{display:block;height:100%;width:0;background:var(--accent)}
.site-header{position:sticky;top:0;z-index:30;backdrop-filter:blur(8px);background:color-mix(in srgb,var(--bg) 86%,transparent);border-bottom:1px solid var(--line)}
.header-row{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-logo{width:58px;height:auto;display:block;transform-origin:center}
.logo-anim--shine{-webkit-mask-image:linear-gradient(110deg,#000 35%,rgba(0,0,0,.22) 50%,#000 65%);-webkit-mask-size:240% 100%;-webkit-mask-position:120% 0;mask-image:linear-gradient(110deg,#000 35%,rgba(0,0,0,.22) 50%,#000 65%);mask-size:240% 100%;mask-position:120% 0}
.logo-anim--shine:hover,.logo-anim--shine.is-replay{animation:logoShine 850ms ease}@keyframes logoShine{from{-webkit-mask-position:120% 0;mask-position:120% 0}to{-webkit-mask-position:-20% 0;mask-position:-20% 0}}
.site-nav{display:flex;align-items:center;gap:.95rem}.site-nav a,.mobile-menu a{color:var(--muted);text-decoration:none;font-size:.95rem}.site-nav a:hover,.site-nav a.active,.mobile-menu a:hover,.mobile-menu a.active{color:var(--text)}
.header-actions{display:flex;align-items:center;gap:.5rem}.icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;padding:.45rem .7rem;cursor:pointer}
.mobile-only{display:none}.mobile-menu{display:none;border-top:1px solid var(--line);padding:.8rem 1rem 1rem;gap:.8rem}.mobile-menu.open{display:flex;flex-direction:column}
.hero,.section{padding:4rem 0}.section{border-top:1px solid var(--line)}.eyebrow{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}h1,h2,h3,p{margin-top:0}
h1{margin-bottom:.8rem;max-width:18ch;font-size:clamp(2rem,5.5vw,3.2rem);line-height:1.08}.lead{color:var(--muted);max-width:62ch}
.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:.8rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}
.contact-form{display:grid;gap:.85rem}.contact-form label{display:grid;gap:.35rem}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);padding:.68rem .75rem}
.contact-form textarea{min-height:140px;resize:vertical}
.form-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.form-row small,.form-status,.site-footer{color:var(--muted)}
.button{border:1px solid var(--line);border-radius:9px;padding:.58rem .9rem;text-decoration:none;background:var(--surface);color:var(--text);display:inline-block}.button-solid{background:var(--text);color:var(--bg);border-color:var(--text)}
.site-footer{border-top:1px solid var(--line);padding:1.2rem 0 1.8rem}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.reveal{opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .45s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media (max-width:780px){.site-nav{display:none}.mobile-only{display:inline-block}.hero,.section{padding:3rem 0}.contact-layout{grid-template-columns:1fr}.footer-row{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.logo-anim--shine{transition:none;animation:none}}

