@font-face{font-family:'Tinos';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/tinos-regular.woff2) format('woff2')}
@font-face{font-family:'Tinos';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/tinos-italic.woff2) format('woff2')}
@font-face{font-family:'Tinos';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/tinos-bold.woff2) format('woff2')}
:root{
  --coal:#17110e;--coal-2:#211814;--coal-3:#2c211b;
  --ember:#d9822b;--ember-2:#f0a24a;--copper:#b8662d;
  --cream:#f7f0e6;--cream-2:#efe4d4;--ink:#2a1f19;--muted:#6f5d50;--line:rgba(184,102,45,.25);
  --serif:'Tinos','Times New Roman',Times,serif;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--serif);font-size:19px;line-height:1.7;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}
img,video,iframe{max-width:100%;display:block}
a{color:var(--copper)}
a:hover{color:var(--ember)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.2;margin:0 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2.2rem,5vw,3.8rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.35rem}
p{margin:0 0 1.1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.eyebrow{display:inline-block;font-size:.8rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ember);margin-bottom:1.1rem}
.eyebrow::before{content:"";display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin-right:14px}
.btn{display:inline-block;font-family:var(--serif);font-size:1rem;letter-spacing:.06em;padding:.85em 1.7em;border-radius:2px;text-decoration:none;transition:all .25s;border:1px solid transparent;cursor:pointer}
.btn-ember{background:linear-gradient(135deg,var(--ember),var(--copper));color:#fff;box-shadow:0 8px 28px -10px rgba(217,130,43,.8)}
.btn-ember:hover{color:#fff;transform:translateY(-1px);box-shadow:0 12px 32px -10px rgba(240,162,74,.95)}
.btn-ghost{border-color:rgba(247,240,230,.45);color:var(--cream)}
.btn-ghost:hover{border-color:var(--ember-2);color:var(--ember-2)}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(23,17,14,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(217,130,43,.18)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:100px}
.logo img{height:68px;width:auto}
@media (max-width:640px){.site-header .wrap{height:84px}.logo img{height:54px}.nav{inset:84px 0 auto 0!important;max-height:calc(100vh - 84px)!important}}
.nav{display:flex;align-items:center;gap:2px}
@media (max-width:1280px){.nav a{font-size:.95rem;padding:.4em .5em}.nav .btn{margin-left:8px;padding:.6em 1em}}
.nav a{color:#e9dccb;text-decoration:none;font-size:1rem;padding:.4em .6em;white-space:nowrap;letter-spacing:.03em;position:relative}
.nav a:not(.btn)::after{content:"";position:absolute;left:.75em;right:.75em;bottom:.15em;height:1px;background:var(--ember);transform:scaleX(0);transition:transform .25s}
.nav a:not(.btn):hover::after,.nav a.active::after{transform:scaleX(1)}
.nav a.active{color:var(--ember-2)}
.nav .btn{margin-left:12px;padding:.6em 1.25em;color:#fff}
.menu-toggle{display:none;background:none;border:0;color:var(--cream);font:inherit;font-size:1rem;cursor:pointer;padding:8px;letter-spacing:.1em}
.menu-toggle span{display:block;width:26px;height:1px;background:currentColor;margin:6px 0}
@media (max-width:1180px){
  .menu-toggle{display:block}
  .nav{position:fixed;inset:100px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--coal);padding:12px 28px 28px;gap:0;transform:translateY(-120%);transition:transform .3s;border-bottom:1px solid var(--line);max-height:calc(100vh - 100px);overflow:auto}
  .nav.open{transform:none}
  .nav a{padding:.8em 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:1.1rem}
  .nav a:not(.btn)::after{display:none}
  .nav .btn{margin:18px 0 0;text-align:center}
}
/* hero */
.hero{position:relative;min-height:calc(100vh - 84px);display:flex;align-items:center;color:var(--cream);background:var(--coal) center/cover no-repeat;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,17,14,.94) 0%,rgba(23,17,14,.72) 45%,rgba(23,17,14,.25) 100%),linear-gradient(0deg,rgba(23,17,14,.9) 0%,transparent 35%)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:radial-gradient(ellipse at 70% 120%,rgba(217,130,43,.35),transparent 60%);pointer-events:none}
.hero .wrap{position:relative;z-index:1;width:100%;padding-top:80px;padding-bottom:80px}
.hero-inner{max-width:680px}
.hero h1{color:#fff;margin-bottom:.4em}
.hero p.lead{font-size:1.25rem;color:#e7d8c6;font-style:italic;max-width:560px}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin:2rem 0 2.4rem}
.hero .note{font-size:.95rem;color:#cdb9a3;border-left:1px solid var(--ember);padding-left:16px;max-width:520px}
.hero .note a{color:var(--ember-2)}
.page-hero{position:relative;color:var(--cream);background:var(--coal) center/cover no-repeat;padding:120px 0 90px;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,17,14,.93),rgba(23,17,14,.6)),radial-gradient(ellipse at 80% 130%,rgba(217,130,43,.4),transparent 60%)}
.page-hero .wrap{position:relative}
.page-hero h1{color:#fff;max-width:820px}
.page-hero .sub{font-style:italic;font-size:1.25rem;color:#e7d8c6;margin:0}
/* sections */
section{padding:100px 0}
.dark{background:var(--coal-2);color:#e9dccb}
.dark h2,.dark h3{color:#fff}
.darker{background:var(--coal);color:#e9dccb}
.darker h2,.darker h3{color:#fff}
.cream2{background:var(--cream-2)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.split.rev>:first-child{order:2}
.split img{width:100%;border-radius:2px;box-shadow:0 30px 60px -30px rgba(23,17,14,.55)}
.framed{position:relative}
.framed::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--copper);opacity:.5;z-index:0}
.framed img{position:relative;z-index:1}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:44px}.split.rev>:first-child{order:0}section{padding:72px 0}}
.prose{max-width:760px}
.prose h2{margin-top:1.6em}
.prose h2:first-child{margin-top:0}
.center{text-align:center}
.center .prose{margin:0 auto}
.section-head{max-width:720px;margin:0 auto 56px;text-align:center}
.section-head .eyebrow::before{display:none}
/* benefits */
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(217,130,43,.2);border:1px solid rgba(217,130,43,.2)}
.benefit{background:var(--coal-2);padding:40px 34px}
.benefit .num{font-size:2.6rem;color:var(--ember);line-height:1;font-style:italic;margin-bottom:.4em;display:block}
.benefit h3{margin-bottom:.4em}
.benefit p{color:#cbb8a4;margin:0;font-size:1.02rem}
@media (max-width:900px){.benefits{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.benefits{grid-template-columns:1fr}}
.checks{list-style:none;padding:0;margin:0 0 1.4em;display:grid;gap:.55em}
.checks li{padding-left:34px;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:.62em;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 50% 60%,var(--ember-2),var(--copper) 60%,transparent 62%);box-shadow:0 0 12px rgba(240,162,74,.6)}
/* tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tile{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:2px;text-decoration:none;color:#fff;background:var(--coal)}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s,filter .5s;filter:saturate(.95) brightness(.85)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(23,17,14,.92) 0%,rgba(23,17,14,.15) 55%,transparent)}
.tile span{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;font-size:1.2rem;line-height:1.3}
.tile span small{display:block;font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ember-2);margin-bottom:6px}
.tile:hover img{transform:scale(1.06);filter:saturate(1.1) brightness(1)}
.tile:hover{color:#fff}
@media (max-width:980px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.tiles{grid-template-columns:1fr}.tile{aspect-ratio:16/11}}
/* gallery */
.gallery{columns:4 240px;column-gap:14px}
.gallery a{display:block;margin-bottom:14px;break-inside:avoid;overflow:hidden;border-radius:2px;cursor:zoom-in}
.gallery img{width:100%;transition:transform .6s}
.gallery a:hover img{transform:scale(1.04)}
.gallery.wide{columns:3 300px}
.lightbox{position:fixed;inset:0;background:rgba(15,10,8,.95);display:none;align-items:center;justify-content:center;z-index:100;padding:30px 80px;touch-action:pan-y}
.lightbox.open{display:flex}
.lightbox img{max-height:86vh;max-width:100%;box-shadow:0 30px 80px rgba(0,0,0,.6);user-select:none}
.lightbox button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-family:var(--serif);line-height:1;opacity:.85;transition:opacity .2s,color .2s}
.lightbox button:hover{opacity:1;color:var(--ember-2)}
.lightbox .lb-close{top:14px;right:22px;font-size:2.6rem}
.lightbox .lb-prev,.lightbox .lb-next{top:50%;transform:translateY(-50%);font-size:3.4rem;padding:20px 14px}
.lightbox .lb-prev{left:10px}.lightbox .lb-next{right:10px}
.lightbox .lb-count{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#e9dccb;letter-spacing:.12em;font-size:.95rem}
@media (max-width:640px){.lightbox{padding:20px 8px 60px}.lightbox .lb-prev,.lightbox .lb-next{top:auto;bottom:4px;transform:none;font-size:2.6rem}.lightbox .lb-count{bottom:24px}}
/* video */
.video{position:relative;border-radius:2px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(0,0,0,.8);background:#000}
.video video{width:100%;height:auto}
.video.embed{aspect-ratio:16/9}
.video.embed iframe{width:100%;height:100%;border:0}
/* steps */
.steps{display:grid;gap:70px}
.step{display:grid;grid-template-columns:120px 1fr 360px;gap:40px;align-items:center}
.step .num{font-size:5rem;line-height:1;color:var(--ember);font-style:italic}
.step img{width:100%;border-radius:2px}
@media (max-width:860px){.step{grid-template-columns:1fr;gap:16px}.step .num{font-size:3.4rem}}
/* tips */
.tiplist{display:grid;gap:28px}
.tip{border-left:2px solid var(--copper);padding:4px 0 4px 26px}
.tip h2{font-size:1.6rem}
/* CTA band */
.cta{position:relative;background:var(--coal) center/cover no-repeat;color:#fff;text-align:center;padding:110px 0;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:rgba(23,17,14,.78)}
.cta .wrap{position:relative}
.cta h2{color:#fff}
.cta p{color:#e7d8c6;font-style:italic;font-size:1.2rem;max-width:640px;margin:0 auto 2rem}
.cta .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
/* booking */
.booking-grid{display:grid;grid-template-columns:1fr 480px;gap:64px;align-items:start}
.booking-frame{background:#fff;border-radius:3px;padding:10px;box-shadow:0 30px 70px -35px rgba(23,17,14,.6);border-top:3px solid var(--ember)}
.booking-frame iframe{width:100%;height:760px;border:0}
.info-card{background:#fff;padding:30px 32px;border-radius:2px;margin-bottom:22px;box-shadow:0 20px 50px -35px rgba(23,17,14,.5)}
.info-card h3{color:var(--copper);margin-bottom:.5em}
.info-card p:last-child{margin:0}
.map{border:0;width:100%;height:300px;border-radius:2px;filter:sepia(.25) saturate(.9)}
@media (max-width:980px){.booking-grid{grid-template-columns:1fr}.booking-frame iframe{height:820px}}
/* hours */
.hours{width:100%;border-collapse:collapse;font-size:.98rem}
.hours td{padding:.28em 0;border-bottom:1px solid rgba(255,255,255,.07)}
.hours td:last-child{text-align:right;color:#cdb9a3}
.hours tr.closed td:last-child{color:#8d7a6b}
.info-card .hours td{border-color:var(--cream-2)}
.info-card .hours td:last-child{color:var(--muted)}
/* footer */
.site-footer{background:var(--coal);color:#bfae9c;padding:80px 0 30px;font-size:.98rem;border-top:1px solid rgba(217,130,43,.18)}
.site-footer .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:56px}
.site-footer h4{color:#fff;font-size:1.15rem;margin-bottom:1em;letter-spacing:.04em}
.site-footer a{color:#e7d8c6;text-decoration:none}
.site-footer a:hover{color:var(--ember-2)}
.site-footer .logo img{height:88px;margin-bottom:20px}
.site-footer .bottom{margin-top:60px;padding-top:24px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.88rem;color:#8d7a6b}
.site-footer .bottom a{color:#8d7a6b}
@media (max-width:860px){.site-footer .cols{grid-template-columns:1fr;gap:40px}}
.mobile-cta{display:none}
@media (max-width:640px){
  body{font-size:18px}
  .mobile-cta{display:block;position:fixed;left:14px;right:14px;bottom:14px;z-index:40;text-align:center}
  .site-footer{padding-bottom:100px}
}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
.flicker{animation:glow 5s ease-in-out infinite alternate}
@keyframes glow{0%{opacity:.85}50%{opacity:1}100%{opacity:.9}}
