@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/DM_Serif_Display.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/Public_Sans.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/JetBrains_Mono.woff2) format('woff2')}
:root{--ink:#0f3b2e;--ink2:#3f5a50;--paper:#f5f2ea;--paper2:#fbf9f4;--brass:#b8862b;--brassd:#8f6718;--line:rgba(15,59,46,.14);--serif:'DM Serif Display',Georgia,serif;--sans:'Public Sans',system-ui,-apple-system,Segoe UI,sans-serif;--mono:'JetBrains Mono',ui-monospace,Menlo,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;overflow-x:hidden;font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.5;font-size:17px}
img{max-width:100%;height:auto;display:block}a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
.nav{position:sticky;top:0;z-index:5;background:rgba(245,242,234,.9);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.nav .wrap{display:flex;justify-content:space-between;align-items:center;height:62px;gap:12px}
.logo{font-family:var(--serif);font-size:20px;text-decoration:none;letter-spacing:-.01em;white-space:nowrap}.logo b{color:var(--brass);font-weight:400}
.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:15px 26px;border:0;border-radius:10px;font:600 16px var(--sans);cursor:pointer;box-shadow:0 1px 2px rgba(15,59,46,.12),0 10px 26px rgba(15,59,46,.22);transition:transform .18s,box-shadow .18s;text-align:center}
.btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(15,59,46,.14),0 14px 34px rgba(15,59,46,.3)}.btn:disabled{opacity:.6;cursor:wait}.btn-sm{padding:10px 14px;font-size:14px;white-space:nowrap}
.kick,.tag{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brassd)}
h1{font-family:var(--serif);font-weight:400;font-size:44px;line-height:1.02;letter-spacing:-.015em;margin:14px 0 18px}h1 em,h2 em{font-style:italic;color:var(--brass)}
h2{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.08;letter-spacing:-.01em;margin:12px 0 14px}h3{font-size:18px;margin:0 0 8px}
.lead{font-size:19px;color:var(--ink2);max-width:34ch;margin:0 0 22px}.lead b{color:var(--ink)}.sub{color:var(--ink2);max-width:62ch;margin:0 0 30px}
section{padding:72px 0}.hero{padding:48px 0 44px}.hero .wrap{display:grid;gap:36px;grid-template-columns:minmax(0,1fr)}.hero .wrap>*{min-width:0}
.ticks{list-style:none;padding:0;margin:0 0 26px}.ticks li{position:relative;padding-left:26px;margin:8px 0;color:var(--ink2)}.ticks li:before{content:"";position:absolute;left:0;top:9px;width:12px;height:12px;border-radius:50%;background:var(--brass)}
.tagline,.local{font-family:var(--mono);font-size:13px;color:var(--ink2);margin-top:14px}
.frame{background:#fff;border:1px solid var(--line);padding:14px;border-radius:16px;box-shadow:0 2px 4px rgba(15,59,46,.06),0 24px 60px rgba(15,59,46,.16);transform:rotate(1.5deg);max-width:520px;margin:0 auto;width:100%}.frame img,.price img{border-radius:8px;width:100%}
.ba{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;font-size:15.5px}.card p{margin:0 0 12px}.card.before{background:var(--paper2);color:var(--ink2)}.card.after{box-shadow:0 10px 30px rgba(15,59,46,.08)}
.lab{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--brassd);margin-bottom:12px}
.pr-head{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink2)}.pr-title{font-family:var(--serif);font-size:22px;line-height:1.15;margin:6px 0 8px;font-weight:400}.pr-sub{color:var(--ink2);font-style:italic;margin:0 0 14px}.pr-about,.pr-contact{font-size:14.5px;color:var(--ink2)}.pr-end{text-align:center;font-family:var(--mono);color:var(--ink2)}
.note{font-size:14px;color:var(--ink2);margin-top:18px}
.steps{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin-bottom:36px}.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;counter-increment:s}.step h3:before{content:counter(s) ". ";color:var(--brass);font-family:var(--serif)}.step p{margin:0;color:var(--ink2);font-size:15.5px}
.price{display:grid;gap:26px;grid-template-columns:minmax(0,1fr);background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;align-items:center}.price .big{font-family:var(--serif);font-size:56px;line-height:1;margin:0 0 10px}.price .big small{display:block;font:500 14px var(--sans);color:var(--ink2);margin-top:8px}.price ul{padding-left:20px;color:var(--ink2);margin:0 0 20px}.price li{margin:6px 0}.price img{max-width:360px;margin:0 auto}
.sample{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.grid{display:grid;gap:30px;grid-template-columns:minmax(0,1fr)}
.doc{background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:22px;font-size:15px}.doc .h{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--brassd);margin:0 0 10px}.doc p{margin:0 0 10px}.doc .more a{color:var(--brassd)}
.leadform{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.leadform input{flex:1 1 220px;padding:14px;border:1px solid var(--line);border-radius:10px;font:16px var(--sans);background:#fff;color:var(--ink)}.lead-msg{font-size:14px;color:var(--ink2);min-height:20px}
form.intake label{display:block;font-weight:600;font-size:15px;margin:16px 0 6px}form.intake label span{font-weight:400;color:var(--ink2)}form.intake input,form.intake textarea,form.intake select{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;font:16px var(--sans);background:#fff;color:var(--ink)}form.intake textarea{resize:vertical}form.intake .hp{position:absolute;left:-9999px}form.intake .ack{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14.5px;color:var(--ink2);margin:18px 0}form.intake .ack input{width:auto;margin-top:4px}form.intake .btn{width:100%;margin-top:8px}
.msg{display:none;margin-top:16px;padding:18px;border-radius:12px;font-size:16px;line-height:1.55}.msg.ok{display:block;background:#e9f3ee;border:1px solid #bcd9c9}.msg.err{display:block;background:#fbeae7;border:1px solid #efc0b8}.msg .code{font-family:var(--mono);font-weight:700;font-size:20px;color:var(--ink)}
.faq details{border-top:1px solid var(--line);padding:14px 0}.faq details:last-of-type{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:600;font-size:16px}.faq p{color:var(--ink2);margin:10px 0 0;font-size:15.5px}.fine{font-size:13.5px;color:var(--ink2)}
footer{padding:36px 0 50px;border-top:1px solid var(--line)}footer p{margin:6px 0}footer a{color:var(--brassd)}
.rise{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}.rise.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.rise{opacity:1;transform:none;transition:none}}
.article{max-width:820px}.article h2{font-size:28px;margin-top:40px}.article .card{margin:18px 0}.article ol,.article ul{color:var(--ink2)}.article li{margin:8px 0}
@media(min-width:900px){.hero{padding:64px 0 56px}.hero .wrap{grid-template-columns:1.1fr .9fr;align-items:center}h1{font-size:64px}.ba{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr 1fr}.price{grid-template-columns:1.3fr 1fr;padding:36px}.grid{grid-template-columns:1fr 1fr;align-items:start}.logo{font-size:22px}}
