/*                                           
   DESIGN TOKENS   S.H.E. SOCIAL v5
                                           */
:root {
  --lime:        #EAF6A5;
  --lime-hover:  #d6ee70;
  --lime-dark:   #8a9c1e;   /* for text ON lime bg */
  --lav:         #9E94F5;
  --lav-end:     #BD9DF0;
  --lav-faint:   #EEEAFF;
  --purple:      #8E50BF;
  --purple-dk:   #6B38A0;
  --cream:       #F9F5F1;
  --white:       #FFFFFF;
  --dark:        #2A1550;
  --text-body:   #4B3270;
  --text-soft:   #7A63A0;
  --text-pale:   #B09FCA;
  --grad:        linear-gradient(180deg, #9E94F5 0%, #BD9DF0 100%);
  --grad-h:      linear-gradient(135deg, #9E94F5 0%, #BD9DF0 100%);
  --shadow-sm:   0 2px 12px rgba(42,21,80,0.08);
  --shadow-md:   0 8px 32px rgba(42,21,80,0.12);
  --shadow-lg:   0 20px 60px rgba(42,21,80,0.16);
}

/*    RESET    */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'Jost',sans-serif; background:var(--cream); color:var(--text-body); overflow-x:hidden; }
img { max-width:100%; display:block; }
a { color:inherit; }

/*    BUTTONS    */
.btn-lime {
  display:inline-block; background:var(--lime); color:var(--dark);
  padding:16px 40px; font-family:'Jost',sans-serif;
  font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  text-decoration:none; border:none; cursor:pointer; transition:all .3s;
}
.btn-lime:hover { background:var(--lime-hover); transform:translateY(-2px); box-shadow:0 8px 20px rgba(234,246,165,0.4); }
.btn-ghost {
  display:inline-block; background:transparent; color:var(--white);
  border:1px solid rgba(255,255,255,0.35);
  padding:16px 40px; font-family:'Jost',sans-serif;
  font-size:12px; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; transition:all .3s;
}
.btn-ghost:hover { border-color:var(--lime); color:var(--lime); }
.btn-ghost-dark {
  display:inline-block; background:transparent; color:var(--dark);
  border:1.5px solid var(--dark);
  padding:14px 36px; font-family:'Jost',sans-serif;
  font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; transition:all .3s;
}
.btn-ghost-dark:hover { background:var(--dark); color:var(--lime); }

/*    SHARED LAYOUT    */
section { padding:100px 60px; }
.container { max-width:1200px; margin:0 auto; }
.eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.eyebrow-line { width:28px; height:1px; background:var(--lime); flex-shrink:0; }
.eyebrow-text { font-size:10px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--lav); }
.eyebrow-text.light { color:var(--lime); }
.eyebrow-line.light { background:var(--lime); }
.section-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(34px,3.8vw,54px); font-weight:500; line-height:1.12;
  color:var(--dark); margin-bottom:18px;
}
.section-title.light { color:var(--white); }
.section-title em { font-style:italic; color:var(--lav); }
.section-title.light em { color:var(--lime); }
.section-body { font-size:15.5px; font-weight:300; line-height:1.88; color:var(--text-soft); max-width:580px; }
.section-body.light { color:rgba(255,255,255,0.78); }

/*    HERO    */
.hero {
  min-height:100vh; position:relative;
  display:flex; align-items:center;
  padding:120px 60px 80px;
  background-image:url('assets/images/hero-background.jpg');
  background-size:cover; background-position:center; background-attachment:fixed;
  overflow:hidden;
}
.hero::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(42,21,80,0.9) 0%, rgba(110,56,160,0.72) 100%);
  z-index:1;
}
.hero-grid {
  position:relative; z-index:2;
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:72px; align-items:center; width:100%;
}
.hero-eyebrow { display:inline-flex; align-items:center; gap:12px; margin-bottom:24px; }
.hero-eyebrow-line { width:36px; height:1px; background:var(--lime); }
.hero-eyebrow-text { font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--lime); }

/* H1   semantic SEO heading */
h1.hero-headline {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(46px,5vw,72px); font-weight:500; line-height:1.06;
  color:var(--white); margin-bottom:24px;
}
h1.hero-headline em { font-style:italic; color:var(--lime); }
.hero-subhead { font-size:16px; font-weight:300; line-height:1.82; color:rgba(255,255,255,0.82); margin-bottom:12px; max-width:480px; }
.hero-subhead strong { color:var(--lime); font-weight:500; }
.hero-trust-line { font-size:12px; color:rgba(255,255,255,0.5); margin-bottom:38px; display:flex; align-items:center; gap:8px; }
.hero-trust-line span { display:inline-flex; align-items:center; gap:5px; }
.hero-trust-dot { width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,0.3); }
.hero-cta-row { display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.hero-cta-sub { font-size:12px; color:rgba(255,255,255,0.5); font-weight:300; }
.hero-cta-sub a { color:rgba(234,246,165,0.7); text-decoration:none; }
.hero-cta-sub a:hover { color:var(--lime); }

.hero-card {
  background:rgba(158,148,245,0.16);
  border:1px solid rgba(234,246,165,0.2);
  backdrop-filter:blur(20px);
  padding:40px;
}
.hero-img {
  width:100%; height:260px;
  background-image:url('https://images.unsplash.com/photo-1557804506-669a67965ba0?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80');
  background-size:cover; background-position:center; margin-bottom:24px; opacity:.9;
}
.hero-quote {
  font-family:'Cormorant Garamond',serif;
  font-size:19px; font-style:italic; color:var(--white); line-height:1.65; margin-bottom:6px;
}
.hero-quote::before { content:'\201C'; color:var(--lime); font-size:34px; line-height:0; vertical-align:-12px; margin-right:2px; }
.hero-attr { font-size:11px; color:rgba(255,255,255,0.45); font-weight:300; }
.stat-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; margin-top:28px; padding-top:28px; border-top:1px solid rgba(234,246,165,0.14); }
.stat { text-align:center; }
.stat-num { font-family:'Jost',sans-serif; font-size:34px; font-weight:700; color:var(--lime); display:block; }
.stat-label { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,0.55); margin-top:3px; display:block; }

/*    SOCIAL PROOF TICKER    */
.ticker-bar {
  background:var(--dark); padding:18px 0; overflow:hidden;
  border-top:1px solid rgba(234,246,165,0.08);
  border-bottom:1px solid rgba(234,246,165,0.08);
}
.ticker-track { display:flex; gap:60px; animation:ticker 16s linear infinite; white-space:nowrap; will-change:transform; transform:translate3d(0,0,0); backface-visibility:hidden; }
@keyframes ticker { from{transform:translate3d(0,0,0)} to{transform:translate3d(-50%,0,0)} }
.ticker-item { display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,0.55); flex-shrink:0; }
.ticker-dot { width:4px; height:4px; border-radius:50%; background:var(--lime); flex-shrink:0; }

/*    BEHIND THE SCENES GALLERY    */
.bts-section { background:var(--dark); position:relative; }
.bts-intro { text-align:center; max-width:640px; margin:0 auto 52px; }
.bts-intro .eyebrow { justify-content:center; }
.bts-feature {
  width:100%; aspect-ratio:16/9; max-height:520px;
  overflow:hidden; margin-bottom:24px; position:relative;
  border:1px solid rgba(234,246,165,0.14);
}
.bts-feature video { width:100%; height:100%; object-fit:cover; display:block; }
.bts-feature-tag {
  position:absolute; top:18px; left:18px; z-index:2;
  background:rgba(42,21,80,0.55); color:var(--lime);
  font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  padding:6px 14px;
}
.bts-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.bts-tile {
  width:100%; aspect-ratio:9/16; max-height:400px;
  overflow:hidden; position:relative;
  border:1px solid rgba(234,246,165,0.1); background:var(--purple-dk);
  transition:transform .3s;
}
.bts-tile:hover { transform:translateY(-4px); }
.bts-tile video { width:100%; height:100%; object-fit:cover; display:block; }
.bts-note { text-align:center; margin-top:28px; font-size:12px; color:rgba(255,255,255,0.4); font-weight:300; font-style:italic; }

/*    PORTFOLIO / BRANDS WORKED WITH    */
.portfolio-section { background:var(--cream); padding-top:52px; padding-bottom:52px; }
.portfolio-intro { text-align:center; max-width:600px; margin:0 auto 28px; }
.portfolio-intro .eyebrow { justify-content:center; margin-bottom:8px; }
.portfolio-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(142,80,191,0.1); }
.portfolio-grid-row { grid-template-columns:repeat(8,1fr); }
.portfolio-logo-card {
  background:var(--white); aspect-ratio:16/7;
  display:flex; align-items:center; justify-content:center;
  padding:14px; transition:all .3s;
}
.portfolio-logo-card:hover { background:var(--dark); }
.portfolio-logo-mark {
  font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600;
  font-size:14.5px; letter-spacing:.01em; color:var(--text-pale);
  text-align:center; line-height:1.25; transition:color .3s;
}
.portfolio-logo-card:hover .portfolio-logo-mark { color:var(--lime); }
.portfolio-logo-sub {
  display:block; font-family:'Jost',sans-serif; font-style:normal;
  font-size:7.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--lav); margin-top:3px; transition:color .3s;
}
.portfolio-logo-card:hover .portfolio-logo-sub { color:rgba(234,246,165,0.7); }
.portfolio-note { text-align:center; margin-top:16px; font-size:11px; color:var(--text-pale); font-weight:300; font-style:italic; }

/*    TESTIMONIALS    */
.proof-section { background:var(--white); }
.proof-intro { text-align:center; max-width:680px; margin:0 auto 60px; }
.proof-intro .eyebrow { justify-content:center; }
.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.proof-card {
  background:var(--cream); padding:36px 30px;
  position:relative; border-left:3px solid var(--lav);
  transition:all .35s;
}
.proof-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); background:var(--white); }
.proof-stars { color:var(--lime); font-size:14px; margin-bottom:16px; letter-spacing:2px; }
.proof-quote { font-family:'Cormorant Garamond',serif; font-size:18px; font-style:italic; color:var(--dark); line-height:1.65; margin-bottom:22px; }
.proof-quote::before { content:'\201C'; color:var(--lav); font-size:30px; line-height:0; vertical-align:-10px; margin-right:2px; }
.proof-divider { height:1px; background:rgba(158,148,245,0.2); margin-bottom:18px; }
.proof-author { display:flex; align-items:center; gap:12px; }
.proof-avatar { width:42px; height:42px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; color:var(--white); flex-shrink:0; letter-spacing:.05em; }
.proof-name { font-size:13px; font-weight:600; color:var(--dark); }
.proof-role { font-size:11px; color:var(--text-pale); letter-spacing:.06em; text-transform:uppercase; margin-top:2px; }

/*    VIDEO TESTIMONIALS    */
.video-proof-section { background:var(--cream); }
.video-proof-intro { text-align:center; max-width:680px; margin:0 auto 60px; }
.video-proof-intro .eyebrow { justify-content:center; }
.video-proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.video-proof-card {
  background:var(--white); position:relative; overflow:hidden;
  box-shadow:var(--shadow-sm); transition:all .35s;
}
.video-proof-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.video-proof-frame {
  position:relative; width:100%; aspect-ratio:9/16; max-height:420px;
  background:var(--grad-h); overflow:hidden; cursor:pointer;
}
.video-proof-frame video { width:100%; height:100%; object-fit:cover; display:block; }
.video-proof-frame .video-proof-thumb-label {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond',serif; font-size:16px; font-style:italic; color:rgba(255,255,255,0.75);
  text-align:center; padding:30px; pointer-events:none;
}
.video-proof-play {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:58px; height:58px; border-radius:50%;
  background:rgba(255,255,255,0.92); display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 20px rgba(42,21,80,0.3); transition:all .3s; z-index:2;
}
.video-proof-frame:hover .video-proof-play { background:var(--lime); transform:translate(-50%,-50%) scale(1.08); }
.video-proof-play::before {
  content:''; width:0; height:0;
  border-top:9px solid transparent; border-bottom:9px solid transparent;
  border-left:15px solid var(--purple); margin-left:4px;
}
.video-proof-badge {
  position:absolute; top:16px; left:16px; z-index:2;
  background:rgba(42,21,80,0.55); color:var(--lime);
  font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  padding:5px 12px;
}
.video-proof-duration {
  position:absolute; bottom:16px; right:16px; z-index:2;
  background:rgba(42,21,80,0.6); color:var(--white);
  font-size:10px; font-weight:600; letter-spacing:.04em;
  padding:4px 9px;
}
.video-proof-caption { padding:22px 24px 26px; border-left:3px solid var(--lav); }
.video-proof-name { font-size:13px; font-weight:600; color:var(--dark); }
.video-proof-role { font-size:11px; color:var(--text-pale); letter-spacing:.06em; text-transform:uppercase; margin-top:2px; margin-bottom:10px; }
.video-proof-line { font-size:12.5px; font-weight:300; color:var(--text-soft); line-height:1.7; }
.video-proof-placeholder-note { text-align:center; margin-top:28px; font-size:12px; color:var(--text-pale); font-weight:300; font-style:italic; }

/*    PAIN POINTS    */
.pain-section { background:var(--cream); }
.pain-intro { text-align:center; max-width:720px; margin:0 auto 64px; }
.pain-intro .eyebrow { justify-content:center; }
.pain-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.pain-card {
  background:var(--white); padding:42px 34px;
  position:relative; transition:all .4s; cursor:default;
}
.pain-card::after {
  content:''; position:absolute; top:0; left:0;
  width:0; height:3px; background:var(--grad); transition:width .4s;
}
.pain-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.pain-card:hover::after { width:100%; }
.pain-num { font-family:'Cormorant Garamond',serif; font-size:56px; font-weight:300; color:var(--lav); opacity:.28; line-height:1; margin-bottom:18px; }
.pain-title { font-family:'Cormorant Garamond',serif; font-size:21px; font-weight:600; color:var(--dark); margin-bottom:14px; line-height:1.32; }
.pain-body { font-size:13.5px; font-weight:300; line-height:1.82; color:var(--text-soft); }
.pain-body strong { color:var(--text-body); font-weight:500; }

/*    VISUAL BREAK    */
.vis-break {
  height:480px; position:relative;
  background-image:url('https://images.unsplash.com/photo-1557804506-669a67965ba0?ixlib=rb-1.2.1&auto=format&fit=crop&w=1950&q=80');
  background-size:cover; background-position:center; background-attachment:fixed;
  display:flex; align-items:center; justify-content:center;
}
.vis-break::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(42,21,80,0.78) 0%, rgba(142,80,191,0.5) 100%);
}
.vis-break-text {
  position:relative; z-index:2;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(36px,4.5vw,60px); font-style:italic; color:var(--white);
  text-align:center; line-height:1.22; max-width:800px; padding:0 40px;
}
.vis-break-text em { color:var(--lime); }

/*    TRUTH    */
.truth-section { background:var(--dark); }
.truth-grid { display:grid; grid-template-columns:1fr 1fr; gap:96px; align-items:center; }
.truth-list { margin-top:40px; }
.truth-item { display:flex; gap:18px; align-items:flex-start; padding:22px 0; border-bottom:1px solid rgba(234,246,165,0.08); }
.truth-item:last-child { border-bottom:none; }
.truth-icon { font-size:18px; flex-shrink:0; margin-top:1px; }
.truth-item-title { font-size:14px; font-weight:600; color:var(--white); margin-bottom:5px; }
.truth-item-body { font-size:13px; font-weight:300; color:rgba(255,255,255,0.62); line-height:1.72; }
.truth-quote-big {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(26px,2.8vw,40px); font-style:italic; font-weight:400;
  color:var(--white); line-height:1.38; margin-bottom:28px;
}
.truth-quote-big em { color:var(--lime); font-style:normal; }
.truth-note { font-size:13px; font-weight:300; color:rgba(255,255,255,0.6); line-height:1.82; }
.truth-img {
  width:100%; height:300px;
  background-image:url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?ixlib=rb-1.2.1&auto=format&fit=crop&w=1351&q=80');
  background-size:cover; background-position:center;
  margin-bottom:40px; border:1px solid rgba(234,246,165,0.18);
}

/*    FREE / OPPORTUNITY    */
.opp-section { background:var(--purple); }
.opp-inner { text-align:center; max-width:820px; margin:0 auto; }
.opp-body { font-size:17px; font-weight:300; line-height:1.92; color:rgba(255,255,255,0.75); margin-bottom:52px; }
.opp-body strong { color:var(--lime); font-weight:500; }
.opp-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-bottom:56px; }
.opp-card { background:rgba(255,255,255,0.05); border:1px solid rgba(234,246,165,0.14); padding:34px 22px; text-align:center; transition:all .3s; }
.opp-card:hover { background:rgba(234,246,165,0.08); border-color:var(--lime); }
.opp-icon { font-size:30px; margin-bottom:12px; display:block; }
.opp-card-title { font-family:'Cormorant Garamond',serif; font-size:17px; font-weight:600; color:var(--white); margin-bottom:8px; }
.opp-card-body { font-size:12px; font-weight:300; color:rgba(255,255,255,0.6); line-height:1.7; }

/*    ELEVATION DAY (NEW FEATURED SECTION)    */
.elev-section { background:var(--dark); }
.elev-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.elev-tag {
  display:inline-block; background:rgba(234,246,165,0.12);
  border:1px solid rgba(234,246,165,0.3);
  font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--lime); padding:6px 16px; margin-bottom:20px;
}
.elev-price { margin:28px 0; }
.elev-price-num { font-family:'Cormorant Garamond',serif; font-size:56px; font-weight:300; color:var(--lime); display:block; line-height:1; }
.elev-price-sub { font-size:12px; color:rgba(255,255,255,0.45); letter-spacing:.1em; text-transform:uppercase; margin-top:6px; }
.elev-includes { list-style:none; margin-bottom:36px; }
.elev-includes li { display:flex; align-items:flex-start; gap:10px; font-size:13.5px; font-weight:300; color:rgba(255,255,255,0.82); padding:9px 0; border-bottom:1px solid rgba(234,246,165,0.08); }
.elev-includes li:last-child { border-bottom:none; }
.elev-includes li::before { content:' '; color:var(--lime); flex-shrink:0; font-size:9px; margin-top:4px; }
.elev-scarcity { background:rgba(234,246,165,0.08); border:1px solid rgba(234,246,165,0.25); padding:16px 20px; margin-bottom:28px; display:flex; align-items:center; gap:12px; }
.elev-scarcity-dot { width:8px; height:8px; border-radius:50%; background:var(--lime); flex-shrink:0; animation:pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.elev-scarcity-text { font-size:13px; font-weight:500; color:var(--lime); }
.elev-right-card {
  background:rgba(158,148,245,0.12); border:1px solid rgba(234,246,165,0.18);
  padding:48px 40px; position:relative; overflow:hidden;
}
.elev-right-card::before { content:''; position:absolute; top:0; left:0; width:4px; height:100%; background:var(--lime); }
.elev-card-label { font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--lime); margin-bottom:18px; }
.elev-steps { display:flex; flex-direction:column; gap:24px; }
.elev-step { display:flex; gap:16px; align-items:flex-start; }
.elev-step-num {
  width:34px; height:34px; border-radius:50%; background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700; color:var(--white); flex-shrink:0;
}
.elev-step-title { font-size:14px; font-weight:600; color:var(--white); margin-bottom:4px; }
.elev-step-body { font-size:12.5px; font-weight:300; color:rgba(255,255,255,0.68); line-height:1.7; }

/*    SNAPSHOT   FEATURED (LOWER-TICKET ENTRY POINT)    */
.snap-teaser { background:var(--purple); }
.snap-teaser-inner { display:grid; grid-template-columns:1.1fr 0.9fr; gap:64px; align-items:center; }
.snap-teaser-tag {
  display:inline-block; background:rgba(234,246,165,0.14);
  border:1px solid rgba(234,246,165,0.32);
  font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--lime); padding:6px 16px; margin-bottom:20px;
}
.snap-teaser-body { font-size:15px; font-weight:300; line-height:1.85; color:rgba(255,255,255,0.82); max-width:520px; margin-bottom:28px; }
.snap-teaser-body strong { color:var(--lime); font-weight:500; }
.snap-teaser-list { list-style:none; margin-bottom:32px; }
.snap-teaser-list li { display:flex; align-items:flex-start; gap:10px; font-size:13.5px; font-weight:300; color:rgba(255,255,255,0.85); padding:8px 0; border-bottom:1px solid rgba(234,246,165,0.1); }
.snap-teaser-list li:last-child { border-bottom:none; }
.snap-teaser-list li::before { content:' '; color:var(--lime); flex-shrink:0; font-size:9px; margin-top:4px; }
.snap-teaser-card {
  background:rgba(255,255,255,0.06); border:1px solid rgba(234,246,165,0.25);
  padding:44px 38px; text-align:center; position:relative;
}
.snap-teaser-card::before { content:''; position:absolute; top:0; left:0; width:100%; height:4px; background:var(--lime); }
.snap-teaser-price { font-family:'Cormorant Garamond',serif; font-size:52px; font-weight:300; color:var(--lime); line-height:1; margin-bottom:6px; }
.snap-teaser-price-sub { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-bottom:28px; }
.snap-teaser-card .btn-lime { width:100%; margin-bottom:14px; }
.snap-teaser-note { font-size:11.5px; color:rgba(255,255,255,0.4); }

/*    SERVICES    */
.services-section { background:var(--cream); }
.services-header { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-bottom:64px; align-items:end; }
.packages-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.pkg-card {
  background:var(--white); border:1px solid rgba(142,80,191,0.12);
  padding:44px 38px; position:relative; transition:all .4s;
}
.pkg-card.featured { background:var(--grad); border-color:var(--lime); }
.pkg-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.pkg-badge { position:absolute; top:-1px; right:28px; background:var(--lime); color:var(--dark); font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; padding:5px 14px; }
.pkg-duration { font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--lav); margin-bottom:10px; }
.pkg-card.featured .pkg-duration { color:var(--lime); }
.pkg-name { font-family:'Cormorant Garamond',serif; font-size:27px; font-weight:600; color:var(--dark); margin-bottom:6px; }
.pkg-card.featured .pkg-name { color:var(--white); }
.pkg-price { font-family:'Cormorant Garamond',serif; font-size:44px; font-weight:300; color:var(--purple); margin-bottom:2px; }
.pkg-card.featured .pkg-price { color:var(--lime); }
.pkg-price-note { font-size:11px; color:var(--text-pale); margin-bottom:24px; }
.pkg-card.featured .pkg-price-note { color:rgba(255,255,255,0.55); }
.pkg-divider { height:1px; background:rgba(142,80,191,0.1); margin-bottom:20px; }
.pkg-card.featured .pkg-divider { background:rgba(234,246,165,0.18); }
.pkg-features { list-style:none; margin-bottom:32px; }
.pkg-features li { display:flex; align-items:flex-start; gap:10px; font-size:13px; font-weight:300; line-height:1.6; color:var(--text-soft); padding:5px 0; }
.pkg-card.featured .pkg-features li { color:rgba(255,255,255,0.87); }
.pkg-features li::before { content:' '; color:var(--lav); font-size:8px; flex-shrink:0; margin-top:4px; }
.pkg-card.featured .pkg-features li::before { color:var(--lime); }
.pkg-cta { display:block; text-align:center; padding:14px; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; transition:all .3s; }
.pkg-card.featured .pkg-cta { background:var(--lime); color:var(--dark); }
.pkg-card.featured .pkg-cta:hover { background:var(--lime-hover); }
.pkg-card:not(.featured) .pkg-cta { border:1px solid var(--lav); color:var(--lav); background:transparent; }
.pkg-card:not(.featured) .pkg-cta:hover { background:var(--lav); color:var(--white); }

/*    WHAT WE DO    */
.what-section { background:var(--white); }
.what-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.what-list { margin-top:32px; }
.what-item { padding:18px 0; border-bottom:1px solid rgba(142,80,191,0.08); display:flex; gap:18px; }
.what-step { font-family:'Cormorant Garamond',serif; font-size:13px; font-weight:600; color:var(--lav); letter-spacing:.1em; flex-shrink:0; width:26px; margin-top:1px; }
.what-item-title { font-size:14px; font-weight:600; color:var(--dark); margin-bottom:5px; }
.what-item-body { font-size:13px; font-weight:300; color:var(--text-soft); line-height:1.72; }
.what-card { background:var(--grad); padding:50px 42px; position:relative; }
.what-card::before { content:''; position:absolute; top:0; left:0; width:4px; height:100%; background:var(--lime); }
.what-card-label { font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--lime); margin-bottom:18px; }
.what-card-quote { font-family:'Cormorant Garamond',serif; font-size:21px; font-style:italic; color:var(--white); line-height:1.6; margin-bottom:26px; }
.what-card-list { list-style:none; }
.what-card-list li { font-size:13px; font-weight:300; color:rgba(255,255,255,0.84); padding:7px 0; border-bottom:1px solid rgba(255,255,255,0.07); display:flex; gap:10px; }
.what-card-list li::before { content:' '; color:var(--lime); flex-shrink:0; }

/*    RESOURCES / MAGNETS    */
.resources-section { background:var(--dark); }
.resources-header { text-align:center; max-width:640px; margin:0 auto 56px; }
.resources-header .eyebrow { justify-content:center; }
.magnets-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.magnet-card { border:1px solid rgba(234,246,165,0.18); padding:48px 40px; transition:all .4s; }
.magnet-card:hover { transform:translateY(-4px); }
.magnet-free { background:rgba(158,148,245,0.1); }
.magnet-paid { background:rgba(234,246,165,0.05); border-color:var(--lime); }
.magnet-badge { display:inline-block; font-size:9px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; padding:5px 14px; margin-bottom:22px; }
.magnet-free .magnet-badge { background:var(--lav); color:var(--white); }
.magnet-paid .magnet-badge { background:var(--lime); color:var(--dark); }
.magnet-title { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:600; color:var(--white); line-height:1.32; margin-bottom:14px; }
.magnet-body { font-size:13px; font-weight:300; color:rgba(255,255,255,0.68); line-height:1.8; margin-bottom:26px; }
.magnet-list { list-style:none; margin-bottom:32px; }
.magnet-list li { font-size:12px; color:rgba(255,255,255,0.68); padding:5px 0; display:flex; gap:10px; border-bottom:1px solid rgba(255,255,255,0.05); }
.magnet-list li::before { content:' '; color:var(--lime); flex-shrink:0; font-weight:700; }
.magnet-price { font-family:'Cormorant Garamond',serif; font-size:34px; font-weight:300; color:var(--lime); margin-bottom:22px; }
.magnet-cta { display:block; text-align:center; padding:13px; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; transition:all .3s; }
.magnet-free .magnet-cta { background:var(--lav); color:var(--white); }
.magnet-free .magnet-cta:hover { background:var(--lav-end); }
.magnet-paid .magnet-cta { background:var(--lime); color:var(--dark); }
.magnet-paid .magnet-cta:hover { background:var(--lime-hover); }

/*    IDEAL CLIENT    */
.ideal-section { background:var(--purple); }
.ideal-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:80px; align-items:center; }
.ideal-body { font-size:15.5px; font-weight:300; color:rgba(255,255,255,0.72); line-height:1.9; margin-bottom:28px; }
.ideal-list { list-style:none; }
.ideal-list li { font-size:14px; font-weight:300; color:var(--white); padding:10px 0; border-bottom:1px solid rgba(234,246,165,0.1); display:flex; gap:12px; align-items:flex-start; }
.ideal-list li::before { content:' '; color:var(--lime); flex-shrink:0; font-size:9px; margin-top:4px; }
.ideal-cards { display:flex; flex-direction:column; gap:18px; }
.ideal-card { background:rgba(255,255,255,0.06); border-left:3px solid var(--lime); padding:26px 26px 26px 22px; }
.ideal-card-text { font-family:'Cormorant Garamond',serif; font-size:16.5px; font-style:italic; color:var(--white); line-height:1.65; }

/*    PROCESS    */
.process-section { background:var(--cream); }
.process-header { max-width:560px; margin-bottom:64px; }
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
.process-steps::before { content:''; position:absolute; top:27px; left:12%; right:12%; height:1px; background:linear-gradient(to right, transparent, var(--lav), transparent); }
.process-step { text-align:center; padding:0 18px; position:relative; }
.process-step-num {
  width:54px; height:54px; background:var(--grad); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 22px;
  font-family:'Cormorant Garamond',serif; font-size:19px; font-weight:600; color:var(--white);
  position:relative; z-index:2; box-shadow:0 4px 16px rgba(158,148,245,0.4);
}
.process-step-title { font-size:13px; font-weight:700; color:var(--dark); margin-bottom:8px; letter-spacing:.04em; }
.process-step-body { font-size:12px; font-weight:300; color:var(--text-soft); line-height:1.72; }

/*    FAQ    */
.faq-section { background:var(--white); }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.faq-note { font-size:14px; font-weight:300; color:var(--text-soft); line-height:1.82; margin-bottom:32px; }
.faq-item { border-bottom:1px solid rgba(142,80,191,0.1); }
.faq-btn {
  width:100%; background:none; border:none; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 0; text-align:left;
  font-family:'Jost',sans-serif; font-size:14.5px; font-weight:500; color:var(--dark);
  transition:color .3s;
}
.faq-btn:hover { color:var(--purple); }
.faq-icon { font-size:20px; color:var(--lav); transition:transform .3s; flex-shrink:0; margin-left:12px; line-height:1; }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-answer-inner { padding:0 0 18px; font-size:13.5px; font-weight:300; color:var(--text-soft); line-height:1.82; }
.faq-item.open .faq-icon { transform:rotate(45deg); color:var(--purple); }
.faq-item.open .faq-answer { max-height:220px; }

/*    FOUNDER    */
.founder-section { background:linear-gradient(135deg,#F4EFFF 0%,var(--white) 100%); border-top:1px solid rgba(158,148,245,0.15); border-bottom:1px solid rgba(158,148,245,0.15); }
.founder-grid { display:grid; grid-template-columns:1.15fr 0.85fr; gap:80px; align-items:start; max-width:1200px; margin:0 auto; }
.founder-portrait-wrap {
  width:100%; aspect-ratio:4/5; max-height:480px;
  margin:28px 0 36px;
  border:2px solid var(--lime);
  box-shadow:6px 6px 0 var(--lav);
  overflow:hidden; position:relative;
  background:var(--grad);
  display:flex; align-items:center; justify-content:center;
}
.founder-portrait-wrap img {
  width:100%; height:100%; object-fit:cover; object-position:center 20%;
  display:block;
}
.founder-portrait-wrap .founder-placeholder {
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-style:italic; color:rgba(255,255,255,0.6);
  text-align:center; padding:32px;
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
}
/* Hide placeholder when image loads */
.founder-portrait-wrap img.loaded + .founder-placeholder { display:none; }
.founder-text { font-size:15.5px; font-weight:300; line-height:1.92; color:var(--text-soft); margin-bottom:18px; }
.founder-text strong { color:var(--purple); font-weight:600; }
.founder-pullquote {
  font-family:'Cormorant Garamond',serif; font-size:22px; font-style:italic;
  color:var(--purple); line-height:1.6; margin:36px 0;
  padding:26px 34px; background:rgba(234,246,165,0.2);
  border-left:4px solid var(--lime);
}
.founder-pullquote::before { content:'\201C'; font-size:46px; color:var(--lav); opacity:.5; margin-right:4px; vertical-align:middle; }
.sig-name { font-family:'Cormorant Garamond',serif; font-size:27px; font-weight:600; color:var(--dark); display:block; }
.sig-title { font-size:11.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--text-pale); margin-top:3px; display:block; }
.founder-right { position:sticky; top:96px; }
.founder-stats { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:28px; }
.founder-stat { background:var(--white); padding:26px 18px; text-align:center; border:0.5px solid rgba(142,80,191,0.15); box-shadow:var(--shadow-sm); transition:all .3s; }
.founder-stat:hover { transform:translateY(-4px); border-color:var(--lime); box-shadow:4px 4px 0 var(--lime); }
.founder-stat-num { font-family:'Cormorant Garamond',serif; font-size:44px; font-weight:600; color:var(--purple); line-height:1; margin-bottom:6px; }
.founder-stat-label { font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--text-soft); }
.founder-philosophy { background:var(--grad); padding:36px 30px; margin-bottom:24px; border-left:4px solid var(--lime); }
.philosophy-title { font-family:'Cormorant Garamond',serif; font-size:21px; font-weight:600; color:var(--white); margin-bottom:20px; }
.philosophy-list { list-style:none; }
.philosophy-list li { font-size:14px; font-weight:300; color:rgba(255,255,255,0.87); padding:9px 0; border-bottom:1px solid rgba(234,246,165,0.12); display:flex; align-items:center; gap:10px; }
.philosophy-list li:last-child { border-bottom:none; }

/*    CLOSING VIS BREAK    */
.close-break {
  height:560px; position:relative;
  background-image:url('https://images.unsplash.com/photo-1557804506-669a67965ba0?ixlib=rb-1.2.1&auto=format&fit=crop&w=1950&q=80');
  background-size:cover; background-position:center; background-attachment:fixed;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:36px;
}
.close-break::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(42,21,80,0.78) 0%, rgba(142,80,191,0.52) 100%); }
.close-break-text {
  position:relative; z-index:2;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(44px,6vw,76px); color:var(--white);
  text-align:center; line-height:1.18;
}
.close-break-text em { color:var(--lime); }
.close-break > a { position:relative; z-index:2; }

/*    CONTACT / CTA    */
.contact-section { background:var(--dark); padding:100px 60px; }
.contact-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.contact-left .section-title { font-size:clamp(36px,4vw,56px); margin-bottom:20px; }
.contact-body { font-size:15px; font-weight:300; color:rgba(255,255,255,0.72); line-height:1.9; margin-bottom:32px; }
.contact-detail { display:flex; flex-direction:column; gap:12px; margin-bottom:36px; }
.contact-detail-item { display:flex; align-items:center; gap:12px; font-size:13.5px; color:rgba(255,255,255,0.7); font-weight:300; }
.contact-detail-icon { font-size:16px; flex-shrink:0; }
.contact-detail-item a { color:var(--lime); text-decoration:none; transition:opacity .25s; }
.contact-detail-item a:hover { opacity:.8; }

/* Contact form */
.contact-form { background:rgba(255,255,255,0.05); border:1px solid rgba(234,246,165,0.15); padding:44px; }
.contact-form h3 { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:600; color:var(--white); margin-bottom:28px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.form-group label { font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,0.55); }
.form-group input, .form-group select, .form-group textarea {
  background:rgba(255,255,255,0.07); border:1px solid rgba(234,246,165,0.2);
  color:var(--white); font-family:'Jost',sans-serif; font-size:14px; font-weight:300;
  padding:12px 16px; outline:none; transition:border-color .25s;
  -webkit-appearance:none;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--lime); }
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(255,255,255,0.3); }
.form-group select option { background:var(--dark); color:var(--white); }
.form-group textarea { resize:vertical; min-height:100px; }
.form-submit { width:100%; padding:16px; background:var(--lime); color:var(--dark); border:none; cursor:pointer; font-family:'Jost',sans-serif; font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; transition:all .3s; }
.form-submit:hover { background:var(--lime-hover); }
.form-note { font-size:11px; color:rgba(255,255,255,0.35); margin-top:10px; text-align:center; }
#form-success { display:none; text-align:center; padding:32px; }
#form-success .success-icon { font-size:40px; margin-bottom:12px; }
#form-success p { font-family:'Cormorant Garamond',serif; font-size:20px; font-style:italic; color:var(--lime); }

/*    FOOTER    */
footer {
  background:
    radial-gradient(circle at top center, rgba(234,246,165,0.16), transparent 34%),
    linear-gradient(135deg, var(--dark) 0%, var(--purple-dk) 100%);
  padding:72px 60px 42px;
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto minmax(220px,1fr);
  align-items:center;
  gap:42px;
  border-top:1px solid rgba(234,246,165,0.18);
  position:relative;
  overflow:hidden;
}
footer::before {
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:160px;
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, var(--lime), transparent);
}
.footer-logo img { height:62px; width:auto; }
.footer-tagline {
  max-width:320px;
  font-size:10px;
  font-weight:600;
  line-height:1.7;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.58);
  margin-top:14px;
}
.footer-links { display:flex; justify-content:center; gap:28px; flex-wrap:wrap; }
.footer-links a { font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:rgba(255,255,255,0.62); text-decoration:none; transition:color .25s; }
.footer-links a:hover { color:var(--lime); }
.footer-actions { display:flex; flex-direction:column; align-items:flex-end; gap:18px; }
.footer-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--lime);
  color:var(--dark);
  padding:14px 28px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:999px;
  transition:all .3s;
}
.footer-cta:hover { background:var(--lime-hover); transform:translateY(-2px); box-shadow:0 8px 20px rgba(234,246,165,0.28); }
.footer-social { display:flex; gap:14px; align-items:center; justify-content:flex-end; }
.footer-social a {
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:50%;
  color:rgba(255,255,255,0.72);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  transition:all .25s;
}
.footer-social a:hover { border-color:var(--lime); color:var(--lime); transform:translateY(-2px); }
.footer-social svg { width:18px; height:18px; display:block; fill:currentColor; }
.footer-copy { grid-column:1 / -1; text-align:center; padding-top:28px; border-top:1px solid rgba(255,255,255,0.10); font-size:11px; color:rgba(255,255,255,0.34); }

/*    ANIMATIONS    */
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
.hero-content > * { animation:fadeUp .8s ease forwards; opacity:0; }
.hero-content > *:nth-child(1){animation-delay:.1s}
.hero-content > *:nth-child(2){animation-delay:.25s}
.hero-content > *:nth-child(3){animation-delay:.4s}
.hero-content > *:nth-child(4){animation-delay:.55s}
.hero-content > *:nth-child(5){animation-delay:.68s}
.hero-right{animation:fadeUp .8s ease .45s forwards;opacity:0}

/*    RESPONSIVE    */
@media(max-width:960px){
  nav{padding:0 20px;height:64px;}
  .nav-links{display:none;}
  .nav-logo img{height:44px;}
  section{padding:72px 24px;}
  .hero{padding:100px 24px 60px;background-attachment:scroll;}
  .hero-grid,.truth-grid,.what-grid,.ideal-grid,.faq-grid,.services-header,.founder-grid,.elev-grid,.contact-inner,.snap-teaser-inner{grid-template-columns:1fr;gap:44px;}
  .pain-grid,.packages-grid,.magnets-grid,.opp-grid,.process-steps,.proof-grid,.founder-stats,.form-row,.video-proof-grid{grid-template-columns:1fr;}
  .portfolio-grid,.portfolio-grid-row{grid-template-columns:repeat(2,1fr);}
  .bts-grid{grid-template-columns:repeat(2,1fr);}
  .process-steps::before{display:none;}
  .founder-right{position:static;}
  footer{
    grid-template-columns:1fr;
    gap:0;
    text-align:center;
    justify-items:center;
    padding:78px 24px 36px;
    border-radius:0;
    margin-top:0;
  }
  .footer-logo img{height:92px;margin:0 auto;}
  .footer-tagline{max-width:310px;margin:18px auto 0;font-size:11px;line-height:1.75;letter-spacing:.22em;color:rgba(255,255,255,0.66);}
  .footer-tagline::after{content:"";display:block;width:130px;height:1px;margin:30px auto 34px;background:linear-gradient(90deg,transparent,var(--lime),transparent);}
  .footer-links{justify-content:center;gap:26px;width:100%;margin-bottom:32px;}
  .footer-links a{display:none;font-size:12px;letter-spacing:.18em;color:rgba(255,255,255,0.82);}
  .footer-links a[href="#services"],.footer-links a[href="#contact"]{display:inline-block;}
  .footer-actions{align-items:center;width:100%;}
  .footer-cta{width:100%;max-width:340px;border-radius:14px;padding:18px 22px;margin-bottom:12px;}
  .footer-social{justify-content:center;gap:26px;margin-bottom:34px;}
  .footer-social a{width:auto;height:auto;border:none;border-radius:0;font-size:22px;color:#ffffff;}
  .footer-social svg{width:22px;height:22px;display:block;fill:currentColor;}
  .footer-copy{width:100%;max-width:340px;padding-top:26px;font-size:11px;line-height:1.7;}
  .vis-break,.close-break{background-attachment:scroll;}
}


/*                                           
   FINAL HEADER FIX   logo + responsive menu
   Keeps existing page design and only replaces navigation behavior/layout.
                                           */
.site-header,
nav#main-nav.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: 132px;
  padding: 0 44px 0 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  background: radial-gradient(circle at 20% 0%, #3c1460 0%, #190329 55%, #12001f 100%);
  border-bottom: 1px solid rgba(234,246,165,0.12);
  transition: box-shadow .3s ease, height .3s ease, background .3s ease;
}

nav#main-nav.site-header.scrolled {
  box-shadow: 0 10px 32px rgba(18,0,31,.32);
}

.site-header .nav-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  text-decoration: none;
}

.site-header .nav-logo img {
  height: 106px;
  width: auto;
  max-width: 150px;
  object-fit: contain;
  display: block;
}

.site-header .nav-links {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 3.2vw, 58px);
  min-width: 0;
}

.site-header .nav-links a {
  color: rgba(255,255,255,.88);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: color .25s ease, opacity .25s ease;
}

.site-header .nav-links a:hover {
  color: var(--lime);
}

.site-header .nav-links a:focus-visible,
.site-header .desktop-book-btn:focus-visible,
.nav-logo:focus-visible {
  outline: 2px solid var(--lime);
  outline-offset: 4px;
  border-radius: 2px;
}
.site-header .nav-links a:focus:not(:focus-visible),
.site-header .desktop-book-btn:focus:not(:focus-visible),
.nav-logo:focus:not(:focus-visible) {
  outline: none;
}

.site-header .desktop-book-btn,
.site-header .nav-book-btn.desktop-book-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 34px;
  border-radius: 6px;
  background: var(--lime);
  color: #160422;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: none;
  transition: transform .25s ease, background .25s ease;
}

.site-header .desktop-book-btn:hover,
.site-header .nav-book-btn.desktop-book-btn:hover {
  background: var(--lime-hover);
  transform: translateY(-1px);
}

.mobile-menu-toggle,
.mobile-menu-close {
  display: none;
}

.mobile-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1001;
  background: rgba(18,0,31,.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease;
}

.mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1002;
  width: min(88vw, 420px);
  height: 100vh;
  padding: 32px 28px;
  background: #1a0a2e;
  box-shadow: -24px 0 60px rgba(18,0,31,.42);
  transform: translateX(104%);
  transition: transform .42s cubic-bezier(.22,.61,.36,1);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

/* Logo + close row: fixed at top, evenly padded, aligned on the same line */
.mobile-menu-top {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}

.mobile-menu-logo img {
  height: 64px;
  width: auto;
  display: block;
}

.mobile-menu-close {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 30px;
  line-height: 1;
  font-weight: 300;
  cursor: pointer;
}

/* Nav items: left-aligned, equal spacing, thin uniform dividers */
.mobile-menu-links {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0;
}

.mobile-menu-links a {
  display: block;
  width: 100%;
  text-align: left;
  color: rgba(255,255,255,.92);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.15;
  padding: 22px 0;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.mobile-menu-links a:first-child {
  border-top: 1px solid rgba(255,255,255,.09);
}

/* CTA: pinned to bottom, generous space above, equal side margins */
.mobile-book-btn {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  margin: auto 0 60px;
  border-radius: 10px;
  background: var(--lime);
  color: #160422;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
}

body.mobile-menu-open {
  overflow: hidden;
}

body.mobile-menu-open .mobile-menu-backdrop {
  opacity: 1;
  pointer-events: auto;
}

body.mobile-menu-open .mobile-menu {
  transform: translateX(0);
}

@media (max-width: 1180px) and (min-width: 768px) {
  nav#main-nav.site-header {
    height: 92px;
    padding: 0 28px;
    gap: 16px;
  }
  .site-header .nav-logo img {
    height: 72px;
    max-width: 102px;
  }
  .site-header .nav-links,
  .site-header .desktop-book-btn,
  .site-header .nav-book-btn.desktop-book-btn {
    display: none !important;
  }
  .mobile-menu-toggle {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 48px;
    height: 48px;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0;
  }
  .mobile-menu-toggle span {
    display: block;
    width: 30px;
    height: 2.5px;
    border-radius: 999px;
    background: #fff;
    transition: transform .25s ease, opacity .25s ease;
  }
}

@media (max-width: 767px) {
  nav#main-nav.site-header {
    height: 92px;
    padding: 0 22px;
    gap: 16px;
  }
  .site-header .nav-logo img {
    height: 72px;
    max-width: 102px;
  }
  .site-header .nav-links,
  .site-header .desktop-book-btn,
  .site-header .nav-book-btn.desktop-book-btn {
    display: none !important;
  }
  .mobile-menu-toggle {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 48px;
    height: 48px;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0;
  }
  .mobile-menu-toggle span {
    display: block;
    width: 30px;
    height: 2.5px;
    border-radius: 999px;
    background: #fff;
    transition: transform .25s ease, opacity .25s ease;
  }
  body.mobile-menu-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(8.5px) rotate(45deg);
  }
  body.mobile-menu-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0;
  }
  body.mobile-menu-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-8.5px) rotate(-45deg);
  }
  .hero {
    padding-top: 118px;
  }
}



/*                                           
   MOBILE MENU FINAL FIX
   Prevents the yellow CTA from covering menu links and removes the extra X/hamburger obstruction.
                                           */
@media (max-width: 767px) {
  nav#main-nav.site-header {
    z-index: 1200;
  }

  .mobile-menu-backdrop {
    z-index: 1201;
    background: rgba(18,0,31,.62);
  }

  .mobile-menu {
    z-index: 1202;
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    min-height: 100vh;
    padding: 20px 24px 34px;
    transform: translateX(100%);
    display: flex;
    flex-direction: column;
  }

  body.mobile-menu-open .mobile-menu-toggle {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.mobile-menu-open .mobile-menu {
    transform: translateX(0);
  }
}
