:root{--gold:#c6a35b;--navy:#1a1a2e;--beige:#f0ebe3;--bg:#fbf9f5}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding-top:32px;font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--navy);background:var(--bg)}
h1,h2{font-family:"Libre Baskerville",Georgia,serif;line-height:1.15;margin:0 0 .6em}
h2{font-size:1.7rem;border-bottom:3px solid var(--gold);padding-bottom:.3em}
a{color:var(--navy);text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.narrow{max-width:780px;margin:0 auto}
.proposal-banner{position:fixed;top:0;left:0;right:0;z-index:10000;height:32px;background:#111;color:#f2f2f2;font:600 12px/32px system-ui,sans-serif;text-align:center;letter-spacing:.03em;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.watermark{position:fixed;inset:0;z-index:9999;pointer-events:none;overflow:hidden;display:flex;flex-direction:column;justify-content:space-around;align-items:center}
.watermark span{font:900 clamp(60px,12vw,150px)/1 Arial,Helvetica,sans-serif;color:#777;opacity:.06;transform:rotate(-30deg);letter-spacing:.08em}
.site-header{position:sticky;top:32px;z-index:100;background:var(--bg);border-bottom:3px solid var(--gold)}
.header-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding-top:10px;padding-bottom:10px}
.logo img{display:block;height:auto;max-width:180px;width:100%}
.tel-btn{margin-left:auto;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;padding:10px 16px;border-radius:3px;white-space:nowrap}
nav{flex-basis:100%}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 22px}
nav a{display:inline-block;padding:6px 0;text-decoration:none;font-weight:600;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--gold)}
@media(min-width:760px){nav{flex-basis:auto;margin-left:auto}.tel-btn{margin-left:0;order:3}.header-in{flex-wrap:nowrap}}
.hero{padding:48px 0 70px}
.kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;font-weight:700;margin:0 0 12px}
.hero h1{font-size:clamp(2rem,6.2vw,4.6rem);border-top:5px solid var(--navy);padding-top:.4em;margin-bottom:.5em}
.hero-grid{display:grid;gap:30px}
.offset{margin:0}
.offset img{width:100%;height:auto;display:block;background:var(--beige);border:1px solid var(--gold)}
@media(min-width:800px){.hero-grid{grid-template-columns:1fr 1.2fr;align-items:start}.offset{margin-top:60px;margin-right:-20px;box-shadow:14px 14px 0 var(--gold)}}
.btn{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;text-decoration:none;padding:12px 20px;border:2px solid var(--navy);border-radius:3px;cursor:pointer;font-size:1rem;margin:4px 6px 4px 0}
.btn.alt{background:transparent}
.btn:hover{background:var(--navy);color:#fff}
.band{background:var(--beige);padding:56px 0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.lead-list{list-style:none;padding:0;margin:30px 0}
.lead-list li{padding:14px 0;border-top:1px solid var(--gold)}
.page-head{padding:44px 0 20px}
.page-head h1{font-size:clamp(2.2rem,6vw,3.8rem);border-top:5px solid var(--navy);padding-top:.35em}
.svc{padding:40px 0;border-bottom:1px solid var(--beige)}
.badge{display:block;max-width:200px;height:auto;margin:10px 0 16px}
.contact-grid{display:grid;gap:40px}
@media(min-width:800px){.contact-grid{grid-template-columns:1fr 1.3fr}}
.big-tel{font-family:"Libre Baskerville",Georgia,serif;font-size:2rem;font-weight:700}
.field{margin-bottom:16px;display:flex;flex-direction:column}
label{font-weight:700;margin-bottom:4px}
input,select,textarea{font:inherit;color:var(--navy);padding:10px;border:2px solid var(--navy);border-radius:3px;background:#fff}
.err{color:#9b1c1c;font-size:.9rem;font-weight:600}
.invalid{border-color:#9b1c1c}
#form-status{font-weight:700;margin-top:14px}
.site-footer{background:var(--navy);color:#fff;padding:40px 0 28px;margin-top:40px}
.site-footer a{color:#fff;text-decoration-color:var(--gold)}
.site-footer h2{color:#fff;font-size:1.2rem}
.foot-in{display:grid;gap:30px}
@media(min-width:700px){.foot-in{grid-template-columns:2fr 1fr}}
.foot-in ul{list-style:none;padding:0;margin:0}
.foot-in img{height:auto;max-width:200px}
.site-footer p{margin:.3em 0}
.proposal-line{margin-top:28px;padding-top:16px;border-top:1px solid var(--gold);font-size:.9rem}
