/* =========================================================
   AUDHER LANDING PAGE — MEETABLE STYLE
   ========================================================= */
:root{
  --bg:#f6f2ea;
  --ink:#121212;

  --blue:#cfd9f6;
  --orangecard:#134a55;
  --sage:#dbe7de;
  --cream:#f7f4ec;

  --muted:#5f5b55;
  --line:rgba(18,18,18,.10);
}
body.home{
  --bg:#f6f2ea;
  --ink:#111;
  --muted:#666;
  --line:#84a9ff;
  --blue:#132955;

  background:var(--bg);
  color:var(--ink);
  font-family:Inter, Arial, sans-serif;
}

body.home::before,
body.home::after,
body.home .cursor,
body.home .cursor-ring,
body.home .watermark-bg,
body.home .matric-banner{
  display:none !important;
}

/* =========================================================
   NAVBAR
   ========================================================= */

body.home nav{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);

  z-index:1000;

  width:calc(100% - 40px);
  max-width:1420px;

  height:74px;

  padding:0 26px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  background:rgba(246,242,234,.72);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  border:1px solid rgba(18,18,18,.08);

  border-radius:24px;

  box-shadow:
    0 10px 40px rgba(18,18,18,.05),
    inset 0 1px 0 rgba(255,255,255,.35);
}

body.home .nav-logo{
  color:var(--ink);

  font-size:1.6rem;
  font-weight:800;

  letter-spacing:-.08em;

  text-transform:lowercase;
}

body.home .nav-logo span,
body.home .nav-logo em{
  color:var(--accent);

  font-style:normal;
}

body.home .nav-links{
  display:flex;
  align-items:center;
  gap:1.6rem;
}

body.home .nav-links a{
  position:relative;

  color:var(--ink);

  font-size:.84rem;
  font-weight:700;

  letter-spacing:.05em;

  text-decoration:none;

  transition:
    color .2s ease,
    transform .2s ease;
}

body.home .nav-links a:hover{
  color:var(--accent);
  transform:translateY(-1px);
}

body.home .nav-links a::after{
  content:"";

  position:absolute;
  left:0;
  bottom:-6px;

  width:0;
  height:1px;

  background:var(--accent);

  transition:width .22s ease;
}

body.home .nav-links a:hover::after{
  width:100%;
}

/* MAIN */

body.home main{
  padding-top:76px;
}

/* HERO */

body.home .hero-image-led{
  min-height:calc(100svh - 76px);

  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(520px, .88fr);
  gap:4vw;

  padding:4vw 5vw 3vw;
  align-items:center;

  border-bottom:1px solid var(--line);
}

body.home .hero-copy{
  max-width:760px;
}

body.home .hero-kicker{
  margin-bottom:1.5rem;
  color:var(--muted);
  font-size:1rem;
  line-height:1.5;
}

body.home .hero-image-led h1{
  font-family:Newsreader, Georgia, serif;
  font-size:clamp(4rem, 6.8vw, 8rem);
  line-height:.9;
  letter-spacing:-.065em;
  font-weight:500;
}

body.home .hero-text{
  max-width:610px;
  margin-top:1.8rem;
  color:var(--muted);
  font-size:1.18rem;
  line-height:1.65;
}

body.home .hero-actions{
  display:flex;
  align-items:center;
  gap:1.2rem;
  margin-top:2.2rem;
  flex-wrap:wrap;
}

/* BUTTONS */

body.home .btn-a{
  min-height:56px;
  padding:0 1.8rem;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border-radius:999px;
  background:#111;
  color:#fff;

  font-size:1rem;
  font-weight:700;
  box-shadow:none;
}

body.home .btn-a:hover{
  background:var(--blue);
  transform:translateY(-1px);
}

body.home .text-link{
  color:var(--ink);
  font-size:1rem;
  font-weight:700;
}

body.home .text-link:hover{
  color:var(--blue);
}

/* IMAGE COLLAGE */

body.home .hero-gallery{
  height:calc(100svh - 120px);
  min-height:620px;
  max-height:820px;

  display:grid;
  grid-template-columns:repeat(3, 1fr);
  grid-auto-rows:150px;
  gap:18px;

  overflow:hidden;
  position:relative;
}

body.home .hero-gallery::before,
body.home .hero-gallery::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  z-index:2;
  height:90px;
  pointer-events:none;
}

body.home .hero-gallery::before{
  top:0;
  background:linear-gradient(to bottom,var(--bg),transparent);
}

body.home .hero-gallery::after{
  bottom:0;
  background:linear-gradient(to top,var(--bg),transparent);
}

body.home .gallery-card{
  overflow:hidden;
  border-radius:18px;
  background:#ddd;
}

body.home .gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

body.home .gallery-card.tall{
  grid-row:span 2;
}

body.home .gallery-card.wide{
  grid-column:span 2;
}

body.home .gallery-card:nth-child(1){ grid-row:span 2; }
body.home .gallery-card:nth-child(2){ grid-row:span 1; }
body.home .gallery-card:nth-child(3){ grid-row:span 1; }
body.home .gallery-card:nth-child(4){ grid-column:span 2; grid-row:span 2; }
body.home .gallery-card:nth-child(5){ grid-row:span 2; }
body.home .gallery-card:nth-child(6){ grid-column:span 2; grid-row:span 1; }

body.home .gallery-card img{
  transition:transform .5s ease;
}

body.home .gallery-card:hover img{
  transform:scale(1.04);
}

/* STRIP */

body.home .editorial-strip{
  padding:1rem 5vw;
  display:flex;
  gap:2rem;
  overflow-x:auto;

  border-bottom:1px solid var(--line);

  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* CONTENT */

body.home .landing-copy,
body.home .landing-room{
  padding:6rem 5vw;

  display:grid;
  grid-template-columns:90px minmax(0, 900px) minmax(260px, 380px);
  gap:3rem;

  border-bottom:1px solid var(--line);
}

body.home .landing-copy{
  grid-template-columns:90px minmax(0, 960px);
}

body.home .section-number,
body.home .section-label{
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.home .landing-copy h2,
body.home .landing-room h2,
body.home .minimal-cta h2{
  font-family:Newsreader, Georgia, serif;
  font-size:clamp(2.6rem, 4.5vw, 5.5rem);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:500;
}

body.home .landing-copy p:not(.section-number):not(.section-label),
body.home .minimal-cta p{
  max-width:660px;
  margin-top:1.4rem;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.7;
}

body.home .landing-room ul{
  list-style:none;
  align-self:end;
}

body.home .landing-room li{
  padding:1rem 0;
  border-top:1px solid var(--line);
  font-size:1rem;
}

/* CTA */

body.home .minimal-cta{
  min-height:62vh;
  padding:7rem 5vw;

  display:flex;
  flex-direction:column;
  justify-content:center;

  border-bottom:1px solid var(--line);
}

body.home .minimal-cta .btn-a{
  margin-top:2rem;
  align-self:flex-start;
}

/* FOOTER */

body.home footer{
  padding:1.6rem 5vw;
  display:flex;
  justify-content:space-between;
  gap:1rem;
}

body.home .f-brand{
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:-.07em;
  text-transform:lowercase;
}

body.home .f-brand span{
  color:var(--blue);
}

body.home .f-copy{
  color:var(--muted);
}

/* MOBILE */

@media(max-width:980px){
  body.home .hero-image-led{
    grid-template-columns:1fr;
    padding:2rem 1.2rem 4rem;
  }

  body.home .hero-gallery{
    order:-1;
    height:auto;
    min-height:0;
    max-height:none;
    grid-template-columns:repeat(2,1fr);
    grid-auto-rows:140px;
  }

  body.home .hero-image-led h1{
    font-size:clamp(3.2rem, 14vw, 5.4rem);
  }

  body.home .landing-copy,
  body.home .landing-room{
    grid-template-columns:1fr;
    padding:4.5rem 1.2rem;
  }

  body.home .minimal-cta{
    padding:5rem 1.2rem;
  }
}

@media(max-width:760px){
  body.home nav{
    height:auto;
    padding:1rem 1.2rem;
    flex-direction:column;
    align-items:flex-start;
    gap:1rem;
  }

  body.home .nav-logo{
    font-size:1.6rem;
  }

  body.home .nav-links{
    flex-wrap:wrap;
    gap:1rem;
  }

  body.home main{
    padding-top:118px;
  }

  body.home .hero-gallery{
    grid-auto-rows:120px;
    gap:12px;
  }

  body.home footer{
    flex-direction:column;
    padding:1.4rem 1.2rem;
  }
}
/* =========================================================
   LANDING PAGE — SUBTLE 3D MOVEMENT
   Add at the bottom of your CSS
   ========================================================= */

/* soft animated background glow */
body.home::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;

  background:
    radial-gradient(circle at 72% 22%, rgba(47,107,255,.10), transparent 26%),
    radial-gradient(circle at 18% 72%, rgba(17,17,17,.04), transparent 28%);

  animation:ambientDrift 14s ease-in-out infinite alternate;
}

@keyframes ambientDrift{
  from{
    transform:translate3d(0,0,0) scale(1);
  }
  to{
    transform:translate3d(-18px,14px,0) scale(1.04);
  }
}

/* subtle 3D stage for image grid */
body.home .hero-gallery{
  perspective:1200px;
  transform-style:preserve-3d;
  animation:galleryFloat 9s ease-in-out infinite;
}

@keyframes galleryFloat{
  0%,100%{
    transform:translateY(0) rotateX(0deg) rotateY(0deg);
  }
  50%{
    transform:translateY(-10px) rotateX(1.2deg) rotateY(-1.4deg);
  }
}

/* image cards feel layered */
body.home .gallery-card{
  transform-style:preserve-3d;
  transition:
    transform .45s ease,
    box-shadow .45s ease,
    filter .45s ease;
  box-shadow:0 18px 50px rgba(17,17,17,.08);
}

body.home .gallery-card:nth-child(odd){
  animation:cardDriftA 7s ease-in-out infinite;
}

body.home .gallery-card:nth-child(even){
  animation:cardDriftB 8s ease-in-out infinite;
}

@keyframes cardDriftA{
  0%,100%{
    transform:translate3d(0,0,0) rotateZ(-.4deg);
  }
  50%{
    transform:translate3d(0,-8px,18px) rotateZ(.5deg);
  }
}

@keyframes cardDriftB{
  0%,100%{
    transform:translate3d(0,0,0) rotateZ(.5deg);
  }
  50%{
    transform:translate3d(0,7px,14px) rotateZ(-.4deg);
  }
}

body.home .gallery-card:hover{
  transform:translate3d(0,-12px,36px) rotateZ(0deg) scale(1.02);
  box-shadow:0 28px 70px rgba(17,17,17,.16);
  z-index:3;
}

body.home .gallery-card:hover img{
  transform:scale(1.06);
}

/* headline entrance feel */
body.home .hero-copy{
  animation:heroCopyIn .8s ease both;
}

@keyframes heroCopyIn{
  from{
    opacity:0;
    transform:translateY(18px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

/* nav has a soft floating feel */
body.home nav{
  transition:
    background .25s ease,
    box-shadow .25s ease,
    transform .25s ease;
}

body.home nav:hover{
  box-shadow:0 16px 44px rgba(17,17,17,.06);
}

/* button press / lift */
body.home .btn-a,
body.home .text-link{
  transition:
    transform .2s ease,
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease;
}

body.home .btn-a:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(17,17,17,.14);
}

body.home .text-link:hover{
  transform:translateX(4px);
}

/* section reveal without needing JS */
body.home .landing-copy,
body.home .landing-room,
body.home .minimal-cta{
  animation:sectionFadeUp .8s ease both;
  animation-timeline:view();
  animation-range:entry 8% cover 28%;
}

@keyframes sectionFadeUp{
  from{
    opacity:.2;
    transform:translateY(26px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

/* strip has subtle movement */
body.home .editorial-strip{
  position:relative;
}

body.home .editorial-strip span{
  animation:stripPulse 6s ease-in-out infinite;
}

body.home .editorial-strip span:nth-child(2n){
  animation-delay:1s;
}

@keyframes stripPulse{
  0%,100%{
    opacity:.65;
  }
  50%{
    opacity:1;
  }
}

/* reduce motion for accessibility */
@media(prefers-reduced-motion:reduce){
  body.home::after,
  body.home .hero-gallery,
  body.home .gallery-card,
  body.home .hero-copy,
  body.home .landing-copy,
  body.home .landing-room,
  body.home .minimal-cta,
  body.home .editorial-strip span{
    animation:none !important;
  }

  body.home .gallery-card,
  body.home .btn-a,
  body.home .text-link{
    transition:none !important;
  }
}
/* =========================
   MOVING MARQUEE
========================= */

body.home .audher-marquee{
  width:100%;
  overflow:hidden;

  padding:1.1rem 0;

  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);

  background:#fbfaf6;
}

body.home .audher-marquee-track{
  display:flex;
  align-items:center;
  gap:2.6rem;

  width:max-content;

  animation:audherMarquee 30s linear infinite;
}

body.home .audher-marquee-track span{
  position:relative;

  flex:0 0 auto;

  color:var(--muted);

  font-size:.78rem;
  font-weight:700;

  letter-spacing:.08em;
  text-transform:uppercase;

  white-space:nowrap;
}

body.home .audher-marquee-track span::after{
  content:"/";
  margin-left:2.6rem;
  color:var(--blue);
  opacity:.65;
}

@keyframes audherMarquee{
  from{
    transform:translateX(0);
  }

  to{
    transform:translateX(-50%);
  }
}

body.home .audher-marquee:hover .audher-marquee-track{
  animation-play-state:paused;
}

@media(max-width:760px){
  body.home .audher-marquee-track{
    gap:2rem;
    animation-duration:24s;
  }

  body.home .audher-marquee-track span::after{
    margin-left:2rem;
  }
}
.sage-card{
  background:#d8e1d6;
}

.orange-card{
  background:#aac9f9;
  color:#111;
}

.blue-card{
  background:#c8d3ea;
}

.sand-card{
  background:#e7dfd1;
}

.lavender-card{
  background:#d6d4eb;
}
/* =========================================================
   COLOUR FEATURE GRID
   ========================================================= */

body.home .audher-feature-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}

body.home .feature-card{
  min-height:540px;

  padding:4.5rem;

  display:flex;
  flex-direction:column;

  position:relative;

  overflow:hidden;

  transition:
  transform .35s ease,
  filter .35s ease;
}

body.home .feature-card:hover{
  transform:translateY(-6px);
}

body.home .sage-card{
  background:var(--sage);
}

body.home .orange-card{
  background:var(--orange);
}

body.home .feature-top{
  display:flex;
  align-items:center;
  gap:1rem;

  margin-bottom:4rem;
}

body.home .dot{
  width:12px;
  height:12px;

  border-radius:50%;

  background:#111;
}

body.home .feature-top p{
  font-size:1rem;
  font-weight:700;
}

body.home .feature-card h2{
  max-width:680px;

  font-family:Newsreader, serif;

  font-size:clamp(3rem, 5vw, 5.5rem);

  line-height:.95;
  letter-spacing:-.06em;

  font-weight:500;
}

body.home .feature-copy{
  max-width:560px;

  margin-top:1.6rem;

  font-size:1.18rem;
  line-height:1.7;

  color:rgba(17,17,17,.76);
}

body.home .feature-link{
  margin-top:auto;

  font-size:1.1rem;
  font-weight:600;
}

/* mobile */

@media(max-width:980px){

  body.home .audher-feature-grid{
    grid-template-columns:1fr;
  }

  body.home .feature-card{
    min-height:auto;
    padding:3rem 1.5rem;
  }

  body.home .feature-card h2{
    font-size:clamp(2.8rem, 12vw, 4.6rem);
  }
}
/* =========================================================
   ABOUT PAGE — EDITORIAL / MEETABLE INSPIRED
   Add at the bottom of style.css
   ========================================================= */

body.editorial-page.about-page{
  --bg:#f6f2ea;
  --ink:#111;
  --muted:#625d57;
  --line:rgba(17,17,17,.10);
  --dark:#101314;
  --blue:#c8d3ea;
  --clay:#98eff4;
  --accent:#130c41;

  background:var(--bg);
  color:var(--ink);
  font-family:Inter, Arial, sans-serif;
}

body.editorial-page.about-page::before,
body.editorial-page.about-page::after,
body.editorial-page.about-page .cursor,
body.editorial-page.about-page .cursor-ring,
body.editorial-page.about-page .watermark-bg,
body.editorial-page.about-page .matric-banner{
  display:none!important;
}

body.editorial-page.about-page main{
  padding-top:76px;
}

/* =========================================================
   NAVBAR
   ========================================================= */

body.about-page nav{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);

  z-index:1000;

  width:calc(100% - 40px);
  max-width:1420px;

  height:74px;

  padding:0 26px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  background:rgba(246,242,234,.72);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  border:1px solid rgba(18,18,18,.08);

  border-radius:24px;

  box-shadow:
    0 10px 40px rgba(18,18,18,.05),
    inset 0 1px 0 rgba(255,255,255,.35);
}

body.about-page .nav-logo{
  color:var(--ink);

  font-size:1.6rem;
  font-weight:800;

  letter-spacing:-.08em;

  text-transform:lowercase;
}

body.about-page .nav-logo span,
body.about-page .nav-logo em{
  color:var(--accent);

  font-style:normal;
}

body.about-page .nav-links{
  display:flex;
  align-items:center;
  gap:1.6rem;
}

body.about-page .nav-links a{
  position:relative;

  color:var(--ink);

  font-size:.84rem;
  font-weight:700;

  letter-spacing:.05em;

  text-decoration:none;

  transition:
    color .2s ease,
    transform .2s ease;
}

body.about-page .nav-links a:hover{
  color:var(--accent);
  transform:translateY(-1px);
}

body.about-page .nav-links a::after{
  content:"";

  position:absolute;
  left:0;
  bottom:-6px;

  width:0;
  height:1px;

  background:var(--accent);

  transition:width .22s ease;
}

body.about-page .nav-links a:hover::after{
  width:100%;
}

/* DARK HERO */
body.editorial-page.about-page .about-dark-hero{
  min-height:64vh;
  padding:6rem 5vw 5rem;
  background:var(--accent);
  color:#fff;
  border-bottom:0;
}

body.editorial-page.about-page .about-kicker,
body.editorial-page.about-page .section-label{
  color:inherit;
  opacity:.72;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.editorial-page.about-page .about-hero-grid{
  margin-top:3rem;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.55fr);
  gap:5vw;
  align-items:end;
}

body.editorial-page.about-page h1{
  max-width:940px;
  font-family:Newsreader, Georgia, serif;
  font-size:clamp(3.4rem,6vw,7.2rem);
  line-height:.93;
  letter-spacing:-.06em;
  font-weight:500;
}

body.editorial-page.about-page .about-intro{
  max-width:600px;
  display:grid;
  gap:1rem;
  color:rgba(255,255,255,.82);
  font-size:1.05rem;
  line-height:1.75;
}

body.editorial-page.about-page .about-actions{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-top:2rem;
  flex-wrap:wrap;
}

body.editorial-page.about-page .btn-a,
body.editorial-page.about-page .about-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 1.5rem!important;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-weight:700;
  box-shadow:none;
}

body.editorial-page.about-page .btn-a:hover,
body.editorial-page.about-page .about-cta a:hover{
  background:var(--accent);
  color:#fff;
  transform:translateY(-1px);
}

body.editorial-page.about-page .about-text-link{
  color:#fff;
  font-weight:700;
  border-bottom:1px solid currentColor;
}

/* COLOUR CARDS */
body.editorial-page.about-page .about-feature-row{
  display:grid;
  grid-template-columns:1fr 1fr;
}

body.editorial-page.about-page .about-feature-card{
  min-height:470px;
  padding:4.5rem 5vw;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#111;
  transition:transform .28s ease, filter .28s ease;
}

body.editorial-page.about-page .blue-card{ background:var(--blue); }

body.editorial-page.about-page .card-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#111;
  margin-bottom:2rem;
}

body.editorial-page.about-page .about-feature-card h2{
  max-width:680px;
  font-family:Newsreader, Georgia, serif;
  font-size:clamp(2.8rem,4.6vw,5.4rem);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:500;
}

body.editorial-page.about-page .about-feature-card p:last-child{
  max-width:620px;
  color:rgba(17,17,17,.74);
  font-size:1.08rem;
  line-height:1.7;
}

/* BIG BELIEF */
body.editorial-page.about-page .about-belief{
  padding:7rem 5vw;
  border-bottom:1px solid var(--line);
}

body.editorial-page.about-page .about-belief p{
  max-width:1250px;
  font-family:Newsreader, Georgia, serif;
  font-size:clamp(3rem,6vw,8rem);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:500;
}

/* METHOD */
body.editorial-page.about-page .about-method,
body.editorial-page.about-page .about-fit,
body.editorial-page.about-page .about-cta{
  padding:6rem 5vw;
  border-bottom:1px solid var(--line);
}

body.editorial-page.about-page .method-grid{
  margin-top:2.5rem;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

body.editorial-page.about-page .method-grid article{
  min-height:360px;
  padding:2rem;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fffdf8;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .25s ease, background .25s ease;
}

body.editorial-page.about-page .method-grid article:hover{
  transform:translateY(-6px);
  background:#f1f5ff;
}

body.editorial-page.about-page .method-grid span{
  color:var(--accent);
  font-weight:700;
}

body.editorial-page.about-page .method-grid h2{
  font-family:Newsreader, Georgia, serif;
  font-size:clamp(2rem,2.8vw,3.4rem);
  line-height:.98;
  letter-spacing:-.05em;
  font-weight:500;
}

body.editorial-page.about-page .method-grid p{
  color:var(--muted);
  font-size:1rem;
  line-height:1.65;
}

/* FIT */
body.editorial-page.about-page .about-fit{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.45fr);
  gap:5vw;
}

body.editorial-page.about-page .fit-copy h2,
body.editorial-page.about-page .about-cta h2{
  max-width:820px;
  margin-top:1rem;
  font-family:Newsreader, Georgia, serif;
  font-size:clamp(2.8rem,5vw,6rem);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:500;
}

body.editorial-page.about-page .fit-copy p{
  max-width:680px;
  margin-top:1.5rem;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.75;
}

body.editorial-page.about-page .fit-list{
  border-top:1px solid var(--line);
}

body.editorial-page.about-page .fit-list p{
  padding:1rem 0;
  border-bottom:1px solid var(--line);
  font-weight:600;
}

body.editorial-page.about-page .fit-list p::before{
  content:"/";
  color:var(--accent);
  margin-right:.8rem;
}

/* CTA */
body.editorial-page.about-page .about-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  background:#fffdf8;
}

body.editorial-page.about-page .about-cta a{
  background:#111;
  color:#fff;
  flex:0 0 auto;
}

/* FOOTER */
body.editorial-page.about-page .editorial-footer{
  padding:1.6rem 5vw;
  display:flex;
  justify-content:space-between;
  border-top:0;
}

body.editorial-page.about-page .f-brand{
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:-.07em;
  text-transform:lowercase;
}

body.editorial-page.about-page .f-brand span,
body.editorial-page.about-page .f-brand em{
  color:var(--accent);
  font-style:normal;
}

body.editorial-page.about-page .f-copy{
  color:var(--muted);
}

@media(max-width:900px){
  body.editorial-page.about-page nav{
    height:auto!important;
    padding:1rem 1.2rem!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:1rem!important;
  }

  body.editorial-page.about-page main{
    padding-top:118px;
  }

  body.editorial-page.about-page .nav-logo{
    font-size:1.6rem!important;
  }

  body.editorial-page.about-page .nav-links{
    flex-wrap:wrap!important;
    gap:1rem!important;
  }

  body.editorial-page.about-page .about-dark-hero,
  body.editorial-page.about-page .about-method,
  body.editorial-page.about-page .about-fit,
  body.editorial-page.about-page .about-cta,
  body.editorial-page.about-page .about-belief{
    padding-left:1.2rem;
    padding-right:1.2rem;
  }

  body.editorial-page.about-page .about-hero-grid,
  body.editorial-page.about-page .about-feature-row,
  body.editorial-page.about-page .method-grid,
  body.editorial-page.about-page .about-fit{
    grid-template-columns:1fr;
  }

  body.editorial-page.about-page .about-cta{
    flex-direction:column;
    align-items:flex-start;
  }

  body.editorial-page.about-page h1{
    font-size:clamp(3rem,13vw,5.6rem);
  }

  body.editorial-page.about-page .about-feature-card{
    min-height:auto;
    padding:3rem 1.2rem;
  }
}
/* =========================================================
   ABOUT PAGE BUTTONS & CTAS
   ========================================================= */

body.about-page .about-hero-actions{
  display:flex;
  align-items:center;
  gap:1rem;

  flex-wrap:wrap;

  margin-top:2.2rem;
}

body.about-page .btn-secondary{
  min-height:54px;

  padding:0 1.6rem;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border-radius:999px;

  border:1px solid rgba(17,17,17,.14);

  background:transparent;
  color:#111;

  font-size:.92rem;
  font-weight:700;

  transition:
  background .2s ease,
  transform .2s ease;
}

body.about-page .btn-secondary:hover{
  background:#111;
  color:#fff;
  transform:translateY(-2px);
}

/* inline editorial links */

body.about-page .editorial-inline-actions{
  display:flex;
  gap:2rem;

  margin-top:2rem;
}

body.about-page .editorial-link-btn{
  font-size:1rem;
  font-weight:700;

  color:#111;

  border-bottom:1px solid rgba(17,17,17,.24);

  transition:
  color .2s ease,
  transform .2s ease;
}

body.about-page .editorial-link-btn:hover{
  color:var(--accent);
  transform:translateX(4px);
}

/* =========================================================
   DUAL CTA SECTION
   ========================================================= */

body.about-page .about-dual-cta{
  display:grid;
  grid-template-columns:1fr 1fr;
}

body.about-page .dual-card{
  min-height:420px;

  padding:4rem;

  display:flex;
  flex-direction:column;
}

body.about-page .dual-top{
  display:flex;
  align-items:center;
  gap:.9rem;

  margin-bottom:3rem;
}

body.about-page .dual-top p{
  font-size:1rem;
  font-weight:700;
}

body.about-page .dual-card h2{
  max-width:580px;

  font-family:Newsreader, serif;

  font-size:clamp(3rem,4vw,5rem);

  line-height:.95;
  letter-spacing:-.05em;

  font-weight:500;
}

body.about-page .dual-btn{
  margin-top:auto;

  width:max-content;

  min-height:54px;

  padding:0 1.6rem;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border-radius:999px;

  background:#111;
  color:#fff;

  font-size:.95rem;
  font-weight:700;

  transition:
  transform .2s ease,
  background .2s ease;
}

body.about-page .dual-btn:hover{
  background:var(--accent);
  transform:translateY(-3px);
}

body.about-page .sage-card{
  background:var(--sage);
}

body.about-page .clay-card{
  background:var(--accent);
}

body.about-page .dot{
  width:11px;
  height:11px;

  border-radius:50%;

  background:#111;
}

/* mobile */

@media(max-width:980px){

  body.about-page .about-dual-cta{
    grid-template-columns:1fr;
  }

  body.about-page .dual-card{
    min-height:auto;
    padding:3rem 1.5rem;
  }

  body.about-page .editorial-inline-actions{
    flex-direction:column;
    gap:1rem;
  }
}
/* =========================================================
   PRICING PAGE — EDITORIAL COLOUR STYLE
   ========================================================= */

body.pricing-page{
  --bg:#f6f2ea;
  --ink:#121212;
  --muted:#625d57;
  --line:rgba(18,18,18,.1);
  --accent:#2f6bff;
  --sage:#d7e0d4;
  --clay:#2f6bff;
  --powder:#cad6ea;

  background:var(--bg);
  color:var(--ink);
  font-family:Inter, Arial, sans-serif;
}

body.pricing-page .cursor,
body.pricing-page .cursor-ring{
  display:none;
}

/* =========================================================
   NAVBAR
   ========================================================= */

body.pricing-page nav{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);

  z-index:1000;

  width:calc(100% - 40px);
  max-width:1420px;

  height:74px;

  padding:0 26px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  background:rgba(246,242,234,.72);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  border:1px solid rgba(18,18,18,.08);

  border-radius:24px;

  box-shadow:
    0 10px 40px rgba(18,18,18,.05),
    inset 0 1px 0 rgba(255,255,255,.35);
}

body.pricing-page .nav-logo{
  color:var(--ink);

  font-size:1.6rem;
  font-weight:800;

  letter-spacing:-.08em;

  text-transform:lowercase;
}

body.pricing-page .nav-logo span,
body.pricing-page .nav-logo em{
  color:var(--accent);

  font-style:normal;
}

body.pricing-page .nav-links{
  display:flex;
  align-items:center;
  gap:1.6rem;
}

body.pricing-page .nav-links a{
  position:relative;

  color:var(--ink);

  font-size:.84rem;
  font-weight:700;

  letter-spacing:.05em;

  text-decoration:none;

  transition:
    color .2s ease,
    transform .2s ease;
}

body.pricing-page .nav-links a:hover{
  color:var(--accent);
  transform:translateY(-1px);
}

body.pricing-page .nav-links a::after{
  content:"";

  position:absolute;
  left:0;
  bottom:-6px;

  width:0;
  height:1px;

  background:var(--accent);

  transition:width .22s ease;
}

body.pricing-page .nav-links a:hover::after{
  width:100%;
}

/* SECTION */
body.pricing-page .pricing-section{
  width:min(1480px, calc(100% - 72px));
  margin:0 auto;
  padding:150px 0 90px;
}

body.pricing-page .pricing-heading{
  max-width:980px;
  margin-bottom:4rem;
  text-align:left;
}

body.pricing-page .pricing-eyebrow{
  margin-bottom:1.2rem;
  color:var(--accent);
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

body.pricing-page .pricing-heading h2{
  font-family:Newsreader, Georgia, serif;
  font-size:clamp(3.2rem, 6vw, 7rem);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:500;
  color:var(--ink);
}

body.pricing-page .pricing-heading p{
  max-width:620px;
  margin-top:1.4rem;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.7;
}

/* GRID */
body.pricing-page .pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
  border:1px solid var(--line);
}

body.pricing-page .price-card{
  min-height:590px;
  padding:2rem;
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--line);
  background:var(--sage);
}

body.pricing-page .price-card:nth-child(2){
  background:#583f67;
}

body.pricing-page .price-card:nth-child(3){
  background:var(--powder);
  border-right:0;
}

body.pricing-page .program-type,
body.pricing-page .payment-pill{
  width:max-content;
  margin-bottom:1rem;
  color:var(--ink);
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}

body.pricing-page .payment-pill{
  padding:.55rem .85rem;
  border-radius:999px;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(18,18,18,.12);
}

body.pricing-page .popular-tag{
  width:max-content;
  margin-bottom:1rem;
  padding:.45rem .75rem;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  text-transform:uppercase;
}

body.pricing-page .price-card h3{
  margin:.6rem 0 .3rem;
  font-family:Newsreader, Georgia, serif;
  font-size:clamp(2.4rem, 3.5vw, 4rem);
  line-height:.95;
  font-weight:500;
}

body.pricing-page .age{
  color:rgba(18,18,18,.68);
  font-size:1rem;
}

body.pricing-page .price{
  margin:2.4rem 0 1rem;
  font-family:Newsreader, Georgia, serif;
  font-size:clamp(3rem, 4vw, 5rem);
  line-height:.9;
  font-weight:500;
}

body.pricing-page .price-card ul{
  list-style:none;
  margin:1.4rem 0 2rem;
  border-top:1px solid rgba(18,18,18,.14);
}

body.pricing-page .price-card li{
  padding:1rem 0;
  border-bottom:1px solid rgba(18,18,18,.14);
  color:rgba(18,18,18,.78);
  font-size:.96rem;
  line-height:1.5;
}

body.pricing-page .price-card li::before{
  display:none;
}

/* BUTTONS */
body.pricing-page .price-btn{
  margin-top:auto;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font-weight:700;
}

body.pricing-page .outline-btn{
  background:transparent;
  color:var(--ink);
  border:1px solid var(--ink);
}

body.pricing-page .price-btn:hover{
  background:var(--accent);
  color:#fff;
}

/* MOBILE */
@media(max-width:900px){
  body.pricing-page nav{
    height:auto;
    padding:1rem 1.2rem;
    flex-direction:column;
    align-items:flex-start;
    gap:1rem;
  }

  body.pricing-page .nav-links{
    flex-wrap:wrap;
    gap:1rem;
  }

  body.pricing-page .pricing-section{
    width:calc(100% - 32px);
    padding-top:140px;
  }

  body.pricing-page .pricing-grid{
    grid-template-columns:1fr;
  }

  body.pricing-page .price-card{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
}
/* =========================================================
   WAITLIST PAGE — FULL PREMIUM EDITORIAL CSS
   ========================================================= */

body.waitlist-page{
  --bg:#f6f2ea;
  --surface:#f1ece3;

  --ink:#151515;
  --muted:#625d57;

  --sage:#d7e0d4;
  --clay:#2f6bff;
  --powder:#cad6ea;
  --butter:#e8dfc9;
  --lavender:#d8d5e7;

  --accent:#295fff;

  --line:rgba(21,21,21,.09);

  background:var(--bg);
  color:var(--ink);

  overflow-x:hidden;
}

/* =========================================================
   REMOVE GLOBAL EFFECTS
   ========================================================= */

body.waitlist-page .cursor,
body.waitlist-page .cursor-ring,
body.waitlist-page .watermark-bg{
  display:none !important;
}

/* =========================================================
   NAVBAR
   ========================================================= */

body.waitlist-page nav{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);

  z-index:1000;

  width:calc(100% - 40px);
  max-width:1420px;

  height:74px;

  padding:0 26px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  background:rgba(246,242,234,.72);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  border:1px solid rgba(18,18,18,.08);

  border-radius:24px;

  box-shadow:
    0 10px 40px rgba(18,18,18,.05),
    inset 0 1px 0 rgba(255,255,255,.35);
}

body.waitlist-page .nav-logo{
  color:var(--ink);

  font-size:1.6rem;
  font-weight:800;

  letter-spacing:-.08em;

  text-transform:lowercase;
}

body.waitlist-page .nav-logo span,
body.waitlist-page .nav-logo em{
  color:var(--accent);

  font-style:normal;
}

body.waitlist-page .nav-links{
  display:flex;
  align-items:center;
  gap:1.6rem;
}

body.waitlist-page .nav-links a{
  position:relative;

  color:var(--ink);

  font-size:.84rem;
  font-weight:700;

  letter-spacing:.05em;

  text-decoration:none;

  transition:
    color .2s ease,
    transform .2s ease;
}

body.waitlist-page .nav-links a:hover{
  color:var(--accent);
  transform:translateY(-1px);
}

body.waitlist-page .nav-links a::after{
  content:"";

  position:absolute;
  left:0;
  bottom:-6px;

  width:0;
  height:1px;

  background:var(--accent);

  transition:width .22s ease;
}

body.waitlist-page .nav-links a:hover::after{
  width:100%;
}

/* =========================================================
   WAITLIST SECTION
   ========================================================= */

body.waitlist-page .waitlist-section{
  min-height:100svh;

  padding-top:110px;
}

body.waitlist-page .waitlist-container{
  display:grid;
  grid-template-columns:.88fr 1fr;

  min-height:calc(100svh - 110px);
}

/* =========================================================
   LEFT PANEL
   ========================================================= */

body.waitlist-page .waitlist-copy{
  position:relative;

  padding:5vw;

  display:flex;
  flex-direction:column;
  justify-content:center;

  background:var(--accent);

  overflow:hidden;
}

body.waitlist-page .waitlist-copy::before{
  content:"";

  position:absolute;

  width:480px;
  height:480px;

  border-radius:50%;

  right:-180px;
  top:-160px;

  background:rgba(255,255,255,.18);
}

body.waitlist-page .waitlist-copy::after{
  content:"AI • SPEAKING • TECH • FUTURE • COMMUNICATION";

  position:absolute;

  left:5vw;
  bottom:2.5rem;

  color:rgba(18,18,18,.34);

  font-size:.72rem;
  font-weight:800;

  letter-spacing:.18em;

  white-space:nowrap;
}

body.waitlist-page .waitlist-pill{
  width:max-content;

  margin-bottom:2rem;

  padding:.7rem 1rem;

  border-radius:999px;

  background:rgba(255,255,255,.38);

  border:1px solid rgba(18,18,18,.12);

  font-size:.74rem;
  font-weight:800;

  letter-spacing:.08em;
  text-transform:uppercase;
}

body.waitlist-page .waitlist-copy h2{
  max-width:700px;

  font-family:Newsreader, serif;

  font-size:clamp(4rem, 7vw, 8.5rem);

  line-height:.86;
  letter-spacing:-.075em;

  font-weight:500;
}

body.waitlist-page .waitlist-copy h2 span{
  color:#fffaf2;
}

body.waitlist-page .waitlist-lead{
  max-width:560px;

  margin-top:2rem;

  color:rgba(18,18,18,.74);

  font-size:1.14rem;
  line-height:1.8;
}

/* =========================================================
   FORM SIDE
   ========================================================= */

body.waitlist-page .waitlist-form-wrap{
  padding:5vw;

  background:
    radial-gradient(circle at 90% 10%, rgba(41,95,255,.08), transparent 30%),
    var(--bg);

  display:flex;
  align-items:center;
  justify-content:center;
}

body.waitlist-page .form-glow{
  display:none;
}

body.waitlist-page #wl-form{
  width:100%;
  max-width:760px;

  padding:2rem;

  background:#fffaf1;

  border:1px solid rgba(18,18,18,.08);

  border-radius:34px;

  box-shadow:
    0 24px 70px rgba(18,18,18,.08);
}

/* =========================================================
   HONEYPOT
   ========================================================= */

body.waitlist-page .hp-field{
  position:absolute !important;
  left:-9999px !important;

  width:1px !important;
  height:1px !important;

  overflow:hidden !important;
}

/* =========================================================
   FORM LAYOUT
   ========================================================= */

body.waitlist-page .ff-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));

  gap:1rem;
}

body.waitlist-page .ff{
  min-width:0;

  display:flex;
  flex-direction:column;

  gap:.65rem;

  margin-bottom:1.15rem;
}

body.waitlist-page .flabel{
  font-size:.72rem;
  font-weight:800;

  letter-spacing:.08em;
  text-transform:uppercase;
}

/* =========================================================
   INPUTS
   ========================================================= */

body.waitlist-page input,
body.waitlist-page select{
  width:100%;
  min-width:0;

  height:58px;

  padding:0 1rem;

  border:1px solid rgba(18,18,18,.12);
  border-radius:18px;

  background:#fff;

  color:#111;

  font-size:1rem;

  box-sizing:border-box;

  transition:
    border-color .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}

body.waitlist-page input:focus,
body.waitlist-page select:focus{
  outline:none;

  border-color:var(--accent);

  transform:translateY(-1px);

  box-shadow:
    0 8px 24px rgba(41,95,255,.10);
}

body.waitlist-page input::placeholder{
  color:#9c968d;
}

/* =========================================================
   RADIO CARDS
   ========================================================= */

body.waitlist-page .cb-row{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);

  gap:1rem;
  align-items:start;

  padding:1.2rem;

  margin-bottom:.9rem;

  border:1px solid rgba(18,18,18,.10);

  border-radius:24px;

  background:#fff;

  cursor:pointer;

  transition:
    transform .22s ease,
    border-color .22s ease,
    background .22s ease,
    box-shadow .22s ease;
}

body.waitlist-page .cb-row:hover{
  transform:translateY(-3px);

  border-color:rgba(41,95,255,.26);

  background:#f8faff;

  box-shadow:
    0 16px 34px rgba(41,95,255,.08);
}

body.waitlist-page .cb-row input{
  width:18px;
  height:18px;

  margin-top:.25rem;

  accent-color:var(--accent);
}

body.waitlist-page .cb-row strong{
  display:block;

  margin-bottom:.35rem;

  font-size:1rem;
}

body.waitlist-page .cb-row div{
  color:var(--muted);

  line-height:1.55;
}

/* =========================================================
   BUTTON
   ========================================================= */

body.waitlist-page .send-options{
  width:100%;
}

body.waitlist-page .btn-email{
  width:100%;
  min-height:64px;

  margin-top:1rem;

  border:none;
  border-radius:999px;

  background:var(--accent);
  color:#fff;

  font-size:1rem;
  font-weight:800;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;

  cursor:pointer;

  box-shadow:
    0 18px 40px rgba(41,95,255,.20);

  transition:
    transform .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}

body.waitlist-page .btn-email:hover{
  background:#1849da;

  transform:translateY(-3px);

  box-shadow:
    0 24px 54px rgba(41,95,255,.26);
}

/* =========================================================
   NOTES
   ========================================================= */

body.waitlist-page .wl-note{
  margin-top:1rem;

  color:var(--muted);

  font-size:.88rem;
  line-height:1.6;

  text-align:center;
}

/* =========================================================
   SUCCESS BOX
   ========================================================= */

body.waitlist-page .success-box{
  margin-top:1.4rem;

  padding:1.4rem;

  border-radius:22px;

  background:#eef4ff;

  border:1px solid rgba(41,95,255,.14);
}

/* =========================================================
   COMPACT TERMS & CONDITIONS
   ========================================================= */

.tc-s{
  padding:2rem 0;
  border-top:1px solid rgba(18,18,18,.08);
  background:transparent;
}

.tc-inner{
  width:min(1200px, calc(100% - 48px));
  margin:0 auto;
}

.tc-h{
  font-size:1rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:1.5rem;
  opacity:.8;
}

.tc-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}

.tcg h4{
  font-size:.85rem;
  margin-bottom:.5rem;
  font-weight:700;
}

.tcg ul{
  list-style:none;
  padding:0;
  margin:0;
}

.tcg li{
  font-size:.8rem;
  line-height:1.5;
  color:var(--muted);
  margin-bottom:.3rem;
}

.tc-foot{
  margin-top:1.5rem;
  padding-top:1rem;
  border-top:1px solid rgba(18,18,18,.08);

  font-size:.75rem;
  line-height:1.6;
  color:var(--muted);
}

/* mobile */

@media(max-width:900px){

  .tc-grid{
    grid-template-columns:1fr 1fr;
    gap:1rem;
  }

  .tc-h{
    font-size:.9rem;
  }

  .tcg li{
    font-size:.75rem;
  }
}

/* =========================================================
   FOOTER
   ========================================================= */

body.waitlist-page footer{
  padding:1.5rem 5vw;

  display:flex;
  justify-content:space-between;
  gap:1rem;

  border-top:1px solid var(--line);

  background:var(--bg);
}

body.waitlist-page .f-brand{
  font-size:1.4rem;
  font-weight:800;
}

body.waitlist-page .f-brand em,
body.waitlist-page .f-brand span{
  color:var(--accent);

  font-style:normal;
}

body.waitlist-page .f-copy{
  color:var(--muted);
}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:980px){

  body.waitlist-page nav{
    top:12px;

    width:calc(100% - 20px);

    height:auto;

    padding:1rem;

    flex-direction:column;
    align-items:flex-start;

    gap:1rem;
  }

  body.waitlist-page .nav-links{
    width:100%;

    flex-wrap:wrap;

    gap:1rem;
  }

  body.waitlist-page .waitlist-container{
    grid-template-columns:1fr;
  }

  body.waitlist-page .waitlist-copy,
  body.waitlist-page .waitlist-form-wrap{
    padding:2rem 1.2rem;
  }

  body.waitlist-page .waitlist-copy{
    min-height:56vh;
  }

  body.waitlist-page .waitlist-copy h2{
    font-size:clamp(3.5rem,14vw,5.8rem);
  }

  body.waitlist-page .ff-row{
    grid-template-columns:1fr;
  }

  body.waitlist-page #wl-form{
    padding:1.2rem;

    border-radius:26px;
  }

  body.waitlist-page .tc-grid{
    grid-template-columns:1fr;
  }

  body.waitlist-page .tc-inner{
    width:calc(100% - 40px);
  }

  body.waitlist-page footer{
    flex-direction:column;

    padding:1.4rem 1.2rem;
  }
}
/* =========================================================
   UNIVERSAL NAVBAR — SAME AS WAITLIST
   Applies to all pages
   ========================================================= */

nav{
  position:fixed !important;
  top:18px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  z-index:1000 !important;

  width:calc(100% - 40px) !important;
  max-width:1420px !important;
  height:74px !important;

  padding:0 26px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;

  background:rgba(246,242,234,.72) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;

  border:1px solid rgba(18,18,18,.08) !important;
  border-radius:24px !important;

  box-shadow:
    0 10px 40px rgba(18,18,18,.05),
    inset 0 1px 0 rgba(255,255,255,.35) !important;
}

.nav-logo{
  color:var(--ink, #151515) !important;
  font-size:1.6rem !important;
  font-weight:800 !important;
  letter-spacing:-.08em !important;
  text-transform:lowercase !important;
}

.nav-logo span,
.nav-logo em{
  color:#5d366f !important;
  font-style:normal !important;
}

.nav-links{
  display:flex !important;
  align-items:center !important;
  gap:1.6rem !important;
}

.nav-links a{
  position:relative !important;
  color:var(--ink, #151515) !important;
  font-size:.84rem !important;
  font-weight:700 !important;
  letter-spacing:.05em !important;
  text-decoration:none !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}

.nav-links a:hover{
  color:var(--accent, #514164) !important;
  transform:translateY(-1px) !important;
}

.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:0;
  height:1px;
  background:var(--accent, #583f67);
  transition:width .22s ease;
}

.nav-links a:hover::after{
  width:100%;
}

.nav-links .btn-a{
  min-height:auto !important;
  padding:0 !important;
  background:transparent !important;
  color:var(--ink, #151515) !important;
  box-shadow:none !important;
}

@media(max-width:980px){
  nav{
    top:12px !important;
    width:calc(100% - 20px) !important;
    height:auto !important;
    padding:1rem !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:1rem !important;
  }

  .nav-links{
    width:100% !important;
    flex-wrap:wrap !important;
    gap:1rem !important;
  }
}
/* =========================================================
   FORCE WAITLIST NAVBAR TYPOGRAPHY ON ALL PAGES
   ========================================================= */

nav .nav-logo{
  font-family:Inter, Arial, sans-serif !important;

  font-size:1.6rem !important;
  font-weight:800 !important;

  letter-spacing:-.08em !important;
  line-height:1 !important;

  text-transform:lowercase !important;
}

nav .nav-links a{
  font-family:Inter, Arial, sans-serif !important;

  font-size:.84rem !important;
  font-weight:700 !important;

  letter-spacing:.05em !important;
  line-height:1 !important;
}

/* remove giant button styling from old pages */

nav .nav-links .btn-a{
  min-height:auto !important;

  padding:0 !important;

  border-radius:0 !important;

  background:transparent !important;

  font-size:.84rem !important;
  font-weight:700 !important;

  box-shadow:none !important;
}

/* mobile */

@media(max-width:980px){

  nav .nav-logo{
    font-size:1.5rem !important;
  }

  nav .nav-links a{
    font-size:.82rem !important;
  }
}
/* =========================================================
   ABOUT PAGE — SUBTLE MOTION + DEPTH
   Add at the very bottom of style.css
   ========================================================= */

/* soft animated background */
body.about-page::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;

  background:
    radial-gradient(circle at 82% 18%, rgba(47,107,255,.10), transparent 26%),
    radial-gradient(circle at 15% 80%, rgba(207,134,109,.12), transparent 28%);

  animation:aboutAmbientMove 16s ease-in-out infinite alternate;
}

@keyframes aboutAmbientMove{
  from{
    transform:translate3d(0,0,0) scale(1);
  }
  to{
    transform:translate3d(-18px,14px,0) scale(1.04);
  }
}

/* hero entrance */
body.about-page .about-dark-hero,
body.about-page .about-hero{
  animation:aboutHeroIn .8s ease both;
}

@keyframes aboutHeroIn{
  from{
    opacity:0;
    transform:translateY(22px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

/* colour cards feel alive */
body.about-page .about-feature-card,
body.about-page .dual-card,
body.about-page .method-grid article{
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    background .28s ease,
    filter .28s ease;
}

body.about-page .about-feature-card:hover,
body.about-page .dual-card:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 70px rgba(18,18,18,.10);
}

body.about-page .method-grid article:hover{
  transform:translateY(-6px) rotateZ(-.3deg);
  box-shadow:0 22px 50px rgba(18,18,18,.08);
}

/* tiny dot movement */
body.about-page .card-dot,
body.about-page .dot{
  animation:dotPulse 3.6s ease-in-out infinite;
}

@keyframes dotPulse{
  0%,100%{
    transform:scale(1);
    opacity:.8;
  }
  50%{
    transform:scale(1.35);
    opacity:1;
  }
}

/* big quote/parallax feel */
body.about-page .about-belief p{
  transition:
    transform .35s ease,
    color .35s ease;
}

body.about-page .about-belief:hover p{
  transform:translateX(12px);
  color:var(--accent);
}

/* buttons have lift */
body.about-page .btn-a,
body.about-page .dual-btn,
body.about-page .about-cta a,
body.about-page .editorial-link-btn,
body.about-page .btn-secondary{
  transition:
    transform .22s ease,
    background .22s ease,
    color .22s ease,
    box-shadow .22s ease;
}

body.about-page .btn-a:hover,
body.about-page .dual-btn:hover,
body.about-page .about-cta a:hover,
body.about-page .btn-secondary:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(18,18,18,.12);
}

body.about-page .editorial-link-btn:hover{
  transform:translateX(6px);
}

/* section reveal effect */
body.about-page .about-method,
body.about-page .about-fit,
body.about-page .about-cta,
body.about-page .about-dual-cta,
body.about-page .about-belief{
  animation:aboutSectionReveal .8s ease both;
  animation-timeline:view();
  animation-range:entry 8% cover 28%;
}

@keyframes aboutSectionReveal{
  from{
    opacity:.25;
    transform:translateY(28px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

/* optional gentle tilt on colour feature row */
body.about-page .about-feature-row{
  perspective:1200px;
}



/* keep it accessible */
@media(prefers-reduced-motion:reduce){
  body.about-page::after,
  body.about-page .about-dark-hero,
  body.about-page .about-hero,
  body.about-page .about-feature-card,
  body.about-page .dual-card,
  body.about-page .method-grid article,
  body.about-page .card-dot,
  body.about-page .dot,
  body.about-page .about-method,
  body.about-page .about-fit,
  body.about-page .about-cta,
  body.about-page .about-dual-cta,
  body.about-page .about-belief{
    animation:none !important;
    transition:none !important;
  }
}
/* =========================================================
   PRICING PAGE — SUBTLE MOTION + DEPTH
   Add at the very bottom of style.css
   ========================================================= */

body.pricing-page::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;

  background:
    radial-gradient(circle at 78% 18%, rgba(47,107,255,.10), transparent 26%),
    radial-gradient(circle at 18% 80%, rgba(207,134,109,.10), transparent 28%);

  animation:pricingAmbientMove 16s ease-in-out infinite alternate;
}

@keyframes pricingAmbientMove{
  from{
    transform:translate3d(0,0,0) scale(1);
  }
  to{
    transform:translate3d(-16px,12px,0) scale(1.04);
  }
}

/* page entrance */

body.pricing-page .pricing-heading{
  animation:pricingIntroIn .8s ease both;
}

@keyframes pricingIntroIn{
  from{
    opacity:0;
    transform:translateY(24px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

/* cards */

body.pricing-page .price-card{
  transition:
    transform .3s ease,
    box-shadow .3s ease,
    filter .3s ease;
}

body.pricing-page .price-card:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 70px rgba(18,18,18,.10);
  z-index:2;
}

body.pricing-page .price-card:nth-child(1){
  animation:pricingFloatA 7s ease-in-out infinite;
}

body.pricing-page .price-card:nth-child(2){
  animation:pricingFloatB 8s ease-in-out infinite;
}

body.pricing-page .price-card:nth-child(3){
  animation:pricingFloatC 7.5s ease-in-out infinite;
}

@keyframes pricingFloatA{
  0%,100%{ transform:translateY(0) rotateZ(0deg); }
  50%{ transform:translateY(-5px) rotateZ(-.25deg); }
}

@keyframes pricingFloatB{
  0%,100%{ transform:translateY(0) rotateZ(0deg); }
  50%{ transform:translateY(6px) rotateZ(.22deg); }
}

@keyframes pricingFloatC{
  0%,100%{ transform:translateY(0) rotateZ(0deg); }
  50%{ transform:translateY(-4px) rotateZ(.25deg); }
}

/* pause float on hover so hover feels controlled */

body.pricing-page .price-card:hover{
  animation-play-state:paused;
}

/* price emphasis */

body.pricing-page .price{
  transition:
    transform .25s ease,
    color .25s ease;
}

body.pricing-page .price-card:hover .price{
  transform:translateY(-4px);
  color:var(--accent);
}

/* payment pill pulse */

body.pricing-page .payment-pill{
  animation:pricingPillPulse 4s ease-in-out infinite;
}

@keyframes pricingPillPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:none;
  }
  50%{
    transform:scale(1.025);
    box-shadow:0 10px 26px rgba(18,18,18,.08);
  }
}

/* popular tag */

body.pricing-page .popular-tag{
  animation:popularTagFloat 3.6s ease-in-out infinite;
}

@keyframes popularTagFloat{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-4px);
  }
}

/* buttons */

body.pricing-page .price-btn,
body.pricing-page .btn-a{
  transition:
    transform .22s ease,
    background .22s ease,
    color .22s ease,
    box-shadow .22s ease;
}

body.pricing-page .price-btn:hover,
body.pricing-page .btn-a:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(18,18,18,.12);
}

/* list items reveal on card hover */

body.pricing-page .price-card li{
  transition:
    transform .22s ease,
    color .22s ease;
}

body.pricing-page .price-card:hover li{
  color:#111;
}

body.pricing-page .price-card:hover li:nth-child(1){
  transform:translateX(4px);
}

body.pricing-page .price-card:hover li:nth-child(2){
  transform:translateX(8px);
}

body.pricing-page .price-card:hover li:nth-child(3){
  transform:translateX(12px);
}

/* accessibility */

@media(prefers-reduced-motion:reduce){
  body.pricing-page::after,
  body.pricing-page .pricing-heading,
  body.pricing-page .price-card,
  body.pricing-page .payment-pill,
  body.pricing-page .popular-tag{
    animation:none !important;
    transition:none !important;
  }
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.045;
  z-index:9999;

  background-image:url("images/grain.png");
}
/* =========================================================
   PRICING PAGE IMAGE MARQUEE
   PREMIUM SMALL EDITORIAL VERSION
   ========================================================= */

body.pricing-page .image-marquee-section{
  position:relative;

  width:100%;

  margin-top:95px;
  margin-bottom:45px;

  padding:1.5rem 0 2rem;

  overflow:hidden;

  background:var(--bg);

  border-bottom:1px solid var(--line);
}

/* edge fade */

body.pricing-page .image-marquee-section::before,
body.pricing-page .image-marquee-section::after{
  content:"";

  position:absolute;
  top:0;
  bottom:0;

  width:120px;

  z-index:5;

  pointer-events:none;
}

body.pricing-page .image-marquee-section::before{
  left:0;

  background:
    linear-gradient(
      to right,
      var(--bg),
      transparent
    );
}

body.pricing-page .image-marquee-section::after{
  right:0;

  background:
    linear-gradient(
      to left,
      var(--bg),
      transparent
    );
}

/* track */

body.pricing-page .image-marquee-track{
  display:flex;
  align-items:center;

  gap:1rem;

  width:max-content;

  flex-wrap:nowrap;

  animation:imageMarquee 30s linear infinite;

  will-change:transform;
}

body.pricing-page .image-marquee-section:hover .image-marquee-track{
  animation-play-state:paused;
}

@keyframes imageMarquee{

  from{
    transform:translate3d(0,0,0);
  }

  to{
    transform:translate3d(calc(-50% - .5rem),0,0);
  }

}

/* =========================================================
   IMAGE CARDS
   ========================================================= */

body.pricing-page .marquee-image{
  flex:none;

  width:240px;
  height:180px;

  overflow:hidden;

  border-radius:22px;

  background:#ddd;

  box-shadow:
    0 14px 34px rgba(18,18,18,.08);

  transition:
    transform .35s ease,
    box-shadow .35s ease;
}

/* widths only */

body.pricing-page .marquee-image.wide{
  width:360px;
}

body.pricing-page .marquee-image.tall{
  width:180px;
}

/* subtle stagger */

body.pricing-page .marquee-image:nth-child(3n){
  margin-top:-18px;
}

body.pricing-page .marquee-image:nth-child(4n){
  margin-top:14px;
}

body.pricing-page .marquee-image:nth-child(5n){
  margin-top:-10px;
}

/* image */

body.pricing-page .marquee-image img{
  width:100%;
  height:100%;

  object-fit:cover;

  display:block;

  transition:
    transform .6s ease,
    filter .4s ease;
}

/* hover */

body.pricing-page .marquee-image:hover{
  transform:translateY(-6px);

  box-shadow:
    0 22px 50px rgba(18,18,18,.14);

  z-index:10;
}

body.pricing-page .marquee-image:hover img{
  transform:scale(1.05);

  filter:saturate(1.06);
}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:900px){

  body.pricing-page .image-marquee-section{
    margin-top:120px;
    margin-bottom:30px;

    padding:1rem 0 1.5rem;
  }

  body.pricing-page .image-marquee-section::before,
  body.pricing-page .image-marquee-section::after{
    width:50px;
  }

  body.pricing-page .image-marquee-track{
    animation-duration:22s;
  }

  body.pricing-page .marquee-image{
    width:180px;
    height:130px;

    border-radius:18px;
  }

  body.pricing-page .marquee-image.wide{
    width:260px;
  }

  body.pricing-page .marquee-image.tall{
    width:140px;
  }

  body.pricing-page .marquee-image:nth-child(3n),
  body.pricing-page .marquee-image:nth-child(4n),
  body.pricing-page .marquee-image:nth-child(5n){
    margin-top:0;
  }
}
/* =========================================================
   PREMIUM 3D PRICING CARDS
   ========================================================= */

body.pricing-page .pricing-grid{
  perspective:1800px;
}

body.pricing-page .price-card{
  position:relative;

  transform-style:preserve-3d;

  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    box-shadow .45s ease;

  box-shadow:
    0 12px 30px rgba(18,18,18,.06),
    0 40px 70px rgba(18,18,18,.04);

  overflow:hidden;
}

/* top light reflection */

body.pricing-page .price-card::before{
  content:"";

  position:absolute;
  top:0;
  left:0;
  right:0;

  height:1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.9),
      transparent
    );

  z-index:3;
}

/* side depth */

body.pricing-page .price-card::after{
  content:"";

  position:absolute;

  inset:0;

  border-radius:inherit;

  box-shadow:
    inset 1px 1px 0 rgba(255,255,255,.35),
    inset -1px -1px 0 rgba(18,18,18,.04);

  pointer-events:none;
}

/* card tilt */

body.pricing-page .price-card:nth-child(1){
  transform:
    rotateY(-4deg)
    rotateX(2deg);
}

body.pricing-page .price-card:nth-child(2){
  transform:
    translateY(-14px)
    scale(1.04);
  z-index:5;
}

body.pricing-page .price-card:nth-child(3){
  transform:
    rotateY(4deg)
    rotateX(2deg);
}

/* hover */

body.pricing-page .price-card:hover{
  transform:
    translateY(-18px)
    rotateY(0deg)
    rotateX(0deg)
    scale(1.04);

  box-shadow:
    0 30px 80px rgba(18,18,18,.14),
    0 60px 120px rgba(18,18,18,.08);
}

/* price floats */

body.pricing-page .price{
  transform:translateZ(40px);
}

body.pricing-page .price-card h3{
  transform:translateZ(30px);
}

body.pricing-page .payment-pill{
  transform:translateZ(60px);
}

body.pricing-page .price-btn{
  transform:translateZ(45px);
}

/* featured card glow */

body.pricing-page .featured{
  box-shadow:
    0 20px 60px rgba(47,107,255,.12),
    0 60px 120px rgba(18,18,18,.06);
}

body.pricing-page .featured::before{
  height:3px;

  background:
    linear-gradient(
      90deg,
      var(--accent),
      #84a5ff,
      var(--accent)
    );
}
/* =========================================================
   MOBILE COMPACT FIX — paste at very bottom
   ========================================================= */

@media (max-width: 760px){

  html{
    font-size:14px !important;
    overflow-x:hidden !important;
  }

  body{
    overflow-x:hidden !important;
  }

  nav{
    top:8px !important;
    width:calc(100% - 16px) !important;
    padding:.7rem .8rem !important;
    border-radius:16px !important;
    gap:.55rem !important;
  }

  .nav-logo,
  nav .nav-logo{
    font-size:1.25rem !important;
  }

  .nav-links,
  nav .nav-links{
    gap:.55rem !important;
  }

  .nav-links a,
  nav .nav-links a{
    font-size:.68rem !important;
    letter-spacing:.03em !important;
  }

  main,
  body.home main,
  body.about-page main{
    padding-top:92px !important;
  }

  section,
  .hero-image-led,
  .landing-copy,
  .landing-room,
  .minimal-cta,
  .about-dark-hero,
  .about-method,
  .about-fit,
  .about-cta,
  .about-belief,
  .pricing-section,
  .waitlist-section{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }

  h1,
  body.home .hero-image-led h1,
  body.editorial-page.about-page h1,
  body.waitlist-page .waitlist-copy h2{
    font-size:2.7rem !important;
    line-height:.95 !important;
    letter-spacing:-.045em !important;
  }

  h2,
  body.home .landing-copy h2,
  body.home .landing-room h2,
  body.home .minimal-cta h2,
  body.home .feature-card h2,
  body.about-page .dual-card h2,
  body.editorial-page.about-page .about-feature-card h2,
  body.editorial-page.about-page .fit-copy h2,
  body.editorial-page.about-page .about-cta h2,
  body.pricing-page .pricing-heading h2{
    font-size:2.2rem !important;
    line-height:1 !important;
    letter-spacing:-.04em !important;
  }

  p,
  li,
  .hero-text,
  .hero-kicker,
  .feature-copy,
  .about-intro,
  .fit-copy p,
  .pricing-heading p,
  .waitlist-lead,
  .tcg li{
    font-size:.88rem !important;
    line-height:1.45 !important;
  }

  .hero-image-led{
    min-height:auto !important;
    padding-top:1rem !important;
    padding-bottom:2rem !important;
    gap:1.2rem !important;
  }

  .hero-gallery{
    grid-template-columns:repeat(2,1fr) !important;
    grid-auto-rows:82px !important;
    gap:8px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:260px !important;
  }

  .gallery-card{
    border-radius:12px !important;
  }

  img{
    max-width:100% !important;
  }

  .btn-a,
  .price-btn,
  .dual-btn,
  .btn-email,
  .btn-secondary{
    min-height:42px !important;
    padding:.65rem 1rem !important;
    font-size:.82rem !important;
  }

  .feature-card,
  .about-feature-card,
  .dual-card,
  .price-card,
  .method-grid article{
    min-height:auto !important;
    padding:1.4rem 1rem !important;
    border-radius:18px !important;
  }

  .landing-copy,
  .landing-room,
  .minimal-cta,
  .about-method,
  .about-fit,
  .about-cta,
  .about-belief{
    padding-top:2.5rem !important;
    padding-bottom:2.5rem !important;
    gap:1.3rem !important;
  }

  .pricing-section{
    width:calc(100% - 24px) !important;
    padding-top:110px !important;
    padding-bottom:2.5rem !important;
  }

  .price{
    font-size:2.4rem !important;
    margin:1.2rem 0 .6rem !important;
  }

  .price-card h3{
    font-size:2rem !important;
  }

  .price-card li{
    padding:.65rem 0 !important;
    font-size:.82rem !important;
  }

  .waitlist-copy,
  .waitlist-form-wrap{
    padding:1.4rem 1rem !important;
  }

  #wl-form{
    padding:1rem !important;
    border-radius:20px !important;
  }

  input,
  select{
    height:44px !important;
    font-size:.86rem !important;
    border-radius:12px !important;
  }

  .cb-row{
    padding:.8rem !important;
    border-radius:16px !important;
    gap:.7rem !important;
  }

  .audher-marquee{
    padding:.6rem 0 !important;
  }

  .audher-marquee-track span{
    font-size:.62rem !important;
  }

  .tc-s{
    padding:1.2rem 0 !important;
  }

  .tc-inner{
    width:calc(100% - 24px) !important;
  }

  .tc-grid{
    grid-template-columns:1fr !important;
    gap:.8rem !important;
  }

  footer{
    padding:1rem !important;
    font-size:.8rem !important;
  }
}
/* PRICING PAGE MOBILE MARQUEE FINAL FIX */
@media (max-width:760px){

  body.pricing-page .image-marquee-section{
    margin-top:78px !important;
    margin-bottom:18px !important;
    padding:.7rem 0 !important;
    max-height:135px !important;
    overflow:hidden !important;
  }

  body.pricing-page .image-marquee-track{
    gap:.55rem !important;
    align-items:center !important;
  }

  body.pricing-page .image-marquee-card,
  body.pricing-page .image-card,
  body.pricing-page .marquee-img,
  body.pricing-page .image-marquee-track img{
    width:110px !important;
    min-width:110px !important;
    height:95px !important;
    max-height:95px !important;
    border-radius:14px !important;
    object-fit:cover !important;
  }

  body.pricing-page .image-marquee-track > *{
    flex:0 0 110px !important;
    width:110px !important;
    min-width:110px !important;
    height:95px !important;
    max-height:95px !important;
  }

  body.pricing-page .image-marquee-track > *:empty{
    display:none !important;
  }

  body.pricing-page .pricing-section{
    padding-top:1rem !important;
  }
}
/* =========================================================
   WAITLIST PAGE - MOBILE COMPACT FIX
   Paste at very bottom of CSS
   ========================================================= */

@media (max-width:760px){

  /* overall layout */
  body.waitlist-page .waitlist-section{
    min-height:auto !important;
    padding-top:82px !important;
  }

  body.waitlist-page .waitlist-container{
    display:block !important;
    min-height:auto !important;
  }

  /* blue panel */
  body.waitlist-page .waitlist-copy{
    padding:1.25rem !important;
    min-height:auto !important;

    display:block !important;
  }

  body.waitlist-page .waitlist-copy::before{
    width:160px !important;
    height:160px !important;

    right:-70px !important;
    top:-60px !important;
  }

  body.waitlist-page .waitlist-copy::after{
    display:none !important;
  }

  /* pill */
  body.waitlist-page .waitlist-pill{
    margin-bottom:.75rem !important;

    padding:.45rem .7rem !important;

    font-size:.6rem !important;
    letter-spacing:.08em !important;
  }

  /* main heading */
  body.waitlist-page .waitlist-copy h2{
    font-size:2rem !important;
    line-height:1 !important;

    letter-spacing:-.04em !important;

    margin-bottom:.75rem !important;
  }

  /* paragraph */
  body.waitlist-page .waitlist-lead{
    margin-top:0 !important;

    font-size:.82rem !important;
    line-height:1.45 !important;

    max-width:none !important;
  }

  /* form side */
  body.waitlist-page .waitlist-form-wrap{
    padding:1rem !important;
  }

  body.waitlist-page #wl-form{
    padding:1rem !important;

    border-radius:18px !important;

    box-shadow:none !important;
  }

  /* labels */
  body.waitlist-page .flabel{
    font-size:.62rem !important;
  }

  /* inputs */
  body.waitlist-page input,
  body.waitlist-page select{
    height:44px !important;

    font-size:.85rem !important;

    border-radius:12px !important;
  }

  /* rows */
  body.waitlist-page .ff-row{
    grid-template-columns:1fr !important;
    gap:.5rem !important;
  }

  body.waitlist-page .ff{
    margin-bottom:.75rem !important;
  }

  /* radio cards */
  body.waitlist-page .cb-row{
    padding:.8rem !important;

    border-radius:14px !important;

    gap:.7rem !important;
  }

  body.waitlist-page .cb-row strong{
    font-size:.85rem !important;
  }

  body.waitlist-page .cb-row div{
    font-size:.78rem !important;
    line-height:1.4 !important;
  }

  /* submit button */
  body.waitlist-page .btn-email{
    min-height:48px !important;

    font-size:.85rem !important;

    margin-top:.5rem !important;
  }

  /* notes */
  body.waitlist-page .wl-note{
    font-size:.75rem !important;
  }

  /* terms and conditions */
  .tc-s{
    padding:1rem 0 !important;
  }

  .tc-inner{
    width:calc(100% - 24px) !important;
  }

  .tc-grid{
    grid-template-columns:1fr !important;
    gap:.75rem !important;
  }

  .tc-h{
    font-size:.8rem !important;
    margin-bottom:.8rem !important;
  }

  .tcg h4{
    font-size:.75rem !important;
  }

  .tcg li{
    font-size:.7rem !important;
    line-height:1.4 !important;
  }

  .tc-foot{
    font-size:.68rem !important;
  }

  /* footer */
  body.waitlist-page footer{
    padding:1rem !important;

    flex-direction:column !important;
  }

  body.waitlist-page .f-brand{
    font-size:1rem !important;
  }

  body.waitlist-page .f-copy{
    font-size:.75rem !important;
  }
}
/* =========================================================
   WAITLIST FORM COMPACT MOBILE
   ========================================================= */

@media (max-width:760px){

  /* form container */
  body.waitlist-page #wl-form{
    padding:.85rem !important;
    border-radius:16px !important;
  }

  /* spacing between fields */
  body.waitlist-page .ff{
    gap:.3rem !important;
    margin-bottom:.45rem !important;
  }

  /* labels */
  body.waitlist-page .flabel{
    font-size:.58rem !important;
    letter-spacing:.06em !important;
    margin-bottom:0 !important;
  }

  /* text inputs */
  body.waitlist-page input,
  body.waitlist-page select{
    height:38px !important;
    padding:0 .75rem !important;

    font-size:.8rem !important;

    border-radius:10px !important;
  }

  /* first row spacing */
  body.waitlist-page .ff-row{
    gap:.4rem !important;
  }

  /* programme cards */
  body.waitlist-page .cb-row{
    padding:.65rem !important;

    min-height:auto !important;

    gap:.55rem !important;

    border-radius:12px !important;

    margin-bottom:.45rem !important;
  }

  body.waitlist-page .cb-row strong{
    font-size:.78rem !important;
    margin-bottom:.15rem !important;
  }

  body.waitlist-page .cb-row div{
    font-size:.7rem !important;
    line-height:1.3 !important;
  }

  body.waitlist-page .cb-row input[type="radio"]{
    width:14px !important;
    height:14px !important;
    margin-top:.15rem !important;
  }

  /* button */
  body.waitlist-page .btn-email{
    min-height:42px !important;
    font-size:.8rem !important;
    margin-top:.4rem !important;
  }

  /* reduce overall form width appearance */
  body.waitlist-page .waitlist-form-wrap{
    padding:.75rem !important;
  }

  body.waitlist-page .wl-note{
    margin-top:.5rem !important;
    font-size:.68rem !important;
  }
}
/* =========================================================
   PRICING CARDS COMPACT MOBILE FIX
   ========================================================= */

@media (max-width:760px){

  body.pricing-page .pricing-grid{
    gap:.7rem !important;
    border:0 !important;
  }

  body.pricing-page .price-card{
    min-height:auto !important;
    padding:1rem !important;
    border-radius:16px !important;
    border:1px solid rgba(18,18,18,.1) !important;
  }

  body.pricing-page .program-type,
  body.pricing-page .popular-tag,
  body.pricing-page .payment-pill{
    font-size:.58rem !important;
    margin-bottom:.45rem !important;
    padding:.35rem .55rem !important;
  }

  body.pricing-page .price-card h3{
    font-size:1.65rem !important;
    margin:.25rem 0 .1rem !important;
    line-height:.95 !important;
  }

  body.pricing-page .age{
    font-size:.75rem !important;
  }

  body.pricing-page .price{
    font-size:1.95rem !important;
    margin:.75rem 0 .45rem !important;
  }

  body.pricing-page .price-card ul{
    margin:.8rem 0 1rem !important;
  }

  body.pricing-page .price-card li{
    padding:.5rem 0 !important;
    font-size:.72rem !important;
    line-height:1.3 !important;
  }

  body.pricing-page .price-btn{
    min-height:40px !important;
    font-size:.76rem !important;
    border-radius:999px !important;
  }
}
/* =========================================================
   ABOUT PAGE MOBILE COMPACT FIX
   ========================================================= */

@media (max-width:760px){

  body.about-page main,
  body.editorial-page.about-page main{
    padding-top:82px !important;
  }

  body.editorial-page.about-page .about-dark-hero,
  body.editorial-page.about-page .about-method,
  body.editorial-page.about-page .about-fit,
  body.editorial-page.about-page .about-cta,
  body.editorial-page.about-page .about-belief{
    padding:1.4rem 1rem !important;
  }

  body.editorial-page.about-page h1{
    font-size:2rem !important;
    line-height:1 !important;
  }

  body.editorial-page.about-page .about-intro,
  body.editorial-page.about-page .fit-copy p,
  body.editorial-page.about-page .method-grid p{
    font-size:.82rem !important;
    line-height:1.45 !important;
  }

  body.editorial-page.about-page .about-feature-card,
  body.about-page .dual-card,
  body.editorial-page.about-page .method-grid article{
    min-height:auto !important;
    padding:1.2rem 1rem !important;
    border-radius:16px !important;
  }

  body.editorial-page.about-page .about-feature-card h2,
  body.editorial-page.about-page .fit-copy h2,
  body.editorial-page.about-page .about-cta h2,
  body.about-page .dual-card h2,
  body.editorial-page.about-page .method-grid h2,
  body.editorial-page.about-page .about-belief p{
    font-size:1.8rem !important;
    line-height:1 !important;
  }

  body.editorial-page.about-page .about-feature-card p:last-child,
  body.about-page .dual-top p,
  body.editorial-page.about-page .fit-list p{
    font-size:.8rem !important;
    line-height:1.35 !important;
  }

  body.about-page .dual-btn,
  body.editorial-page.about-page .btn-a,
  body.editorial-page.about-page .about-cta a{
    min-height:40px !important;
    padding:.55rem 1rem !important;
    font-size:.78rem !important;
  }
}
/* =========================================================
   WAITLIST TERMS & FOOTER MOBILE COMPACT FIX
   ========================================================= */

@media (max-width:760px){

  body.waitlist-page .tc-s{
    padding:.8rem 0 !important;
  }

  body.waitlist-page .tc-inner{
    width:calc(100% - 28px) !important;
  }

  body.waitlist-page .tc-h{
    font-size:.68rem !important;
    margin-bottom:.75rem !important;
    letter-spacing:.06em !important;
  }

  body.waitlist-page .tc-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:.85rem 1rem !important;
  }

  body.waitlist-page .tcg h4{
    font-size:.62rem !important;
    margin-bottom:.25rem !important;
  }

  body.waitlist-page .tcg li{
    font-size:.56rem !important;
    line-height:1.35 !important;
    margin-bottom:.15rem !important;
  }

  body.waitlist-page .tc-foot{
    margin-top:.85rem !important;
    padding-top:.7rem !important;
    font-size:.55rem !important;
    line-height:1.35 !important;
  }

  body.waitlist-page footer{
    padding:.7rem 1rem !important;
    gap:.35rem !important;
  }

  body.waitlist-page .f-brand{
    font-size:.85rem !important;
  }

  body.waitlist-page .f-copy{
    font-size:.58rem !important;
    line-height:1.35 !important;
  }
}
/* MOBILE NAVBAR SLIGHTLY LARGER */

@media (max-width:760px){

  nav{
    padding:1rem 1rem !important;
  }

  .nav-logo,
  nav .nav-logo{
    font-size:1.45rem !important;
  }

  .nav-links{
    gap:.9rem !important;
  }

  .nav-links a{
    font-size:.8rem !important;
    font-weight:700 !important;
  }

  body.home main,
  body.about-page main,
  body.pricing-page main,
  body.waitlist-page main{
    padding-top:95px !important;
  }
}
/* =========================================================
   ABOUT PAGE CARDS COMPACT MOBILE
   ========================================================= */

@media (max-width:760px){

  body.editorial-page.about-page .about-feature-row{
    gap:.75rem !important;
  }

  body.editorial-page.about-page .about-feature-card,
  body.about-page .dual-card{
    min-height:unset !important;
    padding:1rem !important;
    border-radius:14px !important;
  }

  body.editorial-page.about-page .card-dot,
  body.about-page .dot{
    width:8px !important;
    height:8px !important;
    margin-bottom:.8rem !important;
  }

  body.editorial-page.about-page .about-feature-card h2,
  body.about-page .dual-card h2{
    font-size:1.55rem !important;
    line-height:1 !important;
    margin-bottom:.5rem !important;
  }

  body.editorial-page.about-page .about-feature-card p,
  body.about-page .dual-card p{
    font-size:.72rem !important;
    line-height:1.4 !important;
  }

  body.about-page .dual-top{
    margin-bottom:.75rem !important;
  }

  body.about-page .dual-top p{
    font-size:.65rem !important;
  }

  body.about-page .dual-btn{
    min-height:36px !important;
    padding:.45rem .9rem !important;
    font-size:.72rem !important;
    margin-top:.75rem !important;
  }
}
/* =========================================================
   ABOUT HERO MOBILE FIX
   ========================================================= */

@media (max-width:760px){

  body.editorial-page.about-page .about-dark-hero{
    min-height:auto !important;
    padding:1.25rem 1rem !important;
  }

  body.editorial-page.about-page .about-hero-grid{
    margin-top:.8rem !important;
    gap:1rem !important;
  }

  body.editorial-page.about-page h1{
    font-size:1.9rem !important;
    line-height:.95 !important;
    margin-bottom:.8rem !important;
  }

  body.editorial-page.about-page .about-intro{
    gap:.5rem !important;
    font-size:.78rem !important;
    line-height:1.4 !important;
  }

  body.editorial-page.about-page .about-actions{
    margin-top:.8rem !important;
    gap:.6rem !important;
  }

  body.editorial-page.about-page .btn-a{
    min-height:38px !important;
    padding:0 .9rem !important;
    font-size:.72rem !important;
  }

  body.editorial-page.about-page .about-text-link{
    font-size:.72rem !important;
  }

  /* remove bottom whitespace */
  body.editorial-page.about-page .about-dark-hero > *:last-child{
    margin-bottom:0 !important;
  }
}
