/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  --ivory:#FBF7EF;
  --warm-white:#FDFBF6;
  --beige:#EAD9BC;
  --sand:#E6D6B4;
  --gold:#C4A052;
  --gold-lite:#E7CE88;
  --gold-deep:#9E7E36;
  --emerald:#0E3B2E;
  --emerald-deep:#072219;
  --emerald-mid:#164e3a;
  --burgundy:#5E1A2A;
  --ink:#181512;
  --ink-soft:#3a352e;

  --serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --sans:'Mulish', system-ui, -apple-system, sans-serif;

  --shell: min(1240px, 92vw);
  --pad-y: clamp(5.5rem, 12vh, 9rem);
  --ease:cubic-bezier(.22,.61,.36,1);
  --gold-grad:linear-gradient(120deg,#9E7E36 0%,#E7CE88 32%,#C4A052 55%,#F3E4B4 78%,#A6863B 100%);
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:var(--sans);
  background:var(--ivory);
  color:var(--ink);
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--gold);color:var(--emerald-deep)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}

h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.01em}
.eyebrow{
  font-family:var(--sans);font-weight:600;font-size:.72rem;
  letter-spacing:.42em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.9rem;color:var(--gold-deep);
}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor;opacity:.6}
.eyebrow.center::before{display:none}
.on-dark .eyebrow{color:var(--gold-lite)}

/* Gold foil text */
.foil{
  background:var(--gold-grad);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ============================================================
   LAYOUT PRIMITIVES
   ============================================================ */
.shell{width:var(--shell);margin-inline:auto}
.section{position:relative;padding-block:var(--pad-y)}
.section.dark{background:var(--emerald);color:var(--ivory)}
.section.deep{background:var(--emerald-deep);color:var(--ivory)}
.section.dark .lead,.section.deep .lead{color:rgba(251,247,239,.72)}
.lead{color:var(--ink-soft);font-size:clamp(1rem,1.6vw,1.12rem);max-width:52ch}
.section-head{max-width:var(--shell);margin-inline:auto;margin-bottom:3.4rem}
.section-head h2{font-size:clamp(2.1rem,5.2vw,4rem);margin:1.1rem 0 1.1rem;font-weight:300}
.section-head.center{text-align:center;display:flex;flex-direction:column;align-items:center}

/* Seam: emergent gradient transitions between sections */
.seam{height:0;position:relative}
.seam::after{content:"";position:absolute;left:0;right:0;height:150px;pointer-events:none}
.seam.ivory-to-emerald::after{top:0;background:linear-gradient(var(--ivory),var(--emerald))}
.seam.emerald-to-ivory::after{top:0;background:linear-gradient(var(--emerald),var(--ivory))}
.seam.emerald-to-deep::after{top:0;background:linear-gradient(var(--emerald),var(--emerald-deep))}
.seam.deep-to-ivory::after{top:0;background:linear-gradient(var(--emerald-deep),var(--ivory))}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  --bg:var(--emerald);--fg:var(--ivory);
  display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  padding:1.02rem 2.1rem;border-radius:999px;
  font-family:var(--sans);font-weight:600;font-size:.82rem;
  letter-spacing:.13em;text-transform:uppercase;
  background:var(--bg);color:var(--fg);
  position:relative;overflow:hidden;isolation:isolate;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),color .5s var(--ease);
  box-shadow:0 12px 30px -14px rgba(14,59,46,.6);
}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--gold-grad);
  transform:translateY(101%);transition:transform .55s var(--ease);
}
.btn:hover{transform:translateY(-3px);color:var(--emerald-deep);box-shadow:0 22px 40px -16px rgba(196,160,82,.6)}
.btn:hover::before{transform:translateY(0)}
.btn.gold{--bg:var(--gold-grad);color:var(--emerald-deep)}
.btn.gold::before{background:var(--emerald)}
.btn.gold:hover{color:var(--ivory)}
.btn.ghost{--bg:transparent;color:var(--ivory);border:1px solid rgba(231,206,136,.5)}
.btn.ghost:hover{color:var(--emerald-deep)}
.btn.ghost::before{background:var(--gold-grad)}

/* ============================================================
   CUSTOM CURSOR
   ============================================================ */
.cursor,.cursor-dot{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;mix-blend-mode:difference}
.cursor{width:34px;height:34px;border:1px solid var(--gold-lite);transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s}
.cursor-dot{width:5px;height:5px;background:var(--gold-lite);transform:translate(-50%,-50%)}
.cursor.grow{width:64px;height:64px;background:rgba(231,206,136,.12);border-color:transparent}
@media (hover:none),(pointer:coarse){.cursor,.cursor-dot{display:none}}

/* ============================================================
   PRELOADER
   ============================================================ */
#loader{
  position:fixed;inset:0;z-index:10000;background:#0E3B2E;
  display:grid;place-items:center;transition:opacity .8s ease,visibility .8s;
}

#loader.done{opacity:0;visibility:hidden}

#loader .lstack{display:flex;flex-direction:column;align-items:center;gap:1.55rem}

#loader svg{width:96px;height:96px}

#loader .lotus-draw path{stroke:#D9AD51;stroke-width:1.1}


/* ============================================================
   LOADER LOGO
   ============================================================ */

#loader .loader-logo{width: 300px;height:auto;display:block;object-fit:contain;opacity:0;transform:translateY(14px) scale(.94);filter:drop-shadow(0 0 0 rgba(231,206,136,0));animation:loaderLogoReveal 1.4s .15s var(--ease) forwards}

@keyframes loaderLogoReveal{
  0%{opacity:0;transform:translateY(14px) scale(.94);filter:drop-shadow(0 0 0 rgba(231,206,136,0))}
  45%{opacity:1;transform:translateY(0) scale(1);filter:drop-shadow(0 0 12px rgba(231,206,136,.18))}
  70%{opacity:1;transform:translateY(0) scale(1.015);filter:drop-shadow(0 0 20px rgba(231,206,136,.25))}
  100%{opacity:1;transform:translateY(0) scale(1);filter:drop-shadow(0 0 8px rgba(231,206,136,.12))}
}


/* ============================================================
   LOADER BRAND NAME
   ============================================================ */

#loader .lname{
  font-family:'Pinyon Script','Fraunces',cursive;
  font-size:2.5rem;line-height:1;letter-spacing:.01em;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  opacity:0;
  transform:translateY(10px);
  animation:loaderNameReveal 1s .75s var(--ease) forwards;
}

@keyframes loaderNameReveal{
  0%{opacity:0;transform:translateY(10px)}
  100%{opacity:1;transform:translateY(0)}
}


/* ============================================================
   LOADER PROGRESS BAR
   ============================================================ */

#loader .lbar{width:130px;height:1px;background:rgba(231,206,136,.25);overflow:hidden}

#loader .lbar span{display:block;height:100%;width:100%;background:var(--gold-grad);transform:translateX(-100%);animation:load 1.8s .2s var(--ease) forwards}

@keyframes load{
  to{transform:translateX(0)}
}


/* ============================================================
   MOBILE LOADER
   ============================================================ */

@media(max-width:640px){

  #loader .lstack{gap:1.3rem}

  #loader .loader-logo{width: 200px}

  #loader .lname{font-size:2.1rem}

  #loader .lbar{width:115px}

}

@media(max-width:380px){

  #loader .loader-logo{width: 100px}

  #loader .lname{font-size:1.9rem}

  #loader .lbar{width:105px}

}

/* Lotus self-draw */
.lotus-draw path{stroke:var(--gold-lite);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lotus-draw.animate path{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw 2s var(--ease) forwards}
.lotus-draw.animate path:nth-child(2){animation-delay:.12s}
.lotus-draw.animate path:nth-child(3){animation-delay:.24s}
.lotus-draw.animate path:nth-child(4){animation-delay:.36s}
.lotus-draw.animate path:nth-child(5){animation-delay:.48s}
@keyframes draw{to{stroke-dashoffset:0}}

/* ============================================================
   NAV
   ============================================================ */
header.nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.5rem clamp(1.1rem,4vw,3rem);
  transition:padding .5s var(--ease),background .5s var(--ease),box-shadow .5s var(--ease);


}

/* =====================================
   Premium Animated Bottom Border
===================================== */

header.nav::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;

    width:100%;
    height:2px;

    background:var(--gold-grad);

    transform-origin:left center;
    transform:scaleX(var(--borderScale,0));

    transition:transform .08s linear;
}

header.nav.scrolled{
  padding:.85rem clamp(1.1rem,4vw,3rem);
  background:rgba(7,34,25,.72);backdrop-filter:blur(16px) saturate(140%);
  box-shadow:0 1px 0 rgba(231,206,136,.14);
}
.brand{display:flex;align-items:center;gap:.75rem;color:var(--ivory)}
.brand svg{width:34px;height:34px;flex:none}
.brand .btxt{font-family:var(--serif);font-size:1.12rem;letter-spacing:.16em;text-transform:uppercase;line-height:1}
.brand .btxt small{display:block;font-family:var(--sans);font-size:.52rem;letter-spacing:.42em;color:var(--gold-lite);margin-top:3px}
.navlinks{display:flex;align-items:center;gap:2.2rem}
.navlinks a{color:rgba(251,247,239,.82);font-size:.83rem;letter-spacing:.06em;position:relative;transition:color .3s}
.navlinks a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold-grad);transition:width .35s var(--ease)}
.navlinks a:hover{color:var(--ivory)}
.navlinks a:hover::after{width:100%}
.nav-cta{margin-left:.4rem}
.burger{display:none;flex-direction:column;gap:5px;width:30px;padding:6px 0}
.burger span{height:1.5px;background:var(--gold-lite);transition:.35s var(--ease);transform-origin:center}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

@media (max-width:940px){

  .navlinks{
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;

    width:100%;
    height:100dvh;
    min-height:100dvh;

    background:rgba(7,34,25,.97);
    backdrop-filter:blur(10px);

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:1.8rem;

    transform:translateX(100%);
    transition:transform .55s var(--ease);

    z-index:900;
    overflow-y:auto;
    overflow-x:hidden;
  }

  .navlinks.open{
    transform:translateX(0);
  }

  .navlinks a{
    font-size:1.4rem;
    font-family:var(--serif);
  }

  .navlinks .nav-cta{
    margin-top:1rem;
  }

  .burger{
    display:flex;
    z-index:901;
  }
}

@media(max-width:640px){
.brand img{width:120px;height:auto}
}
/* ============================================================
   HERO
   ============================================================ */
.hero-content{max-width:760px}

.hero-trust{width:430px;margin-bottom:20px;justify-self:end;background:transparent;opacity:0;animation:fadeUp 1s 2.3s var(--ease) forwards}

.trust-card{width:100%;background:rgba(8,24,18,.48);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(231,206,136,.24);border-radius:22px;padding:1.55rem 1.45rem;box-shadow:0 30px 80px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04)}

.trust-top{display:flex;align-items:center;gap:1rem}

.avatars{display:flex;align-items:center;flex:none}
.avatars img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #0E3B2E;margin-left:-12px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.avatars img:first-child{margin-left:0}

.trust-content{min-width:0}
.trust-content h4{font-family:var(--sans);font-size:1.05rem;font-weight:700;color:var(--ivory);margin:0 0 .2rem;letter-spacing:-.01em}
.trust-content p{font-family:var(--sans);font-size:.78rem;color:rgba(251,247,239,.62);margin:0}

.trust-line{height:1px;background:linear-gradient(90deg,transparent,rgba(231,206,136,.22),rgba(231,206,136,.22),transparent);margin:1.25rem 0}

.trust-review{display:flex;align-items:center;gap:.65rem}
.stars{color:var(--gold-lite);letter-spacing:.16em;font-size:.85rem;line-height:1;white-space:nowrap}
.trust-review span{display:flex;align-items:center;gap:.45rem;color:rgba(251,247,239,.62);font-size:.76rem;white-space:nowrap}
.trust-review strong{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--ivory)}
.review-dot{color:rgba(251,247,239,.42);font-weight:400}

.trust-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:.8rem}
.trust-stat{min-width:0;text-align:center;padding:1rem .55rem;background:rgba(8,24,18,.48);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(231,206,136,.22);border-radius:15px;box-shadow:0 16px 35px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025);transition:transform .4s var(--ease),border-color .4s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease)}

.trust-stat:hover{transform:translateY(-5px);border-color:rgba(231,206,136,.5);background:rgba(8,24,18,.65);box-shadow:0 20px 40px rgba(0,0,0,.28),0 0 25px rgba(196,160,82,.08)}

.trust-stat h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;line-height:1;color:var(--gold-lite);margin:0 0 .45rem}
.trust-stat small{display:block;font-family:var(--sans);font-size:.61rem;font-weight:500;letter-spacing:.03em;color:rgba(251,247,239,.58);line-height:1.25}


/* ============================================================
   HERO
   ============================================================ */

.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--emerald-deep);color:var(--ivory)}

.hero .bg{position:absolute;inset:0;z-index:0}

.hero .bg img{width:100%;height:120%;object-fit:cover;opacity:.34;filter:saturate(.85) brightness(.7)}

.hero .bg.fallback{background:radial-gradient(120% 90% at 78% 12%,rgba(94,26,42,.55),transparent 55%),radial-gradient(90% 80% at 15% 90%,rgba(22,78,58,.9),transparent 60%),radial-gradient(60% 60% at 50% 40%,rgba(196,160,82,.14),transparent 70%),linear-gradient(160deg,#072219,#0E3B2E 60%,#08281e)}

.hero::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(120% 100% at 50% 120%,rgba(7,34,25,.9),transparent 55%),linear-gradient(180deg,rgba(7,34,25,.55),transparent 30%);pointer-events:none}

.hero .watermark{position:absolute;z-index:1;right:-8%;top:50%;transform:translateY(-50%);width:min(760px,80vw);opacity:.09;pointer-events:none}

.hero .watermark path{stroke:var(--gold-lite);stroke-width:.8;fill:none}

.hero .inner{position:relative;z-index:3;width:var(--shell);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) 430px;align-items:center;gap:5rem}


/* ============================================================
   HERO LEFT CONTENT
   ============================================================ */

.hero .kicker{opacity:0;animation:fadeUp 1s 1.1s var(--ease) forwards}

.hero h1{font-size:clamp(3rem,7vw,6.2rem);font-weight:300;letter-spacing:-.03em;line-height:.94;margin:1.5rem 0 1.1rem;max-width:100%}

.hero h1 .line{display:block;overflow:hidden;width:100%}

.hero h1 .line span{display:block;transform:translateY(115%);animation:rise 1.1s var(--ease) forwards}

.hero h1 .line:nth-child(1) span{animation-delay:1.2s}

.hero h1 .line:nth-child(2) span{animation-delay:1.36s}

.hero h1 .line:nth-child(3) span{animation-delay:1.52s}

.hero h1 em{font-style:italic}

.hero h1 .script-line{margin-top:.12em;overflow:visible}

.hero h1 .script-line span{font-family:'Pinyon Script',cursive;font-size:clamp(2.5rem,4.8vw,4.8rem);font-weight:400;letter-spacing:-.015em;line-height:.85;background:linear-gradient(105deg,#B88A32 0%,#E7CE88 25%,#FFF0B5 50%,#C4A052 75%,#E7CE88 100%);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}


.hero-divider{width:205px;height:1px;background:linear-gradient(90deg,var(--gold),rgba(196,160,82,.15));margin:1.7rem 0 1.5rem;opacity:0;animation:fadeUp 1s 1.75s var(--ease) forwards}

.hero .sub{max-width:52ch;color:rgba(251,247,239,.72);font-size:clamp(.98rem,1.5vw,1.08rem);line-height:1.65;opacity:0;animation:fadeUp 1s 1.9s var(--ease) forwards}

.hero .cta-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem;opacity:0;animation:fadeUp 1s 2.05s var(--ease) forwards}

.hero .stats{display:flex;gap:clamp(1.6rem,4vw,3.4rem);margin-top:3.2rem;opacity:0;animation:fadeUp 1s 2.2s var(--ease) forwards}

.hero .stat .n{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.4rem)}

.hero .stat .l{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lite);margin-top:.2rem}


/* ============================================================
   SCROLL CUE
   ============================================================ */

.scrollcue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.6rem;color:rgba(251,247,239,.6);font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;opacity:0;animation:fadeUp 1s 2.4s var(--ease) forwards}

.scrollcue .rail{width:1px;height:46px;background:linear-gradient(var(--gold-lite),transparent);position:relative;overflow:hidden}

.scrollcue .rail::after{content:"";position:absolute;top:0;left:0;width:100%;height:40%;background:var(--gold-lite);animation:cue 2s var(--ease) infinite}


/* ============================================================
   ANIMATIONS
   ============================================================ */

@keyframes cue{0%{transform:translateY(-100%)}100%{transform:translateY(280%)}}

@keyframes rise{to{transform:translateY(0)}}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}


/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:1100px){

.hero .inner{grid-template-columns:1fr;gap:3rem}

.hero-content{max-width:100%}

.hero-trust{width:100%;max-width:550px;justify-self:start}

.scrollcue{display:none}

}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:640px){

.hero{align-items:flex-start;padding-top:8rem;padding-bottom:3rem}

.hero .inner{gap:2.5rem}

.hero-content{max-width:100%}

.hero h1{font-size:clamp(2.8rem,13vw,4.2rem);line-height:.94;max-width:100%;letter-spacing:-.03em}

.hero h1 .script-line{overflow:visible}

.hero h1 .script-line span{font-size:clamp(2.15rem,9.2vw,3.4rem);line-height:.82;letter-spacing:-.02em;white-space:nowrap}

.hero-divider{width:150px;margin:1.4rem 0 1.2rem}

.hero .sub{font-size:.94rem;line-height:1.6;max-width:100%}

.hero .cta-row{margin-top:1.8rem}

.hero .stats{gap:1.4rem;margin-top:2.5rem;flex-wrap:wrap}

.hero .stat .n{font-size:1.55rem}

.hero .stat .l{font-size:.6rem;letter-spacing:.12em}


/* Mobile Trust Card */

.hero-trust{width:100%;max-width:100%;margin-top:.5rem;margin-bottom:1rem}

.trust-card{padding:1.35rem 1.15rem;border-radius:20px}

.trust-top{display:flex;flex-direction:row;align-items:center;gap:.8rem}

.avatars img{width:44px;height:44px;margin-left:-11px}

.trust-content h4{font-size:.98rem}

.trust-content p{font-size:.72rem}

.trust-line{margin:1.1rem 0}

.trust-review{gap:.5rem}

.stars{font-size:.72rem;letter-spacing:.11em}

.trust-review span{font-size:.68rem;gap:.35rem}

.trust-review strong{font-size:1.2rem}

.trust-stats{grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:.65rem}

.trust-stat{padding:.9rem .3rem;border-radius:13px}

.trust-stat h3{font-size:1.25rem;margin-bottom:.35rem}

.trust-stat small{font-size:.55rem;letter-spacing:.01em}

}


/* ============================================================
   INTRO / STORY
   ============================================================ */
/* ============================================================
   ABOUT + BENTO
   ============================================================ */
/* ============================================================
   INTRO / STORY
   ============================================================ */

.intro-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}

.about-copy{max-width:560px}

.about-copy .eyebrow{display:inline-flex;align-items:center}

.about-copy .h{font-family:var(--serif);font-size:clamp(2.4rem,4.6vw,4.2rem);font-weight:300;line-height:1.02;letter-spacing:-.025em;margin:1.2rem 0 1.4rem;color:var(--emerald)}

.script-accent{display:block;font-family:'Pinyon Script',cursive;font-size:clamp(3rem,5vw,5rem);font-weight:400;line-height:.85;letter-spacing:-.01em;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.about-copy .lead{max-width:54ch;color:var(--ink-soft);line-height:1.75;font-size:.98rem}

.about-copy .mini-stats{display:flex;align-items:flex-start;gap:clamp(1.5rem,3vw,2rem);margin:28px 0}

.mini-stats .ms{min-width:75px}

.mini-stats .ms .n{font-family:var(--serif);font-size:1.9rem;line-height:1;color:var(--gold-deep)}

.mini-stats .ms .l{font-family:var(--sans);font-size:.68rem;line-height:1.45;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:5px}

.about-copy .btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem}

.about-copy .btn svg{width:17px;height:17px;flex:none;transition:transform .35s var(--ease)}

.about-copy .btn:hover svg{transform:translateX(4px)}


/* ============================================================
   BENTO GALLERY — RIGHT SIDE
   ============================================================ */

.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:150px;gap:12px;position:relative;width:100%;min-width:0}

.bento .b{position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(196,160,82,.22);background:var(--emerald);box-shadow:0 15px 40px rgba(14,59,46,.12);min-width:0}

.bento .b::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,34,25,.35));opacity:.7;pointer-events:none;z-index:1}

.bento .b img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s var(--ease);filter:brightness(.86) saturate(.88)}

.bento .b:hover img{transform:scale(1.08);filter:brightness(1) saturate(1)}

.bento .tall{grid-row:span 2}

.bento .wide{grid-column:span 2}


/* ============================================================
   BOOK DATE BADGE
   ============================================================ */

.book-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6;width:118px;height:118px;border-radius:50%;background:linear-gradient(145deg,#E7CE88,#C4A052 52%,#9E7E36);display:grid;place-items:center;text-align:center;font-family:var(--sans);font-weight:700;font-size:.7rem;line-height:1.35;letter-spacing:.1em;text-transform:uppercase;color:var(--emerald-deep);border:5px solid rgba(251,247,239,.85);box-shadow:0 12px 34px rgba(14,59,46,.32),0 0 0 1px rgba(231,206,136,.35);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}

.book-badge span{position:relative;z-index:2}

.book-badge small{position:absolute;right:18px;top:16px;font-size:.65rem;color:var(--emerald-deep);z-index:3}

.book-badge:hover{transform:translate(-50%,-50%) scale(1.07);box-shadow:0 18px 45px rgba(14,59,46,.38),0 0 35px rgba(196,160,82,.25)}


/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:1000px){

.intro-grid{grid-template-columns:1fr;gap:4rem}

.about-copy{max-width:700px}

.bento{width:100%;max-width:750px}

}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:640px){

.intro-grid{gap:3rem}

.about-copy{max-width:100%}

.about-copy .h{font-size:clamp(2.2rem,10vw,3.2rem);line-height:1.02}

.script-accent{font-size:clamp(2.7rem,12vw,4rem);line-height:.82}

.about-copy .lead{font-size:.9rem;line-height:1.7}

.about-copy .mini-stats{gap:20px;margin:24px 0}

.mini-stats .ms{min-width:0}

.mini-stats .ms .n{font-size:1.55rem}

.mini-stats .ms .l{font-size:.58rem;letter-spacing:.05em}

.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:125px;gap:9px;width:100%;max-width:100%}

.bento .tall{grid-row:span 2}

.bento .wide{grid-column:span 2}

.bento .b{border-radius:14px}

.book-badge{width:95px;height:95px;font-size:.58rem;border-width:4px}

.book-badge small{right:14px;top:12px;font-size:.5rem}

}


/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media(max-width:380px){

.intro-grid{gap:2.6rem}

.bento{grid-auto-rows:110px;gap:8px}

.book-badge{width:88px;height:88px;font-size:.53rem}

.about-copy .mini-stats{gap:14px}

.mini-stats .ms .n{font-size:1.4rem}

.mini-stats .ms .l{font-size:.55rem}

}
/* ============================================================
   WHY / FEATURES
   ============================================================ */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.feat{
  padding:2.2rem 2rem;border-radius:8px;position:relative;overflow:hidden;
  background:rgba(251,247,239,.03);border:1px solid rgba(231,206,136,.16);
  backdrop-filter:blur(4px);transition:transform .5s var(--ease),border-color .5s,background .5s;
}
.feat:hover{transform:translateY(-6px);border-color:rgba(231,206,136,.5);background:rgba(231,206,136,.06)}
.feat .ico{width:46px;height:46px;color:var(--gold-lite);margin-bottom:1.3rem}
.feat h3{font-size:1.35rem;font-weight:400;margin-bottom:.5rem}
.feat p{color:rgba(251,247,239,.62);font-size:.95rem}
.feat::after{content:"";position:absolute;inset:0;background:var(--gold-grad);opacity:0;transition:opacity .5s;mix-blend-mode:overlay}
.feat:hover::after{opacity:.06}
@media (max-width:820px){.feat-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.feat-grid{grid-template-columns:1fr}}

/* ============================================================
   VENUES
   ============================================================ */
.venues{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.venue{
  position:relative;border-radius:10px;overflow:hidden;min-height:440px;
  display:flex;align-items:flex-end;color:var(--ivory);isolation:isolate;
}
.venue .vimg{position:absolute;inset:0;z-index:-2}
.venue .vimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.venue .vimg.fallback{background:linear-gradient(160deg,#164e3a,#082219)}
.venue:nth-child(2) .vimg.fallback{background:linear-gradient(160deg,#5E1A2A,#2a0f16)}
.venue:nth-child(3) .vimg.fallback{background:linear-gradient(160deg,#9E7E36,#0E3B2E)}
.venue::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,34,25,.92) 8%,rgba(7,34,25,.35) 45%,transparent 75%)}
.venue:hover .vimg img{transform:scale(1.08)}
.venue .vbody{padding:2rem;width:100%}
.venue .cap-tag{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lite);display:inline-flex;gap:.5rem;align-items:center}
.venue h3{font-size:1.9rem;font-weight:400;margin:.6rem 0 .4rem}
.venue .meta{display:flex;gap:1.4rem;font-size:.82rem;color:rgba(251,247,239,.8);border-top:1px solid rgba(231,206,136,.2);padding-top:1rem;margin-top:1rem}
.venue .meta b{font-family:var(--serif);font-weight:400;font-size:1.15rem;display:block;color:var(--ivory)}
.venue .walk{position:absolute;top:1.4rem;right:1.4rem;z-index:2;width:44px;height:44px;border-radius:50%;background:rgba(7,34,25,.4);backdrop-filter:blur(6px);border:1px solid rgba(231,206,136,.4);display:grid;place-items:center;color:var(--gold-lite);transition:.4s var(--ease)}
.venue .walk:hover{background:var(--gold-grad);color:var(--emerald-deep);transform:rotate(45deg)}
@media (max-width:900px){.venues{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.venues{grid-template-columns:1fr}}

/* ============================================================
   EXPERIENCES (marquee-ish list)
   ============================================================ */
.exp-list{border-top:1px solid rgba(231,206,136,.25)}
.exp{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:1.7rem 0;border-bottom:1px solid rgba(231,206,136,.25);
  position:relative;transition:padding .5s var(--ease);cursor:pointer;
}
.exp .num{font-size:.78rem;color:var(--gold-deep);width:44px;flex:none;letter-spacing:.1em}
.exp .name{font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.7rem);font-weight:300;flex:1;transition:transform .5s var(--ease),color .5s}
.exp .tag{font-size:.82rem;color:var(--ink-soft);max-width:22ch;text-align:right}
.exp .arrow{width:40px;flex:none;color:var(--gold-deep);opacity:0;transform:translateX(-10px);transition:.5s var(--ease)}
.exp:hover{padding-inline:1.6rem;background:linear-gradient(90deg,rgba(231,206,136,.08),transparent)}
.exp:hover .name{transform:translateX(6px);color:var(--emerald)}
.exp:hover .arrow{opacity:1;transform:translateX(0)}
@media (max-width:720px){.exp .tag{display:none}}

/* ============================================================
   GALLERY
   ============================================================ */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2.6rem}
.filters button{
  padding:.6rem 1.4rem;border-radius:999px;font-size:.78rem;letter-spacing:.1em;
  border:1px solid rgba(231,206,136,.4);color:var(--gold-lite);transition:.4s var(--ease);
}
.filters button.active,.filters button:hover{background:var(--gold-grad);color:var(--emerald-deep);border-color:transparent}
.masonry{columns:3;column-gap:1rem}
.gitem{break-inside:avoid;margin-bottom:1rem;border-radius:8px;overflow:hidden;position:relative;cursor:pointer;transition:opacity .5s,transform .5s var(--ease)}
.gitem.hide{display:none}
.gitem img{width:100%;transition:transform 1s var(--ease)}
.gitem .ph{width:100%;aspect-ratio:var(--ar,4/5)}
.gitem .cover{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,34,25,.85),transparent 55%);opacity:0;transition:opacity .5s;display:flex;align-items:flex-end;padding:1.2rem;color:var(--ivory)}
.gitem:hover .cover{opacity:1}
.gitem:hover img{transform:scale(1.08)}
.gitem .cover span{font-family:var(--serif);font-size:1.2rem}
.gitem .cover small{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lite)}
@media (max-width:900px){.masonry{columns:2}}
@media (max-width:520px){.masonry{columns:1}}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:9500;background:rgba(7,34,25,.94);backdrop-filter:blur(8px);display:none;place-items:center;padding:5vw}
.lightbox.open{display:grid}
.lightbox figure{max-width:min(900px,90vw);max-height:86vh}
.lightbox img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:6px;box-shadow:0 40px 90px -30px #000}
.lightbox .ph{width:min(700px,80vw);aspect-ratio:4/5;border-radius:6px}
.lightbox figcaption{color:var(--ivory);text-align:center;margin-top:1rem;font-family:var(--serif);font-size:1.2rem}
.lightbox .close{position:absolute;top:1.6rem;right:1.6rem;color:var(--gold-lite);width:48px;height:48px;border:1px solid rgba(231,206,136,.4);border-radius:50%;font-size:1.4rem;display:grid;place-items:center;transition:.3s}
.lightbox .close:hover{background:var(--gold-grad);color:var(--emerald-deep)}
.lightbox .nav-arrow{position:absolute;top:50%;transform:translateY(-50%);color:var(--gold-lite);width:54px;height:54px;border-radius:50%;border:1px solid rgba(231,206,136,.35);display:grid;place-items:center;font-size:1.5rem;transition:.3s}
.lightbox .nav-arrow:hover{background:var(--gold-grad);color:var(--emerald-deep)}
.lightbox .prev{left:2vw}.lightbox .next{right:2vw}

/* ============================================================
   AMENITIES
   ============================================================ */
.amen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.amen{padding:1.8rem 1.4rem;border-radius:8px;border:1px solid rgba(20,20,20,.08);background:var(--warm-white);transition:.5s var(--ease);text-align:center}
.amen:hover{transform:translateY(-5px);box-shadow:0 24px 46px -26px rgba(14,59,46,.4);border-color:var(--gold)}
.amen .ico{width:38px;height:38px;color:var(--emerald);margin:0 auto .9rem}
.amen h4{font-size:1.05rem;font-weight:500;font-family:var(--sans);letter-spacing:.01em}
@media (max-width:820px){.amen-grid{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:560px){.amen-grid{grid-template-columns:1fr 1fr}}

/* ============================================================
   PACKAGES
   ============================================================ */
.pkgs{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.pkg{
  border-radius:12px;padding:2.2rem 1.8rem;position:relative;overflow:hidden;
  background:rgba(251,247,239,.03);border:1px solid rgba(231,206,136,.18);
  transition:transform .5s var(--ease),border-color .5s;display:flex;flex-direction:column;
}
.pkg:hover{transform:translateY(-8px);border-color:rgba(231,206,136,.55)}
.pkg.feat-pkg{background:linear-gradient(180deg,rgba(231,206,136,.14),rgba(231,206,136,.02));border-color:rgba(231,206,136,.6)}
.pkg .tier{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-lite)}
.pkg h3{font-size:2rem;font-weight:300;margin:.4rem 0 .3rem}
.pkg .price{font-family:var(--serif);font-size:1.5rem;color:var(--gold-lite)}
.pkg .price small{font-family:var(--sans);font-size:.7rem;color:rgba(251,247,239,.5);letter-spacing:.1em}
.pkg ul{list-style:none;margin:1.4rem 0;display:flex;flex-direction:column;gap:.7rem;flex:1}
.pkg li{font-size:.9rem;color:rgba(251,247,239,.72);display:flex;gap:.6rem;align-items:flex-start}
.pkg li svg{width:16px;height:16px;color:var(--gold-lite);flex:none;margin-top:3px}
.pkg .ribbon{position:absolute;top:1.3rem;right:-2.4rem;background:var(--gold-grad);color:var(--emerald-deep);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:.35rem 2.6rem;transform:rotate(45deg)}
@media (max-width:960px){.pkgs{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pkgs{grid-template-columns:1fr}}

/* ============================================================
   TIMELINE
   ============================================================ */
.timeline{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:.6rem;margin-top:3rem}
.timeline::before{content:"";position:absolute;top:15px;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.tstep{text-align:center;position:relative}
.tstep .dot{width:30px;height:30px;border-radius:50%;background:var(--emerald);border:1px solid var(--gold);margin:0 auto 1.2rem;display:grid;place-items:center;color:var(--gold-lite);position:relative;z-index:2;transition:.4s var(--ease)}
.tstep:hover .dot{background:var(--gold-grad);color:var(--emerald-deep);transform:scale(1.15)}
.tstep h4{font-family:var(--serif);font-weight:400;font-size:1.05rem;margin-bottom:.3rem}
.tstep p{font-size:.74rem;color:rgba(251,247,239,.6)}
@media (max-width:820px){.timeline{grid-template-columns:1fr 1fr;gap:1.8rem 1rem}.timeline::before{display:none}}
@media (max-width:420px){.timeline{grid-template-columns:1fr}}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testi{max-width:820px;margin-inline:auto;text-align:center;position:relative;min-height:280px}
.tslide{position:absolute;inset:0;opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease);pointer-events:none}
.tslide.active{opacity:1;transform:translateY(0);position:relative;pointer-events:auto}
.tstars{color:var(--gold-lite);letter-spacing:.3em;margin-bottom:1.4rem;font-size:1.1rem}
.tquote{font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,3vw,2rem);line-height:1.4;font-style:italic}
.tperson{display:flex;align-items:center;justify-content:center;gap:.9rem;margin-top:2rem}
.tperson .pic{width:52px;height:52px;border-radius:50%;background:var(--gold-grad);display:grid;place-items:center;font-family:var(--serif);color:var(--emerald-deep);font-size:1.2rem}
.tperson .who{text-align:left}
.tperson .who b{font-family:var(--serif);font-weight:400;font-size:1.05rem}
.tperson .who span{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lite)}
.tdots{display:flex;gap:.6rem;justify-content:center;margin-top:2.4rem}
.tdots button{width:9px;height:9px;border-radius:50%;background:rgba(231,206,136,.3);transition:.4s}
.tdots button.active{background:var(--gold-grad);width:28px;border-radius:5px}

/* ============================================================
   FAQ
   ============================================================ */
.faq-wrap{max-width:820px;margin-inline:auto}
.faq-search{position:relative;margin-bottom:2rem}
.faq-search input{
  width:100%;padding:1rem 1.4rem 1rem 3rem;border-radius:999px;
  border:1px solid rgba(20,20,20,.14);background:var(--warm-white);
  font-family:var(--sans);font-size:.95rem;color:var(--ink);
}
.faq-search svg{position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--gold-deep)}
.faq-item{border-bottom:1px solid rgba(20,20,20,.12)}
.faq-item.hide{display:none}
.faq-q{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0;font-family:var(--serif);font-size:clamp(1.05rem,2.4vw,1.35rem);font-weight:400}
.faq-q .pm{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold-deep);transition:.4s var(--ease);position:relative}
.faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;background:currentColor;transition:.35s var(--ease)}
.faq-q .pm::before{width:11px;height:1.5px}
.faq-q .pm::after{width:1.5px;height:11px}
.faq-item.open .pm{background:var(--gold-grad);color:var(--emerald-deep)}
.faq-item.open .pm::after{transform:rotate(90deg);opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq-a p{padding-bottom:1.5rem;color:var(--ink-soft);max-width:64ch}

/* ============================================================
   INQUIRY
   ============================================================ */
.inquire-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.inq-side h2{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:300;margin:1.1rem 0 1.2rem}
.inq-side .contact-line{display:flex;gap:.9rem;align-items:center;margin-top:1.4rem;color:rgba(251,247,239,.85)}
.inq-side .contact-line svg{width:20px;height:20px;color:var(--gold-lite);flex:none}
.form-card{
  background:rgba(251,247,239,.04);border:1px solid rgba(231,206,136,.2);
  border-radius:14px;padding:clamp(1.6rem,4vw,2.6rem);backdrop-filter:blur(6px);
}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{margin-bottom:1.1rem;display:flex;flex-direction:column;gap:.45rem}
.field label{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lite)}
.field input,.field select{
  background:rgba(7,34,25,.35);border:1px solid rgba(231,206,136,.22);border-radius:8px;
  padding:.9rem 1rem;color:var(--ivory);font-family:var(--sans);font-size:.95rem;transition:.35s;width:100%;
}
.field input::placeholder{color:rgba(251,247,239,.4)}
.field input:focus,.field select:focus{outline:none;border-color:var(--gold);background:rgba(7,34,25,.55)}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23E7CE88' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.field select option{color:#111}
.form-msg{margin-top:1rem;padding:1rem 1.2rem;border-radius:8px;background:rgba(231,206,136,.12);border:1px solid var(--gold);color:var(--gold-lite);font-size:.9rem;display:none}
.form-msg.show{display:block}
@media (max-width:820px){.inquire-grid{grid-template-columns:1fr}.frow{grid-template-columns:1fr}}

/* ============================================================
   LOCATION
   ============================================================ */
.map-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:stretch}
.map-frame{border-radius:12px;overflow:hidden;min-height:360px;border:1px solid rgba(20,20,20,.1)}
.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(.2) contrast(1.05)}
.map-info{background:var(--emerald);color:var(--ivory);border-radius:12px;padding:clamp(1.8rem,4vw,2.6rem);display:flex;flex-direction:column;justify-content:center}
.map-info h3{font-size:1.9rem;font-weight:300;margin-bottom:1.2rem}
.map-info .row{display:flex;gap:.9rem;padding:.9rem 0;border-bottom:1px solid rgba(231,206,136,.18)}
.map-info .row:last-child{border:none}
.map-info .row svg{width:20px;height:20px;color:var(--gold-lite);flex:none;margin-top:2px}
.map-info .row b{font-family:var(--serif);font-weight:400;display:block;margin-bottom:.15rem}
.map-info .row span{font-size:.88rem;color:rgba(251,247,239,.72)}
@media (max-width:760px){.map-wrap{grid-template-columns:1fr}}

/* ============================================================
   FOOTER
   ============================================================ */
.foot-top{display:grid;grid-template-columns:1.5fr .9fr .9fr 1.25fr 1.25fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(231,206,136,.16)}
@media (max-width:1040px){.foot-top{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:680px){.foot-top{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.foot-top{grid-template-columns:1fr}}

/* Quick Contact */
.foot-contact .fc-row{display:flex;gap:.85rem;align-items:flex-start;padding:.55rem 0;color:rgba(251,247,239,.72)}
a.fc-row{transition:color .3s}
a.fc-row:hover{color:var(--gold-lite)}
a.fc-row:hover .fc-ico{color:var(--ivory)}
.fc-ico{flex:none;color:var(--gold-lite);margin-top:2px}
.fc-ico svg{width:18px;height:18px;display:block}
.fc-txt{display:flex;flex-direction:column;line-height:1.45;font-size:.92rem}
.fc-txt b{font-weight:600;color:var(--ivory)}
.fc-txt small{font-size:.85rem;color:rgba(251,247,239,.5)}



footer{background:var(--emerald-deep);color:var(--ivory);padding-top:clamp(4rem,8vh,6rem)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(231,206,136,.16)}
.foot-brand svg{width:44px;height:44px;}
.foot-brand p{color:rgba(251,247,239,.6);max-width:34ch;font-size:.92rem;margin-top:.4rem}
.foot-col h5{font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lite);margin-bottom:1.2rem}
.foot-col a{display:block;color:rgba(251,247,239,.7);font-size:.9rem;padding:.35rem 0;transition:.3s}
.foot-col a:hover{color:var(--gold-lite);padding-left:.4rem}
.news p{color:rgba(251,247,239,.6);font-size:.88rem;margin-bottom:1rem}
.news form{display:flex;gap:.5rem}
.news input{flex:1;background:rgba(251,247,239,.06);border:1px solid rgba(231,206,136,.24);border-radius:999px;padding:.8rem 1.1rem;color:var(--ivory);font-family:var(--sans);font-size:.85rem}
.news input:focus{outline:none;border-color:var(--gold)}
.news button{width:46px;height:46px;flex:none;border-radius:50%;background:var(--gold-grad);color:var(--emerald-deep);display:grid;place-items:center}
.socials{display:flex;align-items:center;gap:.7rem;margin-top:1.4rem}
.socials a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--gold-lite);background:rgba(7,34,25,.45);border:1px solid rgba(231,206,136,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 20px rgba(0,0,0,.12);transition:transform .4s var(--ease),color .4s var(--ease),background .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}
.socials a svg{width:24px;height:24px;display:block;stroke:currentColor;transition:transform .4s var(--ease)}
.socials a:hover{color:var(--emerald-deep);background:var(--gold-grad);border-color:rgba(231,206,136,.75);transform:translateY(-4px);box-shadow:0 12px 28px rgba(196,160,82,.22),0 0 18px rgba(231,206,136,.08)}
.socials a:hover svg{transform:scale(1.08)}

@media(max-width:640px){
.socials{gap:.6rem;margin-top:1.2rem}
.socials a{width:39px;height:39px}
.socials a svg{width:17px;height:17px}
}

.foot-bottom{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem;padding:1.8rem 0;font-size:.78rem;color:rgba(251,247,239,.5);text-align:center}
.foot-bottom a{color:rgba(251,247,239,.6)}
@media (max-width:860px){.foot-top{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-top{grid-template-columns:1fr}}

/* Awards strip */

.awards{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1.5rem,5vw,4rem);align-items:center;opacity:.9}

.award{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;color:rgba(251,247,239,.8)}

.award svg{width:40px;height:40px;color:var(--gold-lite)}

.award b{font-family:var(--serif);font-weight:400;font-size:1.05rem}

.award span{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lite);opacity:.7}


/* ============================================================
   AWARDS — EMERALD BACKGROUND
   ============================================================ */

#awards{
  background:var(--emerald-deep);
  color:var(--ivory);
}

#awards .award{
  color:rgba(251,247,239,.82);
}

#awards .award svg{
  color:var(--gold-lite);
}

#awards .award b{
  color:var(--ivory);
}

#awards .award span{
  color:var(--gold-lite);
}


/* ============================================================
   LET'S BEGIN — IVORY / WHITE BACKGROUND
   ============================================================ */

#lets-begin{
  background:var(--ivory);
  color:var(--emerald);
}

#lets-begin .cta-inner{
  color:var(--ivory);
}


/* ============================================================
   STICKY MOBILE CTA
   ============================================================ */

.sticky-cta{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:800;display:none;transform:translateY(150%);transition:transform .5s var(--ease)}

.sticky-cta.show{transform:translateY(0)}

.sticky-cta a{width:100%;padding:1.1rem}

@media(max-width:940px){
  .sticky-cta{display:block}
}

/* Reveal utility */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0ms!important}
  .hero h1 .line span,.hero .kicker,.hero .sub,.hero .cta-row,.hero .stats,.scrollcue{opacity:1;transform:none}
}

/* Ornament divider */
.ornament{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin:0 auto}
.ornament .rule{height:1px;width:min(90px,18vw);background:linear-gradient(90deg,transparent,var(--gold))}
.ornament .rule.r{background:linear-gradient(90deg,var(--gold),transparent)}
.ornament svg{width:30px;height:30px;color:var(--gold)}

/* ============================================================
   LET'S BEGIN — closing CTA band
   ============================================================ */
.cta-begin .cta-card{
  position:relative;isolation:isolate;overflow:hidden;
  border-radius:28px;text-align:center;
  padding:clamp(3rem,7vw,5.5rem) clamp(1.4rem,5vw,4rem);
  background:linear-gradient(155deg,#164e3a,#072219 55%,#5E1A2A);
}
.cta-begin .cta-bg{position:absolute;inset:0;z-index:-2}
.cta-begin .cta-bg img{width:100%;height:100%;object-fit:cover;opacity:.5;filter:saturate(.9) brightness(.55)}
.cta-begin .cta-card::after{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(120% 90% at 50% 30%, rgba(7,34,25,.5), rgba(7,34,25,.86))}
.cta-begin .cta-inner{position:relative;max-width:640px;margin-inline:auto}
.cta-begin h2{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(2.3rem,5.8vw,4rem);line-height:1.9;margin:1.1rem 0 1.2rem;
}
.cta-begin .cta-script{display:block;font-family:'Pinyon Script',cursive;font-size:clamp(3rem,6vw,5.5rem);font-weight:400;line-height:.85;letter-spacing:-.01em;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-begin .cta-sub{color:rgba(251,247,239,.72);max-width:44ch;margin:0 auto 2.2rem;font-size:clamp(1rem,1.6vw,1.12rem)}
.cta-begin .cta-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}

/* ============================================================
   FLOATING CONTACT BUTTONS
   ============================================================ */
.fab-stack{position:fixed;right:1.5rem;bottom:4.6rem;z-index:850;display:flex;flex-direction:column;gap:.9rem;align-items:center}
.fab{
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.55);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .4s,color .4s,border-color .4s;
}
.fab svg{width:26px;height:26px}
.fab:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 18px 36px -12px rgba(0,0,0,.6)}
.fab.wa{background:#25D366;color:#fff}
.fab.book{background:var(--emerald);color:var(--gold-lite);border:1px solid rgba(231,206,136,.42)}
.fab.book:hover{background:var(--gold-grad);color:var(--emerald-deep);border-color:transparent}
@media (max-width:940px){.fab-stack{bottom:5.6rem;right:1rem}}

/* .to-top{
  position:fixed;left:1.5rem;bottom:1.6rem;z-index:850;
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:rgba(7,34,25,.6);backdrop-filter:blur(8px);
  border:1px solid rgba(231,206,136,.4);color:var(--gold-lite);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .4s var(--ease),transform .4s var(--ease),background .4s,color .4s,border-color .4s;
}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--gold-grad);color:var(--emerald-deep);border-color:transparent;transform:translateY(-3px)}
.to-top svg{width:20px;height:20px}
@media (max-width:940px){.to-top{left:1rem;bottom:5.6rem}} */

/* ==========================================
   PREMIUM SCROLL TO TOP
========================================== */
.to-top{
  position:fixed;right:1.5rem;bottom:.6rem;z-index:999;
  width:54px;height:54px;border:none;outline:none;cursor:pointer;
  border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#E7CE88,#D7B65B);color:#0E3B2E;
  box-shadow:0 8px 25px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.35);
  opacity:0;visibility:hidden;transform:translateY(20px);
  transition:all .35s ease;
}

.to-top.show{opacity:1;visibility:visible;transform:translateY(0)}

.to-top:hover{
  transform:translateY(-5px) scale(1.08);
  box-shadow:0 14px 35px rgba(0,0,0,.35),0 0 18px rgba(231,206,136,.45);
}

.to-top:active{transform:scale(.96)}

.to-top svg{
  width:22px;height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width:940px){
  .to-top{left:1rem;bottom:5.6rem;width:50px;height:50px}
  .to-top svg{width:20px;height:20px}
}