/* glow: visual layer v1 - 2026-10-10 */
:root{--em:#0B2723;--em-2:#123F37;--gold-hi:#F1D27A;--gold-mid:#D4A94A;--gold-lo:#A9812B;--ivory:#FFF9EC;--glass:rgba(255,255,255,.09)}
html{scroll-padding-top:84px}
body{background:var(--ivory)}
.scroll-bar{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi),var(--gold-mid));z-index:100;pointer-events:none}
/* header */
header.site{background:rgba(255,249,236,.86);backdrop-filter:blur(14px) saturate(1.3);transition:box-shadow .3s}
header.site.scrolled{box-shadow:0 6px 24px rgba(11,39,35,.14)}
/* type */
h1{font-size:clamp(2.3rem,7.2vw,4.4rem);letter-spacing:-.01em}
h2{font-size:clamp(1.8rem,4.6vw,3rem)}
.gold-text{background:linear-gradient(100deg,var(--gold-hi),var(--gold-mid) 45%,#fff0b8 70%,var(--gold-mid));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-size:200% auto;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:200% center}}
/* HOME HERO */
.hero{background:radial-gradient(900px 520px at 85% 0%,rgba(241,210,122,.28),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(35,87,77,.9),transparent 60%),linear-gradient(160deg,var(--em) 0%,var(--em-2) 100%);color:#EAF3EF;padding:clamp(2.5rem,7vw,6rem) 0 clamp(3.5rem,8vw,7rem)}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(2px 2px at 20% 30%,rgba(241,210,122,.9),transparent),radial-gradient(1.5px 1.5px at 70% 20%,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 85% 65%,rgba(241,210,122,.8),transparent),radial-gradient(1.5px 1.5px at 35% 80%,rgba(255,255,255,.7),transparent),radial-gradient(2px 2px at 55% 55%,rgba(241,210,122,.7),transparent);background-size:420px 420px;opacity:.7;animation:twinkle 5s ease-in-out infinite alternate;pointer-events:none}
@keyframes twinkle{from{opacity:.35}to{opacity:.9}}
.hero .wrap{position:relative;z-index:1}
.hero h1{color:#fff}
.hero .eyebrow{color:var(--gold-hi);background:none;border-left:2px solid var(--gold-mid);padding-left:.7rem}
.hero p.lead{color:#D6E5DF}
.hero .trust span{color:#EFE3BC}
.hero .quick-book{background:var(--glass);border:1px solid rgba(241,210,122,.35);backdrop-filter:blur(12px);box-shadow:0 20px 50px rgba(0,0,0,.28)}
.hero .quick-book select,.hero .quick-book input{background:rgba(255,255,255,.95);color:var(--ink);border-color:transparent}
.hero .qb-note,.hero .qb-note a{color:#D6E5DF}
.hero .qb-note a{text-decoration:underline}
.hero-media::before{border-color:var(--gold-mid);opacity:.5;border-radius:999px 999px 24px 24px;inset:-16px}
.hero-media img{border:0;box-shadow:0 24px 50px rgba(0,0,0,.4);border-radius:999px 999px 20px 20px;animation:floaty 7s ease-in-out infinite}
.hero-media img:nth-child(2){animation-delay:-3.5s;margin-top:3rem}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hero .badge-float{background:linear-gradient(135deg,#fff,#FFF3CF);color:var(--em);border:1px solid var(--gold-mid)}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero-media{max-width:420px;margin:0 auto}}
/* marquee strip */
.events-strip{background:var(--em);border:0;padding:.9rem 0;overflow:hidden;border-top:1px solid rgba(241,210,122,.4);border-bottom:1px solid rgba(241,210,122,.4)}
.events-strip .wrap,.events-strip nav{max-width:none;padding:0}
.events-strip ul{flex-wrap:nowrap;justify-content:flex-start;width:max-content;animation:marq 38s linear infinite}
.events-strip:hover ul{animation-play-state:paused}
.events-strip a{background:transparent;border:1px solid rgba(241,210,122,.5);color:var(--gold-hi);white-space:nowrap}
.events-strip a:hover{background:var(--gold-mid);color:var(--em);border-color:var(--gold-mid)}
@keyframes marq{to{transform:translateX(-50%)}}
/* sections */
section{position:relative}
.section-head h2::after{width:90px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi));margin:.8rem 0 0}
.section-head.center h2::after{margin-left:auto;margin-right:auto}
.alt{background:linear-gradient(180deg,#FBF1D8 0%,#F6EBCF 100%)}
.dark{background:radial-gradient(700px 400px at 90% 10%,rgba(241,210,122,.18),transparent 60%),linear-gradient(150deg,var(--em),var(--em-2))}
.card,.why .item,.review,.pkg{border-radius:22px}
.card{border-top:0;box-shadow:0 14px 34px rgba(11,39,35,.12)}
.card .body h3{font-size:1.35rem}
.why .item{background:#fff;border-bottom:0;box-shadow:0 12px 30px rgba(11,39,35,.09)}
.why .item .ic{background:linear-gradient(135deg,#FFF1C4,#F1D27A)}
.card:hover,.why .item:hover,.pkg:hover{transform:translateY(-8px)}
/* inner page hero */
.page-hero{background:radial-gradient(700px 380px at 90% 0%,rgba(241,210,122,.25),transparent 60%),linear-gradient(155deg,var(--em),var(--em-2));color:#E3EFEA}
.page-hero h1{color:#fff}.page-hero .lead,.page-hero p{color:#D6E5DF}
.page-hero .eyebrow{color:var(--gold-hi)}
.page-hero .crumbs,.page-hero .crumbs a{color:#BFD3CB}
.page-hero a:not(.btn){color:var(--gold-hi)}
/* reveal */
.rv{opacity:0;transform:translateY(34px) scale(.98);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.gold-text,.hero::before,.hero-media img,.events-strip ul{animation:none}}
/* mobile: swipe rails + compact grids */
@media (max-width:700px){
  .why{grid-template-columns:1fr 1fr;gap:.8rem}.why .item{padding:1rem .7rem}.why .item h3{font-size:.95rem}.why .item p{font-size:.8rem}
  #services .cards,.sv2-blog .cards,#gallery .cards{display:grid;grid-auto-flow:column;grid-auto-columns:76%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding:6px 20px 18px;margin:0 -20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  #services .cards::-webkit-scrollbar,.sv2-blog .cards::-webkit-scrollbar,#gallery .cards::-webkit-scrollbar{display:none}
  #services .cards>.card,.sv2-blog .cards>.card,#gallery .cards>.card{scroll-snap-align:center}
  #services .section-head::after{content:"Swipe →";display:block;color:var(--gold-text);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-top:.4rem}
}
/* ===== v2: storytelling ===== */
.stats-band{padding:0;background:var(--em);color:#fff;border-bottom:1px solid rgba(241,210,122,.3)}
.stats-band ul{list-style:none;margin:0;padding:2rem 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}
.stats-band b{display:block;font-family:var(--serif);font-size:clamp(1.8rem,5.5vw,3rem);color:var(--gold-hi);line-height:1.1;font-weight:700}
.stats-band b i{font-style:normal;font-size:.5em;margin-right:.15em}
.stats-band li>span{display:block;font-size:.82rem;color:#CFE0D9;margin-top:.3rem}
@media(max-width:700px){.stats-band ul{grid-template-columns:1fr 1fr;gap:1.4rem 1rem}}
/* sticky stacked steps */
#how .steps{display:block;max-width:760px;margin:0 auto;counter-reset:st}
#how .step{position:sticky;top:calc(92px + var(--n,0)*16px);margin:0 0 1.2rem;padding:1.6rem 1.6rem 1.7rem 5rem;border-radius:22px;box-shadow:0 18px 40px rgba(0,0,0,.28);counter-increment:st;background:linear-gradient(#fff,#FFFBF0)}
#how .step::before{content:"0" counter(st);position:absolute;left:1.3rem;top:1.1rem;font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--gold-mid);font-weight:700}
#how .step:nth-child(1){--n:0}#how .step:nth-child(2){--n:1}#how .step:nth-child(3){--n:2}#how .step:nth-child(4){--n:3}
#how .step h3{margin-bottom:.3rem}
/* desktop bento services */
@media(min-width:900px){
  #services .cards{grid-template-columns:repeat(4,1fr);grid-auto-flow:dense}
  #services .cards>.card:nth-child(1),#services .cards>.card:nth-child(7){grid-column:span 2}
  #services .cards>.card:nth-child(1) img,#services .cards>.card:nth-child(7) img{aspect-ratio:16/11}
}
/* finale */
.finale{background:radial-gradient(900px 500px at 50% 0%,rgba(241,210,122,.3),transparent 65%),linear-gradient(160deg,#071B18,var(--em-2));color:#E7F1ED;text-align:center;padding:clamp(4rem,11vw,8rem) 0;overflow:hidden}
.finale h2{color:#fff;font-size:clamp(2.2rem,7vw,4.6rem);max-width:900px;margin:.3rem auto 1rem}
.finale h2::after{display:none}
.finale p{max-width:560px;margin:0 auto 1.8rem;color:#CFE0D9;font-size:1.1rem}
.finale .eyebrow{color:var(--gold-hi)}
.finale-cta{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
.btn-ghost{border-color:rgba(241,210,122,.6);color:var(--gold-hi);background:transparent}.btn-ghost:hover{background:rgba(241,210,122,.15);color:#fff}
.finale .btn{font-size:1.1rem;padding:1rem 1.8rem}
.finale-points{list-style:none;margin:2rem 0 0;padding:0;display:flex;gap:.6rem 1.4rem;justify-content:center;flex-wrap:wrap;color:var(--gold-hi);font-size:.9rem}
.finale-points li::before{content:"✦ ";color:var(--gold-mid)}
.finale-glow{position:absolute;left:50%;top:-120px;width:620px;height:620px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(241,210,122,.25),transparent 65%);animation:floaty 8s ease-in-out infinite;pointer-events:none}
/* desktop cursor glow + magnetic */
.cursor-glow{position:fixed;left:0;top:0;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,rgba(241,210,122,.16),transparent 65%);pointer-events:none;z-index:1;mix-blend-mode:soft-light;will-change:transform}
.magnetic{transition:transform .2s ease-out,background .2s,box-shadow .2s}
.btn-gold,.btn-wa{box-shadow:0 8px 22px rgba(0,0,0,.18)}
.btn-gold{background:linear-gradient(135deg,var(--gold-hi),var(--gold-mid))}
