:root {
  --ink:        #0E0B18;
  --plum:       #1D0A42;
  --violet:     #3B1D8A;
  --amethyst:   #6B46C1;
  --soft-violet:#9B7DDA;
  --lavender:   #C4B5FD;
  --lav-light:  #EDE9FE;
  --lav-pale:   #F5F3FF;
  --snow:       #FDFCFF;
  --silver:     #F1EFF7;
  --grey-lt:    #E4E2EE;
  --grey-mid:   #9290A0;
  --grey-dk:    #4A4860;
  --gold:       #D4A853;
  --gold-lt:    #F5E0A8;
  --cream:      #FAF7F0;
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  16px;
  --shadow-sm:  0 2px 12px rgba(59,29,138,.08);
  --shadow-md:  0 8px 40px rgba(59,29,138,.13);
  --shadow-lg:  0 20px 70px rgba(59,29,138,.18);
  --ff-display: 'Playfair Display', Georgia, serif;
  --ff-body:    'Outfit', system-ui, sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--ff-body);background:#1a1630;color:var(--ink);overflow-x:hidden}

/* ── MOCKUP SHELL ── */
.mockup-shell{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}


.stab.active{color:var(--lavender);border-bottom-color:var(--gold);}
.switcher-badge{
  font-size:10px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  background:var(--gold);
  color:var(--plum);
  padding:4px 12px;
  border-radius:2px;
  margin-left:auto;
  white-space:nowrap;
}

/* ── PAGES ── */



/* ══════════════════════════════════════════
   SHARED COMPONENTS
══════════════════════════════════════════ */

/* NAV */

/* ═══════════════════════════════════════════
   NAVIGATION — Dark Premium Bar
═══════════════════════════════════════════ */
.site-nav{
  position:sticky;
  top:0;
  z-index:500;
  background:rgba(29,10,66,0.97);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(196,181,253,.12);
  padding:0 60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height: 120px;
  box-shadow:0 2px 20px rgba(14,11,24,.3);
}
.nav-logo{
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.nav-logo img{
  height:100px;
  width:auto;
  display:block;
  object-fit:contain;
}
.nav-logo em{display:none;}
.nav-links{
  display:flex;
  gap:28px;
  list-style:none;
  align-items:center;
}
.nav-links a{
  font-size:13px;
  font-weight:500;
  color:rgba(255,255,255,.72);
  text-decoration:none;
  letter-spacing:.04em;
  transition:color .2s;
  white-space:nowrap;
}
.nav-links a:hover,
.nav-links a.active{
  color:var(--lavender);
}
.nav-cta{
  background:var(--gold);
  color:var(--plum);
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  padding:10px 22px;
  border-radius:4px;
  text-decoration:none;
  display:inline-block;
  transition:all .2s;
  box-shadow:0 4px 14px rgba(212,168,83,.35);
  white-space:nowrap;
  flex-shrink:0;
}
.nav-cta:hover{
  background:#c49840;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(212,168,83,.45);
}
/* Hamburger — white lines on dark nav */
.nav-hamburger{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  padding:6px;
  background:none;
  border:none;
  z-index:200;
  margin-left:12px;
}
.nav-hamburger span{
  display:block;
  width:24px;height:2px;
  background:rgba(255,255,255,.85);
  border-radius:2px;
  transition:all .3s;
}
.nav-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* Mobile drawer */
.nav-drawer{
  display:none;
  position:fixed;
  top:72px;left:0;right:0;
  background:rgba(29,10,66,.98);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(196,181,253,.12);
  padding:20px 28px 28px;
  z-index:499;
  flex-direction:column;
  gap:0;
  box-shadow:0 20px 60px rgba(14,11,24,.4);
}
.nav-drawer.open{display:flex;}
.nav-drawer a{
  display:block;
  font-size:15px;font-weight:500;
  color:rgba(255,255,255,.75);
  text-decoration:none;
  padding:14px 0;
  border-bottom:1px solid rgba(196,181,253,.1);
  letter-spacing:.02em;
  transition:color .2s;
}
.nav-drawer a:last-of-type{border-bottom:none;}
.nav-drawer a:hover{color:var(--lavender);}
.nav-drawer .drawer-cta{
  margin-top:16px;
  background:var(--gold);
  color:var(--plum);
  text-align:center;
  padding:14px;
  border-radius:4px;
  font-weight:700;
  letter-spacing:.04em;
  border-bottom:none;
}


/* SECTION WRAPPER */
.section-wrap{max-width:1200px;margin:0 auto;padding:0 60px;width:100%;}

/* EYEBROW */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--amethyst);
  margin-bottom:18px;
}
.eyebrow::before{content:'';display:block;width:24px;height:2px;background:var(--amethyst);}
.eyebrow::after{content:'';display:block;width:24px;height:2px;background:var(--amethyst);}
.eyebrow.light{color:var(--lavender);}
.eyebrow.light::before{background:var(--lavender);}
.eyebrow.gold{color:var(--gold);}
.eyebrow.gold::before{background:var(--gold);}
.eyebrow.gold::after{background:var(--gold);}

/* DISPLAY HEADINGS */
.display-xl{
  font-family:var(--ff-display);
  font-size:clamp(48px,6vw,82px);
  font-weight:500;
  line-height:1.06;
  letter-spacing:-.02em;
  color:var(--ink);
}
.display-lg{
  font-family:var(--ff-display);
  font-size:clamp(36px,4.5vw,60px);
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--ink);
}
.display-md{
  font-family:var(--ff-display);
  font-size:clamp(28px,3vw,42px);
  font-weight:500;
  line-height:1.18;
  letter-spacing:-.01em;
  color:var(--ink);
}
.display-sm{
  font-family:var(--ff-display);
  font-size:clamp(22px,2.2vw,30px);
  font-weight:500;
  line-height:1.25;
  color:var(--ink);
}
.em-purple{font-style:italic;color:var(--amethyst);}
.em-light{font-style:italic;color:var(--lavender);}

/* BODY TEXT */
.body-lg{font-size:17px;font-weight:300;color:var(--grey-dk);line-height:1.8;}
.body-md{font-size:15px;font-weight:300;color:var(--grey-dk);line-height:1.75;}
.body-sm{font-size:13px;font-weight:400;color:var(--grey-mid);line-height:1.7;}

/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--ff-body);
  font-size:13px;
  font-weight:600;
  letter-spacing:.05em;
  text-decoration:none;
  padding:14px 30px;
  border-radius:var(--radius-sm);
  transition:all .2s;
  cursor:pointer;
  border:none;
}
.btn-primary{
  background:var(--amethyst);
  color:#fff;
  box-shadow:0 4px 20px rgba(107,70,193,.35);
}
.btn-primary:hover{background:var(--violet);transform:translateY(-2px);box-shadow:0 8px 28px rgba(107,70,193,.4);}
.btn-outline{
  background:transparent;
  color:var(--amethyst);
  border:1.5px solid var(--amethyst);
}
.btn-outline:hover{background:var(--lav-pale);transform:translateY(-2px);}
.btn-ghost-white{
  background:transparent;
  color:#fff;
  border:1.5px solid rgba(255,255,255,.4);
}
.btn-ghost-white:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-gold{
  background:var(--gold);
  color:var(--plum);
  font-weight:700;
  box-shadow:0 4px 20px rgba(212,168,83,.4);
}
.btn-gold:hover{background:#c49840;transform:translateY(-2px);}
.btn-lg{font-size:15px;padding:18px 38px;}
.btn-arrow::after{content:'→';font-size:14px;transition:transform .2s;}
.btn-arrow:hover::after{transform:translateX(4px);}

/* DIVIDER */
.divider{
  width:60px;height:3px;
  background:linear-gradient(to right,var(--amethyst),var(--lavender));
  border-radius:2px;
  margin:20px 0 28px;
}
.divider.center{margin-left:auto;margin-right:auto;}
.divider.gold-d{background:linear-gradient(to right,var(--gold),var(--gold-lt));}

/* CHIP / TAG */
.chip{
  display:inline-block;
  font-size:12px;
  font-weight:500;
  padding:6px 14px;
  border-radius:100px;
  background:var(--lav-light);
  color:var(--amethyst);
  border:1px solid rgba(107,70,193,.2);
}

/* RATING STARS */
.stars{display:flex;gap:3px;margin-bottom:12px;}
.star{width:14px;height:14px;background:var(--gold);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);}

/* ══════════════════════════════════════════
   HOME PAGE
══════════════════════════════════════════ */
#home .hero{
  background:var(--plum);
  min-height:94vh;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.hero-mesh{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 80% at 80% 40%,rgba(107,70,193,.5) 0%,transparent 60%),
    radial-gradient(ellipse 40% 50% at 10% 80%,rgba(59,29,138,.6) 0%,transparent 50%),
    radial-gradient(ellipse 30% 30% at 50% 10%,rgba(196,181,253,.12) 0%,transparent 60%);
}
.hero-grain{
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  opacity:.4;pointer-events:none;
}
.hero-inner{
  position:relative;z-index:2;
  width:100%;max-width:1200px;
  margin:0 auto;
  padding:120px 60px 100px;
  display:grid;
  grid-template-columns:1fr 420px;
  gap:80px;
  align-items:center;
}
.hero-left{}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--gold);margin-bottom:28px;
}
.hero-eyebrow::before{content:'';display:block;width:24px;height:2px;background:var(--gold);}
.hero-h1{
  font-family:var(--ff-display);
  font-size:clamp(44px,5vw,72px);
  font-weight:500;
  line-height:1.06;
  letter-spacing:-.025em;
  color:#fff;
  margin-bottom:24px;
}
.hero-h1 em{font-style:italic;color:var(--lavender);}
.hero-sub{
  font-size:17px;font-weight:300;
  color:rgba(255,255,255,.65);
  line-height:1.8;
  max-width:520px;
  margin-bottom:44px;
}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin-top:52px;
  border-top:1px solid rgba(196,181,253,.18);
  padding-top:36px;
  max-width:480px;
}
.hero-stat{
  padding:0 28px 0 0;
  position:relative;
}
.hero-stat:not(:last-child)::after{
  content:'';
  position:absolute;
  right:14px;top:4px;bottom:4px;
  width:1px;
  background:rgba(196,181,253,.18);
}
.hero-stat:last-child{ padding-left:28px; padding-right:0; }
.hero-stat:nth-child(2){ padding-left:28px; }
.hero-stat-num{
  font-family:var(--ff-display);
  font-size:36px;font-weight:500;
  color:#fff;line-height:1;
  margin-bottom:6px;
  white-space:nowrap;
}
.hero-stat-num span{color:var(--gold);}
.hero-stat-label{
  font-size:10px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.38);
  white-space:nowrap;
}

/* Hero Visual Card */
.hero-card{
  position:relative;
  flex-shrink:0;
}
.hero-photo-frame{
  border:2px solid rgba(196,181,253,.25);
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:3/4;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 32px 80px rgba(14,11,24,.55), 0 0 0 1px rgba(196,181,253,.08);
  background:#0D0A20;
}
.hero-photo-real-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 12%;
  display:block;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.hero-photo-frame:hover .hero-photo-real-img{
  transform: scale(1.03);
}
/* subtle violet colour-grade over the real photo */
.hero-photo-grade{
  position:absolute;inset:0;
  background:linear-gradient(
    160deg,
    rgba(59,29,138,.18) 0%,
    rgba(107,70,193,.10) 40%,
    rgba(14,11,24,.50) 100%
  );
  pointer-events:none;
}
/* decorative gold corner frame top-right */
.hero-photo-corner-tr{
  position:absolute;top:18px;right:18px;
  width:40px;height:40px;
  border-top:2px solid var(--gold);
  border-right:2px solid var(--gold);
  border-radius:0 var(--radius-sm) 0 0;
  pointer-events:none;z-index:3;
}
/* decorative lavender corner frame bottom-left */
.hero-photo-corner-bl{
  position:absolute;bottom:80px;left:18px;
  width:40px;height:40px;
  border-bottom:2px solid var(--lavender);
  border-left:2px solid var(--lavender);
  border-radius:0 0 0 var(--radius-sm);
  pointer-events:none;z-index:3;
}
.hero-photo-placeholder{ display:none; }
.hero-photo-label{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(14,11,24,.9),transparent);
  padding:24px 24px 20px;
}
.hero-photo-label-name{
  font-family:var(--ff-display);
  font-size:22px;font-weight:500;
  color:#fff;margin-bottom:4px;
}
.hero-photo-label-title{
  font-size:12px;font-weight:400;
  letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.hero-floating-badge{
  position:absolute;
  top:-18px;right:-18px;
  background:var(--gold);
  border-radius:50%;
  width:84px;height:84px;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  box-shadow:0 8px 30px rgba(212,168,83,.4);
  z-index:5;
}
.hero-floating-badge-num{
  font-family:var(--ff-display);
  font-size:26px;font-weight:600;
  color:var(--plum);line-height:1;
}
.hero-floating-badge-label{
  font-size:9px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  color:rgba(29,10,66,.7);
  text-align:center;
}
.hero-trust-pill{
  position:absolute;
  bottom:-18px;left:16px;
  background:#fff;
  border:1px solid var(--grey-lt);
  border-radius:100px;
  padding:10px 18px;
  display:flex;align-items:center;gap:10px;
  box-shadow:0 8px 32px rgba(59,29,138,.18);
  z-index:10;
  white-space:nowrap;
}
.trust-pill-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;}
.trust-pill-text{font-size:12px;font-weight:500;color:var(--grey-dk);}

/* TRUST RIBBON */
.trust-ribbon{
  background:var(--silver);
  border-bottom:1px solid var(--grey-lt);
  padding:18px 60px;
  display:flex;align-items:center;justify-content:center;gap:48px;
}
.ribbon-item{
  display:flex;align-items:center;gap:10px;
  font-size:12px;font-weight:500;
  color:var(--grey-dk);letter-spacing:.04em;
}
.ribbon-icon{
  width:28px;height:28px;
  background:var(--lav-light);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;
  flex-shrink:0;
}

/* ABOUT SNIPPET */
.about-snap{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:600px;
}
.about-left{
  background:var(--plum);
  padding:80px 70px;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:hidden;
}
.about-left-bg{
  position:absolute;
  top:-80px;right:-80px;
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(107,70,193,.3),transparent 70%);
}
.about-left-quote{
  font-family:var(--ff-display);
  font-size:52px;
  color:var(--gold);
  line-height:.8;
  margin-bottom:10px;
  display:block;
}
.about-left-pullquote{
  font-family:var(--ff-display);
  font-size:22px;font-style:italic;
  color:rgba(255,255,255,.85);
  line-height:1.5;
  max-width:340px;
  position:relative;z-index:1;
}
.about-left-name{
  font-size:13px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--lavender);
  margin-top:24px;
  position:relative;z-index:1;
}
.about-left-chips{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-top:28px;
  position:relative;z-index:1;
}
.about-left .chip{
  background:rgba(196,181,253,.15);
  color:var(--lavender);
  border-color:rgba(196,181,253,.2);
}
.about-right{
  background:var(--snow);
  padding:80px 70px;
  display:flex;flex-direction:column;justify-content:center;
}
.about-right .eyebrow{margin-bottom:16px;}
.about-right .display-md{margin-bottom:8px;}
.about-right .body-md{margin:20px 0 28px;}
.about-right-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:36px;
}
.about-right-item{
  background:var(--lav-pale);
  border:1px solid rgba(107,70,193,.1);
  border-radius:var(--radius-md);
  padding:16px;
}
.about-right-item-icon{font-size:20px;margin-bottom:8px;}
.about-right-item-label{
  font-size:12px;font-weight:600;
  color:var(--violet);
  margin-bottom:4px;
}
.about-right-item-body{font-size:12px;color:var(--grey-mid);line-height:1.5;}

/* SERVICES GRID */
.services-section{
  background:#f5f3ff;
  padding:100px 0;
}
.services-header{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:end;
  margin-bottom:56px;
}
.services-header-right{display:flex;flex-direction:column;align-items:flex-end;}
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.svc-card{
  background:#fff;
  border:1px solid rgba(107,70,193,.1);
  border-radius:var(--radius-lg);
  padding:36px 30px;
  transition:all .3s;
  position:relative;
  overflow:hidden;
  cursor:pointer;
}
.svc-card::before{
  content:'';position:absolute;
  bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(to right,var(--amethyst),var(--lavender));
  transform:scaleX(0);transform-origin:left;
  transition:transform .3s;
}
.svc-card:hover::before{transform:scaleX(1);}
.svc-card:hover{
  box-shadow:var(--shadow-md);
  border-color:rgba(107,70,193,.2);
  transform:translateY(-4px);
}
.svc-num{
  font-family:var(--ff-display);
  font-size:52px;font-weight:400;
  color:var(--lav-light);
  line-height:1;
  margin-bottom:16px;
  transition:color .3s;
}
.svc-card:hover .svc-num{color:var(--lavender);}
.svc-title{
  font-family:var(--ff-display);
  font-size:20px;font-weight:500;
  color:var(--ink);
  margin-bottom:12px;line-height:1.25;
}
.svc-body{font-size:14px;font-weight:300;color:var(--grey-mid);line-height:1.7;margin-bottom:20px;}
.svc-link{
  font-size:12px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--amethyst);
  text-decoration:none;
  display:flex;align-items:center;gap:8px;
}
.svc-link::after{content:'→';transition:transform .2s;}
.svc-card:hover .svc-link::after{transform:translateX(4px);}

/* QUIZ SECTION */
.quiz-section{
  background:linear-gradient(135deg,var(--violet) 0%,var(--plum) 100%);
  padding:100px 0;
  position:relative;overflow:hidden;
}
.quiz-bg-lines{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(196,181,253,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(196,181,253,.04) 1px,transparent 1px);
  background-size:60px 60px;
}
.quiz-inner{
  position:relative;z-index:2;
  max-width:780px;margin:0 auto;
  text-align:center;
  padding:0 60px;
}
.quiz-inner .display-lg{color:#fff;margin-bottom:20px;}
.quiz-inner .body-lg{color:rgba(255,255,255,.6);max-width:580px;margin:0 auto 40px;}
.quiz-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;}
.quiz-note{font-size:12px;color:rgba(255,255,255,.3);letter-spacing:.04em;}

/* PACKAGES */
.packages-section{background:var(--silver);padding:100px 0;}
.packages-intro{
  display:grid;grid-template-columns:1fr 1fr;
  gap:60px;align-items:end;
  margin-bottom:56px;
}
.packages-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.pkg-card{
  background:var(--snow);
  border:1px solid var(--grey-lt);
  border-radius:var(--radius-lg);
  padding:36px 30px;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
}
.pkg-card.featured{
  background:var(--plum);
  border-color:var(--amethyst);
  box-shadow:0 20px 60px rgba(59,29,138,.35);
}
.pkg-badge{
  position:absolute;top:0;right:0;
  background:var(--gold);
  color:var(--plum);
  font-size:10px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  padding:6px 14px;
  border-radius:0 var(--radius-lg) 0 var(--radius-lg);
}
.pkg-name{
  font-family:var(--ff-display);
  font-size:22px;font-weight:500;
  color:var(--ink);margin-bottom:10px;
}
.pkg-card.featured .pkg-name{color:#fff;}
.pkg-desc{
  font-size:13px;font-weight:300;
  color:var(--grey-mid);line-height:1.65;
  margin-bottom:20px;
}
.pkg-card.featured .pkg-desc{color:rgba(255,255,255,.55);}
.pkg-sessions{
  font-size:28px;font-weight:600;
  color:var(--amethyst);
  margin-bottom:4px;
}
.pkg-card.featured .pkg-sessions{color:var(--lavender);}
.pkg-sessions-label{
  font-size:11px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--grey-mid);
  margin-bottom:20px;
}
.pkg-card.featured .pkg-sessions-label{color:rgba(255,255,255,.4);}
.pkg-divider{height:1px;background:var(--grey-lt);margin:16px 0;}
.pkg-card.featured .pkg-divider{background:rgba(255,255,255,.1);}
.pkg-features{list-style:none;margin-bottom:28px;flex:1;}
.pkg-features li{
  font-size:13px;font-weight:300;
  color:var(--grey-dk);
  padding:8px 0;
  border-bottom:1px solid rgba(0,0,0,.04);
  display:flex;align-items:flex-start;gap:10px;
}
.pkg-card.featured .pkg-features li{
  color:rgba(255,255,255,.75);
  border-bottom-color:rgba(255,255,255,.07);
}
.pkg-dot{width:5px;height:5px;background:var(--gold);border-radius:50%;flex-shrink:0;margin-top:7px;}
.pkg-btn{
  display:block;text-align:center;
  font-size:13px;font-weight:600;
  letter-spacing:.04em;
  padding:13px;border-radius:var(--radius-sm);
  text-decoration:none;
  border:1.5px solid rgba(107,70,193,.25);
  color:var(--amethyst);
  transition:all .2s;
}
.pkg-btn:hover{background:var(--lav-pale);}
.pkg-card.featured .pkg-btn{
  background:var(--gold);
  color:var(--plum);
  border-color:transparent;
  font-weight:700;
  box-shadow:0 4px 16px rgba(212,168,83,.35);
}
.pkg-card.featured .pkg-btn:hover{background:#c49840;}

/* PROCESS */
.process-section{background:var(--snow);padding:100px 0;}
.process-header{text-align:center;margin-bottom:64px;}
.process-track{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  position:relative;
}
.process-track::before{
  content:'';
  position:absolute;
  top:36px;left:12.5%;right:12.5%;
  height:1px;
  background:linear-gradient(to right,transparent,var(--lavender),var(--amethyst),var(--lavender),transparent);
}
.process-step{
  padding:0 24px;
  text-align:center;
}
.process-circle{
  width:72px;height:72px;
  background:var(--lav-pale);
  border:2px solid rgba(107,70,193,.2);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 24px;
  position:relative;z-index:1;
  transition:all .3s;
}
.process-num{
  font-family:var(--ff-display);
  font-size:26px;font-weight:400;
  color:var(--amethyst);
}
.process-title{
  font-family:var(--ff-display);
  font-size:18px;font-weight:500;
  color:var(--ink);margin-bottom:10px;
}
.process-body{font-size:13px;font-weight:300;color:var(--grey-mid);line-height:1.7;}

/* TESTIMONIALS */
.testimonials-section{
  background:var(--lav-pale);
  padding:100px 0;
}
.testimonials-header{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:48px;
}
.testimonials-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.testi-card{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:36px 30px;
  box-shadow:0 2px 20px rgba(107,70,193,.06);
  position:relative;overflow:hidden;
  border:1px solid rgba(107,70,193,.08);
}
.testi-card::before{
  content:'\201C';
  font-family:var(--ff-display);
  font-size:120px;
  color:var(--lav-light);
  position:absolute;
  top:-20px;right:20px;
  line-height:1;pointer-events:none;
}
.testi-text{
  font-family:var(--ff-display);
  font-size:16px;font-style:italic;
  color:var(--grey-dk);
  line-height:1.7;
  margin-bottom:24px;
  position:relative;z-index:1;
}
.testi-author{display:flex;align-items:center;gap:12px;}
.testi-avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--amethyst),var(--soft-violet));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--ff-display);
  font-size:18px;font-style:italic;
  color:#fff;flex-shrink:0;
}
.testi-name{font-size:14px;font-weight:600;color:var(--ink);}
.testi-role{font-size:12px;color:var(--grey-mid);margin-top:2px;}

/* FAQ SECTION */
.faq-section{background:var(--snow);padding:100px 0;}
.faq-wrap{
  display:grid;grid-template-columns:5fr 7fr;
  gap:100px;
}
.faq-left .display-md{margin-bottom:8px;}
.faq-left .body-md{margin:20px 0 32px;}
.faq-item{
  border-bottom:1px solid var(--grey-lt);
  padding:22px 0;
}
.faq-q{
  font-family:var(--ff-display);
  font-size:18px;font-weight:500;
  color:var(--ink);
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  cursor:pointer;
  line-height:1.3;
}
.faq-toggle{
  width:24px;height:24px;
  border:1.5px solid rgba(107,70,193,.3);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  font-size:14px;color:var(--amethyst);
  margin-top:2px;
}
.faq-a{
  font-size:14px;font-weight:300;
  color:var(--grey-mid);
  line-height:1.75;
  margin-top:14px;
  max-width:520px;
}

/* FINAL CTA */
.final-cta{
  background:var(--ink);
  padding:120px 0;
  position:relative;overflow:hidden;
}
.final-cta-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 50% 70% at 50% 50%,rgba(107,70,193,.5) 0%,transparent 65%),
    radial-gradient(ellipse 30% 30% at 20% 80%,rgba(59,29,138,.4) 0%,transparent 50%);
}
.final-cta-inner{
  position:relative;z-index:2;
  text-align:center;
  max-width:700px;margin:0 auto;
  padding:0 60px;
}
.final-cta-inner .display-lg{color:#fff;margin-bottom:20px;}
.final-cta-inner .body-lg{color:rgba(255,255,255,.55);margin-bottom:44px;}
.final-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:24px;}
.final-note{font-size:12px;color:rgba(255,255,255,.25);letter-spacing:.05em;}

/* FOOTER */
footer{background:#080613;padding:70px 0 36px;}
.footer-inner{
  max-width:1200px;margin:0 auto;padding:0 60px;
}
.footer-grid{
  display:grid;grid-template-columns:2.5fr 1fr 1fr 1.8fr;
  gap:60px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.06);
  margin-bottom:36px;
}
.footer-brand{
  font-family:var(--ff-display);
  font-size:22px;font-weight:500;
  color:#fff;margin-bottom:14px;
}
.footer-brand img{ max-height:80px; }
.footer-brand em{font-style:italic;color:var(--lavender);}
.footer-tagline{
  font-size:13px;font-weight:300;
  color:rgba(255,255,255,.35);
  line-height:1.7;
  max-width:240px;margin-bottom:24px;
}
.footer-socials{display:flex;gap:10px;}
.social-btn{
  width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:600;color:rgba(255,255,255,.4);
  cursor:pointer;transition:all .2s;font-family:var(--ff-body);
}
.social-btn:hover{border-color:var(--lavender);color:var(--lavender);}
.footer-col-heading{
  font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.35);
  margin-bottom:20px;
}
.footer-links{list-style:none;}
.footer-links li{margin-bottom:10px;}
.footer-links a{
  font-size:13px;font-weight:300;
  color:rgba(255,255,255,.5);
  text-decoration:none;transition:color .2s;
}
.footer-links a:hover{color:var(--lavender);}
.footer-contact p{
  font-size:13px;font-weight:300;
  color:rgba(255,255,255,.4);
  margin-bottom:8px;line-height:1.6;
}
.footer-contact a{color:rgba(255,255,255,.4);text-decoration:none;}
.footer-cta-sm{
  display:inline-flex;
  align-items:center;gap:8px;
  font-size:12px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;
  color:var(--plum);
  background:var(--gold);
  border:none;
  border-radius:var(--radius-sm);
  padding:11px 20px;
  text-decoration:none;margin-top:16px;
  transition:all .2s;
  box-shadow:0 4px 14px rgba(212,168,83,.35);
}
.footer-cta-sm:hover{
  background:#c49840;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(212,168,83,.45);
}
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  font-size:12px;color:rgba(255,255,255,.2);
}
.footer-legal{display:flex;gap:20px;}
.footer-legal a{color:rgba(255,255,255,.2);text-decoration:none;}
.footer-legal a:hover{color:rgba(255,255,255,.5);}

/* ══════════════════════════════════════════
   ABOUT PAGE
══════════════════════════════════════════ */
.page-hero{
  background:var(--plum);
  padding:100px 60px 80px;
  position:relative;overflow:hidden;
}
.page-hero-bg{
  position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(107,70,193,.4),transparent 70%);
}
.page-hero-inner{
  max-width:1200px;margin:0 auto;
  position:relative;z-index:2;
}
.page-hero .eyebrow{margin-bottom:16px;}
.page-hero .display-lg{color:#fff;margin-bottom:16px;}
.page-hero .body-lg{color:rgba(255,255,255,.6);max-width:600px;}
.breadcrumb{
  display:flex;align-items:center;gap:8px;
  font-size:12px;color:rgba(255,255,255,.35);
  margin-bottom:32px;
}
.breadcrumb a{color:rgba(255,255,255,.35);text-decoration:none;}
.breadcrumb span{color:rgba(255,255,255,.6);}

.about-story{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0;
  background:var(--snow);
}
.about-story-img{
  background:linear-gradient(145deg,var(--violet),var(--plum));
  min-height:500px;
  max-height: 800px;
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.about-story-img img{ width:100%;height:100%;object-fit:cover;object-position: center 45%; }
.about-story-img-placeholder{
  font-family:var(--ff-display);
  font-size:120px;font-style:italic;
  color:rgba(196,181,253,.18);
}
.about-photo-note{
  position:absolute;bottom:24px;left:24px;
  background:rgba(14,11,24,.8);
  border-radius:var(--radius-md);
  padding:12px 16px;
  font-size:12px;color:rgba(255,255,255,.6);
  border:1px solid rgba(255,255,255,.1);
}
.about-story-content{
  padding:80px 70px;
  display:flex;flex-direction:column;justify-content:center;
}
.about-story-content .display-md{margin-bottom:8px;}
.about-story-content .body-md{margin:20px 0;}

.about-values{
  background:var(--lav-pale);
  padding:80px 0;
}
.about-values-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:48px;
}
.value-card{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:28px 22px;
  border:1px solid rgba(107,70,193,.1);
  text-align:center;
}
.value-icon{
  width:52px;height:52px;
  background:var(--lav-light);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
  margin:0 auto 16px;
}
.value-title{
  font-family:var(--ff-display);
  font-size:17px;font-weight:500;
  color:var(--ink);margin-bottom:8px;
}
.value-body{font-size:13px;font-weight:300;color:var(--grey-mid);line-height:1.6;}

.about-background{
  background:var(--snow);
  padding:80px 0;
}
.about-background-grid{
  display:grid;grid-template-columns:3fr 2fr;
  gap:80px;align-items:center;
}
.timeline{margin-top:32px;}
.timeline-item{
  display:flex;gap:20px;
  padding-bottom:28px;
  position:relative;
}
.timeline-item::before{
  content:'';
  position:absolute;
  left:15px;top:30px;bottom:0;
  width:1px;background:var(--grey-lt);
}
.timeline-item:last-child::before{display:none;}
.timeline-dot{
  width:30px;height:30px;flex-shrink:0;
  background:var(--lav-light);
  border:2px solid var(--lavender);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  position:relative;z-index:1;
}
.timeline-dot-inner{width:8px;height:8px;background:var(--amethyst);border-radius:50%;}
.timeline-year{
  font-size:11px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--amethyst);margin-bottom:4px;
}
.timeline-title{
  font-family:var(--ff-display);
  font-size:16px;font-weight:500;
  color:var(--ink);margin-bottom:6px;
}
.timeline-body{font-size:13px;font-weight:300;color:var(--grey-mid);line-height:1.6;}

.about-bg-card{
  background:var(--plum);
  border-radius:var(--radius-lg);
  padding:44px 36px;
}
.about-bg-card .display-sm{color:#fff;margin-bottom:16px;}
.about-bg-card .body-md{color:rgba(255,255,255,.6);margin-bottom:28px;}
.about-bg-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.about-bg-stat{
  background:rgba(255,255,255,.06);
  border-radius:var(--radius-md);
  padding:16px;text-align:center;
}
.about-bg-stat-num{
  font-family:var(--ff-display);
  font-size:32px;font-weight:500;
  color:#fff;line-height:1;margin-bottom:6px;
}
.about-bg-stat-num span{color:var(--gold);}
.about-bg-stat-label{
  font-size:11px;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.4);
}

/* ══════════════════════════════════════════
   SERVICES PAGE
══════════════════════════════════════════ */
.services-page-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  padding:80px 0;
}
.svc-full-card{
  background:var(--snow);
  border:1px solid var(--grey-lt);
  border-radius:var(--radius-lg);
  padding:40px;
  display:flex;gap:28px;
  transition:all .3s;
  position:relative;overflow:hidden;
}
.svc-full-card::after{
  content:'';position:absolute;
  left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(to bottom,var(--amethyst),var(--lavender));
  transform:scaleY(0);transform-origin:top;
  transition:transform .3s;
}
.svc-full-card:hover::after{transform:scaleY(1);}
.svc-full-card:hover{
  box-shadow:var(--shadow-md);
  border-color:rgba(107,70,193,.15);
  transform:translateY(-2px);
}
.svc-icon-wrap{
  width:56px;height:56px;flex-shrink:0;
  background:var(--lav-light);
  border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;
}
.svc-full-content{}
.svc-full-title{
  font-family:var(--ff-display);
  font-size:22px;font-weight:500;
  color:var(--ink);margin-bottom:10px;
}
.svc-full-body{
  font-size:14px;font-weight:300;
  color:var(--grey-mid);line-height:1.75;
  margin-bottom:16px;
}
.svc-outcomes{display:flex;flex-wrap:wrap;gap:6px;}
.outcome-tag{
  font-size:11px;font-weight:500;
  letter-spacing:.04em;
  background:var(--lav-pale);
  color:var(--amethyst);
  border:1px solid rgba(107,70,193,.12);
  padding:4px 10px;border-radius:100px;
}

/* ══════════════════════════════════════════
   CONTACT PAGE
══════════════════════════════════════════ */
.contact-layout{
  display:grid;grid-template-columns:5fr 7fr;
  gap:0;
  background:var(--snow);
}
.contact-left{
  background:var(--plum);
  padding:80px 60px;
  position:relative;overflow:hidden;
}
.contact-left-bg{
  position:absolute;
  bottom:-100px;right:-100px;
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(107,70,193,.3),transparent 60%);
}
.contact-left .display-md{color:#fff;margin-bottom:16px;position:relative;z-index:1;}
.contact-left .body-md{color:rgba(255,255,255,.6);margin-bottom:36px;position:relative;z-index:1;}
.contact-info-items{position:relative;z-index:1;}
.contact-info-item{
  display:flex;align-items:flex-start;gap:16px;
  margin-bottom:24px;
}
.ci-icon{
  width:44px;height:44px;flex-shrink:0;
  background:rgba(196,181,253,.12);
  border:1px solid rgba(196,181,253,.2);
  border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
}
.ci-label{
  font-size:11px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.35);margin-bottom:4px;
}
.ci-value{font-size:14px;color:rgba(255,255,255,.8);line-height:1.5;}
.ci-value a{color:rgba(255,255,255,.8);text-decoration:none;}
.avail-block{
  background:rgba(196,181,253,.07);
  border:1px solid rgba(196,181,253,.12);
  border-radius:var(--radius-md);
  padding:20px;
  margin-top:32px;
  position:relative;z-index:1;
}
.avail-title{
  font-size:11px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-bottom:14px;
}
.avail-day{
  display:flex;justify-content:space-between;
  font-size:13px;
  padding:6px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.avail-day:last-child{border-bottom:none;}
.avail-day-name{color:rgba(255,255,255,.6);}
.avail-times{color:var(--lavender);font-weight:500;}
.avail-closed{color:rgba(255,255,255,.25);}

.contact-right{padding:80px 70px;}
.contact-right .display-md{margin-bottom:8px;}
.contact-right .body-md{margin-bottom:36px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-group{margin-bottom:16px;}
.form-label{
  display:block;
  font-size:12px;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;
  color:var(--grey-dk);margin-bottom:8px;
}
.form-input{
  width:100%;
  padding:14px 16px;
  border:1.5px solid var(--grey-lt);
  border-radius:var(--radius-md);
  font-family:var(--ff-body);
  font-size:14px;
  color:var(--ink);
  background:var(--snow);
  transition:border-color .2s;
  outline:none;
}
.form-input:focus{border-color:var(--amethyst);box-shadow:0 0 0 3px rgba(107,70,193,.1);}
textarea.form-input{height:120px;resize:vertical;}
.form-select-row{
  display:flex;gap:10px;
  flex-wrap:wrap;
  margin-bottom:20px;
}
.form-select-chip{
  font-size:12px;font-weight:500;
  padding:8px 16px;border-radius:100px;
  border:1.5px solid var(--grey-lt);
  color:var(--grey-dk);cursor:pointer;
  transition:all .2s;background:transparent;font-family:var(--ff-body);
}
.form-select-chip.selected{
  border-color:var(--amethyst);
  background:var(--lav-pale);
  color:var(--amethyst);
}
.form-footer-note{
  font-size:12px;color:var(--grey-mid);
  margin-top:12px;
}

/* ══════════════════════════════════════════
   PACKAGES PAGE
══════════════════════════════════════════ */
.packages-page-hero{
  background:var(--plum);padding:100px 60px 80px;
  position:relative;overflow:hidden;
}
.packages-full-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  padding:80px 0;
}
.pkg-full-card{
  background:var(--snow);
  border:1px solid var(--grey-lt);
  border-radius:var(--radius-lg);
  padding:40px 34px;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
  transition:all .3s;
}
.pkg-full-card:hover{
  box-shadow:var(--shadow-md);
  border-color:rgba(107,70,193,.2);
  transform:translateY(-4px);
}
.pkg-full-card.featured{
  background:var(--plum);
  border-color:var(--amethyst);
  box-shadow:0 20px 60px rgba(59,29,138,.3);
}
.pkg-full-accent{
  height:4px;
  background:linear-gradient(to right,var(--amethyst),var(--lavender));
  border-radius:2px;
  margin-bottom:28px;
}
.pkg-full-card.featured .pkg-full-accent{
  background:linear-gradient(to right,var(--gold),var(--gold-lt));
}
.pkg-full-name{
  font-family:var(--ff-display);
  font-size:22px;font-weight:500;
  color:var(--ink);margin-bottom:10px;
  line-height:1.2;
}
.pkg-full-card.featured .pkg-full-name{color:#fff;}
.pkg-full-desc{
  font-size:13px;font-weight:300;
  color:var(--grey-mid);line-height:1.65;
  margin-bottom:20px;flex:1;
}
.pkg-full-card.featured .pkg-full-desc{color:rgba(255,255,255,.55);}
.pkg-full-includes{
  font-size:10px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--grey-mid);margin-bottom:10px;
}
.pkg-full-card.featured .pkg-full-includes{color:rgba(255,255,255,.35);}
.pkg-full-list{list-style:none;margin-bottom:28px;}
.pkg-full-list li{
  font-size:13px;font-weight:300;
  color:var(--grey-dk);
  padding:8px 0;
  border-bottom:1px solid rgba(0,0,0,.04);
  display:flex;align-items:flex-start;gap:8px;
}
.pkg-full-card.featured .pkg-full-list li{
  color:rgba(255,255,255,.7);
  border-bottom-color:rgba(255,255,255,.06);
}
.pkg-check{
  font-size:12px;color:var(--amethyst);margin-top:1px;font-weight:600;flex-shrink:0;
}
.pkg-full-card.featured .pkg-check{color:var(--gold);}
.pkg-full-btn{
  display:block;text-align:center;
  font-size:13px;font-weight:600;
  letter-spacing:.04em;
  padding:14px;border-radius:var(--radius-sm);
  text-decoration:none;
  border:1.5px solid rgba(107,70,193,.25);
  color:var(--amethyst);
  transition:all .2s;
}
.pkg-full-btn:hover{background:var(--lav-pale);}
.pkg-full-card.featured .pkg-full-btn{
  background:var(--gold);color:var(--plum);
  border-color:transparent;font-weight:700;
  box-shadow:0 4px 16px rgba(212,168,83,.35);
}

/* ══════════════════════════════════════════
   SCROLL ANIMATIONS
══════════════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.animate{animation:fadeUp .6s ease forwards;}
.d1{animation-delay:.1s;}
.d2{animation-delay:.2s;}
.d3{animation-delay:.3s;}
.d4{animation-delay:.4s;}

/* ══════════════════════════════════════════
   SCROLLBAR
══════════════════════════════════════════ */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:#0E0B18;}
::-webkit-scrollbar-thumb{background:var(--amethyst);border-radius:3px;}

/* ══════════════════════════════════════════
   REDESIGNED ABOUT REBECCA — HOMEPAGE
══════════════════════════════════════════ */

/* reveal on scroll */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.rv.in{opacity:1;transform:none;}
.rv.d1{transition-delay:.1s;}.rv.d2{transition-delay:.2s;}.rv.d3{transition-delay:.3s;}
.rv.d4{transition-delay:.4s;}.rv.d5{transition-delay:.5s;}

/* ── PART A: HERO SPLIT ── */
.ab-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:88vh;
  position:relative;
}

/* photo panel */
.ab-photo{
  background:linear-gradient(155deg,#2A1260 0%,#3B1D8A 55%,#0a0520 100%);
  position:relative;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  min-height:560px;
}
.ab-photo-mesh{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 80% 70% at 50% 60%,rgba(107,70,193,.4) 0%,transparent 65%),
    radial-gradient(ellipse 40% 30% at 85% 10%,rgba(196,181,253,.1) 0%,transparent 55%);
}
.ab-monogram{
  position:absolute;top:-40px;left:-30px;
  font-family:var(--ff-display);
  font-size:380px;font-style:italic;font-weight:700;
  color:rgba(196,181,253,.05);
  line-height:1;pointer-events:none;user-select:none;
}
.ab-photo-body{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.ab-photo-circle{
  width:200px;height:240px;
  background:rgba(196,181,253,.1);
  border:1px solid rgba(196,181,253,.2);
  border-radius:50% 50% 44% 44%;
  display:flex;align-items:center;justify-content:center;
}
.ab-photo-initial{
  font-family:var(--ff-display);
  font-size:80px;font-style:italic;
  color:rgba(196,181,253,.28);line-height:1;
}
.ab-photo-hint{
  font-size:11px;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.18);
}

/* floating badges */
.ab-badge{
  position:absolute;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(16px);
  border:1px solid rgba(196,181,253,.18);
  border-radius:12px;
  padding:12px 16px;
  display:flex;align-items:center;gap:11px;
  z-index:3;
}
.ab-badge-1{top:52px;right:-18px;}
.ab-badge-2{bottom:130px;right:-22px;}
.ab-badge-3{bottom:52px;left:22px;}
.ab-badge-icon{
  width:36px;height:36px;border-radius:9px;
  background:rgba(196,181,253,.15);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;flex-shrink:0;
}
.ab-badge-val{
  font-family:var(--ff-display);
  font-size:20px;font-weight:600;
  color:#fff;line-height:1;
}
.ab-badge-lbl{
  font-size:11px;color:rgba(255,255,255,.42);
  margin-top:3px;letter-spacing:.02em;
}

/* content panel */
.ab-content{
  background:var(--snow);
  padding:80px 72px 80px 80px;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;
}
.ab-content::before{
  content:'';
  position:absolute;
  left:0;top:80px;bottom:80px;
  width:3px;
  background:linear-gradient(to bottom,transparent,var(--amethyst) 30%,var(--lavender) 70%,transparent);
  border-radius:2px;
}
.ab-nametag{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--lav-pale);
  border:1px solid rgba(107,70,193,.15);
  border-radius:100px;
  padding:6px 16px 6px 7px;
  margin-bottom:28px;align-self:flex-start;
}
.ab-nametag-dot{
  width:30px;height:30px;border-radius:50%;
  background:linear-gradient(135deg,var(--amethyst),var(--soft-violet));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--ff-display);font-size:14px;
  font-style:italic;color:#fff;flex-shrink:0;
}
.ab-nametag-text{
  font-size:13px;font-weight:500;color:var(--amethyst);
}
.ab-h2{
  font-family:var(--ff-display);
  font-size:clamp(34px,3.6vw,54px);
  font-weight:500;line-height:1.06;
  letter-spacing:-.025em;color:var(--ink);
  margin-bottom:8px;
}
.ab-h2 em{font-style:italic;color:var(--amethyst);}
.ab-subtitle{
  font-family:var(--ff-display);
  font-size:18px;font-weight:400;font-style:italic;
  color:var(--grey-mid);margin-bottom:24px;line-height:1.4;
}
.ab-lead{
  font-size:15px;font-weight:300;
  color:var(--grey-dk);line-height:1.85;
  max-width:480px;margin-bottom:28px;
}
.ab-lead strong{font-weight:600;color:var(--ink);}

/* inline stat row */
.ab-stats-row{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--grey-lt);
  border:1px solid var(--grey-lt);
  border-radius:var(--radius-md);
  overflow:hidden;margin-bottom:32px;
}
.ab-stat{
  background:var(--snow);
  padding:16px 18px;text-align:center;
  transition:background .2s;
}
.ab-stat:hover{background:var(--lav-pale);}
.ab-stat-num{
  font-family:var(--ff-display);
  font-size:28px;font-weight:600;
  color:var(--amethyst);line-height:1;margin-bottom:4px;
}
.ab-stat-lbl{font-size:11px;color:var(--grey-mid);font-weight:400;letter-spacing:.04em;}

.ab-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:32px;}
.ab-pill{
  font-size:11px;font-weight:500;
  padding:5px 13px;border-radius:100px;
  background:var(--lav-pale);color:var(--amethyst);
  border:1px solid rgba(107,70,193,.15);
}
.ab-cta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.ab-trust{
  font-size:12px;color:var(--grey-mid);
  display:flex;align-items:center;gap:6px;
  margin-top:16px;
}
.ab-trust-dot{width:7px;height:7px;background:#22c55e;border-radius:50%;flex-shrink:0;}

/* ── PART B: STORY STRIP ── */
.ab-story{
  background:var(--silver);
  padding:96px 0;
  position:relative;overflow:hidden;
}
.ab-story::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(to right,transparent,var(--amethyst) 30%,var(--lavender) 70%,transparent);
}
.ab-story-grid{
  display:grid;
  grid-template-columns:5fr 7fr;
  gap:0;align-items:start;
}
.ab-story-left{
  padding-right:60px;
  position:sticky;top:40px;
}
.ab-story-heading{
  font-family:var(--ff-display);
  font-size:clamp(28px,2.8vw,40px);
  font-weight:500;line-height:1.12;
  letter-spacing:-.02em;color:var(--ink);
  margin-bottom:28px;margin-top:16px;
}
.ab-story-heading em{font-style:italic;color:var(--amethyst);}
.ab-stat-stack{
  border:1px solid var(--grey-lt);
  border-radius:var(--radius-lg);
  overflow:hidden;background:#fff;
}
.ab-ssi{
  padding:18px 22px;
  border-bottom:1px solid var(--grey-lt);
  display:flex;align-items:center;gap:14px;
  transition:background .2s;
}
.ab-ssi:last-child{border-bottom:none;}
.ab-ssi:hover{background:var(--lav-pale);}
.ab-ssi-icon{
  width:40px;height:40px;
  background:var(--lav-light);border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:17px;flex-shrink:0;
}
.ab-ssi-num{
  font-family:var(--ff-display);
  font-size:26px;font-weight:600;
  color:var(--amethyst);line-height:1;
}
.ab-ssi-lbl{font-size:11px;color:var(--grey-mid);margin-top:2px;}

.ab-story-right{
  padding-left:60px;
  border-left:1px solid var(--grey-lt);
}
.ab-block{
  margin-bottom:36px;padding-bottom:36px;
  border-bottom:1px solid var(--grey-lt);
}
.ab-block:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.ab-block-ey{
  display:flex;align-items:center;gap:9px;
  font-size:10px;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--amethyst);margin-bottom:12px;
}
.ab-block-ey::before{content:'';width:18px;height:2px;background:var(--amethyst);border-radius:1px;}
.ab-block-title{
  font-family:var(--ff-display);
  font-size:22px;font-weight:500;
  color:var(--ink);margin-bottom:12px;line-height:1.25;
}
.ab-block-body{
  font-size:14px;font-weight:300;
  color:var(--grey-dk);line-height:1.85;
}
.ab-block-body strong{font-weight:600;color:var(--ink);}
.ab-block-body + .ab-block-body{margin-top:12px;}
.hl-chip{
  display:inline-flex;align-items:center;gap:4px;
  background:var(--lav-pale);color:var(--amethyst);
  border-radius:4px;padding:1px 8px;
  font-weight:500;font-size:.9em;
}
.ab-pq{
  background:var(--plum);
  border-radius:12px;padding:28px 32px;
  margin:24px 0;position:relative;overflow:hidden;
}
.ab-pq::before{
  content:'\201C';
  font-family:var(--ff-display);font-size:130px;
  color:rgba(196,181,253,.1);
  position:absolute;top:-24px;left:10px;
  line-height:1;pointer-events:none;
}
.ab-pq-text{
  font-family:var(--ff-display);
  font-size:18px;font-style:italic;
  color:rgba(255,255,255,.88);line-height:1.65;
  margin-bottom:14px;position:relative;z-index:1;
}
.ab-pq-attr{
  font-size:12px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--lavender);position:relative;z-index:1;
}

/* ── PART C: VALUES ── */
.ab-values{
  background:var(--snow);
  padding:96px 0;
}
.ab-values-hdr{
  display:grid;grid-template-columns:1fr 1fr;
  gap:80px;align-items:end;margin-bottom:52px;
}
.ab-values-heading{
  font-family:var(--ff-display);
  font-size:clamp(28px,2.8vw,40px);
  font-weight:500;line-height:1.12;
  letter-spacing:-.02em;color:var(--ink);
}
.ab-values-heading em{font-style:italic;color:var(--amethyst);}
.ab-values-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:16px;margin-bottom:48px;
}
.ab-val-card{
  background:var(--snow);
  border:1px solid var(--grey-lt);
  border-radius:var(--radius-lg);
  padding:28px 22px;text-align:center;
  transition:all .3s cubic-bezier(.16,1,.3,1);
  position:relative;overflow:hidden;
  cursor:default;
}
.ab-val-card::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:0;
  background:linear-gradient(to bottom,var(--lav-pale),transparent);
  transition:height .3s cubic-bezier(.16,1,.3,1);
}
.ab-val-card:hover::before{height:100%;}
.ab-val-card:hover{
  border-color:rgba(107,70,193,.2);
  box-shadow:0 8px 36px rgba(107,70,193,.1);
  transform:translateY(-4px);
}
.ab-val-icon{
  width:56px;height:56px;
  background:var(--lav-light);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;margin:0 auto 16px;
  position:relative;z-index:1;
  transition:transform .3s;
}
.ab-val-card:hover .ab-val-icon{transform:scale(1.12);}
.ab-val-title{
  font-family:var(--ff-display);
  font-size:17px;font-weight:500;
  color:var(--ink);margin-bottom:8px;
  position:relative;z-index:1;
}
.ab-val-body{
  font-size:13px;font-weight:300;
  color:var(--grey-mid);line-height:1.65;
  position:relative;z-index:1;
}
/* who it's for strip */
.ab-who{
  background:var(--lav-pale);
  border:1px solid rgba(107,70,193,.1);
  border-radius:var(--radius-lg);
  padding:36px 44px;
  display:grid;grid-template-columns:auto 1fr;
  gap:44px;align-items:center;
}
.ab-who-label{
  font-family:var(--ff-display);
  font-size:18px;font-weight:500;
  color:var(--amethyst);white-space:nowrap;
  border-right:1px solid rgba(107,70,193,.15);
  padding-right:44px;
}
.ab-who-items{display:flex;flex-wrap:wrap;gap:9px;}
.ab-who-item{
  display:flex;align-items:center;gap:8px;
  font-size:13px;font-weight:500;color:var(--grey-dk);
  background:#fff;
  border:1px solid rgba(107,70,193,.12);
  border-radius:100px;padding:7px 15px;
}
.ab-who-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;flex-shrink:0;}
/* real photo fill */
.ab-photo-body{
  position:absolute; inset:0;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
}
.ab-photo-real{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 45%;
  display:block;
  position:relative;z-index:1;
}
/* colour-grade overlay: soft purple-violet wash */
.ab-photo-grade{
  position:absolute;inset:0;z-index:2;
  background:linear-gradient(
    to bottom,
    rgba(29,10,66,.18) 0%,
    rgba(59,29,138,.12) 40%,
    rgba(14,11,24,.55) 100%
  );
}
/* vignette edges */
.ab-photo-vignette{
  position:absolute;inset:0;z-index:3;
  box-shadow:inset 0 0 80px rgba(14,11,24,.45);
}
/* bottom name plate */
.ab-photo-nameplate{
  position:absolute;
  bottom:0;left:0;right:0;
  z-index:4;
  background:linear-gradient(to top,rgba(14,11,24,.88) 0%,transparent 100%);
  padding:56px 28px 24px;
}
.ab-nameplate-name{
  font-family:var(--ff-display);
  font-size:22px;font-weight:500;
  color:#fff;margin-bottom:4px;line-height:1;
}
.ab-nameplate-title{
  font-size:12px;font-weight:400;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
/* decorative corner accent */
.ab-photo-corner{
  position:absolute;
  top:20px;left:20px;
  z-index:4;
  width:44px;height:44px;
  border-top:2px solid var(--gold);
  border-left:2px solid var(--gold);
}
.ab-photo-corner-br{
  position:absolute;
  bottom:0;right:0;
  z-index:4;
  width:120px;height:3px;
  background:linear-gradient(to right,transparent,var(--lavender));
}
/* keep these unused stubs harmless */
.ab-photo-circle{display:none;}
.ab-photo-initial{display:none;}
.ab-photo-hint{display:none;}

/* ══════════════════════════════════════
   ABOUT SECTION — PREMIUM PHOTO UPGRADES
══════════════════════════════════════ */

/* ── hero panel height and tighter grid ── */
.ab-hero{
  min-height:92vh;
  border-top:3px solid var(--amethyst);
}

/* ── left photo panel: taller, no excess padding ── */
.ab-photo{
  min-height:640px;
  background:#0D0A20;
}

/* ── floating credential badges: sharper glass ── */
.ab-badge{
  box-shadow:0 8px 32px rgba(0,0,0,.35), 0 1px 0 rgba(255,255,255,.07) inset;
}
.ab-badge-1{ top:44px; right:-22px; }
.ab-badge-2{ bottom:140px; right:-26px; }
.ab-badge-3{ bottom:52px; left:24px; }

/* ── gold badge values for emphasis ── */
.ab-badge-val{ font-size:21px; font-weight:600; }

/* ── right content panel refinements ── */
.ab-content{
  padding:72px 72px 72px 84px;
  background: var(--snow);
}

/* ── section label divider ── */
.ab-about-section-label{
  display:flex;align-items:center;gap:14px;
  margin-bottom:28px;
}
.ab-about-label-line{
  flex:1;height:1px;
  background:linear-gradient(to right,var(--grey-lt),transparent);
}
.ab-about-label-text{
  font-size:10px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--grey-mid);white-space:nowrap;
}

/* ── headline refinement ── */
.ab-h2{
  font-size:clamp(32px,3.2vw,50px);
  margin-bottom:6px;
}

/* ── lead paragraph refinement ── */
.ab-lead{font-size:15px;line-height:1.9;}

/* ── stat bar: more refined ── */
.ab-stats-row{
  border:1px solid var(--grey-lt);
  border-radius:var(--radius-lg);
}
.ab-stat{
  padding:18px 20px;
  transition:background .2s;
}
.ab-stat:hover{background:var(--lav-pale);}
.ab-stat-num{
  font-size:30px;
/*   background:linear-gradient(135deg,var(--amethyst),var(--soft-violet)); */
  
}


/* ── CTA row: subtle arrow on gold btn ── */
.ab-cta-row .btn-gold{
  box-shadow:0 6px 24px rgba(212,168,83,.4);
  font-size:14px;
  padding:16px 32px;
}

/* ── Story section: left column heading size ── */
.ab-story-heading{
  font-size:clamp(26px,2.5vw,36px);
  line-height:1.15;
}

/* ── pull-quote: slightly richer ── */
.ab-pq{
  border:1px solid rgba(196,181,253,.12);
}
.ab-pq-text{font-size:19px;}

/* ── Values section: taller icon circles ── */
.ab-val-icon{
  width:60px;height:60px;font-size:24px;
}
.ab-val-title{font-size:18px;}

/* ── Who strip: nicer padding ── */
.ab-who{
  padding:40px 50px;
}



}
/* ── NAV LOGO: dark-bg pages invert logo ── */
.page-switcher .switcher-brand img{
  filter:brightness(1.6) saturate(0.8);
}


/* ================================================================
   FULLY RESPONSIVE — Let's Talk With Rebecca
   Breakpoints: 1200px · 1024px · 768px · 480px
================================================================ */

/* ── Hamburger Menu Button ── */
.nav-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 6px;
  background: none;
  border: none;
  z-index: 200;
}
.nav-hamburger span {
  display: block;
  width: 24px; height: 2px;
  background: var(--plum);
  border-radius: 2px;
  transition: all .3s;
}
.nav-hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* Mobile nav drawer */
.nav-drawer {
  display: none;
  position: fixed;
  top: 64px; left: 0; right: 0;
  background: var(--snow);
  border-bottom: 2px solid var(--lav-light);
  padding: 24px 28px 32px;
  z-index: 999;
  box-shadow: 0 20px 60px rgba(59,29,138,.15);
  flex-direction: column;
  gap: 0;
}
.nav-drawer.open { display: flex; }
.nav-drawer a {
  display: block;
  font-size: 15px; font-weight: 500;
  color: var(--grey-dk);
  text-decoration: none;
  padding: 14px 0;
  border-bottom: 1px solid var(--grey-lt);
  letter-spacing: .02em;
  transition: color .2s;
}
.nav-drawer a:last-of-type { border-bottom: none; }
.nav-drawer a:hover { color: var(--amethyst); }
.nav-drawer .drawer-cta {
  margin-top: 20px;
  background: var(--amethyst);
  color: #fff;
  text-align: center;
  padding: 14px;
  border-radius: var(--radius-sm);
  font-weight: 600;
  letter-spacing: .04em;
  border-bottom: none;
}

/* ── Section wrap padding shrink ── */
@media (max-width: 1200px) {
  .section-wrap { padding: 0 40px; }
  .hero-inner { padding: 100px 40px 80px; gap: 52px; }
  .ab-content { padding: 60px 56px 60px 64px; }
  .footer-grid { gap: 36px; }
}

/* ================================================================
   1024px — TABLET LANDSCAPE
================================================================ */
@media (max-width: 1024px) {

  /* Page switcher */
  .page-switcher { padding: 0 20px; gap: 0; }
  .switcher-brand img { height: 30px; }
  .switcher-badge { display: none; }
  .switcher-tabs { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .switcher-tabs::-webkit-scrollbar { display: none; }
  .stab { padding: 0 14px; font-size: 11px; white-space: nowrap; }

  /* Nav */
  .site-nav { padding: 0 28px; height: 64px; }
  .nav-links { display: none; }
  .nav-cta { display: none; }
  .nav-hamburger { display: flex; }
  .nav-logo img { height: 40px; }

  /* Hero */
  .hero-inner {
    grid-template-columns: 1fr;
    padding: 100px 40px 60px;
    gap: 48px;
    text-align: center;
  }
  .hero-h1 { font-size: clamp(38px, 6vw, 60px); }
  .hero-sub { max-width: 100%; margin-left: auto; margin-right: auto; }
  .hero-eyebrow { justify-content: center; }
  .hero-actions { justify-content: center; }
  .hero-stats { justify-content: center; max-width: 400px; margin-left: auto; margin-right: auto; }
  .hero-card { max-width: 360px; margin: 0 auto; }
  .hero-floating-badge { top: -12px; right: -12px; width: 76px; height: 76px; }
  .hero-floating-badge-num { font-size: 20px; }

  /* Trust ribbon */
  .trust-ribbon { gap: 28px; padding: 16px 28px; overflow-x: auto; justify-content: flex-start; flex-wrap: nowrap; }
  .ribbon-item { white-space: nowrap; font-size: 11px; }

  /* About hero */
  .ab-hero { grid-template-columns: 1fr; min-height: auto; }
  .ab-photo { min-height: 420px; order: -1; }
  .ab-content { padding: 52px 40px; }
  .ab-content::before { display: none; }
  .ab-h2 { font-size: clamp(28px, 4vw, 44px); }

  /* About story */
  .ab-story-grid { grid-template-columns: 1fr; gap: 48px; }
  .ab-story-left { padding-right: 0; position: relative; top: auto; }
  .ab-story-right { padding-left: 0; border-left: none; border-top: 1px solid var(--grey-lt); padding-top: 40px; }

  /* About values */
  .ab-values-hdr { grid-template-columns: 1fr; gap: 24px; }
  .ab-values-grid { grid-template-columns: repeat(2,1fr); }
  .ab-who { grid-template-columns: 1fr; gap: 20px; }
  .ab-who-label { border-right: none; border-bottom: 1px solid rgba(107,70,193,.15); padding-right: 0; padding-bottom: 16px; }

  /* Services */
  .services-header { grid-template-columns: 1fr; gap: 24px; }
  .services-header-right { align-items: flex-start; }
  .services-grid { grid-template-columns: repeat(2,1fr); }

  /* Packages */
  .packages-intro { grid-template-columns: 1fr; gap: 24px; }
  .packages-grid { grid-template-columns: repeat(2,1fr); }

  /* Process */
  .process-track { grid-template-columns: repeat(2,1fr); gap: 40px; row-gap: 48px; }
  .process-track::before { display: none; }

  /* Testimonials */
  .testimonials-header { flex-direction: column; align-items: flex-start; gap: 20px; }
  .testimonials-grid { grid-template-columns: repeat(2,1fr); }

  /* FAQ */
  .faq-wrap { grid-template-columns: 1fr; gap: 48px; }
  .faq-left { max-width: 100%; }

  /* CTA Band */
  .cta-band-inner { grid-template-columns: 1fr; gap: 44px; }
  .cta-heading { font-size: clamp(28px, 4vw, 44px); }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .footer-bottom { flex-direction: column; gap: 14px; text-align: center; }

  /* About page sections */
  .about-story { grid-template-columns: 1fr; }
  .about-story-img { min-height: 320px; order: -1; }
  .about-story-content { padding: 52px 40px; }
  .about-values-grid { grid-template-columns: repeat(2,1fr); }
  .about-background-grid { grid-template-columns: 1fr; gap: 40px; }

  /* Services page */
  .services-page-grid { grid-template-columns: 1fr; padding: 48px 0; }

  /* Packages page */
  .packages-full-grid { grid-template-columns: repeat(2,1fr); }

  /* Contact page */
  .contact-layout { grid-template-columns: 1fr; }
  .contact-left { padding: 52px 40px; }
  .contact-right { padding: 52px 40px; }
  .form-row { grid-template-columns: 1fr 1fr; }

  /* Page hero */
  .page-hero { padding: 80px 40px 60px; }

  /* Section padding */
  .ab-story { padding: 72px 0; }
  .ab-values { padding: 72px 0; }
  .services-section { padding: 72px 0; }
  .packages-section { padding: 72px 0; }
  .process-section { padding: 72px 0; }
  .testimonials-section { padding: 72px 0; }
  .final-cta { padding: 80px 0; }
  .quiz-section { padding: 72px 0; }
  footer { padding: 56px 0 28px; }
  .footer-inner { padding: 0 40px; }
}

/* ================================================================
   768px — TABLET PORTRAIT
================================================================ */
@media (max-width: 768px) {

  /* Switcher */
  .page-switcher { height: 48px; }
  .stab { font-size: 10px; padding: 0 10px; height: 48px; }

  /* Nav */
  .site-nav { top: 0; }
  .nav-drawer { top: 64px; }
  .nav-logo img { height: 36px; }

  /* Hero */
  .hero-inner { padding: 80px 24px 52px; }
  .hero-h1 { font-size: clamp(32px,7vw,52px); }
  .hero-card { max-width: 300px; }
  .hero-trust-pill { left: -10px; }
  .hero-stats { grid-template-columns: repeat(3,1fr); max-width: 100%; }
  .hero-stat-num { font-size: 28px; }

  /* Trust ribbon */
  .trust-ribbon { padding: 14px 20px; gap: 20px; }

  /* About hero */
  .ab-photo { min-height: 360px; }
  .ab-content { padding: 44px 28px; }
  .ab-stats-row { grid-template-columns: 1fr; }
  .ab-stat { border-right: none; border-bottom: 1px solid var(--grey-lt); padding: 14px 16px; text-align: left; display: flex; align-items: center; gap: 16px; }
  .ab-stat:last-child { border-bottom: none; }

  /* Services grid 1 col */
  .services-grid { grid-template-columns: 1fr; }

  /* Packages grid 1 col */
  .packages-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .packages-full-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }

  /* Process 1 col */
  .process-track { grid-template-columns: 1fr; gap: 32px; }
  .process-step { padding: 0; }

  /* Testimonials 1 col */
  .testimonials-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }

  /* FAQ */
  .faq-left .display-md { font-size: 28px; }

  /* Footer 1 col */
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }

  /* About values 2 col */
  .about-values-grid { grid-template-columns: repeat(2,1fr); }
  .ab-values-grid { grid-template-columns: repeat(2,1fr); }

  /* Services page */
  .svc-full-card { flex-direction: column; gap: 18px; }

  /* Contact */
  .form-row { grid-template-columns: 1fr; }
  .form-select-row { gap: 7px; }
  .avail-block { padding: 16px; }

  /* Page hero */
  .page-hero { padding: 68px 24px 48px; }
  .page-hero .display-lg { font-size: clamp(28px,6vw,44px); }

  /* Primal callout */
  .primal-callout { flex-direction: column; padding: 32px 28px; gap: 24px; }
  .primal-callout-icon { font-size: 44px; }

  /* Approach grid */
  .approach-grid { grid-template-columns: 1fr; }

  /* Who benefits */
  .who-benefits { grid-template-columns: 1fr; gap: 16px; }

  /* CTA band card */
  .cta-right { padding: 32px 28px; }

  /* Section wraps */
  .section-wrap { padding: 0 24px; }
  .footer-inner { padding: 0 24px; }
  .quiz-inner { padding: 0 24px; }

  /* Quiz section */
  .quiz-title { font-size: clamp(28px,6vw,44px); }
}

/* ================================================================
   480px — MOBILE
================================================================ */
@media (max-width: 480px) {

  /* Switcher — icon only */
  .page-switcher { padding: 0 12px; height: 46px; }
  .stab { padding: 0 8px; font-size: 10px; letter-spacing: .04em; }
  .switcher-brand img { height: 26px; }

  /* Nav */
  .site-nav { padding: 0 16px; height: 58px; top: 0; }
  .nav-logo img { height: 32px; }
  .nav-drawer { top: 58px; padding: 20px 16px 28px; }

  /* Hero */
  .hero-inner { padding: 72px 16px 48px; }
  .hero-h1 { font-size: clamp(28px,8vw,42px); line-height: 1.1; }
  .hero-sub { font-size: 15px; }
  .hero-actions { flex-direction: column; gap: 12px; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-stats { gap: 0; }
  .hero-stat-num { font-size: 24px; }
  .hero-stat-label { font-size: 9px; }
  .hero-card { max-width: 260px; }

  /* Trust ribbon — scroll */
  .trust-ribbon { padding: 12px 16px; gap: 16px; }
  .ribbon-item { font-size: 10px; }
  .ribbon-icon { width: 22px; height: 22px; font-size: 11px; }

  /* About hero content */
  .ab-content { padding: 36px 16px; }
  .ab-h2 { font-size: clamp(24px,7vw,36px); }
  .ab-nametag { font-size: 11px; }
  .ab-cta-row { flex-direction: column; gap: 10px; }
  .ab-cta-row .btn { width: 100%; justify-content: center; }
  .ab-pills { gap: 6px; }
  .ab-pill { font-size: 11px; padding: 5px 11px; }

  /* About story section */
  .ab-story { padding: 52px 0; }
  .ab-story .section-wrap { padding: 0 16px; }
  .ab-story-heading { font-size: 26px; }

  /* Values */
  .ab-values { padding: 52px 0; }
  .ab-values-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .ab-val-card { padding: 22px 16px; }
  .ab-who { padding: 28px 20px; flex-direction: column; gap: 16px; }
  .ab-who-label { border-right: none; border-bottom: 1px solid rgba(107,70,193,.15); padding-right: 0; padding-bottom: 14px; font-size: 15px; }

  /* Services */
  .services-section { padding: 52px 0; }
  .services-section .section-wrap { padding: 0 16px; }
  .svc-card { padding: 28px 22px; }

  /* Quiz */
  .quiz-section { padding: 56px 0; }
  .quiz-inner { padding: 0 16px; }
  .quiz-actions { flex-direction: column; gap: 10px; align-items: stretch; }
  .quiz-actions .btn { text-align: center; justify-content: center; }

  /* Packages */
  .packages-section { padding: 52px 0; }
  .packages-section .section-wrap { padding: 0 16px; }
  .pkg-card { padding: 28px 22px; }

  /* Process */
  .process-section { padding: 52px 0; }
  .process-section .section-wrap { padding: 0 16px; }
  .process-circle { width: 60px; height: 60px; }
  .process-num { font-size: 22px; }

  /* Testimonials */
  .testimonials-section { padding: 52px 0; }
  .testimonials-section .section-wrap { padding: 0 16px; }
  .testi-card { padding: 28px 22px; }

  /* FAQ */
  .faq-section { padding: 52px 0; }
  .faq-section .section-wrap { padding: 0 16px; }
  .faq-q { font-size: 15px; }
  .faq-left .btn { width: 100%; justify-content: center; }

  /* Final CTA */
  .final-cta { padding: 64px 0; }
  .final-cta-inner { padding: 0 16px; }
  .final-cta-actions { flex-direction: column; gap: 10px; align-items: stretch; }
  .final-cta-actions .btn { justify-content: center; }
  .final-cta-inner .display-lg { font-size: clamp(26px,7vw,38px); }

  /* Footer */
  footer { padding: 44px 0 24px; }
  .footer-inner { padding: 0 16px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-top { padding-bottom: 32px; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; font-size: 11px; }
  .footer-legal { gap: 14px; }

  /* About page */
  .about-story-content { padding: 40px 16px; }
  .about-values-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .value-card { padding: 22px 16px; }
  .about-background-grid { gap: 28px; }
  .timeline-item { gap: 14px; }
  .about-bg-card { padding: 32px 24px; }
  .about-bg-stats { grid-template-columns: 1fr 1fr; gap: 12px; }

  /* Services page */
  .services-page-grid { padding: 36px 0; gap: 14px; }
  .svc-full-card { padding: 28px 20px; gap: 16px; }
  .svc-icon-wrap { width: 48px; height: 48px; font-size: 20px; flex-shrink: 0; }

  /* Packages page */
  .pkg-full-card { padding: 32px 24px; }
  .packages-page-hero { padding: 72px 16px 52px; }

  /* Contact page */
  .contact-left { padding: 44px 16px; }
  .contact-right { padding: 44px 16px; }
  .page-hero { padding: 60px 16px 44px; }
  .breadcrumb { margin-bottom: 20px; }

  /* Section headings */
  .display-lg { font-size: clamp(26px,7vw,38px); }
  .display-md { font-size: clamp(22px,5vw,32px); }
  .display-sm { font-size: clamp(18px,4vw,24px); }

  /* Approach section */
  .approach-heading { font-size: clamp(26px,7vw,38px); }
  .approach-grid { grid-template-columns: 1fr; gap: 14px; }
  .approach-card { padding: 28px 24px; }

  /* CTA band */
  .cta-band { padding: 52px 0; }
  .cta-band-inner { padding: 0 16px; gap: 32px; }
  .cta-card-actions .btn { width: 100%; justify-content: center; }
  .cta-right { padding: 28px 20px; }
}

/* ================================================================
   UTILITY: smooth scroll padding for fixed header
================================================================ */


@media (max-width: 768px) {  }
@media (max-width: 480px) {  }



/* ═══════════════════════════════════════════
   QA FIX SHEET — Full Polish Pass
═══════════════════════════════════════════ */

/* ── Global resets ── */
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; display: block; }
a { text-decoration: none; }

/* ── Body — prevent x-overflow ── */
body { overflow-x: hidden; }

/* ── Page container — no gap when switcher removed ── */
/* .page { display: none; } */
.page.active { display: block; }

/* ── Hero: tighten at medium screens ── */
.hero-inner {
  padding: 100px 60px 80px;
  grid-template-columns: 1fr 400px;
  gap: 64px;
}

/* ── Hero H1 line-height fix ── */
.hero-h1 { line-height: 1.06; }

/* ── Hero sub max-width ── */
.hero-sub { max-width: 500px; }

/* ── Hero stats — solid fallback for gradient text ── */
.hero-stat-num {
  font-family: var(--ff-display);
  font-size: 36px; font-weight: 600;
  color: var(--amethyst);
  line-height: 1; margin-bottom: 6px;
  white-space: nowrap;
}
.hero-stat-num span { color: var(--gold); }
.hero-stat-label {
  font-size: 10px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.38);
  white-space: nowrap;
}

/* ── Trust ribbon — centre properly ── */
.trust-ribbon {
  background: var(--lav-pale);
  border-top: 1px solid var(--grey-lt);
  border-bottom: 1px solid var(--grey-lt);
  padding: 16px 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}
.ribbon-item {
  display: flex; align-items: center; gap: 9px;
  font-size: 12px; font-weight: 500;
  color: var(--grey-dk);
  letter-spacing: .03em;
  white-space: nowrap;
}
.ribbon-icon {
  width: 28px; height: 28px;
  background: var(--lav-light);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; flex-shrink: 0;
}

/* ── About Hero: photo panel height ── */
.ab-hero { min-height: 88vh; border-top: none; }
.ab-photo { min-height: 620px; }
.ab-content { padding: 72px 72px 72px 80px; }

/* ── About content vertical accent line ── */
.ab-content::before {
  content: '';
  position: absolute;
  left: 0; top: 72px; bottom: 72px;
  width: 3px;
  background: linear-gradient(to bottom, transparent, var(--amethyst) 30%, var(--lavender) 70%, transparent);
  border-radius: 2px;
}

/* ── About stats row — solid background, no webkit gradient ── */
.ab-stat-num {
  font-family: var(--ff-display);
  font-size: 28px; font-weight: 600;
  color: var(--amethyst);
  line-height: 1; margin-bottom: 4px;

}

/* ── Services section spacing ── */
.services-section { background: #f5f3ff; padding: 96px 0; }
.services-header { margin-bottom: 52px; }

/* ── Services cards — uniform height ── */
.svc-card {
  display: flex; flex-direction: column;
  height: 100%;
}
.svc-body { flex: 1; }

/* ── Quiz section — balanced padding ── */
.quiz-section { padding: 100px 0; }

/* ── Packages section ── */
.packages-section { padding: 96px 0; }
.packages-grid { margin-top: 52px; }
.pkg-card { transition: box-shadow .3s, transform .3s; }
.pkg-card:hover {
  box-shadow: 0 12px 40px rgba(107,70,193,.12);
  transform: translateY(-3px);
}

/* ── Process section ── */
.process-section { padding: 96px 0; background: var(--snow); }
.process-circle:hover {
  background: var(--lav-light);
  border-color: var(--amethyst);
  box-shadow: 0 0 0 4px rgba(107,70,193,.1);
}

/* ── Testimonials ── */
.testimonials-section { padding: 96px 0; }
.testi-card:hover {
  box-shadow: 0 12px 40px rgba(107,70,193,.12);
  transform: translateY(-3px);
}

/* ── FAQ section ── */
.faq-section { padding: 96px 0; }
.faq-item:first-child { border-top: 1px solid var(--grey-lt); }
.faq-q:hover { color: var(--amethyst); }

/* ── Final CTA ── */
.final-cta { padding: 110px 0; }

/* ── Footer clean-up ── */
footer { background: #080613; padding: 72px 0 36px; }
.footer-inner { max-width: 1200px; margin: 0 auto; padding: 0 60px; }
.footer-grid {
  display: grid;
  grid-template-columns: 2.2fr 1fr 1fr 1.6fr;
  gap: 52px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  margin-bottom: 32px;
}
.footer-bottom {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 12px; color: rgba(255,255,255,.22);
}

/* ── Values cards equal height ── */
.ab-values-grid { align-items: stretch; }
.ab-val-card { display: flex; flex-direction: column; }
.ab-val-body { flex: 1; }

/* ── Who strip clean alignment ── */
.ab-who { align-items: center; }



.testi-stars{ display:flex; margin-bottom:1rem; }
.testi-author-row{ display: flex; gap: 1rem; align-items: center; }




/* ══════════════════════════════════════════
   RESPONSIVE — QA Fixes
══════════════════════════════════════════ */

/* 1200px */
@media (max-width:1200px){
  .site-nav { padding: 0 40px; }
  .hero-inner { padding: 90px 40px 72px; gap: 48px; grid-template-columns: 1fr 360px; }
  .section-wrap { padding: 0 40px; }
  .footer-inner { padding: 0 40px; }
  .ab-content { padding: 60px 56px 60px 64px; }
  .trust-ribbon { padding: 16px 40px; gap: 28px; }
}

/* 1024px — tablet */
@media (max-width:1024px){
  .site-nav { padding: 0 28px; height: 64px; }
  .nav-links { display: none; }
  .nav-cta { display: none; }
  .nav-hamburger { display: flex; }
  .nav-logo img { height: 38px; }
  .nav-drawer { top: 64px; }

  .hero-inner {
    grid-template-columns: 1fr;
    padding: 80px 40px 56px;
    gap: 44px;
    text-align: center;
  }
  .hero-h1 { font-size: clamp(36px,6vw,58px); }
  .hero-sub { max-width: 100%; margin: 0 auto; }
  .hero-eyebrow { justify-content: center; }
  .hero-actions { justify-content: center; }
  .hero-stats { max-width: 400px; margin: 52px auto 0; }
  .hero-card { max-width: 340px; margin: 0 auto; }
  .hero-floating-badge { top: -12px; right: -12px; width: 74px; height: 74px; }

  .trust-ribbon { padding: 14px 24px; gap: 20px; overflow-x: auto; justify-content: flex-start; flex-wrap: nowrap; }
  .ribbon-item { flex-shrink: 0; }

  .ab-hero { grid-template-columns: 1fr; min-height: auto; }
  .ab-photo { min-height: 400px; order: -1; }
  .ab-content { padding: 52px 40px; }
  .ab-content::before { display: none; }

  .services-section { padding: 72px 0; }
  .services-header { grid-template-columns: 1fr; gap: 20px; }
  .services-header-right { align-items: flex-start; }
  .services-grid { grid-template-columns: repeat(2,1fr); }

  .packages-section { padding: 72px 0; }
  .packages-intro { grid-template-columns: 1fr; gap: 20px; }
  .packages-grid { grid-template-columns: repeat(2,1fr); }

  .process-section { padding: 72px 0; }
  .process-track { grid-template-columns: repeat(2,1fr); gap: 40px 28px; }
  .process-track::before { display: none; }

  .testimonials-section { padding: 72px 0; }
  .testimonials-header { flex-direction: column; align-items: flex-start; gap: 16px; }
  .testimonials-grid { grid-template-columns: repeat(2,1fr); }

  .faq-section { padding: 72px 0; }
  .faq-wrap { grid-template-columns: 1fr; gap: 44px; }

  .final-cta { padding: 80px 0; }
  .final-cta-inner { padding: 0 40px; }

  footer { padding: 56px 0 28px; }
  .footer-inner { padding: 0 40px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }

  .ab-values-hdr { grid-template-columns: 1fr; gap: 20px; }
  .ab-values-grid { grid-template-columns: repeat(2,1fr); }
  .ab-who { grid-template-columns: 1fr; gap: 16px; }
  .ab-who-label { border-right: none; border-bottom: 1px solid rgba(107,70,193,.15); padding-right: 0; padding-bottom: 14px; }

  .section-wrap { padding: 0 28px; }
  .quiz-inner { padding: 0 40px; }
  .quiz-section { padding: 72px 0; }
}

/* 768px — tablet portrait */
@media (max-width:768px){
  .site-nav { padding: 0 20px; height: 60px; }
  .nav-logo img { height: 34px; }
  .nav-drawer { top: 60px; }

  .hero-inner { padding: 72px 24px 52px; gap: 36px; }
  .hero-h1 { font-size: clamp(30px,7vw,48px); }
  .hero-card { max-width: 280px; }
  .hero-stats { max-width: 100%; }
  .hero-stat-num { font-size: 28px; }

  .trust-ribbon { gap: 16px; padding: 12px 20px; }

  .services-grid { grid-template-columns: 1fr; }
  .testimonials-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .packages-grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
  .process-track { grid-template-columns: 1fr; gap: 32px; }

  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-inner { padding: 0 24px; }
  .ab-values-grid { grid-template-columns: repeat(2,1fr); gap: 12px; }
  .section-wrap { padding: 0 24px; }
  .quiz-inner { padding: 0 24px; }
  .final-cta-inner { padding: 0 24px; }
}

/* 480px — mobile */
@media (max-width:480px){
  .site-nav { padding: 0 16px; height: 56px; }
  .nav-logo img { height: 30px; }
  .nav-drawer { top: 56px; padding: 16px 20px 24px; }

  .hero-inner { padding: 64px 16px 48px; }
  .hero-h1 { font-size: clamp(26px,8vw,38px); line-height: 1.1; }
  .hero-sub { font-size: 15px; }
  .hero-actions { flex-direction: column; gap: 10px; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-card { max-width: 240px; }
  .hero-stats { grid-template-columns: repeat(3,1fr); }

  .trust-ribbon { gap: 14px; padding: 12px 16px; }

  .ab-photo { min-height: 320px; }
  .ab-content { padding: 36px 16px 40px; }
  .ab-h2 { font-size: clamp(24px,7vw,34px); }
  .ab-cta-row { flex-direction: column; gap: 10px; }
  .ab-cta-row .btn { width: 100%; justify-content: center; }

  .services-section, .quiz-section, .packages-section,
  .process-section, .testimonials-section, .faq-section { padding: 56px 0; }
  .final-cta { padding: 64px 0; }
  .section-wrap { padding: 0 16px; }
  .quiz-inner { padding: 0 16px; }
  .final-cta-inner { padding: 0 16px; }

  .services-grid { gap: 14px; }
  .svc-card { padding: 28px 22px; }

  .packages-grid { grid-template-columns: 1fr; }
  .pkg-card { padding: 28px 22px; }

  .process-circle { width: 60px; height: 60px; }
  .process-num { font-size: 22px; }

  .quiz-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .quiz-actions .btn { text-align: center; justify-content: center; }

  .final-cta-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .final-cta-actions .btn { justify-content: center; }
  .final-cta-inner .display-lg { font-size: clamp(24px,7vw,34px); }

  .footer-grid { grid-template-columns: 1fr; gap: 24px; }
  .footer-inner { padding: 0 16px; }
  footer { padding: 44px 0 24px; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }
  .footer-legal { gap: 14px; }

  .ab-values-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ab-val-card { padding: 22px 16px; }
  .ab-who { padding: 28px 20px; }

  .faq-q { font-size: 15px; }
  .testi-card { padding: 28px 20px; }
}

/* Smooth scroll offset for fixed nav */
html { scroll-padding-top: 72px; }
@media (max-width:1024px){ html { scroll-padding-top: 64px; } }
@media (max-width:768px){ html { scroll-padding-top: 60px; } }
@media (max-width:480px){ html { scroll-padding-top: 56px; } }

