:root{--stone:#f4f0e8;--paper:#fbfaf6;--ink:#202522;--muted:#5f6860;--sage:#879b7b;--sage-dark:#4d654a;--red:#b64234;--line:#d9d1c4;--blueprint:rgba(32,37,34,.08);--max:1180px;--radius:6px;--shadow:0 18px 50px rgba(47,42,35,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--stone);line-height:1.55;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(var(--blueprint) 1px,transparent 1px),linear-gradient(90deg,var(--blueprint) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),rgba(0,0,0,.12));z-index:-1}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:.65rem .9rem;z-index:20}
.skip:focus{left:8px}
.site-header{position:sticky;top:0;z-index:10;background:rgba(251,250,246,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.header-inner{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.85rem 1rem}
.brand{display:grid;gap:.05rem;font-weight:800;letter-spacing:.01em}
.brand small{font-weight:600;color:var(--muted);font-size:.76rem}
.nav-toggle{display:none;border:1px solid var(--line);background:var(--paper);padding:.55rem .7rem;border-radius:var(--radius);font-weight:700}
.nav{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;justify-content:flex-end}
.nav a{padding:.5rem .62rem;border-radius:var(--radius);font-size:.93rem;color:var(--muted)}
.nav a[aria-current="page"],.nav a:hover{background:#e7e1d6;color:var(--ink);text-decoration:none}
.legal-menu{position:relative}
.legal-menu summary{list-style:none;cursor:pointer;padding:.5rem .62rem;border-radius:var(--radius);font-size:.93rem;color:var(--muted)}
.legal-menu summary::-webkit-details-marker{display:none}
.legal-menu[open] summary,.legal-menu summary:hover{background:#e7e1d6;color:var(--ink)}
.legal-list{position:absolute;right:0;top:calc(100% + .35rem);min-width:210px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:.35rem;border-radius:var(--radius);display:grid;gap:.15rem}
.legal-list a{display:block}
main{background:linear-gradient(180deg,rgba(251,250,246,.76),rgba(244,240,232,.98))}
.section{padding:4.5rem 1rem}
.wrap{max-width:var(--max);margin:auto}
.hero{min-height:calc(100svh - 76px);display:grid;align-items:end;position:relative;overflow:hidden;background:#161a17;color:#fff}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,23,19,.82),rgba(18,23,19,.44) 45%,rgba(18,23,19,.18)),linear-gradient(0deg,rgba(18,23,19,.78),transparent 42%)}
.hero-content{position:relative;z-index:1;width:min(var(--max),100%);margin:0 auto;padding:7rem 1rem 5rem}
.kicker{display:inline-flex;align-items:center;gap:.55rem;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.kicker::before{content:"";width:34px;height:2px;background:currentColor}
.hero .kicker{color:#ffb3a8}
h1,h2,h3{line-height:1.05;margin:0 0 1rem;font-family:Georgia,"Times New Roman",serif;font-weight:650;letter-spacing:0}
h1{font-size:clamp(2.45rem,6vw,5.8rem);max-width:900px}
h2{font-size:clamp(2rem,4vw,3.7rem)}
h3{font-size:1.35rem}
p{margin:0 0 1rem}
.lead{font-size:clamp(1.08rem,2vw,1.35rem);max-width:760px;color:#e8e2d8}
.page-lead{font-size:1.18rem;max-width:780px;color:var(--muted)}
.hero-actions,.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:.75rem 1rem;border-radius:var(--radius);font-weight:800;text-decoration:none}
.button.secondary{background:transparent;color:inherit;border-color:currentColor}
.button.red{background:var(--red);border-color:var(--red)}
.button:hover{text-decoration:none;filter:brightness(.96)}
.grid{display:grid;gap:1.2rem}
.grid.two{grid-template-columns:1.05fr .95fr;align-items:start}
.grid.three{grid-template-columns:repeat(3,1fr)}
.panel{background:rgba(251,250,246,.86);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}
.rule{border-top:2px solid var(--ink);padding-top:1rem}
.metric{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;border-top:1px solid var(--line);padding-top:1rem}
.metric b{color:var(--red);font-size:1.35rem;font-family:Georgia,"Times New Roman",serif}
.image-frame{border:1px solid var(--line);background:var(--paper);padding:.55rem;box-shadow:var(--shadow)}
.image-frame img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.caption{font-size:.86rem;color:var(--muted);margin:.6rem 0 0}
.band{background:#202522;color:#f8f4eb}
.band .page-lead,.band .muted{color:#d8d1c5}
.steps{counter-reset:step;display:grid;gap:.85rem}
.step{counter-increment:step;display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}
.step::before{content:counter(step,decimal-leading-zero);font-family:Georgia,"Times New Roman",serif;color:var(--red);font-size:1.8rem}
.checklist{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.65rem}
.checklist li{padding-left:1.6rem;position:relative}
.checklist li::before{content:"";position:absolute;left:0;top:.58rem;width:.65rem;height:.65rem;border:2px solid var(--sage-dark);background:var(--sage)}
.page-hero{padding:4.8rem 1rem 2.5rem;border-bottom:1px solid var(--line)}
.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:1.2rem}
.planner{display:grid;grid-template-columns:.9fr 1.1fr;gap:1rem;align-items:start}
.planner form,.contact-form{display:grid;gap:.9rem}
label{font-weight:800}
input,select,textarea{width:100%;min-height:44px;border:1px solid #bdb4a6;border-radius:var(--radius);background:#fffefa;padding:.75rem;font:inherit;color:var(--ink)}
textarea{min-height:120px;resize:vertical}
fieldset{border:1px solid var(--line);padding:1rem;border-radius:var(--radius);margin:0}
legend{font-weight:800;padding:0 .35rem}
.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.option-grid label,.consent-row{font-weight:600;display:flex;gap:.5rem;align-items:flex-start}
input[type="checkbox"],input[type="radio"]{width:1.05rem;min-height:1.05rem;margin-top:.25rem;accent-color:var(--red)}
.planner-output{position:sticky;top:92px}
.summary-box{background:#fffefa;border-left:5px solid var(--red);padding:1rem;border-radius:var(--radius);min-height:220px;white-space:pre-line}
.form-status{font-weight:800;color:var(--red)}
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:30;max-width:760px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:1rem;border-radius:var(--radius)}
.cookie-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.8rem}
.cookie-panel{display:none;margin-top:.8rem;border-top:1px solid var(--line);padding-top:.8rem}
.cookie-panel.is-open{display:block}
.site-footer{background:#171b18;color:#eee8df;padding:2.4rem 1rem}
.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.2rem}
.site-footer a{color:#fff}
.muted{color:var(--muted)}
.fine{font-size:.9rem;color:#cfc7bd}
.doc h2{font-size:1.65rem;margin-top:2rem}
.doc h3{margin-top:1.4rem}
.doc ul{padding-left:1.2rem}
@media (max-width:860px){
 .nav-toggle{display:inline-flex}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem 1rem;align-items:stretch}.nav.is-open{display:grid}.nav a,.legal-menu summary{padding:.7rem}.legal-list{position:static;box-shadow:none;margin-top:.3rem}
 .grid.two,.grid.three,.planner,.footer-grid{grid-template-columns:1fr}.hero{min-height:720px}.section{padding:3.2rem 1rem}.planner-output{position:static}.option-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
