@font-face{font-family:Open;src:url("../fonts/open-regular.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:Open;src:url("../fonts/open-bold.woff") format("woff");font-weight:700;font-display:swap}
@font-face{font-family:Condensed;src:url("../fonts/open-condensed.woff") format("woff");font-weight:700;font-display:swap}
:root{--ink:#1d1917;--base:#f7f3ee;--line:#d9d0c7;--red:#fa674e;--deep:#a22f1e;--dark:#191615;--white:#fff9f2;--muted:#5d504b;--wrap:min(1220px,calc(100% - 112px));--head:Condensed,"Arial Narrow",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--base);color:var(--ink);font:400 1rem/1.65 Open,Arial,sans-serif}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #317dc1;outline-offset:4px}
button{font:inherit;cursor:pointer}
[hidden]{display:none!important}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:.98}
h2{font-size:clamp(2.65rem,5.6vw,5.25rem);letter-spacing:-.025em}
h3{font-size:clamp(2rem,3vw,2.9rem);letter-spacing:-.02em}
img{max-width:100%;display:block}
svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.wrap{width:var(--wrap);margin-inline:auto}
.skip{position:fixed;z-index:20;top:10px;left:10px;background:white;padding:10px 15px;transform:translateY(-200%)}
.skip:focus{transform:none}
.topbar{position:sticky;z-index:10;top:0;background:#171413;color:var(--white);border-bottom:1px solid #ffffff20}
.top-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none;line-height:1}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--red);color:#1d1613}
.brand-mark svg{width:29px;height:29px;stroke:none}
.brand b,.brand small{display:block}
.brand b{font:700 1.47rem/.95 var(--head);letter-spacing:.025em}
.brand small{margin-top:5px;font-size:.58rem;font-weight:700;letter-spacing:.13em}
.nav{display:flex;align-items:center;gap:clamp(15px,2.25vw,32px)}
.nav a{position:relative;display:block;padding:23px 0;color:#e0d7d1;font-size:.83rem;font-weight:700;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{color:#fff9f3}
.nav a[aria-current]::after,.nav a:hover::after{content:"";position:absolute;bottom:13px;left:0;width:100%;height:2px;background:var(--red);animation:line-in .2s both;transform-origin:left}
.top-cta{display:inline-flex;align-items:center;gap:11px;padding:7px 11px 7px 13px;border:1px solid #ffffff47;font-size:.8rem;font-weight:700;white-space:nowrap;transition:background .2s,color .2s}
.top-cta:hover{color:var(--dark);background:var(--red)}
.nav-toggle{border:1px solid #ffffff47;background:none;color:inherit;padding:7px 11px;align-items:center;gap:9px}
.nav-toggle i{display:block;width:13px;height:9px;border-block:1px solid currentColor}
.hero{position:relative;isolation:isolate;min-height:clamp(600px,calc(100svh - 139px),790px);display:grid;align-items:center;background:#241d1a;color:var(--white);overflow:hidden}
.hero-media,.hero-media img,.hero::after{position:absolute;inset:0;width:100%;height:100%}
.hero-media{z-index:-2}
.hero-media img{object-fit:cover;object-position:center 54%;animation:hero-frame 1s ease-out both}
.hero::after{content:"";z-index:-1;background:linear-gradient(90deg,#191210fa 0%,#191210dd 23%,#19121080 52%,#1912101a 100%),linear-gradient(0deg,#171210d9,transparent 29%)}
.hero-inner{padding:84px 0 100px}
.hero-inner>*{animation:enter .68s cubic-bezier(.2,.72,.28,1) both}
.hero-inner>h1{animation-delay:.07s}
.hero-inner>p:not(.eyebrow){animation-delay:.14s}
.hero-inner>.actions{animation-delay:.2s}
.eyebrow{display:flex;align-items:center;gap:9px;font:700 .72rem/1.45 Open,Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.eyebrow span{width:21px;height:2px;background:currentColor;display:inline-block;flex:none}
.eyebrow b{opacity:.65}
.hero .eyebrow,.feature .eyebrow,.subhero .eyebrow{color:#ff8d77}
.hero h1{font-size:clamp(5.5rem,11vw,10.7rem);letter-spacing:-.035em;line-height:.85;margin:23px 0 25px}
.hero h1 em{color:var(--red);font-style:normal}
.hero p:not(.eyebrow){max-width:470px;color:#f6eae1;font-size:clamp(.98rem,1.4vw,1.13rem);line-height:1.7}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:49px;padding:11px 15px 11px 18px;border:1px solid transparent;font-size:.85rem;font-weight:700;transition:background .2s,color .2s,border .2s,transform .2s}
.button:hover{transform:translateY(-3px)}
.button svg,.top-cta svg,.footer svg,.contact svg{width:17px;height:17px}
.button.primary{color:#231511;background:var(--red)}
.button.primary:hover{background:#ff8a73}
.button.outline{border-color:#fef0df8a;color:var(--white)}
.button.outline:hover{background:var(--white);color:var(--ink)}
.button.ink,.button.contrast{background:var(--ink);color:var(--white)}
.button.ink:hover,.button.contrast:hover{background:#4a2c25}
.button.line{border-color:#73635a;color:var(--ink)}
.button.line:hover{background:var(--ink);color:var(--white)}
.hero-foot{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:var(--wrap);display:flex;justify-content:space-between;gap:16px;border-top:1px solid #ffffff46;padding:14px 0;font-size:.68rem;letter-spacing:.11em;color:#f0e3db}
.quick{background:#211b18;color:var(--white)}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-inline:1px solid #ffffff24}
.quick-grid a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:19px 20px;transition:background .25s}
.quick-grid a+a{border-left:1px solid #ffffff24}
.quick-grid a:hover{background:#462820}
.quick-grid a>svg:first-child{color:var(--red);width:22px;height:22px}
.quick-grid a>svg:last-child{width:16px;height:16px}
.quick b,.quick small{display:block}
.quick b{font-size:.87rem}
.quick small{font-size:.73rem;color:#e3cfc3}
.section{padding:clamp(58px,8vw,108px) 0}
.section.pale{background:#efe6dc}
.section-head{display:grid;grid-template-columns:1.45fr 1fr;align-items:end;gap:24px;margin-bottom:32px}
.section-head>.actions{justify-content:flex-end;margin:0}
.section-head p:not(.eyebrow),.visit-head p:not(.eyebrow){color:var(--muted);max-width:465px}
.section-head h2,.visit-head h2{margin-top:13px}
.visit-head{margin-bottom:0}
.visit-head p:not(.eyebrow){margin-top:14px}
.section-tail{margin-top:23px}
.section .eyebrow{color:var(--deep)}
.card-grid,.gallery-grid,.list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card,.plan,.list-card{background:#fffaf5;border:1px solid var(--line);transition:border-color .25s,box-shadow .25s}
.card:hover,.plan:hover,.list-card:hover{border-color:#bb5d4d;box-shadow:0 8px 23px #3c1d120e}
.card figure,.feature figure,.subhero figure{position:relative;overflow:hidden}
.card img,.gallery-grid img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.3,1)}
.card:hover img,.gallery-grid a:hover img{transform:scale(1.05)}
.card figure figcaption,.feature figcaption,.subhero figcaption{position:absolute;bottom:10px;right:10px;padding:3px 8px;background:#16100ee0;color:#fffaf4;font-size:.65rem}
.card-body,.plan{padding:23px}
.card-body span,.plan>span,.list-card>span{display:block;color:var(--deep);font-size:.72rem;font-weight:700;letter-spacing:.12em;margin-bottom:11px}
.card-body p,.plan p,.list-card p{color:var(--muted);font-size:.92rem;margin-top:10px}
.card-body a{display:inline-flex;align-items:center;gap:9px;margin-top:14px;color:var(--deep);font-size:.82rem;font-weight:700}
.feature{background:var(--dark);color:var(--white);padding:clamp(46px,7vw,92px) 0}
.feature-grid{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:clamp(24px,6vw,80px)}
.feature img,.subhero img{width:100%;height:auto;aspect-ratio:1.55;object-fit:cover}
.feature h2{margin:14px 0 16px}
.feature p:not(.eyebrow){color:#e1cfc1;max-width:440px;margin-bottom:24px}
.cta{background:var(--red);color:#241611;padding:45px 0}
.cta-inner{display:flex;justify-content:space-between;gap:25px;align-items:center}
.cta h2{margin-top:9px;font-size:clamp(2.65rem,5vw,4.65rem)}
.cta p:not(.eyebrow){margin-top:10px;max-width:550px}
.cta .button{flex:none}
.footer{background:#161312;color:#f3e7dd;padding:50px 0 0}
.footer-main{display:grid;grid-template-columns:1.15fr .8fr .85fr 1.2fr;gap:30px;padding-bottom:32px}
.footer p,.footer address,.footer-main>div>a:not(.brand),.footer-main nav a{font:400 .82rem/1.6 Open,sans-serif;color:#dfcfc4}
.footer p{margin-top:15px}
.footer h2{font:700 .91rem/1.4 Open,sans-serif;margin-bottom:12px}
.footer-main>div>a:not(.brand),.footer-main nav a{display:flex;align-items:center;gap:7px;margin:0 0 7px;width:fit-content}
.footer-main address+a{margin-top:8px!important}
.footer-main a:hover,.footer-base a:hover{color:#ff927b!important}
.footer-base{border-top:1px solid #ffffff32;display:flex;justify-content:space-between;gap:12px;padding:13px 0;font-size:.73rem;color:#dfcfc4}
.subhero{background:var(--dark);color:var(--white);padding:clamp(42px,7vw,89px) 0;overflow:hidden}
.sub-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:32px}
.sub-grid>div{animation:enter .62s both}
.sub-grid figure{animation:enter .68s .08s both}
.subhero h1{font-size:clamp(4rem,8vw,8rem);letter-spacing:-.028em;line-height:.88;margin:17px 0}
.subhero p:not(.eyebrow){max-width:470px;color:#eadbd0}
.subhero figure{border:1px solid #ffffff32}
.plan{display:flex;flex-direction:column;align-items:flex-start}
.plan p{margin-bottom:20px}
.plan .button{margin-top:auto}
.list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.list-card{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:21px}
.list-card>span{margin-top:5px}
.narrow{max-width:840px}
.faq{margin-top:21px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{padding:16px 4px;display:flex;justify-content:space-between;gap:15px;align-items:center;cursor:pointer;font-weight:700;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{width:14px;height:14px;position:relative;flex:none}
.faq summary span::before,.faq summary span::after{content:"";position:absolute;background:var(--deep);inset:6px 0 auto;height:2px}
.faq summary span::after{transform:rotate(90deg)}
.faq details[open] summary span::after{transform:none}
.faq details>div{padding:0 24px 16px 4px;color:var(--muted)}
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery-grid figure{background:#fffaf5;border:1px solid var(--line)}
.photo-link{position:relative;display:block;overflow:hidden}
.photo-link>span{position:absolute;right:13px;bottom:13px;display:grid;place-items:center;width:37px;height:37px;background:var(--ink);color:var(--white)}
.gallery-grid figcaption{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:12px 15px;font-weight:700}
.gallery-grid figcaption small{font-size:.68rem;color:var(--muted)}
.lightbox{padding:0;width:min(840px,calc(100% - 36px));max-width:none;border:1px solid #ffffff4d;background:var(--dark);color:var(--white)}
.lightbox::backdrop{background:#0e0b0aeb}
.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px}
.lightbox h2{font-size:clamp(1.8rem,5vw,3rem)}
.lightbox img{max-height:73vh;width:100%;object-fit:contain}
.close-photo{padding:7px 10px;border:1px solid #e0c7b9;color:var(--white);background:none}
.location-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:35px;align-items:stretch}
.location-grid h2{margin-top:12px}
.contact{margin-top:22px;border-top:1px solid var(--line)}
.contact>div{display:grid;grid-template-columns:85px 1fr;gap:13px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.contact dt{font-weight:700}
.contact dd{color:var(--muted)}
.contact dd a{display:inline-flex;gap:6px;align-items:center;text-decoration:underline;text-underline-offset:3px}
.map{min-height:380px;background:#e8ded3;border:1px solid var(--line);position:relative}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.reveal-ready [data-reveal]:not(.in-view){opacity:0;transform:translateY(18px)}
.reveal-ready [data-reveal]{transition:opacity .52s ease,transform .52s cubic-bezier(.2,.7,.25,1),border-color .25s,box-shadow .25s}
@keyframes line-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-frame{from{transform:scale(1.04)}to{transform:scale(1)}}
@media(max-width:1080px){:root{--wrap:calc(100% - 64px)}.top-inner{gap:18px}.nav{gap:17px}.quick-grid a{padding:16px;gap:9px}}
@media(max-width:850px){.top-inner{flex-wrap:wrap;min-height:66px;padding-block:10px;gap:10px}.nav-toggle:not([hidden]){display:inline-flex;order:3}.top-cta{order:2;margin-left:auto}.nav{order:4;flex-basis:100%;flex-wrap:wrap;gap:0 19px}.top-inner .nav-toggle[aria-expanded="false"]~.nav{display:none}.nav a{padding:9px 0}.nav a[aria-current]::after,.nav a:hover::after{bottom:3px}.quick-grid a{grid-template-columns:auto 1fr}.quick-grid a>svg:last-child{display:none}.footer-main{grid-template-columns:1.1fr .8fr 1fr;gap:25px}.footer-main>div:last-child{grid-column:1/-1}.feature-grid{gap:27px}}
@media(max-width:620px){:root{--wrap:calc(100% - 36px)}html{scroll-padding-top:76px}.hero{min-height:620px;min-height:clamp(510px,calc(100svh - 118px),670px);align-items:end}.hero::after{background:linear-gradient(0deg,#191210fa 0%,#191210ee 16%,#191210ac 49%,#19121020 100%),linear-gradient(90deg,#19121054,#19121010)}.hero-inner{padding:62px 0 76px}.hero h1{font-size:clamp(3.9rem,16vw,6rem);margin:19px 0 18px}.hero-foot{font-size:.57rem;letter-spacing:.07em;padding:12px 0}.button{gap:10px;padding:10px 12px;min-height:46px;font-size:.79rem}.hero .actions{gap:8px}.quick-grid{grid-template-columns:1fr;border-inline:0}.quick-grid a{padding:12px 0;gap:13px;grid-template-columns:auto 1fr auto}.quick-grid a+a{border-left:0;border-top:1px solid #ffffff24}.quick-grid a>svg:last-child{display:block}.section-head,.sub-grid,.feature-grid,.location-grid{grid-template-columns:1fr;gap:18px}.section-head{margin-bottom:23px}.visit-head{margin-bottom:0}.section-head>.actions{justify-content:flex-start}.card-grid,.list-grid{grid-template-columns:1fr}.card img,.gallery-grid img{aspect-ratio:1.6}.card-body,.plan{padding:18px}.feature figure{order:2}.feature-grid>div{order:1}.cta-inner{align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:1fr 1fr;gap:22px}.footer-main>div:first-child,.footer-main>div:last-child{grid-column:1/-1}.gallery-grid{gap:10px}.gallery-grid figcaption{padding:8px;font-size:.78rem}.gallery-grid figcaption small{font-size:.57rem}.photo-link>span{right:7px;bottom:7px;width:28px;height:28px}.photo-link>span svg{width:14px;height:14px}.map{min-height:320px}.subhero h1{font-size:clamp(3.55rem,13vw,6rem)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
