body::after{
  content:"";position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
}
/* ═══════════════════════════════════════════════════════
   FIRE & ASH — Luxury Mobile Cigar Lounge
   Smoke, ember, champagne. A dash of golf green.
   ═══════════════════════════════════════════════════════ */
:root{
  --ink:#0e0c0a;
  --char:#181411;
  --char-2:#211c17;
  --cream:#f2ead9;
  --champagne:#d9c9a8;
  --copper:#c08a4e;
  --copper-deep:#96693a;
  --green:#24402e;
  --muted:#a2988a;
  --line:rgba(242,234,217,.13);
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.87,0,.13,1);
  --t-hero:clamp(2.7rem,7vw,6rem);
  --t-display:clamp(2rem,4.6vw,3.6rem);
  --t-lead:clamp(1.08rem,1.7vw,1.32rem);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{overscroll-behavior-y:none}
body{
  background:var(--ink);color:var(--cream);
  font-family:"Outfit",system-ui,sans-serif;font-weight:300;
  font-size:1.05rem;line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;touch-action:pan-y;
}
img,video{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-.015em;text-wrap:balance}
h1 em,h2 em{font-style:italic;color:var(--copper)}
.wrap{max-width:1440px;margin:0 auto;padding:0 clamp(1.4rem,4.5vw,4.5rem)}
section{position:relative;padding:clamp(4.5rem,9vw,8.5rem) 0}

.label{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--copper);font-weight:500;display:block;margin-bottom:1.3rem}
.lead{font-size:var(--t-lead);color:var(--muted);max-width:46ch}

/* ── buttons ── */
.btn{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:1rem 2.2rem;border:1px solid var(--copper);color:var(--cream);
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  background:linear-gradient(to right,var(--copper) 50%,transparent 50%) 100% 0/200% 100%;
  transition:background-position .5s var(--ease),color .3s;
}
.btn:hover{background-position:0 0;color:var(--ink);letter-spacing:.26em}
.btn{transition:background-position .5s var(--ease),color .3s,letter-spacing .45s var(--ease)}
.btn.solid{background:var(--cream);border-color:var(--cream);color:var(--ink)}
.btn.solid:hover{background:var(--champagne);border-color:var(--champagne);color:var(--ink)}
.btn.ghost{border-color:var(--line)}

/* ── header ── */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:90;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.2rem clamp(1.4rem,4vw,3rem);
  transition:background .4s,padding .4s,border-color .4s;border-bottom:1px solid transparent;
}
.site-header{background:rgba(24,20,16,.28);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.site-header.scrolled{background:rgba(10,9,8,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:.8rem clamp(1.4rem,4vw,3rem);border-bottom-color:var(--line)}
.logo{font-family:"Playfair Display",serif;font-size:1.3rem;line-height:1;z-index:96}
.logo em{color:var(--copper);font-style:italic}
.logo small{display:block;font-family:"Outfit",sans-serif;font-size:.52rem;letter-spacing:.42em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}
.menu-btn{
  display:flex;align-items:center;gap:.8rem;background:none;border:none;color:var(--cream);
  font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;z-index:96;
}
.menu-btn .bars{display:block;width:26px}
.menu-btn .bars span{display:block;height:1.5px;background:var(--cream);margin:5px 0;transition:transform .4s var(--ease),opacity .3s}
.menu-open .menu-btn .bars span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-open .menu-btn .bars span:nth-child(2){opacity:0}
.menu-open .menu-btn .bars span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ── elevator-door menu overlay ── */
.menu-overlay{position:fixed;inset:0;z-index:94;visibility:hidden;pointer-events:none}
.menu-open .menu-overlay{visibility:visible;pointer-events:auto}
.menu-doors{position:absolute;inset:0;display:flex}
.menu-doors span{flex:1;background:var(--char);transform:translateY(-101%);transition:transform .6s var(--ease-io)}
.menu-doors span:nth-child(2){transition-delay:.06s;background:var(--char-2)}
.menu-doors span:nth-child(3){transition-delay:.12s;background:var(--char)}
.menu-doors span:nth-child(4){transition-delay:.18s;background:var(--char-2)}
.menu-open .menu-doors span{transform:none}
.menu-inner{
  position:relative;z-index:2;height:100%;display:flex;flex-direction:column;
  justify-content:center;padding:0 clamp(1.6rem,8vw,8rem);gap:.4rem;
}
.menu-inner a{
  font-family:"Playfair Display",serif;font-size:clamp(2rem,5.5vh,3.2rem);line-height:1.25;
  color:var(--cream);opacity:0;transform:translateY(24px);
  transition:opacity .5s var(--ease),transform .5s var(--ease),color .3s;
  display:flex;align-items:baseline;gap:1.2rem;
}
.menu-inner a small{font-family:"Outfit",sans-serif;font-size:.68rem;letter-spacing:.3em;color:var(--copper);text-transform:uppercase}
.menu-inner a:hover{color:var(--copper)}
.menu-open .menu-inner a{opacity:1;transform:none}
.menu-open .menu-inner a:nth-child(1){transition-delay:.28s}
.menu-open .menu-inner a:nth-child(2){transition-delay:.34s}
.menu-open .menu-inner a:nth-child(3){transition-delay:.4s}
.menu-open .menu-inner a:nth-child(4){transition-delay:.46s}
.menu-open .menu-inner a:nth-child(5){transition-delay:.52s}
.menu-open .menu-inner a:nth-child(6){transition-delay:.58s}
.menu-close{
  position:absolute;top:1.4rem;right:clamp(1.4rem,4vw,3rem);z-index:3;
  display:inline-flex;align-items:center;gap:.7rem;
  background:none;border:1px solid var(--line);border-radius:100px;
  color:var(--cream);padding:.8rem 1.6rem;
  font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;
  opacity:0;transform:translateY(-12px);
  transition:opacity .4s .45s,transform .4s .45s var(--ease),border-color .3s,color .3s;
}
.menu-close span{font-size:1.05em;color:var(--copper)}
.menu-close:hover{border-color:var(--copper);color:var(--copper)}
.menu-open .menu-close{opacity:1;transform:none}
.menu-foot{position:absolute;bottom:2.2rem;left:clamp(1.6rem,8vw,8rem);z-index:2;color:var(--muted);font-size:.85rem;opacity:0;transition:opacity .5s .6s}
.menu-open .menu-foot{opacity:1}
.menu-foot a{color:var(--champagne)}

/* ── hero ── */
.hero{min-height:100svh;display:flex;align-items:flex-end;padding:0 0 clamp(5.5rem,9vh,7rem);overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-veil{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(14,12,10,.55),rgba(14,12,10,.28) 42%,rgba(14,12,10,.95) 100%),
  linear-gradient(100deg,rgba(14,12,10,.5) 0%,transparent 55%)}
.hero h1,.hero .lead,.hero .label{text-shadow:0 2px 22px rgba(14,12,10,.55)}
.hero .wrap,.reserve-shell .wrap{width:100%}
.hero h1{font-size:var(--t-hero);max-width:14ch}
.hero .lead{margin:1.6rem 0 2.6rem}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}
.hero-hint{position:absolute;right:clamp(1.4rem,4vw,3rem);bottom:2rem;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl;display:flex;align-items:center;gap:.8rem}
.hero-hint::after{content:"";width:1px;height:44px;background:linear-gradient(var(--copper),transparent);animation:drip 2.2s var(--ease) infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ── marquee ── */
.marquee{border-block:1px solid var(--line);padding:1.15rem 0;overflow:hidden;background:var(--char)}
.marquee-track{display:flex;gap:3.5rem;width:max-content;animation:marquee 30s linear infinite}
.marquee-track span{font-family:"Playfair Display",serif;font-style:italic;font-size:1.05rem;color:var(--champagne);white-space:nowrap;display:flex;align-items:center;gap:3.5rem}
.marquee-track span::after{content:"✦";font-size:.7rem;color:var(--copper)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ── horizontal experience rail (Movement inspo) ── */
.rail-section{padding:clamp(4.5rem,9vw,8rem) 0 0}
.rail-head{margin-bottom:3rem}
.rail-head h2{font-size:var(--t-display)}
.rail{display:flex;gap:clamp(1rem,2vw,2rem);padding:0 clamp(1.4rem,4.5vw,4.5rem) 4rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail-card{
  scroll-snap-align:center;flex:0 0 min(78vw,540px);
  background:var(--char);border:1px solid var(--line);
  display:flex;flex-direction:column;transition:border-color .4s;
}
.rail-card:hover{border-color:var(--copper)}
.rail-card .ph{background:var(--char-2);display:flex;align-items:center;justify-content:center;padding:1.2rem}
.rail-card .ph img{max-height:340px;width:auto;max-width:100%}
.rail-card .body{padding:1.8rem 1.8rem 2.2rem;display:flex;flex-direction:column;flex:1}
.rail-card h3{font-size:1.55rem;margin-bottom:.7rem}
.rail-card p{color:var(--muted);font-size:.97rem;flex:1}
.rail-card .price{color:var(--copper);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;margin:1.2rem 0}
.rail-card .more{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--copper);align-self:flex-start;padding-bottom:.3rem}

/* ── Recent Nights: pinned horizontal rail (Movement inspo) ── */
.nights{padding:0}
.nights-pin{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.nights-head{margin-bottom:2.6rem}
.nights-head h2{font-size:var(--t-display)}
.nights-track{
  display:flex;gap:clamp(1.2rem,2.5vw,2.4rem);align-items:center;
  padding-left:clamp(1.4rem,4.5vw,4.5rem);width:max-content;
  will-change:transform;
}
.night-card{
  position:relative;flex:0 0 auto;height:min(62vh,620px);
  overflow:hidden;background:var(--char);margin:0;
}
.night-card img,.night-card video{height:100%;width:auto;display:block}
.night-card figcaption{position:absolute;left:1.4rem;bottom:1.2rem;z-index:2}
.night-card figcaption small{display:block;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--champagne);margin-bottom:.4rem;font-family:"Outfit",sans-serif}
.night-card figcaption span{font-family:"Playfair Display",serif;font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.1;color:var(--cream);display:block;max-width:9ch}
.night-card::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,transparent 55%,rgba(14,12,10,.78));pointer-events:none}
.night-more{
  display:flex;align-items:center;justify-content:center;
  width:clamp(240px,26vw,360px);border:1px solid var(--line);background:var(--char);
  transition:border-color .35s,background .35s;
}
.night-more span{font-family:"Playfair Display",serif;font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.2;text-align:center;color:var(--cream)}
.night-more em{color:var(--copper)}
.night-more::after{display:none}
.night-more:hover{border-color:var(--copper);background:var(--char-2)}
@media(max-width:920px){
  .night-card{height:min(44vh,420px)}
  .night-card figcaption span{font-size:1.15rem}
}

/* ── experience showcase: editorial linear slide (pinned) ── */
.exp{padding:0}
.exp-pin{padding:clamp(4rem,8vw,7rem) 0}
.exp-stage{
  display:flex;gap:clamp(3rem,6vw,7rem);align-items:flex-start;
  width:max-content;padding:0 clamp(1.4rem,4.5vw,4.5rem);will-change:transform;
}
.exp-intro{flex:0 0 min(34vw,460px);padding-top:6vh}
.exp-intro h2{font-size:var(--t-display);margin:0 0 1.2rem}
.exp-intro p{max-width:34ch}
.exp-item{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start}
.exp-item>img{height:min(52vh,540px);width:auto;display:block;box-shadow:0 26px 60px rgba(20,18,16,.18)}
.exp-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-top:1.5rem;min-width:min(30vw,420px);max-width:760px;width:min-content}
.exp-meta>div:first-child{min-width:26ch}
.exp-meta h3{font-size:clamp(1.4rem,2vw,1.9rem);margin:.5rem 0 .6rem}
.exp-meta p{font-size:.93rem;line-height:1.6;max-width:38ch}
.exp-side{display:flex;flex-direction:column;align-items:flex-end;gap:.9rem;flex-shrink:0}
.exp-no{font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--copper-deep);font-weight:500}
.exp-price{font-family:"Playfair Display",serif;font-style:italic;font-size:1.05rem;color:var(--copper-deep);font-feature-settings:'onum' 1;white-space:nowrap}
.exp-link{
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ink);display:inline-flex;align-items:center;gap:.7rem;
  border-bottom:1px solid rgba(150,105,58,.5);padding-bottom:.4rem;transition:color .3s;white-space:nowrap;
}
.exp-link i{font-style:normal;color:var(--copper-deep);transition:transform .35s var(--ease)}
.exp-link:hover{color:var(--copper-deep)}
.exp-link:hover i{transform:translateX(6px)}
/* portrait item: text rides beside the image instead of under it */
.exp-item.portrait{flex-direction:row;align-items:flex-end;gap:1.8rem}
.exp-item.portrait .exp-meta{
  flex-direction:column;align-items:flex-start;justify-content:flex-end;
  margin-top:0;min-width:0;width:auto;max-width:30ch;gap:1.1rem;padding-bottom:.4rem;
}
.exp-item.portrait .exp-meta>div:first-child{min-width:0}
.exp-item.portrait .exp-side{align-items:flex-start;flex-direction:row;align-items:baseline;gap:1.6rem}
@media(max-width:920px){
  .exp-item.portrait{flex-direction:column;align-items:flex-start}
  .exp-item.portrait .exp-meta{max-width:86vw}
}
.exp-outro{flex:0 0 min(30vw,420px);align-self:center;text-align:left}
.exp-outro p{font-family:"Playfair Display",serif;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.4;margin-bottom:1.8rem;color:var(--ink)}
.exp{position:relative}
.exp-pin{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;box-sizing:border-box}
@media(max-width:920px){
  .exp-intro{flex:0 0 76vw}
  .exp-outro{flex:0 0 70vw}
  .exp-item>img{height:min(38vh,380px)}
  .exp-meta{flex-direction:column;gap:.8rem;min-width:min(70vw,320px);max-width:80vw}
  .exp-side{flex-direction:row;align-items:baseline;gap:1.4rem;align-self:flex-start}
}

/* ── split ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,6.5rem);align-items:center}
.split h2{font-size:var(--t-display);margin-bottom:1.5rem}
.split p{color:var(--muted);max-width:56ch}
.split p+p{margin-top:1rem}
.split .btn{margin-top:2.4rem}
.photo{position:relative}
.photo img{width:100%}
.photo figcaption{margin-top:.8rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}

/* ── statement band ── */
.band{background:var(--char);padding:clamp(5.5rem,11vw,9.5rem) 0}
.band h2{font-size:clamp(1.9rem,4.4vw,3.4rem);max-width:26ch;line-height:1.18}
.band.green{background:linear-gradient(135deg,var(--green) 0%,#17291d 100%)}

/* ── ivory sections (Explora/Jesko alternation) ── */
.light{background:var(--cream);color:var(--ink)}
.light .label{color:var(--copper-deep)}
.light p,.light .lead,.light .par{color:#6b6155}
.light .step{border-top-color:rgba(84,64,42,.22)}
.light .step p{color:#6b6155}
.light h2 em,.light h1 em{color:var(--copper-deep)}
.light .btn{color:var(--ink);border-color:var(--copper-deep);background:linear-gradient(to right,var(--copper-deep) 50%,transparent 50%) 100% 0/200% 100%}
.light .btn:hover{background-position:0 0;color:var(--cream)}
.light .btn.solid{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.light .btn.solid:hover{background:#2a241d;border-color:#2a241d;color:var(--cream)}
.light .photo figcaption{color:#8a7d6c}
.light .scorecard{background:#f2e9d6;border-color:rgba(84,64,42,.2)}
.light .scorecard .row{border-color:rgba(84,64,42,.18)}
.light .scorecard .row:hover{background:rgba(150,105,58,.12)}
.light .scorecard .row .par{color:#5d5346}
.light .scorecard .amt{color:var(--copper-deep)}
.light .faq-item{border-color:rgba(84,64,42,.22)}
.light .faq-item .a{color:#6b6155}
.light .quote cite{color:var(--copper-deep)}
.light .masonry img{border-color:rgba(84,64,42,.18)}

/* ── stats spec row (Jesko style) ── */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border-block:1px solid var(--line)}
.stat{background:var(--char);padding:2.6rem 2rem;text-align:left}
.light .stats{background:rgba(84,64,42,.2);border-color:rgba(84,64,42,.2)}
.light .stat{background:var(--cream)}
.stat b{display:block;font-family:"Playfair Display",serif;font-weight:400;font-style:italic;font-size:clamp(1.6rem,3.4vw,2.6rem);color:var(--champagne);line-height:1.1;margin-top:.6rem}
.light .stat b{color:var(--copper-deep)}
.stat span{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}

/* ── fixed bottom pill CTA (Jesko "Book the Flight") ── */
.dock-cta{
  position:fixed;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:87;
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--cream);color:var(--ink);border-radius:100px;
  padding:1.02rem 2.1rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  box-shadow:0 14px 44px rgba(0,0,0,.45);transition:transform .35s var(--ease),background .3s;
}
.dock-cta::after{content:"✦";color:var(--copper-deep);font-size:.85em}
.dock-cta:hover{transform:translateX(-50%) scale(1.05);background:var(--champagne)}
@media(max-width:920px){.dock-cta{display:none}}

/* ── masonry (no cropping ever) ── */
.masonry{columns:3;column-gap:1.1rem}
.masonry>*{margin-bottom:1.1rem;break-inside:avoid}
.masonry img{width:100%;border:1px solid var(--line)}
.masonry figure{position:relative;overflow:hidden}
.masonry figcaption{position:absolute;inset:auto 0 0;padding:1.6rem 1rem .7rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne);background:linear-gradient(transparent,rgba(14,12,10,.85));opacity:0;transition:opacity .4s}
.masonry figure:hover figcaption{opacity:1}

/* ── steps / scorecard ── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2rem,4vw,4rem);counter-reset:s}
.step{border-top:1px solid var(--line);padding-top:1.5rem}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:"Playfair Display",serif;font-style:italic;color:var(--copper);display:block;margin-bottom:.9rem}
.step h3{font-size:1.28rem;margin-bottom:.7rem}
.step p{color:var(--muted);font-size:.96rem}

.scorecard{border:1px solid var(--line);background:var(--char)}
.scorecard .row{
  display:grid;grid-template-columns:minmax(12rem,1.2fr) 2fr auto;gap:2rem;align-items:center;
  padding:1.9rem 2.2rem;border-bottom:1px solid var(--line);position:relative;overflow:hidden;
  transition:background .35s,padding-left .35s var(--ease);
}
.scorecard .row::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--copper);transform:scaleY(0);transform-origin:bottom;
  transition:transform .35s var(--ease);
}
.scorecard .row:hover{background:rgba(192,138,78,.09);padding-left:2.9rem}
.scorecard .row:hover::before{transform:scaleY(1)}
.scorecard .row:last-child{border-bottom:none}
.scorecard .row h3{font-size:1.45rem;transition:color .3s}
.scorecard .row:hover h3{color:var(--copper-deep)}
.scorecard .row .par{font-size:.95rem;letter-spacing:.02em;text-transform:none;color:var(--muted);line-height:1.5}
.scorecard .row .amt{
  font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(1.5rem,2.2vw,2rem);
  color:var(--champagne);font-feature-settings:'onum' 1;white-space:nowrap;justify-self:end;
  transition:transform .35s var(--ease);
}
.scorecard .row:hover .amt{transform:scale(1.07)}

/* ── faq ── */
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;padding:1.5rem 0;font-family:"Playfair Display",serif;font-size:1.22rem;list-style:none;display:flex;justify-content:space-between;gap:2rem;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--copper);font-size:1.5rem;flex-shrink:0;transition:transform .35s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .a{padding-bottom:1.5rem;color:var(--muted);max-width:64ch}

/* ── quote ── */
.quote blockquote{font-family:"Playfair Display",serif;font-size:clamp(1.35rem,2.8vw,2rem);line-height:1.45;max-width:26ch;text-indent:-.45em}
.quote blockquote em{color:var(--copper);font-style:italic}
.quote cite{display:block;margin-top:1.6rem;font-style:normal;font-size:.92rem;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne);font-weight:500}

/* ── footer ── */
footer{background:var(--char);border-top:1px solid var(--line);padding:clamp(3.5rem,7vw,5rem) 0 2.2rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.5fr;gap:3rem;margin-bottom:3rem}
footer h4{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:1.1rem;font-weight:500}
footer ul{list-style:none}
footer li{margin-bottom:.55rem}
footer a{color:var(--muted);font-size:.95rem;transition:color .25s}
footer a:hover{color:var(--cream)}
.footer-bottom{border-top:1px solid var(--line);padding-top:1.8rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;color:var(--muted);font-size:.78rem}

/* ── mobile app nav pill ── */
.app-nav{
  position:fixed;left:50%;bottom:max(1rem, env(safe-area-inset-bottom));transform:translateX(-50%);
  z-index:88;display:none;align-items:center;gap:.4rem;
  background:rgba(24,20,17,.92);backdrop-filter:blur(18px);
  border:1px solid var(--line);border-radius:100px;padding:.45rem;
  box-shadow:0 12px 40px rgba(0,0,0,.5);
}
.app-nav a{padding:.65rem 1.05rem;border-radius:100px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.app-nav a[aria-current]{background:var(--copper);color:var(--ink);font-weight:500}

/* ── perfect match survey ── */
.match-shell{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:7rem 0 6rem;overflow:hidden}
.match-progress{display:flex;gap:.45rem;margin-bottom:3rem}
.match-progress i{height:2px;flex:1;background:var(--line);position:relative;overflow:hidden}
.match-progress i::after{content:"";position:absolute;inset:0;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.match-progress i.done::after{transform:scaleX(1)}
.match-step{display:none;animation:stepIn .55s var(--ease)}
.match-step.active{display:block}
@keyframes stepIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.match-step h2{font-size:clamp(1.7rem,4vw,2.8rem);max-width:22ch;margin-bottom:2.2rem}
.match-q{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--copper);display:block;margin-bottom:1rem}
.chip-row{display:flex;flex-wrap:wrap;gap:.8rem}
.chip{
  padding:1rem 1.7rem;border:1px solid var(--line);background:transparent;color:var(--cream);
  font-size:.95rem;letter-spacing:.04em;transition:border-color .3s,background .3s,color .3s;border-radius:100px;
}
.chip:hover{border-color:var(--copper)}
.chip.on{background:var(--copper);border-color:var(--copper);color:var(--ink);font-weight:500}
.match-nav{display:flex;gap:1rem;margin-top:2.8rem;align-items:center}
.match-nav .back{background:none;border:none;color:var(--muted);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;padding:1rem}
.match-nav .back:hover{color:var(--cream)}
label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.55rem}
input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select{
  width:100%;max-width:34rem;background:var(--char);border:1px solid var(--line);color:var(--cream);
  padding:1.05rem 1.15rem;font-family:inherit;font-size:1.05rem;transition:border-color .3s;border-radius:2px;
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--copper)}
.field+.field{margin-top:1.4rem}
/* guest slider */
.guests{max-width:34rem}
.guests output{font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(3rem,8vw,5rem);color:var(--champagne);display:block;line-height:1;margin-bottom:1.6rem}
.guests output small{font-size:.35em;color:var(--muted);font-style:normal;font-family:"Outfit",sans-serif;letter-spacing:.2em;text-transform:uppercase;margin-left:.6rem}
input[type=range]{width:100%;appearance:none;-webkit-appearance:none;height:2px;background:linear-gradient(to right,var(--copper) var(--fill,20%),var(--line) var(--fill,20%));border-radius:2px}
input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--copper);border:4px solid var(--ink);box-shadow:0 0 0 1px var(--copper);cursor:grab}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--copper);border:none;cursor:grab}
/* match reveal */
.match-reveal{text-align:center;padding:2rem 0}
.match-words{font-family:"Playfair Display",serif;font-size:clamp(2.6rem,9vw,6rem);line-height:1;display:flex;justify-content:center;gap:.35em;flex-wrap:wrap}
.match-words .w1{transform:translateX(-40vw);opacity:0}
.match-words .w2{color:var(--copper);font-style:italic;transform:translateX(40vw);opacity:0}
.match-reveal.go .w1,.match-reveal.go .w2{transform:none;opacity:1;transition:transform .9s var(--ease),opacity .7s}
.match-reveal p{margin-top:1.6rem;color:var(--muted)}
.spark{display:inline-block;color:var(--copper);animation:spark 1.6s ease infinite}
@keyframes spark{0%,100%{opacity:.5;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}

/* ── reserve page ── */
.reserve-shell{min-height:100svh;display:flex;align-items:center;text-align:left;overflow:hidden}
.reserve-shell .glow{position:absolute;width:70vmax;height:70vmax;border-radius:50%;filter:blur(120px);background:radial-gradient(circle,rgba(192,138,78,.16),transparent 60%);top:-20vmax;right:-20vmax;pointer-events:none}
.ember{position:absolute;bottom:-10px;border-radius:50%;background:var(--copper);opacity:0;animation:rise linear infinite}
@keyframes rise{0%{opacity:0;transform:translateY(0) scale(1)}12%{opacity:.7}100%{opacity:0;transform:translateY(-92vh) translateX(var(--sway,30px)) scale(.4)}}
.reserve-form{display:flex;gap:0;max-width:30rem;margin-top:2.6rem}
.reserve-form input{border-right:none;border-radius:2px 0 0 2px}
.reserve-form .btn{border-radius:0 2px 2px 0;white-space:nowrap}

/* ── lightbox (gallery) ── */
.lb{position:fixed;inset:0;z-index:120;display:none}
.lb.open{display:block}
.lb-veil{position:absolute;inset:0;background:rgba(14,12,10,.9);opacity:0;transition:opacity .18s ease-out}
.lb.open .lb-veil{opacity:1}
.lb-img{position:absolute;margin:0;will-change:transform;transform-origin:top left}
.lb-img img{width:100%;height:100%;display:block}
.lb button{
  position:absolute;z-index:3;background:none;border:none;color:var(--cream);
  font-family:"Outfit",sans-serif;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;
  padding:1.2rem;transition:color .15s;
}
.lb button:hover{color:var(--copper)}
.lb-prev{left:clamp(.4rem,3vw,2.5rem);top:50%;transform:translateY(-50%)}
.lb-next{right:clamp(.4rem,3vw,2.5rem);top:50%;transform:translateY(-50%)}
.lb-close{top:1.2rem;right:clamp(.4rem,3vw,2.5rem)}
.lb-count{position:absolute;top:1.9rem;left:clamp(1rem,3vw,2.5rem);font-size:.7rem;letter-spacing:.3em;color:var(--muted);text-transform:uppercase}
.masonry figure{cursor:zoom-in}
@media(max-width:700px){
  .lb-prev,.lb-next{top:auto;bottom:max(1rem,env(safe-area-inset-bottom));transform:none}
  .lb-prev{left:1rem}.lb-next{right:1rem}
}

/* ── turf takeover (golf quote + yards video) ── */
.turf{position:relative;overflow:hidden}
.turf-grass{
  position:absolute;inset:0;z-index:1;
  background:url(/assets/img/golf-grass-texture.webp) center/cover;
  clip-path:inset(0 100% 0 0);
}
.turf-grass::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,10,.42),rgba(10,14,10,.14) 45%,rgba(10,14,10,.5))}
.turf-grass.grow{transition:clip-path 4.8s cubic-bezier(.3,.1,.3,1);clip-path:inset(0 0 0 0)}
.turf.done .turf-grass{clip-path:inset(0 0 0 0)}
.turf-stage{
  position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;
  grid-template-rows:auto auto;column-gap:clamp(2rem,5vw,5rem);row-gap:1.5rem;
  align-items:start;
}
.turf-big{
  grid-column:1/-1;grid-row:1;z-index:3;pointer-events:none;
  font-family:"Playfair Display",serif;font-style:italic;font-weight:400;
  font-size:clamp(3.2rem,7.4vw,7rem);line-height:1.04;letter-spacing:-.01em;
  max-width:16ch;padding:1.5rem 0 1.2rem;
  text-shadow:0 2px 26px rgba(10,14,10,.65);
}
.turf-big em{color:var(--copper);font-style:italic}
.turf-quote{grid-column:1;grid-row:2;max-width:36ch;padding-top:.5rem;position:relative;z-index:4}
.turf-quote blockquote{font-size:clamp(1.05rem,1.6vw,1.35rem);max-width:30ch}
.turf-video{grid-column:2;grid-row:1/3;margin:0;justify-self:end;z-index:1;align-self:center}
@media(min-width:1280px){.turf-video{margin-left:clamp(-11rem,-9vw,-2rem)}}
.player-frame{display:block;position:relative;border:1px solid rgba(192,138,78,.5);padding:9px}
.player-frame video{height:min(62vh,600px);width:auto;display:block}
.player-tag{
  position:absolute;top:-0.62rem;left:1.4rem;z-index:3;
  background:#20392a;padding:0 .8rem;
  font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--copper);font-weight:500;
}
.turf-expand{display:block;position:relative;background:none;border:none;padding:0;cursor:pointer}
.turf-expand:hover .player-frame{border-color:var(--copper)}
.progress{display:block;position:relative;height:2px;background:rgba(242,234,217,.16);margin-top:.9rem}
.progress i{position:absolute;left:0;top:0;bottom:0;background:var(--copper);width:0%}
.player-bar{
  display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;
  padding-top:.9rem;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
}
.player-bar .pl-title{color:var(--cream);font-weight:500}
.player-bar .pl-watch{color:var(--copper);border-bottom:1px solid rgba(192,138,78,.5);padding-bottom:.3rem;white-space:nowrap;transition:color .3s}
.turf-expand-wrap:hover .pl-watch{color:var(--champagne)}
@media(max-width:920px){
  .turf-stage{grid-template-columns:1fr}
  .turf-big{grid-column:1;grid-row:1;margin-right:0}
  .turf-quote{grid-row:2}
  .turf-video{grid-column:1;grid-row:3;justify-self:start;margin-top:.5rem}
  .player-frame video{height:min(48vh,440px)}
}
.turf .split{align-items:center}

/* ── entrances: pure CSS, can never strand content hidden ── */
@keyframes riseIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
[data-hero-label],[data-hero-h],[data-hero-p],[data-hero-cta]{animation:riseIn .85s var(--ease) both}
[data-hero-label]{animation-delay:.1s}
[data-hero-h]{animation-delay:.22s}
[data-hero-p]{animation-delay:.38s}
[data-hero-cta]{animation-delay:.52s}

/* scroll reveals: hidden only when JS is live; IO adds .revealed */
html:not(.no-js) [data-reveal]:not(.revealed),
html:not(.no-js) [data-stagger]>*:not(.revealed){opacity:0;transform:translateY(30px)}
[data-reveal],[data-stagger]>*{transition:opacity .8s var(--ease),transform .8s var(--ease)}
.revealed{opacity:1!important;transform:none!important}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  [data-reveal],[data-stagger]>*{opacity:1!important;transform:none!important}
  .marquee-track{animation:none}
}

/* ── responsive ── */
@media(max-width:920px){
  .split{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .masonry{columns:2}
  .footer-grid{grid-template-columns:1fr 1fr}
  .app-nav{display:flex}
  footer{padding-bottom:7.5rem}
  .hero-hint{display:none}
  .scorecard .row{grid-template-columns:1fr auto;gap:.8rem}
  .scorecard .row .par{grid-column:1/-1}
}
@media(max-width:560px){
  .masonry{columns:2;column-gap:.6rem}
  .masonry>*{margin-bottom:.6rem}
  .rail-card{flex-basis:86vw}
  .reserve-form{flex-direction:column;gap:.8rem}
  .reserve-form input{border-right:1px solid var(--line);border-radius:2px}
  .footer-grid{grid-template-columns:1fr}
}

/* keyline frames on featured photos */
.keyline{position:relative}
.keyline::before{content:"";position:absolute;inset:10px;border:1px solid rgba(192,138,78,.45);pointer-events:none;z-index:2}

/* 9 scroll hint fades after first scroll */
.hero-hint{transition:opacity .6s}
body.has-scrolled .hero-hint{opacity:0}

/* 10 marquee edge fade */
.marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}

/* 11 menu hover slide */
.menu-open .menu-inner a{transition:opacity .5s var(--ease),transform .35s var(--ease),color .3s}
.menu-open .menu-inner a:hover{transform:translateX(10px)}
.menu-inner a:hover small{color:var(--champagne)}

/* 12 gallery image hover */
.masonry figure{overflow:hidden}
.masonry img{transition:transform 1.4s var(--ease)}
.masonry figure:hover img{transform:scale(1.025)}

/* 14 selection */
::selection{background:var(--copper);color:var(--ink)}

/* 15 sign-off */
.signoff{padding:clamp(4.5rem,9vw,7.5rem) 0 clamp(3rem,6vw,5rem)}
.signoff p{font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(2.2rem,5.5vw,4.2rem);line-height:1.1;letter-spacing:-.01em}
.signoff em{color:var(--copper);font-style:italic}

/* 18 scrollbar */
html{scrollbar-width:thin;scrollbar-color:var(--char-2) var(--ink)}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{background:var(--char-2);border-radius:8px;border:2px solid var(--ink)}
::-webkit-scrollbar-thumb:hover{background:var(--copper-deep)}

/* ── collage statement band ── */
.collage-band{position:relative;overflow:hidden}
.collage{
  position:absolute;inset:-12% -6%;z-index:0;
  display:grid;grid-template-columns:repeat(5,1fr);gap:8px;
  filter:saturate(.85);
  animation:collageDrift 46s ease-in-out infinite alternate;
}
.collage img{width:100%;height:100%;object-fit:cover;display:block}
.collage img:nth-child(3n){transform:translateY(-4%)}
.collage img:nth-child(3n+1){transform:translateY(5%)}
@keyframes collageDrift{from{transform:translate3d(-1.5%,0,0) scale(1.04)}to{transform:translate3d(1.5%,-1.5%,0) scale(1.04)}}
.collage-band::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(ellipse 90% 70% at 50% 50%, rgba(242,234,217,.96) 35%, rgba(242,234,217,.86) 100%);
}
.collage-band .wrap{position:relative;z-index:2}
@media (prefers-reduced-motion:reduce){.collage{animation:none}}
@media(max-width:700px){.collage{grid-template-columns:repeat(3,1fr)}.collage img:nth-child(n+7){display:none}}

/* ── collage band: split with rotating event moment ── */
.band-split{display:grid;grid-template-columns:auto 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.collage-band h2{font-size:clamp(1.77rem,4.09vw,3.16rem)}
.rotator{
  position:relative;height:min(44vh,430px);width:min(30vw,340px);
  display:flex;align-items:center;justify-content:center;pointer-events:none;
}
.rotator img{
  position:absolute;max-height:100%;max-width:100%;width:auto;height:auto;
  opacity:0;transition:opacity .9s var(--ease);
  box-shadow:0 18px 50px rgba(20,18,16,.35);border:6px solid #fbf7ee;
}
.rotator img.on{opacity:1}
@media(max-width:920px){
  .band-split{grid-template-columns:1fr}
  .rotator{order:2;width:100%;height:38vh}
}

/* ── inline reserve capture (footer) ── */
.reserve-inline{display:flex;max-width:26rem}
.reserve-inline input[type=email]{border-right:none;border-radius:2px 0 0 2px;background:var(--ink);padding:.85rem 1rem;font-size:.95rem}
.reserve-inline .btn{border-radius:0 2px 2px 0;white-space:nowrap;padding:.85rem 1.4rem}
@media(max-width:640px){
  .reserve-inline{flex-direction:column;gap:.8rem}
  .reserve-inline input[type=email]{border-right:1px solid var(--line);border-radius:2px}
}

/* ── sliced photo panel (date is filling) ── */
.filling .split{align-items:center}
.slats{display:flex;gap:12px;height:min(48vh,470px)}
.slats i{
  flex:1;display:block;
  background-image:url(/assets/img/cigar-truck-wedding-couple.webp);
  background-size:420% auto;background-repeat:no-repeat;
  box-shadow:0 20px 50px rgba(0,0,0,.4);
}
.slats i:nth-child(odd){margin-top:2.4rem}
.slats i:nth-child(even){margin-bottom:2.4rem}
@media(max-width:920px){.slats{height:34vh;margin-top:1rem}}

@media(max-width:920px){.footer-grid{grid-template-columns:1fr 1fr}.footer-reserve{grid-column:1/-1}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}}

.footer-reserve h4{
  font-family:"Playfair Display",serif;font-size:1.35rem;color:var(--copper);
  text-transform:none;letter-spacing:.01em;font-weight:400;margin-bottom:.6rem;line-height:1.25;
}
.footer-reserve h4 .amp{color:var(--cream);font-style:italic}
.footer-reserve h4 small{display:block;font-size:1.35rem;color:var(--cream);font-weight:400}

/* ── services closer: compact sign-off with photo fan ── */
.closer{padding:clamp(3.5rem,7vw,5.5rem) 0}
.closer .split{align-items:center}
.fan{position:relative;height:min(40vh,400px);display:flex;align-items:center;justify-content:center}
.fan img{
  position:absolute;height:min(34vh,330px);width:auto;
  border:8px solid #fbf7ee;box-shadow:0 18px 44px rgba(0,0,0,.45);
  transition:transform .5s var(--ease);
}
.fan img:nth-child(1){transform:rotate(-7deg) translateX(-11.5rem) translateY(.6rem)}
.fan img:nth-child(2){transform:rotate(1.5deg);z-index:2}
.fan img:nth-child(3){transform:rotate(7deg) translateX(11.5rem) translateY(.6rem)}
.fan:hover img:nth-child(1){transform:rotate(-9deg) translateX(-13rem) translateY(.6rem)}
.fan:hover img:nth-child(2){transform:rotate(0deg) scale(1.05)}
.fan:hover img:nth-child(3){transform:rotate(9deg) translateX(13rem) translateY(.6rem)}
@media(max-width:920px){
  .fan{height:34vh;margin-top:1.5rem}
  .fan img{height:24vh}
  .fan img:nth-child(1){transform:rotate(-7deg) translateX(-6rem)}
  .fan img:nth-child(3){transform:rotate(7deg) translateX(6rem)}
}

/* solo closer photo */
.fan.solo img{position:static;transform:rotate(1.5deg);height:min(38vh,380px)}
.fan.solo:hover img{transform:rotate(0deg) scale(1.03)}

/* ── event sign-in sheet (inquire) ── */
.sheet{
  background:linear-gradient(175deg,#f6efe0,#efe5cf);
  color:var(--ink);border-radius:4px;
  padding:clamp(1.8rem,4vw,3.2rem) clamp(1.4rem,4vw,3.2rem);
  box-shadow:0 34px 90px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.6);
  max-width:56rem;margin-top:1.4rem;
}
.sheet-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;
  border-bottom:1px solid rgba(84,64,42,.25);padding-bottom:1.1rem;margin-bottom:1.4rem;
}
.sheet-head span{font-family:"Playfair Display",serif;font-size:1.15rem}
.sheet-head span em{color:var(--copper-deep);font-style:italic}
.sheet-head small{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#8a7d6c}
.sheet .match-progress{margin-bottom:2.2rem}
.sheet .match-progress i{background:rgba(84,64,42,.18)}
.sheet .match-progress i::after{background:var(--copper-deep)}
.sheet .match-q{color:var(--copper-deep)}
.sheet h2{color:var(--ink)}
.sheet h2 em{color:var(--copper-deep)}
.sheet .chip{border-color:rgba(84,64,42,.35);color:var(--ink);background:rgba(255,255,255,.35)}
.sheet .chip:hover{border-color:var(--copper-deep)}
.sheet .chip.on{background:var(--copper-deep);border-color:var(--copper-deep);color:var(--cream)}
.sheet label{color:#6b6155}
.sheet input[type=text],.sheet input[type=email],.sheet input[type=tel],.sheet input[type=date],.sheet textarea{
  background:#fbf7ee;border:1px solid rgba(84,64,42,.3);color:var(--ink);
}
.sheet input:focus,.sheet textarea:focus{border-color:var(--copper-deep)}
.sheet ::placeholder{color:#a09582}
.sheet .btn{color:var(--ink);border-color:var(--copper-deep);background:linear-gradient(to right,var(--copper-deep) 50%,transparent 50%) 100% 0/200% 100%}
.sheet .btn:hover{background-position:0 0;color:var(--cream)}
.sheet .btn.solid{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.sheet .back{color:#8a7d6c}
.sheet .back:hover{color:var(--ink)}
.sheet .guests output{color:var(--copper-deep)}
.sheet .guests output small{color:#8a7d6c}
.sheet input[type=range]{background:linear-gradient(to right,var(--copper-deep) var(--fill,20%),rgba(84,64,42,.25) var(--fill,20%))}
.sheet input[type=range]::-webkit-slider-thumb{background:var(--copper-deep);border-color:#f6efe0;box-shadow:0 0 0 1px var(--copper-deep)}
.sheet .match-reveal p{color:#6b6155}
.sheet .match-words .w2{color:var(--copper-deep)}

/* ── inquire page depth: centered sheet, stacked papers, glow, embers ── */
.match-shell{position:relative;overflow:hidden}
.match-glow{
  position:absolute;width:60vmax;height:60vmax;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(192,138,78,.14),transparent 62%);
  top:-24vmax;right:-18vmax;filter:blur(60px);
}
.match-glow.two{top:auto;right:auto;bottom:-28vmax;left:-20vmax;background:radial-gradient(circle,rgba(36,64,46,.35),transparent 60%)}
.sheet{position:relative;margin-left:auto;margin-right:auto}
.sheet::before,.sheet::after{
  content:"";position:absolute;inset:0;border-radius:4px;z-index:-1;
  background:#e6dbc2;box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.sheet::before{transform:rotate(-1.6deg) translateY(9px)}
.sheet::after{transform:rotate(1.1deg) translateY(6px);background:#ded2b6}
.match-shell .ember{z-index:0}

h1.label{font-family:"Outfit",sans-serif;font-weight:500;font-size:.7rem;line-height:1.4}

/* ── turf video: click to expand ── */

/* video lightbox */
.vlb{position:fixed;inset:0;z-index:130;display:none;align-items:center;justify-content:center}
.vlb.open{display:flex}
.vlb .lb-veil{position:absolute;inset:0;background:rgba(14,12,10,.94);opacity:1}
.vlb video{position:relative;z-index:2;max-height:88vh;max-width:92vw;box-shadow:0 30px 90px rgba(0,0,0,.7)}
.vlb .lb-close{position:absolute;top:1.2rem;right:clamp(.4rem,3vw,2.5rem);z-index:3}

.form-success{font-family:"Playfair Display",serif;font-style:italic;font-size:1.3rem;color:var(--champagne)}
.light .form-success,.sheet .form-success{color:var(--copper-deep)}

/* ── founders: espresso leather band ── */
.founders{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,#2b211775 0%,#241b1275 45%,#1c150e75 100%),
             linear-gradient(160deg,#2b2117,#1c150e);
}
.founders::before{
  content:"";position:absolute;left:-8%;top:8%;width:56vmin;height:56vmin;border-radius:50%;
  background:radial-gradient(circle,rgba(214,150,80,.14),transparent 62%);
  filter:blur(50px);pointer-events:none;
}
.founders .wrap{position:relative;z-index:2}
.founders-ghost{
  position:absolute;right:-2%;bottom:2%;z-index:1;pointer-events:none;
  font-family:"Playfair Display",serif;font-size:clamp(9rem,22vw,20rem);line-height:1;
  color:rgba(242,234,217,.045);white-space:nowrap;letter-spacing:-.02em;
}
.founders-ghost em{font-style:italic;color:rgba(192,138,78,.07)}
.founders .keyline::before{border-color:rgba(192,138,78,.6)}

/* trademark + film credit */
.logo sup{font-size:.42em;font-style:normal;color:var(--muted);margin-left:1px;letter-spacing:0}
.player-bar .pl-credit{color:var(--muted)}

/* ═══ film strip: draggable rail + scrubber ═══ */
.vstrip{overflow:hidden;cursor:grab;padding:1.5rem 0 .5rem}
.vstrip.dragging{cursor:grabbing}
.vstrip-track{display:flex;gap:14px;width:max-content;padding:0 clamp(1.4rem,4.5vw,4.5rem);will-change:transform}
.vtile{
  position:relative;flex:0 0 auto;padding:0;border:1px solid var(--line);background:var(--char);
  cursor:pointer;overflow:hidden;transition:border-color .3s;
}
.vtile:hover{border-color:var(--copper)}
.vtile video{height:min(38vh,380px);width:auto;display:block;pointer-events:none;background:var(--char)}
.vtile.wide video{height:min(38vh,380px)}
.vtile-tag{
  position:absolute;left:.9rem;bottom:.8rem;z-index:2;
  background:rgba(14,12,10,.72);backdrop-filter:blur(8px);color:var(--cream);
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  padding:.45rem .85rem;border-radius:100px;pointer-events:none;
}
.vtile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(14,12,10,.45));pointer-events:none}
.vscrub{
  margin:1.6rem clamp(1.4rem,4.5vw,4.5rem) 0;height:22px;display:flex;align-items:center;
  cursor:pointer;position:relative;
}
.vscrub::before{content:"";position:absolute;left:0;right:0;height:2px;background:rgba(242,234,217,.16)}
.vscrub-thumb{
  position:absolute;height:6px;border-radius:6px;background:var(--copper);
  min-width:40px;cursor:grab;transition:background .25s;top:8px;
}
.vscrub-thumb:hover,.vscrub.dragging .vscrub-thumb{background:var(--champagne);cursor:grabbing}

/* ═══ scrapbook viewer ═══ */
.scrap{position:fixed;inset:0;z-index:130;display:none}
.scrap.open{display:block}
.scrap-veil{position:absolute;inset:0;background:rgba(10,9,8,.94);opacity:0;transition:opacity .2s}
.scrap.open .scrap-veil{opacity:1}
.print{
  position:absolute;left:50%;top:50%;z-index:3;
  background:#fbf7ee;padding:10px 10px 26px;
  box-shadow:0 26px 70px rgba(0,0,0,.6);
  transform:translate(-50%,-50%) rotate(var(--tilt,-1.2deg));
  transition:transform .32s cubic-bezier(.2,.8,.3,1),opacity .32s;
  will-change:transform,opacity;
}
.print img,.print video{display:block;max-height:76vh;max-width:86vw;width:auto;height:auto}
.print.ghost{z-index:2;opacity:.22;pointer-events:none;transition:transform .32s,opacity .32s}
.print.ghost.g-prev{transform:translate(-58%,-56%) rotate(-8deg) scale(.92)}
.print.ghost.g-next{transform:translate(-42%,-44%) rotate(7deg) scale(.92)}
.print.exit-up{transform:translate(-62%,-110%) rotate(-10deg);opacity:0}
.print.exit-down{transform:translate(-38%,10%) rotate(10deg);opacity:0}
.print.enter-up{transform:translate(-44%,-130%) rotate(8deg);opacity:0;transition:none}
.print.enter-down{transform:translate(-56%,30%) rotate(-8deg);opacity:0;transition:none}
.scrap.reduced .print{transition:none}
.scrap-ui{position:absolute;inset:0;z-index:5;pointer-events:none}
.scrap-close{
  position:absolute;top:1.2rem;right:clamp(1rem,3vw,2.5rem);pointer-events:auto;
  background:none;border:1px solid var(--line);border-radius:100px;color:var(--cream);
  font-family:"Outfit",sans-serif;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;
  padding:.7rem 1.4rem;cursor:pointer;transition:border-color .25s,color .25s;
}
.scrap-close:hover{border-color:var(--copper);color:var(--copper)}
.scrap-count{
  position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);
  font-size:.72rem;letter-spacing:.3em;color:var(--muted);text-transform:uppercase;font-variant-numeric:tabular-nums;
}
.scrap-prev,.scrap-next{
  position:absolute;bottom:1.1rem;pointer-events:auto;
  background:none;border:none;color:var(--cream);cursor:pointer;
  font-family:"Outfit",sans-serif;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;
  padding:1rem 1.2rem;transition:color .2s;
}
.scrap-prev{left:clamp(.6rem,3vw,2.2rem)}
.scrap-next{right:clamp(.6rem,3vw,2.2rem)}
.scrap-prev:hover,.scrap-next:hover{color:var(--copper)}
.scrap-hint{
  position:absolute;top:1.4rem;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:.7rem;
  opacity:1;transition:opacity .6s;
}
.scrap-hint em{
  font-family:"Playfair Display",serif;font-style:italic;font-size:.82rem;
  letter-spacing:.14em;color:var(--cream);white-space:nowrap;
}
.scrap-hint em b{color:var(--copper);font-weight:400;margin:0 .45em}
.scrap-hint i{
  font-style:normal;color:var(--copper);font-size:.72rem;line-height:1;
  animation:hintFloat 2.2s ease-in-out infinite;
}
.scrap-hint i:last-child{animation-delay:1.1s}
@keyframes hintFloat{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(-4px);opacity:1}}
.scrap.hinted .scrap-hint{opacity:0}
@media(max-width:700px){
  .vtile video{height:30vh}
  .print img,.print video{max-height:66vh;max-width:88vw}
  .print{padding:8px 8px 20px}
}

/* ═══ curved film carousel: one at a time ═══ */
.vstage{overflow:hidden}
.vstage-scene{display:none}
.vstage .vtile{
  position:absolute;left:50%;top:50%;margin:0;
  transform-style:preserve-3d;backface-visibility:hidden;
  will-change:transform,opacity,filter;
  border:none;
}
.vstage .vtile::after{display:none}
.vstage .vtile .vtile-tag{display:none}
.vstage .vtile video{height:min(50vh,480px);width:auto;aspect-ratio:9/16;object-fit:cover;pointer-events:none;background:var(--char)}
.vstage .vtile.wide video{height:min(44vh,420px)}
.vstage .vtile.off{display:none}
@media(max-width:700px){
  .vstage-scene{height:52vh}
  .vstage .vtile video{height:44vh}
  .vstage .vtile.wide video{height:32vh}
}


/* featured wide film */
.film-feature{
  display:block;position:relative;width:100%;margin:1.6rem 0 2.4rem;
  padding:0;border:1px solid var(--line);background:var(--char);cursor:pointer;
  overflow:hidden;transition:border-color .3s;
}
.film-feature:hover{border-color:var(--copper)}
.film-feature video{width:100%;height:auto;display:block;pointer-events:none}
.film-feature .watch-strip{
  position:absolute;left:0;right:0;bottom:0;
  background:rgba(242,234,217,.14);
  backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
  color:#fff;font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;font-weight:500;
  padding:1rem 1.2rem;text-align:center;border-top:1px solid rgba(242,234,217,.28);
  transition:background .3s;
}
.film-feature:hover .watch-strip{background:rgba(192,138,78,.55)}

/* expanded film player: arrows + film strip */
.vlb.has-strip.open{display:flex;flex-direction:column;justify-content:center;gap:1rem}
.vlb .flb-stage{position:relative;z-index:2;display:flex;align-items:center;justify-content:center}
.vlb.has-strip video{max-height:70vh;max-width:88vw}
.flb-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  background:rgba(24,20,17,.7);backdrop-filter:blur(10px);
  border:1px solid rgba(242,234,217,.25);border-radius:50%;
  width:52px;height:52px;color:var(--cream);font-size:1.7rem;line-height:1;
  cursor:pointer;transition:border-color .25s,color .25s,background .25s;
}
.flb-arrow:hover{border-color:var(--copper);color:var(--copper)}
.flb-prev{left:clamp(.6rem,3vw,2.4rem)}
.flb-next{right:clamp(.6rem,3vw,2.4rem)}
.flb-strip{
  position:relative;z-index:3;display:flex;gap:.6rem;justify-content:center;
  max-width:92vw;overflow-x:auto;padding:.2rem;scrollbar-width:none;
}
.flb-strip::-webkit-scrollbar{display:none}
.flb-thumb{
  flex:0 0 auto;padding:0;border:2px solid transparent;background:none;cursor:pointer;
  opacity:.5;transition:opacity .25s,border-color .25s;
}
.flb-thumb img{height:60px;width:auto;display:block}
.flb-thumb:hover{opacity:.85}
.flb-thumb.on{opacity:1;border-color:var(--copper)}
/* carousel side arrows */
.vnav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:120;
  background:rgba(24,20,17,.72);backdrop-filter:blur(10px);
  border:1px solid rgba(242,234,217,.25);border-radius:50%;
  width:48px;height:48px;color:var(--cream);font-size:1.6rem;line-height:1;
  cursor:pointer;transition:all .25s;
}
.vnav:hover{border-color:var(--copper);color:var(--copper)}
.vnav.dim{opacity:.25;pointer-events:none}
.vnav-prev{left:clamp(.8rem,6vw,6rem)}
.vnav-next{right:clamp(.8rem,6vw,6rem)}
@media(max-width:700px){
  .vnav{width:42px;height:42px}
  .vnav-prev{left:.5rem}.vnav-next{right:.5rem}
  .flb-thumb img{height:44px}
  .vlb.has-strip video{max-height:60vh}
}

/* reel thumbs: the not-playing films, small, under the playing one */
.vthumbs{
  display:flex;gap:.7rem;justify-content:center;align-items:center;
  margin:1.2rem auto 0;max-width:92vw;overflow-x:auto;padding:.2rem .6rem;
  scrollbar-width:none;
}
.vthumbs::-webkit-scrollbar{display:none}
.vthumb{
  flex:0 0 auto;padding:0;background:none;cursor:pointer;
  border:2px solid transparent;opacity:.45;
  transition:opacity .3s,border-color .3s,transform .3s;
}
.vthumb img{height:72px;width:auto;display:block}
.vthumb:hover{opacity:.85}
.vthumb.on{opacity:1;border-color:var(--copper);transform:scale(1.06)}
@media(max-width:700px){.vthumb img{height:52px}}

/* founders drift: photos slowly cross the bottom of the story */
.drift{overflow:hidden;padding:4.5rem 0 5rem;cursor:grab}
.drift.dragging{cursor:grabbing}
.drift-track{
  display:flex;align-items:center;gap:clamp(1.4rem,3vw,3rem);
  width:max-content;will-change:transform;touch-action:pan-y;
}
.drift figure{margin:0;flex:0 0 auto;user-select:none;-webkit-user-select:none}
.drift img{
  width:auto;display:block;pointer-events:none;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
  box-shadow:0 18px 44px rgba(0,0,0,.45);
}
.drift .d-tall img{height:clamp(240px,34vh,380px)}
.drift .d-mid img{height:clamp(200px,28vh,320px)}
.drift .d-low img{height:clamp(160px,23vh,260px)}
.drift .up{transform:translateY(-1.4rem)}
.drift .dn{transform:translateY(1.4rem)}
.drift figure.pressed img,.drift figure:hover img{transform:scale(1.045) rotate(.6deg)}
.drift figure:nth-child(even).pressed img,.drift figure:nth-child(even):hover img{transform:scale(1.045) rotate(-.6deg)}
@media(max-width:700px){
  .drift{padding:3rem 0 3.5rem}
  .drift .up{transform:translateY(-.8rem)}
  .drift .dn{transform:translateY(.8rem)}
}

/* films row: reel posters under the featured film */
.vthumbs.films-row{margin:0 auto 1rem;gap:.9rem}
.vthumbs.films-row .vthumb{opacity:.8}
.vthumbs.films-row .vthumb:hover{opacity:1;border-color:var(--copper)}
.vthumbs.films-row .vthumb img{height:120px}
@media(max-width:700px){.vthumbs.films-row .vthumb img{height:84px}}
