:root{--linen:#faf5ee;--linen2:#f2e9dc;--rose:#b5655f;--rose-d:#8f4a45;--sage:#7d9178;--sage-d:#4f6350;--ink:#3a3330;--muted:#6f6560;--r:14px;--serif:"Cormorant Garamond",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 Lato,system-ui,sans-serif;color:var(--ink);background:var(--linen)}
img{max-width:100%;height:auto;display:block}
a{color:var(--rose-d)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sage);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;color:var(--ink)}
h1{font-size:clamp(2.3rem,5vw,3.6rem);margin:.2em 0}h2{font-size:clamp(1.8rem,3.5vw,2.4rem)}h3{font-size:1.55rem;margin:.2em 0 .4em}
.wrap{max-width:1120px;margin:0 auto;padding:0 1.25rem}.section{padding:3.5rem 1.25rem}.center{text-align:center}
.lead{font-size:1.15rem}.muted{color:var(--muted)}.small{font-size:.9rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:99}
.site-header{background:rgba(250,245,238,.96);border-bottom:1px solid var(--linen2);position:sticky;top:0;z-index:20;backdrop-filter:blur(6px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.25rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:1.6rem;font-weight:700}
.brand img{border-radius:50%}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
#nav a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem;padding:.3rem 0;border-bottom:2px solid transparent}
#nav a:hover,#nav a[aria-current=page]{border-color:var(--rose)}
#nav a.btn-nav{background:var(--rose);color:#fff;padding:.5rem 1rem;border-radius:999px;border:0}#nav a.btn-nav:hover{background:var(--rose-d)}
.nav-toggle{display:none;background:none;border:2px solid var(--ink);border-radius:8px;padding:.35rem .8rem;font:inherit;font-weight:700;cursor:pointer}
@media(max-width:860px){.nav-toggle{display:block}#nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--linen);border-bottom:1px solid var(--linen2)}
#nav.open{display:block}#nav ul{flex-direction:column;align-items:stretch;padding:1rem 1.25rem;gap:.4rem}.brand span{font-size:1.3rem}}
.btn{display:inline-block;background:var(--rose);color:#fff;text-decoration:none;font-weight:700;padding:.85rem 1.5rem;border-radius:999px;border:0;font-size:1rem;cursor:pointer;margin:.3rem .3rem .3rem 0;transition:background .2s}
.btn:hover{background:var(--rose-d)}.btn:disabled{opacity:.6}.btn-ghost{background:transparent;border:2px solid #fff}.btn-ghost:hover{background:rgba(255,255,255,.15)}
.hero{background:url(../images/hero-bridge.jpg) center/cover}
.hero-overlay{background:linear-gradient(90deg,rgba(58,51,48,.78),rgba(58,51,48,.35));color:#fff;padding:5rem 0}
.hero h1,.hero .lead{color:#fff;max-width:640px}.hero-logo{border-radius:50%;box-shadow:0 6px 24px rgba(0,0,0,.3);width:120px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.cards.two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2rem 0}
.card{background:#fff;border-radius:var(--r);padding:1.6rem;box-shadow:0 2px 14px rgba(58,51,48,.07);border-top:4px solid var(--sage)}
.band{background:var(--linen2);padding:3.5rem 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}.split img{border-radius:var(--r)}
@media(max-width:760px){.split{grid-template-columns:1fr}}
.steps{padding-left:1.2rem}.steps li{margin-bottom:.7rem}.steps li::marker{color:var(--rose);font-weight:700}
.page-head{background:var(--linen2);padding:3rem 0 2rem;border-bottom:1px solid #e6dccd}
.notice{background:#fff4e5;border-left:4px solid var(--rose);padding:.7rem 1rem;border-radius:6px}
.table-wrap{overflow-x:auto}.price-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;margin:.5rem 0}
.price-table th,.price-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--linen2)}.price-table th{background:var(--sage);color:#fff}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.gallery figure{margin:0;background:#fff;border-radius:var(--r);overflow:hidden}
.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery figcaption{padding:.7rem 1rem;font-family:var(--serif);font-size:1.2rem}
.intake-layout{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:start}@media(max-width:900px){.intake-layout{grid-template-columns:1fr}}
fieldset{border:1px solid #e6dccd;background:#fff;border-radius:var(--r);padding:1.2rem 1.4rem;margin:0 0 1.4rem}
legend{font-family:var(--serif);font-size:1.4rem;font-weight:700;padding:0 .4rem}
label{display:block;font-weight:700;font-size:.95rem;margin:.5rem 0}
input:not([type=radio]):not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:.3rem;padding:.65rem .75rem;font:inherit;font-weight:400;border:1px solid #cfc3b3;border-radius:8px;background:#fffdf9}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}@media(max-width:600px){.grid2{grid-template-columns:1fr}}
.radio-row{display:flex;flex-wrap:wrap;gap:.6rem;margin:.3rem 0 .6rem}.chip{display:flex;gap:.5rem;align-items:center;background:var(--linen);border:1px solid #e0d4c4;border-radius:999px;padding:.45rem 1rem;margin:0;cursor:pointer;font-weight:400}
.hp{position:absolute;left:-9999px}
.estimate-box{position:sticky;top:6rem;background:#fff;border-radius:var(--r);padding:1.4rem;border-top:4px solid var(--rose);box-shadow:0 2px 14px rgba(58,51,48,.08)}
.estimate-box h2{margin-top:0;font-size:1.8rem}.estimate-box p{margin:.3rem 0}.total{font-size:1.2rem;border-top:1px solid var(--linen2);padding-top:.5rem}
#form-status.ok{color:var(--sage-d);font-weight:700}#form-status.err{color:var(--rose-d);font-weight:700}
.site-footer{background:var(--ink);color:#eadfd2;padding:2.5rem 0}.site-footer a{color:#eadfd2}
.footer-inner{display:grid;grid-template-columns:1.2fr 2fr 1fr;gap:1.5rem;align-items:start}.footer-inner img{border-radius:50%;margin-bottom:.4rem}
.site-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
@media(max-width:760px){.footer-inner{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
