:root{--shingle:#e4e7e6;--shingle2:#cfd5d4;--van:#15171b;--brass:#c8932f;--brass2:#e7b857;--ink:#1d2024;--mut:#566063}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{font-family:'Work Sans',system-ui,sans-serif;font-size:1.05rem;color:var(--ink);background:var(--shingle)}
h1,h2,h3,h4,.display{font-family:'Fraunces',Georgia,serif;font-weight:700}
.shingle{background-image:radial-gradient(circle at 50% 100%,transparent 0 11px,rgba(21,23,27,.09) 11px 12px,transparent 12px);background-size:24px 14px}
.nav-wrap{background:var(--shingle);border-bottom:3px solid var(--van)}
.navbar{padding:.6rem 0}
.brand{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--van);margin:0 auto}
.brand img{width:92px;height:auto}
.brand b{font:700 1.15rem 'Fraunces',serif;letter-spacing:.01em}
.navbar-nav{justify-content:center;width:100%;gap:.2rem 1.4rem;padding-top:.4rem}
.nav-link{font-weight:600;color:var(--van)!important;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.nav-link:hover{color:var(--brass)!important}
.navbar.navbar-expand-lg .navbar-collapse{flex-basis:100%}
.navbar-toggler{border-color:var(--van);position:absolute;right:12px;top:18px}
.call{background:var(--van);color:var(--brass2);font-weight:700;padding:.35rem 0;text-align:center;font-size:.92rem}
.call a{color:var(--brass2);text-decoration:none}
.btn-brass{background:var(--brass);color:var(--van);font-weight:700;border:2px solid var(--van);border-radius:4px;padding:.8rem 1.5rem;box-shadow:4px 4px 0 var(--van)}
.btn-brass:hover{background:var(--brass2);color:var(--van)}
.btn-van{background:var(--van);color:var(--brass2);font-weight:700;border-radius:4px;padding:.8rem 1.5rem;border:2px solid var(--van)}
.btn-van:hover{background:#000;color:#fff}
.hero{position:relative;min-height:84vh;display:flex;align-items:center;background:url('img/hero.webp') center/cover no-repeat;color:#fff;text-align:center}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 75% 65% at 50% 48%,rgba(0,0,0,.35) 0%,rgba(0,0,0,.04) 100%),linear-gradient(to bottom,rgba(0,0,0,.30) 0%,rgba(0,0,0,.10) 45%,rgba(0,0,0,.45) 100%)}
.hero .container{position:relative}
.hero-content{background:rgba(0,0,0,.20);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:2.2rem 1.5rem;border-radius:6px;max-width:860px;margin:0 auto}
.hero-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:.9rem;color:var(--brass2);text-shadow:0 0 3px #000,0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.8)}
.hero-title{font-size:clamp(2.3rem,6.5vw,4.6rem);line-height:1.04;margin:.6rem 0 1rem;text-shadow:0 0 4px #000,0 2px 20px rgba(0,0,0,.95),0 0 60px rgba(0,0,0,.8)}
.hero-subtitle{font-size:1.2rem;text-shadow:0 0 3px #000,0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.85)}
.hero-tagline{font-weight:600;text-shadow:0 0 3px #000,0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.9)}
.seal{display:inline-block;border:2px solid var(--brass2);border-radius:50%;padding:.5rem 1.4rem;color:var(--brass2);font:italic 700 1rem 'Fraunces',serif;margin-bottom:.8rem;text-shadow:0 0 6px #000}
.strip{background:var(--van);color:#fff}
.strip .col{padding:1.2rem .8rem;text-align:center;border-right:1px solid #2c3036;font-weight:600}
.strip .col:last-child{border:0}
.strip b{display:block;font:700 1.6rem 'Fraunces',serif;color:var(--brass2)}
section{padding:5rem 0}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:700;color:var(--brass)}
h2{font-size:clamp(2rem,4.6vw,3.1rem);letter-spacing:-.01em}
.scallop{height:16px;background:radial-gradient(circle at 50% 0,var(--van) 0 11px,transparent 12px) 0 0/24px 16px repeat-x}
.idx{list-style:none;padding:0;margin:0;border-top:3px solid var(--van)}
.idx li{display:grid;grid-template-columns:minmax(10rem,15rem) 1fr;gap:1.5rem;padding:1.2rem 0;border-bottom:1px solid var(--shingle2)}
.idx strong{font:700 1.5rem 'Fraunces',serif}
.photo{width:100%;height:auto;border:6px solid #fff;box-shadow:10px 10px 0 var(--van);display:block}
.photo-wrap{padding:0 10px 10px 0}
.dark{background:var(--van);color:#e9ecec}
.dark h2,.dark h3{color:#fff}
.dark .eyebrow{color:var(--brass2)}
.why li{margin-bottom:1rem;padding-left:.2rem}
.why b{color:var(--brass2)}
.quote{background:#fff;border-top:5px solid var(--brass);padding:1.4rem;height:100%;box-shadow:6px 6px 0 var(--shingle2)}
.quote p{margin:0 0 .8rem}
.quote cite{font-style:normal;font-weight:700}
.badges{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:center}
.badges img{height:64px;width:auto;background:#fff;padding:6px;border-radius:6px}
.office{background:#fff;border:3px solid var(--van);padding:1.5rem;height:100%;box-shadow:6px 6px 0 var(--brass)}
.office a{color:var(--van);font-weight:700}
.towns span{display:inline-block;border:2px solid var(--van);border-radius:30px;padding:.3rem 1rem;margin:.25rem;font-weight:600}
iframe{width:100%;height:320px;border:3px solid var(--van)}
footer{background:var(--van);color:#bfc5c6;padding:2.5rem 0;font-size:.95rem}
footer a{color:var(--brass2)}
.chip{background:var(--shingle);display:inline-block;padding:.5rem 1rem;border-radius:10px}
.chip img{width:110px;height:auto;display:block}
.pw{display:inline-block;margin-top:.6rem;padding:.3rem .9rem;border:1px solid var(--brass);border-radius:20px;text-decoration:none;font-weight:600}
@media(max-width:767px){section{padding:3.5rem 0}.idx li{grid-template-columns:1fr;gap:.3rem}.strip .col{border-right:0;border-bottom:1px solid #2c3036}.hero{min-height:78vh}.navbar-nav{align-items:center}}
