:root{--bg:#14201b;--surface:#1b2a23;--text:#e3ece7;--muted:#91a69a;--accent:#7fcf9f;--on-accent:#0e1712;--border:#2a3d33;--radius:16px;--maxw:1120px;--font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--font-head:'Trebuchet MS','Segoe UI',Verdana,Tahoma,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.65}
h1,h2,h3{font-family:var(--font-head);line-height:1.25;font-weight:600}
a{color:var(--accent)}
a:focus-visible,summary:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
.site-header{background:var(--surface);border-bottom:1px solid var(--border)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding-top:1rem;padding-bottom:1rem;flex-wrap:wrap}
.brand{font-family:var(--font-head);font-weight:700;font-size:1.15rem;color:var(--text);text-decoration:none}
.site-header nav{display:flex;gap:.25rem 1.4rem;flex-wrap:wrap}
.site-header nav a{color:var(--muted);text-decoration:none;font-size:.95rem;padding:.2rem 0;border-bottom:2px solid transparent}
.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--text);border-bottom-color:var(--accent)}
.nav-center .bar{flex-direction:column;justify-content:center;text-align:center}
main{padding:2.5rem 0 4rem}
section{margin-top:3.25rem}
.hero{margin-top:0;padding:1.5rem 0 .5rem}
.hero h1{font-size:2.3rem;margin-bottom:1rem;max-width:24ch}
.lead{font-size:1.1rem;color:var(--muted);max-width:62ch;margin-bottom:1.75rem}
.hero-center .hero{text-align:center}
.hero-center .hero h1,.hero-center .hero .lead{margin-left:auto;margin-right:auto}
.deco-band .hero{border-left:4px solid var(--accent);padding-left:1.5rem}
.deco-tint .hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem 2rem}
.btn{display:inline-block;background:var(--accent);color:var(--on-accent);padding:.7rem 1.3rem;border-radius:var(--radius);text-decoration:none;font-weight:500}
.btn:hover{filter:brightness(1.1)}
h2{font-size:1.5rem;margin-bottom:1.25rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}
.card{background:var(--surface);padding:1.4rem;border-radius:var(--radius)}
.cards-border .card{border:1px solid var(--border)}
.cards-shadow .card{box-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 20px rgba(0,0,0,.05)}
.cards-flat .card{border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0}
.card h3{font-size:1.08rem;margin-bottom:.5rem}
.card p{color:var(--muted);font-size:.97rem}
.prose{max-width:68ch}
.prose h1{font-size:2rem;margin-bottom:1.5rem}
.prose p{margin-bottom:1.1rem}
.svc{padding:1.1rem 0;border-top:1px solid var(--border)}
.svc h3{font-size:1.1rem;margin-bottom:.35rem}
.svc p{color:var(--muted);margin:0}
details{border-bottom:1px solid var(--border);padding:.9rem 0;max-width:72ch}
summary{cursor:pointer;font-weight:500}
details p{color:var(--muted);margin-top:.6rem}
dl.contact{display:grid;grid-template-columns:max-content 1fr;gap:.75rem 1.75rem;max-width:600px}
dl.contact dt{color:var(--muted)}
.site-footer{border-top:1px solid var(--border);padding:1.75rem 0;color:var(--muted);font-size:.9rem}
.site-footer .wrap{display:flex;justify-content:space-between;gap:.5rem 1.5rem;flex-wrap:wrap}
.site-footer a{color:var(--muted)}
.err{min-height:55vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-center .err{align-items:center;text-align:center}
.err .code{font-family:var(--font-head);font-size:4.5rem;font-weight:700;color:var(--border);line-height:1}
.err h1{font-size:1.6rem;margin:.75rem 0 .5rem}
.err p{color:var(--muted);margin-bottom:1.25rem}
@media (max-width:600px){.hero h1{font-size:1.75rem}.deco-tint .hero{padding:1.5rem 1.25rem}dl.contact{grid-template-columns:1fr;gap:.25rem}dl.contact dd{margin-bottom:.75rem}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
