/* Extras: hero vibes, package builder, reference drop box, before/after slider */
.hero{transition:background .5s}
.hero[data-vibe=desi]{--em:#3A1A06;--em-2:#7A3A0A;--gold-hi:#FFD36B;--gold-mid:#F59E0B}
.hero[data-vibe=pastel]{--em:#3B1730;--em-2:#7A3560;--gold-hi:#FFC9E3;--gold-mid:#EC7FB2}
.hero[data-vibe=royal]{--em:#0B2723;--em-2:#123F37;--gold-hi:#F1D27A;--gold-mid:#D4A94A}
.hero[data-vibe=modern]{--em:#16161D;--em-2:#2B2B3A;--gold-hi:#FFD36B;--gold-mid:#F59E0B}
.vibes{margin:1.1rem 0 0}
.vibes-l{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-hi);font-weight:600;margin:0 0 .5rem}
.vibes-row{display:flex;flex-wrap:wrap;gap:.5rem}
.vibe{min-height:44px;padding:.5rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font:600 .88rem Inter,system-ui,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
.vibe[aria-pressed=true]{background:var(--gold-mid);border-color:var(--gold-mid);color:#1a1205}
.vibe-cap{color:#EFE3BC;font-size:.92rem;margin:.6rem 0 0}.vibe-cap a{color:var(--gold-hi);text-decoration:underline}

.pb{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1rem,3vw,2rem);box-shadow:0 14px 40px rgba(11,39,35,.08);max-width:980px;margin:0 auto}
.pb-step{margin:0 0 1.3rem}.pb-step h3{font-size:1rem;margin:0 0 .6rem;font-family:Inter,system-ui,sans-serif}
.pb-step h3 span{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#0B2723;color:#F1D27A;font-size:.85rem;margin-right:.5rem}
.pb-opts{display:flex;flex-wrap:wrap;gap:.5rem}
.pb-opt{min-height:44px;padding:.5rem 1rem;border-radius:12px;border:1.5px solid var(--line);background:#fff;font:500 .92rem Inter,system-ui,sans-serif;cursor:pointer;color:var(--ink)}
.pb-opt[aria-pressed=true]{border-color:#D4A94A;background:#FFF6DC;font-weight:600;box-shadow:0 0 0 2px rgba(212,169,74,.25)}
.pb-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.pb-tier{text-align:left;border:1.5px solid var(--line);border-radius:14px;background:#fff;padding:.9rem;cursor:pointer;font-family:Inter,system-ui,sans-serif;color:var(--ink);min-height:44px}
.pb-tier[aria-pressed=true]{border-color:#D4A94A;background:#FFF6DC;box-shadow:0 0 0 2px rgba(212,169,74,.25)}
.pb-tier b{display:block;font-size:1rem}.pb-tier em{display:block;font-style:normal;color:var(--gold-text);font-weight:700;margin:.15rem 0}.pb-tier small{color:var(--muted);line-height:1.35;display:block}
.pb-out{background:linear-gradient(160deg,#0B2723,#123F37);color:#fff;border-radius:16px;padding:1.2rem;margin-top:.4rem}
.pb-out .pb-price{font:700 clamp(1.5rem,5vw,2.1rem) 'Playfair Display',serif;color:#F1D27A;margin:.1rem 0}
.pb-out ul{margin:.6rem 0;padding-left:1.1rem;color:#D6E5DF;font-size:.93rem}.pb-out p{margin:.3rem 0;color:#D6E5DF;font-size:.9rem}
.pb-out .btn{margin-top:.6rem}
.pb-ph{color:#D6E5DF;margin:0}

.dz{border:2px dashed #D4A94A;border-radius:18px;padding:1.6rem 1rem;text-align:center;background:rgba(255,255,255,.06);cursor:pointer;transition:background .2s,border-color .2s}
.dz.over{background:rgba(241,210,122,.18);border-style:solid}
.dz:focus-visible{outline:3px solid #F1D27A;outline-offset:3px}
.dz b{display:block;font-size:1.05rem}.dz span{font-size:.9rem;opacity:.85}
.dz-prev{display:none;margin-top:1rem;text-align:center}.dz-prev img{max-width:220px;max-height:200px;border-radius:12px;display:block;margin:0 auto .7rem}
.dz-prev .row{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}
.dz-err{color:#ffb4b4;margin:.6rem 0 0;font-size:.9rem}

.ba{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.ba-item figcaption{margin-top:.5rem;font-weight:600}
.ba-box{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#222;touch-action:pan-y;user-select:none}
.ba-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-top{position:absolute;inset:0;clip-path:inset(0 50% 0 0)}
.ba-top img{width:100%}
.ba-tag{position:absolute;top:.6rem;padding:.2rem .6rem;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;font-size:.75rem;font-weight:600}
.ba-tag.l{left:.6rem}.ba-tag.r{right:.6rem}
.ba-line{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#F1D27A;transform:translateX(-50%);pointer-events:none}
.ba-line::after{content:"\2194";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#F1D27A;color:#0B2723;display:grid;place-items:center;font-weight:700}
.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}

.wa-float[data-tip]::after{content:attr(data-tip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);white-space:nowrap;background:#0B2723;color:#fff;font-size:.8rem;font-weight:500;padding:.4rem .7rem;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s}
.wa-float[data-tip]:hover::after,.wa-float[data-tip]:focus-visible::after{opacity:1}
@media (max-width:640px){.pb-tiers{grid-template-columns:1fr}.wa-float[data-tip]::after{display:none}}
@media (prefers-reduced-motion:reduce){.hero,.dz,.vibe{transition:none}}

/* ===== Mobile layer (phones): clean, calm, thumb-friendly ===== */
.m-only,.m-call,#mbar{display:none}
@media (max-width:640px){
  .m-only{display:block}
  .m-call{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#0B2723;color:#F1D27A;margin-left:auto;margin-right:.4rem}
  .m-call svg{width:20px;height:20px;fill:currentColor}
  .gold-text,.hero-media img,.hero::before,.events-strip ul{animation:none!important}
  .rv{opacity:1!important;transform:none!important}
  .scroll-bar,#vibes,#builder,.sticky-book,.wa-float,.hero-media,.hero p.lead,#activity-ticker{display:none!important}
  .hero{padding:1.6rem 0 1rem}
  .hero .wrap{display:block}
  body{padding-bottom:76px}
  #mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;align-items:center;gap:.7rem;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.08)}
  #mbar span{flex:1;font-size:.8rem;line-height:1.3;color:var(--ink)}
  #mbar a{flex:0 0 auto;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 1rem;border-radius:12px;background:#005C4B;color:#fff;font-weight:700;font-size:.92rem;text-decoration:none}
  .to-top{bottom:88px!important}
}
.m-hook{font:700 1.35rem/1.3 'Playfair Display',serif;color:#fff;margin:.2rem 0 .8rem}
.m-badges{display:flex;gap:.5rem;overflow-x:auto;padding:0 0 .6rem;margin:0 0 .4rem;list-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.m-badges::-webkit-scrollbar{display:none}
.m-badges li{flex:0 0 auto;padding:.45rem .8rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.82rem;font-weight:600;color:var(--ink);white-space:nowrap}
.m-sec{padding:1.4rem 0}
.m-sec h2{font-size:1.3rem;margin:0 0 .3rem}.m-sub{color:var(--muted);font-size:.92rem;margin:0 0 .9rem}
.m-ev{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.m-evb{position:relative;display:block;padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;background:#0B2723;cursor:pointer;min-height:44px}
.m-evb img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.m-evb b{display:block;padding:.5rem .6rem;color:#fff;font:600 .9rem Inter,system-ui,sans-serif;text-align:left}
.m-evb[aria-pressed=true]{border-color:#D4A94A}
.m-pk{display:flex;gap:.7rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.2rem 16px .8rem;margin:0 -16px;-webkit-overflow-scrolling:touch}
.m-card{flex:0 0 84%;scroll-snap-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;display:flex;flex-direction:column;box-sizing:border-box}
.m-card h3{font-size:1.05rem;margin:0}.m-card .m-pr{color:var(--gold-text);font-weight:700;margin:.15rem 0 .5rem}
.m-card ul{margin:0 0 .7rem;padding-left:1.1rem;font-size:.92rem;color:var(--ink);flex:1}.m-card li{margin:.2rem 0}
.m-card .m-note{font-size:.8rem;color:var(--muted);margin:0 0 .7rem}
.m-wa{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;background:#005C4B;color:#fff;font-weight:700;text-decoration:none;text-align:center;padding:.3rem .8rem;font-size:.92rem}
.m-more{display:block;text-align:center;font-weight:600;margin-top:.2rem}
.m-steps{display:grid;gap:.6rem;margin:0;padding:0;list-style:none;counter-reset:s}
.m-steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.9rem .9rem .9rem 3.2rem;position:relative}
.m-steps li::before{content:counter(s);position:absolute;left:.9rem;top:.9rem;width:1.7rem;height:1.7rem;border-radius:50%;background:#0B2723;color:#F1D27A;display:grid;place-items:center;font-weight:700;font-size:.9rem}
.m-steps b{display:block}.m-steps span{font-size:.9rem;color:var(--muted)}
.m-photo{background:#F7F1DF;border:1px solid #E6D9A8;border-radius:16px;padding:1.1rem}
.m-photo p{margin:0 0 .8rem}
