/* ============================================
   SW Zephyr Renewal — shared site styles
   Brand: twilight palette, celestial-grounded
   ============================================ */
:root{
  --pine:#2b4438; --pine-deep:#1f3329; --sage:#7a9483; --clay:#b8714f;
  --rose:#c9a3a0; --sand:#ece3d4; --plum:#4a3a52; --indigo:#2a3149;
  --gold:#c4a25a; --ink:#241f1c; --cream:#f6f1e7; --cream-2:#efe7d8;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;font-weight:300;color:var(--ink);background:var(--cream);
  line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* ---------- NAV ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  padding:16px 40px;transition:background .4s,padding .4s,box-shadow .4s}
nav.scrolled,nav.solid{background:rgba(31,51,41,.96);backdrop-filter:blur(8px);box-shadow:0 4px 30px -10px rgba(0,0,0,.5);padding:12px 40px}
.nav-logo{display:flex;align-items:center;gap:12px;color:var(--sand);text-decoration:none}
.nav-logo .nm{font-family:'Marcellus';letter-spacing:3px;font-size:1.05rem}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{color:var(--sand);text-decoration:none;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;opacity:.85;transition:opacity .3s,color .3s}
.nav-links a:hover,.nav-links a.active{opacity:1;color:var(--gold)}
.nav-cta{border:1px solid var(--gold);padding:8px 18px;border-radius:30px;color:var(--gold)!important;opacity:1!important}
.nav-cta:hover{background:var(--gold);color:var(--pine-deep)!important}
.nav-toggle{display:none;background:none;border:none;color:var(--sand);font-size:1.5rem;cursor:pointer}
@media(max-width:880px){
  .nav-links{position:fixed;inset:0 0 0 auto;width:75%;max-width:320px;flex-direction:column;justify-content:center;
    background:rgba(31,51,41,.98);transform:translateX(100%);transition:transform .4s;gap:30px}
  .nav-links.open{transform:none}
  .nav-toggle{display:block;z-index:61}
}

/* ---------- PAGE HEADER (interior pages) ---------- */
.page-hero{position:relative;padding:150px 24px 80px;text-align:center;overflow:hidden;
  background:radial-gradient(ellipse at 50% 20%,rgba(74,58,82,.5),transparent 60%),
    linear-gradient(165deg,var(--pine-deep),var(--indigo) 70%,var(--plum));color:var(--sand)}
.page-hero .stars{position:absolute;inset:0;pointer-events:none}
.page-hero .stars span{position:absolute;background:#fff;border-radius:50%;animation:tw 4s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.15}50%{opacity:.85}}
.page-hero .eyebrow{position:relative;z-index:2;letter-spacing:.4em;text-transform:uppercase;font-size:.72rem;color:var(--gold);margin-bottom:16px}
.page-hero h1{position:relative;z-index:2;font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(2.2rem,5vw,3.3rem);letter-spacing:.02em}
.page-hero h1 em{font-style:italic;color:var(--rose)}
.page-hero .lede{position:relative;z-index:2;max-width:600px;margin:20px auto 0;color:rgba(246,241,231,.82);font-size:1.08rem}

/* ---------- SECTIONS ---------- */
section{padding:84px 24px;position:relative}
.inner{max-width:1040px;margin:0 auto}
.narrow{max-width:760px;margin:0 auto}
.eyebrow{font-family:'Jost';letter-spacing:.4em;text-transform:uppercase;font-size:.72rem;color:var(--clay);text-align:center;margin-bottom:14px}
.sec-h{font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(1.8rem,4vw,2.6rem);color:var(--pine);text-align:center;line-height:1.2}
.sec-h em{font-style:italic;color:var(--clay)}
.sec-lead{max-width:640px;margin:20px auto 0;text-align:center;color:#5a544e;font-size:1.05rem}
.prose p{margin-bottom:18px;color:#4a443e}
.prose h3{font-family:'Cormorant Garamond';font-weight:600;font-size:1.5rem;color:var(--pine);margin:28px 0 10px}
.bg-sand{background:var(--cream-2)}
.bg-pine{background:var(--pine-deep);color:var(--sand)}
.bg-pine .sec-h,.bg-pine .sec-h em{color:var(--sand)}
.bg-pine .sec-lead{color:rgba(246,241,231,.78)}

/* ---------- BUTTONS ---------- */
.btn{display:inline-block;padding:14px 30px;border-radius:32px;font-size:.82rem;letter-spacing:.14em;
  text-transform:uppercase;text-decoration:none;transition:all .35s;cursor:pointer;border:none}
.btn-gold{background:var(--gold);color:var(--pine-deep)}
.btn-gold:hover{background:var(--sand);transform:translateY(-2px)}
.btn-ghost{border:1px solid rgba(236,227,212,.5);color:var(--sand);background:transparent}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-pine{border:1px solid var(--pine);color:var(--pine);background:transparent}
.btn-pine:hover{background:var(--pine);color:var(--sand)}

/* ---------- CARDS / GRID ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:50px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:46px}
@media(max-width:840px){.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}
.card{background:var(--cream);border:1px solid rgba(43,68,56,.16);border-radius:16px;padding:36px 30px;
  transition:transform .4s,box-shadow .4s}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -28px rgba(43,68,56,.5)}
.card .ic{height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.card h3{font-family:'Cormorant Garamond';font-weight:600;font-size:1.4rem;color:var(--pine);margin-bottom:4px}
.card .sub{font-family:'Cormorant Garamond';font-style:italic;color:var(--clay);font-size:1.02rem;margin-bottom:12px}
.card p{font-size:.95rem;color:#5f5851;margin-bottom:16px}
.card .price{font-family:'Jost';font-size:.8rem;letter-spacing:.1em;color:var(--sage);text-transform:uppercase;margin-bottom:14px}
.card a.more{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);text-decoration:none;border-bottom:1px solid var(--clay);padding-bottom:3px;transition:.3s}
.card a.more:hover{color:var(--pine);border-color:var(--pine)}

/* ---------- IMAGE SLOTS ---------- */
.img-slot{background:linear-gradient(135deg,var(--sand),var(--cream-2));border:1px dashed rgba(43,68,56,.3);
  border-radius:14px;display:flex;align-items:center;justify-content:center;min-height:280px;color:var(--sage);
  font-family:'Cormorant Garamond';font-style:italic;font-size:1rem;text-align:center;padding:20px}
.img-slot.tall{min-height:420px}
.img-slot.round{border-radius:50%;aspect-ratio:1;min-height:0}

/* ---------- DISCLAIMER / NOTE BOXES ---------- */
.note-box{background:#fbf7ef;border-left:3px solid var(--gold);border-radius:8px;padding:20px 24px;margin:26px 0;
  font-size:.92rem;color:#5a544e}
.note-box strong{color:var(--clay);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;display:block;margin-bottom:6px}

/* ---------- PRICING ---------- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
@media(max-width:840px){.price-grid{grid-template-columns:1fr}}
.pc{border:1px solid rgba(43,68,56,.16);border-radius:14px;padding:32px 28px;background:#fbf7ef;display:flex;flex-direction:column}
.pc h4{font-family:'Cormorant Garamond';font-weight:600;font-size:1.3rem;color:var(--pine)}
.pc .amt{font-family:'Marcellus';font-size:1.7rem;color:var(--clay);margin:10px 0}
.pc .amt small{font-family:'Jost';font-size:.7rem;letter-spacing:.1em;color:var(--sage);text-transform:uppercase}
.pc ul{list-style:none;font-size:.92rem;color:#5f5851;flex:1}
.pc li{padding:7px 0;border-bottom:1px dashed rgba(43,68,56,.14);display:flex;justify-content:space-between;gap:12px}
.pc li:last-child{border:none}
.pc .pi{margin-top:18px}

/* ---------- FOOTER ---------- */
footer{background:var(--pine-deep);color:rgba(236,227,212,.7);padding:56px 24px 40px;text-align:center;font-size:.86rem}
footer .fmark{margin-bottom:14px;display:flex;justify-content:center}
footer .fnav{margin-top:10px}
footer .fnav a{color:rgba(236,227,212,.8);text-decoration:none;margin:0 10px;font-size:.82rem;letter-spacing:.06em}
footer .fnav a:hover{color:var(--gold)}
footer .disc{max-width:700px;margin:24px auto 0;font-size:.74rem;color:rgba(236,227,212,.45);line-height:1.65}
footer .copy{margin-top:18px;font-size:.7rem;opacity:.5}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- HOME HERO ---------- */
.home-hero{min-height:100vh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:120px 24px 80px;overflow:hidden;
  background:radial-gradient(ellipse at 50% 30%,rgba(74,58,82,.55),transparent 60%),
    radial-gradient(ellipse at 80% 90%,rgba(42,49,73,.6),transparent 55%),
    linear-gradient(180deg,var(--pine-deep) 0%,var(--indigo) 55%,var(--plum) 120%)}
.home-hero .glow{position:absolute;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(196,162,90,.16),transparent 65%);top:6%;filter:blur(8px)}
.home-hero h1{position:relative;z-index:2;font-family:'Marcellus';color:var(--sand);font-size:clamp(2.4rem,6vw,4.2rem);letter-spacing:.14em;font-weight:400}
.home-hero .renew{position:relative;z-index:2;font-family:'Cormorant Garamond';font-style:italic;font-weight:500;color:var(--gold);font-size:clamp(1.4rem,3.5vw,2.2rem);letter-spacing:.18em;margin-top:-2px}
.home-hero .tag{position:relative;z-index:2;color:rgba(246,241,231,.8);font-size:clamp(1rem,2vw,1.2rem);max-width:560px;margin:26px auto 0}
.home-hero .tag em{font-family:'Cormorant Garamond';font-style:italic;color:var(--rose)}
.home-hero .cta{position:relative;z-index:2;margin-top:40px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);color:rgba(236,227,212,.5);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;animation:bob 2.5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateX(-50%)}50%{transform:translateX(-50%) translateY(6px)}}
.luminary{transform-origin:center;animation:rise 9s ease-in-out infinite}
@keyframes rise{0%,100%{transform:translateY(2px)}50%{transform:translateY(-4px)}}
.ray{animation:glow 4.5s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:.35}50%{opacity:1}}
.breathe{transform-origin:center;animation:breathe 7s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.04);opacity:1}}

/* invitation band */
.invite{background:var(--sand);text-align:center}
.invite .quote{font-family:'Cormorant Garamond';font-style:italic;font-size:clamp(1.5rem,4vw,2.3rem);color:var(--pine);max-width:760px;margin:0 auto;line-height:1.4}
.invite .by{margin-top:18px;letter-spacing:.2em;text-transform:uppercase;font-size:.74rem;color:var(--clay)}
