:root{
  --bg:#000;--bg-2:#0b0b0c;--bg-3:#141416;--text:#fff;--muted:#b7b3ad;
  --line:#26262a;--red:#d8352a;--red-2:#ef4437;--max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,6vw,4.4rem);font-weight:700}
h2{font-size:clamp(1.6rem,3.2vw,2.5rem);margin-bottom:.7em}
h3{font-size:1.16rem}
p{margin:0 0 1rem}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 26px}
.narrow{max-width:780px}
.center{text-align:center}

/* ===== header ===== */
.site-header{position:fixed;top:0;left:0;right:0;z-index:80;background:linear-gradient(180deg,rgba(0,0,0,.75),rgba(0,0,0,0));transition:background .3s}
.site-header.solid{background:rgba(0,0,0,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:70px;gap:16px}
.logo img{height:24px;width:auto}
.nav{display:flex;gap:22px;align-items:center}
.nav a{text-decoration:none;font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#e7e4df;opacity:.85;transition:opacity .2s,color .2s;white-space:nowrap}
.nav a:hover{opacity:1;color:var(--red-2)}
.header-cta{display:flex;align-items:center;gap:12px}
.lang-switch{display:flex;border:1px solid rgba(255,255,255,.3);border-radius:999px;overflow:hidden}
.lang-switch a{padding:5px 11px;font-size:.7rem;letter-spacing:.1em;text-decoration:none;opacity:.75}
.lang-switch a.active{background:#fff;color:#000;opacity:1}
.btn-sm{padding:10px 20px;font-size:.72rem}
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;width:42px;height:38px;border-radius:8px;font-size:1.2rem;cursor:pointer;line-height:1}

/* ===== full-bleed video hero ===== */
.hero-video{position:relative;height:100svh;min-height:600px;overflow:hidden;display:flex;align-items:flex-end;background-size:cover;background-position:center 22%}
.hero-video.short{height:80svh;min-height:520px}
.hero-bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-bg iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);pointer-events:none;border:0}
.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.12) 45%,rgba(0,0,0,.88) 100%)}
.hero-content{position:relative;z-index:2;width:100%;padding-bottom:66px}
.hero-content h1{max-width:16ch;text-shadow:0 2px 34px rgba(0,0,0,.55)}
.hero-content .lead{max-width:600px;font-size:1.2rem;color:#f2ede6}
.hero-content .eyebrow{color:#fff;opacity:.95;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.scroll-cue{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:2;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;opacity:.6}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--red-2);font-weight:700;margin-bottom:1rem}

/* ===== buttons ===== */
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding:15px 30px;border-radius:999px;transition:transform .15s,background .2s,color .2s,border-color .2s;cursor:pointer;border:1px solid transparent;white-space:nowrap}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-2);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}

/* ===== sections ===== */
.section{padding:84px 0}
.section.tight{padding:58px 0}
.alt{background:var(--bg-2)}
.intro{font-size:1.28rem;line-height:1.75;color:#e9e5df;font-family:'Fraunces',serif;font-weight:400}
.muted{color:var(--muted);font-size:.95rem}
.stat-strip{display:flex;flex-wrap:wrap;gap:12px 30px;justify-content:center;color:var(--muted);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}
.stat-strip b{color:#fff;font-weight:600}

/* ===== cards / packages ===== */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:14px}
.card{background:var(--bg-3);border:1px solid var(--line);border-radius:16px;padding:28px}
.card h3{color:#fff}.card p{margin:0;color:var(--muted);font-size:.96rem}
.packages{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}
.pkg{border:1px solid var(--line);border-radius:18px;padding:34px;background:var(--bg-3)}
.pkg-tag{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--red-2);font-weight:700;margin-bottom:12px}
.pkg h3{font-size:1.5rem}.pkg p{margin:0;color:var(--muted)}
.addon{margin-top:20px;border:1px dashed var(--line);border-radius:16px;padding:24px 28px;background:rgba(216,53,42,.06);display:flex;gap:16px;align-items:flex-start}
.addon .ic{font-size:1.4rem;line-height:1}
.addon h3{margin:0 0 .3em;font-size:1.1rem}.addon p{margin:0;color:var(--muted);font-size:.95rem}
@media(max-width:640px){.packages{grid-template-columns:1fr}}

/* ===== split ===== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.split img{border-radius:16px;width:100%;object-fit:cover;max-height:560px}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:26px}}

/* ===== big videos ===== */
.videos-wide{max-width:1500px;margin:0 auto;padding:0 26px}
.vfull{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden;margin-top:22px;border:1px solid var(--line)}
.vfull .lite{position:absolute;inset:0;background-size:cover;background-position:center;cursor:pointer;display:flex;align-items:center;justify-content:center}
.vfull .lite::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.45));transition:background .2s}
.vfull .lite:hover::after{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.32))}
.playbtn{position:relative;z-index:2;width:82px;height:82px;border-radius:50%;border:none;background:rgba(216,53,42,.94);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,background .2s;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.playbtn:hover{transform:scale(1.08);background:var(--red-2)}
.playbtn svg{width:30px;height:30px;margin-left:4px}
.vfull iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
.vlabel{margin-top:12px;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* pills / steps */
.steps{padding-left:20px;font-size:1.05rem}.steps li{margin-bottom:10px}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.pills span{background:var(--bg-3);border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:.9rem;font-weight:500}

/* spotify bigger */
.spotify-embed{border-radius:14px;overflow:hidden;margin:24px auto 0;max-width:900px}

/* cta band */
.cta-band{background:linear-gradient(160deg,#1a0605,#000);text-align:center;padding:90px 0;border-top:1px solid var(--line)}
.cta-band p{color:#d8cdba;max-width:560px;margin:0 auto 26px}

/* booking form */
.book{background:var(--bg-2);border-top:1px solid var(--line)}
.contact-form{display:flex;flex-direction:column;gap:16px;max-width:680px;margin-top:8px}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.contact-form input,.contact-form select,.contact-form textarea{font-family:inherit;font-size:1rem;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--bg-3);color:#fff}
.contact-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form button{align-self:flex-start;margin-top:6px}

/* footer */
.site-footer{background:#000;color:var(--muted);padding:54px 0 40px;border-top:1px solid var(--line)}
.foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;align-items:center}
.foot-tag{font-family:'Fraunces',serif;font-size:1.05rem;color:#e8e3dc;max-width:480px}
.socials{display:flex;gap:16px;flex-wrap:wrap}
.socials a{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
.socials a:hover{color:var(--red-2)}
.foot-meta{font-size:.8rem;margin-top:24px;opacity:.6}

/* ===== LIGHT THEME (wedding) ===== */
body.light{background:#fff;color:#161310}
body.light .site-header{background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,0))}
body.light .site-header.solid{background:rgba(255,255,255,.93);border-bottom:1px solid #ececec}
body.light .logo img{filter:invert(1)}
body.light .nav a{color:#3a352f}
body.light .nav a:hover{color:var(--red)}
body.light .lang-switch{border-color:rgba(0,0,0,.25)}
body.light .lang-switch a.active{background:#161310;color:#fff}
body.light .nav-toggle{color:#161310;border-color:rgba(0,0,0,.3)}
body.light .alt{background:#f6f2ec}
body.light .book{background:#f6f2ec;border-color:#ececec}
body.light .intro{color:#3a352f}
body.light .card,body.light .pkg{background:#faf7f2;border-color:#ececec}
body.light .card h3,body.light .pkg h3{color:#161310}
body.light .card p,body.light .pkg p,body.light .muted,body.light .addon p{color:#5b554d}
body.light .pills span{background:#f6f2ec;border-color:#e6e0d7}
body.light .vfull{border-color:#e6e0d7}
body.light .btn-ghost{color:#161310;border-color:rgba(0,0,0,.3)}
body.light .btn-ghost:hover{background:rgba(0,0,0,.05);border-color:#161310}
body.light .cta-band{background:linear-gradient(160deg,#f6efe8,#fff);color:#161310;border-top:1px solid #ececec}
body.light .cta-band p{color:#5b554d}
body.light .contact-form input,body.light .contact-form select,body.light .contact-form textarea{background:#fff;color:#161310;border-color:#e6e0d7}
body.light .site-footer{background:#161310;color:#c9bfb0}
body.light .hero-content h1,body.light .hero-content .lead,body.light .hero-content .eyebrow{color:#fff}
body.light .nav-toggle[aria-expanded]{color:#161310}

/* ===== trusted-by strip ===== */
.trust{border-bottom:1px solid var(--line);background:#050505;padding:26px 0}
.trust .t-title{text-align:center;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.trust-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 34px}
.trust-logos span{font-family:'Fraunces',serif;font-weight:600;font-size:1.12rem;letter-spacing:.02em;color:#efece6;opacity:.82;white-space:nowrap;transition:opacity .2s}
.trust-logos span:hover{opacity:1}
body.light .trust{background:#faf7f2}
body.light .trust-logos span{color:#2a251f}

/* ===== equipment ===== */
.equip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:18px}
.equip-item{display:flex;gap:12px;align-items:flex-start;background:var(--bg-3);border:1px solid var(--line);border-radius:12px;padding:18px}
.equip-item .ei{font-size:1.1rem;line-height:1.2}
.equip-item b{display:block;font-size:.95rem;margin-bottom:2px}
.equip-item span{color:var(--muted);font-size:.86rem}
body.light .equip-item{background:#faf7f2;border-color:#ececec}
body.light .equip-item span{color:#5b554d}

/* ===== comparison table ===== */
.compare{width:100%;border-collapse:collapse;margin-top:18px;font-size:.94rem;overflow:hidden;border-radius:14px;border:1px solid var(--line)}
.compare th,.compare td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}
.compare thead th{background:var(--bg-3);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.compare thead th:first-child{color:var(--muted)}
.compare tbody th{font-weight:500;color:#e9e5df}
.compare .yes{color:#57d977;font-weight:700}
.compare .no{color:#8a8580}
.compare col.me{background:rgba(216,53,42,.10)}
.compare td.me{color:#fff;font-weight:600}
body.light .compare thead th{background:#f0eae2;color:#161310}
body.light .compare tbody th{color:#2a251f}
body.light .compare .no{color:#a49e95}
.compare-wrap{overflow-x:auto}

/* ===== FAQ ===== */
.faq-item{border-bottom:1px solid var(--line);padding:22px 0}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-item h3{margin:0 0 .4em;font-size:1.12rem}
.faq-item p{margin:0;color:var(--muted)}
body.light .faq-item p{color:#5b554d}

/* ===== MOBILE ===== */
@media(max-width:860px){
  .nav-toggle{display:block}
  .nav{position:fixed;top:70px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:rgba(0,0,0,.97);backdrop-filter:blur(10px);padding:8px 0;border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .3s ease}
  .nav.open{max-height:70vh}
  .nav a{width:100%;padding:15px 26px;font-size:.9rem;opacity:1}
  body.light .nav{background:rgba(255,255,255,.98)}
  .header-cta{gap:8px}
}
@media(max-width:420px){
  .lang-switch{display:none}
  .header-inner{gap:8px}
}
@media(max-width:640px){
  .contact-form .row2{grid-template-columns:1fr}
  .section{padding:58px 0}
  .hero-content{padding-bottom:44px}
  .intro{font-size:1.12rem}
}
