:root{--paper:#f6f1e3;--ink:#17261f;--green:#1f4d3a;--green-d:#143427;--brass:#b8892b;--line:#d9d0b8}
body{font-family:'Source Sans 3',system-ui,sans-serif;background:var(--paper);color:var(--ink);font-size:1.1rem;scroll-padding-top:70px}
h1,h2,h3,.brand{font-family:'Fraunces',Georgia,serif;letter-spacing:-.01em}
.navbar{background:var(--green-d)}
.navbar .navbar-brand{color:#fff;font-weight:600;font-size:1.25rem}
.navbar .nav-link{color:#e8e2cf}.navbar .nav-link:hover{color:var(--brass)}
.btn-brass{background:var(--brass);color:#17261f;font-weight:700;border-radius:0;padding:.75rem 1.5rem}
.btn-brass:hover{background:#d3a03a;color:#17261f}
.btn-line{border:2px solid #fff;color:#fff;border-radius:0;padding:.7rem 1.5rem;font-weight:600}
.btn-line:hover{background:#fff;color:var(--green-d)}
.hero{background:var(--green);color:#fff;padding:7rem 0 5rem;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 47px,rgba(255,255,255,.07) 47px 48px)}
.hero .container{position:relative}
.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.05;font-weight:700}
.hero .kicker{color:var(--brass);text-transform:uppercase;letter-spacing:.15em;font-weight:700;font-size:.9rem}
.hero p.lead{max-width:34rem;color:#f1ecda}
.formcard{background:var(--paper);color:var(--ink);border:2px solid var(--ink);padding:1.5rem;box-shadow:8px 8px 0 var(--brass)}
.formcard h2{font-size:1.1rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--ink);padding-bottom:.5rem}
.formcard .row-line{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dotted var(--ink);padding:.55rem 0}
.formcard .row-line span:first-child{font-size:.8rem;color:#555;text-transform:uppercase;letter-spacing:.06em;padding-top:.2rem}
.formcard .row-line b{text-align:right}
section{padding:5rem 0}
.sec-title{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:700;color:var(--green-d)}
.rule{width:64px;height:4px;background:var(--brass);margin:1rem 0 2rem}
.svc{border-top:3px solid var(--green);padding:1.5rem 0 1rem;height:100%}
.svc .num{font-family:'Fraunces',serif;color:var(--brass);font-size:2.6rem;font-weight:700;line-height:1}
.svc h3{font-size:1.5rem;color:var(--green-d)}
.band{background:var(--green-d);color:#fff}
.band .sec-title{color:#fff}
.res a{display:block;border:1px solid var(--line);background:#fff;padding:1rem 1.25rem;color:var(--ink);text-decoration:none;font-weight:600;height:100%;border-left:5px solid var(--brass)}
.res a:hover{border-left-color:var(--green);background:#fffdf5}
.contact dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#666}
.contact dd{font-size:1.2rem;margin-bottom:1rem}
.contact a{color:var(--green)}
iframe{border:0;width:100%;height:100%;min-height:320px;filter:grayscale(.3)}
footer{background:var(--green-d);color:#cfc9b4;padding:2rem 0;font-size:.95rem}
footer a{color:#fff}
