:root{--ink:#14302b;--ink2:#0e231f;--ivory:#f6f1e7;--brass:#b08d57;--brass-d:#8a6a38}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:'Hanken Grotesk',sans-serif;background:var(--ivory);color:var(--ink);font-size:1.02rem;line-height:1.7}
h1,h2,h3,.serif{font-family:'Fraunces',serif;font-weight:300;line-height:1.12;letter-spacing:-.005em}
a{color:var(--brass-d)}
.tc{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;font-weight:500}
.navbar{background:rgba(14,35,31,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(176,141,87,.25)}
.navbar-brand{font-family:'Fraunces',serif;font-weight:300;color:var(--ivory)!important;letter-spacing:.14em;text-transform:uppercase;font-size:.92rem;display:flex;align-items:center;gap:12px}
.navbar-brand small{display:block;font-family:'Hanken Grotesk',sans-serif;font-size:.58rem;letter-spacing:.3em;color:var(--brass);margin-top:2px}
.nav-link{color:var(--ivory)!important;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;opacity:.8;transition:.3s;padding:.6rem 1rem!important}
.nav-link:hover{opacity:1;color:var(--brass)!important}
.navbar-toggler{border-color:rgba(246,241,231,.4)}
.navbar-toggler-icon{filter:invert(1)}
.btn-a{background:var(--brass);color:var(--ink2);border:1px solid var(--brass);border-radius:0;padding:15px 36px;transition:.3s}
.btn-a:hover{opacity:.85;color:var(--ink2)}
.btn-g{background:transparent;color:var(--ivory);border:1px solid rgba(246,241,231,.35);border-radius:0;padding:15px 36px;transition:.3s}
.btn-g:hover{border-color:var(--ivory);color:var(--ivory)}
.btn-g.dk{color:var(--ink);border-color:rgba(20,48,43,.35)}
.btn-g.dk:hover{border-color:var(--ink);color:var(--ink)}
section{padding:96px 0}
@media(max-width:767px){section{padding:64px 0}}
.dark{background:var(--ink);color:var(--ivory)}
.dark a{color:var(--brass)}
.eyebrow{color:var(--brass-d);display:block;margin-bottom:14px}
.dark .eyebrow{color:var(--brass)}
h2{font-size:clamp(2.2rem,4vw,3.2rem)}
.measure{max-width:820px}
.hero{background:var(--ink);color:var(--ivory);padding:72px 0 80px;position:relative;overflow:hidden}
.hero h1{font-size:clamp(2.6rem,5.5vw,4.6rem)}
.hero h1 em{color:var(--brass);font-style:italic}
.sub{font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-size:1.3rem;opacity:.82}
.frame{border:1px solid rgba(176,141,87,.5);padding:10px}
.frame img{display:block;width:100%;aspect-ratio:863/576;object-fit:cover;max-height:min(66vh,480px)}
@media(max-width:991px){.hero{padding:44px 0 56px}}
.plaque{position:absolute;right:-30px;top:-20px;width:220px;opacity:.1;pointer-events:none}
.plaque-s{width:44px;opacity:.9}
.hairline{border-top:1px solid rgba(176,141,87,.35)}
.svc{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:12px 40px;padding:26px 0;border-top:1px solid rgba(20,48,43,.18)}
.svc:last-child{border-bottom:1px solid rgba(20,48,43,.18)}
.svc h3{font-size:1.7rem;margin:0}
.svc p{margin:0}
@media(max-width:767px){.svc{grid-template-columns:1fr}}
.sign{border:1px solid rgba(176,141,87,.5);padding:10px;max-width:340px}
.sign img{display:block;width:100%;aspect-ratio:320/252;object-fit:cover}
.card-p{text-align:left}
.card-p img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;object-position:50% 15%;border:1px solid rgba(176,141,87,.4);padding:6px;background:transparent}
.card-p h3{font-size:1.4rem;margin:18px 0 2px}
.card-p .tc{color:var(--brass-d)}
.info{border-top:1px solid rgba(176,141,87,.35);padding-top:18px}
.info h3{font-size:1.35rem}
.map{border:1px solid rgba(176,141,87,.5);padding:8px}
.map iframe{display:block;width:100%;height:380px;border:0}
footer{background:var(--ink2);color:rgba(246,241,231,.75);padding:56px 0 32px;font-size:.92rem}
footer a{color:var(--brass);text-decoration:none}
.logochip{background:var(--ivory);display:inline-block;padding:10px 16px}
.logochip img{display:block;width:230px;height:auto}
.dark .tc.mut{color:rgba(246,241,231,.65)}
