:root{--paper:#f6f2ea;--ink:#1d2430;--navy:#23344f;--brass:#a67c3d;--sage:#e4e8df;--line:#cfc7b8}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;color:var(--ink);background:var(--paper);font-size:1.05rem;line-height:1.65}
h1,h2,h3,.navbar-brand{font-family:'Cormorant Garamond',serif;font-weight:700;line-height:1.1}
h1{font-size:clamp(2.6rem,6vw,4.4rem);margin-bottom:1.2rem;color:var(--navy)}
h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:1rem;color:var(--navy)}
h3{font-size:1.5rem;color:var(--navy)}
section[id],header[id]{scroll-margin-top:70px}
.site-nav{background:var(--paper);border-bottom:1px solid var(--line)}
.navbar-brand{font-size:1.6rem;color:var(--navy);display:flex;align-items:center;gap:.6rem}
.brand-mark{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border:2px solid var(--brass);color:var(--brass);font:600 .85rem 'Jost',sans-serif;letter-spacing:.05em}
.nav-link{color:var(--ink);font-weight:500}
.nav-link:hover{color:var(--brass)}
.btn-df{background:var(--navy);color:#fff;border:0;border-radius:0;font-weight:500;letter-spacing:.02em}
.btn-df:hover{background:var(--brass);color:#fff}
.btn-line{border:2px solid var(--navy);color:var(--navy);border-radius:0;font-weight:500}
.btn-line:hover{background:var(--navy);color:#fff}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:600;color:var(--brass);margin-bottom:.8rem}
.hero{padding:4.5rem 0 5rem;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/100% 48px,var(--paper)}
.hero .lead{font-size:1.2rem;max-width:34rem;margin-bottom:2rem}
.hero-photo{position:relative;margin:0;border:10px solid #fff;box-shadow:0 20px 50px rgba(29,36,48,.18)}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover}
.title-block{position:absolute;right:-10px;bottom:-10px;display:grid;grid-template-columns:auto auto;gap:0 1rem;background:#fff;border:1px solid var(--navy);padding:.5rem .9rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.title-block span{color:#6b7280}.title-block b{color:var(--navy)}
.section{padding:5rem 0}
.band{background:var(--sage)}
.side-photo{width:100%;max-width:420px;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;margin-top:1.5rem;border:8px solid #fff;box-shadow:0 12px 30px rgba(29,36,48,.15)}
.spec-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--navy)}
.spec-list li{display:flex;align-items:baseline;gap:1.2rem;padding:1.1rem 0;border-bottom:1px solid var(--line);font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;color:var(--navy)}
.spec-list span{font:500 .85rem 'Jost',sans-serif;color:var(--brass);letter-spacing:.1em}
.band ul{padding-left:1.1rem}
.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.gallery.tall img{aspect-ratio:3/4}
.contact-list{display:grid;grid-template-columns:7rem 1fr;gap:.6rem 1rem;margin:1.5rem 0 2rem}
.contact-list dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--brass);padding-top:.25rem}
.contact-list dd{margin:0}
.contact-list a,.site-footer a{color:var(--navy)}
.map-wrap{height:100%;min-height:380px;border:8px solid #fff}
.map-wrap iframe{width:100%;height:100%;min-height:364px;border:0;display:block}
.site-footer{background:var(--navy);color:#e8e4da;padding:1.5rem 0;font-size:.9rem}
.site-footer a{color:#fff}
@media(max-width:575px){.hero{padding:2.5rem 0 3.5rem}.section{padding:3.5rem 0}.title-block{right:0;bottom:-14px}.contact-list{grid-template-columns:1fr}}
