:root{--black:#171512;--paper:#f1eee7;--red:#a32020;--red-dark:#781717;--muted:#756f67;--line-dark:rgba(23,21,18,.24);--line-light:rgba(241,238,231,.24);--pad:clamp(1.25rem,4.5vw,5.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--black);font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.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}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:100;padding:.8rem 1rem;background:var(--red);color:#fff}.skip-link:focus{top:1rem}
.site-header{position:fixed;inset:0 0 auto;z-index:20;height:6rem;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;transition:background .25s,height .25s,border-color .25s}.site-header.scrolled{height:4.7rem;background:rgba(241,238,231,.93);border-bottom:1px solid var(--line-dark);backdrop-filter:blur(14px)}.brand{width:7.4rem;height:3rem;display:grid;align-items:center;overflow:hidden}.brand img{width:100%}nav{display:flex;gap:clamp(1.2rem,3vw,3rem);text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:600}nav a,.header-contact{transition:color .2s}nav a:hover,nav a:focus-visible,.header-contact:hover,.header-contact:focus-visible{color:var(--red)}.header-contact{justify-self:end;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;padding-bottom:.35rem;border-bottom:1px solid}
.hero{min-height:100svh;padding:8rem var(--pad) 3rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.76fr);gap:clamp(2rem,5vw,6rem);align-items:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0 auto 0 0;width:.55rem;background:var(--red)}.kicker,.section-label{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.kicker{color:var(--red)}h1,h2{margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:600;letter-spacing:-.055em}h2 em{color:var(--red);font-style:italic}.hero-logo{width:min(100%,44rem);margin:.75rem 0 0}.hero-subtitle{max-width:24rem;margin:2.4rem 0 0;font-size:clamp(.9rem,1.25vw,1.08rem);line-height:1.55}.round-link{width:8rem;aspect-ratio:1;border-radius:50%;background:var(--black);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:1.25rem;margin-top:2.8rem;font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;transition:background .2s,transform .2s}.round-link b{font-size:1.3rem;font-weight:400}.round-link:hover{background:var(--red);transform:rotate(-3deg)}.hero-image{margin:0;align-self:end;position:relative}.hero-image:before{content:"";position:absolute;inset:1rem -1rem -1rem 1rem;z-index:-1;background:var(--red)}.hero-image img{width:100%;max-height:calc(100svh - 11rem);object-fit:cover;object-position:center 32%;filter:saturate(.86) contrast(1.03)}figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.75rem;color:var(--muted);font-size:.63rem;text-transform:uppercase;letter-spacing:.12em}.side-note{position:absolute;right:.65rem;top:50%;margin:0;writing-mode:vertical-rl;transform:translateY(-50%);font-size:.58rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}
.band{background:var(--red);color:var(--paper);padding:1.2rem var(--pad);overflow:hidden}.band p{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.25rem,2.5vw,2.2rem);font-style:italic;text-align:center}.section{padding:clamp(5.5rem,10vw,10rem) var(--pad)}.section-label{display:block;padding-bottom:1rem;border-bottom:1px solid var(--line-dark);margin-bottom:clamp(3.5rem,7vw,7rem);color:var(--muted)}.about-layout{display:grid;grid-template-columns:1fr .8fr;gap:8vw;align-items:start}.about h2,.video-heading h2,.history h2{font-size:clamp(4rem,8vw,8.5rem);line-height:.87}.about-copy{padding-top:.8rem}.about-copy p{margin:0 0 1.5rem;font-size:clamp(1rem,1.6vw,1.35rem);line-height:1.65}.about-copy p:first-child{font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.35}.wide-photo{margin:clamp(5rem,9vw,9rem) 0 0 12vw}.wide-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(100%) contrast(1.05);transition:filter .5s}.wide-photo:hover img{filter:grayscale(0%) contrast(1)}
.video-section{background:var(--black);color:var(--paper)}.video-section .section-label{border-color:var(--line-light);color:#aaa49b}.video-heading{display:grid;grid-template-columns:1fr .55fr;gap:7vw;align-items:end;margin-bottom:4rem}.video-heading p{color:#bdb7ae;line-height:1.7;max-width:29rem}.video-frame{position:relative;aspect-ratio:16/9;background:#000;border-top:.5rem solid var(--red)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.more-videos{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line-light)}.more-videos-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.more-videos h3{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.7rem,3vw,2.6rem)}.more-videos-head a{color:#bdb7ae;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.video-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.video-card{display:flex;flex-direction:column;gap:.65rem}.video-card img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.8);transition:filter .25s}.video-card:hover img{filter:saturate(1)}.video-card span{font-family:"Playfair Display",Georgia,serif;font-size:1.05rem;line-height:1.25}.video-card small{color:#aaa49b;text-transform:uppercase;letter-spacing:.1em}
.history{background:#e6e1d7}.history-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center}.history figure{margin:0}.history figure img{width:100%;aspect-ratio:3/2;object-fit:cover;filter:grayscale(100%) sepia(8%)}.history-copy>p:last-of-type{max-width:31rem;margin-top:2rem;color:var(--muted);font-size:1.05rem;line-height:1.7}.support-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.support-actions a{padding:.8rem 1rem;border:1px solid var(--black);border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;transition:background .2s,color .2s}.support-actions a:first-child{background:var(--red);border-color:var(--red);color:var(--paper)}.support-actions a:hover{background:var(--black);border-color:var(--black);color:var(--paper)}
.contact{background:var(--red);color:var(--paper);min-height:82vh;display:flex;flex-direction:column;justify-content:center}.contact .section-label{border-color:rgba(241,238,231,.35);color:var(--paper);width:100%}.contact .kicker{color:var(--paper)}.contact h2{font-size:clamp(5rem,13vw,13rem);line-height:.8}.booking-intro{margin:2rem 0 0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.25rem,2vw,1.8rem)}.email{margin-top:2rem;padding:1rem 0;border-bottom:1px solid rgba(241,238,231,.5);display:flex;justify-content:space-between;font-size:clamp(1.1rem,2.2vw,2rem)}.socials{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2.5rem}.socials a{border:1px solid rgba(241,238,231,.5);border-radius:999px;padding:.7rem 1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;transition:background .2s,color .2s}.socials a:hover{background:var(--paper);color:var(--red-dark)}
footer{background:var(--black);color:#aaa49b;padding:2rem var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.13em}footer img{width:6.5rem;filter:invert(94%) sepia(7%) saturate(165%) hue-rotate(348deg) brightness(105%)}footer p:last-child{text-align:right}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:820px){.site-header{height:7.1rem;padding:.75rem 1.25rem .8rem;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.55rem 1rem}.site-header.scrolled{height:6.65rem}.brand{width:5.75rem;grid-column:1;grid-row:1}.header-contact{grid-column:2;grid-row:1;font-size:.68rem;letter-spacing:.1em}nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;gap:1rem;width:100%;font-size:.82rem;letter-spacing:.12em}nav a{padding:.35rem 0}.hero{min-height:auto;grid-template-columns:1fr;padding:9rem 1.25rem 3rem;gap:2.25rem}.hero-copy{min-width:0;text-align:center}.hero-logo{width:min(100%,25rem);margin:.5rem auto 0}.hero-subtitle{margin:1.5rem auto 0;font-size:.88rem}.round-link{width:6.8rem;margin:1.8rem auto 0;padding:1rem;font-size:.65rem}.hero-image{width:min(calc(100% - .65rem),32rem);margin:0 auto}.hero-image:before{inset:.65rem -.65rem -.65rem .65rem}.hero-image img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}.side-note{display:none}.section{padding:5rem 1.25rem}.section-label{margin-bottom:3rem}.about-layout,.video-heading,.history-layout{grid-template-columns:1fr;gap:2.5rem}.about h2,.video-heading h2,.history h2{font-size:clamp(3.15rem,14vw,5.4rem);line-height:.9;overflow-wrap:anywhere}.about-copy p{font-size:1rem}.about-copy p:first-child{font-size:1.35rem}.wide-photo{margin:4rem 0 0}.wide-photo img{aspect-ratio:auto;height:auto}.video-frame{width:calc(100% + 2.5rem);margin-left:-1.25rem;border-top-width:.35rem}.more-videos{margin-top:3rem}.more-videos-head{align-items:flex-start}.video-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding:0 1.25rem 1rem;margin-inline:-1.25rem}.video-card{flex:0 0 82%;scroll-snap-align:start}.video-card img{aspect-ratio:16/9}.history-copy{order:-1}.history figure img{aspect-ratio:auto;height:auto}.support-actions{display:grid}.support-actions a{text-align:center;padding:.9rem 1rem}.contact{min-height:auto;padding-block:5rem}.contact h2{font-size:clamp(4.2rem,22vw,7rem)}.email{margin-top:2rem;font-size:clamp(.88rem,4.2vw,1.2rem);gap:.75rem;overflow-wrap:anywhere}.socials{gap:.55rem}.socials a{padding:.75rem .9rem;font-size:.68rem}footer{grid-template-columns:1fr auto;padding:1.5rem 1.25rem;gap:1rem}footer p:first-of-type{display:none}}
@media(max-width:480px){.hero{padding-right:1.25rem}.hero-image figcaption{display:block;line-height:1.55}.hero-image figcaption span{display:block}.hero-image figcaption span:last-child{margin-top:.15rem}.band{padding-block:1rem}.band p{font-size:1.15rem;line-height:1.35}.email span{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Hero gallery */
.hero-gallery{margin:0;align-self:end;position:relative;min-width:0}.hero-gallery:before{content:"";position:absolute;inset:1rem -1rem 3.5rem 1rem;z-index:-1;background:var(--red)}.hero-slides{position:relative;overflow:hidden;aspect-ratio:9/10;touch-action:pan-y;background:#d8d2c8}.hero-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:scale(1.015);transition:opacity .45s ease,transform .7s ease,visibility .45s}.hero-slide.is-active{opacity:1;visibility:visible;transform:none}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 32%;filter:saturate(.86) contrast(1.03)}.hero-slide:nth-child(n+2) img{object-position:center}.gallery-controls{height:3.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:1rem}.gallery-arrows{display:flex;gap:.45rem}.gallery-arrow{width:2.35rem;height:2.35rem;border:1px solid var(--line-dark);border-radius:50%;background:transparent;color:var(--black);font:inherit;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.gallery-arrow:hover,.gallery-arrow:focus-visible{background:var(--black);border-color:var(--black);color:var(--paper)}.gallery-dots{display:flex;gap:.45rem;padding-bottom:.75rem}.gallery-dot{width:.45rem;height:.45rem;padding:0;border:0;border-radius:50%;background:rgba(23,21,18,.28);cursor:pointer;transition:background .2s,transform .2s}.gallery-dot.is-active{background:var(--red);transform:scale(1.35)}.gallery-count{justify-self:end;margin:0 0 .55rem;font-size:.6rem;letter-spacing:.15em;color:var(--muted)}.about-copy p{font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.72}.about-copy p:first-child{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.42}.about-copy cite{font-family:"Playfair Display",Georgia,serif;font-style:italic}
@media(max-width:820px){.hero-gallery{width:min(calc(100% - .65rem),32rem);margin:0 auto}.hero-gallery:before{inset:.65rem -.65rem 3.5rem .65rem}.hero-slides{aspect-ratio:4/5}}
