@font-face{font-family:Boska;src:url('/assets/fonts/boska-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Switzer;src:url('/assets/fonts/switzer-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Switzer;src:url('/assets/fonts/switzer-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--ink:#171a17;--paper:#f4f3e9;--gold:#eed565;--pad:clamp(20px,4.2vw,80px);--out:cubic-bezier(.23,1,.32,1);--through:cubic-bezier(.77,0,.175,1)}
*{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);font:100%/1.5 Switzer,Arial,sans-serif;scroll-padding:1rem}
body,h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}
body{overflow-wrap:anywhere}
button,summary,a{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:rgba(154,126,22,.25)}
button,summary{cursor:pointer}
a{text-underline-offset:.2em}
:focus-visible{outline:3px solid #167bde;outline-offset:3px}
::selection{background:var(--gold);color:var(--ink)}
[hidden]{display:none!important}
.skip{position:absolute;top:0;left:1rem;transform:translateY(-150%);z-index:10;background:white;color:black;padding:.8rem}
.skip:focus{transform:none}
.site-header,.footer{padding-inline:var(--pad);display:flex;align-items:center;justify-content:space-between;gap:1.25rem}
.site-header,.hero,.gallery,.footer{background:var(--ink);color:var(--paper)}
.site-header{min-height:78px}
.brand,nav,.button{display:inline-flex;align-items:center}
.brand{font-weight:600;gap:.6rem;text-decoration:none;min-height:44px}
.mark{width:35px;flex:none;color:var(--gold)}
nav{gap:clamp(1rem,2.5vw,3rem)}
nav a,.footer>a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.button{min-height:48px;gap:1.25rem;justify-content:center;background:var(--gold);color:var(--ink);padding:.72rem 1.1rem;text-decoration:none;font-weight:600;border-radius:3px}
.button svg{width:22px;height:22px}
h1,h2,.hero-price a,.review-text{font:500 1rem/.96 Boska,Georgia,serif;letter-spacing:-.035em}
.hero{padding:clamp(1.5rem,3.2vw,4rem) var(--pad) clamp(2rem,4vw,4.5rem);isolation:isolate}
h1{position:relative;z-index:1;text-align:center;font-size:clamp(4.1rem,10.8vw,12rem);line-height:.86;text-wrap:balance}
.hero-spread{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2.85fr) minmax(0,.75fr);align-items:end;gap:clamp(1rem,2.5vw,3rem);margin-top:-.12em}
.hero-intro{align-self:end;padding-bottom:.7rem}
.hero-intro p{font-size:clamp(1.06rem,1.5vw,1.45rem);line-height:1.3;max-width:17ch;margin-bottom:1.4rem}
.hero-photo{position:relative;height:clamp(330px,32vw,530px);overflow:hidden;background:#343932}
picture,img{display:block;width:100%;height:100%}
img{object-fit:cover}
.hero-photo img{object-position:50% 53%}
.hero-price{padding-bottom:.45rem}
.hero-price span{display:block}
.hero-price a{display:inline-flex;min-height:44px;align-items:center;font-size:clamp(3rem,6.5vw,7rem);text-decoration:none;color:var(--gold)}
.chapter{padding:clamp(4rem,7.8vw,8.5rem) var(--pad)}
h2{font-size:clamp(3.4rem,6.5vw,7rem);line-height:.92}
.section-intro p,.section-intro>a{display:block;margin-top:1.2rem;max-width:36ch}
.menu,.visit,.review-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(2rem,7vw,10rem)}
.menu{background:var(--gold)}
.package{border-bottom:2px solid var(--ink)}
.package:first-child{border-top:2px solid var(--ink)}
summary{list-style:none}
summary::-webkit-details-marker{display:none}
.package summary{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:1rem;min-height:68px;padding:.8rem .2rem;font-size:clamp(1.15rem,2.1vw,2rem);letter-spacing:-.025em}
.package strong{font-size:1em;font-weight:600}
.package p{padding:0 2rem 1.3rem .2rem;max-width:55ch}
.toggle{width:16px;height:2px;background:currentColor;position:relative}
.toggle:after{content:'';position:absolute;inset:0;background:currentColor;transform:rotate(90deg)}
.package[open] .toggle:after{transform:rotate(0)}
.gallery .section-intro{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.gallery-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem)}
.crop{aspect-ratio:1.38;overflow:hidden}
figcaption{margin-top:.7rem;max-width:42ch}
.review-section{background:var(--paper)}
.review-reader{min-width:0}
.review-track{position:relative;display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#847a45 transparent}
.slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;padding:.4rem .5rem 1rem .2rem}
.review-text{font-size:clamp(2.1rem,3.4vw,4rem);line-height:1.1}
.review-controls{display:flex;align-items:center;gap:1rem;margin-top:1.3rem}
.review-controls button{background:transparent;border:2px solid var(--ink);border-radius:50%;width:48px;height:48px;font-size:1.45rem}
.review-controls button:disabled{opacity:.4;cursor:default}
.position{font-variant-numeric:tabular-nums}
.visit{background:#e5e5d8}
.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
h3{font-size:1.2rem;margin-bottom:1rem}
.visit-details dl>div{display:flex;justify-content:space-between;gap:.65rem;flex-wrap:wrap}
.visit-details dl>div+div{margin-top:.7rem}
.visit-details a,.section-intro>a{display:flex;align-items:center;min-height:44px}
.footer{padding-block:1.5rem;flex-wrap:wrap}
.footer details{width:100%}.footer summary{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}.footer details p{max-width:65ch;margin-top:.6rem}
.not-found{padding:12vh var(--pad)}
.not-found h1{text-align:left}.not-found p{margin:1.5rem 0}
@media(hover:hover){a:hover,summary:hover{text-decoration:underline}.button:hover{background:#fff0a6;text-decoration:none}.review-controls button:enabled:hover{color:var(--paper);background:var(--ink)}}
@media(max-width:870px){.site-header{gap:.7rem}.hero-spread{grid-template-columns:1fr 2.6fr}.hero-price{display:none}.menu,.review-section,.visit{grid-template-columns:1fr 1.3fr;gap:2rem}.visit-details{grid-template-columns:1fr}}
@media(max-width:700px){
.site-header{padding-block:.5rem;display:grid;grid-template-columns:1fr auto}.site-header .button{grid-column:2;grid-row:1}.site-header nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:.55rem}.site-header .brand{font-size:.94rem}.site-header nav a{font-size:.92rem}
.hero{padding-top:1.6rem}.hero h1{font-size:clamp(3.5rem,14vw,6rem);line-height:.92}
.hero-spread{display:flex;flex-direction:column;align-items:stretch;gap:1.25rem;margin-top:.8rem}.hero-photo{order:-1;width:100%;height:clamp(220px,64vw,360px)}.hero-intro{align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0}.hero-intro p{margin:0;font-size:1rem;max-width:24ch}.hero-intro .button{flex:none}.hero-intro .button svg{display:none}
.menu,.review-section,.visit{grid-template-columns:1fr}.gallery .section-intro{display:block}.gallery-grid{grid-template-columns:1fr}.crop{aspect-ratio:1.8}
.chapter{padding-block:3.8rem}.footer{gap:.6rem 1.2rem}.visit-details{gap:1.4rem}.review-text{font-size:2.2rem}
}
@supports(padding:max(0px)){.site-header,.hero,.chapter,.footer{padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}}

/* The camera glides forward with the car as the hero leaves the viewport. */
@keyframes enter-lane {
  from { transform: translateY(12px); opacity: .45; }
  to { transform: translateY(0); opacity: 1; }
}
@keyframes advance-through-lane {
  from { transform: scale(1); }
  to { transform: scale(1.09); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero h1, .hero-photo, .hero-intro, .hero-price {
    animation: enter-lane 540ms var(--out) backwards;
  }
  .hero-intro { animation-delay: 80ms; }
  .hero-price { animation-delay: 120ms; }
  .button, .button svg, .review-controls button, .toggle, .crop img {
    transition: transform 160ms var(--out);
  }
  .button:active, .review-controls button:active { transform: scale(.97); }
  @media (hover: hover) {
    .button:hover svg { transform: translateX(4px); }
    .crop:hover img { transform: scale(1.025); }
  }
  @supports (animation-timeline: view()) {
    .hero-photo { overflow: hidden; view-timeline-name: --lane; }
    .hero-photo img {
      animation: advance-through-lane linear both;
      animation-timeline: --lane;
      animation-range: exit 0% exit 100%;
    }
    .chapter .section-intro, .package, .gallery-grid figure, .visit-details {
      animation: enter-lane linear backwards;
      animation-timeline: view();
      animation-range: entry 0% entry 70%;
    }
  }
}

.review-text { font-size: clamp(1.4rem, 2.3vw, 2.15rem); line-height: 1.25; }
@media (max-width: 700px) { .review-text { font-size: 1.45rem; } }
.hero-price small { display: block; margin-top: .35rem; font: 1rem/1.4 Switzer, sans-serif; }
