:root{--ink:#111;--bg:#151311;--bg2:#1c1916;--cream:#efe2c8;--rust:#c8562a;--peach:#e8b48a;--muted:#b9ab92}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--cream);font:300 17px/1.75 "Jost",Helvetica,Arial,sans-serif}
h1,h2,h3{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.04em;line-height:1.1;margin:0 0 1rem}
h2{font-size:clamp(2rem,4.5vw,3.4rem)}
em,.it{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}
.script{font-family:"Pinyon Script",cursive;text-transform:none;letter-spacing:0;color:var(--peach)}
.mono,.eyebrow,.btn,nav a{font-family:"DM Mono",monospace;text-transform:uppercase;letter-spacing:.25em;font-size:.72rem}
.eyebrow{color:var(--rust);display:block;margin-bottom:1rem}
a{color:var(--peach)}
section{padding:120px 24px}.wrap{max-width:1100px;margin:0 auto}.narrow{max-width:720px;margin:0 auto;text-align:center}
.cream{background:var(--cream);color:#231c15;background-image:radial-gradient(rgba(60,40,20,.07) 1px,transparent 1px),radial-gradient(rgba(60,40,20,.05) 1px,transparent 1px);background-size:3px 3px,7px 7px;background-position:0 0,1px 2px}
.cream .eyebrow{color:#a7431c}.cream .muted{color:#6b5a44}
.alt{background:var(--bg2)}
/* header */
header.top{position:fixed;inset:0 0 auto;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 28px;background:rgba(17,17,17,.82);backdrop-filter:blur(6px);border-bottom:1px solid rgba(239,226,200,.08)}
.wordmark{grid-column:2;text-decoration:none;color:var(--cream);font-family:"Bodoni Moda",serif;letter-spacing:.18em;font-size:.95rem;white-space:nowrap}
.wordmark .script{font-size:1.7rem;margin:0 .2em;vertical-align:-.15em}
nav{grid-column:3;text-align:right}nav a{color:var(--cream);text-decoration:none;border-bottom:1px solid var(--rust);padding-bottom:3px}
/* hero */
.hero{position:relative;height:min(86vh,720px);min-height:520px;display:flex;align-items:flex-end;padding:0 24px 70px;overflow:hidden;background:#000}
.hero img,.hero iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.hero img{filter:brightness(.55) saturate(.9)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.1) 40%,rgba(10,8,6,.92));pointer-events:none}
.hero.playing:after{display:none}
.hero .in{position:relative;z-index:2;max-width:1100px;margin:0 auto;width:100%}
.hero h1{font-size:clamp(2.3rem,6vw,4.8rem);color:#fff6e6;text-shadow:0 2px 24px rgba(0,0,0,.6);max-width:900px}
.hero p{max-width:560px;color:var(--cream);font-size:1.1rem}
.btn{display:inline-block;background:var(--rust);color:#fff6e6;border:1px solid var(--rust);padding:15px 30px;text-decoration:none;cursor:pointer;margin:.4rem .6rem .4rem 0}
.btn:hover{background:transparent;color:var(--cream)}
.btn.ghost{background:transparent;border-color:var(--cream);color:var(--cream)}.btn.ghost:hover{background:var(--cream);color:var(--ink)}
.cream .btn.ghost{border-color:#231c15;color:#231c15}
/* marquees */
.marquee{overflow:hidden;white-space:nowrap;border-block:1px solid rgba(239,226,200,.12);background:var(--ink)}
.marquee .track{display:inline-block;animation:scroll 40s linear infinite}
.marquee span{display:inline-block;padding:18px 0;font-family:"DM Mono",monospace;letter-spacing:.35em;font-size:.8rem}
.marquee i{color:var(--rust);font-style:normal;margin:0 1.4em}
.marquee.big{background:var(--cream);color:#1c1611;border:0}.marquee.big .track{animation-duration:30s}
.marquee.big span{font-family:"Bodoni Moda",serif;font-size:clamp(3rem,9vw,7.5rem);letter-spacing:.02em;padding:24px 0}
.marquee.big i{font-size:.4em;vertical-align:middle}
@keyframes scroll{to{transform:translateX(-50%)}}
/* film strip */
.strip{height:26px;background:var(--ink);background-image:repeating-linear-gradient(90deg,transparent 0 14px,rgba(239,226,200,.75) 14px 26px,transparent 26px 40px);background-size:40px 8px;background-repeat:repeat-x;background-position:0 9px;opacity:.5}
/* splits */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.split .media{position:relative;min-height:380px;background:#000}
.split .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .text{padding:90px 8%;display:flex;flex-direction:column;justify-content:center}
.split.rev .media{order:2}
.ph{background:linear-gradient(135deg,#2a241e,#141110);display:flex;align-items:center;justify-content:center;color:#8c7d66;font-family:"DM Mono",monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;text-align:center;padding:1rem;border:1px dashed #4a3f33}
.lead{font-size:1.6rem;line-height:1.5}
/* films */
.films{display:grid;grid-template-columns:repeat(6,1fr);gap:28px;margin-top:3rem}
.film{grid-column:span 2}.film.wide{grid-column:span 3}
.film .frame{position:relative;aspect-ratio:16/9;background:#000;cursor:pointer;overflow:hidden}
.film .frame img{width:100%;height:100%;object-fit:cover;filter:brightness(.8);transition:transform .6s,filter .6s}
.film .frame:hover img{transform:scale(1.04);filter:brightness(.95)}
.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px;border-radius:50%;border:1px solid var(--cream);background:rgba(200,86,42,.85);display:flex;align-items:center;justify-content:center}
.play:before{content:"";border-left:16px solid #fff6e6;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.film h3{font-size:1.25rem;margin:1rem 0 .2rem}.film .mono{color:var(--muted)}
.center{text-align:center;margin-top:3rem}
/* packages */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:3rem}
.card{border:1px solid rgba(35,28,21,.25);padding:44px;background:rgba(255,250,240,.45)}
.card h3{font-size:1.8rem}.price{font-family:"Bodoni Moda",serif;font-size:1.6rem;color:#a7431c;margin:.2rem 0 1rem}
.fit{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.35rem;line-height:1.4}
.alt .card,.dark .card{background:transparent;border-color:rgba(239,226,200,.18)}.alt .price{color:var(--peach)}
/* trio */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:3rem}
.trio .card{background:var(--cream);color:#231c15;border:0}
.num{font-family:"Bodoni Moda",serif;font-size:3.4rem;color:#a7431c;line-height:1;display:block;margin-bottom:1rem}
.towns{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.6rem;line-height:1.6}
.towns i{color:var(--rust);font-style:normal;margin:0 .4em}
/* form */
form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:3rem;text-align:left}
label{display:flex;flex-direction:column;gap:8px;font-family:"DM Mono",monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{background:transparent;border:0;border-bottom:1px solid rgba(239,226,200,.35);color:var(--cream);padding:10px 2px;font:300 1rem "Jost",sans-serif}
select option{background:var(--bg)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--rust)}
textarea{border:1px solid rgba(239,226,200,.35);padding:12px}
.full{grid-column:1/-1}.note{font-size:.85rem;color:#8a7d68}
footer{padding:70px 24px 40px;text-align:center;background:var(--ink);color:var(--muted)}
footer .wordmark{font-size:1.2rem;display:inline-block;margin-bottom:1.4rem}
footer .links a{margin:0 .9em;color:var(--cream)}
/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none}.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
@media(max-width:820px){
 section{padding:80px 20px}.split,.cards,.trio,form{grid-template-columns:1fr}.split.rev .media{order:0}.split .text{padding:64px 22px}
 .films{grid-template-columns:1fr}.film,.film.wide{grid-column:auto}
 header.top{grid-template-columns:auto 1fr;padding:12px 16px}.wordmark{grid-column:1;font-size:.7rem;letter-spacing:.12em}.wordmark .script{font-size:1.3rem}nav{grid-column:2}
 .hero{height:min(78vh,640px);padding-bottom:48px}.card{padding:32px 24px}}
.about{min-height:780px}.about .media img{object-position:50% 52%}
@media(max-width:820px){.about{min-height:0}.about .media{min-height:0;aspect-ratio:4/5}}
