:root{--bg:#000000;--bg2:#0D0D0F;--panel:#141416;--ink:#F5F4F0;--text:#F5F4F0;--muted:#C4C4C4;--gray:#A3A3A3;--line:#2A2A2E;--line2:#3A3A3F;--gold:#C6AD6E;--gold-l:#D9C48F;
--ph-bg:rgba(198,173,110,.07);--ph-b:#9C8550;--ph-t:#E3D1A0;
--sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--w:1200px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;font-family:var(--sans);color:var(--text);background:var(--bg);font-size:17px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}
a:focus-visible,summary:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:var(--gold);color:#000;padding:8px 12px;z-index:99}
header.site{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.92);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{text-decoration:none;font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.brand b{font-weight:800;color:var(--text)}.brand span{color:var(--gold);font-weight:800}
.brand{display:flex;align-items:center;flex-shrink:0;margin-right:24px}.brand picture{display:block}.brand img{height:52px;width:auto;display:block}
@media(max-width:900px){.brand img{height:38px}}
nav.main ul{list-style:none;display:flex;gap:30px;margin:0;padding:0}
nav.main a{text-decoration:none;font-size:14px;font-weight:600;letter-spacing:0;color:var(--muted);white-space:nowrap}
@media(max-width:1280px){nav.main ul{gap:22px}nav.main a{font-size:13.5px}}
nav.main a:hover,nav.main a[aria-current=page]{color:var(--text);box-shadow:inset 0 -2px 0 var(--gold)}
.menu{display:none}
@media(max-width:1100px){nav.main{display:none}.menu{display:block}
 .menu summary{list-style:none;cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px;border:1px solid var(--line2);border-radius:999px;color:var(--text)}
 .menu summary::-webkit-details-marker{display:none}
 .menu[open] ul{position:absolute;left:0;right:0;top:76px;background:#000;border-bottom:1px solid var(--line);list-style:none;margin:0;padding:12px 24px 24px}
 .menu li a{display:block;padding:14px 0;text-decoration:none;font-size:17px;font-weight:600;color:var(--text);border-bottom:1px solid var(--line)}
 .menu li a[aria-current=page]{color:var(--gold)}}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:700;color:var(--gold);margin:0 0 18px}
h1,h2,h3{font-family:var(--sans);font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:0 0 .5em;color:var(--text)}
h1{font-size:clamp(40px,6.6vw,88px);font-weight:800;letter-spacing:-.025em}
h2{font-size:clamp(30px,4vw,50px)}
h3{font-size:21px;letter-spacing:-.01em;line-height:1.3}
.lead{font-size:clamp(18px,1.7vw,21px);color:var(--muted);max-width:760px}
.lead strong{color:var(--text);font-weight:500}
p a,.lead a,.note a,.a a{color:var(--gold);text-underline-offset:3px}p a:hover,.a a:hover{color:var(--gold-l)}
.hero{padding:clamp(80px,13vw,170px) 0 clamp(60px,9vw,120px)}
.hero h1 em{font-style:normal;color:var(--gold)}
.rule{width:72px;height:2px;background:var(--gold);border:0;margin:36px 0}
section{padding:clamp(64px,9vw,120px) 0}
section.soft{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
section.dark{background:var(--panel)}section.dark .lead{color:var(--muted)}section.dark .eyebrow{color:var(--gold)}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn{display:inline-block;text-decoration:none;font-size:15px;font-weight:700;letter-spacing:0;padding:16px 30px;border:1px solid var(--gold);background:var(--gold);color:#000;transition:.2s}
.btn:hover{background:var(--gold-l);border-color:var(--gold-l);color:#000}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--text)}.btn.ghost:hover{background:var(--text);color:#000}
.grid{display:grid;gap:28px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{border-top:1px solid var(--line2);padding-top:22px}
.card p{color:var(--muted);margin:.3em 0 0}
.arealist a{display:flex;justify-content:space-between;align-items:baseline;text-decoration:none;border-top:1px solid var(--line);padding:22px 0;font-size:clamp(22px,2.6vw,32px);font-weight:600;letter-spacing:-.015em}
.arealist a:hover{color:var(--gold)}.arealist a small{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}
.faq{max-width:900px}.faq details{border-top:1px solid var(--line);padding:6px 0}.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{margin:0;font-size:clamp(17px,1.7vw,20px);font-weight:600}
.faq summary:after{content:"+";position:absolute;right:4px;top:16px;font-size:26px;color:var(--gold);font-weight:400}
.faq details[open] summary:after{content:"–"}
.faq .a{padding:0 0 22px;color:var(--muted);max-width:780px}
.facts{list-style:none;padding:0;margin:0;border-top:1px solid var(--line2)}
.facts li{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.facts li b{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--gray);padding-top:5px}
.facts li span{color:var(--text)}
@media(max-width:620px){.facts li{grid-template-columns:1fr;gap:2px}}
.crumbs{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);padding-top:28px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--gold)}
.ph{background:var(--ph-bg);border:1px dashed var(--ph-b);color:var(--ph-t);padding:2px 6px;font-size:.9em;font-weight:500;white-space:normal}
.ph-media{border:1px dashed var(--ph-b);background:var(--ph-bg);color:var(--ph-t);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-size:.95rem;line-height:1.5}
.ph-hero{aspect-ratio:21/9;margin-top:56px}@media(max-width:620px){.ph-hero{aspect-ratio:4/3}}
.ph-area{aspect-ratio:3/2;max-width:420px;margin-top:36px}
.ph-photo{aspect-ratio:1/1;width:100%}
.ph-idx{min-height:220px;margin-top:32px;flex-direction:column;gap:6px}
.reviews .ph-card{border:1px dashed var(--ph-b);background:var(--ph-bg);color:var(--ph-t);padding:32px;display:flex;flex-direction:column;gap:14px}
.reviews .ph-card blockquote{margin:0;font-size:1.15rem;line-height:1.5}.reviews .ph-card p{margin:0;font-size:.9rem}
.placeholder-box{border:1px dashed var(--ph-b);background:var(--ph-bg);padding:28px;color:var(--ph-t)}
.placeholder-box h3,.placeholder-box .eyebrow{color:var(--ph-t)!important}
.team img{aspect-ratio:1/1;object-fit:cover;object-position:top;background:var(--panel);width:100%}
.team h3{margin-top:18px}.team p{color:var(--muted);margin:0}
form.lead-form{display:grid;gap:16px;max-width:720px}
form.lead-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:620px){form.lead-form .row{grid-template-columns:1fr}}
label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted);display:block;margin-bottom:6px}
input,select,textarea{width:100%;font:inherit;font-weight:400;padding:14px 16px;border:1px solid #6E6E75;border-radius:0;background:#0D0D0F;color:var(--text);color-scheme:dark}
input::placeholder,textarea::placeholder{color:#8E8E93}
select option{background:#0D0D0F;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
textarea{min-height:140px}
.note{font-size:14px;color:var(--gray)}
footer.site{background:#000;border-top:1px solid var(--line);color:var(--muted);padding:80px 0 40px;font-size:15px}
footer.site a{color:var(--text);text-decoration:none}footer.site a:hover{color:var(--gold)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.fgrid{grid-template-columns:1fr}}
footer h4{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--gold);margin:0 0 16px;font-weight:700}
footer ul{list-style:none;padding:0;margin:0}footer li{margin:0 0 8px}
.legal{border-top:1px solid var(--line);margin-top:56px;padding-top:28px;font-size:13px;color:var(--gray);line-height:1.7}
.legal p{margin:0 0 10px}.legal strong{color:var(--muted)}
.eho{display:inline-flex;align-items:center;gap:10px;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:600;color:var(--text);margin-bottom:12px}
.eho svg{width:26px;height:26px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}@media(max-width:900px){.split{grid-template-columns:1fr;gap:32px}}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;border-top:1px solid var(--line);padding:22px 0 22px 64px;position:relative}
.steps li:before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:20px;font-weight:700;color:var(--gold);letter-spacing:.06em}
.steps h3{margin:0 0 4px;font-size:20px}.steps p{margin:0;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.chips a{display:inline-block;border:1px solid var(--line2);padding:10px 18px;text-decoration:none;font-size:14px;font-weight:600;color:var(--text)}
.chips a:hover{border-color:var(--gold);color:var(--gold)}
.logo-band img{width:min(520px,80%);margin:0 auto}
iframe.bt{border:0;display:block;background:transparent;color-scheme:normal}
.hero-search{margin-top:44px}
.hero-search .bt-wide{width:960px;max-width:100%;height:260px}
.hero-search .bt-mobile{display:none}
@media(max-width:1007px){.hero-search .bt-wide{display:none}.hero-search .bt-mobile{display:block}}
.idx-block{display:grid;grid-template-columns:1fr 280px;gap:48px;align-items:start;margin-top:36px;padding:32px;border:1px solid var(--line2);background:var(--bg2)}
.idx-block .bt-full{width:280px;height:680px;max-width:100%}
@media(max-width:760px){.idx-block{grid-template-columns:1fr;padding:24px}.idx-block .bt-full{margin:0 auto}}
.bt-val{width:100%;height:160px}
.idx-note{font-size:13px;color:var(--gray);margin-top:14px}
.search-strip{padding:28px 0 26px}.search-strip h1{font-size:clamp(30px,4vw,48px);margin:0 0 .25em}.search-strip p{margin:0;color:var(--muted)}
.idx-frame-wrap{background:#fff;border-top:1px solid var(--line)}
iframe.idx-full{display:block;width:100%;height:calc(100vh - 77px);min-height:900px;border:0;background:#fff;color-scheme:normal}
.idx-crop{--idx-crop:var(--idx-crop-d,110px);--idx-h:max(900px,calc(100vh - 77px));position:relative;overflow:hidden;height:var(--idx-h);background:#fff;border-top:1px solid var(--line)}
@media(max-width:1024px){.idx-crop{--idx-crop:var(--idx-crop-m,70px)}}
.idx-crop iframe.idx-full{height:calc(var(--idx-h) + var(--idx-crop));min-height:0;margin-top:calc(-1 * var(--idx-crop))}
@media(max-width:1024px){.idx-crop.idx-prod{--idx-h:max(600px,calc(100vh - 77px))}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cal-link{margin-top:22px;font-weight:700;font-size:14px;letter-spacing:.04em}.cal-link a{color:var(--gold);text-decoration:none}.cal-link a:hover{text-decoration:underline}
#cal [hidden]{display:none!important}
.cal-intro{max-width:760px}
.cal-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin:34px 0 8px;padding:20px;background:var(--bg2);border:1px solid var(--line)}
.cal-filters label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);flex:1 1 180px}
.cal-filters select{font:inherit;font-size:15px;letter-spacing:0;text-transform:none;color:var(--text);background:#000;border:1px solid var(--line);padding:11px 12px;border-radius:0;min-height:46px}
.cal-filters select:focus{outline:2px solid var(--gold);outline-offset:1px}
.cal-filters button{font:inherit;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:transparent;color:var(--gold);border:1px solid var(--gold);padding:0 18px;min-height:46px;cursor:pointer;flex:0 0 auto}
.cal-filters button:hover{background:var(--gold);color:#000}
.cal-count{font-size:13px;color:var(--gray);margin:10px 0 0}
.cal-month{margin-top:46px}.cal-month h2{font-size:clamp(22px,3vw,30px);border-bottom:1px solid var(--line);padding-bottom:12px}
.cal-list{display:grid;gap:16px;margin-top:20px;list-style:none;padding:0}
.ev{display:grid;grid-template-columns:86px 1fr;gap:22px;padding:22px;background:#0D0D0F;border:1px solid var(--line);border-left:3px solid var(--gold)}
.ev-date{text-align:center;border:1px solid var(--gold);padding:10px 4px;align-self:start;line-height:1.1}
.ev-date .m{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.ev-date .d{display:block;font-size:30px;font-weight:800;color:var(--text);margin:4px 0 2px}
.ev-date .w{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gray)}
.ev-date .to{display:block;font-size:10px;font-weight:700;color:var(--gray);margin-top:6px;letter-spacing:.06em}
.ev h3{font-size:19px;margin:0 0 8px;line-height:1.3}
.ev-meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--gray);margin:0 0 10px;padding:0;list-style:none}
.ev-meta b{color:var(--gold);font-weight:700}
.ev p{margin:0 0 12px;color:var(--muted)}
.ev a.ev-more{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.ev a.ev-more:hover{text-decoration:underline}
.cal-empty{margin-top:40px;padding:40px 28px;border:1px dashed var(--line);text-align:center}
.cal-empty h2{font-size:24px}.cal-empty p{color:var(--gray);margin:10px auto 0;max-width:560px}
.cal-foot{margin-top:50px;font-size:14px;color:var(--gray);border-top:1px solid var(--line);padding-top:22px}
.cal-foot a{color:var(--gold)}
.cal-sources{margin:6px 0 14px;padding-left:18px}.cal-sources li{margin:2px 0}
.ev-meta .ev-src{color:var(--gray)}
.cal-cta{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
@media(max-width:600px){.ev{grid-template-columns:64px 1fr;gap:14px;padding:16px}.ev-date .d{font-size:24px}.ev h3{font-size:17px}.cal-filters{padding:14px}.cal-filters label{flex-basis:100%}.cal-filters button{width:100%}}
.crop-label{position:fixed;top:86px;right:12px;z-index:60;background:rgba(0,0,0,.75);color:var(--gold);border:1px solid var(--line2);font-size:11px;font-weight:600;letter-spacing:.06em;padding:3px 8px;pointer-events:none}
.idx-fallback{padding:14px 0 18px;font-size:14px;color:var(--muted)}.idx-fallback a{color:var(--gold);text-underline-offset:3px}
.county-block{border-top:1px solid var(--line2);padding:26px 0 30px}
.county-block h3{font-size:clamp(22px,2.6vw,32px);font-weight:600;margin:0 0 16px}
.county-block h3 a{text-decoration:none}.county-block h3 a:hover{color:var(--gold)}
.county-block h3 small{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);margin-left:12px}
/* photos */
.photo-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff}
.photo-hero.sub{padding-top:clamp(70px,10vw,130px)}
.photo-hero .hero-bg,.photo-hero .hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;display:block}
.photo-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.66) 48%,rgba(0,0,0,.32) 100%),linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,0) 45%)}
@media(max-width:900px){.photo-hero::before{background:linear-gradient(0deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 100%)}}
.photo-hero .lead,.photo-hero p{color:rgba(255,255,255,.9)}
.idx-after{padding-top:44px}
picture.photo{display:block;border-radius:10px;overflow:hidden;background:#141416;border:1px solid rgba(198,173,110,.25)}
picture.photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
picture.photo.mt{margin-top:28px}
.photo-grid figure{margin:0}.photo-grid figcaption{font-size:14px;margin-top:10px;opacity:.75}
@media(max-width:900px){.photo-grid.g3{grid-template-columns:1fr}}
picture.cutout{display:block;margin-top:28px;max-width:340px}
picture.cutout img{display:block;width:100%;height:auto;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 82%,transparent 100%)}