:root{--mint:#99e6b3;--mag:#b5236a;--ink:#16211b;--bg:#f6f8f7}
*{box-sizing:border-box}
body{margin:0;padding-top:30px;font:400 1rem/1.6 Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
h1,.brand,.label,.k,.btn,nav a,.tel{font-family:Oswald,"Arial Narrow",sans-serif}
.banner{position:fixed;top:0;left:0;right:0;z-index:10000;height:30px;background:#111;color:#f1f1f1;font:600 .75rem/30px Inter,sans-serif;text-align:center;padding:0 .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.watermark{position:fixed;inset:0;z-index:9000;pointer-events:none;overflow:hidden;opacity:.06;color:#444}
.watermark div{position:absolute;left:50%;top:50%;width:160vmax;transform:translate(-50%,-50%) rotate(-30deg);display:flex;flex-direction:column;align-items:center;gap:22vh}
.watermark span{font:900 clamp(4rem,13vw,10rem)/1 Inter,Arial,sans-serif;letter-spacing:.1em}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.25rem}
a{color:var(--mag)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.site-header{background:#fff;border-bottom:3px solid var(--mag);position:sticky;top:30px;z-index:50}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding-top:.6rem;padding-bottom:.6rem}
.brand{font-weight:700;font-size:1.5rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);text-decoration:none;margin-right:auto}
.tel{background:var(--mint);color:var(--ink);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.4rem .8rem;border:3px solid var(--ink);text-decoration:none}
nav{display:flex;gap:.25rem;flex-wrap:wrap;width:100%}
nav a{color:var(--ink);text-decoration:none;text-transform:uppercase;font-weight:500;letter-spacing:.06em;padding:.3rem .7rem;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--mag)}
@media(min-width:760px){nav{width:auto}}
.label{text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;font-weight:700;color:var(--mag);margin:0 0 .5rem}
h1{font-size:clamp(2.4rem,6vw,4rem);line-height:1.05;text-transform:uppercase;margin:0 0 1rem;font-weight:700}
.lead{font-size:1.15rem;max-width:40rem}
.hero{display:grid;grid-template-columns:1fr;border-bottom:3px solid var(--ink)}
.hero-text{padding:3rem 1.25rem;max-width:34rem;margin:0 auto;width:100%}
.hero-art{background:var(--mint);min-height:220px;display:flex;align-items:center;justify-content:center;border-top:3px solid var(--ink);background-image:repeating-linear-gradient(90deg,transparent 0 38px,rgba(22,33,27,.12) 38px 41px)}
.tooth{font:700 clamp(6rem,22vw,13rem)/1 Oswald,sans-serif;color:var(--ink);border:3px solid var(--ink);background:#fff;padding:.1em .25em;border-bottom:12px solid var(--mag)}
@media(min-width:860px){.hero{grid-template-columns:1fr 1fr;min-height:480px}.hero-text{padding:4rem 2.5rem 4rem max(1.25rem,calc((100vw - 1100px)/2 + 1.25rem));margin:0;max-width:none}.hero-art{border-top:0;border-left:3px solid var(--ink)}}
.btn{display:inline-block;background:var(--mag);color:#fff;border:3px solid var(--mag);padding:.6rem 1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1.05rem;text-decoration:none;cursor:pointer;border-radius:0;margin:0 .5rem .5rem 0}
.btn.alt{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.block{padding-top:2.5rem;padding-bottom:2.5rem}
.pagehead{border-bottom:3px solid var(--mag)}
.rows{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.rows li{display:grid;grid-template-columns:1fr;gap:.25rem;padding:1rem .25rem;border-bottom:1px solid var(--ink);background:#fff}
.rows .k{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem;border-left:6px solid var(--mint);padding-left:.75rem}
.rows li>span:last-child{padding-left:.75rem}
@media(min-width:700px){.rows li{grid-template-columns:16rem 1fr;gap:1.5rem;align-items:baseline}.rows li>span:last-child{padding-left:0}}
.rows.big li{padding:1.5rem .25rem}
.note{margin-top:1.25rem;border-left:3px solid var(--mag);padding-left:.75rem;max-width:40rem}
form{max-width:36rem}
.field{margin-bottom:1.1rem}
label{display:block;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;margin-bottom:.3rem}
input,textarea{width:100%;font:inherit;padding:.6rem;border:3px solid var(--ink);border-radius:0;background:#fff;color:var(--ink)}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--mag)}
.err{color:#8f1a52;font-weight:600;margin:.3rem 0 0}
.status{font-weight:700;margin-top:1rem}
.status.ok{border-left:6px solid var(--mint);padding-left:.75rem}
.site-footer{background:var(--ink);color:#f3f3f3;border-top:3px solid var(--mint);padding:2rem 0}
.site-footer a{color:var(--mint)}
.site-footer nav a{color:var(--mint)}
.site-footer .label{color:var(--mint)}
.site-footer p{margin:.2rem 0}
.foot{display:grid;gap:1.5rem}
@media(min-width:760px){.foot{grid-template-columns:1fr 1fr}.proposal{grid-column:1/-1}}
.flinks a{margin-right:1rem;text-transform:uppercase;letter-spacing:.06em;font-family:Oswald,sans-serif}
.proposal{border-top:1px solid #555;padding-top:1rem;font-size:.9rem}
