@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fonts/PlayfairDisplay.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 900;font-display:swap;src:url(/assets/fonts/PlayfairDisplay-italic.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/Inter.woff2) format("woff2")}

:root{
  --bg:#0a0a0c;
  --surface:#121217;
  --line:#2a2a33;
  --text:#ece8e1;
  --muted:#a29d94;
  --gold:#d6b66d;
  --gold-hi:#ecd08c;
  --display:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gutter:clamp(16px,5vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

/* Hero */
.hero{position:relative;min-height:min(92svh,860px);display:grid;place-items:center;text-align:center;overflow:hidden;border-radius:0 0 48px 48px;isolation:isolate}
.hero__bg,.hero__bg img{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero__bg img{object-fit:cover;object-position:center 40%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(10,10,12,.78) 0%,rgba(10,10,12,.35) 38%,rgba(10,10,12,.55) 72%,var(--bg) 100%)}
.hero__inner{padding:48px var(--gutter) 72px;max-width:1100px}
.hero__logo{width:72px;height:72px;margin:0 auto 28px;object-fit:contain}
h1{font:700 clamp(2.6rem,8vw,6rem)/1.02 var(--display);letter-spacing:-.01em;margin:0;text-wrap:balance}
.hero__sub{font:600 clamp(1.15rem,3vw,1.9rem)/1.3 var(--display);color:var(--gold-hi);margin:20px 0 0;text-wrap:balance}
.hero__cta{display:inline-block;margin-top:28px;padding:15px 40px;border:1px solid var(--gold);border-radius:999px;color:var(--gold-hi);text-decoration:none;font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;background:rgba(10,10,12,.4);backdrop-filter:blur(6px);transition:background .2s,color .2s}
.hero__cta:hover,.hero__cta:focus-visible{background:var(--gold);color:var(--bg);outline:none}

/* Rotating service line: all items listed by default (no JS / reduced motion), fades one at a time when JS runs */
.hero__rotator{margin:28px 0 0;font:800 clamp(1.05rem,2.6vw,1.5rem)/1.4 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--text);display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px}
.hero__rotator span+span::before{content:"\00b7";margin-right:18px;color:var(--gold)}
.hero__rotator.is-rotating{display:grid;height:1.5em;place-items:center}
.hero__rotator.is-rotating span{grid-area:1/1;opacity:0;transform:translateY(8px);transition:opacity .7s ease,transform .7s ease;color:var(--gold-hi)}
.hero__rotator.is-rotating span::before{content:none}
.hero__rotator.is-rotating span.is-on{opacity:1;transform:none}

/* Join section */
.join{display:grid;gap:clamp(32px,5vw,72px);grid-template-columns:minmax(0,1fr);max-width:1240px;margin:0 auto;padding:clamp(56px,8vw,112px) var(--gutter);scroll-margin-top:16px}
@media(min-width:960px){.join{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}}
.script{font:italic 800 clamp(3rem,7vw,5.2rem)/1 var(--display);margin:0 0 32px;color:var(--text)}
.form-card{background:#f4f0e8;color:#1b1a17;border-radius:20px;padding:clamp(20px,3vw,36px);border:1px solid var(--gold);box-shadow:0 24px 60px -24px rgba(0,0,0,.8)}

.video{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;border:1px solid var(--line)}
.video iframe{width:100%;height:100%;border:0;display:block}

/* Gallery */
.gallery{margin-top:28px}
.gallery__stage{position:relative;aspect-ratio:3/2;border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.gallery__main{width:100%;height:100%;object-fit:cover;transition:opacity .25s}
.gallery__main.is-fading{opacity:0}
.gallery__btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:0;background:rgba(10,10,12,.55);color:var(--gold-hi);font-size:2rem;line-height:1;cursor:pointer;backdrop-filter:blur(4px);transition:background .2s}
.gallery__btn:hover,.gallery__btn:focus-visible{background:rgba(10,10,12,.85);outline:none}
.gallery__btn--prev{left:0;border-radius:0 10px 10px 0}
.gallery__btn--next{right:0;border-radius:10px 0 0 10px}
.gallery__thumbs{list-style:none;margin:12px 0 0;padding:0 0 6px;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.gallery__thumbs li{flex:none}
.gallery__thumbs button{display:block;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:none;cursor:pointer;opacity:.55;scroll-snap-align:center;transition:opacity .2s,border-color .2s}
.gallery__thumbs button:hover{opacity:.85}
.gallery__thumbs button.is-active{opacity:1;border-color:var(--gold)}
.gallery__thumbs button:focus-visible{outline:2px solid var(--gold-hi);outline-offset:2px}
.gallery__thumbs img{width:96px;height:64px;object-fit:cover}

/* Footer */
.footer{max-width:760px;margin:0 auto;padding:24px var(--gutter) 96px;text-align:center;color:var(--muted);font-size:.95rem}
.footer__logo{width:64px;height:64px;margin:0 auto 32px;object-fit:contain}
.footer p{margin:0 0 16px}

@media(max-width:700px){
  .hero{border-radius:0 0 28px 28px;min-height:84svh}
  .gallery__btn{width:36px;height:52px}
  .gallery__thumbs img{width:80px;height:54px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
