
/* ═══════════════════════════════════════════════════════════════════
   MARNIE FORESTIERI · CONSULTING PLATFORM · v2.0
   Aesthetic: visionary founder universe · cinematic editorial
   part creative studio · part future lab · part luxury editorial
   part innovation manifesto · part cinematic identity
   ═══════════════════════════════════════════════════════════════════ */

:root{ --kid-green:#2fb574; --kid-orange:#ff8c42; --kid-purple:#9b5de5;
  /* ── PAPER (light surfaces) ─────────────────────────── */
  --paper:#fff9f5;
  --paper-warm:#fdf2ea;
  --paper-pink:#ffeef5;
  --paper-yellow:#fff6dd;
  --paper-blue:#e8efff;
  --paper-stone:#f0ebe5;

  /* ── INK (dark surfaces) ────────────────────────────── */
  --ink:#0e0810;
  --ink-2:#1a1118;
  --ink-3:#251820;
  --ink-soft:#3a262e;
  --ink-mute:#6f5a5f;
  --rule:#ecdde0;
  --rule-soft:#f5e8ec;
  --rule-dark:rgba(255,249,245,.12);

  /* ── PRIMARY (hot pink — the brand) ─────────────────── */
  --pink:#ff1f6e;
  --pink-deep:#c5125a;
  --pink-bright:#ff5e94;
  --pink-light:#ffb3cc;

  /* ── SECONDARY (electric yellow) ────────────────────── */
  --yellow:#ffd23f;
  --yellow-deep:#e5b800;
  --yellow-light:#fff0a3;
  --mustard:#d9a920;

  /* ── TERTIARY (royal + cyan accents) ────────────────── */
  --royal:#1e3fc3;
  --royal-bright:#2563eb;
  --royal-deep:#0b1d6b;
  --cyan:#2ea7ff;
  --cyan-deep:#0f7dd1;

  /* ── ACCENTS ────────────────────────────────────────── */
  --red:#e63a2e;
  --plum:#5b2748;
  --forest:#1f3a32;
  --gold:#c89e3c;

  /* ── BUTTON HOVER STATE — per-theme overridable ───────
     Default (Tropical Disco): royal blue background + yellow text on
     hover. Every button — pink, yellow, outline — uses these two vars
     for its hover state, so changing them per theme below cascades to
     every button on the site without rewriting individual rules. */
  --btn-hover-bg:#1e3fc3;
  --btn-hover-text:#ffd23f;

  /* ── TYPE ───────────────────────────────────────────── */
  --serif:'Fraunces','Iowan Old Style',Georgia,serif;
  --serif-alt:'Instrument Serif','Fraunces',Georgia,serif;
  --sans:'Inter Tight',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;

  /* ── LAYOUT ─────────────────────────────────────────── */
  --rail:88px;
  --topbar:64px;
  --easing:cubic-bezier(.2,.8,.2,1);
  --easing-slow:cubic-bezier(.16,1,.3,1);
  --easing-bounce:cubic-bezier(.34,1.56,.64,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink-2);
  font-family:var(--sans);
  font-weight:400;
  font-size:15px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  min-height:100vh;
  position:relative;
  cursor:none;
}

/* ════════════════════════════════════════════════════════════
   CUSTOM CURSOR — single core + sparkle trail.
   
   Just ONE primary cursor element (the core dot — a tiny pink/yellow
   glow that tracks the mouse precisely). On every mousemove, the JS
   spawns a fresh 4-point twinkle particle at the cursor position;
   each twinkle drifts slightly, rotates, scales down, and fades over
   ~800ms. Result: a magic-wand sparkle trail without dual cursors.
   
   Hover states:
   - Over interactive elements: core grows to ~16px and shifts to yellow,
     and the sparkle emission rate doubles.
   - On click: a quick burst of 8 sparkles in a radial pattern.
   
   Disabled cleanly on touch / coarse-pointer / reduced-motion.
   ════════════════════════════════════════════════════════════ */
.cursor-core{
  position:fixed;
  top:0; left:0;
  width:10px; height:10px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #fff 0%, var(--pink) 50%, var(--pink-deep) 100%);
  box-shadow:
    0 0 12px rgba(255,31,110,.6),
    0 0 24px rgba(255,31,110,.3);
  pointer-events:none;
  z-index:10000;
  transform:translate3d(-50%, -50%, 0);
  transition:width .25s cubic-bezier(.22,1,.36,1),
             height .25s cubic-bezier(.22,1,.36,1),
             background .25s ease,
             box-shadow .25s ease,
             opacity .25s ease;
  will-change:transform;
}
/* Hover state — core grows + glows yellow */
body.cursor-active .cursor-core{
  width:18px; height:18px;
  background:radial-gradient(circle at 35% 35%, #fff 0%, var(--yellow) 50%, var(--yellow-deep) 100%);
  box-shadow:
    0 0 18px rgba(255,210,63,.7),
    0 0 36px rgba(255,210,63,.4);
}
/* Text-input state — core shrinks to a small caret bead */
body.cursor-text .cursor-core{
  width:3px; height:22px;
  border-radius:1px;
  background:var(--pink);
  box-shadow:0 0 8px rgba(255,31,110,.5);
}
/* Sparkle container — full-page overlay where twinkles spawn */
.cursor-sparkles{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9999;
  overflow:hidden;
}
.sparkle{
  position:absolute;
  top:0; left:0;
  width:8px; height:8px;
  pointer-events:none;
  /* 4-point star shape via clip-path */
  background:radial-gradient(circle, rgba(255,255,255,.95) 0%, var(--yellow) 40%, transparent 70%);
  clip-path:polygon(
    50% 0%, 56% 44%, 100% 50%, 56% 56%,
    50% 100%, 44% 56%, 0% 50%, 44% 44%
  );
  transform:translate3d(-50%, -50%, 0);
  will-change:transform, opacity;
  animation:sparkleFade .8s cubic-bezier(.22,1,.36,1) forwards;
}
.sparkle.pink{
  background:radial-gradient(circle, rgba(255,255,255,.95) 0%, var(--pink) 40%, transparent 70%);
}
.sparkle.cyan{
  background:radial-gradient(circle, rgba(255,255,255,.95) 0%, var(--royal-bright,#2563eb) 40%, transparent 70%);
}
@keyframes sparkleFade{
  0%   { opacity:0;   transform:translate3d(-50%,-50%,0) scale(0)    rotate(0deg);   }
  25%  { opacity:1;   transform:translate3d(-50%,-50%,0) scale(1.2)  rotate(45deg);  }
  100% { opacity:0;   transform:translate3d(-50%,-50%,0) scale(.3)   rotate(180deg); }
}

/* Hidden on mobile/touch + reduced motion */
@media (hover:none),
       (pointer:coarse),
       (prefers-reduced-motion: reduce){
  .cursor-core, .cursor-sparkles{ display:none; }
  body, button, a, [class*="cursor:none"]{ cursor:auto; }
}

/* ════════════════════════════════════════════════════════════ */

/* atmospheric grain overlay — sits above everything */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:200;
  opacity:.05;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='280' height='280'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' seed='8'/></filter><rect width='280' height='280' filter='url(%23n)'/></svg>");
}

/* spotlight that follows cursor — subtle ambient light */
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:radial-gradient(700px circle at var(--mx,50%) var(--my,50%),rgba(255,31,110,.07),transparent 50%);
  opacity:0;
  transition:opacity .8s var(--easing);
}
body.cursor-active::after{opacity:1}

a{color:var(--pink);text-decoration:none;transition:color .25s var(--easing)}
a:hover{color:var(--pink-deep)}
button{font-family:inherit;cursor:none;border:none;background:none;color:inherit}

img{max-width:100%;display:block;user-select:none;-webkit-user-drag:none}

::selection{background:var(--yellow);color:var(--ink)}
::-moz-selection{background:var(--yellow);color:var(--ink)}

.h-scroll::-webkit-scrollbar{display:none}
.h-scroll{scrollbar-width:none;-ms-overflow-style:none}

/* ═══════════════════════════════════════════════════════════════════
   CUSTOM CURSOR
   ═══════════════════════════════════════════════════════════════════ */
.cursor-dot,.cursor-ring{
  position:fixed;top:0;left:0;pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  mix-blend-mode:difference;
  will-change:transform;
}
.cursor-dot{
  width:8px;height:8px;background:var(--pink-bright);
  border-radius:50%;
  transition:transform .15s var(--easing),background .25s,width .25s,height .25s;
}
.cursor-ring{
  width:36px;height:36px;border:1.5px solid var(--paper);
  border-radius:50%;
  transition:transform .35s var(--easing-slow),width .3s,height .3s,border-color .25s;
}
.cursor-dot.hover{width:0;height:0}
.cursor-ring.hover{width:64px;height:64px;background:rgba(255,31,110,.18);border-color:var(--pink-bright)}
.cursor-ring.click{transform:translate(-50%,-50%) scale(.78)}
.cursor-text{
  position:fixed;pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);
  font-family:var(--mono);font-size:9px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--paper);
  background:var(--pink);
  padding:6px 12px;border-radius:100px;
  opacity:0;transition:opacity .25s var(--easing);
  mix-blend-mode:normal;
  white-space:nowrap;
}
.cursor-text.show{opacity:1}

/* ═══════════════════════════════════════════════════════════════════
   TOPBAR
   ═══════════════════════════════════════════════════════════════════ */
.topbar{
  position:fixed;top:0;left:0;right:0;height:var(--topbar);
  z-index:90;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 32px 0 calc(var(--rail) + 32px);
  background:rgba(255,249,245,.78);
  backdrop-filter:blur(16px) saturate(1.4);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  border-bottom:1px solid var(--rule);
  transition:background .4s var(--easing),border-color .4s var(--easing),color .4s var(--easing);
}
.topbar.dark{
  background:rgba(14,8,16,.78);
  border-bottom-color:var(--rule-dark);
  color:var(--paper);
}
.topbar.dark .brand-mark,.topbar.dark .topbar-meta{color:var(--paper)}
.topbar.dark .topbar-meta a{color:rgba(255,249,245,.7)}
.topbar.dark .brand-mark .small{color:rgba(255,249,245,.55);border-color:var(--rule-dark)}

.brand-mark{
  font-family:var(--serif);
  font-size:22px;font-weight:400;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  letter-spacing:-.01em;
  display:flex;align-items:center;gap:10px;
  color:var(--ink);
  transition:color .4s var(--easing);
}
.brand-mark .bm-dot{
  display:inline-block;width:9px;height:9px;
  background:var(--pink);border-radius:50%;
  animation:pulse-dot 2.4s ease-in-out infinite;
}
.brand-mark .bm-name{
  /* consistent name treatment with footer mark */
  display:inline-flex;align-items:baseline;gap:.32em;
}
.brand-mark em{
  /* MATCH the footer .mark em — Instrument Serif italic with
     pink → yellow gradient text */
  font-family:var(--instrument);
  font-style:italic;
  font-weight:400;
  background:linear-gradient(135deg, var(--pink), var(--yellow));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
.brand-mark .small{
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-mute);
  margin-left:14px;padding-left:14px;border-left:1px solid var(--rule);
  font-variation-settings:normal;
  transition:color .4s var(--easing),border-color .4s var(--easing);
}

@keyframes pulse-dot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.5}}

.topbar-meta{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);
  display:flex;align-items:center;gap:24px;
  transition:color .4s var(--easing);
}
.topbar-meta a{color:var(--ink-mute)}
.topbar-meta a:hover{color:var(--pink)}
.topbar-meta .live{display:flex;align-items:center;gap:8px}
.topbar-meta .live::before{
  content:"";width:7px;height:7px;background:var(--pink);
  border-radius:50%;animation:pulse-dot 2.4s ease-in-out infinite;
}

.cta-pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 22px;
  background:var(--ink-2);color:var(--paper)!important;
  font-family:var(--sans);font-size:12px;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;
  border-radius:100px;
  transition:all .35s var(--easing);
  position:relative;overflow:hidden;
  /* Width follows content — when text wraps to 2 lines on narrow screens,
     the button shrinks to fit the longer wrapped line. No more empty
     horizontal space inside the pill. */
  width:max-content;
  max-width:100%;
  white-space:normal;
  text-align:left;
  line-height:1.2;
}
.cta-pill::before{
  content:"";position:absolute;inset:0;
  background:var(--pink);
  transform:translateY(101%);
  transition:transform .4s var(--easing);
}
.cta-pill:hover::before{transform:translateY(0)}
.cta-pill span{position:relative;z-index:1}
.cta-pill svg{position:relative;z-index:1;transition:transform .3s var(--easing)}
.cta-pill:hover svg{transform:translateX(4px)}

/* ═══════════════════════════════════════════════════════════════════
   LEFT RAIL NAVIGATION
   ═══════════════════════════════════════════════════════════════════ */
.rail{
  position:fixed;left:0;top:0;bottom:0;width:var(--rail);
  z-index:95;
  background:var(--ink);color:var(--paper);
  display:flex;flex-direction:column;align-items:center;
  padding:24px 0;
  border-right:1px solid rgba(255,255,255,.05);
}
.rail::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 0%,rgba(255,31,110,.08) 50%,transparent 100%);
  pointer-events:none;
}

.rail-logo{
  font-family:var(--serif);font-style:italic;
  font-size:28px;color:var(--paper);
  font-variation-settings:"SOFT" 100,"WONK" 1;
  margin-bottom:32px;
  text-align:center;line-height:.9;
  position:relative;z-index:1;
}
.rail-logo .m{display:block;font-size:38px;color:var(--pink-bright);font-weight:300}
.rail-logo .f{
  display:block;font-size:9px;letter-spacing:.22em;
  font-style:normal;font-family:var(--mono);text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-top:4px;
  font-variation-settings:normal;font-weight:500;
}

.rail-nav{
  flex:1;display:flex;flex-direction:column;gap:2px;
  width:100%;padding:0 10px;
  overflow-y:auto;overflow-x:hidden;
  position:relative;z-index:1;
}
.rail-nav::-webkit-scrollbar{width:0}
.rail-link{
  display:flex;flex-direction:column;align-items:center;
  padding:14px 6px;
  text-align:center;
  border-radius:10px;
  transition:all .3s var(--easing);
  cursor:none;position:relative;
}
.rail-link .num{
  font-family:var(--mono);font-size:9px;font-weight:600;
  letter-spacing:.18em;color:rgba(255,255,255,.38);
  margin-bottom:6px;
}
.rail-link .name{
  font-family:var(--serif);font-size:11px;
  color:rgba(255,255,255,.82);
  font-variation-settings:"SOFT" 50;
  line-height:1.1;
}
.rail-link:hover{background:rgba(255,255,255,.05)}
.rail-link:hover .name{color:var(--paper)}
.rail-link:hover .num{color:var(--pink-bright)}
.rail-link.active{background:var(--pink)}
.rail-link.active .name{color:var(--paper);font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1}
.rail-link.active .num{color:var(--yellow)}
.rail-link.active::before{
  content:"";position:absolute;left:-10px;top:50%;
  transform:translateY(-50%);
  width:4px;height:28px;
  background:var(--yellow);
  border-radius:0 4px 4px 0;
  box-shadow:0 0 16px rgba(255,210,63,.5);
}

.rail-foot{
  width:100%;padding:14px 12px 0;margin-top:auto;
  display:flex;flex-direction:column;gap:10px;align-items:center;
  border-top:1px solid rgba(255,255,255,.06);
  position:relative;z-index:1;
}
.rail-foot a{
  font-family:var(--mono);font-size:9px;
  letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.45);
  transition:color .25s;
}
.rail-foot a:hover{color:var(--pink-bright)}

/* ═══════════════════════════════════════════════════════════════════
   PAGE SYSTEM
   ═══════════════════════════════════════════════════════════════════ */
.page-wrap{
  margin-left:var(--rail);
  min-height:100vh;
  position:relative;
  z-index:2;
}
.page{
  display:none;
  min-height:100vh;
  padding-top:var(--topbar);
  opacity:0;
  animation:page-enter .8s var(--easing-slow) forwards;
}
.page.active{display:block}

@keyframes page-enter{
  0%{opacity:0;transform:translateY(20px)}
  100%{opacity:1;transform:translateY(0)}
}

/* ═══════════════════════════════════════════════════════════════════
   TYPOGRAPHY SYSTEM
   ═══════════════════════════════════════════════════════════════════ */
/* ═══ CANONICAL EYEBROW — left rule + uppercase mono label, always left-aligned ═══ */
.eyebrow{
  font-family:var(--mono);font-size:11px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--pink);
  display:inline-flex;flex-direction:row;align-items:center;gap:12px;
  line-height:1;
}
.eyebrow::before{
  content:"";display:inline-block;
  width:32px;height:1.5px;background:currentColor;border-radius:2px;flex-shrink:0;
}
.eyebrow::after{ display:none; }
.eyebrow.no-line::before{display:none}
.eyebrow.yellow{color:var(--yellow-deep)}
.eyebrow.paper{color:var(--paper)}
.eyebrow.royal{color:var(--royal)}
/* override draft centered variants — canonical is always left-aligned */
.eyebrow[style*="justify-content:center"]{ align-items:center !important; justify-content:flex-start !important; }


.display{
  font-family:var(--serif);font-weight:400;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  line-height:.92;letter-spacing:-.03em;
  color:var(--ink);
}
.display em{color:var(--pink);font-style:italic}
.display mark{background:var(--yellow);color:var(--ink);padding:0 .1em;font-style:normal;border-radius:2px}
.display.light{color:var(--paper)}
.display.light mark{background:var(--yellow);color:var(--ink)}

.serif-italic{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}

.instrument{
  font-family:var(--serif-alt);font-style:italic;font-weight:400;
  letter-spacing:-.01em;
}

/* ═══════════════════════════════════════════════════════════════════
   BUTTON SYSTEM
   ═══════════════════════════════════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:15px 30px;
  font-family:var(--sans);font-weight:600;font-size:13px;
  letter-spacing:.06em;text-transform:uppercase;
  background:var(--ink-2);color:var(--paper);
  border-radius:100px;
  transition:all .35s var(--easing);
  position:relative;overflow:hidden;
  cursor:none;
  white-space:nowrap;
  /* isolation creates a self-contained stacking context so the
     ::before slide-in stays behind ALL text content (including raw
     text nodes not wrapped in spans). Fixes the bug where button
     labels disappeared behind the blue hover wash. */
  isolation:isolate;
}
.btn::before{
  content:"";position:absolute;inset:0;
  background:var(--btn-hover-bg);
  transform:translateY(101%);
  transition:transform .4s var(--easing);
  z-index:-1;
}
.btn:hover::before{transform:translateY(0)}
.btn:hover{ color:var(--btn-hover-text); }
.btn span,.btn svg{position:relative;z-index:1}
.btn svg{transition:transform .3s var(--easing)}
.btn:hover svg{transform:translateX(5px)}
.btn.pink{background:var(--pink);color:var(--paper)}
.btn.pink:hover{color:var(--btn-hover-text)}
.btn.yellow{background:var(--yellow);color:var(--ink)}
.btn.yellow:hover{color:var(--btn-hover-text)}
.btn.outline{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn.outline:hover{color:var(--btn-hover-text); border-color:var(--btn-hover-bg)}
.btn.outline.light{color:var(--paper);border-color:var(--paper)}
.btn.outline.light:hover{color:var(--btn-hover-text); border-color:var(--btn-hover-bg)}
.btn.lg{padding:18px 36px;font-size:14px}
.btn.sm{padding:11px 22px;font-size:11px;gap:8px}

/* ═══════════════════════════════════════════════════════════════════
   COMMON SECTION PATTERNS
   ═══════════════════════════════════════════════════════════════════ */
.section{padding:120px 80px;position:relative}
.section.dark{background:var(--ink);color:var(--paper)}
.section.dark .display{color:var(--paper)}
.section.cream{background:var(--paper-warm)}
.section.pink{background:var(--paper-pink)}
.section.stone{background:var(--paper-stone)}

.container{max-width:1320px;margin:0 auto;position:relative;z-index:1}
.container.narrow{max-width:960px}
.container.wide{max-width:1480px}

.section-head{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:80px;
  margin-bottom:80px;
  align-items:end;
}
.section-head .lead h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(40px,5.2vw,84px);
  line-height:.94;letter-spacing:-.025em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  margin-top:24px;
  color:var(--ink);
}
.section.dark .section-head .lead h2{color:var(--paper)}
.section-head .lead h2 em{color:var(--pink);font-style:italic}
.section-head .lead h2 mark{background:var(--yellow);color:var(--ink);padding:0 .1em;font-style:normal}
.section-head .aside{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:20px;line-height:1.5;
  color:var(--ink-soft);
  padding-bottom:8px;
  font-variation-settings:"SOFT" 100;
}
.section.dark .section-head .aside{color:rgba(255,249,245,.7)}

/* page hero pattern reused across most pages */
.page-hero{
  position:relative;
  min-height:calc(100vh - var(--topbar));
  background:var(--ink);
  color:var(--paper);
  padding:80px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:60px;
  align-items:center;
  overflow:hidden;
}
.page-hero-content{position:relative;z-index:2}
.page-hero h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(56px,8vw,140px);
  line-height:.88;letter-spacing:-.035em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  color:var(--paper);
  margin:28px 0 32px;
}
.page-hero h1 em{color:var(--pink-bright);font-style:italic}
.page-hero h1 mark{background:var(--yellow);color:var(--ink);padding:0 .12em;font-style:normal}
.page-hero p.lead{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(19px,1.7vw,24px);line-height:1.5;
  color:rgba(255,249,245,.78);
  max-width:560px;margin-bottom:40px;
  font-variation-settings:"SOFT" 100;
}
.page-hero p.lead strong{color:var(--paper);font-weight:500;font-style:normal}
.page-hero-visual{position:relative;height:100%;min-height:520px}
.page-hero-img{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  border-radius:0;
  filter:saturate(1.05) contrast(1.04);
  animation:img-zoom 16s ease-in-out infinite alternate;
}
@keyframes img-zoom{
  0%{transform:scale(1.02)}
  100%{transform:scale(1.1)}
}

.page-hero-tag{
  font-family:var(--mono);font-size:11px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--yellow);
  display:flex;align-items:center;gap:14px;
}
.page-hero-tag::before{
  content:"";width:36px;height:1px;background:var(--yellow);
}

.page-hero-meta{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:32px;padding-top:36px;
  border-top:1px solid rgba(255,249,245,.18);
  margin-top:8px;
}
.page-hero-meta dt{
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,249,245,.55);
  margin-bottom:8px;
}
.page-hero-meta dd{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:19px;color:var(--paper);
  font-variation-settings:"SOFT" 100;
}
.page-hero-meta dd .accent{color:var(--pink-bright);font-weight:400}

/* ═══════════════════════════════════════════════════════════════════
   FORM ELEMENTS
   ═══════════════════════════════════════════════════════════════════ */
.field{margin-bottom:20px}
.field label{
  display:block;
  font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-mute);margin-bottom:8px;
}
.field input,.field textarea,.field select{
  width:100%;
  padding:14px 18px;
  font-family:var(--sans);font-size:15px;
  color:var(--ink);
  background:var(--paper);
  border:1.5px solid var(--rule);
  border-radius:6px;
  transition:border-color .25s,background .25s;
  cursor:none;
}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--pink);background:#fff;
}
.field textarea{resize:vertical;min-height:120px;font-family:var(--sans)}
.section.dark .field input,.section.dark .field textarea,.section.dark .field select{
  background:rgba(255,255,255,.04);color:var(--paper);border-color:rgba(255,255,255,.15);
}
.section.dark .field input:focus,.section.dark .field textarea:focus,.section.dark .field select:focus{
  border-color:var(--pink-bright);background:rgba(255,255,255,.06);
}
.section.dark .field label{color:rgba(255,249,245,.55)}

/* ═══════════════════════════════════════════════════════════════════
   HOME PAGE
   ═══════════════════════════════════════════════════════════════════ */

/* ─── HERO ────────────────────────────────────────────── */
.home-hero{
  min-height:calc(100vh - var(--topbar));
  display:grid;
  grid-template-columns:1.08fr .92fr;
  position:relative;
  overflow:hidden;
  background:var(--pink);
}
.home-hero-left{
  padding:80px 64px 64px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;z-index:2;
  background:var(--pink);
  color:var(--paper);
}
/* diagonal edge between left and right */
.home-hero-left::after{
  content:"";position:absolute;
  bottom:0;right:-2px;width:240px;height:240px;
  background:var(--pink);
  clip-path:polygon(0 0,100% 100%,0 100%);
  z-index:3;
}
.home-hero-eyebrow{
  font-family:var(--mono);font-size:11px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--yellow);
  display:flex;align-items:center;gap:14px;
}
.home-hero-eyebrow::before{
  content:"";width:36px;height:1px;background:var(--yellow);
}
.home-hero-title{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(56px,8.4vw,148px);
  line-height:.86;letter-spacing:-.045em;
  color:var(--paper);
  font-variation-settings:"SOFT" 100,"WONK" 1;
  margin-top:36px;
}
.home-hero-title .line-2{display:block;font-style:italic;color:var(--yellow)}
.home-hero-title .line-3{display:block;color:var(--paper)}
.home-hero-title .line-4{
  display:block;font-style:italic;color:var(--paper);font-size:.55em;
  font-weight:300;margin-top:.1em;
  font-family:var(--serif-alt);
}

.home-verb-row{
  display:flex;align-items:baseline;gap:18px;
  margin-top:32px;
  font-family:var(--serif);
  font-size:clamp(26px,2.8vw,40px);
  font-weight:300;
  color:var(--paper);
  line-height:1.1;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.home-verb-row .who{color:var(--paper)}
.home-verb-cycler{
  font-style:italic;color:var(--yellow);
  position:relative;display:inline-block;
  min-width:320px;
  height:1.15em;
  overflow:hidden;
  vertical-align:bottom;
}
.home-verb-cycler ul{
  list-style:none;padding:0;margin:0;
  animation:verb-cycle 18s steps(6,end) infinite;
}
.home-verb-cycler li{
  height:1.15em;line-height:1.15em;
  display:block;white-space:nowrap;
}

@keyframes verb-cycle{
  0%,13.33%{transform:translateY(0)}
  16.66%,30%{transform:translateY(-1.15em)}
  33.33%,46.66%{transform:translateY(-2.3em)}
  50%,63.33%{transform:translateY(-3.45em)}
  66.66%,80%{transform:translateY(-4.6em)}
  83.33%,96.66%{transform:translateY(-5.75em)}
  100%{transform:translateY(-6.9em)}
}

.home-hero-tagline{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(18px,1.5vw,22px);
  line-height:1.5;color:rgba(255,249,245,.88);
  max-width:560px;margin-top:32px;
  font-variation-settings:"SOFT" 100;
}
.home-hero-tagline strong{color:var(--paper);font-weight:500;font-style:normal}
.home-hero-tagline em{color:var(--yellow);font-style:italic}

.home-hero-ctas{
  display:flex;gap:14px;flex-wrap:wrap;margin-top:40px;
}
.home-hero-ctas .btn.paper-light{
  background:var(--paper);color:var(--ink);
}
.home-hero-ctas .btn.paper-light::before{background:var(--yellow)}
.home-hero-ctas .btn.paper-light:hover{color:var(--ink)}
.home-hero-ctas .btn.outline-light{
  background:transparent;color:var(--paper);border:1.5px solid rgba(255,249,245,.6);
}
.home-hero-ctas .btn.outline-light::before{background:var(--paper)}
.home-hero-ctas .btn.outline-light:hover{color:var(--ink)}
.home-hero-ctas .btn.yellow-cta{
  background:var(--yellow);color:var(--ink);
}
.home-hero-ctas .btn.yellow-cta::before{background:var(--ink-2)}
.home-hero-ctas .btn.yellow-cta:hover{color:var(--paper)}

.home-hero-stamp{
  position:absolute;left:64px;bottom:36px;
  font-family:var(--mono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,249,245,.6);
  display:flex;align-items:center;gap:12px;
}
.home-hero-stamp::before{
  content:"";width:8px;height:8px;background:var(--yellow);
  border-radius:50%;animation:pulse-dot 2.4s ease-in-out infinite;
}

.home-hero-right{
  position:relative;
  background:var(--pink-deep);
  overflow:hidden;
}
.home-hero-img{
  position:absolute;inset:0;
  background-image:url(5-Marnie-Forestieri-Hero-Images-profile-pic.png);
  background-size:cover;background-position:center top;
  filter:saturate(1.06) contrast(1.05);
  animation:img-zoom 14s ease-in-out infinite alternate;
}
.home-hero-right::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 55%,rgba(255,31,110,.42));
  pointer-events:none;
}

/* enormous floating M */
.hero-m{
  position:absolute;right:-60px;top:50%;transform:translateY(-50%);
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(420px,40vw,720px);
  color:rgba(255,249,245,.06);
  line-height:.78;letter-spacing:-.07em;
  z-index:1;pointer-events:none;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}

/* polaroid floating */
.home-polaroid{
  position:absolute;
  right:60px;bottom:60px;
  width:200px;
  background:var(--paper);
  padding:14px 14px 50px;
  box-shadow:0 30px 60px -10px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.04);
  transform:rotate(5deg);
  z-index:4;
  transition:transform .6s var(--easing-slow);
  animation:polaroid-sway 7s ease-in-out infinite alternate;
}
@keyframes polaroid-sway{
  0%{transform:rotate(5deg) translateY(0)}
  100%{transform:rotate(3deg) translateY(-8px)}
}
.home-polaroid:hover{transform:rotate(0deg) scale(1.05)}
.home-polaroid img{width:100%;display:block;background:var(--paper-pink)}
.pol-caption{
  position:absolute;bottom:14px;left:0;right:0;text-align:center;
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:14px;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;
}

/* signature badge floating */
.home-sig{
  position:absolute;
  left:64px;top:36px;
  z-index:5;
  display:flex;align-items:center;gap:12px;
  font-family:var(--mono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,249,245,.8);
}
.home-sig::before{
  content:"";width:36px;height:1px;background:rgba(255,249,245,.5);
}

/* ─── MARQUEE ────────────────────────────────────────── */
.marquee-section{
  background:var(--ink);
  color:var(--paper);
  padding:24px 0;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  position:relative;
}
.marquee{
  display:flex;
  gap:40px;
  white-space:nowrap;
  animation:marquee 38s linear infinite;
  font-family:var(--serif);font-size:24px;font-style:italic;font-weight:300;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.marquee span{display:inline-flex;align-items:center;gap:40px}
.marquee em{color:var(--pink-bright);font-weight:400}
.marquee .dot{
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--yellow);flex-shrink:0;
}
@keyframes marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* ─── STAT RIBBON ────────────────────────────────────── */
.home-stats{
  background:var(--paper);
  padding:80px;
  border-bottom:1px solid var(--rule);
}
.home-stats-head{
  text-align:center;margin-bottom:60px;
}
.home-stats-head .eyebrow{justify-content:center;display:inline-flex}
.home-stats-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:0;
  border:1px solid var(--rule);
  border-radius:0;
  overflow:hidden;
}
.home-stat{
  padding:40px 24px;
  text-align:center;
  border-right:1px solid var(--rule);
  background:var(--paper);
  position:relative;
  overflow:hidden;
  transition:background .35s var(--easing);
}
.home-stat:last-child{border-right:none}
.home-stat::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--pink);
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--easing);
}
.home-stat:nth-child(2)::before{background:var(--yellow)}
.home-stat:nth-child(3)::before{background:var(--royal)}
.home-stat:nth-child(4)::before{background:var(--pink)}
.home-stat:nth-child(5)::before{background:var(--yellow)}
.home-stat:nth-child(6)::before{background:var(--royal)}
.home-stat:hover{background:var(--paper-warm)}
.home-stat:hover::before{transform:scaleX(1)}
.home-stat-num{
  font-family:var(--serif);font-size:clamp(54px,5vw,76px);font-weight:400;
  color:var(--pink);line-height:1;
  font-variation-settings:"SOFT" 100,"WONK" 1;font-style:italic;
  margin-bottom:14px;
}
.home-stat:nth-child(2) .home-stat-num{color:var(--yellow-deep)}
.home-stat:nth-child(3) .home-stat-num{color:var(--royal)}
.home-stat:nth-child(5) .home-stat-num{color:var(--yellow-deep)}
.home-stat:nth-child(6) .home-stat-num{color:var(--royal)}
.home-stat-label{
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-mute);line-height:1.4;
}

/* ─── BIG INSIGHT (From X To Y) ──────────────────────── */
.home-insight{
  padding:140px 80px;
  background:linear-gradient(180deg,var(--paper) 0%,var(--paper-pink) 100%);
  border-bottom:1px solid var(--rule);
  position:relative;overflow:hidden;
}
.home-insight::before{
  content:"";position:absolute;
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(255,210,63,.15) 0%,transparent 70%);
  top:-200px;right:-200px;border-radius:50%;
  pointer-events:none;
}
.home-insight-inner{
  max-width:1200px;margin:0 auto;
  text-align:center;position:relative;z-index:1;
}
.home-insight-line{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(64px,10vw,140px);
  line-height:.94;letter-spacing:-.035em;
  color:var(--ink);font-variation-settings:"SOFT" 100,"WONK" 1;
  margin:40px 0 56px;
}
.home-insight-line .from{display:block}
.home-insight-line .arrow{
  display:block;font-size:.45em;color:var(--pink);font-style:italic;
  margin:18px 0;line-height:1;
}
.home-insight-line .to{display:block}
.home-insight-line .accent{
  color:var(--pink);font-style:italic;
  position:relative;display:inline-block;
}
.home-insight-line .accent::after{
  content:"";position:absolute;left:0;right:0;bottom:.12em;height:.16em;
  background:var(--yellow);z-index:-1;opacity:.7;
}
.home-insight-cap{
  font-size:17px;color:var(--ink-soft);max-width:680px;margin:0 auto;
  line-height:1.7;
}
.home-insight-cap strong{color:var(--ink)}
.home-insight-cap em{color:var(--pink);font-style:italic}

/* ─── SERVICES CONSTELLATION ────────────────────────── */
.home-services{
  padding:120px 80px;background:var(--paper);
  border-bottom:1px solid var(--rule);
  position:relative;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
  border-top:1px solid var(--rule);
  border-left:1px solid var(--rule);
}
.service-card{
  padding:48px 40px;
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  background:var(--paper);
  transition:all .45s var(--easing);
  position:relative;overflow:hidden;
  cursor:none;
  display:block;
}
.service-card::before{
  content:"";position:absolute;
  top:0;left:0;width:0;height:4px;
  background:var(--pink);
  transition:width .5s var(--easing);
}
.service-card:nth-child(2)::before{background:var(--yellow-deep)}
.service-card:nth-child(3)::before{background:var(--royal)}
.service-card:nth-child(4)::before{background:var(--pink)}
.service-card:nth-child(5)::before{background:var(--yellow-deep)}
.service-card:hover::before{width:100%}
.service-card:hover{background:var(--paper-warm);transform:translateY(-2px)}

.service-num{
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  color:var(--pink);margin-bottom:18px;
  display:flex;align-items:center;gap:10px;
}
.service-num::after{content:"";flex:1;height:1px;background:var(--rule);max-width:200px}
.service-card h3{
  font-family:var(--serif);font-size:clamp(28px,3vw,40px);font-weight:400;
  line-height:1.05;letter-spacing:-.02em;
  color:var(--ink);margin-bottom:18px;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.service-card h3 em{color:var(--pink);font-style:italic}
.service-card p{
  font-size:15px;color:var(--ink-soft);line-height:1.65;
  margin-bottom:22px;max-width:480px;
}
.service-card .tags{
  display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px;
}
.service-card .tags span{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);
  padding:4px 10px;border:1px solid var(--rule);border-radius:100px;
}
.service-card .arrow-cta{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink);
  transition:gap .3s var(--easing);
}
.service-card .arrow-cta::after{content:"→";color:var(--pink)}
.service-card:hover .arrow-cta{gap:14px;color:var(--pink)}

/* featured (large) service card spans both columns */
.service-card.featured{
  grid-column:1 / -1;
  background:var(--ink);color:var(--paper);
  border-bottom:1px solid var(--rule);
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  padding:64px 56px;
}
.service-card.featured::before{background:var(--yellow)!important}
.service-card.featured:hover{background:var(--ink-3);transform:translateY(-2px)}
.service-card.featured h3{color:var(--paper);font-size:48px}
.service-card.featured h3 em{color:var(--pink-bright)}
.service-card.featured p{color:rgba(255,249,245,.75);font-size:17px;max-width:none}
.service-card.featured .service-num{color:var(--yellow)}
.service-card.featured .service-num::after{background:rgba(255,255,255,.15);max-width:300px}
.service-card.featured .tags span{color:rgba(255,249,245,.6);border-color:rgba(255,255,255,.15)}
.service-card.featured .arrow-cta{color:var(--paper)}
.service-card.featured .arrow-cta::after{color:var(--yellow)}

/* ── CONSULTING PAGE — DARK CINEMATIC HERO ──
   Replaces the old centered text-only page-hero. Uses the same dark
   gradient + yellow-eyebrow + serif-display palette as .process-section
   so the entire Consulting page reads as one coherent designed system. */
.consulting-hero{
  padding:120px 0 100px;
  background:linear-gradient(135deg, var(--ink) 0%, #1a0e1a 60%, var(--ink-2) 100%);
  color:var(--paper);
  position:relative; overflow:hidden;
}
.consulting-hero::before{
  /* Same soft pink radial glow as .process-section — visual cousin */
  content:""; position:absolute;
  top:50%; left:50%; transform:translate(-50%, -50%);
  width:1200px; height:1200px;
  background:radial-gradient(circle, rgba(255,31,110,.10) 0%, transparent 60%);
  pointer-events:none;
}
.consulting-hero::after{
  /* Subtle yellow glow in the top-right corner for editorial accent */
  content:""; position:absolute;
  top:-100px; right:-100px;
  width:500px; height:500px;
  background:radial-gradient(circle, rgba(255,210,63,.08) 0%, transparent 60%);
  pointer-events:none;
}
.consulting-hero-inner{
  position:relative; z-index:2;
  max-width:1000px;
  text-align:center;
  margin:0 auto;
}
.consulting-hero .eyebrow{
  color:var(--yellow);
  border-color:rgba(255,210,63,.3);
  margin-bottom:32px;
  display:inline-flex;
}
.consulting-hero-title{
  font-family:var(--serif);
  font-size:clamp(56px,7vw,108px);
  font-weight:300;
  line-height:.95;
  letter-spacing:-.025em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  color:var(--paper);
  margin:0 0 32px;
}
.consulting-hero-title em{
  font-style:italic;
  color:var(--pink-bright);
}
.consulting-hero-lead{
  font-size:19px; line-height:1.6;
  color:rgba(255,249,245,.78);
  max-width:760px;
  margin:0 auto 56px;
}

/* Stat row — visual rhythm matching the homepage stat-ribbon, on dark.
   Capped at 860px so the row stays visually centered alongside the
   .consulting-hero-lead (760px) instead of stretching to the full 1000px
   container width — fixes the asymmetric look where the lead paragraph
   appeared narrower than the stats below it. */
.consulting-hero-stats{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
  max-width:860px;
  margin:0 auto 48px;
  padding:32px 0;
  border-top:1px solid rgba(255,249,245,.12);
  border-bottom:1px solid rgba(255,249,245,.12);
}
.ch-stat{ text-align:center; }
.ch-stat-num{
  font-family:var(--serif);
  font-size:clamp(28px,3vw,42px);
  font-weight:300;
  line-height:1;
  color:var(--yellow);
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.ch-stat-label{
  font-family:var(--mono);
  font-size:10px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,249,245,.6);
  margin-top:10px;
}

/* Audience pills — override the light-mode styling for dark hero context. */
.consulting-hero-pills{
  justify-content:center;
  flex-wrap:wrap;
  display:flex;
  align-items:center;
  gap:10px;
}
.consulting-hero-pills .audience-label{
  color:rgba(255,249,245,.6);
  border:none;
  background:none;
}
.consulting-hero-pills .audience-pill{
  background:rgba(255,249,245,.06);
  border-color:rgba(255,249,245,.15);
  color:var(--paper);
}
.consulting-hero-pills .audience-pill:hover{
  background:rgba(255,31,110,.18);
  border-color:rgba(255,31,110,.4);
  color:var(--paper);
}

@media (max-width:900px){
  .consulting-hero{ padding:80px 0 64px; }
  .consulting-hero-stats{ grid-template-columns:repeat(2, 1fr); gap:32px 24px; }
  .consulting-hero-lead{ margin-bottom:40px; font-size:17px; }
}

/* ── FIVE LANES PREVIEW — light section between dark hero and detailed
   service rows. Mirrors the .process-steps grid pattern but light-mode.
   Each card links by anchor to its full detail row below (#svc-01…05). */
.lanes-preview{
  padding:100px 0 80px;
  background:var(--paper);
  position:relative;
}
.lanes-preview-header{
  text-align:center;
  max-width:780px;
  margin:0 auto 64px;
}
.lanes-preview-header .eyebrow{
  display:inline-flex;
  margin-bottom:20px;
}
.lanes-preview-header h2{ margin:0 0 20px; }
.lanes-preview-sub{
  font-size:17px;
  line-height:1.6;
  color:var(--ink-soft);
  max-width:600px;
  margin:0 auto;
}
.lanes-preview-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:20px;
}
.lane-card{
  position:relative;
  padding:32px 24px 28px;
  border-radius:16px;
  background:var(--paper);
  border:1px solid var(--rule);
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  transition:all .4s var(--easing);
  overflow:hidden;
}
.lane-card::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:var(--pink);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .5s var(--easing);
}
.lane-card:nth-child(1)::before{ background:var(--pink); }
.lane-card:nth-child(2)::before{ background:var(--yellow-deep); }
.lane-card:nth-child(3)::before{ background:var(--royal); }
.lane-card:nth-child(4)::before{ background:var(--pink-bright); }
.lane-card:nth-child(5)::before{ background:var(--yellow); }
.lane-card:hover{
  transform:translateY(-6px);
  box-shadow:0 32px 64px -16px rgba(0,0,0,.12);
  border-color:transparent;
}
.lane-card:hover::before{ transform:scaleX(1); }
.lane-card-num{
  font-family:var(--serif);
  font-weight:300;
  font-size:42px;
  line-height:1;
  color:var(--pink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin-bottom:14px;
}
.lane-card:nth-child(2) .lane-card-num{ color:var(--yellow-deep); }
.lane-card:nth-child(3) .lane-card-num{ color:var(--royal); }
.lane-card:nth-child(4) .lane-card-num{ color:var(--pink-bright); }
.lane-card:nth-child(5) .lane-card-num{ color:var(--yellow-deep); }
.lane-card-tag{
  position:absolute;
  top:24px; right:20px;
  font-family:var(--mono);
  font-size:9px; font-weight:600;
  letter-spacing:.18em;
  padding:4px 10px;
  border-radius:100px;
  background:var(--ink);
  color:var(--yellow);
}
.lane-card h4{
  font-family:var(--serif);
  font-size:17px; font-weight:400;
  line-height:1.25;
  letter-spacing:-.01em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  color:var(--ink);
  margin:0 0 10px;
}
.lane-card p{
  font-size:13px; line-height:1.55;
  color:var(--ink-soft);
  margin:0 0 20px;
  flex:1;
}
.lane-card-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-top:16px;
  border-top:1px solid var(--rule);
  margin-top:auto;
}
.lcm-price{
  font-family:var(--mono);
  font-size:11px; font-weight:600;
  letter-spacing:.06em;
  color:var(--ink);
}
.lcm-dur{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-mute);
}
.lane-card-arrow{
  position:absolute;
  bottom:24px; right:20px;
  font-size:16px;
  color:var(--pink);
  opacity:0;
  transform:translateX(-6px);
  transition:all .35s var(--easing);
}
.lane-card:hover .lane-card-arrow{
  opacity:1;
  transform:translateX(0);
}

@media (max-width:1200px){
  .lanes-preview-grid{ grid-template-columns:repeat(3, 1fr); }
}
@media (max-width:760px){
  .lanes-preview{ padding:64px 0 48px; }
  .lanes-preview-grid{ grid-template-columns:1fr; gap:16px; }
  .lane-card{ padding:28px 22px 24px; }
}

/* ── LANE INTRO CARD — the "Five lanes. One playbook." headline,
   now living inside the services-grid as the first cell instead of as a
   separate header section. Dark background with a yellow accent dot for
   the pop of color Lauren asked for. Same dimensions as a service card,
   so all 6 grid items align cleanly. */
.services-grid-with-intro{
  /* Stays 2-column on desktop so 6 items make a clean 3-row grid:
     [INTRO] [01]  |  [02] [03]  |  [04] [05] */
  grid-template-columns:repeat(2,1fr);
}
.services-lane-intro{
  padding:48px 40px;
  background:var(--ink);
  color:var(--paper);
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:340px;
}
.services-lane-intro::before{
  /* Top accent bar — yellow for the pop of color */
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background:var(--yellow);
}
.services-lane-intro .eyebrow{
  color:var(--yellow);
  border-color:rgba(255,255,255,.18);
  margin-bottom:24px;
  align-self:flex-start;
}
.services-lane-intro h2.display-lg{
  font-family:var(--serif);
  font-size:clamp(48px,5vw,72px);
  font-weight:300;
  line-height:.95;
  letter-spacing:-.025em;
  color:var(--paper);
  font-variation-settings:"SOFT" 100,"WONK" 1;
  margin:0 0 20px;
}
.services-lane-intro h2 em{
  font-style:italic;
  color:var(--pink-bright);
}
.services-lane-intro p{
  font-size:16px;
  line-height:1.6;
  color:rgba(255,249,245,.75);
  max-width:420px;
  margin:0;
}
.services-lane-intro .lane-intro-dot{
  position:absolute;
  right:32px; bottom:32px;
  width:60px; height:60px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, var(--yellow) 0%, var(--yellow-deep) 70%);
  box-shadow:0 0 40px rgba(255,210,63,.4);
}

@media (max-width:760px){
  .services-lane-intro{
    padding:36px 28px;
    min-height:auto;
  }
  .services-lane-intro h2.display-lg{ font-size:clamp(36px,8vw,52px); }
  .services-lane-intro .lane-intro-dot{ right:24px; bottom:24px; width:44px; height:44px; }
}

/* ─── iPHONE MOCKUP SECTION ──────────────────────────── */
.home-iphone-section{
  padding:140px 80px;
  background:var(--ink);color:var(--paper);
  position:relative;overflow:hidden;
  border-bottom:6px solid var(--yellow);
}
.home-iphone-section::before{
  content:"";position:absolute;
  width:800px;height:800px;
  background:radial-gradient(circle,rgba(255,31,110,.18) 0%,transparent 70%);
  bottom:-300px;left:-200px;border-radius:50%;
  pointer-events:none;
}
.home-iphone-section::after{
  content:"";position:absolute;
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(46,167,255,.12) 0%,transparent 70%);
  top:-200px;right:-100px;border-radius:50%;
  pointer-events:none;
}
.iphone-grid{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;
  align-items:center;position:relative;z-index:1;
}
.iphone-meta .eyebrow{color:var(--yellow)}
.iphone-meta h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;
  line-height:.94;letter-spacing:-.025em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  margin:28px 0 28px;color:var(--paper);
}
.iphone-meta h2 em{color:var(--pink-bright);font-style:italic}
.iphone-meta h2 mark{background:var(--yellow);color:var(--ink);padding:0 .12em;font-style:normal}
.iphone-meta p{
  color:rgba(255,249,245,.75);font-size:17px;line-height:1.65;margin-bottom:22px;
}
.iphone-meta p strong{color:var(--paper);font-weight:500}
.iphone-features{
  list-style:none;margin:32px 0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.iphone-features li{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,249,245,.65);
  padding-left:20px;position:relative;
}
.iphone-features li::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:8px;height:8px;background:var(--pink-bright);border-radius:50%;
  box-shadow:0 0 12px rgba(255,94,148,.6);
}

.iphone-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

/* the iPhone itself */
.iphone-frame-wrap{
  display:flex;justify-content:center;align-items:center;
  position:relative;
  perspective:1400px;
}
.iphone-frame{
  width:330px;height:680px;
  background:linear-gradient(145deg,#2a2a2a 0%,#0a0a0a 100%);
  border-radius:54px;
  padding:14px;
  position:relative;
  box-shadow:
    0 60px 120px -20px rgba(0,0,0,.6),
    0 30px 60px -15px rgba(255,31,110,.3),
    inset 0 0 0 1.5px rgba(255,255,255,.12),
    inset 0 0 0 3px #0a0a0a;
  animation:iphone-float 6s ease-in-out infinite alternate;
  transform:rotateY(-8deg) rotateX(2deg);
  transition:transform .6s var(--easing-slow);
}
.iphone-frame:hover{transform:rotateY(0deg) rotateX(0deg) scale(1.02)}
@keyframes iphone-float{
  0%{transform:rotateY(-8deg) rotateX(2deg) translateY(0)}
  100%{transform:rotateY(-6deg) rotateX(0deg) translateY(-10px)}
}
/* side button + power button details */
.iphone-frame::before{
  content:"";position:absolute;
  right:-3px;top:160px;width:3px;height:80px;
  background:#1a1a1a;border-radius:0 2px 2px 0;
}
.iphone-frame::after{
  content:"";position:absolute;
  left:-3px;top:120px;width:3px;height:36px;
  background:#1a1a1a;border-radius:2px 0 0 2px;
  box-shadow:0 56px 0 #1a1a1a,0 130px 0 0 #1a1a1a;
}
.iphone-screen{
  width:100%;height:100%;
  background:var(--paper);
  border-radius:42px;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
}
/* dynamic island */
.iphone-notch{
  position:absolute;top:10px;left:50%;transform:translateX(-50%);
  width:108px;height:30px;background:#000;
  border-radius:100px;z-index:10;
}
.iphone-notch::after{
  content:"";position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:9px;height:9px;background:#1a1a1a;border-radius:50%;
  box-shadow:0 0 0 1px #2a2a2a;
}

/* the app inside the screen — YICCN hub mockup */
.app-screen{
  flex:1;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#fff9f5 0%,#ffeef5 100%);
  padding:50px 18px 22px;
  position:relative;overflow:hidden;
}
.app-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:18px;
}
.app-logo{
  font-family:var(--serif);font-style:italic;font-size:18px;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  color:var(--pink);font-weight:400;line-height:1;
}
.app-logo span{
  display:block;font-family:var(--mono);font-size:7px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-mute);margin-top:3px;
  font-variation-settings:normal;font-weight:600;font-style:normal;
}
.app-bell{
  width:30px;height:30px;background:var(--paper);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 10px rgba(0,0,0,.06);position:relative;
}
.app-bell::after{
  content:"";position:absolute;top:6px;right:6px;
  width:8px;height:8px;background:var(--pink);
  border-radius:50%;border:2px solid var(--paper);
}

.app-welcome{
  font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.1;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  color:var(--ink);margin-bottom:4px;
}
.app-welcome em{color:var(--pink);font-style:italic}
.app-greeting{
  font-family:var(--mono);font-size:9px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-mute);margin-bottom:18px;
}

.app-card{
  background:var(--ink);color:var(--paper);
  border-radius:14px;
  padding:14px;
  margin-bottom:12px;
  position:relative;overflow:hidden;
}
.app-card::before{
  content:"";position:absolute;top:0;right:0;
  width:80px;height:80px;
  background:radial-gradient(circle,rgba(255,31,110,.5) 0%,transparent 70%);
}
.app-card-label{
  font-family:var(--mono);font-size:8px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--yellow);margin-bottom:6px;
  position:relative;
}
.app-card-title{
  font-family:var(--serif);font-size:15px;font-weight:400;line-height:1.15;
  font-variation-settings:"SOFT" 100,"WONK" 1;position:relative;
}
.app-card-title em{color:var(--pink-bright);font-style:italic}
.app-card-meta{
  display:flex;gap:8px;margin-top:8px;
  font-family:var(--mono);font-size:8px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,249,245,.55);
  position:relative;
}

.app-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;
}
.app-tile{
  background:var(--paper);border-radius:10px;padding:12px;
  display:flex;flex-direction:column;justify-content:space-between;
  min-height:80px;
  box-shadow:0 2px 8px rgba(0,0,0,.03);
}
.app-tile-num{
  font-family:var(--serif);font-size:24px;font-weight:400;font-style:italic;
  color:var(--pink);line-height:1;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.app-tile:nth-child(2) .app-tile-num{color:var(--yellow-deep)}
.app-tile:nth-child(3) .app-tile-num{color:var(--royal)}
.app-tile:nth-child(4) .app-tile-num{color:var(--pink)}
.app-tile-label{
  font-family:var(--mono);font-size:7px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);line-height:1.3;
}

.app-list-item{
  display:flex;align-items:center;gap:10px;
  padding:10px;
  background:var(--paper);border-radius:10px;
  margin-bottom:6px;
  box-shadow:0 2px 8px rgba(0,0,0,.03);
}
.app-list-bullet{
  width:6px;height:6px;background:var(--pink);
  border-radius:50%;flex-shrink:0;
}
.app-list-item:nth-child(2) .app-list-bullet{background:var(--yellow)}
.app-list-text{
  font-size:9px;color:var(--ink);font-weight:500;
  flex:1;line-height:1.3;
}
.app-list-meta{
  font-family:var(--mono);font-size:7px;letter-spacing:.1em;
  color:var(--ink-mute);text-transform:uppercase;
}

/* app bottom nav */
.app-tabs{
  position:absolute;bottom:0;left:0;right:0;
  background:var(--paper);
  padding:12px 18px 24px;
  display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid var(--rule);
}
.app-tab{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  font-family:var(--mono);font-size:7px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-mute);
}
.app-tab.active{color:var(--pink)}
.app-tab-icon{
  width:18px;height:18px;border:1.5px solid currentColor;
  border-radius:4px;
}
.app-tab.active .app-tab-icon{background:var(--pink);border-color:var(--pink)}
.app-tab.t-2 .app-tab-icon{border-radius:50%}
.app-tab.t-4 .app-tab-icon{border-radius:0;transform:rotate(45deg)}

/* floating badge over phone */
.iphone-badge{
  position:absolute;
  top:30px;right:30px;
  background:var(--yellow);color:var(--ink);
  padding:10px 16px;border-radius:100px;
  font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  box-shadow:0 12px 30px rgba(0,0,0,.3);
  transform:rotate(-4deg);
  z-index:5;
}
.iphone-badge::before{
  content:"";display:inline-block;
  width:7px;height:7px;border-radius:50%;
  background:var(--ink);margin-right:8px;
  vertical-align:middle;animation:pulse-dot 2s ease-in-out infinite;
}

/* ─── HORIZONTAL QUOTES (Grant Cardone style) ────────── */
.home-quotes-section{
  padding:140px 0 140px;background:var(--paper-warm);
  border-bottom:1px solid var(--rule);
  position:relative;overflow:hidden;
}
.quotes-head{
  display:flex;justify-content:space-between;align-items:end;
  padding:0 80px;margin-bottom:64px;gap:60px;
}
.quotes-head h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;
  line-height:.94;letter-spacing:-.025em;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;
  max-width:740px;margin-top:24px;
}
.quotes-head h2 em{color:var(--pink);font-style:italic}
.quotes-head h2 mark{background:var(--yellow);color:var(--ink);padding:0 .1em;font-style:normal}
.quotes-controls{display:flex;gap:10px;align-items:center}
.quotes-controls button{
  width:50px;height:50px;border-radius:50%;
  background:var(--ink);color:var(--paper);
  display:flex;align-items:center;justify-content:center;
  cursor:none;
  transition:all .3s var(--easing);
}
.quotes-controls button:hover{background:var(--pink);transform:scale(1.08)}

.quotes-track{
  display:flex;gap:24px;
  padding:8px 80px 40px;
  /* overflow-x:auto / scroll-snap-type / scroll-behavior removed —
     this element is now a transform-driven marquee (see the active
     .quotes-track rule later in the file). Leaving them here made the
     track a vertical-scroll-capturing container that trapped page
     scroll over the testimonials section. */
}
.quote-card{
  flex:0 0 460px;
  scroll-snap-align:start;
  background:var(--paper);
  border-radius:0;
  padding:48px 36px 36px;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
  box-shadow:0 20px 50px -10px rgba(0,0,0,.08);
  transition:transform .4s var(--easing),box-shadow .4s var(--easing);
  min-height:480px;
  border-top:6px solid var(--pink);
}
.quote-card:nth-child(2){border-top-color:var(--yellow)}
.quote-card:nth-child(3){border-top-color:var(--royal)}
.quote-card:nth-child(4){border-top-color:var(--pink-bright)}
.quote-card:nth-child(5){border-top-color:var(--yellow-deep)}
.quote-card:nth-child(6){border-top-color:var(--cyan)}
.quote-card:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 70px -10px rgba(0,0,0,.15);
}

/* huge decorative quote mark */
.quote-mark{
  position:absolute;top:-30px;right:24px;
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:240px;color:var(--paper-pink);
  line-height:1;pointer-events:none;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  z-index:0;
}
.quote-card:nth-child(2) .quote-mark{color:var(--paper-yellow)}
.quote-card:nth-child(3) .quote-mark{color:var(--paper-blue)}
.quote-card:nth-child(4) .quote-mark{color:var(--paper-pink)}
.quote-card:nth-child(5) .quote-mark{color:var(--paper-yellow)}
.quote-card:nth-child(6) .quote-mark{color:var(--paper-blue)}

.quote-body{
  font-family:var(--serif);font-size:22px;font-weight:300;
  font-style:italic;
  line-height:1.4;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;
  position:relative;z-index:1;flex:1;
  margin-bottom:30px;
}
.quote-body em{color:var(--pink);font-style:italic;font-weight:400}

.quote-author{
  display:flex;align-items:center;gap:14px;
  padding-top:24px;
  border-top:1px solid var(--rule);
  position:relative;z-index:1;
}
.quote-avatar{
  width:54px;height:54px;border-radius:50%;
  background:linear-gradient(135deg,var(--pink) 0%,var(--pink-deep) 100%);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);color:var(--paper);
  font-size:22px;font-style:italic;font-weight:400;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  flex-shrink:0;
  box-shadow:0 4px 12px rgba(255,31,110,.3);
}
.quote-card:nth-child(2) .quote-avatar{background:linear-gradient(135deg,var(--yellow-deep) 0%,var(--mustard) 100%)}
.quote-card:nth-child(3) .quote-avatar{background:linear-gradient(135deg,var(--royal) 0%,var(--royal-deep) 100%)}
.quote-card:nth-child(4) .quote-avatar{background:linear-gradient(135deg,var(--pink-bright) 0%,var(--pink) 100%)}
.quote-card:nth-child(5) .quote-avatar{background:linear-gradient(135deg,var(--mustard) 0%,var(--yellow-deep) 100%)}
.quote-card:nth-child(6) .quote-avatar{background:linear-gradient(135deg,var(--cyan) 0%,var(--cyan-deep) 100%)}
.quote-author-name{
  font-family:var(--serif);font-size:16px;font-weight:400;
  color:var(--ink);line-height:1.2;
  font-variation-settings:"SOFT" 100;
}
.quote-author-title{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);
  margin-top:4px;
}

/* ─── BOOK STACK ────────────────────────────────────── */
.home-books-section{
  padding:140px 80px;background:var(--paper);
  border-bottom:1px solid var(--rule);
  overflow:hidden;
}
.book-stack-wrap{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center;
}
.book-stack-meta h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;
  line-height:.94;letter-spacing:-.025em;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;
  margin:24px 0 24px;
}
.book-stack-meta h2 em{color:var(--pink);font-style:italic}
.book-stack-meta h2 mark{background:var(--yellow);color:var(--ink);padding:0 .1em;font-style:normal}
.book-stack-meta p{
  font-size:17px;color:var(--ink-soft);line-height:1.65;margin-bottom:32px;max-width:480px;
}
.book-stack-meta .stats-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  padding:24px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  margin-bottom:32px;
}
.book-stack-meta .stats-row div{display:flex;flex-direction:column}
.book-stack-meta .stats-row strong{
  font-family:var(--serif);font-size:42px;font-weight:400;font-style:italic;
  color:var(--pink);line-height:1;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.book-stack-meta .stats-row span{
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-mute);margin-top:8px;
}

.book-h-scroll{
  display:flex;gap:30px;
  padding:40px 0 60px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
}
.book-mini{
  flex:0 0 220px;
  scroll-snap-align:start;
  display:flex;flex-direction:column;gap:12px;
  cursor:none;
  text-decoration:none;
}
.book-cover-mini{
  width:220px;height:300px;
  border-radius:2px 12px 12px 2px;
  display:flex;align-items:flex-end;justify-content:center;
  padding:24px;color:var(--paper);
  position:relative;overflow:hidden;
  box-shadow:
    -4px 0 0 rgba(0,0,0,.1),
    0 20px 40px -10px rgba(0,0,0,.25);
  transition:transform .4s var(--easing-slow);
}
.book-mini:hover .book-cover-mini{
  transform:translateY(-12px) rotateY(-6deg);
}
.book-cover-mini::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:14px;
  background:linear-gradient(90deg,rgba(0,0,0,.18),transparent);
  border-radius:2px 0 0 2px;
}
.book-cover-mini.novel{background:linear-gradient(165deg,var(--plum) 0%,#3a1830 100%)}
.book-cover-mini.gryphon{background:linear-gradient(165deg,var(--royal) 0%,var(--royal-deep) 100%)}
.book-cover-mini.steam{background:linear-gradient(165deg,var(--pink) 0%,var(--pink-deep) 100%)}
.book-cover-mini.kaplan{background:linear-gradient(165deg,var(--yellow-deep) 0%,#8a6700 100%)}
.book-cover-mini.business{background:linear-gradient(165deg,var(--ink-3) 0%,var(--ink) 100%)}
.book-cover-mini .bc-inner{
  text-align:center;line-height:1.1;position:relative;z-index:1;
}
.book-cover-mini .bc-title{
  font-family:var(--serif);font-size:19px;font-weight:400;
  font-variation-settings:"SOFT" 100,"WONK" 1;letter-spacing:-.02em;
  margin-bottom:10px;
}
.book-cover-mini .bc-byline{
  font-family:var(--mono);font-size:8px;letter-spacing:.18em;
  text-transform:uppercase;opacity:.7;
}
.book-mini-meta{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);
}
.book-mini-title{
  font-family:var(--serif);font-size:17px;font-weight:400;
  line-height:1.2;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.book-mini-pub{
  font-size:13px;color:var(--ink-soft);line-height:1.4;
}
.book-mini-buy{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pink);font-weight:600;
  margin-top:auto;
}
.book-mini-buy::after{content:" →"}

/* ─── TEDX SECTION ────────────────────────────────────── */
.home-tedx{
  padding:140px 80px;background:var(--ink);color:var(--paper);
  border-bottom:6px solid var(--pink);
  position:relative;overflow:hidden;
}
.home-tedx::before{
  content:"";position:absolute;
  width:900px;height:900px;
  background:radial-gradient(circle,rgba(255,31,110,.2) 0%,transparent 70%);
  top:-300px;left:-300px;border-radius:50%;
}
.tedx-grid{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center;
  position:relative;z-index:1;
}
.tedx-meta .eyebrow{color:var(--yellow)}
.tedx-meta h3{
  font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;
  line-height:.92;letter-spacing:-.03em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  margin:28px 0 28px;color:var(--paper);
}
.tedx-meta h3 em{color:var(--pink-bright);font-style:italic}
.tedx-meta p{
  color:rgba(255,249,245,.78);font-size:17px;line-height:1.65;margin-bottom:28px;
}
.tedx-meta-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  padding:24px 0;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);
  margin:28px 0 32px;
}
.tedx-meta-row div{
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,249,245,.55);
  display:flex;flex-direction:column;gap:6px;
}
.tedx-meta-row strong{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:18px;color:var(--paper);
  letter-spacing:-.01em;text-transform:none;
  font-variation-settings:"SOFT" 100;
}

.tedx-video{
  aspect-ratio:16 / 9;
  background:#000;border-radius:8px;overflow:hidden;
  box-shadow:0 30px 80px -10px rgba(255,31,110,.4),0 0 0 1px rgba(255,255,255,.06);
  position:relative;
}
.tedx-video iframe{width:100%;height:100%;border:0}
.tedx-stamp{
  position:absolute;top:-20px;right:-20px;
  background:var(--yellow);color:var(--ink);
  padding:14px 22px;border-radius:100px;
  font-family:var(--mono);font-size:10px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  box-shadow:0 12px 30px rgba(0,0,0,.3);
  transform:rotate(-3deg);z-index:2;
}

/* ─── PRESS STRIP ────────────────────────────────────── */
.home-press-strip{
  padding:80px 80px;
  background:var(--paper-warm);
  border-bottom:1px solid var(--rule);
}
.press-strip-eyebrow{
  font-family:var(--mono);font-size:11px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-mute);text-align:center;margin-bottom:36px;
}
.press-logos{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:0;
  max-width:1280px;margin:0 auto;
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(20px,2vw,28px);color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;
  line-height:1.6;
}
.press-logos span{padding:0 22px}
.press-logos em{color:var(--pink);font-style:italic;font-weight:400}
.press-logos .bullet{color:var(--yellow-deep);font-size:.6em;padding:0 6px}

/* ─── NEWSLETTER ────────────────────────────────────── */
.home-newsletter{
  padding:140px 80px;
  background:var(--pink);color:var(--paper);
  position:relative;overflow:hidden;
}
.home-newsletter::before{
  content:"";position:absolute;
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(255,210,63,.25) 0%,transparent 70%);
  bottom:-250px;right:-200px;border-radius:50%;
}
.home-newsletter::after{
  content:"";position:absolute;
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(30,63,195,.2) 0%,transparent 70%);
  top:-150px;left:-150px;border-radius:50%;
}
.newsletter-inner{
  max-width:880px;margin:0 auto;text-align:center;
  position:relative;z-index:1;
}
.newsletter-inner .eyebrow{color:var(--yellow);justify-content:center;display:inline-flex}
.newsletter-inner h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(40px,6vw,88px);
  line-height:.94;letter-spacing:-.025em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  color:var(--paper);margin:28px 0 24px;
}
.newsletter-inner h2 em{color:var(--yellow);font-style:italic}
.newsletter-inner h2 mark{background:var(--ink);color:var(--paper);padding:0 .15em;font-style:normal}
.newsletter-inner p{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:19px;line-height:1.5;color:rgba(255,249,245,.88);
  max-width:560px;margin:0 auto 36px;
  font-variation-settings:"SOFT" 100;
}
.newsletter-inner form{
  display:flex;gap:0;max-width:540px;margin:0 auto;
  background:var(--paper);border-radius:100px;
  padding:6px;overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.15);
}
.newsletter-inner input{
  flex:1;border:none;background:transparent;
  padding:14px 24px;font-family:var(--sans);font-size:15px;color:var(--ink);
  outline:none;cursor:none;
}
.newsletter-inner button{
  background:var(--ink);color:var(--paper);
  font-family:var(--sans);font-weight:600;font-size:13px;
  letter-spacing:.06em;text-transform:uppercase;
  padding:14px 30px;border-radius:100px;
  cursor:none;transition:all .3s var(--easing);
}
.newsletter-inner button:hover{background:var(--yellow);color:var(--ink)}

/* ═══════════════════════════════════════════════════════════════════
   ABOUT PAGE
   ═══════════════════════════════════════════════════════════════════ */
.about-hero{
  position:relative;min-height:calc(100vh - var(--topbar));
  background:var(--ink);color:var(--paper);
  display:grid;grid-template-columns:1fr 1fr;
  overflow:hidden;
}
.about-hero-img{
  background-image:url(8-Marnie-Forestieri-Hero-Images-profile-pic.png);
  background-size:cover;background-position:center top;
  filter:saturate(1.05);
}
.about-hero-text{
  padding:90px 70px;display:flex;flex-direction:column;justify-content:center;
  position:relative;
}
.about-hero-text::before{
  content:"";position:absolute;left:-2px;top:0;width:240px;height:240px;
  background:var(--ink);
  clip-path:polygon(100% 0,0 100%,0 0);
}
.about-hero-tag{
  font-family:var(--mono);font-size:11px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);
  display:flex;align-items:center;gap:14px;
}
.about-hero-tag::before{
  content:"";width:36px;height:1px;background:var(--yellow);
}
.about-hero-text h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(56px,8.2vw,140px);line-height:.86;letter-spacing:-.04em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  margin:28px 0 32px;color:var(--paper);
}
.about-hero-text h1 em{color:var(--pink-bright);font-style:italic}
.about-hero-text h1 mark{background:var(--yellow);color:var(--ink);padding:0 .12em;font-style:normal}
.about-hero-text .lead{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:22px;line-height:1.5;color:rgba(255,249,245,.82);
  margin-bottom:32px;max-width:520px;
  font-variation-settings:"SOFT" 100;
}
.about-hero-text .lead strong{color:var(--paper);font-style:normal;font-weight:500}

.about-mission{
  padding:120px 80px;background:var(--paper);
  border-bottom:1px solid var(--rule);
}
.about-mission-inner{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:.4fr 1fr;gap:80px;align-items:start;
}
.about-mission .label{
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--pink);
}
.about-mission .quote{
  font-family:var(--serif);font-size:clamp(28px,3.2vw,44px);font-weight:300;
  line-height:1.3;letter-spacing:-.02em;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;
  font-style:italic;
}
.about-mission .quote em{color:var(--pink);font-style:italic}
.about-mission .quote mark{background:var(--yellow);color:var(--ink);padding:0 .1em;font-style:normal}
.about-mission .credit{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);margin-top:24px;
}

/* timeline */
.about-timeline{
  padding:120px 80px;background:var(--paper-warm);
  border-bottom:1px solid var(--rule);
}
.timeline-head{text-align:center;margin-bottom:80px}
.timeline-head .eyebrow{display:inline-flex;justify-content:center}
.timeline-head h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;
  line-height:.95;letter-spacing:-.025em;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-top:24px;
}
.timeline-head h2 em{color:var(--pink);font-style:italic}
.timeline-track{
  max-width:980px;margin:0 auto;
  position:relative;
  padding-left:80px;
}
.timeline-track::before{
  content:"";position:absolute;left:36px;top:0;bottom:0;
  width:2px;background:linear-gradient(180deg,var(--pink) 0%,var(--yellow) 50%,var(--royal) 100%);
}
.tl-entry{
  position:relative;padding:22px 0 22px 60px;
  margin-bottom:8px;
}
.tl-entry::before{
  content:"";position:absolute;left:-50px;top:32px;
  width:16px;height:16px;border-radius:50%;
  background:var(--paper-warm);border:3px solid var(--pink);
  box-shadow:0 0 0 4px var(--paper-warm);
}
.tl-entry:nth-child(2n)::before{border-color:var(--yellow-deep)}
.tl-entry:nth-child(3n)::before{border-color:var(--royal)}
.tl-year{
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--pink);font-weight:600;
  margin-bottom:8px;
}
.tl-title{
  font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.2;
  color:var(--ink);margin-bottom:8px;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.tl-title em{color:var(--pink);font-style:italic}
.tl-desc{
  font-size:15px;color:var(--ink-soft);line-height:1.6;max-width:680px;
}

/* photo gallery */
.about-gallery{
  padding:120px 80px;background:var(--paper);
  border-bottom:1px solid var(--rule);
}
.about-gallery-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:64px}
.about-gallery-head h2{
  font-family:var(--serif);font-size:clamp(36px,4.5vw,68px);font-weight:400;
  line-height:.94;letter-spacing:-.025em;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-top:20px;
  max-width:740px;
}
.about-gallery-head h2 em{color:var(--pink);font-style:italic}
.about-gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:280px 280px;
  gap:12px;
}
.gal-item{
  position:relative;overflow:hidden;
  background-size:cover;background-position:center;
  transition:transform .8s var(--easing-slow),filter .6s var(--easing);
  filter:saturate(.96);
}
.gal-item:hover{transform:scale(1.04);filter:saturate(1.1)}
.gal-item .gal-cap{
  position:absolute;bottom:14px;left:14px;
  background:rgba(14,8,16,.7);color:var(--paper);
  padding:6px 12px;border-radius:100px;
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.g1{grid-column:span 5;grid-row:span 1;background-image:url(1-Marnie-Forestieri-Hero-Images-profile-pic.png)}
.g2{grid-column:span 3;grid-row:span 2;background-image:url(9-Marnie-Forestieri-Hero-Images-profile-pic.png)}
.g3{grid-column:span 4;grid-row:span 1;background-image:url(4-Marnie-Forestieri-Hero-Images-profile-pic.png)}
.g4{grid-column:span 5;grid-row:span 1;background-image:url(6-Marnie-Forestieri-Hero-Images-profile-pic.png)}
.g5{grid-column:span 4;grid-row:span 1;background-image:url(8-Marnie-Forestieri-Hero-Images-profile-pic.png)}

/* awards */
.about-awards{
  padding:120px 80px;background:var(--ink);color:var(--paper);
  border-bottom:6px solid var(--yellow);
}
.about-awards-inner{max-width:1100px;margin:0 auto}
.about-awards-head{margin-bottom:64px}
.about-awards-head .eyebrow{color:var(--yellow)}
.about-awards-head h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,76px);font-weight:400;
  line-height:.95;color:var(--paper);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-top:24px;
}
.about-awards-head h2 em{color:var(--pink-bright);font-style:italic}
.awards-row{
  display:grid;grid-template-columns:200px 1fr;gap:32px;
  padding:24px 0;border-top:1px solid rgba(255,255,255,.12);
}
.awards-row:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.awards-row dt{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--yellow);padding-top:3px;
}
.awards-row dd{font-size:16px;color:var(--paper);line-height:1.55}
.awards-row dd strong{color:var(--pink-bright);font-weight:500}


/* ═══════════════════════════════════════════════════════════════════
   CONSULTING PAGE — LEGACY HERO (DEPRECATED)
   The block below originally defined a 2-column hero (text + image)
   for an older markup pattern. Current page now uses a centered
   composition via .consulting-hero-inner (defined earlier at line 1352).
   The legacy display:grid + min-height rules were forcing the new
   centered hero into a broken 2-col layout, knocking the headline
   off-center on the page. Block neutralized.
   ═══════════════════════════════════════════════════════════════════ */
/*
.consulting-hero{
  position:relative;min-height:calc(100vh - var(--topbar));
  background:var(--ink);color:var(--paper);
  display:grid;grid-template-columns:1.1fr .9fr;
  overflow:hidden;
}
.consulting-hero-text{padding:90px 70px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.consulting-hero-img{
  background-image:url(6-Marnie-Forestieri-Hero-Images-profile-pic.png);
  background-size:cover;background-position:center top;
  filter:saturate(1.05);position:relative;
}
.consulting-hero-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 50%,rgba(30,63,195,.35));
}
.consulting-hero-text h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(54px,7.6vw,128px);line-height:.88;letter-spacing:-.035em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  margin:28px 0 32px;color:var(--paper);
}
.consulting-hero-text h1 em{color:var(--pink-bright);font-style:italic}
.consulting-hero-text h1 mark{background:var(--yellow);color:var(--ink);padding:0 .12em;font-style:normal}
.consulting-hero-text .lead{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:22px;line-height:1.5;color:rgba(255,249,245,.82);
  margin-bottom:36px;max-width:560px;
  font-variation-settings:"SOFT" 100;
}
.consulting-hero-text .lead strong{color:var(--paper);font-style:normal;font-weight:500}

.consulting-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px}
.consulting-hero-ctas .btn{background:var(--paper);color:var(--ink)}
.consulting-hero-ctas .btn::before{background:var(--yellow)}
.consulting-hero-ctas .btn:hover{color:var(--ink)}
.consulting-hero-ctas .btn.outline-light{background:transparent;color:var(--paper);border:1.5px solid rgba(255,249,245,.6)}
.consulting-hero-ctas .btn.outline-light::before{background:var(--paper)}
.consulting-hero-ctas .btn.outline-light:hover{color:var(--ink)}
*/

.consulting-targets{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border-top:1px solid rgba(255,255,255,.18);
}
.ctarget{
  padding:24px 0;border-right:1px solid rgba(255,255,255,.12);
  text-align:center;
}
.ctarget:last-child{border-right:none}
.ctarget-icon{
  font-family:var(--serif);font-size:36px;font-weight:400;font-style:italic;
  color:var(--yellow);margin-bottom:8px;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.ctarget-label{
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,249,245,.7);
}

/* big services panel */
.consulting-services{padding:120px 80px;background:var(--paper);border-bottom:1px solid var(--rule)}
.consulting-services-head{max-width:1320px;margin:0 auto 80px}
.consulting-services-head h2{
  font-family:var(--serif);font-size:clamp(48px,6vw,96px);font-weight:400;
  line-height:.92;letter-spacing:-.03em;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-top:24px;
}
.consulting-services-head h2 em{color:var(--pink);font-style:italic}
.consulting-services-head h2 mark{background:var(--yellow);color:var(--ink);padding:0 .1em;font-style:normal}
.consulting-services-head .sub{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:22px;line-height:1.5;color:var(--ink-soft);
  max-width:780px;margin-top:24px;
  font-variation-settings:"SOFT" 100;
}

.svc-list{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:0}
.svc-row{
  display:grid;grid-template-columns:80px 1.4fr 1fr;gap:48px;
  padding:56px 0;border-top:1px solid var(--rule);
  position:relative;
}
.svc-row:last-child{border-bottom:1px solid var(--rule)}
.svc-num{
  font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--pink);
  padding-top:16px;
}
.svc-row h3{
  font-family:var(--serif);font-size:clamp(32px,4vw,56px);font-weight:400;
  line-height:1;letter-spacing:-.02em;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-bottom:16px;
}
.svc-row h3 em{color:var(--pink);font-style:italic}
.svc-row .lead{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:19px;line-height:1.45;color:var(--ink-soft);margin-bottom:20px;
  font-variation-settings:"SOFT" 100;
}
.svc-row p{font-size:15px;color:var(--ink-soft);line-height:1.65;margin-bottom:18px;max-width:580px}
.svc-row ul{list-style:none;padding:0;margin:18px 0;display:flex;flex-wrap:wrap;gap:8px}
.svc-row ul li{
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink);
  padding:6px 12px;background:var(--paper-warm);border:1px solid var(--rule);
  border-radius:100px;
}
.svc-aside{
  background:var(--paper-warm);
  padding:32px;border-left:3px solid var(--pink);
  display:flex;flex-direction:column;justify-content:space-between;
}
.svc-row:nth-child(2) .svc-aside{border-left-color:var(--yellow-deep)}
.svc-row:nth-child(3) .svc-aside{border-left-color:var(--royal)}
.svc-row:nth-child(4) .svc-aside{border-left-color:var(--pink-bright)}
.svc-row:nth-child(5) .svc-aside{border-left-color:var(--cyan)}
.svc-aside h4{
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--pink);margin-bottom:16px;
}
.svc-row:nth-child(2) .svc-aside h4{color:var(--yellow-deep)}
.svc-row:nth-child(3) .svc-aside h4{color:var(--royal)}
.svc-aside .who{font-size:15px;color:var(--ink);line-height:1.6;margin-bottom:18px}
.svc-aside .timeline{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  color:var(--ink-mute);padding-top:18px;border-top:1px solid var(--rule);
}
.svc-aside .timeline strong{color:var(--ink);display:block;margin-bottom:4px;font-weight:500}

/* process timeline */
.consulting-process{padding:120px 80px;background:var(--ink);color:var(--paper);border-bottom:1px solid rgba(255,255,255,.1)}
.process-inner{max-width:1320px;margin:0 auto}
.process-head{text-align:center;margin-bottom:80px}
.process-head .eyebrow{color:var(--yellow);justify-content:center;display:inline-flex}
.process-head h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;
  line-height:.95;letter-spacing:-.025em;color:var(--paper);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-top:24px;
}
.process-head h2 em{color:var(--pink-bright);font-style:italic}
.process-track{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  position:relative;
}
.process-track::before{
  content:"";position:absolute;left:0;right:0;top:50px;height:2px;
  background:linear-gradient(90deg,var(--pink),var(--yellow),var(--royal),var(--pink),var(--yellow));
  z-index:0;
}
.process-step{
  position:relative;z-index:1;
  padding:0 20px;text-align:center;
}
.process-step-dot{
  width:100px;height:100px;border-radius:50%;
  background:var(--ink);
  border:2px solid var(--pink);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 24px;
  position:relative;
  font-family:var(--serif);font-size:42px;font-weight:400;font-style:italic;
  color:var(--pink-bright);
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.process-step:nth-child(2) .process-step-dot{border-color:var(--yellow-deep);color:var(--yellow)}
.process-step:nth-child(3) .process-step-dot{border-color:var(--royal);color:var(--cyan)}
.process-step:nth-child(4) .process-step-dot{border-color:var(--pink-bright);color:var(--pink-bright)}
.process-step:nth-child(5) .process-step-dot{border-color:var(--yellow);color:var(--yellow)}
.process-step h4{
  font-family:var(--serif);font-size:22px;font-weight:400;
  color:var(--paper);margin-bottom:10px;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.process-step h4 em{color:var(--pink-bright);font-style:italic}
.process-step p{font-size:13px;color:rgba(255,249,245,.65);line-height:1.55}
.process-step .pstep-num{
  font-family:var(--mono);font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(255,249,245,.45);margin-bottom:8px;
}

/* engagement models */
.consulting-tiers{padding:120px 80px;background:var(--paper);border-bottom:1px solid var(--rule)}
.tiers-head{text-align:center;margin-bottom:80px}
.tiers-head .eyebrow{display:inline-flex;justify-content:center}
.tiers-head h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;
  line-height:.95;letter-spacing:-.025em;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-top:24px;
}
.tiers-head h2 em{color:var(--pink);font-style:italic}
.tiers-head h2 mark{background:var(--yellow);color:var(--ink);padding:0 .1em;font-style:normal}
.tiers-grid{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
}
.tier{
  background:var(--paper);
  padding:48px 36px;border:1px solid var(--rule);
  display:flex;flex-direction:column;
  position:relative;transition:all .4s var(--easing);
}
.tier:not(:first-child){border-left:none}
.tier:hover{transform:translateY(-6px);box-shadow:0 30px 60px -15px rgba(0,0,0,.12);z-index:2}
.tier.popular{background:var(--ink);color:var(--paper);transform:scale(1.04);z-index:1;box-shadow:0 30px 60px -15px rgba(0,0,0,.25)}
.tier.popular:hover{transform:scale(1.04) translateY(-6px)}
.tier-label{
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--pink);margin-bottom:14px;font-weight:600;
}
.tier.popular .tier-label{color:var(--yellow)}
.tier-name{
  font-family:var(--serif);font-size:36px;font-weight:400;line-height:1.05;
  color:var(--ink);margin-bottom:14px;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.tier-name em{color:var(--pink);font-style:italic}
.tier.popular .tier-name{color:var(--paper)}
.tier.popular .tier-name em{color:var(--pink-bright)}
.tier-tag{
  font-family:var(--serif);font-style:italic;font-size:17px;color:var(--ink-soft);
  margin-bottom:28px;line-height:1.4;
  font-variation-settings:"SOFT" 100;
}
.tier.popular .tier-tag{color:rgba(255,249,245,.7)}
.tier-price{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);margin-bottom:32px;
}
.tier.popular .tier-price{color:rgba(255,249,245,.6)}
.tier-features{list-style:none;padding:0;margin:0 0 36px;flex:1}
.tier-features li{
  padding:14px 0 14px 26px;position:relative;
  font-size:14px;color:var(--ink-soft);line-height:1.5;
  border-bottom:1px solid var(--rule);
}
.tier.popular .tier-features li{color:rgba(255,249,245,.78);border-bottom-color:rgba(255,255,255,.1)}
.tier-features li:last-child{border-bottom:none}
.tier-features li::before{
  content:"+";position:absolute;left:0;top:14px;
  color:var(--pink);font-weight:700;font-size:16px;
}
.tier.popular .tier-features li::before{color:var(--yellow)}
.tier .btn{width:100%;justify-content:center}

/* past clients */
.consulting-clients{padding:100px 80px;background:var(--paper-warm);border-bottom:1px solid var(--rule)}
.clients-head{text-align:center;margin-bottom:48px}
.clients-head .eyebrow{display:inline-flex;justify-content:center}
.clients-head h3{
  font-family:var(--serif);font-size:clamp(28px,3.2vw,44px);font-weight:400;
  color:var(--ink);font-style:italic;margin-top:18px;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.clients-row{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:48px;max-width:1280px;margin:0 auto;
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(20px,2vw,28px);color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.clients-row span em{color:var(--pink);font-weight:400}

/* ═══════════════════════════════════════════════════════════════════
   PRODUCTS PAGE
   ═══════════════════════════════════════════════════════════════════ */
.products-hero{
  position:relative;min-height:calc(100vh - var(--topbar));
  background:var(--ink);color:var(--paper);
  display:grid;grid-template-columns:1.1fr .9fr;
  overflow:hidden;
}
.products-hero-img{
  background-image:url(2-Marnie-Forestieri-Hero-Images-profile-pic.png);
  background-size:cover;background-position:center;
  filter:saturate(1.05);
}
.products-hero-text{padding:90px 70px;display:flex;flex-direction:column;justify-content:center}
.products-hero-text h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(56px,7.6vw,132px);line-height:.86;letter-spacing:-.035em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  margin:28px 0 32px;color:var(--paper);
}
.products-hero-text h1 em{color:var(--pink-bright);font-style:italic}
.products-hero-text h1 mark{background:var(--yellow);color:var(--ink);padding:0 .12em;font-style:normal}
.products-hero-text .lead{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:22px;line-height:1.5;color:rgba(255,249,245,.82);
  margin-bottom:32px;max-width:540px;
  font-variation-settings:"SOFT" 100;
}

/* courses */
.products-courses{padding:120px 80px;background:var(--paper);border-bottom:1px solid var(--rule)}
.courses-head{max-width:1320px;margin:0 auto 80px}
.courses-head h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;
  line-height:.95;letter-spacing:-.025em;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-top:24px;
}
.courses-head h2 em{color:var(--pink);font-style:italic}
.courses-grid{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border:1px solid var(--rule);
}
.course-card{
  padding:56px 48px;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  background:var(--paper);
  transition:background .4s var(--easing);
}
.course-card:first-child{border-right:1px solid var(--rule)}
.course-card:hover{background:var(--paper-warm)}
.course-card.featured{background:var(--pink);color:var(--paper);grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.course-card.featured:hover{background:var(--pink-deep)}
.course-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;
  margin-bottom:22px;
}
.course-tag.ready{color:var(--royal)}
.course-tag.ready::before{
  content:"";display:inline-block;width:8px;height:8px;
  background:var(--royal);border-radius:50%;
}
.course-tag.coming{color:var(--pink)}
.course-tag.coming::before{
  content:"";display:inline-block;width:8px;height:8px;
  background:var(--pink);border-radius:50%;animation:pulse-dot 2s ease-in-out infinite;
}
.course-card.featured .course-tag{color:var(--yellow)}
.course-card.featured .course-tag::before{background:var(--yellow)}
.course-card h3{
  font-family:var(--serif);font-size:clamp(28px,3.5vw,46px);font-weight:400;
  line-height:1.05;color:var(--ink);margin-bottom:18px;letter-spacing:-.02em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.course-card h3 em{color:var(--pink);font-style:italic}
.course-card.featured h3{color:var(--paper)}
.course-card.featured h3 em{color:var(--yellow)}
.course-card p{font-size:15px;color:var(--ink-soft);line-height:1.65;margin-bottom:24px}
.course-card.featured p{color:rgba(255,249,245,.85);font-size:17px}
.course-card ul{list-style:none;padding:0;margin:0 0 32px;flex:1}
.course-card ul li{
  padding:12px 0 12px 24px;position:relative;
  font-size:14px;color:var(--ink-soft);line-height:1.5;
  border-bottom:1px solid var(--rule);
}
.course-card.featured ul li{color:rgba(255,249,245,.85);border-bottom-color:rgba(255,249,245,.2)}
.course-card ul li:last-child{border-bottom:none}
.course-card ul li::before{
  content:"→";position:absolute;left:0;top:12px;color:var(--pink);font-weight:700;
}
.course-card.featured ul li::before{color:var(--yellow)}
.course-card .course-price{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);margin-bottom:18px;
}
.course-card.featured .course-price{color:rgba(255,249,245,.6)}
.course-card.featured .course-visual{
  position:relative;height:100%;min-height:340px;
  background:rgba(0,0,0,.15);border:1px solid rgba(255,249,245,.15);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;border-radius:6px;
}
.course-visual-stack{
  position:relative;width:220px;height:300px;
  transform:rotate(-3deg);
}
.cv-card{
  position:absolute;inset:0;
  background:var(--paper);color:var(--ink);
  padding:32px 24px;border-radius:8px;
  box-shadow:0 18px 30px rgba(0,0,0,.2);
}
.cv-card-2{transform:translate(20px,12px) rotate(4deg);background:var(--yellow);z-index:1}
.cv-card-3{transform:translate(40px,24px) rotate(8deg);background:var(--cyan);z-index:0}
.cv-card-1{position:relative;z-index:2}
.cv-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--pink);margin-bottom:12px}
.cv-title{font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.1;font-variation-settings:"SOFT" 100,"WONK" 1}
.cv-modules{
  position:absolute;bottom:24px;left:24px;right:24px;
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);
  padding-top:12px;border-top:1px solid var(--rule);
}

/* book library */
.products-books{padding:120px 80px;background:var(--paper-warm);border-bottom:1px solid var(--rule)}
.books-section-head{max-width:1320px;margin:0 auto 80px;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:end}
.books-section-head h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;
  line-height:.95;letter-spacing:-.025em;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-top:24px;
}
.books-section-head h2 em{color:var(--pink);font-style:italic}
.books-section-head h2 mark{background:var(--yellow);color:var(--ink);padding:0 .1em;font-style:normal}
.books-section-head .aside{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--ink-soft);line-height:1.5;padding-bottom:8px;font-variation-settings:"SOFT" 100}

.books-shelf{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:80px}
.shelf-section h3{
  font-family:var(--serif);font-size:28px;font-weight:400;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;
  display:flex;align-items:baseline;gap:14px;margin-bottom:32px;
  padding-bottom:18px;border-bottom:1px solid var(--rule);
}
.shelf-section h3 em{color:var(--pink);font-style:italic}
.shelf-section h3 .ct{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);
}
.shelf-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;
}
.book-tile{
  display:flex;flex-direction:column;gap:14px;
  text-decoration:none;cursor:none;
}
.book-tile .cover{
  width:100%;aspect-ratio:2/3;
  border-radius:2px 14px 14px 2px;
  display:flex;align-items:flex-end;justify-content:center;
  padding:28px 22px;color:var(--paper);
  position:relative;overflow:hidden;
  box-shadow:-4px 0 0 rgba(0,0,0,.1),0 20px 40px -8px rgba(0,0,0,.2);
  transition:transform .5s var(--easing-slow);
}
.book-tile:hover .cover{transform:translateY(-10px) rotateY(-5deg)}
.book-tile .cover::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:16px;
  background:linear-gradient(90deg,rgba(0,0,0,.2),transparent);
  border-radius:2px 0 0 2px;
}
.book-tile .cover.novel{background:linear-gradient(165deg,var(--plum) 0%,#2a1020 100%)}
.book-tile .cover.gryphon{background:linear-gradient(165deg,var(--royal) 0%,var(--royal-deep) 100%)}
.book-tile .cover.business{background:linear-gradient(165deg,var(--ink-3) 0%,var(--ink) 100%)}
.book-tile .cover.steam{background:linear-gradient(165deg,var(--pink) 0%,var(--pink-deep) 100%)}
.book-tile .cover.kaplan{background:linear-gradient(165deg,var(--yellow-deep) 0%,#7a5a00 100%)}
.book-tile .cover-inner{text-align:center;position:relative;z-index:1}
.book-tile .cover-title{
  font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.1;
  font-variation-settings:"SOFT" 100,"WONK" 1;letter-spacing:-.015em;
  margin-bottom:14px;
}
.book-tile .cover-byline{
  font-family:var(--mono);font-size:8px;letter-spacing:.18em;
  text-transform:uppercase;opacity:.75;
}
.book-tile .meta{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.book-tile .title{font-family:var(--serif);font-size:17px;font-weight:400;line-height:1.2;color:var(--ink);font-variation-settings:"SOFT" 100,"WONK" 1}
.book-tile .pub{font-size:13px;color:var(--ink-soft);line-height:1.45}
.book-tile .buy{
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--pink);font-weight:700;
}
.book-tile .buy::after{content:" →"}

/* ═══════════════════════════════════════════════════════════════════
   SPEAKING PAGE
   ═══════════════════════════════════════════════════════════════════ */
.speaking-hero{
  position:relative;min-height:calc(100vh - var(--topbar));
  background:var(--ink);color:var(--paper);
  display:grid;grid-template-columns:1fr 1fr;overflow:hidden;
}
.speaking-hero-text{padding:90px 70px;display:flex;flex-direction:column;justify-content:center;order:2}
.speaking-hero-img{
  background-image:url(4-Marnie-Forestieri-Hero-Images-profile-pic.png);
  background-size:cover;background-position:center top;
  filter:saturate(1.05);order:1;
}
.speaking-hero-text h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(60px,8.4vw,148px);line-height:.86;letter-spacing:-.035em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  margin:28px 0 32px;color:var(--paper);
}
.speaking-hero-text h1 em{color:var(--pink-bright);font-style:italic}
.speaking-hero-text h1 mark{background:var(--yellow);color:var(--ink);padding:0 .12em;font-style:normal}
.speaking-hero-text .lead{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:22px;line-height:1.5;color:rgba(255,249,245,.82);
  margin-bottom:36px;max-width:520px;
  font-variation-settings:"SOFT" 100;
}

.speaking-tedx{padding:120px 80px;background:var(--paper);border-bottom:1px solid var(--rule)}
.speaking-tedx-inner{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;
}
.speaking-tedx-meta h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,76px);font-weight:400;
  line-height:.92;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin:24px 0 24px;
}
.speaking-tedx-meta h2 em{color:var(--pink);font-style:italic}
.speaking-tedx-meta p{font-size:17px;color:var(--ink-soft);line-height:1.65;margin-bottom:24px}

.topics-section{padding:120px 80px;background:var(--ink);color:var(--paper);border-bottom:6px solid var(--yellow)}
.topics-head{max-width:1320px;margin:0 auto 64px;text-align:center}
.topics-head .eyebrow{color:var(--yellow);display:inline-flex;justify-content:center}
.topics-head h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;
  line-height:.95;color:var(--paper);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-top:24px;
}
.topics-head h2 em{color:var(--pink-bright);font-style:italic}
.topics-grid{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12);
}
.topic{
  padding:40px 32px;
  border-right:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  background:var(--ink);transition:background .4s var(--easing);
  cursor:none;position:relative;overflow:hidden;
}
.topic::before{
  content:"";position:absolute;
  top:0;left:0;width:0;height:3px;
  background:var(--pink);
  transition:width .5s var(--easing);
}
.topic:nth-child(2)::before{background:var(--yellow)}
.topic:nth-child(3)::before{background:var(--royal-bright)}
.topic:nth-child(4)::before{background:var(--pink-bright)}
.topic:nth-child(5)::before{background:var(--cyan)}
.topic:nth-child(6)::before{background:var(--yellow-deep)}
.topic:hover{background:var(--ink-3)}
.topic:hover::before{width:100%}
.topic-num{
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  color:var(--pink-bright);margin-bottom:18px;
}
.topic h3{
  font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.15;
  color:var(--paper);margin-bottom:14px;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.topic h3 em{color:var(--pink-bright);font-style:italic}
.topic p{color:rgba(255,249,245,.7);font-size:14px;line-height:1.55}

/* venues */
.speaking-venues{padding:120px 80px;background:var(--paper);border-bottom:1px solid var(--rule)}
.venues-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}
.venues-meta h2{font-family:var(--serif);font-size:clamp(36px,4vw,60px);font-weight:400;line-height:.95;color:var(--ink);font-variation-settings:"SOFT" 100,"WONK" 1;margin-top:24px}
.venues-meta h2 em{color:var(--pink);font-style:italic}
.venues-list{display:flex;flex-direction:column}
.venue{
  display:grid;grid-template-columns:130px 1fr 100px;gap:32px;
  padding:24px 0;border-top:1px solid var(--rule);
}
.venue:last-child{border-bottom:1px solid var(--rule)}
.venue-date{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pink);padding-top:5px;
}
.venue-name{
  font-family:var(--serif);font-size:21px;font-weight:400;
  color:var(--ink);line-height:1.2;
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.venue-name em{color:var(--pink);font-style:italic}
.venue-name .meta{
  display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);margin-top:6px;font-variation-settings:normal;
}
.venue-tag{
  align-self:start;justify-self:end;padding-top:5px;
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--yellow-deep);
}

/* speaker kit CTA */
.speaker-kit{padding:120px 80px;background:var(--pink);color:var(--paper);position:relative;overflow:hidden}
.speaker-kit::before{
  content:"";position:absolute;width:700px;height:700px;
  background:radial-gradient(circle,rgba(255,210,63,.3) 0%,transparent 70%);
  top:-200px;right:-200px;border-radius:50%;
}
.speaker-kit-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;position:relative;z-index:1}
.speaker-kit-meta .eyebrow{color:var(--yellow)}
.speaker-kit-meta h2{
  font-family:var(--serif);font-size:clamp(40px,5vw,80px);font-weight:400;
  line-height:.95;color:var(--paper);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin:24px 0 24px;
}
.speaker-kit-meta h2 em{color:var(--yellow);font-style:italic}
.speaker-kit-meta p{color:rgba(255,249,245,.88);font-size:17px;line-height:1.65;margin-bottom:32px;max-width:540px}
.kit-card{
  background:var(--paper);color:var(--ink);
  padding:36px 32px;border-radius:8px;
  box-shadow:0 30px 60px rgba(0,0,0,.2);
  transform:rotate(2deg);transition:transform .5s var(--easing-slow);
}
.kit-card:hover{transform:rotate(0) scale(1.04)}
.kit-card .label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--pink);margin-bottom:12px}
.kit-card h4{
  font-family:var(--serif);font-size:24px;font-weight:400;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-bottom:18px;
}
.kit-card ul{list-style:none;padding:0;margin:0 0 24px}
.kit-card ul li{
  padding:8px 0;font-size:13px;color:var(--ink-soft);
  display:flex;align-items:center;gap:10px;
}
.kit-card ul li::before{
  content:"";width:6px;height:6px;background:var(--pink);border-radius:50%;
}


/* ==========================================================
   RESOURCES PAGE
   ========================================================== */
.resources-hero{padding:140px 0 80px;background:var(--paper);position:relative;overflow:hidden}
.resources-hero::before{
  content:"RESOURCES · LIBRARY · ARCHIVE · INTEL · ";
  position:absolute;top:50%;left:-5%;right:-5%;transform:translateY(-50%);
  font-family:var(--serif);font-size:clamp(160px,22vw,360px);font-weight:300;
  color:var(--ink);opacity:.04;white-space:nowrap;pointer-events:none;
  letter-spacing:-.02em;font-variation-settings:"opsz" 144;
}
.resources-hero-inner{position:relative;z-index:2;text-align:center;max-width:900px;margin:0 auto}
.res-tabs{
  display:flex;justify-content:center;gap:8px;margin-top:48px;flex-wrap:wrap;
  padding:8px;background:var(--ink-2);border-radius:100px;width:fit-content;
  margin-left:auto;margin-right:auto;
}
.res-tab{
  padding:12px 22px;border-radius:100px;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:#fff9;cursor:pointer;transition:.3s;
  font-weight:500;border:0;background:transparent;font-family:var(--sans)
}
.res-tab.active{background:var(--pink);color:#fff}
.res-tab:hover{color:#fff}

/* ── PODCAST HERO — compact, image-forward, opens with the show graphic ──
   Replaces the old empty page-hero + separate podcast-feature combo. Two
   columns: cover art on the left, headline + lead + stat tiles + platform
   pills on the right. No wasted space at the top of the page. */
.podcast-hero{
  padding:64px 0 80px;
  background:linear-gradient(180deg,var(--paper) 0%,var(--cream) 100%);
  position:relative;
}
.podcast-hero-inner{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:64px;
  align-items:center;
}
.podcast-hero-art{
  position:relative;
  aspect-ratio:1;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 40px 80px -20px rgba(0,0,0,.35),
             0 0 0 1px rgba(0,0,0,.05);
}
.podcast-hero-art img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.podcast-hero-badge{
  position:absolute; top:20px; left:20px;
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:100px;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(8px);
  font-family:var(--mono); font-size:10px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink);
}
.podcast-hero-badge .dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--pink);
  animation:podcastPulse 2s ease-in-out infinite;
}
@keyframes podcastPulse{
  0%,100%{ opacity:1; transform:scale(1); }
  50%    { opacity:.4; transform:scale(.85); }
}
.podcast-hero-copy h1.display-xl{
  font-family:var(--serif);
  font-size:clamp(56px,7vw,108px);
  font-weight:300;
  line-height:.95;
  letter-spacing:-.025em;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  color:var(--ink);
  margin:18px 0 24px;
}
.podcast-hero-copy h1 em{
  font-style:italic;
  color:var(--pink);
}
.podcast-hero-lead{
  font-size:18px; line-height:1.65; color:var(--ink-soft);
  max-width:560px; margin-bottom:32px;
}
.podcast-hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-bottom:32px;
  padding:24px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.phs-item .phs-num{
  font-family:var(--serif);
  font-size:36px; font-weight:300; line-height:1;
  color:var(--pink);
  font-variation-settings:"SOFT" 100,"WONK" 1;
}
.phs-item .phs-label{
  font-family:var(--mono); font-size:10px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-soft);
  margin-top:8px;
}
.podcast-platforms{
  display:flex; gap:12px; flex-wrap:wrap;
}
.platform-pill{
  padding:12px 20px; border-radius:100px;
  background:var(--paper);
  font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:10px;
  text-decoration:none; color:var(--ink);
  border:1px solid var(--line);
  transition:.3s; font-weight:500;
}
.platform-pill:hover{
  background:var(--ink); color:#fff; border-color:var(--ink);
  transform:translateY(-2px);
}
.platform-pill-all{
  background:var(--ink); color:#fff; border-color:var(--ink);
}
.platform-pill-all:hover{
  background:var(--pink); border-color:var(--pink);
}

@media (max-width:900px){
  .podcast-hero{ padding:40px 0 56px; }
  .podcast-hero-inner{
    grid-template-columns:1fr;
    gap:32px;
  }
  .podcast-hero-art{ max-width:380px; margin:0 auto; }
  .podcast-hero-copy{ text-align:center; }
  .podcast-hero-lead{ margin-left:auto; margin-right:auto; }
  .podcast-hero-stats{ max-width:480px; margin-left:auto; margin-right:auto; }
  .podcast-platforms{ justify-content:center; }
}

.episodes-grid{padding:80px 0 120px;background:var(--cream)}
.episodes-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px;flex-wrap:wrap;gap:30px}
.episodes-header h2{
  font-family:var(--serif);font-size:clamp(40px,4vw,68px);font-weight:300;
  line-height:.95;color:var(--ink);font-variation-settings:"SOFT" 100,"WONK" 1;
  letter-spacing:-.025em;
}
.episodes-count{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--ink-soft);text-transform:uppercase}
.eps-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.ep-card{
  background:#fff; border-radius:20px; padding:28px;
  border:1px solid var(--line);
  transition:transform .4s var(--easing), box-shadow .4s ease, border-color .3s ease;
  display:flex; gap:24px; align-items:flex-start;
  position:relative;
}
.ep-card:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 60px -20px rgba(255,31,110,.18);
  border-color:var(--pink);
}
.ep-thumb{
  width:110px; height:110px; border-radius:14px; flex-shrink:0;
  background:linear-gradient(135deg, var(--pink), var(--royal));
  display:flex; align-items:center; justify-content:center; color:#fff;
  font-family:var(--mono); font-size:11px; font-weight:600;
  letter-spacing:.1em;
  position:relative; overflow:hidden;
}
.ep-thumb img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  border-radius:inherit;
  z-index:1;
  transition:filter .35s ease, transform .6s cubic-bezier(.22,1,.36,1);
}
.ep-card:hover .ep-thumb img{
  filter:brightness(.7);
  transform:scale(1.06);
}
.ep-thumb-num{
  position:relative;
  z-index:3;
  font-family:var(--serif);
  font-size:38px; font-weight:300;
  font-style:italic;
  color:var(--paper);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  text-shadow:0 2px 8px rgba(0,0,0,.5);
  letter-spacing:-.02em;
  transition:opacity .3s ease;
}
.ep-card:hover .ep-thumb-num{ opacity:.4; }

/* Play overlay button — centered on thumb, scales in on hover */
.ep-thumb-play{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%) scale(.7);
  z-index:4;
  width:48px; height:48px;
  border-radius:50%;
  background:var(--pink);
  color:var(--paper);
  display:flex; align-items:center; justify-content:center;
  padding-left:3px;  /* optical center of play triangle */
  opacity:0;
  transition:opacity .35s ease, transform .35s var(--easing);
  text-decoration:none;
  box-shadow:0 6px 18px -4px rgba(255,31,110,.5);
}
.ep-card:hover .ep-thumb-play{
  opacity:1;
  transform:translate(-50%, -50%) scale(1);
}
.ep-thumb-play:hover{
  background:var(--ink);
}

/* Per-tint colored overlay sits between image (z:1) and number/play (z:3+) */
.ep-card[data-ep-tint] .ep-thumb::before{
  content:""; position:absolute; inset:0;
  z-index:2;
  mix-blend-mode:soft-light;
  opacity:.55;
  transition:opacity .35s ease;
  border-radius:inherit;
}
.ep-card[data-ep-tint="pink"]   .ep-thumb::before{ background:linear-gradient(135deg, #ff1f6e, #c5125a); }
.ep-card[data-ep-tint="yellow"] .ep-thumb::before{ background:linear-gradient(135deg, #ffd23f, #d9a920); }
.ep-card[data-ep-tint="royal"]  .ep-thumb::before{ background:linear-gradient(135deg, #1e3fc3, #0b1d6b); }
.ep-card[data-ep-tint="cyan"]   .ep-thumb::before{ background:linear-gradient(135deg, #2ea7ff, #0f7dd1); }
.ep-card[data-ep-tint="plum"]   .ep-thumb::before{ background:linear-gradient(135deg, #5b2748, #2a1118); }
.ep-card[data-ep-tint="mango"]  .ep-thumb::before{ background:linear-gradient(135deg, #ff8c42, #e63a2e); }
.ep-card:hover[data-ep-tint] .ep-thumb::before{ opacity:.25; }

.ep-body{
  flex:1; min-width:0;
  display:flex; flex-direction:column;
}
.ep-meta{
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.22em;
  color:var(--pink); text-transform:uppercase;
  margin-bottom:12px;
}
.ep-title{
  font-family:var(--serif);
  font-size:22px; font-weight:400;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  font-style:italic;
  line-height:1.2;
  letter-spacing:-.015em;
  margin:0 0 14px;
}
.ep-desc-wrap{
  margin-bottom:18px;
}
.ep-desc{
  font-family:var(--serif);
  font-size:15px;
  line-height:1.6;
  color:var(--ink-soft);
  margin:0;
  font-variation-settings:"SOFT" 100;
}
.ep-desc-full{
  /* When expanded, description appears with smooth fade-in */
  animation:epDescFade .4s ease;
}
@keyframes epDescFade{
  from{ opacity:0; transform:translateY(-4px); }
  to  { opacity:1; transform:translateY(0); }
}

/* Action row — expand toggle + listen pill at the bottom of the card */
.ep-actions{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:14px;
  padding-top:8px;
}
.ep-expand-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 0;
  background:transparent;
  border:none;
  cursor:pointer;
  font-family:var(--mono);
  font-size:11px; font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
  transition:color .25s ease, gap .25s ease;
}
.ep-expand-btn:hover{
  color:var(--pink);
  gap:10px;
}
.ep-expand-icon{
  transition:transform .35s var(--easing);
}
.ep-card[data-ep-expanded="true"] .ep-expand-icon{
  transform:rotate(180deg);
}
.ep-listen-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  background:var(--ink);
  color:var(--paper);
  border-radius:100px;
  font-family:var(--mono);
  font-size:11px; font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
  transition:background .3s ease, transform .3s ease;
}
.ep-listen-btn:hover{
  background:var(--pink);
  transform:translateX(2px);
}
.ep-listen-btn svg{
  transition:transform .3s ease;
}
.ep-listen-btn:hover svg{ transform:translateX(2px); }

@media (max-width:760px){
  .ep-card{
    flex-direction:column;
    padding:24px;
    gap:18px;
  }
  .ep-thumb{
    width:100%; height:200px;
    border-radius:14px;
  }
  .ep-actions{
    flex-wrap:wrap;
  }
}

.resources-grid{padding:100px 0;background:var(--paper)}
.resources-grid-header{text-align:center;margin-bottom:60px}
.resources-grid-header h2{
  font-family:var(--serif);font-size:clamp(48px,5vw,84px);font-weight:300;
  line-height:.95;color:var(--ink);font-variation-settings:"SOFT" 100,"WONK" 1;
  letter-spacing:-.025em;
}
.res-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.res-card{
  background:var(--cream);border-radius:20px;padding:36px;
  border:1px solid var(--line);transition:.4s;cursor:pointer;
  position:relative;overflow:hidden;
}
.res-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -20px rgba(0,0,0,.15);border-color:var(--pink)}
.res-card-tag{
  display:inline-block;padding:6px 12px;border-radius:100px;
  background:var(--pink);color:#fff;font-family:var(--mono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px;
}
.res-card-tag.guide{background:var(--royal)}
.res-card-tag.article{background:var(--yellow);color:var(--ink)}
.res-card-tag.video{background:var(--ink)}
.res-card-tag.audit{
  background:var(--ink); color:var(--yellow);
  font-weight:700;
  /* Slim glowing ring to draw the eye */
  box-shadow:0 0 0 1.5px var(--yellow);
}

/* ─── Featured resource card ─────────────────────────────────
   Spans 2 columns on desktop, sits at the top of the toolkit grid
   as the spotlight resource. Subtle pink-to-paper gradient backdrop,
   slightly deeper shadow, larger headline. Has its own meta label
   between body and arrow to indicate the destination (Google Drive). */
.res-card-featured{
  grid-column:span 2;
  background:linear-gradient(135deg, #fff7f0 0%, var(--cream) 60%, #fff5fa 100%);
  border:1.5px solid rgba(255,31,110,.18);
  box-shadow:0 12px 40px -16px rgba(255,31,110,.18);
  display:flex;
  flex-direction:column;
  text-decoration:none;
}
.res-card-featured:hover{
  border-color:var(--pink);
  box-shadow:0 24px 60px -20px rgba(255,31,110,.28);
}
.res-card-featured h3{
  font-size:30px;
  line-height:1.15;
  font-style:italic;
}
.res-card-featured p{
  font-size:16px;
  max-width:560px;
}
.res-card-meta{
  margin-top:auto;
  margin-bottom:18px;
  font-family:var(--mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--pink);
}
@media (max-width:1000px){
  .res-card-featured{ grid-column:span 1; }
  .res-card-featured h3{ font-size:24px; }
}
.res-card h3{
  font-family:var(--serif);font-size:24px;font-weight:400;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;margin-bottom:16px;line-height:1.2;
}
.res-card p{font-size:14px;line-height:1.6;color:var(--ink-soft);margin-bottom:24px}
.res-card-arrow{
  width:40px;height:40px;border-radius:50%;background:var(--ink);
  display:flex;align-items:center;justify-content:center;color:#fff;
  font-size:14px;transition:.3s;
}
.res-card:hover .res-card-arrow{background:var(--pink);transform:rotate(-45deg)}

/* ==========================================================
   IMPACT PAGE
   ========================================================== */
/* ════════════════════════════════════════════════════════════════
   IMPACT PAGE — World-class editorial rebuild
   Three-act structure: hero (numbers) → cases (proof) → video
   (see it) → foundation (additional context).
   ════════════════════════════════════════════════════════════════ */
.impact-hero{
  padding:160px 0 100px;
  background:linear-gradient(180deg, var(--ink) 0%, #1a0e1a 60%, var(--ink-2) 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.impact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 30%,rgba(255,31,110,.12) 0%,transparent 50%),
    radial-gradient(circle at 80% 70%,rgba(30,63,195,.10) 0%,transparent 50%);
}
.impact-hero-inner{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:1100px;
  margin:0 auto;
}
.impact-hero-sub{
  font-family:var(--serif);
  font-weight:400;
  font-style:italic;
  font-size:clamp(18px, 2vw, 22px);
  line-height:1.5;
  color:rgba(255,249,245,.78);
  max-width:780px;
  margin:32px auto 0;
  font-variation-settings:"SOFT" 100;
}
.impact-stats{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  margin-top:80px;
  padding:56px 0;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.impact-stat{
  text-align:center;
  padding:0 32px;
  border-right:1px solid rgba(255,255,255,.08);
  transition:transform .4s ease;
}
.impact-stat:last-child{ border-right:0; }
.impact-stat:hover{ transform:translateY(-4px); }
.impact-stat .num{
  font-family:var(--serif);
  font-size:clamp(56px, 6vw, 88px);
  font-weight:300;
  font-style:italic;
  background:linear-gradient(135deg,var(--pink),var(--yellow));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  letter-spacing:-.04em;
  line-height:.9;
}
.impact-stat .lbl{
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  color:rgba(255,249,245,.7);
  text-transform:uppercase;
  margin-top:16px;
}

/* ─── CASE STUDIES SECTION ─── */
.case-studies{
  padding:140px 0;
  background:var(--paper);
  position:relative;
}
.case-studies-header{
  text-align:center;
  max-width:880px;
  margin:0 auto 80px;
}
.case-studies-header .eyebrow{
  display:inline-flex;
  justify-content:center;
}
.case-studies-header h2{
  margin-top:18px;
  margin-bottom:24px;
}
.case-studies-sub{
  font-family:var(--serif);
  font-weight:400;
  font-size:18px;
  line-height:1.6;
  color:var(--ink-soft);
  font-variation-settings:"SOFT" 100;
  margin:0;
}

/* ─── Per-case bold color system ─── pink / yellow / blue, hover→ink ─── */
/* Quote panel uses the OPPOSITE bright color from the card background so
   it pops off the section. On hover the whole card turns ink and the quote
   panel switches to cream for readability. */
.case-card[data-case-accent="pink"]{
  --case-bg:#ff1f6e; --case-fg:#0e0810; --case-accent:#ffd23a;
  --case-quote-bg:#ffd23a; --case-quote-fg:#0e0810; --case-quote-border:#0e0810;
  --case-quote-hover-bg:#fff9f5; --case-quote-hover-fg:#0e0810;
}
.case-card[data-case-accent="yellow"]{
  --case-bg:#ffd23a; --case-fg:#0e0810; --case-accent:#ff1f6e;
  --case-quote-bg:#ff1f6e; --case-quote-fg:#fff9f5; --case-quote-border:#0e0810;
  --case-quote-hover-bg:#fff9f5; --case-quote-hover-fg:#0e0810;
}
.case-card[data-case-accent="blue"]{
  --case-bg:#1e3fc3; --case-fg:#fff9f5; --case-accent:#ffd23a;
  --case-quote-bg:#ff1f6e; --case-quote-fg:#fff9f5; --case-quote-border:#fff9f5;
  --case-quote-hover-bg:#fff9f5; --case-quote-hover-fg:#0e0810;
}
/* Legacy aliases kept so any stray data-case-accent values still render */
.case-card[data-case-accent="emerald"]{ --case-bg:#ff1f6e; --case-fg:#0e0810; --case-accent:#ffd23a; --case-quote-bg:#ffd23a; --case-quote-fg:#0e0810; --case-quote-border:#0e0810; --case-quote-hover-bg:#fff9f5; --case-quote-hover-fg:#0e0810; }
.case-card[data-case-accent="royal"]  { --case-bg:#1e3fc3; --case-fg:#fff9f5; --case-accent:#ffd23a; --case-quote-bg:#ff1f6e; --case-quote-fg:#fff9f5; --case-quote-border:#fff9f5; --case-quote-hover-bg:#fff9f5; --case-quote-hover-fg:#0e0810; }
.case-card[data-case-accent="mango"]  { --case-bg:#ffd23a; --case-fg:#0e0810; --case-accent:#ff1f6e; --case-quote-bg:#ff1f6e; --case-quote-fg:#fff9f5; --case-quote-border:#0e0810; --case-quote-hover-bg:#fff9f5; --case-quote-hover-fg:#0e0810; }

.case-card{
  background:var(--case-bg);
  color:var(--case-fg);
  border-radius:28px;
  padding:64px 56px;
  margin-bottom:48px;
  border:2px solid var(--case-fg);
  box-shadow:10px 10px 0 0 var(--case-fg), 0 30px 60px -28px rgba(14,8,16,.35);
  transition:background .35s ease, color .35s ease, transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease, border-color .35s ease;
  position:relative;
  overflow:hidden;
}
.case-card::before{
  /* Thick accent stripe along the top */
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:8px;
  background:var(--case-accent);
}
.case-card::after{
  /* Soft accent glow upper-right corner */
  content:"";
  position:absolute;
  top:-180px; right:-180px;
  width:480px; height:480px;
  background:radial-gradient(circle, color-mix(in oklab, var(--case-accent) 35%, transparent) 0%, transparent 65%);
  pointer-events:none;
  z-index:0;
  transition:background .35s ease;
}
.case-card:hover{
  background:#0e0810;
  color:#fff9f5;
  border-color:var(--case-accent);
  transform:translateY(-8px);
  box-shadow:10px 10px 0 0 var(--case-accent), 0 50px 90px -28px rgba(14,8,16,.55);
}
.case-card:hover::after{
  background:radial-gradient(circle, color-mix(in oklab, var(--case-accent) 55%, transparent) 0%, transparent 65%);
}
.case-card:last-child{ margin-bottom:0; }

/* Header zone: number + sector tag + organization */
.case-card-header{
  display:flex;
  align-items:flex-start;
  gap:32px;
  margin-bottom:36px;
  position:relative;
  z-index:1;
}
.case-card-num{
  font-family:var(--serif);
  font-style:italic;
  font-weight:300;
  font-size:clamp(80px, 9vw, 128px);
  line-height:.85;
  color:var(--case-fg);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  letter-spacing:-.04em;
  user-select:none;
  transition:color .35s ease;
}
.case-card:hover .case-card-num{ color:var(--case-accent); }
.case-card-meta{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding-top:18px;
}
.case-card-tag{
  display:inline-flex;
  align-self:flex-start;
  padding:12px 22px;
  background:var(--case-fg);
  color:var(--case-bg);
  border-radius:100px;
  font-family:var(--mono);
  font-size:14px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  box-shadow:4px 4px 0 0 var(--case-accent);
  transition:background .35s ease, color .35s ease, box-shadow .35s ease;
}
.case-card:hover .case-card-tag{
  background:var(--case-accent);
  color:#0e0810;
  box-shadow:4px 4px 0 0 #fff9f5;
}
.case-card-org{
  font-family:var(--mono);
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--case-fg);
  opacity:.78;
}

/* Big editorial headline */
.case-card-headline{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(38px, 5.2vw, 68px);
  line-height:1.02;
  letter-spacing:-.028em;
  color:var(--case-fg);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 44px;
  max-width:1040px;
  position:relative;
  z-index:1;
  transition:color .35s ease;
}

/* 2-col body: portrait + content */
.case-card-body{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:48px;
  align-items:start;
  margin-bottom:44px;
  position:relative;
  z-index:1;
}
.case-card-photo{
  border-radius:18px;
  overflow:hidden;
  aspect-ratio:4 / 5;
  box-shadow:0 20px 48px -16px rgba(14,8,16,.35), 0 0 0 3px var(--case-fg);
  position:relative;
  transition:box-shadow .35s ease;
}
.case-card:hover .case-card-photo{
  box-shadow:0 24px 60px -16px rgba(14,8,16,.55), 0 0 0 3px var(--case-accent);
}
.case-card-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  transition:transform .8s cubic-bezier(.22,1,.36,1);
}
.case-card:hover .case-card-photo img{ transform:scale(1.04); }
.case-card-photo::after{ content:none; }

.case-card-content{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:32px;
}
.case-card-lead{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(20px, 1.7vw, 24px);
  line-height:1.55;
  color:var(--case-fg);
  margin:0;
  font-variation-settings:"SOFT" 100;
  transition:color .35s ease;
}
.case-card-lead em{
  font-style:italic;
  font-weight:600;
  color:var(--case-fg);
  background:var(--case-accent);
  padding:0 .15em;
  border-radius:4px;
}

/* Metric strip — 4 across, dividers between */
.case-card-metrics{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  padding:28px 0;
  border-top:1px solid color-mix(in oklab, var(--case-fg) 18%, transparent);
  border-bottom:1px solid color-mix(in oklab, var(--case-fg) 18%, transparent);
}
.ccm-item{
  padding:0 18px;
  border-right:1px solid color-mix(in oklab, var(--case-fg) 12%, transparent);
  text-align:left;
}
.ccm-item:first-child{ padding-left:0; }
.ccm-item:last-child{ padding-right:0; border-right:none; }
.ccm-num{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(30px, 3.2vw, 42px);
  line-height:1;
  color:var(--case-fg);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  letter-spacing:-.02em;
}
.ccm-lbl{
  font-family:var(--mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--case-fg);
  opacity:.7;
  margin-top:12px;
  line-height:1.4;
}

/* Pull quote — elevated card-within-card, BIG. Uses opposite bright color. */
.case-card-quote{
  background:var(--case-quote-bg);
  color:var(--case-quote-fg);
  border:2px solid var(--case-quote-border);
  border-radius:22px;
  padding:56px 72px 48px;
  position:relative;
  margin:0;
  z-index:1;
  border-left:6px solid var(--case-quote-border);
  transition:background .35s ease, border-color .35s ease, color .35s ease;
}
.case-card:hover .case-card-quote{
  background:var(--case-quote-hover-bg);
  color:var(--case-quote-hover-fg);
  border-color:var(--case-quote-hover-fg);
  border-left-color:var(--case-quote-hover-fg);
}
.case-card-quote .ccq-mark{
  position:absolute;
  top:-12px;
  left:28px;
  font-family:var(--serif);
  font-style:italic;
  font-weight:300;
  font-size:128px;
  line-height:1;
  color:var(--case-quote-fg);
  opacity:.55;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  pointer-events:none;
  transition:color .35s ease;
}
.case-card-quote .ccq-mark-close{
  left:auto;
  top:auto;
  right:32px;
  bottom:-78px;
}
.case-card:hover .case-card-quote .ccq-mark{ color:var(--case-quote-hover-fg); opacity:.55; }
.case-card-quote p{
  font-family:var(--serif);
  font-weight:400;
  font-style:italic;
  font-size:clamp(26px, 3.2vw, 40px);
  line-height:1.25;
  color:var(--case-quote-fg);
  margin:0 0 24px;
  font-variation-settings:"SOFT" 100;
  letter-spacing:-.012em;
  transition:color .35s ease;
}
.case-card:hover .case-card-quote p{ color:var(--case-quote-hover-fg); }
.case-card-quote p em{
  font-style:italic;
  color:var(--case-quote-fg);
  font-weight:600;
  background:transparent;
  padding:0;
  border-radius:0;
  border-bottom:3px solid currentColor;
}
.case-card:hover .case-card-quote p em{ color:var(--case-quote-hover-fg); }
.case-card-quote cite{
  display:block;
  font-style:normal;
  font-family:var(--mono);
  font-size:12px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--case-quote-fg);
  opacity:.78;
}
.case-card:hover .case-card-quote cite{ color:var(--case-quote-hover-fg); }
.case-card:hover :is(.case-card-headline,.case-card-lead,.case-card-org,.ccm-num,.ccm-lbl){
  color:#fff9f5;
}

/* ─── VIDEO FEATURE SECTION — dark, dedicated, post-cases ─── */
.impact-video-section{
  padding:120px 0;
  background:linear-gradient(180deg, var(--ink) 0%, #0d0610 100%);
  color:var(--paper);
  position:relative;
  overflow:hidden;
}
.impact-video-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(255,210,63,.06) 0%, transparent 50%),
    radial-gradient(circle at 20% 80%, rgba(255,31,110,.06) 0%, transparent 50%);
  pointer-events:none;
}
.impact-video-inner{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:64px;
  align-items:center;
  position:relative;
  z-index:1;
}
.impact-video-text .eyebrow{
  margin-bottom:24px;
}
.impact-video-text h2{
  color:var(--paper);
  margin:0 0 24px;
}
.impact-video-text h2 em{
  color:var(--yellow);
  font-style:italic;
}
.impact-video-text p{
  font-family:var(--serif);
  font-size:17px;
  line-height:1.65;
  color:rgba(255,249,245,.78);
  margin:0;
  max-width:440px;
  font-variation-settings:"SOFT" 100;
}
.impact-video-embed{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  aspect-ratio:16 / 9;
  box-shadow:
    0 32px 64px -16px rgba(0,0,0,.5),
    0 0 0 1px rgba(255,249,245,.08);
}

/* ─── FOUNDATION SECTION — editorial coda ─── */
.foundation-brief{
  padding:120px 0;
  background:linear-gradient(180deg, var(--paper) 0%, var(--paper-warm) 100%);
  position:relative;
}
.foundation-header{
  text-align:center;
  max-width:760px;
  margin:0 auto 64px;
}
.foundation-header .eyebrow{
  display:inline-flex;
  justify-content:center;
}
.foundation-header h2{
  margin-top:18px;
}
.foundation-header h2 em{
  color:var(--pink);
  font-style:italic;
}
.foundation-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
}
.foundation-text{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.foundation-lead{
  font-family:var(--serif);
  font-weight:400;
  font-size:18px;
  line-height:1.65;
  color:var(--ink);
  margin:0;
  font-variation-settings:"SOFT" 100;
}
.foundation-note{
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
  font-size:15px;
  line-height:1.65;
  color:var(--ink-soft);
  margin:0;
  font-variation-settings:"SOFT" 100;
  max-width:480px;
}
.foundation-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.foundation-tag{
  padding:6px 14px;
  background:transparent;
  border:1.5px solid var(--ink);
  border-radius:100px;
  font-family:var(--mono);
  font-size:10px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
}
.foundation-card{
  background:#fff;
  border:1px solid rgba(14,8,16,.06);
  border-radius:24px;
  padding:48px;
  position:relative;
  overflow:hidden;
  box-shadow:0 24px 60px -24px rgba(14,8,16,.15);
}
.foundation-card-badge{
  display:inline-block;
  padding:6px 14px;
  background:var(--pink);
  color:#fff;
  border-radius:100px;
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.foundation-card-meta{
  font-family:var(--mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-mute);
  margin-bottom:24px;
}
.foundation-card-title{
  font-family:var(--serif);
  font-weight:400;
  font-style:italic;
  font-size:clamp(22px, 2.4vw, 30px);
  line-height:1.15;
  letter-spacing:-.018em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 24px;
}
.foundation-card-divider{
  height:1px;
  background:rgba(14,8,16,.08);
  margin:0 0 24px;
}
.foundation-card-desc{
  font-family:var(--serif);
  font-size:15px;
  line-height:1.6;
  color:var(--ink-soft);
  margin:0 0 28px;
  font-variation-settings:"SOFT" 100;
}

/* ─── RESPONSIVE ─── */
@media (max-width:1100px){
  .impact-stats{
    grid-template-columns:repeat(2, 1fr);
    gap:0;
  }
  .impact-stat{
    padding:24px;
    border-right:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .impact-stat:nth-child(2){ border-right:none; }
  .impact-stat:nth-child(3),
  .impact-stat:nth-child(4){ border-bottom:none; }

  .case-card{ padding:40px 32px; }
  .case-card-body{
    grid-template-columns:1fr;
    gap:32px;
  }
  .case-card-photo{
    max-width:280px;
    margin:0 auto;
  }
  .case-card-metrics{
    grid-template-columns:repeat(2, 1fr);
    gap:24px;
  }
  .ccm-item{
    padding:12px 0;
    border-right:none;
    border-bottom:1px solid rgba(14,8,16,.06);
  }
  .ccm-item:nth-last-child(-n+2){ border-bottom:none; }

  .impact-video-inner{
    grid-template-columns:1fr;
    gap:40px;
  }

  .foundation-inner{
    grid-template-columns:1fr;
    gap:40px;
  }
}
@media (max-width:760px){
  .impact-hero{ padding:120px 0 80px; }
  .impact-stat .num{ font-size:48px; }

  .case-studies{ padding:80px 0; }
  .case-card{
    padding:32px 24px;
    border-radius:20px;
  }
  .case-card-header{
    flex-direction:column;
    gap:16px;
  }
  .case-card-num{ font-size:64px; }
  .case-card-metrics{ grid-template-columns:1fr 1fr; }
  .ccm-item:nth-last-child(-n+2){ border-bottom:1px solid rgba(14,8,16,.06); }
  .ccm-item:nth-last-child(-n+1){ border-bottom:none; }

  .case-card-quote{ padding:28px 24px; }
  .case-card-quote .ccq-mark{ font-size:64px; left:18px; }

  .impact-video-section{ padding:80px 0; }
  .foundation-brief{ padding:80px 0; }
  .foundation-card{ padding:32px 24px; }
}

/* ══════════════════════════════════════════════════════════════════
   IMPACT INTRO — Founder-voice section between hero and case studies.
   Editorial 2-col composition. Soft paper bg, portrait with corner
   tag, big serif body, role chips at the bottom.
   ══════════════════════════════════════════════════════════════════ */
.impact-intro{
  padding:120px 0;
  background:var(--paper);
  position:relative;
}
.impact-intro::before{
  /* Subtle gradient backdrop — pink wash from upper-right */
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse at top right, rgba(255,31,110,.05) 0%, transparent 50%);
  pointer-events:none;
}
.impact-intro .container{ position:relative; z-index:2; }
.impact-intro-grid{
  display:grid;
  grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap:80px;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
}
.impact-intro-photo{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  aspect-ratio:4 / 5;
  box-shadow:
    0 24px 60px -20px rgba(14,8,16,.25),
    0 0 0 1px rgba(14,8,16,.06);
}
.impact-intro-photo img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  transition:transform .8s cubic-bezier(.22,1,.36,1);
}
.impact-intro-photo:hover img{
  transform:scale(1.04);
}
.impact-intro-photo-tag{
  position:absolute;
  bottom:18px; left:18px;
  padding:8px 14px;
  background:rgba(14,8,16,.85);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  color:var(--yellow);
  font-family:var(--mono);
  font-size:10px; font-weight:700;
  letter-spacing:.18em;
  border-radius:100px;
  border:1px solid rgba(255,210,63,.3);
}
.impact-intro-text .eyebrow{
  margin-bottom:24px;
  font-size:14px;
  letter-spacing:.26em;
}
.impact-intro-text .display-md{
  margin-bottom:32px;
}
.impact-intro-lead{
  font-family:var(--serif);
  font-weight:400;
  font-size:21px;
  line-height:1.55;
  color:var(--ink);
  letter-spacing:-.005em;
  margin:0 0 22px;
  font-variation-settings:"SOFT" 100;
}
.impact-intro-body{
  font-family:var(--serif);
  font-weight:400;
  font-size:18px;
  line-height:1.6;
  color:var(--ink-soft);
  margin:0 0 32px;
  font-variation-settings:"SOFT" 100;
}
.impact-intro-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding-top:24px;
  border-top:1px solid var(--rule);
}
.impact-intro-tag{
  padding:8px 16px;
  background:transparent;
  border:1.5px solid var(--ink);
  border-radius:100px;
  font-family:var(--mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink);
  transition:background .25s ease, color .25s ease;
}
.impact-intro-tag:hover{
  background:var(--pink);
  border-color:var(--pink);
  color:var(--paper);
}
@media (max-width:900px){
  .impact-intro{ padding:80px 0; }
  .impact-intro-grid{
    grid-template-columns:1fr;
    gap:48px;
  }
  .impact-intro-photo{
    max-width:380px;
    margin:0 auto;
  }
  .impact-intro-lead{ font-size:18px; }
  .impact-intro-body{ font-size:16px; }
}
/* ════════════════════════════════════════════════════════════════════
   DEPRECATED — Legacy Impact page case-study + foundation CSS.
   Replaced by the world-class rebuild earlier in this file:
     .case-card, .case-card-body, .ccm-item, .case-card-quote
     (in place of .case-study, .case-visual, .case-body, .case-metric, .case-quote)
     .foundation-brief / .foundation-inner / .foundation-card
     (the duplicates here were OVERRIDING the new rules at lines
     ~3977-4060 via cascade order — neutralizing them is what lets
     the new editorial coda design actually render.)
   ════════════════════════════════════════════════════════════════════ */
/*
.case-study{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
  margin-bottom:120px;
}
.case-study:nth-child(even){grid-template-columns:1fr 1fr}
.case-study:nth-child(even) .case-visual{order:2}
.case-study:last-child{margin-bottom:0}
.case-visual{
  aspect-ratio:5/6;border-radius:24px;
  position:relative;overflow:hidden;
  box-shadow:0 30px 60px -15px rgba(0,0,0,.2);
}
.case-visual.v1{
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.7) 100%),
    url(9-Marnie-Forestieri-Hero-Images-profile-pic.png) center/cover no-repeat,
    linear-gradient(135deg, var(--pink), var(--royal));
}
.case-visual.v2{
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.7) 100%),
    url(marnie-black-suit.png) center/cover no-repeat,
    linear-gradient(135deg, var(--yellow), var(--pink));
}
.case-visual.v3{
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.7) 100%),
    url(marnie-hero-yellow.png) center/cover no-repeat,
    linear-gradient(135deg, var(--royal), var(--ink));
}
.case-visual-text{
  position:absolute;inset:0;display:flex;flex-direction:column;
  justify-content:flex-end;padding:40px;color:#fff;z-index:2;
}
.case-visual-text::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.6) 100%);
}
.case-visual-text > *{position:relative;z-index:2}
.case-visual-text .label{
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;margin-bottom:14px;opacity:.8;
}
.case-visual-text h4{
  font-family:var(--serif);font-size:36px;font-weight:300;line-height:1;
  font-variation-settings:"SOFT" 100,"WONK" 1;letter-spacing:-.02em;
}
.case-body .eyebrow{margin-bottom:24px}
.case-body h3{
  font-family:var(--serif);font-size:clamp(36px,3.6vw,56px);font-weight:300;
  line-height:1;color:var(--ink);font-variation-settings:"SOFT" 100,"WONK" 1;
  letter-spacing:-.025em;margin-bottom:24px;
}
.case-body p{font-size:16px;line-height:1.7;color:var(--ink-soft);margin-bottom:24px;max-width:480px}
.case-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:32px 0;max-width:480px}
.case-metric{padding:20px 0;border-top:1px solid var(--line)}
.case-metric .v{
  font-family:var(--serif);font-size:40px;font-weight:300;
  font-variation-settings:"SOFT" 100,"WONK" 1;color:var(--pink);
  letter-spacing:-.02em;line-height:1;
}
.case-metric .l{
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  color:var(--ink-soft);text-transform:uppercase;margin-top:10px;
}
.case-quote{
  padding:24px;background:var(--cream);border-radius:14px;
  border-left:3px solid var(--pink);font-style:italic;
  font-family:var(--instrument);font-size:17px;line-height:1.5;color:var(--ink);
  max-width:480px;
}
.case-quote cite{
  display:block;margin-top:14px;font-style:normal;font-family:var(--mono);
  font-size:11px;letter-spacing:.15em;color:var(--ink-soft);text-transform:uppercase;
}

.foundation-brief{
  padding:100px 0;background:var(--cream);
}
.foundation-inner{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
  max-width:1200px;margin:0 auto;
}
.foundation-card{
  padding:60px;background:#fff;border-radius:24px;
  border:1px solid var(--line);position:relative;overflow:hidden;
}
.foundation-card::before{
  content:"501c3";position:absolute;top:30px;right:30px;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  color:var(--pink);text-transform:uppercase;
}
*/

/* ==========================================================
   NEWS / PRESS PAGE
   ========================================================== */
.news-hero{
  padding:160px 0 80px;background:var(--paper);position:relative;overflow:hidden;
}
.news-hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(var(--line) 1px,transparent 1px),
    linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:60px 60px;opacity:.4;mask:radial-gradient(circle at center,#000 30%,transparent 70%);
}
.news-hero-inner{position:relative;z-index:2;text-align:center;max-width:1000px;margin:0 auto}
.news-hero-sub{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(17px, 1.4vw, 21px);
  line-height:1.55; color:var(--ink-soft);
  max-width:720px; margin:24px auto 0;
  font-variation-settings:"SOFT" 100;
}
.news-hero-stats{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  margin-top:72px;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.nhs-stat{
  padding:32px 16px;
  text-align:center;
  border-right:1px solid var(--rule);
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.nhs-stat:last-child{ border-right:none; }
.nhs-n{
  font-family:var(--serif);
  font-size:clamp(36px, 3.6vw, 52px);
  font-weight:300;
  color:var(--pink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  line-height:1;
  letter-spacing:-.02em;
}
.nhs-l{
  font-family:var(--mono);
  font-size:10px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
@media (max-width:760px){
  .news-hero-stats{ grid-template-columns:repeat(2, 1fr); }
  .nhs-stat:nth-child(2){ border-right:none; }
  .nhs-stat:nth-child(n+3){ border-top:1px solid var(--rule); }
}

.press-logos-strip{
  padding:60px 0;background:var(--ink);overflow:hidden;
}
.press-logos-marquee{
  display:flex;gap:48px;animation:marquee 45s linear infinite;
  align-items:center;width:max-content;
}
.press-logo-item{
  font-family:var(--serif);font-size:28px;font-weight:300;color:#fff;
  font-variation-settings:"SOFT" 100,"WONK" 1;opacity:.5;
  white-space:nowrap;letter-spacing:-.01em;
}

/* ── FEATURED PRESS — cinematic single-card spread ── */
.press-featured-section{
  padding:100px 0 60px;
  background:var(--paper);
}
.press-featured-eyebrow{
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--pink);
  text-align:center;
  margin-bottom:32px;
}
.press-featured{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:0;
  max-width:1280px;
  margin:0 auto;
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--rule);
  cursor:pointer;
  transition:transform .5s var(--easing-slow, cubic-bezier(.22,1,.36,1)),
             box-shadow .5s ease,
             border-color .35s ease;
  text-decoration:none;
  color:inherit;
}
.press-featured:hover{
  transform:translateY(-6px);
  box-shadow:0 40px 80px -24px rgba(0,0,0,.22);
  border-color:var(--pink);
}
.press-featured-image{
  position:relative;
  overflow:hidden;
  min-height:480px;
}
.press-featured-image img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .8s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.press-featured:hover .press-featured-image img{
  transform:scale(1.04);
}
.press-featured-overlay{
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(255,31,110,.08) 0%, rgba(30,63,195,.12) 100%);
  pointer-events:none;
}
.press-featured-badge{
  position:absolute;
  top:24px; left:24px;
  padding:8px 14px;
  background:var(--ink);
  color:var(--yellow);
  border-radius:100px;
  font-family:var(--mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  z-index:2;
}
.press-featured-body{
  padding:64px 56px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.press-featured-source{
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--pink);
  margin-bottom:18px;
}
.press-featured-title{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(32px, 3.4vw, 52px);
  line-height:.98;
  letter-spacing:-.025em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 24px;
}
.press-featured-title em{
  color:var(--pink);
  font-style:italic;
}
.press-featured-excerpt{
  font-family:var(--serif);
  font-style:italic;
  font-weight:300;
  font-size:18px;
  line-height:1.55;
  color:var(--ink-soft);
  margin:0 0 32px;
  font-variation-settings:"SOFT" 100;
}
.press-featured-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--sans);
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ink);
  transition:color .25s ease, gap .25s ease;
  align-self:flex-start;
}
.press-featured:hover .press-featured-cta{
  color:var(--pink);
  gap:14px;
}

@media (max-width:900px){
  .press-featured{ grid-template-columns:1fr; }
  .press-featured-image{ min-height:320px; }
  .press-featured-body{ padding:40px 32px; }
}

/* ── PRESS SECTIONS (Marnie / YIA) ── */
.press-section{
  padding:120px 0;
  background:var(--paper);
}
.press-section-school{
  background:var(--paper-warm);
}
.press-section-header{
  text-align:center;
  max-width:780px;
  margin:0 auto 72px;
}
.press-section-header .eyebrow{
  justify-content:center;
  display:inline-flex;
  margin-bottom:18px;
}
.press-section-header h2{
  margin:0 0 20px;
}
.press-section-sub{
  font-family:var(--serif);
  font-style:italic;
  font-weight:300;
  font-size:clamp(17px, 1.4vw, 20px);
  line-height:1.55;
  color:var(--ink-soft);
  max-width:640px;
  margin:0 auto;
  font-variation-settings:"SOFT" 100;
}

/* ── PRESS GRID V2 — magazine cards with real images ── */
.press-grid-v2{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:32px;
  max-width:1280px;
  margin:0 auto;
}
@media (max-width:1100px){
  .press-grid-v2{ grid-template-columns:repeat(2, 1fr); gap:24px; }
}
@media (max-width:680px){
  .press-grid-v2{ grid-template-columns:1fr; }
}
.press-card-v2{
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--rule);
  text-decoration:none;
  color:inherit;
  transition:transform .4s var(--easing-slow, cubic-bezier(.22,1,.36,1)),
             box-shadow .4s ease,
             border-color .35s ease;
  cursor:pointer;
}
.press-card-v2:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 56px -18px rgba(0,0,0,.18);
  border-color:var(--pink);
}
.press-card-img{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:linear-gradient(135deg, var(--paper-warm), var(--paper-pink));
}
.press-card-img img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .6s var(--easing-slow, cubic-bezier(.22,1,.36,1)),
             filter .35s ease;
}
.press-card-v2:hover .press-card-img img{
  transform:scale(1.06);
  filter:brightness(1.04);
}
.press-card-tag{
  position:absolute;
  top:14px; right:14px;
  padding:6px 12px;
  background:var(--ink);
  color:var(--yellow);
  border-radius:100px;
  font-family:var(--mono);
  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  z-index:2;
}
.press-card-meta{
  padding:28px 26px 30px;
  display:flex;
  flex-direction:column;
  gap:14px;
  flex:1;
}
.pcm-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.pcm-source{
  font-family:var(--mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--pink);
  line-height:1.3;
}
.pcm-year{
  font-family:var(--mono);
  font-size:10px;
  font-weight:600;
  letter-spacing:.15em;
  color:var(--ink-mute);
}
.pcm-title{
  font-family:var(--serif);
  font-weight:400;
  font-size:22px;
  line-height:1.18;
  letter-spacing:-.015em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0;
}
.pcm-excerpt{
  font-family:var(--serif);
  font-style:italic;
  font-weight:300;
  font-size:14px;
  line-height:1.55;
  color:var(--ink-soft);
  margin:0;
  font-variation-settings:"SOFT" 100;
  /* Cap to 3 lines for visual rhythm across cards */
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.pcm-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--sans);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink);
  margin-top:auto;
  padding-top:8px;
  transition:color .25s ease, gap .25s ease;
}
.press-card-v2:hover .pcm-cta{
  color:var(--pink);
  gap:12px;
}

/* ── MAGAZINE PULL QUOTE — editorial moment between sections ── */
.press-pullquote{
  padding:120px 0;
  background:var(--ink);
  position:relative;
  overflow:hidden;
}
.press-pullquote::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,249,245,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,249,245,.04) 1px, transparent 1px);
  background-size:80px 80px;
  mask:radial-gradient(circle at center, #000 30%, transparent 75%);
  pointer-events:none;
}
.press-pullquote-inner{
  position:relative;
  max-width:1000px;
  margin:0 auto;
  text-align:center;
  z-index:2;
}
.press-pullquote-mark{
  font-family:var(--serif);
  font-size:240px;
  font-weight:300;
  line-height:.4;
  color:var(--pink);
  opacity:.35;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin-bottom:-30px;
}
.press-pullquote-text{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(28px, 3.4vw, 56px);
  line-height:1.18;
  letter-spacing:-.02em;
  color:var(--paper);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 40px;
  font-style:normal;
  quotes:none;
}
.press-pullquote-text::before,
.press-pullquote-text::after{ content:none; }
.press-pullquote-text em{
  color:var(--pink);
  font-style:italic;
}
.press-pullquote-cite{
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
  font-style:normal;
}
.ppc-name{
  font-family:var(--sans);
  font-size:14px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--yellow);
}
.ppc-source{
  font-family:var(--mono);
  font-size:10px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,249,245,.55);
}
@media (max-width:760px){
  .press-pullquote{ padding:80px 0; }
  .press-pullquote-mark{ font-size:160px; margin-bottom:-20px; }
}

/* ── PRESS TIMELINE — horizontal scrollable chronology ── */
.press-timeline-section{
  padding:120px 0;
  background:var(--paper);
  overflow:hidden;
}
.press-timeline-header{
  text-align:center;
  max-width:780px;
  margin:0 auto 60px;
}
.press-timeline-header .eyebrow{
  justify-content:center;
  display:inline-flex;
  margin-bottom:18px;
}
.press-timeline-header h2{
  margin:0 0 20px;
}
.press-timeline-track{
  position:relative;
  overflow-x:auto;
  overflow-y:visible;
  padding:40px 32px 60px;
  cursor:grab;
  scrollbar-width:thin;
  scrollbar-color:var(--pink) transparent;
  /* Hide scrollbar visually but keep functionality */
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  /* Allow vertical scroll to pass through the page */
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
}
.press-timeline-track::-webkit-scrollbar{ height:4px; }
.press-timeline-track::-webkit-scrollbar-track{ background:transparent; }
.press-timeline-track::-webkit-scrollbar-thumb{
  background:rgba(255,31,110,.3);
  border-radius:4px;
}
.press-timeline-track:active{ cursor:grabbing; }
.press-timeline-line{
  position:absolute;
  top:90px; /* aligns with dots */
  left:32px; right:32px;
  height:2px;
  background:linear-gradient(90deg,
    transparent 0%,
    var(--rule) 8%,
    var(--rule) 92%,
    transparent 100%);
  z-index:1;
}
.press-timeline-items{
  display:flex;
  gap:24px;
  position:relative;
  z-index:2;
  width:max-content;
  padding:0 8px;
}
.ptl-item{
  flex:0 0 280px;
  display:flex;
  flex-direction:column;
  align-items:center;
  scroll-snap-align:start;
  transition:transform .35s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.ptl-item:hover{ transform:translateY(-4px); }
.ptl-dot{
  width:18px; height:18px;
  border-radius:50%;
  background:var(--pink);
  border:4px solid var(--paper);
  box-shadow:0 0 0 2px var(--pink);
  margin:42px 0 6px;
  transition:transform .35s ease, box-shadow .35s ease;
  flex-shrink:0;
}
.ptl-item:hover .ptl-dot{
  transform:scale(1.25);
  box-shadow:0 0 0 4px var(--pink), 0 0 24px rgba(255,31,110,.4);
}
.ptl-item-featured .ptl-dot{
  width:26px; height:26px;
  background:var(--yellow);
  box-shadow:0 0 0 2px var(--yellow), 0 0 16px rgba(255,210,63,.5);
  margin-top:38px;
  animation:pulse-yellow 2.4s ease-in-out infinite;
}
@keyframes pulse-yellow{
  0%, 100% { box-shadow:0 0 0 2px var(--yellow), 0 0 16px rgba(255,210,63,.5); }
  50%       { box-shadow:0 0 0 4px var(--yellow), 0 0 32px rgba(255,210,63,.8); }
}
.ptl-item-now .ptl-dot{
  background:var(--royal);
  box-shadow:0 0 0 2px var(--royal), 0 0 12px rgba(30,63,195,.4);
  animation:pulse-royal 1.8s ease-in-out infinite;
}
@keyframes pulse-royal{
  0%, 100% { box-shadow:0 0 0 2px var(--royal), 0 0 12px rgba(30,63,195,.4); }
  50%       { box-shadow:0 0 0 4px var(--royal), 0 0 28px rgba(30,63,195,.7); }
}
.ptl-year{
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink-mute);
  margin-bottom:14px;
}
.ptl-item-featured .ptl-year{ color:var(--pink); }
.ptl-item-now .ptl-year{ color:var(--royal); }
.ptl-content{
  text-align:center;
  padding:0 8px;
}
.ptl-source{
  font-family:var(--mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--pink);
  margin-bottom:10px;
  line-height:1.3;
}
.ptl-headline{
  font-family:var(--serif);
  font-weight:400;
  font-size:17px;
  line-height:1.3;
  letter-spacing:-.005em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.ptl-item-featured .ptl-headline{
  font-size:19px;
  font-weight:400;
}
.ptl-badge{
  display:inline-block;
  margin-top:12px;
  padding:5px 11px;
  background:var(--ink);
  color:var(--yellow);
  border-radius:100px;
  font-family:var(--mono);
  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.press-timeline-hint{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:32px;
  font-family:var(--mono);
  font-size:10px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink-mute);
  opacity:.7;
}
@media (max-width:760px){
  .ptl-item{ flex:0 0 240px; }
  .ptl-headline{ font-size:15px; }
}

/* ── SCROLL REVEAL — press cards fade-in + slide-up on scroll ──
   These start invisible and slide up into view when the IntersectionObserver
   adds .is-revealed. Combined with a small per-card delay this creates a
   cinematic stagger as you scroll the grid. */
.press-card-v2,
.press-featured,
.ptl-item{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s var(--easing-slow, cubic-bezier(.22,1,.36,1)),
             transform .8s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.press-card-v2.is-revealed,
.press-featured.is-revealed,
.ptl-item.is-revealed{
  opacity:1;
  transform:translateY(0);
}
/* Disable for reduced-motion users */
@media (prefers-reduced-motion: reduce){
  .press-card-v2,
  .press-featured,
  .ptl-item{
    opacity:1;
    transform:none;
    transition:none;
  }
}

/* ── ANIMATED STAT COUNTERS ──
   The numbers animate from 0 to target value when scrolled into view.
   The number itself stays in the DOM; JS just updates textContent. */
.nhs-n.is-counting{
  font-variant-numeric:tabular-nums;
}

/* ── LEGACY .press-card (kept for any other references) ── */
.press-grid{padding:100px 0;background:var(--paper)}
.press-grid-inner{
  columns:3;column-gap:24px;
}
.press-card{
  break-inside:avoid;margin-bottom:24px;
  background:#fff;border-radius:20px;overflow:hidden;
  border:1px solid var(--line);transition:.4s;cursor:pointer;display:block;
}
.press-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -20px rgba(0,0,0,.15)}
.press-img{
  aspect-ratio:16/10;background:linear-gradient(135deg,var(--pink),var(--royal));
  display:flex;align-items:center;justify-content:center;color:#fff;
  font-family:var(--serif);font-size:32px;font-weight:300;
  font-variation-settings:"SOFT" 100,"WONK" 1;
  position:relative;overflow:hidden;
}
.press-card.tall .press-img{aspect-ratio:3/4}
.press-card.short .press-img{aspect-ratio:21/9}
.press-img.v2{background:linear-gradient(135deg,var(--yellow),var(--pink))}
.press-img.v3{background:linear-gradient(135deg,var(--royal),var(--ink))}
.press-img.v4{background:linear-gradient(135deg,var(--pink),var(--yellow))}
.press-img.v5{background:linear-gradient(135deg,var(--ink),var(--royal))}
.press-img.v6{background:linear-gradient(135deg,var(--yellow),var(--royal))}
.press-body{padding:24px}
.press-source{
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  color:var(--pink);text-transform:uppercase;margin-bottom:10px;
}
.press-headline{
  font-family:var(--serif);font-size:20px;font-weight:400;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;line-height:1.2;margin-bottom:14px;
  letter-spacing:-.01em;
}
.press-date{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-soft);
}

/* ── PRESS CTA SECTION ── */
.press-cta{
  padding:120px 0;
  background:var(--ink);
  color:var(--paper);
  text-align:center;
}
.press-cta-inner{
  max-width:720px;
  margin:0 auto;
}
.press-cta .eyebrow{
  justify-content:center;
  display:inline-flex;
  margin-bottom:24px;
  color:var(--yellow);
  border-color:rgba(255,210,63,.3);
}
.press-cta h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(40px, 4.6vw, 72px);
  line-height:.96;
  letter-spacing:-.025em;
  color:var(--paper);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 24px;
}
.press-cta h2 em{
  color:var(--pink);
  font-style:italic;
}
.press-cta p{
  font-family:var(--serif);
  font-style:italic;
  font-weight:300;
  font-size:19px;
  line-height:1.55;
  color:rgba(255,249,245,.78);
  margin:0 0 40px;
  font-variation-settings:"SOFT" 100;
}

.awards-banner{
  padding:80px 0;background:var(--ink);color:#fff;text-align:center;
}
.awards-banner h2{
  font-family:var(--serif);font-size:clamp(40px,4vw,64px);font-weight:300;
  font-variation-settings:"SOFT" 100,"WONK" 1;letter-spacing:-.025em;
  line-height:.95;margin-bottom:40px;
}
.awards-list{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1100px;
  margin:60px auto 0;text-align:left;
}
.award-i{
  padding:24px 0;border-top:1px solid rgba(255,255,255,.12);
}
.award-i .y{
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  color:var(--yellow);text-transform:uppercase;margin-bottom:10px;
}
.award-i .t{
  font-family:var(--serif);font-size:20px;font-weight:400;color:#fff;
  font-variation-settings:"SOFT" 100,"WONK" 1;line-height:1.25;
}

/* ==========================================================
   CONTACT PAGE
   ========================================================== */
.contact-hero{
  padding:140px 0 60px;background:var(--ink);color:#fff;position:relative;overflow:hidden;
}
.contact-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 40%,rgba(255,31,110,.2) 0%,transparent 50%),
    radial-gradient(circle at 70% 60%,rgba(255,210,63,.1) 0%,transparent 50%);
}
.contact-hero-inner{position:relative;z-index:2;text-align:center;max-width:1100px;margin:0 auto}
.contact-hero h1{
  font-family:var(--serif);font-size:clamp(64px,9vw,180px);font-weight:300;
  line-height:.85;letter-spacing:-.045em;
  font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144;
  margin-bottom:32px;
}
.contact-hero h1 em{
  font-family:var(--instrument);font-style:italic;font-weight:300;
  background:linear-gradient(135deg,var(--pink),var(--yellow));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

.contact-form-section{padding:80px 0 120px;background:var(--paper)}
.contact-form-inner{
  display:grid;grid-template-columns:300px 1fr;gap:80px;
  max-width:1200px;margin:0 auto;
}
.form-types{position:sticky;top:120px;align-self:start}
.form-types h3{
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  color:var(--ink-soft);text-transform:uppercase;margin-bottom:24px;
}
.form-type-btn{
  display:block;width:100%;text-align:left;padding:18px 20px;border-radius:14px;
  background:transparent;border:1px solid var(--line);color:var(--ink-soft);
  cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:500;
  margin-bottom:10px;transition:.3s;letter-spacing:-.005em;
}
.form-type-btn:hover{border-color:var(--ink);color:var(--ink)}
.form-type-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}

.contact-form-wrap{
  background:#fff;border-radius:24px;padding:60px;
  border:1px solid var(--line);
}
.contact-form-wrap > .form-panel{display:none}
.contact-form-wrap > .form-panel.active{display:block}
.form-panel-eyebrow{margin-bottom:14px}
.form-panel h2{
  font-family:var(--serif);font-size:clamp(36px,3.4vw,52px);font-weight:300;
  line-height:1;color:var(--ink);font-variation-settings:"SOFT" 100,"WONK" 1;
  letter-spacing:-.025em;margin-bottom:14px;
}
.form-panel-desc{
  font-size:15px;line-height:1.6;color:var(--ink-soft);margin-bottom:40px;max-width:600px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.form-row.full{grid-template-columns:1fr}
.form-submit{margin-top:24px}

.contact-direct{
  padding:100px 0;background:var(--cream);
}
.contact-direct-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1100px;margin:0 auto;
}
.cd-item{text-align:center;padding:40px 24px}
.cd-item .ic{
  width:60px;height:60px;border-radius:50%;background:var(--pink);
  display:flex;align-items:center;justify-content:center;color:#fff;
  margin:0 auto 24px;font-size:22px;
}
.cd-item h4{
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  color:var(--ink-soft);text-transform:uppercase;margin-bottom:14px;
}
.cd-item p{
  font-family:var(--serif);font-size:22px;font-weight:400;color:var(--ink);
  font-variation-settings:"SOFT" 100,"WONK" 1;line-height:1.3;
}

/* ==========================================================
   FOOTER
   ========================================================== */
.site-footer{
  background:var(--ink);color:#fff;padding:100px 0 40px;position:relative;overflow:hidden;
}
.site-footer::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%,rgba(255,31,110,.08) 0%,transparent 50%);
}
.footer-inner{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 40px}
.footer-top{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;
  padding-bottom:80px;border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-brand{max-width:400px}
.footer-brand .mark{
  font-family:var(--serif);font-size:48px;font-weight:300;
  font-variation-settings:"SOFT" 100,"WONK" 1;letter-spacing:-.025em;
  line-height:.95;margin-bottom:24px;
}
.footer-brand .mark em{
  font-family:var(--instrument);font-style:italic;
  background:linear-gradient(135deg,var(--pink),var(--yellow));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.footer-brand p{
  font-size:14px;line-height:1.6;color:#fff9;margin-bottom:24px;
}
.footer-col h5{
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  color:var(--pink);text-transform:uppercase;margin-bottom:24px;
}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col ul li{margin-bottom:12px}
.footer-col ul li a{
  color:#fff9;text-decoration:none;font-size:14px;transition:.3s;
}
.footer-col ul li a:hover{color:var(--yellow)}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:40px;flex-wrap:wrap;gap:20px;
}
.footer-bottom p{
  font-family:var(--mono);font-size:11px;letter-spacing:.15em;
  color:#fff6;text-transform:uppercase;
}
.footer-social{display:flex;gap:14px}
.footer-social a{
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;
  color:#fff;text-decoration:none;font-size:13px;transition:.3s;
}
.footer-social a:hover{background:var(--pink);transform:translateY(-2px)}

/* ==========================================================
   PAGE TRANSITIONS
   ========================================================== */
.page{display:none;opacity:0;animation:pageIn .8s cubic-bezier(.2,.8,.2,1) forwards}
.page.active{display:block}
@keyframes pageIn{
  0%{opacity:0;transform:translateY(20px)}
  100%{opacity:1;transform:translateY(0)}
}

/* Scroll reveals */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:translateY(0)}

/* ==========================================================
   MOBILE
   ========================================================== */
@media (max-width:1100px){
  .container{padding:0 24px}
  /* .rail handled by the consolidated ≤1100px drawer block at the end of this file */
  .topbar{padding:18px 24px}
  .hero-inner{padding:0 24px}
  .hero-title{font-size:clamp(56px,14vw,120px)}
  .services-grid{grid-template-columns:1fr}
  .service-card.featured{grid-column:auto;flex-direction:column}
  .service-card.featured .service-num{font-size:80px}
  .stat-ribbon{grid-template-columns:repeat(3,1fr)}
  .stat-ribbon .stat:nth-child(3n){border-right:0}
  .stat-ribbon .stat:nth-child(n+4){border-top:1px solid var(--line)}
  .insight-inner{grid-template-columns:1fr;gap:40px}
  .iphone-section-inner{grid-template-columns:1fr;gap:60px}
  .iphone-mockup{margin:0 auto}
  .tedx-inner{grid-template-columns:1fr;gap:40px}
  .about-hero-inner,.podcast-feature-inner{grid-template-columns:1fr;gap:40px}
  /* Timeline responsive rules now live in the consolidated PHASE 2.10
     block further down — kept here as comment to flag the removal. */
  .photo-gallery{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}
  .gphoto.p1,.gphoto.p3,.gphoto.p5{grid-row:auto;grid-column:auto}
  .gphoto.p2,.gphoto.p4{grid-column:auto}
  .gphoto{aspect-ratio:3/4 !important}
  .awards-grid{grid-template-columns:1fr}
  .audience-row{flex-direction:column;gap:14px;align-items:flex-start}
  .service-row{grid-template-columns:1fr;gap:20px}
  .service-aside{padding-left:0}
  .process-steps{grid-template-columns:1fr;gap:32px}
  .process-steps::before{display:none}
  .pricing-tiers{grid-template-columns:1fr;gap:24px}
  .pricing-tier.featured{transform:scale(1)}
  .courses-grid{grid-template-columns:1fr}
  .course-card.featured{grid-column:auto;grid-template-columns:1fr}
  .books-shelf{grid-template-columns:repeat(2,1fr)}
  .speak-hero-inner{grid-template-columns:1fr;gap:40px}
  .topics-grid{grid-template-columns:1fr}
  .venues-grid{grid-template-columns:repeat(2,1fr)}
  .speaker-kit-inner{grid-template-columns:1fr;gap:40px}
  .kit-visual{transform:none;width:100%}
  .eps-list{grid-template-columns:1fr}
  .res-cards{grid-template-columns:1fr}
  .impact-stats{grid-template-columns:repeat(2,1fr);gap:32px;padding:32px 0}
  .impact-stat:nth-child(2){border-right:0}
  .impact-stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12);padding-top:32px}
  .impact-stat .num{font-size:48px}
  /* Legacy .case-study / .case-visual / .foundation-* responsive rules
     removed — the markup no longer uses these classes (replaced with
     .case-card system) and foundation responsive handling lives in the
     impact page's own dedicated @media block earlier in the file. */
  .press-grid-inner{columns:1}
  .awards-list{grid-template-columns:1fr;gap:0}
  .contact-form-inner{grid-template-columns:1fr;gap:40px}
  .form-types{position:relative;top:0;display:flex;flex-wrap:wrap;gap:8px}
  .form-types h3{width:100%}
  .form-type-btn{width:auto;margin-bottom:0}
  .contact-form-wrap{padding:32px 24px}
  .form-row{grid-template-columns:1fr}
  .contact-direct-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:40px;padding-bottom:48px}
  .quote-track{padding:0 24px}
  .quote-card{min-width:300px;padding:32px}
  .quote-card .q{font-size:22px}
  .book-stack-track{padding:0 24px}
  .book-3d{min-width:240px}
  .verb-cycle{height:100px}
  .verb-cycle span{font-size:clamp(56px,14vw,120px)}
  .home-cta-row{flex-direction:column;align-items:flex-start}
  .home-cta-row .btn{width:100%;justify-content:center}
  .audience-strip{flex-direction:column;align-items:flex-start;gap:14px}
  .iphone-mockup{transform:scale(.85)}
  .courses-grid{margin-top:40px}
  .display-xl,.display-lg{font-size:clamp(48px,12vw,96px)}
  .case-body h3{font-size:36px}
  .press-headline{font-size:18px}
  .insight-text .from-to{font-size:24px}
  section{padding:60px 0}
}

@media (max-width:640px){
  .iphone-mockup{transform:scale(.7);margin-left:-20px}
  .stat-ribbon{grid-template-columns:repeat(2,1fr)}
  .stat-ribbon .stat:nth-child(2n){border-right:0}
  .stat-ribbon .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .impact-stats{grid-template-columns:1fr}
  .impact-stat{border-right:0;border-top:1px solid rgba(255,255,255,.12);padding-top:24px}
  .venues-grid{grid-template-columns:1fr}
  .books-shelf{grid-template-columns:1fr}
  .cta-pill, .topbar-cta{display:none}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .cursor,.cursor-dot{display:none !important}
}
/* ═══════════════════════════════════════════════════════════════════
   PHASE 2 FIX — Home hero / marquee / stat ribbon base styles.
   The home-page markup uses .hero, .verb-cycle, .stat-ribbon class
   names; the original CSS targeted .home-hero / .home-verb-cycler /
   etc. (parallel set), so desktop home hero rendered unstyled.
   This patch supplies the missing base styles + the rail offset.
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1 · push every page clear of the fixed left rail ── */
.page{ margin-left:var(--rail); }

/* ── 2 · HOME HERO ── full-bleed cinematic */
.hero{
  position:relative;
  min-height:calc(100vh - var(--topbar));
  background:linear-gradient(135deg,#1a0612 0%,#0e0810 55%,#1a1118 100%);
  color:var(--paper);
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:80px 80px 100px;
  isolation:isolate;
}
.hero-photo{
  position:absolute;
  top:0; right:0; bottom:0;
  /* Was 50% — pushed to 52% so the dark text column gets ~30px more
     room before the photo edge, eliminating long-verb overflow. */
  left:52%;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.hero-photo::before{
  /* editorial color frame behind photo — matches her blue studio background */
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(135deg, #4a8edd 0%, #5a9ee0 40%, #2c5fa8 100%);
  z-index:-1;
}
.hero-photo::after{
  /* thin vertical accent line at the split — luxe magazine touch */
  content:""; position:absolute;
  left:0; top:0; bottom:0; width:1px;
  background:linear-gradient(180deg, transparent 0%, var(--yellow) 30%, var(--yellow) 70%, transparent 100%);
  z-index:4;
  opacity:.5;
}
.hero-photo img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center top;
  opacity:1;
  filter:saturate(1.05) contrast(1.02);
}
.hero-grad{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  /* gradient only on text side — photo half stays unobstructed */
  background:
    linear-gradient(90deg,
      #0e0810 0%,
      #0e0810 36%,
      rgba(14,8,16,.85) 46%,
      rgba(14,8,16,0) 50%,
      transparent 100%),
    radial-gradient(700px 600px at 10% 60%, rgba(255,31,110,.22) 0%, transparent 60%);
}
.hero-inner{
  position:relative;z-index:3;
  /* Width auto-adjusts so text RIGHT edge never crosses into the photo.
     Photo is now at left:52% (shifted right from 50% to give text more
     room). Formula: 52% of (viewport - rail) is the photo's left edge
     relative to .hero. Subtract hero pad (80px) + text margin + safety
     gap, the remainder is the text column.
     Safety gap of 50px guarantees a comfortable black-space buffer
     between the last letter ("strengthens" tail) and the yellow photo. */
  margin-left:180px;
  max-width:calc((100vw - 88px) * 0.52 - 80px - 180px - 50px);
  width:100%;
}

@media (max-width:1280px){
  .hero-inner{
    margin-left:140px;
    max-width:calc((100vw - 88px) * 0.52 - 80px - 140px - 40px);
  }
}
@media (max-width:1100px){
  .hero-inner{
    margin-left:100px;
    max-width:calc((100vw - 88px) * 0.52 - 80px - 100px - 30px);
  }
}
@media (max-width:900px){
  /* Brush hides below 900px (next breakpoint), so text reclaims width */
  .hero-inner{ margin-left:0; max-width:560px; }
  .hero-photo{ left:58%; }  /* push photo right so text has room here too */
}
@media (max-width:760px){
  .hero-inner{ margin-left:0; max-width:none; }
}

/* ── Brush wave SVG — Lauren request: moved flush against the left edge
   of the hero content area (right next to the rail/menu) so the hero
   text has more horizontal room to breathe.
   
   POSITIONING: left:0 anchors the wave at the hero's left boundary, which
   is the right edge of the .rail (the rail is position:fixed with z-index:95
   and lives in its own visual layer, so the wave doesn't need to compete
   with menu text). On screens ≥900px the wave is visible; on ≤900px the
   rail collapses and the wave hides to keep mobile clean.
   
   STACKING: z-index:2 — sits above .hero-grad (z-index:2, earlier in DOM)
   and below .hero-inner (z-index:3) so the headline always reads on top
   of the wave during the 2.6s draw-in. After 5.6s the entire wave fades
   out via brushFadeOut, leaving the hero clean.
   
   PREVIOUS VERSION (saved for revert):
     left:5%; width:270px; height:100%;
     (paired with .hero-inner { margin-left:140px })
*/
.hero-brush{
  position:absolute;
  left:0;                       /* flush against rail */
  top:0;
  width:200px;                  /* was 240px — slimmer so text gets more room */
  height:100%;
  z-index:2;
  pointer-events:none;
  transform:scaleX(-1);
  transform-origin:center;
  animation:brushFadeOut .8s ease-in 5.6s forwards;
  /* Fade the brush's right edge into transparency instead of letting
     it cut off at the SVG container border. The brush is mirrored via
     scaleX(-1), so a gradient that goes transparent→opaque in the SVG's
     native left-to-right direction reads as opaque→transparent on
     screen — fading the SCREEN-RIGHT edge to nothing. */
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 35%, #000 100%);
          mask-image:linear-gradient(90deg, transparent 0%, #000 35%, #000 100%);
}

.hero-brush .brush-path{
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:brushDrawIn 2.2s ease-out .3s forwards;
}
.hero-brush .brush-path.p2{ animation-delay:.55s; animation-duration:2.0s; }
.hero-brush .brush-path.p3{ animation-delay:.8s;  animation-duration:1.8s; }

@keyframes brushDrawIn{
  0%  { stroke-dashoffset:1; }
  100%{ stroke-dashoffset:0; }
}
@keyframes brushFadeOut{
  0%  { opacity:1; }
  100%{ opacity:0; visibility:hidden; }
}

@media (prefers-reduced-motion: reduce){
  .hero-brush .brush-path{ animation:none; stroke-dashoffset:0; stroke-dasharray:none; }
}

/* Hide on narrow viewports to keep mobile clean */
@media (max-width:900px){
  .hero-brush{ display:none; }
}
.hero-eyebrow{
  font-family:var(--mono);font-size:11px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--yellow);
  display:inline-flex;align-items:center;gap:14px;
  margin-bottom:48px;
}
.hero-eyebrow-dot,
.hero-eyebrow-rule{
  display:inline-block;
  width:36px;height:1.5px;
  background:var(--pink);
  border-radius:2px;
  box-shadow:0 0 0 0 rgba(255,31,110,0);
}
@keyframes heroDotPulse{
  0%,100%{ transform:scaleX(1); opacity:1; }
  50%{ transform:scaleX(1.25); opacity:.7; }
}
.hero-eyebrow-rule{ animation:heroDotPulse 2.8s ease-in-out infinite; transform-origin:left center; }
.hero-title{
  font-family:var(--serif);font-weight:400;
  /* Sized so the longest verbs ("strengthens", "transforms") fit the
     text column at every viewport with a safe black-space gap before
     Marnie's photo. Verified at 1488/1280/1100 widths. */
  font-size:clamp(46px, 5vw, 100px);
  line-height:.88;letter-spacing:-.045em;
  color:var(--paper);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 40px;
}
.hero-title em{
  color:var(--yellow);
  font-style:italic;
  font-family:var(--serif);
  font-variation-settings:"SOFT" 100, "WONK" 1;
}

/* VERB CYCLE — fade/slide in the active span (JS toggles .active) */
.verb-cycle{
  position:relative;
  display:inline-block;
  vertical-align:baseline;
  font-style:italic;
  color:var(--pink-bright);
  white-space:nowrap;
}
.verb-cycle span{
  display:none;
  opacity:0;
}
.verb-cycle span.active{
  display:inline-block;
  opacity:1;
  animation:verbIn .55s cubic-bezier(.22,1,.36,1);
}
@keyframes verbIn{
  from{ opacity:0; transform:translateY(.25em); }
  to  { opacity:1; transform:translateY(0); }
}

.hero-sub{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(18px, 1.55vw, 23px);
  line-height:1.55;color:rgba(255,249,245,.82);
  max-width:600px;
  margin:0 0 44px;
  font-variation-settings:"SOFT" 100;
}

.home-cta-row{
  display:flex;flex-wrap:wrap;gap:14px;
}

.hero-scroll{
  position:absolute;
  bottom:36px;left:80px;
  z-index:3;
  display:flex;align-items:center;gap:14px;
  font-family:var(--mono);font-size:10px;letter-spacing:.28em;
  text-transform:uppercase;color:rgba(255,249,245,.48);
}
.hero-scroll .line{
  width:56px;height:1px;background:rgba(255,249,245,.4);
  display:inline-block;
}

/* ── 3 · HERO MARQUEE ── */
.hero-marquee{
  background:var(--ink);
  color:var(--paper);
  padding:22px 0;
  overflow:hidden;
  border-top:1px solid rgba(255,249,245,.08);
  border-bottom:1px solid rgba(255,249,245,.08);
  position:relative;
}
.marquee-track{
  display:flex;align-items:center;gap:36px;
  white-space:nowrap;
  width:max-content;
  animation:marqueeRoll 48s linear infinite;
  font-family:var(--mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,249,245,.86);
}
.marquee-track span{ flex-shrink:0; }
.marquee-track .dot{ color:var(--pink); }
@keyframes marqueeRoll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

/* ── 4 · STAT RIBBON ── */
.stat-ribbon{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  background:var(--paper);
  border-bottom:1px solid var(--rule);
  max-width:1400px;
  margin:0 auto;
}
.stat{
  padding:64px 28px;
  border-right:1px solid var(--rule);
  text-align:center;
  position:relative;
}
.stat:last-child{ border-right:0; }
.stat .n{
  font-family:var(--serif);
  font-size:clamp(48px, 5.2vw, 76px);
  font-weight:400;
  color:var(--pink);
  line-height:1;
  letter-spacing:-.035em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin-bottom:14px;
}
.stat .l{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink-soft);
}

/* ── 5 · responsive carry-down ── */
@media (max-width:1100px){
  .hero{ padding:64px 36px 80px; }
  .hero-photo{ width:48%; opacity:.55; }
  .hero-scroll{ left:36px; }
  .stat-ribbon{ grid-template-columns:repeat(3, 1fr); }
  .stat:nth-child(3n){ border-right:0; }
  .stat:nth-child(n+4){ border-top:1px solid var(--rule); }
}
@media (max-width:640px){
  .page{ margin-left:0; } /* rail hides on mobile via existing rule */
  .hero{
    padding:48px 22px 80px;
    min-height:auto;
  }
  .hero-photo{
    inset:auto 0 0 auto;
    width:88%;height:46%;
    opacity:.32;
  }
  .hero-grad{
    background:
      linear-gradient(180deg, #0e0810 0%, rgba(14,8,16,.85) 50%, rgba(14,8,16,.6) 100%),
      radial-gradient(600px 400px at 50% 30%, rgba(255,31,110,.16) 0%, transparent 70%);
  }
  .hero-inner{ max-width:100%; }
  .hero-eyebrow{ margin-bottom:32px; }
  .hero-scroll{ display:none; }
  .stat-ribbon{ grid-template-columns:repeat(2, 1fr); }
  .stat{ padding:40px 16px; }
  .stat:nth-child(2n){ border-right:0; }
  .stat:nth-child(n+3){ border-top:1px solid var(--rule); }
}

/* ═══════════════════════════════════════════════════════════════════
   PHASE 2.5 — HOMEPAGE COMPONENT RECOVERY + ELEVATION
   Adds the missing desktop base styles for every component that was
   rendered as plain text in the previous build, plus elevation
   features: scroll reveals, parallax, magnetic hover, count-up.
   ═══════════════════════════════════════════════════════════════════ */

/* ── BUTTON VARIANTS — HTML uses .btn-pink etc., original CSS only had .btn.pink ──
   HOVER SYSTEM: Every button uses two CSS custom properties for its hover
   state — --btn-hover-bg (the slide-up overlay color) and --btn-hover-text
   (the text color on hover). Each theme below sets these to a complementary
   combo that's guaranteed visible. Default theme: royal blue bg, yellow
   text — per Lauren's request. */
.btn-pink{ background:var(--pink); color:var(--paper); }
.btn-pink::before{ background:var(--btn-hover-bg); }
.btn-pink:hover{ color:var(--btn-hover-text); }
.btn-yellow{ background:var(--yellow); color:var(--ink); }
.btn-yellow::before{ background:var(--btn-hover-bg); }
.btn-yellow:hover{ color:var(--btn-hover-text); }
.btn-outline{ background:transparent; color:var(--ink); border:1.5px solid var(--ink); }
.btn-outline::before{ background:var(--btn-hover-bg); }
.btn-outline:hover{ color:var(--btn-hover-text); border-color:var(--btn-hover-bg); }
.btn-outline-light{ background:transparent; color:var(--paper); border:1.5px solid rgba(255,249,245,.5); }
.btn-outline-light::before{ background:var(--btn-hover-bg); }
.btn-outline-light:hover{ color:var(--btn-hover-text); border-color:var(--btn-hover-bg); }
.btn-lg{ padding:18px 38px; font-size:14px; letter-spacing:.08em; }
.btn-sm{ padding:11px 22px; font-size:11px; gap:8px; }

/* ── BUTTON VISIBILITY SAFETY — context-aware overrides.
   When a .btn-outline lands inside a known-dark section (hero, process,
   foundation strip, etc.), automatically flip to light text + border so
   the button is never invisible against the dark background. This catches
   future placements without needing class-swap surgery. */
.hero .btn-outline,
.process-section .btn-outline,
.consulting-hero .btn-outline,
.impact-foundation .btn-outline,
.tedx-feature-home .btn-outline,
.contact-section.dark .btn-outline,
body.theme-midnight .btn-outline{
  color:var(--paper);
  border-color:rgba(255,249,245,.5);
}
.hero .btn-outline:hover,
.process-section .btn-outline:hover,
.consulting-hero .btn-outline:hover,
.impact-foundation .btn-outline:hover,
.tedx-feature-home .btn-outline:hover,
.contact-section.dark .btn-outline:hover,
body.theme-midnight .btn-outline:hover{
  color:var(--btn-hover-text);
  border-color:var(--btn-hover-bg);
}

/* ── DISPLAY TYPE ── */
.display-xl{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(72px, 10vw, 184px);
  line-height:.84; letter-spacing:-.05em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0;
}
.display-lg{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(48px, 5.8vw, 96px);
  line-height:.92; letter-spacing:-.035em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  color:var(--ink); margin:0;
}
.display-lg em{ color:var(--pink); font-style:italic; }
.display-md{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(36px, 4.4vw, 68px);
  line-height:1; letter-spacing:-.025em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  color:var(--ink); margin:0;
}
.display-md em{ color:var(--pink); font-style:italic; }

/* ════════════════════════════════════════════════════════
   SERVICES SECTION — section wrapper + header + tag/body/arrow
   (.services-grid + .service-card already styled upstream)
   ════════════════════════════════════════════════════════ */
.services-section{
  padding:140px 0 120px;
  background:var(--paper);
  position:relative;
}
.services-section::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:var(--rule);
}
.services-header{
  display:grid; grid-template-columns:1fr 1.4fr; gap:48px;
  align-items:end; margin-bottom:72px;
  padding-left:0;
}
.services-header .eyebrow{ margin-bottom:24px; }
.service-tag{
  display:inline-flex; align-items:center;
  padding:6px 14px; border-radius:100px;
  background:var(--yellow); color:var(--ink);
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  margin-bottom:18px;
}
.service-body{ display:flex; flex-direction:column; gap:14px; }
.service-card .service-arrow{
  position:absolute; right:32px; bottom:32px;
  width:48px; height:48px; border-radius:50%;
  border:1px solid var(--rule);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:18px; color:var(--ink);
  transition:all .4s var(--easing-slow, cubic-bezier(.22,1,.36,1));
  background:transparent;
}
.service-card:hover .service-arrow{
  background:var(--pink); border-color:var(--pink);
  color:var(--paper); transform:translate(4px,-4px) rotate(-12deg);
}
.service-card.featured .service-arrow{
  border-color:rgba(255,249,245,.25);
  color:var(--paper);
}
.service-card.featured:hover .service-arrow{
  background:var(--yellow); border-color:var(--yellow);
  color:var(--ink);
}

/* ════════════════════════════════════════════════════════
   iPHONE MOCKUP SECTION — full interior styling
   ════════════════════════════════════════════════════════ */
.iphone-section{
  padding:140px 0 160px;
  background:linear-gradient(180deg, var(--paper-pink) 0%, var(--paper) 100%);
  position:relative; overflow:hidden;
}
.iphone-section::before{
  content:""; position:absolute;
  top:-200px; right:-200px; width:600px; height:600px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,31,110,.12) 0%, transparent 70%);
  pointer-events:none;
}
.iphone-section-inner{
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  align-items:center;
}
.iphone-text .eyebrow{ margin-bottom:24px; }
.iphone-text h2{ margin-bottom:24px; }
.iphone-text p{
  font-size:17px; line-height:1.68;
  color:var(--ink-soft); margin:0 0 16px;
  max-width:520px;
}

/* phone hardware extras */
.iphone-mockup{
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; perspective:1400px;
}

/* ══════════════════════════════════════════════════════════════════
   PLATFORM PHOTO (replaces the CSS iPhone mockup)
   Editorial frame for the YIA-APP-homepage.png screenshot Lauren
   will drop into the folder. Includes a graceful fallback state
   that renders when the image file isn't found, so the section
   still looks intentional during the brief window between deploy
   and image upload.
   ══════════════════════════════════════════════════════════════════ */
.platform-photo{
  display:flex; flex-direction:column; align-items:center;
  gap:18px;
}
.platform-photo-frame{
  position:relative;
  width:100%;
  max-width:400px;
  aspect-ratio:853 / 1844;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(135deg, var(--paper-warm) 0%, var(--paper) 100%);
  box-shadow:
    0 30px 80px -20px rgba(14, 8, 16, 0.35),
    0 0 0 1px rgba(14, 8, 16, 0.08),
    0 0 0 8px rgba(255, 249, 245, 0.6);
  transition:transform .6s cubic-bezier(.22,1,.36,1),
             box-shadow .6s ease;
}
.platform-photo-frame:hover{
  transform:translateY(-8px);
  box-shadow:
    0 40px 100px -20px rgba(14, 8, 16, 0.45),
    0 0 0 1px rgba(255, 31, 110, 0.15),
    0 0 0 8px rgba(255, 249, 245, 0.6);
}
.platform-photo-frame img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.platform-photo-badge{
  position:absolute;
  top:18px; left:18px;
  z-index:3;
  padding:7px 14px;
  background:var(--pink);
  color:var(--paper);
  font-family:var(--mono);
  font-size:10px; font-weight:700;
  letter-spacing:.22em;
  border-radius:100px;
  /* Subtle pulse to suggest live data */
  animation:platformBadgePulse 2.4s ease-in-out infinite;
}
@keyframes platformBadgePulse{
  0%, 100%{ box-shadow:0 0 0 0 rgba(255, 31, 110, 0.5); }
  50%     { box-shadow:0 0 0 12px rgba(255, 31, 110, 0); }
}

/* Fallback state — visible by default, hidden when image loads.
   When the <img> errors out, JS adds .platform-photo-placeholder
   to the frame which reveals this content. */
.platform-photo-fallback{
  position:absolute; inset:0;
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:48px 32px;
  background:linear-gradient(135deg, var(--paper-warm) 0%, var(--paper) 100%);
  color:var(--ink);
}
.platform-photo-placeholder .platform-photo-fallback{
  display:flex;
}
.platform-photo-placeholder{
  /* Soften shadow when in placeholder state — less weight than a real photo */
  box-shadow:
    0 12px 40px -16px rgba(14, 8, 16, 0.2),
    0 0 0 1px rgba(14, 8, 16, 0.08),
    inset 0 0 0 2px rgba(255, 31, 110, 0.08);
}
.ppf-glyph{
  font-family:var(--serif);
  font-size:64px;
  line-height:1;
  color:var(--pink);
  opacity:.4;
  margin-bottom:18px;
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.ppf-title{
  font-family:var(--serif);
  font-weight:400;
  font-style:italic;
  font-size:22px;
  letter-spacing:-.02em;
  color:var(--ink);
  margin-bottom:8px;
}
.ppf-sub{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--pink);
  margin-bottom:14px;
}
.ppf-note{
  font-family:var(--sans);
  font-size:13px;
  line-height:1.5;
  color:var(--ink-soft, rgba(14,8,16,.55));
  max-width:240px;
}

@media (max-width:760px){
  .platform-photo-frame{ max-width:380px; }
  .ppf-glyph{ font-size:48px; }
  .ppf-title{ font-size:18px; }
}
.iphone-island{
  position:absolute; top:14px; left:50%; transform:translateX(-50%);
  width:108px; height:30px;
  background:#000; border-radius:100px;
  z-index:11;
}
.iphone-side{
  position:absolute; background:#1a1a1a;
  z-index:8;
}
.iphone-side-vol{ left:-3px; top:120px; width:3px; height:36px; border-radius:2px 0 0 2px; box-shadow:0 56px 0 #1a1a1a; }
.iphone-side-pwr{ right:-3px; top:160px; width:3px; height:80px; border-radius:0 2px 2px 0; }
.iphone-caption{
  margin-top:32px;
  font-family:var(--mono); font-size:11px;
  letter-spacing:.16em; text-transform:lowercase;
  color:var(--ink-mute);
}

/* ─ PHONE SCREEN INTERIOR (everything inside the phone) ─ */
.screen-status{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 24px 0; font-family:var(--sans);
  font-size:13px; font-weight:600; color:var(--ink);
  letter-spacing:.02em; flex-shrink:0;
}
.screen-status span:last-child{ font-size:9px; letter-spacing:.1em; color:var(--ink-soft); }
.screen-content{
  flex:1; overflow:hidden;
  padding:34px 18px 12px; display:flex; flex-direction:column; gap:14px;
}
.screen-header{ display:flex; flex-direction:column; gap:2px; }
.screen-greeting{
  font-family:var(--sans); font-size:12px;
  color:var(--ink-mute); letter-spacing:.02em;
}
.screen-name{
  font-family:var(--serif); font-size:22px; font-weight:400;
  color:var(--ink); line-height:1;
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.screen-card{
  background:linear-gradient(135deg, var(--pink) 0%, var(--pink-deep) 100%);
  color:var(--paper); border-radius:16px; padding:16px;
  position:relative; overflow:hidden;
}
.screen-card::after{
  content:""; position:absolute; top:-50%; right:-30%; width:140px; height:140px;
  border-radius:50%; background:rgba(255,255,255,.08);
}
.screen-card-label{
  font-family:var(--mono); font-size:8px;
  letter-spacing:.18em; text-transform:uppercase;
  opacity:.85; margin-bottom:6px;
}
.screen-card-value{
  font-family:var(--serif); font-size:36px; font-weight:400;
  line-height:1; margin-bottom:4px;
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.screen-card-value span{ font-size:13px; opacity:.85; }
.screen-card-meta{
  font-family:var(--sans); font-size:10px; opacity:.8;
}
.screen-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
}
.screen-tile{
  border-radius:12px; padding:12px;
  background:var(--paper); color:var(--ink);
  display:flex; flex-direction:column; gap:4px;
  position:relative;
}
.screen-tile.yellow{ background:#fff4cc; }
.screen-tile.blue{ background:#dce8ff; }
.screen-tile.pink{ background:#ffd9e6; }
.screen-tile.gray{ background:#eeeaea; }
.tile-icon{ font-size:18px; line-height:1; }
.tile-label{
  font-family:var(--sans); font-size:9px;
  text-transform:uppercase; letter-spacing:.1em;
  color:var(--ink-soft);
}
.tile-val{
  font-family:var(--serif); font-size:14px; font-weight:500;
  color:var(--ink); line-height:1;
  font-variation-settings:"SOFT" 100;
}
.screen-list-title{
  font-family:var(--mono); font-size:9px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-mute); margin-top:4px;
}
.screen-list{ display:flex; flex-direction:column; gap:6px; }
.screen-list-item{
  display:grid; grid-template-columns:auto 1fr auto; gap:8px;
  align-items:center; padding:8px 10px;
  background:rgba(0,0,0,.03); border-radius:8px;
  font-family:var(--sans); font-size:11px;
}
.li-dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--pink); display:block;
}
.li-dot.yellow{ background:var(--yellow-deep); }
.li-dot.blue{ background:var(--royal); }
.li-text{ color:var(--ink); }
.li-meta{
  font-family:var(--mono); font-size:9px;
  color:var(--ink-mute); letter-spacing:.04em;
}
.screen-tabbar{
  flex-shrink:0;
  display:grid; grid-template-columns:repeat(4, 1fr);
  padding:10px 14px 16px; border-top:1px solid var(--rule);
  background:var(--paper);
}
.screen-tab{
  display:flex; flex-direction:column; align-items:center;
  gap:2px;
  font-family:var(--sans); font-size:9px;
  color:var(--ink-mute); text-transform:uppercase; letter-spacing:.06em;
}
.screen-tab span{ font-size:12px; color:var(--ink-mute); }
.screen-tab.active{ color:var(--pink); }
.screen-tab.active span{ color:var(--pink); }
.screen-badge{
  position:absolute; top:14px; right:14px;
  background:#3ddc80; color:var(--paper);
  font-family:var(--mono); font-size:8px; font-weight:700;
  letter-spacing:.18em;
  padding:4px 8px; border-radius:100px;
  z-index:12;
  animation:badgePulse 2.4s ease-in-out infinite;
}
@keyframes badgePulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(61,220,128,.6); }
  50%{ box-shadow:0 0 0 6px rgba(61,220,128,0); }
}

/* ════════════════════════════════════════════════════════
   QUOTES SECTION
   ════════════════════════════════════════════════════════ */
.quotes-section{
  padding:120px 0 140px;
  background:var(--paper);
  overflow:hidden;
  position:relative;
}
.quotes-header{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:40px; margin-bottom:64px; flex-wrap:wrap;
}
.quotes-header h2{ margin:0; }
.quotes-nav{ display:flex; gap:12px; }
.qnav{
  width:56px; height:56px; border-radius:50%;
  border:1.5px solid var(--ink);
  background:transparent;
  font-size:18px; color:var(--ink);
  display:inline-flex; align-items:center; justify-content:center;
  cursor:none;
  transition:all .35s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.qnav:hover{
  background:var(--pink); border-color:var(--pink); color:var(--paper);
  transform:scale(1.06);
}
.quotes-track-wrap{
  /* Both axes hidden — JS-driven transform marquee handles horizontal motion.
     overscroll-behavior:contain prevents this element from capturing vertical
     scroll events that should pass through to the page. Fixes the bug where
     scrolling down inside the quotes section moved the cards instead of the
     page.

     Padding-top/-bottom are generous (48px) so when a card lifts -6px on
     hover and casts a 30px blur box-shadow, none of it gets clipped by the
     overflow:hidden container. */
  overflow:hidden;
  touch-action:pan-y;        /* vertical wheel/touch always scrolls the PAGE, never this section */
  scrollbar-width:none;
  padding:48px 0 56px;
}
.quotes-track-wrap::-webkit-scrollbar{ display:none; }
.quotes-track{
  display:flex; gap:32px;
  padding:0 80px;
  width:max-content;
  /* CRITICAL: explicitly null the stale scroll-container properties
     leaking from the earlier .quotes-track rule (line ~1966):
     overflow-x:auto + scroll-snap-type:x mandatory + scroll-behavior.
     Those turned this transform-animated track into a wheel-capturing
     scroll container (overflow-x:auto forces overflow-y to compute as
     auto via the CSS quirk), trapping vertical page scroll and making
     the cards drift up/down. This is a pure transform marquee — it must
     NOT be a scroll container. */
  overflow:visible;
  overflow-x:visible;
  overflow-y:visible;
  scroll-snap-type:none;
  scroll-behavior:auto;
  touch-action:pan-y;   /* let vertical touch gestures scroll the page */
}
.quote-card{
  flex:0 0 460px;
  scroll-snap-align:start;
  background:var(--paper-warm);
  border-radius:24px;
  padding:48px 40px 36px;
  position:relative;
  border:1px solid var(--rule);
  transition:transform .5s var(--easing-slow, cubic-bezier(.22,1,.36,1)), box-shadow .5s ease;
}
.quote-card:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 60px -20px rgba(14,8,16,.15);
}
.q-mark{
  font-family:var(--serif); font-style:italic;
  font-size:80px; line-height:.6;
  color:var(--pink);
  position:absolute; top:24px; left:32px;
  opacity:.32;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0;
}
.quote-card .q{
  font-family:var(--serif);
  font-size:21px; line-height:1.45;
  color:var(--ink);
  margin:32px 0 32px;
  font-weight:400;
  font-variation-settings:"SOFT" 100;
}
.quote-card .q em{ color:var(--pink); font-style:italic; }
.q-attr{
  display:flex; align-items:center; gap:14px;
  padding-top:24px; border-top:1px solid var(--rule);
}
.q-avatar{
  width:48px; height:48px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--paper); font-family:var(--sans);
  font-weight:700; font-size:14px;
  letter-spacing:.04em; flex-shrink:0;
  overflow:hidden;
  background:linear-gradient(135deg,var(--pink),var(--royal));
}
/* Real photo avatar — fills the circle, object-fit covers any aspect */
.q-avatar img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  border-radius:50%;
}
/* Glyph variant — for collective or anonymized attributions where
   a stock photo would misrepresent the person. Uses yellow-on-ink
   to visually differentiate from photo avatars but stay on brand. */
.q-avatar-glyph{
  background:var(--ink) !important;
  color:var(--yellow) !important;
  font-family:var(--serif) !important;
  font-size:22px !important;
  font-weight:400 !important;
  font-variation-settings:"SOFT" 100;
}
.q-name{
  font-family:var(--sans); font-size:14px; font-weight:600;
  color:var(--ink); line-height:1.2;
}
.q-role{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-mute); margin-top:3px;
}

/* ════════════════════════════════════════════════════════
   BOOK STACK — 3D editorial bookshelf
   ════════════════════════════════════════════════════════ */
.book-stack-section{
  padding:140px 0 160px;
  background:linear-gradient(180deg, var(--ink) 0%, var(--ink-2) 100%);
  color:var(--paper);
  overflow:hidden;
  position:relative;
}
.book-stack-section .display-lg{ color:var(--paper); }
.book-stack-section .display-lg em{ color:var(--yellow); }
.book-stack-section .eyebrow{ color:var(--yellow); }
.book-stack-section .eyebrow::before{ background:var(--yellow); }
.book-stack-header{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:40px; margin-bottom:72px; flex-wrap:wrap;
  padding:0 80px;
}
.book-stack-section .book-stack-header .btn-outline{
  color:var(--paper); border-color:rgba(255,249,245,.4);
}
.book-stack-section .book-stack-header .btn-outline:hover{
  color:var(--ink); background:var(--paper); border-color:var(--paper);
}
.book-stack-wrap{
  /* Horizontal scroll for the book row; vertical scroll passes through.
     overscroll-behavior-x:contain prevents horizontal scroll-chain from
     escaping the section, but Y-axis flows freely to the page. */
  overflow-x:auto; overflow-y:visible;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
  padding:60px 0 80px;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
  perspective:1800px;
}
.book-stack-wrap::-webkit-scrollbar{ display:none; }
.book-stack-track{
  display:flex; gap:36px;
  padding:0 80px;
  width:max-content;
  transform-style:preserve-3d;
}
.book-3d{
  flex:0 0 220px;
  height:320px;
  position:relative;
  scroll-snap-align:start;
  transform-style:preserve-3d;
  transform:rotateY(-22deg) rotateX(4deg);
  transition:transform .6s var(--easing-slow, cubic-bezier(.22,1,.36,1)), filter .4s ease;
  cursor:none;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.35));
  display:block;
}
.book-3d:hover{
  transform:rotateY(-6deg) rotateX(0deg) translateY(-12px) scale(1.04);
  filter:drop-shadow(0 50px 60px rgba(255,31,110,.35));
  z-index:4;
}
.book-cover{
  position:absolute; inset:0;
  background:linear-gradient(140deg, var(--c1,#ff1f6e) 0%, var(--c2,#1e3fc3) 100%);
  border-radius:4px 12px 12px 4px;
  padding:24px 18px 24px 28px;
  display:flex; flex-direction:column; justify-content:space-between;
  transform:translateZ(8px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1), inset 24px 0 28px -16px rgba(0,0,0,.4);
  overflow:hidden;
}
.book-cover::before{
  content:""; position:absolute;
  top:24px; left:24px; right:24px; height:1px;
  background:rgba(255,255,255,.4);
}
.book-cover::after{
  content:""; position:absolute;
  bottom:24px; left:24px; right:24px; height:1px;
  background:rgba(255,255,255,.4);
}
.book-cover-text{
  position:relative; z-index:2;
  display:flex; flex-direction:column;
  height:100%; justify-content:space-between;
  padding:18px 0;
}
.bc-series{
  font-family:var(--mono); font-size:9px;
  letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,255,255,.92);
  margin-top:4px;
}
.bc-title{
  font-family:var(--serif); font-size:24px;
  font-weight:400; line-height:1.05;
  color:var(--paper);
  letter-spacing:-.01em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:auto 0;
}
.bc-sub{
  font-family:var(--serif); font-style:italic;
  font-size:12px; font-weight:300;
  color:rgba(255,255,255,.82);
  line-height:1.4;
  font-variation-settings:"SOFT" 100;
}
.bc-author{
  font-family:var(--mono); font-size:9px;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.88);
  margin-bottom:4px;
}
.book-spine{
  position:absolute; left:0; top:0; bottom:0;
  width:14px;
  background:linear-gradient(to right, rgba(0,0,0,.5), rgba(0,0,0,.15) 60%, transparent);
  transform:translateZ(0);
  border-radius:4px 0 0 4px;
}

/* ════════════════════════════════════════════════════════
   TEDX SECTION
   ════════════════════════════════════════════════════════ */
.tedx-section{
  padding:140px 0 0;
  background:var(--paper);
  position:relative;
}
.tedx-inner{
  display:grid; grid-template-columns:1.2fr 1fr;
  gap:80px; align-items:center;
  margin-bottom:120px;
}
.tedx-video{
  position:relative;
  aspect-ratio:16/9;
  border-radius:18px; overflow:hidden;
  box-shadow:0 40px 80px -20px rgba(14,8,16,.4);
  background:#000;
}
.tedx-video::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 30% 30%, rgba(255,31,110,.18) 0%, transparent 60%);
  z-index:1; pointer-events:none;
}
.tedx-video iframe{
  position:absolute; inset:0;
  width:100%; height:100%; border:0;
  z-index:2;
}
.tedx-text .eyebrow{ margin-bottom:24px; }
.tedx-text h2{ margin-bottom:24px; }
.tedx-text p{
  font-size:17px; line-height:1.7;
  color:var(--ink-soft);
  margin:0 0 28px;
}

/* ── PRESS MARQUEE ── */
.press-marquee{
  background:var(--ink);
  color:var(--paper);
  padding:32px 0;
  overflow:hidden;
  border-top:1px solid rgba(255,249,245,.08);
  border-bottom:1px solid rgba(255,249,245,.08);
}
.press-marquee-track{
  display:flex; align-items:center; gap:42px;
  white-space:nowrap; width:max-content;
  animation:pressMarqueeRoll 60s linear infinite;
  font-family:var(--mono);
  font-size:13px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,249,245,.78);
}
.press-marquee-track span:nth-child(even){
  color:var(--pink); font-size:18px;
}
@keyframes pressMarqueeRoll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

/* ════════════════════════════════════════════════════════
   NEWSLETTER
   ════════════════════════════════════════════════════════ */
.newsletter{
  padding:120px 0;
  background:linear-gradient(135deg, var(--pink) 0%, var(--pink-deep) 100%);
  color:var(--paper);
  position:relative; overflow:hidden;
}
.newsletter::before{
  content:""; position:absolute;
  top:-200px; right:-200px; width:520px; height:520px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,210,63,.2) 0%, transparent 70%);
  pointer-events:none;
}
.newsletter::after{
  content:"☆"; position:absolute;
  bottom:40px; left:80px;
  font-size:120px; color:rgba(255,210,63,.2);
  font-family:var(--serif); font-style:italic;
  pointer-events:none;
}
.newsletter-inner{
  text-align:center; max-width:680px; margin:0 auto;
  position:relative; z-index:2;
}
.newsletter-inner .eyebrow{ color:var(--yellow); margin-bottom:24px; }
.newsletter-inner .eyebrow::before{ background:var(--yellow); }
.newsletter-inner h2{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(40px, 5vw, 72px); line-height:1;
  color:var(--paper); margin:0 0 40px;
  letter-spacing:-.03em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.newsletter-inner h2 em{ color:var(--yellow); font-style:italic; }
.newsletter-form{
  display:flex; gap:12px; max-width:520px; margin:0 auto;
  flex-wrap:wrap; justify-content:center;
}
.newsletter-form input{
  flex:1; min-width:240px;
  padding:18px 24px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
  border-radius:100px;
  color:var(--paper);
  font-family:var(--sans); font-size:14px;
  outline:none;
  transition:all .3s ease;
}
.newsletter-form input::placeholder{ color:rgba(255,249,245,.55); }
.newsletter-form input:focus{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.5);
}

/* ════════════════════════════════════════════════════════
   BIG INSIGHT — fill in missing decorative quote mark
   ════════════════════════════════════════════════════════ */
.insight-side{
  position:relative;
}
.insight-side .quote-mark{
  font-family:var(--serif); font-style:italic;
  font-size:240px; line-height:.7;
  color:var(--pink); opacity:.12;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  position:absolute; top:0; right:-40px;
  margin:0;
  pointer-events:none;
}

/* ════════════════════════════════════════════════════════
   ABOUT PAGE photo gallery
   ════════════════════════════════════════════════════════ */
.photo-gallery-section{
  padding:120px 0;
  background:var(--paper);
}
.photo-gallery{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  grid-auto-rows:minmax(220px, auto);
  gap:24px;
  margin-top:72px;
}
.gphoto{
  position:relative; overflow:hidden;
  border-radius:20px;
  background:var(--paper-warm);
}
.gphoto img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform 1.2s var(--easing-slow, cubic-bezier(.22,1,.36,1));
  display:block;
}
.gphoto:hover img{ transform:scale(1.04); }
.gphoto.p1{ grid-column:1 / 6; grid-row:1 / 3; }
.gphoto.p2{ grid-column:6 / 10; grid-row:1 / 2; }
.gphoto.p3{ grid-column:10 / 13; grid-row:1 / 3; }
.gphoto.p4{ grid-column:6 / 10; grid-row:2 / 3; }
.gphoto.p5{ grid-column:1 / 13; grid-row:3 / 4; min-height:420px; }

/* ════════════════════════════════════════════════════════
   ELEVATION — scroll reveals & stagger
   ════════════════════════════════════════════════════════ */
[data-reveal]{
  opacity:0;
  transform:translateY(36px);
  transition:opacity .9s var(--easing-slow, cubic-bezier(.22,1,.36,1)), transform .9s var(--easing-slow, cubic-bezier(.22,1,.36,1));
  transition-delay:var(--reveal-delay, 0s);
}
[data-reveal].is-visible{
  opacity:1; transform:translateY(0);
}

/* ── RESPONSIVE CARRY-DOWN ── */
@media (max-width:1100px){
  .services-section{ padding:96px 32px; }
  .services-header{ grid-template-columns:1fr; gap:24px; }
  .services-grid{ grid-template-columns:1fr; }
  .service-card.featured{ grid-column:1 / -1; grid-template-columns:1fr; padding:48px 32px; }

  .iphone-section{ padding:96px 32px; }
  .iphone-section-inner{ grid-template-columns:1fr; gap:64px; }
  .iphone-text{ text-align:center; }
  .iphone-text p{ margin-left:auto; margin-right:auto; }

  .quotes-track{ padding:0 32px; }
  .quote-card{ flex-basis:380px; padding:36px 30px 28px; }

  .book-stack-header{ padding:0 32px; }
  .book-stack-track{ padding:0 32px; gap:28px; }
  .book-3d{ flex-basis:200px; height:300px; }

  .tedx-section{ padding:96px 32px 0; }
  .tedx-inner{ grid-template-columns:1fr; gap:48px; margin-bottom:80px; }

  .newsletter{ padding:96px 32px; }
  .newsletter::after{ display:none; }

  .photo-gallery{ grid-template-columns:repeat(6, 1fr); }
  .gphoto.p1{ grid-column:1 / 4; grid-row:1 / 3; }
  .gphoto.p2{ grid-column:4 / 7; grid-row:1 / 2; }
  .gphoto.p3{ grid-column:4 / 7; grid-row:2 / 3; }
  .gphoto.p4{ grid-column:1 / 4; grid-row:3 / 4; }
  .gphoto.p5{ grid-column:4 / 7; grid-row:3 / 4; min-height:auto; }
}
@media (max-width:640px){
  .services-section{ padding:64px 18px; }
  .services-header{ margin-bottom:40px; }
  .service-card{ padding:32px 22px; }
  .service-card .service-arrow{ right:22px; bottom:22px; width:40px; height:40px; }

  .iphone-section{ padding:64px 18px; }
  .iphone-section-inner{ gap:48px; }

  .quotes-section{ padding:80px 0 100px; }
  .quotes-header{ padding:0 18px; }
  .quotes-track{ padding:0 18px; gap:18px; }
  .quote-card{ flex-basis:300px; padding:32px 24px 24px; }
  .quote-card .q{ font-size:17px; }

  .book-stack-section{ padding:80px 0 100px; }
  .book-stack-header{ padding:0 18px; }
  .book-stack-track{ padding:0 18px; gap:20px; }
  .book-3d{ flex-basis:170px; height:260px; }
  .bc-title{ font-size:18px; }

  .tedx-section{ padding:64px 18px 0; }
  .tedx-inner{ margin-bottom:48px; }
  .press-marquee{ padding:20px 0; }
  .press-marquee-track{ gap:24px; font-size:11px; }

  .newsletter{ padding:64px 22px; }
  .newsletter-form input{ width:100%; }

  .photo-gallery{ grid-template-columns:1fr; gap:16px; }
  .gphoto{ grid-column:1 !important; grid-row:auto !important; min-height:280px !important; }
}
/* ════════════════════════════════════════════════════════
   PHASE 2.6 — IMAGE COVERS, VIDEO POSTER, RAIL POLISH
   ════════════════════════════════════════════════════════ */

/* ── BOOK COVER IMAGES — sit on top of gradient fallback ── */
.book-3d{ background:transparent; }
.book-cover-img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center center;
  border-radius:4px 12px 12px 4px;
  transform:translateZ(8px);
  z-index:3;
  display:block;
  opacity:1;
  box-shadow:inset 22px 0 26px -14px rgba(0,0,0,.4);
}
.book-cover-img.is-loaded{ opacity:1; }

/* ── TEDX VIDEO POSTER (click-to-play with thumbnail) ── */
.video-poster{
  position:absolute; inset:0;
  cursor:pointer; overflow:hidden;
  background:#000;
  display:block;
}
.video-poster img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform 1.2s var(--easing-slow, cubic-bezier(.22,1,.36,1)), filter .4s ease;
}
.video-poster:hover img{ transform:scale(1.04); filter:brightness(1.08); }
.video-poster-grad{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.55) 100%),
    radial-gradient(circle at 50% 50%, rgba(0,0,0,.2) 0%, transparent 60%);
  z-index:2;
  pointer-events:none;
}
.video-play-btn{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:88px; height:88px; border-radius:50%;
  background:rgba(255,31,110,.92);
  color:var(--paper);
  display:flex; align-items:center; justify-content:center;
  border:none; cursor:pointer;
  padding-left:5px;
  z-index:3;
  box-shadow:0 12px 40px rgba(255,31,110,.5), 0 0 0 0 rgba(255,31,110,.6);
  transition:transform .35s var(--easing-slow, cubic-bezier(.22,1,.36,1)), box-shadow .35s ease;
  animation:playPulse 2.4s ease-in-out infinite;
}
.video-poster:hover .video-play-btn{ transform:translate(-50%,-50%) scale(1.08); background:var(--pink); }
@keyframes playPulse{
  0%,100%{ box-shadow:0 12px 40px rgba(255,31,110,.5), 0 0 0 0 rgba(255,31,110,.5); }
  50%{ box-shadow:0 12px 40px rgba(255,31,110,.5), 0 0 0 18px rgba(255,31,110,0); }
}
.video-meta{
  position:absolute; top:20px; left:24px;
  display:flex; align-items:center; gap:12px;
  z-index:3;
}
.video-meta-tag{
  background:#e62b1e; color:var(--paper);
  font-family:var(--sans); font-weight:800;
  font-size:13px; letter-spacing:.04em;
  padding:5px 10px; border-radius:4px;
  text-transform:uppercase;
}
.video-meta-time{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.85);
}
.video-title-overlay{
  position:absolute; bottom:24px; left:24px; right:24px;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(20px, 2.4vw, 32px);
  line-height:1.05; letter-spacing:-.02em;
  color:var(--paper);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  z-index:3;
  text-shadow:0 2px 16px rgba(0,0,0,.5);
  max-width:80%;
}
.video-title-overlay em{ color:var(--yellow); font-style:italic; }

/* iframe replaces poster on play */
.tedx-video.is-playing .video-poster{ display:none; }
.tedx-video iframe{
  position:absolute; inset:0;
  width:100%; height:100%; border:0;
}

/* ── RAIL POLISH ── */
.rail-link{ cursor:pointer; }
.rail-link .num{ transition:color .3s var(--easing); }
.rail-link .name{ transition:color .3s var(--easing), transform .3s var(--easing); }
.rail-link:hover .name{ transform:translateY(-1px); }
.rail-est{
  font-family:var(--mono); font-size:8px;
  letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,255,255,.4); text-align:center;
  line-height:1.5; margin-top:4px;
}
.rail-foot{ cursor:default; }
.rail-foot a{
  width:32px; height:32px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  font-weight:600;
  transition:all .3s var(--easing);
}
.rail-foot a:hover{
  background:var(--pink); border-color:var(--pink);
  color:var(--paper);
  transform:scale(1.08);
}

/* topbar live label */
.topbar-meta .live{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-soft);
}
.topbar.dark .topbar-meta .live{ color:rgba(255,249,245,.75); }

/* hero hero-photo responsive on mobile — was overridden, restore */
@media (max-width:640px){
  .hero-photo{
    left:auto; top:auto; right:0; bottom:0;
    width:88%; height:48%;
    opacity:.42;
  }
}
/* ════════════════════════════════════════════════════════
   PHASE 2.7 — LIBRARY (Products page books — redesigned)
   New .library-* class system. Avoids conflict with the
   legacy .books-shelf / .book-tile CSS upstream.
   ════════════════════════════════════════════════════════ */
.library-section{
  padding:140px 0 160px;
  background:var(--paper);
  position:relative;
}
.library-header{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:80px;
  align-items:end;
  margin-bottom:80px;
}
.library-header .eyebrow{ margin-bottom:24px; }
.library-header h2{ margin:0 0 24px; }
.library-intro{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:19px; line-height:1.55;
  color:var(--ink-soft);
  max-width:560px;
  font-variation-settings:"SOFT" 100;
  margin:0;
}
.library-stats{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:0;
  border-left:1px solid var(--rule);
  border-top:1px solid var(--rule);
}
.lib-stat{
  padding:24px 28px;
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  display:flex; flex-direction:column; gap:8px;
}
.lib-stat-n{
  font-family:var(--serif); font-weight:400;
  font-size:54px; line-height:1;
  color:var(--pink);
  letter-spacing:-.04em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.lib-stat-l{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-soft);
}

/* ── FEATURED FLAGSHIP ── */
.library-featured{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:64px;
  align-items:center;
  background:linear-gradient(135deg, var(--ink) 0%, #1a0e1a 60%, var(--ink-2) 100%);
  color:var(--paper);
  border-radius:24px;
  padding:64px;
  margin-bottom:120px;
  position:relative; overflow:hidden;
  cursor:none;
  transition:transform .6s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.library-featured::before{
  content:""; position:absolute;
  top:-200px; right:-200px; width:600px; height:600px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,210,63,.12) 0%, transparent 70%);
}
.library-featured:hover{
  transform:translateY(-4px);
  box-shadow:0 40px 80px -20px rgba(255,31,110,.4);
}
.library-featured-cover{
  position:relative;
  aspect-ratio:2/3;
  border-radius:4px 14px 14px 4px;
  overflow:hidden;
  box-shadow:0 30px 60px -10px rgba(0,0,0,.6);
  transform:rotate(-3deg);
  transition:transform .6s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.library-featured:hover .library-featured-cover{
  transform:rotate(0deg) scale(1.02);
}
.library-featured-fallback{
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  justify-content:flex-end;
  padding:32px 28px;
  color:var(--paper);
}
.lff-series{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.22em; text-transform:uppercase;
  opacity:.88; margin-bottom:auto;
}
.lff-title{
  font-family:var(--serif); font-size:36px; font-weight:400;
  line-height:1.05; letter-spacing:-.02em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin-bottom:14px;
}
.lff-author{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.18em; text-transform:uppercase;
  opacity:.85;
}
.library-featured-text{ position:relative; z-index:2; }
.library-featured-tag{
  display:inline-flex; align-items:center;
  background:var(--yellow); color:var(--ink);
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.24em; text-transform:uppercase;
  padding:6px 14px; border-radius:100px;
  margin-bottom:24px;
}
.library-featured-title{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(36px, 4vw, 56px);
  line-height:1; letter-spacing:-.025em;
  color:var(--paper);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 24px;
}
.library-featured-title em{ color:var(--yellow); font-style:normal; }
.library-featured-text p{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:19px; line-height:1.55;
  color:rgba(255,249,245,.82);
  margin:0 0 28px; max-width:560px;
  font-variation-settings:"SOFT" 100;
}
.library-featured-meta{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  font-family:var(--mono); font-size:11px;
  letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,249,245,.55);
  margin-bottom:32px;
}
.library-featured-meta .dot{ opacity:.4; }
.library-featured-cta{
  display:inline-flex; align-items:center; gap:12px;
  padding:16px 32px; border-radius:100px;
  background:var(--pink); color:var(--paper);
  font-family:var(--sans); font-weight:600;
  font-size:13px; letter-spacing:.08em;
  text-transform:uppercase;
  transition:all .35s var(--easing);
}
.library-featured:hover .library-featured-cta{
  background:var(--yellow); color:var(--ink);
  transform:translateX(6px);
}

/* ── SERIES SECTIONS ── */
.library-series{
  margin-top:96px;
  padding-top:48px;
  border-top:1px solid var(--rule);
}
.library-series-head{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:32px;
  align-items:center;
  margin-bottom:56px;
}
.lsh-num{
  font-family:var(--serif); font-weight:400;
  font-size:88px; line-height:.8;
  color:var(--pink); opacity:.32;
  letter-spacing:-.04em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.lsh-tag{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--pink);
  margin-bottom:8px;
}
.lsh-title{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(28px, 3vw, 42px);
  line-height:1; letter-spacing:-.025em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0;
}
.lsh-title em{
  color:var(--ink-soft); font-style:italic;
  font-weight:300; font-size:.7em;
}
.lsh-count{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-mute);
  align-self:end;
  padding-bottom:6px;
}

/* ── BOOK GRID ── */
.library-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:40px 32px;
}
.library-book{
  display:flex; flex-direction:column;
  text-decoration:none; cursor:none;
  transition:transform .4s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.library-book:hover{ transform:translateY(-8px); }

.library-book-cover{
  position:relative;
  aspect-ratio:2/3;
  border-radius:3px 12px 12px 3px;
  overflow:hidden;
  box-shadow:
    -4px 0 0 rgba(0,0,0,.1),
    0 18px 36px -10px rgba(0,0,0,.18);
  background:#222;
  transition:box-shadow .4s ease, transform .5s var(--easing-slow, cubic-bezier(.22,1,.36,1));
  margin-bottom:18px;
}
.library-book:hover .library-book-cover{
  box-shadow:
    -4px 0 0 rgba(0,0,0,.1),
    0 30px 50px -8px rgba(255,31,110,.3);
  transform:rotateY(-4deg);
}
.library-book-cover::before{
  content:""; position:absolute;
  left:0; top:0; bottom:0; width:12px;
  background:linear-gradient(90deg, rgba(0,0,0,.22), transparent);
  z-index:4;
}
.library-book-fallback{
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  justify-content:flex-end;
  padding:22px 18px 22px 24px;
  color:var(--paper);
  z-index:2;
}
.lbf-series{
  font-family:var(--mono); font-size:9px;
  letter-spacing:.2em; text-transform:uppercase;
  opacity:.9; margin-bottom:8px;
}
.lbf-title{
  font-family:var(--serif); font-size:22px; font-weight:400;
  line-height:1.05; letter-spacing:-.015em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
}

.library-book-meta{
  display:flex; flex-direction:column; gap:6px;
  position:relative;
}
.lbm-num{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.16em; color:var(--ink-mute);
}
.library-book-meta h4{
  font-family:var(--serif); font-weight:400;
  font-size:18px; line-height:1.2;
  letter-spacing:-.015em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:2px 0 0;
}
.lbm-sub{
  font-family:var(--sans); font-size:13px;
  color:var(--ink-soft); line-height:1.45;
}
.lbm-buy{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--pink); font-weight:700;
  margin-top:8px;
  display:inline-flex; align-items:center; gap:6px;
  transition:gap .3s var(--easing);
}
.library-book:hover .lbm-buy{ gap:12px; }
.lbm-flag{
  font-family:var(--mono); font-size:9px;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink); background:var(--yellow);
  padding:4px 10px; border-radius:100px;
  align-self:flex-start;
  margin-top:4px;
}

/* feature book within grid (juan rulfo finalist) */
.library-book-feature .library-book-cover{
  box-shadow:
    -4px 0 0 rgba(0,0,0,.1),
    0 22px 44px -10px rgba(107,61,124,.4);
}

/* "coming soon" placeholder card */
.library-book-cover-cta{
  background:linear-gradient(135deg, var(--paper-warm) 0%, var(--paper) 100%);
  border:2px dashed var(--rule);
  box-shadow:none;
  display:flex; align-items:center; justify-content:center;
  padding:32px;
}
.library-book-feature:hover .library-book-cover,
.library-book-cta:hover .library-book-cover-cta{
  transform:rotateY(0deg);
}
.lbc-cta-inner{
  text-align:center;
  display:flex; flex-direction:column; gap:10px;
}
.lbc-cta-eyebrow{
  font-family:var(--mono); font-size:9px;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-mute);
}
.lbc-cta-title{
  font-family:var(--serif); font-size:30px; font-weight:400;
  color:var(--pink); line-height:1;
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.lbc-cta-sub{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:14px; color:var(--ink-soft);
  font-variation-settings:"SOFT" 100;
}

/* ── responsive ── */
@media (max-width:1100px){
  .library-section{ padding:96px 32px; }
  .library-header{ grid-template-columns:1fr; gap:48px; }
  .library-featured{ grid-template-columns:1fr; gap:40px; padding:48px 32px; margin-bottom:80px; }
  .library-featured-cover{ max-width:300px; margin:0 auto; }
  .library-series-head{ grid-template-columns:auto 1fr; gap:24px; }
  .lsh-count{ display:none; }
  .lsh-num{ font-size:64px; }
  .library-grid{ grid-template-columns:repeat(3, 1fr); gap:32px 24px; }
}
@media (max-width:640px){
  .library-section{ padding:64px 18px; }
  .library-header{ margin-bottom:48px; }
  .library-stats{ grid-template-columns:repeat(2,1fr); }
  .library-featured{ padding:32px 22px; margin-bottom:48px; }
  .library-featured-title{ font-size:32px; }
  .library-grid{ grid-template-columns:repeat(2, 1fr); gap:28px 16px; }
  .library-book-meta h4{ font-size:15px; }
}
/* Podcast cover image (loads on top of gradient fallback) */
.podcast-art-img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  border-radius:24px;
  z-index:1;
  opacity:0;
  transition:opacity .5s ease;
}
.podcast-art-img.is-loaded{ opacity:1; }
.podcast-art-img.is-loaded ~ .podcast-art-text{ display:none; }
.podcast-art:has(.podcast-art-img.is-loaded)::after{ display:none; }
/* ════════════════════════════════════════════════════════
   PHASE 2.8 — MEET MARNIE bio teaser (homepage)
   Features photo #9 as the editorial bio spotlight.
   ════════════════════════════════════════════════════════ */
.meet-marnie{
  padding:140px 0 160px;
  background:linear-gradient(180deg, var(--paper) 0%, var(--paper-warm) 100%);
  position:relative; overflow:hidden;
}
.meet-marnie::before{
  content:""; position:absolute;
  top:-160px; left:-160px; width:520px; height:520px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,210,63,.16) 0%, transparent 70%);
  pointer-events:none;
}
.meet-marnie::after{
  content:""; display:none;
}
.meet-marnie-inner{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:96px;
  align-items:center;
  position:relative; z-index:2;
}
.mm-photo-frame{
  position:relative;
  aspect-ratio:3/4;
  max-width:460px;
  border-radius:14px;
  margin-left:32px;            /* room for the color block to peek behind */
}
.mm-photo-frame::before{
  /* editorial color block behind the photo */
  content:""; position:absolute;
  inset:28px -28px -28px -28px;
  background:linear-gradient(135deg, var(--pink) 0%, var(--pink-deep) 100%);
  border-radius:14px;
  z-index:1;
  transition:transform .7s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.mm-photo-frame:hover::before{
  transform:translate(-14px, 14px);
}
.mm-photo-frame img{
  position:relative; z-index:2;
  width:100%; height:100%;
  object-fit:cover; object-position:center top;
  border-radius:14px;
  box-shadow:0 30px 80px -20px rgba(14,8,16,.35);
  display:block;
  transition:transform .7s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.mm-photo-frame:hover img{ transform:translate(-6px, -6px); }
.mm-photo-stamp{
  position:absolute;
  top:-22px; right:-22px;
  z-index:3;
  width:80px; height:80px; border-radius:50%;
  background:var(--yellow); color:var(--ink);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-style:italic;
  font-size:30px; font-weight:400;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  letter-spacing:-.02em;
  box-shadow:0 12px 32px -8px rgba(255,210,63,.55);
  transform:rotate(-8deg);
  transition:transform .5s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.mm-photo-frame:hover .mm-photo-stamp{
  transform:rotate(4deg) scale(1.08);
}

.mm-text .eyebrow{
  margin-bottom:28px;
  font-size:14px;
  letter-spacing:.26em;
  font-weight:700;
}
.mm-text .eyebrow::before{
  width:44px;
  height:1.5px;
}
.mm-name{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(56px, 7.5vw, 132px);
  line-height:.88; letter-spacing:-.045em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 36px;
}
.mm-period{ color:var(--pink); }
.mm-bio{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(18px, 1.5vw, 22px);
  line-height:1.55;
  color:var(--ink);
  font-variation-settings:"SOFT" 100;
  margin:0 0 36px;
  max-width:640px;
}
.mm-bio em{
  font-style:italic;
  color:var(--pink);
}
.mm-creds{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-bottom:36px;
}
.mm-creds span{
  font-family:var(--mono); font-size:10px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-soft);
  padding:8px 14px;
  border:1px solid var(--rule);
  border-radius:100px;
  background:rgba(255,255,255,.5);
}

@media (max-width:1100px){
  .meet-marnie{ padding:96px 32px; }
  .meet-marnie::after{ font-size:220px; right:-20px; top:40px; }
  .meet-marnie-inner{ grid-template-columns:1fr; gap:80px; }
  .mm-photo-frame{ max-width:380px; margin:0 auto; }
}
@media (max-width:640px){
  .meet-marnie{ padding:64px 18px; }
  .meet-marnie::after{ display:none; }
  .meet-marnie-inner{ gap:48px; }
  .mm-photo-frame{ max-width:280px; margin-left:auto; margin-right:auto; }
  .mm-photo-frame::before{ inset:16px -16px -16px -16px; }
  .mm-photo-stamp{ width:64px; height:64px; font-size:24px; top:-16px; right:-16px; }
  .mm-name{ font-size:72px; }
  .mm-bio{ font-size:17px; }
  .mm-creds{ gap:6px; }
  .mm-creds span{ font-size:9px; padding:6px 10px; }
}
/* ════════════════════════════════════════════════════════
   PHASE 2.9 — OPTIMIZATION SWEEP
   ① Fix all unstyled classes in sections 2 (About) & 3 (Consulting)
   ② New CSS for Speaking tiers + Contact FAQ
   ③ Gradient/neon border utilities
   ④ Animation refinements
   ════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   ① GRADIENT BORDER UTILITIES
   Used selectively on premium/featured elements
   ───────────────────────────────────────────── */
@keyframes neon-spin {
  to { --neon-angle: 360deg; }
}
@property --neon-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
.has-neon-border{
  position:relative;
  background:var(--paper);
  border-radius:18px;
  z-index:1;
}
.has-neon-border::before{
  content:""; position:absolute; inset:-2px;
  border-radius:inherit;
  padding:2px;
  background:conic-gradient(from var(--neon-angle, 0deg),
    var(--pink) 0deg,
    var(--yellow) 90deg,
    var(--royal) 180deg,
    var(--pink) 270deg,
    var(--pink) 360deg
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  animation:neon-spin 8s linear infinite;
  z-index:-1;
  opacity:.9;
}
.has-neon-border-static::before{ animation:none; }
.has-neon-border:hover::before{ animation-duration:3s; opacity:1; }
@supports not (background: conic-gradient(from 0deg, red, blue)) {
  .has-neon-border::before{
    background:linear-gradient(135deg, var(--pink), var(--yellow), var(--royal));
  }
}

/* Subtle glow ring on hover */
.has-glow-hover{
  transition:box-shadow .4s ease;
}
.has-glow-hover:hover{
  box-shadow:0 0 0 1px var(--pink), 0 0 32px -4px rgba(255,31,110,.5);
}

/* ─────────────────────────────────────────────
   ② ABOUT PAGE — section 2 (was broken)
   ───────────────────────────────────────────── */
.about-hero{
  padding:140px 0 100px;
  background:linear-gradient(135deg, var(--ink) 0%, #1a0e1a 60%, var(--ink-2) 100%);
  color:var(--paper);
  position:relative; overflow:hidden;
}
.about-hero::before{
  content:""; position:absolute;
  top:-200px; right:-200px; width:700px; height:700px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,31,110,.18) 0%, transparent 70%);
  pointer-events:none;
}
.about-hero-inner{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:80px;
  align-items:center;
  position:relative; z-index:2;
}
.about-hero-text .eyebrow{
  color:var(--yellow); border-color:rgba(255,210,63,.3);
  margin-bottom:32px;
}
.about-hero-text h1{
  color:var(--paper); margin:0;
}
.about-hero-text h1 em{ color:var(--pink); font-style:italic; }
.about-hero-photo{
  position:relative;
  aspect-ratio:3/4;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 40px 80px -20px rgba(0,0,0,.5);
  transform:rotate(2deg);
  transition:transform .6s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.about-hero-photo::before{
  content:""; position:absolute;
  inset:-12px -12px -12px 12px;
  background:linear-gradient(135deg, var(--pink) 0%, var(--yellow) 100%);
  border-radius:14px;
  z-index:-1;
}
.about-hero-photo:hover{ transform:rotate(0deg) scale(1.02); }
.about-hero-photo img{
  width:100%; height:100%;
  object-fit:cover; object-position:center top;
  display:block;
}

/* Mission Quote */
.mission-quote{
  padding:120px 0;
  background:linear-gradient(180deg, var(--paper) 0%, var(--paper-warm) 100%);
  position:relative; overflow:hidden;
}
.mq-wrap{
  max-width:920px; margin:0 auto;
  text-align:center; position:relative;
}
.mq-mark{
  font-family:var(--serif); font-weight:300;
  font-size:200px; line-height:.6;
  color:var(--pink); opacity:.45;
  margin:0 0 -40px;
  /* WONK turned off (was 1) so the " character renders as a clean
     traditional pair of marks rather than the stylized abstract form
     that read as a single shape — Lauren noted it didn't read as
     two quotes visually. SOFT stays on for the friendly silhouette. */
  font-variation-settings:"SOFT" 100, "WONK" 0;
}
.mq-text{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(28px, 3.4vw, 52px);
  line-height:1.18;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  letter-spacing:-.02em;
  margin:0 0 32px;
}
.mq-text em{
  color:var(--pink); font-style:italic;
}
.mq-attr{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-mute);
}

/* Timeline */
.timeline-section{
  padding:140px 0;
  background:var(--paper);
}
.timeline-section .services-header{
  margin-bottom:96px;
}
.timeline{
  max-width:920px; margin:0 auto;
  position:relative;
}
.timeline-line{
  position:absolute;
  left:120px; top:0; bottom:0;
  width:1px;
  background:linear-gradient(180deg,
    transparent 0%,
    var(--rule) 8%,
    var(--rule) 92%,
    transparent 100%);
}
.timeline-item{
  display:grid;
  grid-template-columns:100px 60px 1fr;
  gap:0;
  align-items:start;
  margin-bottom:48px;
  position:relative;
}
.timeline-item::before{
  /* dot on the line */
  content:""; position:absolute;
  left:115px; top:8px;
  width:11px; height:11px;
  background:var(--pink);
  border-radius:50%;
  border:3px solid var(--paper);
  box-shadow:0 0 0 1px var(--rule);
  z-index:2;
  transition:transform .4s ease;
}
.timeline-item:hover::before{
  transform:scale(1.4);
  background:var(--yellow);
}
.timeline-year{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.16em; color:var(--ink-mute);
  text-transform:uppercase;
  padding-top:6px;
}
.timeline-card{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:14px;
  padding:24px 28px;
  margin-left:24px;
  transition:all .4s var(--easing);
}
.timeline-item:hover .timeline-card{
  border-color:var(--pink);
  box-shadow:0 20px 40px -10px rgba(255,31,110,.18);
  transform:translateX(6px);
}
.timeline-tag{
  display:inline-block;
  font-family:var(--mono); font-size:9px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--pink); background:rgba(255,31,110,.08);
  padding:5px 11px; border-radius:100px;
  margin-bottom:14px;
}
.timeline-card h3{
  font-family:var(--serif); font-weight:400;
  font-size:21px; line-height:1.2;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 10px;
}
.timeline-card p{
  font-size:14px; line-height:1.6;
  color:var(--ink-soft);
  margin:0;
}

/* Awards Dark Section */
.awards-dark-section{
  padding:140px 0;
  background:linear-gradient(135deg, var(--ink) 0%, #1a0e1a 60%, var(--ink-2) 100%);
  color:var(--paper);
  position:relative; overflow:hidden;
}
.awards-dark-section::before{
  content:""; position:absolute;
  bottom:-200px; left:-200px; width:600px; height:600px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,210,63,.14) 0%, transparent 70%);
  pointer-events:none;
}
.awards-dark-section .services-header{ position:relative; z-index:2; }
.awards-dark-section .display-lg{ color:var(--paper); margin:0; }
.awards-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
  border-top:1px solid rgba(255,249,245,.12);
  border-left:1px solid rgba(255,249,245,.12);
  margin-top:64px;
  position:relative; z-index:2;
}
.award-card{
  padding:36px 32px;
  border-right:1px solid rgba(255,249,245,.12);
  border-bottom:1px solid rgba(255,249,245,.12);
  transition:background .4s ease;
}
.award-card:hover{
  background:rgba(255,31,110,.1);
}
.award-year{
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--yellow); margin-bottom:14px;
}
.award-name{
  font-family:var(--serif); font-weight:400;
  font-size:21px; line-height:1.2;
  color:var(--paper);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin-bottom:10px;
}
.award-org{
  font-size:14px; line-height:1.55;
  color:rgba(255,249,245,.68);
}

/* ─────────────────────────────────────────────
   ③ CONSULTING PAGE — section 3 (was broken)
   ───────────────────────────────────────────── */
.page-hero{
  padding:140px 0 100px;
  background:var(--paper);
  text-align:center;
  position:relative; overflow:hidden;
}
.page-hero::before{
  content:""; position:absolute;
  top:-300px; left:50%; transform:translateX(-50%);
  width:1200px; height:600px;
  background:radial-gradient(ellipse at center top,
    rgba(255,210,63,.12) 0%, transparent 60%);
  pointer-events:none;
}
.page-hero-inner{
  max-width:980px; margin:0 auto;
  position:relative; z-index:2;
}
.page-hero-inner .eyebrow{
  justify-content:center;
  display:inline-flex;
  margin-bottom:32px;
}
.page-hero-inner h1{
  margin:0; line-height:.95;
}
.page-hero-inner h1 em{ color:var(--pink); font-style:italic; }
.page-hero-inner > p{ margin-left:auto; margin-right:auto; }

/* Audience Strip */
.audience-strip{
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:10px;
  margin-top:56px;
}
.audience-label{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-mute);
  margin-right:14px;
}
.audience-pill{
  font-family:var(--mono); font-size:11px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink);
  padding:10px 16px;
  border:1px solid var(--rule);
  border-radius:100px;
  background:var(--paper);
  transition:all .3s var(--easing);
}
.audience-pill:hover{
  background:var(--ink);
  color:var(--yellow);
  border-color:var(--ink);
  transform:translateY(-2px);
}

/* Services List */
.services-list{
  padding:120px 0;
  background:var(--paper);
}
/* ════════════════════════════════════════════════════════════════════
   SERVICE TIER CARDS — Complete UX rebuild
   Each .service-row is now a self-contained editorial card with its
   own accent color, clear visual hierarchy, and breathable structure.
   ════════════════════════════════════════════════════════════════════ */

/* Per-tier accent colors — applied to numbers, labels, hover states */
.service-row[data-svc-num="01"]{ --svc-accent:var(--pink);    --svc-accent-soft:rgba(255,31,110,.10); }
.service-row[data-svc-num="02"]{ --svc-accent:#e8b800;        --svc-accent-soft:rgba(232,184,0,.12); }
.service-row[data-svc-num="03"]{ --svc-accent:#c2410c;        --svc-accent-soft:rgba(194,65,12,.10); }
.service-row[data-svc-num="04"]{ --svc-accent:var(--royal);   --svc-accent-soft:rgba(30,63,195,.10); }
.service-row[data-svc-num="05"]{ --svc-accent:#0f766e;        --svc-accent-soft:rgba(15,118,110,.10); }

.service-row{
  /* The card. Warm paper background, generous padding, rounded corners,
     soft layered shadow. Each card sits in its own breathing space — no
     more flat horizontal rules between rows, no more dense info-dump. */
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  background:var(--paper);
  border-radius:24px;
  padding:56px 56px 48px;
  margin-bottom:32px;
  border:1px solid rgba(14,8,16,.06);
  box-shadow:
    0 1px 0 rgba(14,8,16,.02),
    0 24px 48px -24px rgba(14,8,16,.12);
  transition:transform .5s cubic-bezier(.22,1,.36,1),
             box-shadow .5s ease,
             border-color .3s ease;
  position:relative;
  overflow:hidden;
}
.service-row::before{
  /* Subtle accent stripe at the top of each card — establishes the
     tier's identity at a glance */
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background:linear-gradient(90deg, var(--svc-accent) 0%, var(--svc-accent) 100px, transparent 100px);
}
.service-row::after{
  /* Soft glow accent in the upper-right corner */
  content:"";
  position:absolute;
  top:-100px; right:-100px;
  width:300px; height:300px;
  background:radial-gradient(circle, var(--svc-accent-soft) 0%, transparent 60%);
  pointer-events:none;
  z-index:0;
}
.service-row:hover{
  transform:translateY(-4px);
  border-color:var(--svc-accent);
  box-shadow:
    0 1px 0 rgba(14,8,16,.02),
    0 36px 72px -24px rgba(14,8,16,.18);
}

/* ─── HEADER ZONE: number + title + lead copy ─────────────── */
.service-row-num{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(80px, 8vw, 128px);
  line-height:.9;
  color:var(--svc-accent);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  letter-spacing:-.04em;
  font-style:italic;
  user-select:none;
  margin:0 0 12px;
  position:relative;
  z-index:2;
  /* Each number sits as its own display moment, not crammed into a
     left gutter column */
}

.service-main{
  position:relative;
  z-index:2;
  min-width:0;
  margin-bottom:40px;
}
.service-main h3{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(28px, 3.4vw, 44px);
  line-height:1.05;
  letter-spacing:-.022em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 28px;
  max-width:780px;
}
.service-main p{
  font-family:var(--serif);
  font-size:17px;
  line-height:1.65;
  color:var(--ink-soft);
  margin:0 0 18px;
  max-width:680px;
  font-variation-settings:"SOFT" 100;
}
.service-main p:last-child{ margin-bottom:0; }

/* ─── BODY ZONE: 2-col split, deliverables + business details ─── */
.service-row .service-body{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:48px;
  align-items:start;
  margin-bottom:40px;
  padding-top:36px;
  border-top:1px solid var(--rule);
  position:relative;
  z-index:2;
}

/* "What's included" list — now flows in body grid, not as a sidebar */
.service-aside{
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
  position:static;
  box-shadow:none;
}
.service-row:hover .service-aside{
  border-color:transparent;
  box-shadow:none;
}
.service-aside h4{
  font-family:var(--mono); font-size:11px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--svc-accent);
  margin:0 0 22px;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.service-aside h4::before{
  content:"";
  display:inline-block;
  width:24px; height:1.5px;
  background:var(--svc-accent);
}
.service-aside ul{
  list-style:none;
  padding:0;
  margin:0 0 28px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 24px;
}
.service-aside li{
  font-family:var(--sans);
  font-size:14px;
  line-height:1.4;
  color:var(--ink);
  padding:10px 0;
  border-bottom:1px solid rgba(14,8,16,.06);
  display:flex;
  align-items:flex-start;
  gap:10px;
  /* Reset legacy absolute positioning */
  position:static;
}
.service-aside li::before{
  content:"✓";
  color:var(--svc-accent);
  font-weight:700;
  flex-shrink:0;
  font-size:13px;
  line-height:1.4;
  position:static;
}
.service-aside .btn{
  width:100%;
  justify-content:center;
}

/* Business details — Investment / Duration / Built for stack vertically */
.service-detail{
  grid-column:auto;
  margin-top:0;
  padding-top:0;
  border-top:none;
  display:flex;
  flex-direction:column;
  gap:24px;
  background:var(--paper-warm);
  padding:32px 28px;
  border-radius:14px;
  border:1px solid rgba(14,8,16,.06);
}
.service-detail-block{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-bottom:24px;
  border-bottom:1px solid rgba(14,8,16,.08);
}
.service-detail-block:last-child{
  padding-bottom:0;
  border-bottom:none;
}
.sdb-label{
  font-family:var(--mono);
  font-size:10px; font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--svc-accent);
}
.sdb-value{
  font-family:var(--serif);
  font-weight:400;
  font-size:22px;
  line-height:1.2;
  letter-spacing:-.012em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.sdb-meta{
  font-family:var(--sans);
  font-size:13px;
  line-height:1.55;
  color:var(--ink-soft);
}

/* ─── ENGAGEMENT FLOW: horizontal connected timeline ─── */
.service-flow{
  grid-column:auto;
  margin-top:0;
  padding:32px 0 0;
  border-top:1px solid var(--rule);
  position:relative;
  z-index:2;
}
.service-flow-label{
  font-family:var(--mono);
  font-size:11px; font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--svc-accent);
  margin-bottom:24px;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.service-flow-label::before{
  content:"";
  display:inline-block;
  width:24px; height:1.5px;
  background:var(--svc-accent);
}
.service-flow-steps{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:0;
  position:relative;
}
.service-flow-steps::before{
  /* Connecting line behind the step dots */
  content:"";
  position:absolute;
  top:18px;
  left:5%;
  right:5%;
  height:2px;
  background:repeating-linear-gradient(
    90deg,
    var(--svc-accent) 0,
    var(--svc-accent) 6px,
    transparent 6px,
    transparent 12px
  );
  opacity:.4;
  z-index:0;
}
/* Tier 03 has 4 steps not 5 — adjust grid */
.service-row[data-svc-num="03"] .service-flow-steps,
.service-row[data-svc-num="04"] .service-flow-steps,
.service-row[data-svc-num="05"] .service-flow-steps{
  grid-template-columns:repeat(4, 1fr);
}
.service-row[data-svc-num="02"] .service-flow-steps{
  grid-template-columns:repeat(4, 1fr);
}
.sfs-step{
  flex:none;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  padding:0 12px;
  position:relative;
  z-index:1;
}
.sfs-step:first-child{ padding-left:0; }
.sfs-step:last-child{ padding-right:0; }
/* Replace text arrow with a circular dot for each step */
.sfs-step::before{
  content:"";
  width:36px; height:36px;
  border-radius:50%;
  background:var(--paper);
  border:2px solid var(--svc-accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--mono);
  font-size:11px; font-weight:700;
  color:var(--svc-accent);
  position:relative;
  z-index:1;
  flex-shrink:0;
  transition:background .3s ease, transform .3s ease;
}
.sfs-step:nth-child(1)::before{ content:"1"; }
.sfs-step:nth-child(2)::before{ content:"2"; }
.sfs-step:nth-child(3)::before{ content:"3"; }
.sfs-step:nth-child(4)::before{ content:"4"; }
.sfs-step:nth-child(5)::before{ content:"5"; }
.service-row:hover .sfs-step::before{
  background:var(--svc-accent);
  color:var(--paper);
}
.sfs-step:not(:last-child)::after{
  /* Hide the old text arrow */
  display:none;
}
.sfs-num{
  display:none;  /* The numbered dot replaces this */
}
.sfs-title{
  font-family:var(--serif);
  font-weight:400;
  font-size:14px;
  line-height:1.3;
  color:var(--ink);
  font-variation-settings:"SOFT" 100;
}
.sfs-week{
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-mute);
}

/* ─── Section wrapper — vertical rhythm between cards ─── */
.services-list{
  display:block;  /* Cards stack with their own margin-bottom now */
  padding:0;
}
.service-row:last-child{ margin-bottom:0; border-bottom:1px solid rgba(14,8,16,.06); }

/* Page-hero-tight — compact opening so first service-row is visible */
.page-hero.page-hero-tight{
  padding:64px 40px 36px;
  min-height:auto;
}
.page-hero-tight .display-lg{
  font-size:clamp(48px, 6vw, 84px) !important;
  line-height:.96;
  margin:8px 0 0;
}
.page-hero-tight .eyebrow{ margin-bottom:14px; }
.page-hero-tight .audience-strip{ margin-top:32px; }

/* ─── Responsive ─── */
@media (max-width:1100px){
  .service-row{
    padding:40px 32px 36px;
  }
  .service-row-num{
    font-size:72px;
  }
  .service-body{
    grid-template-columns:1fr;
    gap:36px;
  }
  .service-aside ul{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:760px){
  .service-row{
    padding:32px 24px 28px;
    margin-bottom:24px;
  }
  .service-row-num{
    font-size:56px;
  }
  .service-aside ul{
    grid-template-columns:1fr;
    gap:4px;
  }
  .service-flow-steps{
    grid-template-columns:1fr !important;
    gap:18px;
  }
  .service-flow-steps::before{ display:none; }
  .sfs-step{
    flex-direction:row;
    align-items:flex-start;
    padding:0;
    gap:14px;
  }
  .sfs-step > div{
    flex:1;
  }
}
.service-aside{
  background:var(--paper-warm);
  border:1px solid var(--rule);
  border-radius:14px;
  padding:32px 28px;
  position:sticky; top:120px;
  transition:all .4s var(--easing);
}
.service-row:hover .service-aside{
  border-color:var(--pink);
  box-shadow:0 24px 48px -16px rgba(255,31,110,.2);
}
.service-aside h4{
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--pink);
  margin:0 0 18px;
}
.service-aside ul{
  list-style:none; padding:0; margin:0 0 24px;
}
.service-aside li{
  font-size:14px; line-height:1.45;
  color:var(--ink); padding:10px 0;
  border-bottom:1px solid var(--rule);
  display:flex; align-items:center; gap:10px;
}
.service-aside li:last-child{ border-bottom:none; }
.service-aside li::before{
  content:"→"; color:var(--pink);
  font-size:12px; font-family:var(--mono);
  flex-shrink:0;
}

/* Service-aside CTAs — Lauren request: text must fit comfortably.
   The buttons use inline width:100%, which combined with .btn's
   white-space:nowrap caused "Start a Faith-Based Engagement →"
   (and other long labels) to overflow the rounded pill. Fix: allow
   text to wrap inside the button, slightly reduce the letter-spacing
   and padding so labels breathe but stay legible. */
.service-aside .btn{
  white-space:normal !important;       /* allow wrapping */
  line-height:1.25;
  padding:14px 24px;
  letter-spacing:.04em;
  font-size:12.5px;
  text-align:center;
  min-height:48px;
}

/* Process Section */
.process-section{
  padding:140px 0;
  background:linear-gradient(135deg, var(--ink) 0%, #1a0e1a 60%, var(--ink-2) 100%);
  color:var(--paper);
  position:relative; overflow:hidden;
}
.process-section::before{
  content:""; position:absolute;
  top:50%; left:50%; transform:translate(-50%, -50%);
  width:1000px; height:1000px;
  background:radial-gradient(circle, rgba(255,31,110,.08) 0%, transparent 60%);
  pointer-events:none;
}
.process-section .services-header{ position:relative; z-index:2; }
.process-section .display-lg{ color:var(--paper); margin:0; }
.process-section .eyebrow{
  color:var(--yellow); border-color:rgba(255,210,63,.3);
}
.process-steps{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:24px;
  margin-top:80px;
  position:relative; z-index:2;
}
.process-step{
  text-align:center;
  padding:32px 20px;
  border-radius:14px;
  background:rgba(255,249,245,.03);
  border:1px solid rgba(255,249,245,.08);
  position:relative;
  transition:all .4s var(--easing);
}
.process-step:hover{
  background:rgba(255,31,110,.08);
  border-color:rgba(255,31,110,.3);
  transform:translateY(-6px);
}
.process-num{
  font-family:var(--serif); font-weight:300;
  font-size:48px; line-height:1;
  color:var(--pink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin-bottom:14px;
}
.process-step h4{
  font-family:var(--serif); font-weight:400;
  font-size:18px; line-height:1.2;
  color:var(--paper);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 10px;
}
.process-step p{
  font-size:13px; line-height:1.55;
  color:rgba(255,249,245,.68);
  margin:0;
}

/* Pricing Section */
.pricing-section{
  padding:140px 0;
  background:linear-gradient(180deg, var(--paper-warm) 0%, var(--paper) 100%);
}
.pricing-tiers{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  margin-top:64px;
  align-items:stretch;
}
.pricing-tier{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:18px;
  padding:40px 32px;
  display:flex; flex-direction:column;
  position:relative;
  transition:all .4s var(--easing);
}
.pricing-tier:hover{
  transform:translateY(-8px);
  border-color:var(--pink);
  box-shadow:0 32px 64px -16px rgba(255,31,110,.22);
}
.pricing-tier.featured{
  background:linear-gradient(165deg, var(--ink) 0%, #1a0e1a 60%, var(--ink-2) 100%);
  color:var(--paper);
  border:none;
  transform:translateY(-8px) scale(1.02);
  box-shadow:0 32px 64px -16px rgba(255,31,110,.4);
  /* gradient glow border */
  position:relative;
  z-index:1;
}
.pricing-tier.featured::before{
  content:""; position:absolute; inset:-2px;
  border-radius:inherit;
  padding:2px;
  background:conic-gradient(from var(--neon-angle, 0deg),
    var(--pink) 0deg,
    var(--yellow) 90deg,
    var(--royal) 180deg,
    var(--pink) 270deg,
    var(--pink) 360deg
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  animation:neon-spin 8s linear infinite;
  z-index:-1;
}
.pricing-tier.featured:hover{ transform:translateY(-14px) scale(1.03); }
.popular-badge{
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:var(--yellow); color:var(--ink);
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  padding:8px 18px; border-radius:100px;
  white-space:nowrap;
  box-shadow:0 8px 20px -4px rgba(255,210,63,.5);
}
.tier-name{
  font-family:var(--serif); font-weight:400;
  font-size:28px; line-height:1;
  color:inherit;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 12px;
}
.tier-price{
  font-family:var(--serif); font-weight:400;
  font-size:48px; line-height:1; letter-spacing:-.025em;
  color:var(--pink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 6px;
}
.pricing-tier.featured .tier-price{ color:var(--yellow); }
.tier-meta{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-mute);
  margin-bottom:28px;
}
.pricing-tier.featured .tier-meta{ color:rgba(255,249,245,.55); }
.pricing-tier .tier-features{
  list-style:none; padding:0; margin:0 0 28px;
  flex:1;
}
.pricing-tier .tier-features li{
  font-size:14px; line-height:1.5;
  padding:12px 0;
  border-bottom:1px solid var(--rule);
  display:flex; align-items:flex-start; gap:12px;
  color:inherit;
  /* Explicitly reset — the legacy .tier-features li rule earlier in
     the cascade sets position:relative + padding-left:26px for an
     absolute-positioned "+" marker. We don't want that here; the
     checkmark needs to flow as a flex item, not overlap the text. */
  position:static;
  padding-left:0;
}
.pricing-tier.featured .tier-features li{
  border-color:rgba(255,249,245,.12);
}
.pricing-tier .tier-features li:last-child{ border-bottom:none; }
.pricing-tier .tier-features li::before{
  content:"✓"; color:var(--pink); font-weight:700;
  font-size:14px; line-height:1.5;
  flex-shrink:0;
  /* Counter the legacy absolute positioning explicitly */
  position:static;
  top:auto; left:auto;
  /* Tiny adjustment to align checkmark with first text line */
  margin-top:1px;
}
.pricing-tier.featured .tier-features li::before{ color:var(--yellow); }

/* Clients Section */
.clients-section{
  padding:80px 0;
  background:var(--paper);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.clients-strip{
  margin-top:32px;
}
.client-line{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(18px, 2vw, 26px);
  line-height:1.55;
  color:var(--ink-soft);
  font-variation-settings:"SOFT" 100;
  text-align:center;
  max-width:1080px; margin:0 auto;
}

/* ─────────────────────────────────────────────
   ④ SPEAKING PAGE — fix + polish
   ───────────────────────────────────────────── */
.speak-hero{
  padding:140px 0 100px;
  background:linear-gradient(135deg, var(--ink) 0%, #1a0e1a 60%, var(--ink-2) 100%);
  color:var(--paper);
  position:relative; overflow:hidden;
}
.speak-hero::before{
  content:""; position:absolute;
  top:-200px; right:-200px; width:700px; height:700px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,210,63,.16) 0%, transparent 70%);
  pointer-events:none;
}
.speak-hero-inner{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:80px;
  align-items:center;
  position:relative; z-index:2;
}
.speak-hero-text .eyebrow{
  color:var(--yellow); border-color:rgba(255,210,63,.3);
  margin-bottom:32px;
}
.speak-hero-text h1{
  color:var(--paper); margin:0;
}
.speak-hero-text h1 em{ color:var(--yellow); font-style:italic; }
.speak-hero-photo{
  position:relative;
  aspect-ratio:3/4;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 40px 80px -20px rgba(0,0,0,.5);
  transform:rotate(-2deg);
  transition:transform .6s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.speak-hero-photo::before{
  content:""; position:absolute;
  inset:-12px 12px -12px -12px;
  background:linear-gradient(135deg, var(--yellow) 0%, var(--pink) 100%);
  border-radius:14px;
  z-index:-1;
}
.speak-hero-photo:hover{ transform:rotate(0deg) scale(1.02); }
.speak-hero-photo img{
  width:100%; height:100%;
  object-fit:cover; object-position:center top;
  display:block;
}

/* TEDx Feature */
.tedx-feature{
  padding:140px 0;
  background:var(--paper);
}
.tedx-inner{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:80px;
  align-items:center;
}
.tedx-video{
  position:relative;
  aspect-ratio:16/9;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 32px 64px -16px rgba(0,0,0,.25);
}
.tedx-video iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
  border:none;
}
.tedx-text h2{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(36px, 4vw, 56px);
  line-height:1; letter-spacing:-.025em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:24px 0 24px;
}
.tedx-text h2 em{ color:var(--pink); font-style:italic; }
.tedx-text p{
  font-size:17px; line-height:1.65;
  color:var(--ink-soft); margin:0 0 18px;
}

/* Topics Section */
.topics-section{
  padding:140px 0;
  background:linear-gradient(180deg, var(--paper) 0%, var(--paper-warm) 100%);
}
.topics-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  margin-top:64px;
}
.topic-card{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:14px;
  padding:36px 32px;
  transition:all .4s var(--easing);
  position:relative;
  overflow:hidden;
}
.topic-card::after{
  /* corner gradient sweep on hover */
  content:""; position:absolute;
  top:-50%; right:-50%; width:200%; height:200%;
  background:radial-gradient(circle at top right,
    rgba(255,31,110,.12) 0%, transparent 50%);
  opacity:0;
  transition:opacity .5s ease;
  pointer-events:none;
}
.topic-card:hover{
  transform:translateY(-6px);
  border-color:var(--pink);
  box-shadow:0 24px 48px -16px rgba(255,31,110,.18);
}
.topic-card:hover::after{ opacity:1; }
.topic-num{
  font-family:var(--mono); font-size:11px; font-weight:700;
  letter-spacing:.18em; color:var(--pink);
  margin-bottom:16px;
}
.topic-card h3{
  font-family:var(--serif); font-weight:400;
  font-size:24px; line-height:1.15;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 14px;
  position:relative; z-index:1;
}
.topic-card p{
  font-size:15px; line-height:1.6;
  color:var(--ink-soft); margin:0;
  position:relative; z-index:1;
}

/* Venues Section */
.venues-section{
  padding:140px 0;
  background:var(--paper);
}
.venues-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  border-top:1px solid var(--rule);
  border-left:1px solid var(--rule);
  margin-top:64px;
}
.venue-card{
  padding:32px 24px;
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  transition:background .4s ease, transform .35s ease;
  display:block;
  text-decoration:none;
  color:inherit;
  position:relative;
}
.venue-card:hover{
  background:var(--paper-warm);
}
a.venue-card:hover{
  background:var(--paper-warm);
  transform:translateY(-2px);
}
a.venue-card:hover .venue-name{
  color:var(--pink);
}
/* External-link arrow appears for anchor venue cards */
a.venue-card::after{
  content:"↗";
  position:absolute;
  top:24px; right:24px;
  font-family:var(--mono);
  font-size:14px;
  color:var(--ink-mute);
  opacity:0;
  transition:opacity .3s ease, transform .3s ease;
}
a.venue-card:hover::after{
  opacity:1;
  transform:translate(2px, -2px);
  color:var(--pink);
}
/* Featured TEDx venue card — yellow-on-ink, anchors the grid */
.venue-card-featured{
  background:var(--ink) !important;
  color:var(--paper) !important;
  grid-column:span 2;
}
.venue-card-featured .venue-year{
  color:var(--yellow);
}
.venue-card-featured .venue-name{
  color:var(--paper);
  font-size:28px;
  font-style:italic;
}
.venue-card-featured .venue-role{
  color:rgba(255,249,245,.7);
}
.venue-card-featured:hover{
  background:var(--ink) !important;
}
.venue-card-featured:hover .venue-name{
  color:var(--yellow);
}
.venue-card-featured::after{
  color:rgba(255,249,245,.5);
}

@media (max-width:760px){
  .venue-card-featured{ grid-column:span 1; }
  .venue-card-featured .venue-name{ font-size:22px; }
}
.venue-year{
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.22em; color:var(--pink);
  margin-bottom:12px;
}
.venue-name{
  font-family:var(--serif); font-weight:400;
  font-size:20px; line-height:1.2;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin-bottom:6px;
}
.venue-role{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-mute);
}

/* Speaker Kit Section */
.speaker-kit-section{
  padding:140px 0;
  background:linear-gradient(135deg, var(--ink) 0%, #1a0e1a 60%, var(--ink-2) 100%);
  color:var(--paper);
  position:relative; overflow:hidden;
}
.speaker-kit-section::before{
  content:""; position:absolute;
  bottom:-200px; right:-200px; width:600px; height:600px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,31,110,.14) 0%, transparent 70%);
  pointer-events:none;
}
.speaker-kit-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
  position:relative; z-index:2;
}
.kit-text .eyebrow{
  color:var(--yellow); border-color:rgba(255,210,63,.3);
}
.kit-text h2{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(36px, 4vw, 56px);
  line-height:1; letter-spacing:-.025em;
  color:var(--paper);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:24px 0 0;
}
.kit-text h2 em{ color:var(--yellow); font-style:italic; }
.kit-card{
  background:var(--paper); color:var(--ink);
  border-radius:14px;
  padding:40px 36px;
  box-shadow:0 32px 64px -16px rgba(0,0,0,.4);
  display:flex; flex-direction:column;
  min-height:380px;
  transform:rotate(2deg);
  transition:transform .4s var(--easing);
  position:relative;
  z-index:1;
}
.kit-card::before{
  content:""; position:absolute; inset:-2px;
  border-radius:inherit;
  padding:2px;
  background:conic-gradient(from var(--neon-angle, 0deg),
    var(--pink), var(--yellow), var(--royal), var(--pink));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  animation:neon-spin 10s linear infinite;
  z-index:-1;
  opacity:.7;
}
.kit-card:hover{ transform:rotate(0deg); }
.kit-card-label{
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.22em; color:var(--pink);
  margin-bottom:18px;
}
.kit-card h4{
  font-family:var(--serif); font-weight:400;
  font-size:26px; line-height:1.1;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 24px;
}
.kit-card ul{
  list-style:none; padding:0; margin:0;
  flex:1;
}
.kit-card li{
  font-size:14px; line-height:1.5;
  padding:10px 0;
  border-bottom:1px solid var(--rule);
  display:flex; align-items:center; gap:10px;
  color:var(--ink);
}
.kit-card li:last-child{ border-bottom:none; }
.kit-card li::before{
  content:"●"; color:var(--pink); font-size:8px;
  flex-shrink:0;
}

/* ─────────────────────────────────────────────
   ⑤ SPEAKING TIERS (new section between venues & speaker kit)
   ───────────────────────────────────────────── */
.speak-tiers-section{
  padding:140px 0;
  background:linear-gradient(180deg, var(--paper-warm) 0%, var(--paper) 100%);
  position:relative; overflow:hidden;
}
.speak-tiers-section::before{
  content:""; position:absolute;
  top:-200px; left:-200px; width:600px; height:600px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,210,63,.12) 0%, transparent 70%);
  pointer-events:none;
}
.speak-tiers-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
  margin-top:64px;
  align-items:stretch;
  position:relative; z-index:2;
}
/* Footnote sits below the tier grid — centered, slim,
   editorial caption establishing the travel/customization note */
.speak-tiers-footnote{
  margin-top:64px;
  padding:32px 24px;
  text-align:center;
  position:relative;
}
.speak-footnote-rule{
  display:block;
  width:60px;
  height:1.5px;
  background:var(--pink);
  margin:0 auto 28px;
}
.speak-tiers-footnote p{
  font-family:var(--serif);
  font-weight:400;
  font-size:17px;
  line-height:1.6;
  color:var(--ink-soft);
  max-width:680px;
  margin:0 auto;
  font-variation-settings:"SOFT" 100;
}
.speak-tiers-footnote p em{
  color:var(--pink);
  font-style:italic;
  font-weight:500;
}
@media (max-width:1200px){
  .speak-tiers-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:680px){
  .speak-tiers-grid{ grid-template-columns:1fr; }
  .speak-tiers-footnote p{ font-size:15px; }
}
.speak-tier{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:14px;
  padding:32px 24px;
  display:flex; flex-direction:column;
  transition:all .4s var(--easing);
  position:relative;
}
.speak-tier:hover{
  transform:translateY(-8px);
  border-color:var(--pink);
  box-shadow:0 24px 48px -12px rgba(255,31,110,.22);
}
.speak-tier.featured{
  background:linear-gradient(165deg, var(--ink) 0%, #1a0e1a 60%, var(--ink-2) 100%);
  color:var(--paper);
  border:none;
  transform:translateY(-12px) scale(1.04);
  box-shadow:0 32px 64px -16px rgba(255,31,110,.45);
  z-index:2;
}
.speak-tier.featured::before{
  content:""; position:absolute; inset:-2px;
  border-radius:inherit;
  padding:2px;
  background:conic-gradient(from var(--neon-angle, 0deg),
    var(--pink), var(--yellow), var(--royal), var(--pink));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  animation:neon-spin 6s linear infinite;
  z-index:-1;
}
.speak-tier-badge{
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--yellow); color:var(--ink);
  font-family:var(--mono); font-size:9px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  padding:6px 14px; border-radius:100px;
  white-space:nowrap;
  box-shadow:0 8px 20px -4px rgba(255,210,63,.5);
  z-index:3;
}
.speak-tier-icon{
  font-family:var(--serif); font-weight:300;
  font-size:40px; line-height:1;
  color:var(--pink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 14px;
}
.speak-tier.featured .speak-tier-icon{ color:var(--yellow); }
.speak-tier-name{
  font-family:var(--serif); font-weight:400;
  font-size:21px; line-height:1.15;
  color:inherit;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 8px;
}
.speak-tier-meta{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-mute);
  margin-bottom:24px;
}
.speak-tier.featured .speak-tier-meta{ color:rgba(255,249,245,.55); }
.speak-tier-price{
  font-family:var(--serif); font-weight:400;
  font-size:28px; line-height:1;
  color:var(--pink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin-bottom:6px;
}
.speak-tier.featured .speak-tier-price{ color:var(--yellow); }
.speak-tier-price-meta{
  font-family:var(--mono); font-size:9px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-mute);
  margin-bottom:24px;
  padding-bottom:24px;
  border-bottom:1px solid var(--rule);
}
.speak-tier.featured .speak-tier-price-meta{
  color:rgba(255,249,245,.5);
  border-color:rgba(255,249,245,.15);
}
.speak-tier-includes{
  list-style:none; padding:0; margin:0 0 24px;
  flex:1;
}
.speak-tier-includes li{
  font-size:13px; line-height:1.5;
  padding:8px 0;
  display:flex; align-items:flex-start; gap:8px;
  color:inherit;
}
.speak-tier-includes li::before{
  content:"✓"; color:var(--pink); font-weight:700;
  font-size:11px; flex-shrink:0;
}
.speak-tier.featured .speak-tier-includes li::before{ color:var(--yellow); }
.speak-tier-cta{
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--pink);
  text-decoration:none;
  padding:14px 0;
  border-top:1px solid var(--rule);
  display:flex; align-items:center; justify-content:space-between;
  transition:color .3s var(--easing);
}
.speak-tier.featured .speak-tier-cta{
  color:var(--yellow);
  border-color:rgba(255,249,245,.15);
}
.speak-tier-cta:hover{ color:var(--ink); }
.speak-tier.featured .speak-tier-cta:hover{ color:var(--paper); }

/* ─────────────────────────────────────────────
   ⑥ CONTACT PAGE — FAQ + direct contact card
   ───────────────────────────────────────────── */
.contact-extras{
  padding:120px 0;
  background:linear-gradient(180deg, var(--paper) 0%, var(--paper-warm) 100%);
}
.contact-direct-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  margin-bottom:96px;
}
.contact-direct-card{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:14px;
  padding:36px 32px;
  display:flex; flex-direction:column; gap:14px;
  transition:all .4s var(--easing);
  position:relative;
  overflow:hidden;
}
.contact-direct-card:hover{
  transform:translateY(-6px);
  border-color:var(--pink);
  box-shadow:0 24px 48px -16px rgba(255,31,110,.22);
}
.contact-direct-card::after{
  content:""; position:absolute;
  top:-50%; right:-50%; width:200%; height:200%;
  background:radial-gradient(circle at top right,
    rgba(255,210,63,.12) 0%, transparent 50%);
  opacity:0;
  transition:opacity .5s ease;
  pointer-events:none;
}
.contact-direct-card:hover::after{ opacity:1; }
.cdc-icon{
  width:48px; height:48px;
  border-radius:12px;
  background:linear-gradient(135deg, var(--pink) 0%, var(--pink-deep) 100%);
  color:var(--paper);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-style:italic;
  font-size:24px; font-weight:400;
  position:relative; z-index:1;
}
.cdc-eyebrow{
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--pink);
  position:relative; z-index:1;
}
.cdc-title{
  font-family:var(--serif); font-weight:400;
  font-size:22px; line-height:1.2;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0;
  position:relative; z-index:1;
}
.cdc-desc{
  font-size:14px; line-height:1.55;
  color:var(--ink-soft);
  margin:0;
  position:relative; z-index:1;
}
.cdc-link{
  font-family:var(--mono); font-size:11px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--pink);
  text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid var(--rule);
  position:relative; z-index:1;
  transition:gap .3s var(--easing);
}
.contact-direct-card:hover .cdc-link{ gap:14px; }

/* FAQ Accordion */
.contact-faq-head{
  text-align:center;
  margin-bottom:48px;
}
.contact-faq-head h2{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(36px, 4vw, 64px);
  line-height:1; letter-spacing:-.025em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:24px 0 0;
}
.contact-faq-head h2 em{ color:var(--pink); font-style:italic; }
.contact-faq-list{
  max-width:920px; margin:0 auto;
  display:flex; flex-direction:column; gap:10px;
}
.faq-item{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:12px;
  overflow:hidden;
  transition:border-color .3s ease;
}
.faq-item.is-open{
  border-color:var(--pink);
  box-shadow:0 14px 28px -10px rgba(255,31,110,.18);
}
.faq-q{
  width:100%;
  background:none; border:none;
  text-align:left; padding:24px 28px;
  font-family:var(--serif); font-weight:400;
  font-size:18px; line-height:1.3;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  cursor:pointer;
  display:flex; align-items:center; justify-content:space-between;
  gap:24px;
  transition:color .3s ease;
}
.faq-q:hover{ color:var(--pink); }
.faq-q-icon{
  flex-shrink:0;
  width:32px; height:32px;
  border-radius:50%;
  background:var(--paper-warm);
  border:1px solid var(--rule);
  color:var(--pink);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-size:14px; font-weight:700;
  transition:all .3s var(--easing);
}
.faq-item.is-open .faq-q-icon{
  background:var(--pink); color:var(--paper); border-color:var(--pink);
  transform:rotate(45deg);
}
.faq-a{
  overflow:hidden;
  max-height:0;
  transition:max-height .5s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.faq-item.is-open .faq-a{ max-height:400px; }
.faq-a-inner{
  padding:0 28px 24px;
  font-size:15px; line-height:1.65;
  color:var(--ink-soft);
}
.faq-a-inner p{ margin:0 0 10px; }
.faq-a-inner p:last-child{ margin:0; }

/* ─────────────────────────────────────────────
   ⑦ HOMEPAGE optimization — gradient border on hero CTAs
   ───────────────────────────────────────────── */
.hero .btn-pink{
  position:relative;
  isolation:isolate;
}
.hero .btn-pink::after{
  content:""; position:absolute; inset:-3px;
  border-radius:100px;
  background:conic-gradient(from var(--neon-angle, 0deg),
    var(--pink), var(--yellow), var(--royal), var(--pink));
  z-index:-1;
  opacity:0;
  transition:opacity .4s ease;
  animation:neon-spin 4s linear infinite;
  filter:blur(8px);
}
.hero .btn-pink:hover::after{ opacity:.7; }

/* Library featured card — already has glow but add gradient border */
.library-featured{
  position:relative;
  z-index:1;
}
.library-featured::after{
  content:""; position:absolute; inset:-2px;
  border-radius:inherit;
  padding:2px;
  background:conic-gradient(from var(--neon-angle, 0deg),
    var(--pink) 0deg, var(--yellow) 120deg, var(--pink) 240deg, var(--pink) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  animation:neon-spin 12s linear infinite;
  z-index:-1;
  opacity:.45;
  transition:opacity .4s ease;
}
.library-featured:hover::after{ opacity:.9; }

/* ─────────────────────────────────────────────
   ⑧ RESPONSIVE — fix all the new sections
   ───────────────────────────────────────────── */
@media (max-width:1100px){
  /* About */
  .about-hero{ padding:96px 32px; }
  .about-hero-inner{ grid-template-columns:1fr; gap:64px; }
  .about-hero-photo{ max-width:420px; margin:0 auto; }
  .timeline-section{ padding:96px 32px; }
  .timeline-line{ left:80px; }
  .timeline-item{ grid-template-columns:70px 40px 1fr; }
  .timeline-item::before{ left:75px; }
  .awards-dark-section{ padding:96px 32px; }
  .awards-grid{ grid-template-columns:repeat(2, 1fr); }
  /* Consulting */
  .page-hero{ padding:96px 32px; }
  .services-list{ padding:96px 32px; }
  .service-row{ grid-template-columns:1fr; gap:48px; }
  .service-aside{ position:static; }
  .process-section{ padding:96px 32px; }
  .process-steps{ grid-template-columns:repeat(2, 1fr); }
  .pricing-section{ padding:96px 32px; }
  .pricing-tiers{ grid-template-columns:1fr; max-width:480px; margin:64px auto 0; }
  .pricing-tier.featured{ transform:none; }
  .pricing-tier.featured:hover{ transform:translateY(-8px); }
  /* Speaking */
  .speak-hero{ padding:96px 32px; }
  .speak-hero-inner{ grid-template-columns:1fr; gap:64px; }
  .speak-hero-photo{ max-width:380px; margin:0 auto; }
  .tedx-feature{ padding:96px 32px; }
  .tedx-inner{ grid-template-columns:1fr; gap:48px; }
  .topics-section{ padding:96px 32px; }
  .topics-grid{ grid-template-columns:repeat(2, 1fr); }
  .venues-section{ padding:96px 32px; }
  .venues-grid{ grid-template-columns:repeat(2, 1fr); }
  .speak-tiers-section{ padding:96px 32px; }
  .speak-tiers-grid{ grid-template-columns:repeat(2, 1fr); }
  .speak-tier.featured{ transform:none; }
  .speak-tier.featured:hover{ transform:translateY(-8px); }
  .speaker-kit-section{ padding:96px 32px; }
  .speaker-kit-inner{ grid-template-columns:1fr; gap:64px; }
  /* Contact */
  .contact-extras{ padding:80px 32px; }
  .contact-direct-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  /* About */
  .about-hero{ padding:64px 18px; }
  .mission-quote{ padding:80px 18px; }
  .mq-mark{ font-size:140px; margin-bottom:-30px; }
  .timeline-line{ left:30px; }
  .timeline-item{ grid-template-columns:60px 24px 1fr; gap:0; }
  .timeline-item::before{ left:28px; top:6px; }
  .timeline-card{ margin-left:8px; padding:18px 20px; }
  .timeline-card h3{ font-size:17px; }
  .awards-grid{ grid-template-columns:1fr; }
  /* Consulting */
  .page-hero{ padding:64px 18px; }
  .audience-strip{ gap:6px; }
  .audience-pill{ font-size:10px; padding:8px 12px; }
  .services-list{ padding:64px 18px; }
  .service-main h3{ font-size:24px; }
  .service-row-num{ font-size:80px; top:-12px; }
  .process-section{ padding:64px 18px; }
  .process-steps{ grid-template-columns:1fr; gap:14px; }
  /* Speaking */
  .speak-hero{ padding:64px 18px; }
  .tedx-feature{ padding:64px 18px; }
  .tedx-text h2{ font-size:28px; }
  .topics-section, .venues-section, .speak-tiers-section, .speaker-kit-section{ padding:64px 18px; }
  .topics-grid, .venues-grid{ grid-template-columns:1fr; }
  .speak-tiers-grid{ grid-template-columns:1fr; }
  .kit-card{ padding:28px 24px; }
  /* Contact */
  .contact-extras{ padding:48px 18px; }
  .faq-q{ font-size:16px; padding:18px 22px; gap:14px; }
  .faq-q-icon{ width:26px; height:26px; font-size:12px; }
  .faq-a-inner{ padding:0 22px 18px; font-size:14px; }
}
/* ════════════════════════════════════════════════════════
   PHASE 2.10 — TABLET RESPONSIVE FIX + REALISTIC BOOK GALLERY
   ① Add 1200px and 900px intermediate breakpoints
   ② Hero stacks properly on tablet portrait
   ③ Display headings tuned for tablet
   ④ New homepage book gallery with real shadows
   ════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   ① TABLET HERO — between 1100px and 1280px
   Photo shrinks to 45%, text gets 55%
   ───────────────────────────────────────────── */
@media (max-width:1280px) and (min-width:1101px){
  .hero-photo{ left:55%; }
  .hero-grad{
    background:
      linear-gradient(90deg,
        #0e0810 0%,
        #0e0810 40%,
        rgba(14,8,16,.85) 50%,
        rgba(14,8,16,0) 55%,
        transparent 100%),
      radial-gradient(700px 600px at 10% 60%, rgba(255,31,110,.22) 0%, transparent 60%);
  }
  .hero-inner{ max-width:580px; padding:0 32px; }
  .display-xl{ font-size:clamp(56px, 7vw, 110px); }
}

/* ─────────────────────────────────────────────
   ② TABLET — under 1100px
   Hero stacks; photo on top, text below
   Sized to handle iPad landscape (1024px) and portrait (768px)
   ───────────────────────────────────────────── */
@media (max-width:1100px){
  .hero{
    min-height:auto;
    padding:0;
    display:block !important;
  }
  .hero-photo{
    position:relative !important;
    left:0 !important; top:0; right:0; bottom:auto;
    width:100%;
    height:52vh; min-height:380px; max-height:560px;
    z-index:1;
  }
  .hero-photo::after{
    /* remove the vertical accent line, add bottom gradient instead */
    left:0; top:auto; right:0; bottom:0;
    width:100%; height:80px;
    background:linear-gradient(180deg, transparent 0%, var(--ink) 100%);
    opacity:1;
  }
  .hero-grad{
    position:relative;
    background:var(--ink);
    padding:48px 0 96px;
  }
  .hero-inner{
    position:relative;
    max-width:100%;
    padding:48px 32px 0;
    z-index:3;
  }
  .display-xl{ font-size:clamp(52px, 8vw, 92px); }
  .display-lg{ font-size:clamp(40px, 6.5vw, 78px); }
  .display-md{ font-size:clamp(32px, 5vw, 56px); }
}

/* ─────────────────────────────────────────────
   ③ TABLET PORTRAIT & SMALL — under 900px
   Tighten further for narrower devices
   ───────────────────────────────────────────── */
@media (max-width:900px){
  .display-xl{ font-size:clamp(48px, 9vw, 84px); }
  .display-lg{ font-size:clamp(40px, 7.5vw, 72px); }
  .display-md{ font-size:clamp(30px, 5.2vw, 52px); }

  /* Meet Marnie */
  .meet-marnie{ padding:80px 24px; }
  .meet-marnie::after{ font-size:200px; right:-30px; top:30px; }
  .mm-name{ font-size:clamp(64px, 10vw, 96px); }

  /* About hero */
  .about-hero{ padding:80px 24px; }
  .about-hero-text h1{ font-size:clamp(48px, 8vw, 84px); }
  .about-hero-photo{ max-width:340px; }

  /* Speaking hero */
  .speak-hero{ padding:80px 24px; }
  .speak-hero-text h1{ font-size:clamp(48px, 8vw, 84px); }
  .speak-hero-photo{ max-width:340px; }

  /* Consulting page hero */
  .page-hero{ padding:80px 24px; }
  .page-hero-inner h1{ font-size:clamp(44px, 7.5vw, 80px); }

  /* Library page hero */
  .library-section{ padding:80px 24px; }
  .library-featured-title{ font-size:clamp(30px, 5vw, 44px); }
  .library-featured{ padding:40px 28px; }
  .library-grid{ gap:24px 18px; }

  /* Process steps */
  .process-steps{ grid-template-columns:repeat(2, 1fr); }

  /* Speak tiers */
  .speak-tier{ padding:24px 18px; }
  .speak-tier-name{ font-size:18px; }
  .speak-tier-price{ font-size:24px; }
  .speak-tier-includes li{ font-size:12px; padding:6px 0; }

  /* Big insight */
  .insight-inner{ padding:0 8px; }

  /* Services constellation */
  .services-grid{ gap:16px; }

  /* Header */
  .topbar{ padding:14px 20px; }
}

/* ─────────────────────────────────────────────
   ④ NEW HOMEPAGE BOOK GALLERY (realistic shelf)
   ───────────────────────────────────────────── */
.home-library-gallery{
  padding:140px 0;
  background:linear-gradient(180deg, var(--paper-warm) 0%, var(--paper) 100%);
  position:relative;
  overflow:hidden;
}
.home-library-gallery::before{
  content:""; position:absolute;
  top:-200px; left:-200px; width:600px; height:600px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,210,63,.14) 0%, transparent 70%);
  pointer-events:none;
}
.home-library-gallery::after{
  content:""; position:absolute;
  bottom:-200px; right:-200px; width:600px; height:600px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,31,110,.1) 0%, transparent 70%);
  pointer-events:none;
}
.gallery-header{
  text-align:center;
  margin-bottom:80px;
  position:relative;
  z-index:2;
}
.gallery-header .eyebrow{
  justify-content:center;
  display:inline-flex;
  margin-bottom:24px;
}
.gallery-header h2{
  margin:0;
}
.gallery-intro{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(17px, 1.6vw, 21px);
  line-height:1.55;
  color:var(--ink-soft);
  max-width:640px;
  margin:24px auto 0;
  font-variation-settings:"SOFT" 100;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:36px 28px;
  max-width:1280px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.gallery-book{
  position:relative;
  display:block;
  text-decoration:none;
  cursor:pointer;
  transition:transform .6s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.gallery-book-cover{
  position:relative;
  aspect-ratio:2/3;
  border-radius:2px 6px 6px 2px;
  overflow:hidden;
  background:#1a1a1a;
  box-shadow:
    /* left spine line */
    inset 4px 0 0 rgba(0,0,0,.16),
    /* page edge */
    -4px 0 0 rgba(0,0,0,.05),
    /* sharp close shadow */
    0 2px 4px rgba(0,0,0,.1),
    /* mid drop */
    0 8px 16px -2px rgba(0,0,0,.15),
    /* soft floor shadow */
    0 24px 40px -8px rgba(0,0,0,.2);
  transition:
    transform .6s var(--easing-slow, cubic-bezier(.22,1,.36,1)),
    box-shadow .5s ease;
}
.gallery-book:hover{
  transform:translateY(-10px) rotate(-1deg);
}
.gallery-book:hover .gallery-book-cover{
  box-shadow:
    inset 4px 0 0 rgba(0,0,0,.18),
    -5px 0 0 rgba(0,0,0,.07),
    0 4px 8px rgba(0,0,0,.12),
    0 16px 32px -4px rgba(0,0,0,.2),
    0 32px 64px -8px rgba(255,31,110,.32);
}
.gallery-book-cover img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  z-index:1;
  opacity:0;
  transition:opacity .5s ease;
}
.gallery-book-cover img.is-loaded{ opacity:1; }
/* Gloss highlight — that subtle paper sheen */
.gallery-book-cover::before{
  content:""; position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.08) 5%,
      rgba(255,255,255,0) 8%,
      rgba(255,255,255,0) 92%,
      rgba(255,255,255,.04) 100%
    ),
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, transparent 30%);
  z-index:2;
  pointer-events:none;
}
/* Hover sweep — that "picking up the book" gleam */
.gallery-book-cover::after{
  content:""; position:absolute;
  inset:0;
  background:linear-gradient(110deg,
    transparent 0%,
    rgba(255,255,255,0) 40%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,0) 60%,
    transparent 100%);
  background-size:200% 100%;
  background-position:200% 0;
  z-index:3;
  pointer-events:none;
  transition:background-position .9s ease;
}
.gallery-book:hover .gallery-book-cover::after{
  background-position:-100% 0;
}
.gallery-book-meta{
  margin-top:14px;
  text-align:center;
}
.gbm-title{
  font-family:var(--serif); font-weight:400;
  font-size:13px; line-height:1.25;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  display:block;
  margin:0 0 3px;
  letter-spacing:-.01em;
}
.gbm-amazon{
  font-family:var(--mono); font-size:9px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-mute);
  display:inline-flex; align-items:center; gap:4px;
  transition:color .3s var(--easing), gap .3s var(--easing);
}
.gallery-book:hover .gbm-amazon{
  color:var(--pink);
  gap:8px;
}

.gallery-footer{
  text-align:center;
  margin-top:80px;
  position:relative;
  z-index:2;
}
.gallery-footer .eyebrow{
  justify-content:center;
  display:inline-flex;
  margin-bottom:20px;
}

@media (max-width:1100px){
  .home-library-gallery{ padding:96px 32px; }
  .gallery-grid{
    grid-template-columns:repeat(4, 1fr);
    gap:28px 22px;
  }
}
@media (max-width:760px){
  .home-library-gallery{ padding:64px 18px; }
  .gallery-header{ margin-bottom:48px; }
  .gallery-grid{
    grid-template-columns:repeat(3, 1fr);
    gap:18px 12px;
  }
  .gbm-title{ font-size:11px; }
  .gbm-amazon{ font-size:8px; }
  .gallery-footer{ margin-top:48px; }
}
@media (max-width:420px){
  .gallery-grid{ grid-template-columns:repeat(2, 1fr); gap:16px 10px; }
}
/* ════════════════════════════════════════════════════════
   PHASE 2.11 — AUTO-MARQUEE polish + hybrid book stack
   ════════════════════════════════════════════════════════ */
/* qnav buttons no longer needed — marquee + hover-pause is the nav */
.quotes-nav{ display:none !important; }

/* Marquee tracks: ensure no scroll-snap interferes */
.quotes-track, .book-stack-track{
  scroll-snap-type:none !important;
  will-change:transform, scroll-position;
}
.quote-card, .book-3d{
  scroll-snap-align:none !important;
}

/* Book stack: cursor signals draggability */
.book-stack-wrap{
  position:relative;
  cursor:grab;
}
.book-stack-wrap:active{ cursor:grabbing; }
.book-stack-wrap a{ cursor:none; } /* keep custom cursor over books */

/* Edge fades removed — they used hard-coded var(--ink) and rendered as
   stark dark rectangles overlapping visible books on colored themes
   (sunset, emerald). The horizontal scroll affordance is already
   conveyed by the partially-visible books at the row's edges, so the
   fades were redundant.  */

/* Edge fades for quotes */
.quotes-track-wrap{
  position:relative;
}
.quotes-track-wrap::before,
.quotes-track-wrap::after{
  content:""; position:absolute;
  top:0; bottom:0; width:80px;
  z-index:5; pointer-events:none;
}
.quotes-track-wrap::before{
  left:0;
  background:linear-gradient(90deg, var(--paper) 0%, transparent 100%);
}
.quotes-track-wrap::after{
  right:0;
  background:linear-gradient(-90deg, var(--paper) 0%, transparent 100%);
}

/* Tighten edge fades on mobile */
@media (max-width:760px){
  .book-stack-wrap::before, .book-stack-wrap::after,
  .quotes-track-wrap::before, .quotes-track-wrap::after{ width:40px; }
}

/* ════════════════════════════════════════════════════════
   PHASE 2.12 — Quote card backgrounds (Lauren request)
   Six pale variants so adjacent cards visibly differ.
   ════════════════════════════════════════════════════════ */
.quote-card{
  background:var(--paper-warm); /* default fallback */
}
.quote-card:nth-child(6n+1){ background:#fff4ec; }   /* cream */
.quote-card:nth-child(6n+2){ background:#ffe9f0; }   /* pale pink */
.quote-card:nth-child(6n+3){ background:#fff8d6; }   /* pale yellow */
.quote-card:nth-child(6n+4){ background:#e8f0ff; }   /* pale blue */
.quote-card:nth-child(6n+5){ background:#f0eaff; }   /* pale lavender */
.quote-card:nth-child(6n+6){ background:#e7f7ee; }   /* pale mint */

/* Border accent stripe on top — matches the card's mood */
.quote-card{ border-top:3px solid var(--pink); }
.quote-card:nth-child(6n+1){ border-top-color:var(--pink); }
.quote-card:nth-child(6n+2){ border-top-color:#ff1f6e; }
.quote-card:nth-child(6n+3){ border-top-color:var(--yellow-deep, #f5b800); }
.quote-card:nth-child(6n+4){ border-top-color:var(--royal); }
.quote-card:nth-child(6n+5){ border-top-color:#8b5cf6; }
.quote-card:nth-child(6n+6){ border-top-color:#2eb872; }
/* ════════════════════════════════════════════════════════
   PHASE 2.13 — Courses page extras
   ════════════════════════════════════════════════════════ */
.courses-value{
  padding:120px 0;
  background:linear-gradient(180deg, var(--paper) 0%, var(--paper-warm) 100%);
}
.courses-value-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
  margin-top:64px;
}
.cv-tile{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:14px;
  padding:36px 28px;
  transition:all .4s var(--easing);
  position:relative;
  overflow:hidden;
}
.cv-tile::after{
  content:""; position:absolute;
  top:-50%; right:-50%; width:200%; height:200%;
  background:radial-gradient(circle at top right,
    rgba(255,31,110,.12) 0%, transparent 50%);
  opacity:0;
  transition:opacity .5s ease;
  pointer-events:none;
}
.cv-tile:hover{
  transform:translateY(-6px);
  border-color:var(--pink);
  box-shadow:0 24px 48px -16px rgba(255,31,110,.18);
}
.cv-tile:hover::after{ opacity:1; }
.cv-tile-icon{
  font-family:var(--serif); font-weight:300;
  font-size:40px; line-height:1;
  color:var(--pink); margin-bottom:18px;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  position:relative; z-index:1;
}
.cv-tile h3{
  font-family:var(--serif); font-weight:400;
  font-size:22px; line-height:1.15;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 12px;
  position:relative; z-index:1;
}
.cv-tile p{
  font-size:14px; line-height:1.6;
  color:var(--ink-soft);
  margin:0;
  position:relative; z-index:1;
}

/* Upgrade path */
.courses-upgrade{
  padding:120px 0;
  background:var(--paper);
}
.courses-upgrade-inner{
  padding:64px 56px;
  border-radius:18px;
  position:relative;
  background:linear-gradient(135deg, #fff9f5 0%, #fff4ec 100%);
  z-index:1;
}
.courses-upgrade-inner .eyebrow{ color:var(--pink); }
.cu-text h2{ margin:24px 0 24px; }
.cu-text h2 em{ color:var(--pink); font-style:italic; }
.cu-text p{
  font-size:17px; line-height:1.65;
  color:var(--ink-soft);
  margin:0 0 32px;
  max-width:600px;
}
.cu-stack{
  display:flex; align-items:center;
  flex-wrap:wrap; gap:14px;
  margin-top:48px;
  padding-top:48px;
  border-top:1px solid var(--rule);
}
.cu-step{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:12px;
  padding:18px 24px;
  display:flex; flex-direction:column; gap:4px;
  flex:1; min-width:140px;
  transition:all .3s var(--easing);
}
.cu-step:hover{
  border-color:var(--pink);
  transform:translateY(-3px);
}
.cu-step span{
  font-family:var(--mono); font-size:9px;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-mute);
}
.cu-step b{
  font-family:var(--serif); font-weight:400;
  font-size:18px; color:var(--pink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.cu-arrow{
  font-family:var(--mono); font-size:18px;
  color:var(--ink-mute); font-weight:300;
}

@media (max-width:1100px){
  .courses-value{ padding:80px 32px; }
  .courses-value-grid{ grid-template-columns:repeat(2, 1fr); gap:18px; }
  .courses-upgrade{ padding:80px 32px; }
  .courses-upgrade-inner{ padding:48px 32px; }
  .cu-stack{ gap:8px; }
  .cu-arrow{ display:none; }
}
@media (max-width:640px){
  .courses-value{ padding:60px 18px; }
  .courses-value-grid{ grid-template-columns:1fr; }
  .courses-upgrade{ padding:60px 18px; }
  .courses-upgrade-inner{ padding:36px 24px; }
  .cu-stack{ flex-direction:column; gap:10px; }
  .cu-step{ width:100%; }
}

/* ════════════════════════════════════════════════════════
   PHASE 2.14 — CONSULTING engagement detail enhancement
   Adds the cost/structure/flow detail Lauren wants per service.
   ════════════════════════════════════════════════════════ */
/* ── DEPRECATED — old service-detail / service-flow / sfs-step rules.
   These forced grid-column:2/-1 and used a flex-wrap layout with text
   arrows. Replaced by the new card-design rules earlier in the file.
   Commented out so the new design applies cleanly without specificity
   conflicts.
   ──────────────────────────────────────────────────────────────────── */
/*
.service-detail{
  grid-column:2 / -1;
  margin-top:32px;
  padding-top:32px;
  border-top:1px solid var(--rule);
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.service-detail-block{
  display:flex; flex-direction:column; gap:8px;
}
.sdb-label{
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--pink);
}
.sdb-value{
  font-family:var(--serif); font-weight:400;
  font-size:20px; line-height:1.15;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.sdb-meta{
  font-size:13px; line-height:1.5;
  color:var(--ink-soft);
}
.service-flow{
  grid-column:2 / -1;
  margin-top:32px;
  padding-top:32px;
  border-top:1px solid var(--rule);
}
.service-flow-label{
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--pink);
  margin-bottom:18px;
}
.service-flow-steps{
  display:flex; align-items:flex-start; gap:18px;
  flex-wrap:wrap;
}
.sfs-step{
  flex:1; min-width:150px;
  display:flex; flex-direction:column; gap:6px;
  position:relative;
}
.sfs-step:not(:last-child)::after{
  content:"→"; position:absolute;
  right:-12px; top:8px;
  color:var(--ink-mute);
  font-family:var(--mono); font-size:14px;
  font-weight:300;
}
.sfs-num{
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.18em; color:var(--pink);
}
.sfs-title{
  font-family:var(--serif); font-weight:400;
  font-size:14px; line-height:1.25;
  color:var(--ink);
  font-variation-settings:"SOFT" 100;
}
.sfs-week{
  font-family:var(--mono); font-size:9px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-mute);
}
@media (max-width:1100px){
  .service-detail{ grid-template-columns:1fr; gap:18px; }
  .service-flow-steps{ flex-direction:column; gap:14px; }
  .sfs-step:not(:last-child)::after{ display:none; }
}
*/
/* ════════════════════════════════════════════════════════
   PHASE 2.15 — CRITICAL DESKTOP FIXES
   Override old conflicting base CSS that was breaking
   About section + Timeline + every section using
   .services-header with stacked eyebrow + headline.
   THESE APPLY TO ALL VIEWPORT SIZES (not just mobile/tablet).
   ════════════════════════════════════════════════════════ */

/* ── A · .about-hero: neutralize the OLD 2-col grid that was
   squeezing the inner content into the left 50% of the screen
   and shrinking the photo to ~120px wide. ── */
.about-hero{
  display:block !important;
  grid-template-columns:none !important;
  min-height:auto !important;
  overflow:hidden;
}

/* ── B · .services-header: the OLD base CSS defined this as
   a 2-column grid (1fr 1.4fr). Many sections use it with just
   <eyebrow> + <h2> as direct children — that put the eyebrow
   tiny on the left and the headline pushed to the right.
   Default to block (stacked); only the original homepage
   services-section explicitly re-enables 2-col. ── */
.services-header{
  display:block !important;
  grid-template-columns:none !important;
}
.services-header .eyebrow{ margin-bottom:20px; display:inline-flex; }
.services-header h2{ margin:0; }
.services-header p{ margin-top:24px; }
.services-header[style*="text-align:center"] .eyebrow{ display:inline-flex; }

/* ── C · About-hero photo: needs explicit max-width so the
   image doesn't shrink to the auto width of its column. ── */
.about-hero-photo{
  max-width:480px;
  width:100%;
  margin:0 auto;
}

/* ── D · Button on dark hero — outline button needs to be
   readable on the dark background. ── */
.about-hero .btn-outline,
.speak-hero .btn-outline,
.process-section .btn-outline,
.awards-dark-section .btn-outline,
.speaker-kit-section .btn-outline,
.book-stack-section .btn-outline{
  color:var(--paper);
  border-color:rgba(255,249,245,.4);
}
.about-hero .btn-outline:hover,
.speak-hero .btn-outline:hover,
.process-section .btn-outline:hover,
.awards-dark-section .btn-outline:hover,
.speaker-kit-section .btn-outline:hover,
.book-stack-section .btn-outline:hover{
  color:var(--ink);
  background:var(--paper);
  border-color:var(--paper);
}

/* ── E · About-hero body text: paragraph should be visible
   on the dark gradient background. ── */
.about-hero-text p,
.about-hero-text .lead,
.about-hero-text > p{
  color:rgba(255,249,245,.82);
}

/* ── F · Old `.about-hero-img` rule still set a background
   image. Hide it since we're using <img> in .about-hero-photo. ── */
.about-hero-img{ display:none !important; }

/* ── G · Old `.about-hero-text` used flex centering and big
   padding that fought the new `.about-hero-inner` grid. ── */
.about-hero-text{
  display:block !important;
  padding:0 !important;
}
.about-hero-text::before{ display:none !important; }

/* ── H · Photo-gallery section had similar header pattern
   and needs the same stacked treatment. ── */
.photo-gallery-section{
  padding:140px 0;
  background:var(--paper-warm);
}
.photo-gallery-section .services-header{
  text-align:center;
  margin-bottom:64px;
}
.photo-gallery-section .services-header .eyebrow{
  display:inline-flex;
  justify-content:center;
}
.photo-gallery-section h2{ margin:0 auto; }

@media (max-width:1100px){
  .photo-gallery-section{ padding:80px 32px; }
}
/* ════════════════════════════════════════════════════════
   PHASE 2.16 — NEWSLETTER FIX + COLOR THEMES + i18n TOGGLE UI
   ① Newsletter headline: 2 lines on desktop, wraps only on
      narrow screens (white-space:nowrap with mobile override)
   ② Four bold color themes via body class + CSS variables
   ③ Language toggle + theme picker in top-right (.site-controls)
   ════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   ① NEWSLETTER — force 2 lines on desktop
   ───────────────────────────────────────────── */
.newsletter-inner{
  max-width:none !important;
  padding:0 40px;
}
.newsletter-inner h2{
  white-space:nowrap;
  font-size:clamp(32px, 5vw, 72px) !important;
}
@media (max-width:1100px){
  .newsletter-inner h2{
    font-size:clamp(28px, 6.5vw, 56px) !important;
  }
}
@media (max-width:760px){
  .newsletter-inner{ padding:0 20px; }
  .newsletter-inner h2{
    white-space:normal;
    font-size:clamp(28px, 8vw, 44px) !important;
  }
}

/* ─────────────────────────────────────────────
   ② COLOR THEMES — toggle via body.theme-X
   Default (no class) = Tropical Disco.
   ───────────────────────────────────────────── */

/* THEME 1 — Tropical Disco (current default, already in :root) */

/* THEME 2 — Midnight (night mode) */
body.theme-midnight{
  --pink:        #ff3d8a;
  --pink-deep:   #d61f6e;
  --pink-bright: #ff5fa3;
  --yellow:      #00e5ff;          /* swapped to electric cyan */
  --yellow-deep: #00b8cc;
  --royal:       #b86eff;          /* swapped to electric purple */
  --royal-deep:  #8b3edd;
  --ink:         #fff9f5;          /* TEXT is light */
  --ink-2:       #f0eae5;
  --ink-soft:    rgba(255,249,245,.78);
  --ink-mute:    rgba(255,249,245,.5);
  --paper:       #0a0a14;          /* BACKGROUND is dark */
  --paper-warm:  #15151f;
  --paper-pink:  #1a1020;
  --paper-stone: #101019;
  --paper-yellow:#1b1606;
  --rule:        rgba(255,249,245,.15);
  --rule-dark:   rgba(255,249,245,.25);
  /* Button hover: electric purple bg + cyan text — matches the
     theme's neon palette without ever going invisible. */
  --btn-hover-bg:#b86eff;
  --btn-hover-text:#00e5ff;
}
body.theme-midnight .topbar{
  background:rgba(10,10,20,.85);
  border-bottom-color:rgba(255,249,245,.15);
}
body.theme-midnight .topbar a,
body.theme-midnight .topbar span{ color:#fff9f5; }

/* ── THEME 2 (Midnight) — RAIL = hot pink with black text.
   Per Lauren's spec: same brand pink (#ff1f6e) as the default palette
   so it reads as "the pink that matches." Black text for max contrast
   against the saturated pink background. */
body.theme-midnight .rail{
  background:linear-gradient(180deg,#2540b8 0%,#16205e 100%) !important;
  color:#ffffff !important;
  border-right-color:rgba(255,255,255,.16);
}
body.theme-midnight .rail::before{
  background:linear-gradient(180deg, transparent 0%, rgba(0,229,255,.16) 50%, transparent 100%);
}
body.theme-midnight .rail-logo{ color:#ffffff !important; }
body.theme-midnight .rail-logo .m{ color:#ffffff !important; }
body.theme-midnight .rail-logo .f{ color:rgba(255,255,255,.6) !important; }
body.theme-midnight .rail-link .num{ color:rgba(255,255,255,.5) !important; }
body.theme-midnight .rail-link .name{ color:rgba(255,255,255,.92) !important; }
body.theme-midnight .rail-link:hover{ background:rgba(255,255,255,.1); }
body.theme-midnight .rail-link:hover .name,
body.theme-midnight .rail-link:hover .num{ color:#ffffff !important; }
body.theme-midnight .rail-link.active{ background:#ffd23f; }
body.theme-midnight .rail-link.active .name{ color:#0a1f3d !important; }
body.theme-midnight .rail-link.active .num{ color:#0a1f3d !important; }
body.theme-midnight .rail-link.active::before{
  background:#ffd23f;
  box-shadow:0 0 16px rgba(255,210,63,.6);
}
body.theme-midnight .rail-foot{
  border-top-color:rgba(0,0,0,.12);
}
body.theme-midnight .rail-foot a{
  color:rgba(10,10,20,.6);
}
body.theme-midnight .rail-foot a:hover{
  color:#0a0a14;
}

/* THEME 3 — Emerald Box (jewel tones) */
body.theme-emerald{
  --pink:        #c1224e;          /* ruby */
  --pink-deep:   #8f1839;
  --pink-bright: #d63a66;
  --yellow:      #d4a04b;          /* brass/gold */
  --yellow-deep: #b48034;
  --royal:       #0f5d3d;          /* deep emerald */
  --royal-deep:  #0a4029;
  --ink:         #1a1a1a;
  --ink-2:       #2a2a2a;
  --ink-soft:    #4a4a4a;
  --ink-mute:    #888;
  --paper:       #f5efe3;          /* bone */
  --paper-warm:  #ede5d3;
  --paper-pink:  #f0e2d8;
  --rule:        rgba(26,26,26,.13);
  --rule-dark:   rgba(26,26,26,.22);
  /* Button hover: deep emerald bg + brass/gold text — jewel tones. */
  --btn-hover-bg:#0f5d3d;
  --btn-hover-text:#d4a04b;
}

/* THEME 4 — Sunset Miami (coral / mango) */
body.theme-sunset{
  --pink:        #ff4c4c;          /* coral */
  --pink-deep:   #e02929;
  --pink-bright: #ff7575;
  --yellow:      #ffa83d;          /* mango */
  --yellow-deep: #e08c1a;
  --royal:       #2e72e0;          /* cool blue accent */
  --royal-deep:  #1f50a8;
  --ink:         #2a1010;          /* warm dark */
  --ink-2:       #3d1818;
  --ink-soft:    #6b3030;
  --ink-mute:    #a87878;
  --paper:       #fff2e6;          /* peach paper */
  --paper-warm:  #ffe6cc;
  --paper-pink:  #ffdcc4;
  --rule:        rgba(42,16,16,.13);
  --rule-dark:   rgba(42,16,16,.22);
  /* Button hover: cool blue bg + mango text — sunset palette. */
  --btn-hover-bg:#2e72e0;
  --btn-hover-text:#ffa83d;
}

/* All themes: smooth transitions on color changes */
body, .topbar, .rail, .btn, .service-card, .quote-card, .book-3d,
.timeline-card, .award-card, .pricing-tier, .speak-tier,
.faq-item, .contact-direct-card, .topic-card, .venue-card,
.gallery-book-cover, .cv-tile, .cu-step, .library-book{
  transition:background-color .5s ease, color .5s ease, border-color .5s ease;
}

/* ─────────────────────────────────────────────
   ③ SITE CONTROLS — Language + Theme toggles
   Lives INSIDE the topbar (flex sibling of brand,
   meta, and cta-pill). No absolute positioning —
   flows naturally with the other topbar elements.
   ───────────────────────────────────────────── */
.site-controls{
  display:flex;
  align-items:center;
  gap:8px;
}

/* Language toggle */
/* ── LANG + THEME CYCLE BUTTONS — consolidated controls.
   Replaces the old 2-button language toggle and 4-swatch theme picker
   with a single icon-pill for each. Click cycles to the next option. */
.lang-cycle,
.theme-cycle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(14,8,16,.06);
  border:1px solid rgba(14,8,16,.1);
  border-radius:100px;
  padding:6px 12px;
  cursor:pointer;
  font-family:var(--mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  color:var(--ink);
  transition:all .3s ease;
  position:relative;
}
.lang-cycle:hover,
.theme-cycle:hover{
  background:rgba(14,8,16,.12);
  border-color:rgba(14,8,16,.2);
  transform:translateY(-1px);
}
.lang-cycle-icon,
.theme-cycle-icon{
  flex-shrink:0;
  opacity:.85;
}
.lang-cycle-label{
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
}
.theme-cycle{
  padding:6px 10px 6px 12px;
}
.theme-cycle-dot{
  width:14px; height:14px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--pink) 0%, var(--yellow) 50%, var(--royal) 100%);
  border:1.5px solid rgba(14,8,16,.15);
  flex-shrink:0;
  transition:background .4s ease;
}
/* Each theme paints the dot with its own signature gradient */
body.theme-midnight .theme-cycle-dot{
  background:linear-gradient(135deg, #ff3d8a 0%, #00e5ff 50%, #b86eff 100%);
}
body.theme-emerald .theme-cycle-dot{
  background:linear-gradient(135deg, #c1224e 0%, #d4a04b 50%, #0f5d3d 100%);
}
body.theme-sunset .theme-cycle-dot{
  background:linear-gradient(135deg, #ff4c4c 0%, #ffa83d 50%, #2e72e0 100%);
}

/* Dark topbar / midnight theme — invert pill bg */
body.dark-page .lang-cycle,
body.dark-page .theme-cycle,
body.theme-midnight .lang-cycle,
body.theme-midnight .theme-cycle{
  background:rgba(255,249,245,.12);
  border-color:rgba(255,249,245,.18);
  color:var(--paper);
}
body.dark-page .lang-cycle:hover,
body.dark-page .theme-cycle:hover,
body.theme-midnight .lang-cycle:hover,
body.theme-midnight .theme-cycle:hover{
  background:rgba(255,249,245,.2);
  border-color:rgba(255,249,245,.28);
}

/* ── ONBOARDING HINT — first-visit only ── */
.onboarding-hint{
  position:absolute;
  top:calc(100% + 12px);
  right:160px;
  background:var(--ink);
  color:var(--paper);
  padding:14px 36px 14px 18px;
  border-radius:14px;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.45;
  max-width:260px;
  box-shadow:0 16px 32px -8px rgba(0,0,0,.25);
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  transition:opacity .4s ease, transform .4s ease;
  z-index:200;
}
.onboarding-hint.is-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.oh-arrow{
  position:absolute;
  top:-8px;
  right:120px;
  width:16px; height:16px;
  background:var(--ink);
  transform:rotate(45deg);
}
.oh-text{
  position:relative;
  z-index:1;
}
.oh-text strong{
  color:var(--yellow);
}
.oh-close{
  position:absolute;
  top:6px; right:8px;
  width:24px; height:24px;
  border-radius:50%;
  background:none;
  border:none;
  color:rgba(255,249,245,.6);
  font-size:20px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .2s, background .2s;
}
.oh-close:hover{
  color:var(--paper);
  background:rgba(255,249,245,.1);
}
@media (max-width:760px){
  .onboarding-hint{ right:12px; max-width:220px; font-size:12px; }
}

/* Responsive: tighten + hide topbar-meta at narrower widths so the
   toggle pills + CTA still fit. TABLET/MOBILE ONLY. */
@media (max-width:1200px){
  .topbar-meta{ display:none; }
}
@media (max-width:760px){
  /* Mobile: drop the toggles below the topbar in a centered strip */
  .topbar{ flex-wrap:wrap; height:auto; padding:10px 16px 10px calc(var(--rail) + 16px); }
  .site-controls{
    order:3; width:100%;
    justify-content:center;
    padding:8px 0 4px;
    border-top:1px solid var(--rule);
    margin-top:8px;
  }
  .cta-pill{ order:2; }
}
/* ════════════════════════════════════════════════════════
   PHASE 2.17 — Brand mark, editorial quote, theme overhauls,
   dark-section text safety, video controls
   ════════════════════════════════════════════════════════ */

/* ── A · Brand mark: proper "Marnie Forestieri" spacing ── */
.brand-mark .bm-name{
  display:inline-flex;
  align-items:baseline;
  gap:0.25em;          /* natural inter-word spacing, not 10px gap */
}
.brand-mark{ gap:14px; }   /* slightly wider so the small subtitle has room */

/* ── B · Operating Thesis — editorial pull quote ── */
.big-insight{
  padding:140px 0 160px;
  background:linear-gradient(180deg, var(--paper) 0%, var(--paper-warm) 100%);
  position:relative;
  overflow:hidden;
}
.big-insight::before{
  /* subtle warm-accent radial */
  content:""; position:absolute;
  width:600px; height:600px;
  background:radial-gradient(circle, rgba(255,210,63,.12) 0%, transparent 70%);
  top:-200px; right:-200px; border-radius:50%;
  pointer-events:none;
}
.insight-card{
  max-width:920px;
  margin:0 auto;
  padding:80px 60px 72px;
  background:var(--paper);
  border-radius:24px;
  position:relative;
  text-align:center;
  box-shadow:0 30px 80px -30px rgba(14,8,16,.18);
  border:1px solid var(--rule);
  z-index:1;
}
.insight-eyebrow{
  font-family:var(--mono);
  font-size:14px; font-weight:700;
  letter-spacing:.26em; text-transform:uppercase;
  color:var(--pink);
  display:inline-flex; align-items:center; gap:16px;
  margin-bottom:40px;
}
.insight-eyebrow::before,
.insight-eyebrow::after{
  content:""; width:44px; height:1.5px; background:var(--pink);
}
.insight-quote-mark{
  font-family:var(--serif); font-weight:300;
  font-size:140px; line-height:.5;
  color:var(--pink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  font-style:italic;
  display:block;
  pointer-events:none;
  user-select:none;
}
.insight-quote-open{ text-align:left; margin:0 0 -32px -16px; }
.insight-quote-close{ text-align:right; margin:-12px -16px 0 0; }
.insight-quote{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(28px, 3.8vw, 52px);
  line-height:1.12; letter-spacing:-.02em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 24px;
  padding:0;
  border:none;
  font-style:normal;
}
.insight-quote em{
  color:var(--pink);
  font-style:italic;
  font-variation-settings:"SOFT" 100, "WONK" 1;
}
.insight-attribution{
  margin-top:32px;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
}
.insight-attr-name{
  font-family:var(--serif); font-weight:500;
  font-size:20px;
  color:var(--ink);
  font-variation-settings:"SOFT" 100;
}
.insight-attr-title{
  font-family:var(--mono); font-size:10px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-mute);
}
.insight-divider{
  height:1px; width:80px;
  background:var(--rule);
  margin:48px auto 36px;
}
.insight-tagline{
  font-family:var(--serif); font-weight:300;
  font-size:18px; line-height:1.65;
  color:var(--ink-soft);
  max-width:680px;
  margin:0 auto;
  font-style:italic;
  font-variation-settings:"SOFT" 100;
}

@media (max-width:1100px){
  .big-insight{ padding:96px 32px; }
  .insight-card{ padding:64px 36px 56px; }
  .insight-quote-mark{ font-size:100px; }
}
@media (max-width:640px){
  .big-insight{ padding:64px 18px; }
  .insight-card{ padding:48px 24px 40px; border-radius:18px; }
  .insight-quote-mark{ font-size:72px; }
  .insight-eyebrow::before, .insight-eyebrow::after{ width:18px; }
}

/* ────────────────────────────────────────────────────────
   ── C · THEME 3 OVERRIDE — PINK (was Emerald)
   Hot pink background. White + black + yellow text.
   ──────────────────────────────────────────────────────── */
body.theme-emerald{
  --pink:        #ffd23f;   /* yellow takes the "accent italic" role */
  --pink-deep:   #e0b830;
  --pink-bright: #fff39c;
  --yellow:      #0e0810;   /* black accents */
  --yellow-deep: #000;
  --royal:       #ffffff;   /* white accents */
  --royal-deep:  #f0e8e0;
  --ink:         #ffffff;   /* white primary text */
  --ink-2:       rgba(255,255,255,.92);
  --ink-soft:    rgba(255,255,255,.82);
  --ink-mute:    rgba(255,255,255,.6);
  --paper:       #ff1f6e;   /* hot pink background */
  --paper-warm:  #ff3d8a;
  --paper-pink:  #ff5a96;
  --rule:        rgba(255,255,255,.22);
  --rule-dark:   rgba(255,255,255,.38);
}
/* Pink theme: dark hardcoded sections become magenta-pink so they sit
   in the same family as the rest of the page */
body.theme-emerald .hero{
  background:linear-gradient(135deg, #c41862 0%, #8f1248 55%, #6f0e3a 100%);
}
body.theme-emerald .book-stack-section,
body.theme-emerald .speak-hero,
body.theme-emerald .awards-dark-section,
body.theme-emerald .process-section,
body.theme-emerald .speaker-kit-section,
body.theme-emerald .about-hero,
body.theme-emerald .impact-hero,
body.theme-emerald .site-footer{
  background:#8f1248;
  color:#fff9f5;
}
body.theme-emerald .topbar{
  background:rgba(255,31,110,.92);
  border-bottom-color:rgba(255,255,255,.22);
}
body.theme-emerald .topbar .brand-mark{ color:#fff; }
body.theme-emerald .topbar .brand-mark em{
  /* Pink theme topbar = royal blue bg; readable yellow→white gradient */
  background:linear-gradient(135deg, #ffd23f, #fff9f5);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
body.theme-emerald .topbar .small{ color:rgba(255,255,255,.65); border-left-color:rgba(255,255,255,.22); }

/* ────────────────────────────────────────────────────────
   ── D · THEME 4 OVERRIDE — BLUE/YELLOW (was Sunset)
   Yellow background. Royal blue + dark navy text. Bright
   light blue as accent. Inspired by Marnie hero photo.
   ──────────────────────────────────────────────────────── */
body.theme-sunset{
  --pink:        #1e3fc3;   /* royal blue for italics + main CTAs */
  --pink-deep:   #14299e;
  --pink-bright: #4a6fdf;
  --yellow:      #4dc8ff;   /* bright light blue accent */
  --yellow-deep: #2eb0ed;
  --royal:       #0a1f3d;   /* deep navy */
  --royal-deep:  #060f23;
  --ink:         #0a1f3d;   /* dark navy text */
  --ink-2:       #14294e;
  --ink-soft:    #3a5078;
  --ink-mute:    rgba(10,31,61,.55);
  --paper:       #ffd23f;   /* YELLOW background */
  --paper-warm:  #ffdf66;
  --paper-pink:  #ffe890;
  --rule:        rgba(10,31,61,.2);
  --rule-dark:   rgba(10,31,61,.35);
}
body.theme-sunset .hero{
  background:linear-gradient(135deg, #ffd23f 0%, #ffd23f 55%, #ffe890 100%);
}
/* Blue/yellow theme: dark-bg sections become deep navy */
body.theme-sunset .book-stack-section,
body.theme-sunset .speak-hero,
body.theme-sunset .awards-dark-section,
body.theme-sunset .process-section,
body.theme-sunset .speaker-kit-section,
body.theme-sunset .about-hero,
body.theme-sunset .impact-hero,
body.theme-sunset .site-footer{
  background:#0a1f3d;
  color:#fff9f5;
}
body.theme-sunset .topbar{
  background:rgba(255,210,63,.92);
  border-bottom-color:rgba(10,31,61,.18);
}

/* ────────────────────────────────────────────────────────
   ── E · MIDNIGHT THEME — dark-section text safety
   The hero and other hard-coded-dark sections need explicit
   light text since they keep their hardcoded dark bg even
   when --paper becomes dark in the midnight palette.
   ──────────────────────────────────────────────────────── */
body.theme-midnight .hero-title,
body.theme-midnight .hero-eyebrow,
body.theme-midnight .hero-subtitle,
body.theme-midnight .hero p,
body.theme-midnight .hero a:not(.btn),
body.theme-midnight .book-stack-section .display-lg,
body.theme-midnight .book-stack-section h2,
body.theme-midnight .book-stack-section h3,
body.theme-midnight .book-stack-section p,
body.theme-midnight .speak-hero h1,
body.theme-midnight .speak-hero p,
body.theme-midnight .speak-hero .eyebrow,
body.theme-midnight .awards-dark-section h2,
body.theme-midnight .awards-dark-section p,
body.theme-midnight .awards-dark-section .eyebrow,
body.theme-midnight .process-section h2,
body.theme-midnight .process-section h3,
body.theme-midnight .process-section p,
body.theme-midnight .process-section .eyebrow,
body.theme-midnight .speaker-kit-section h2,
body.theme-midnight .speaker-kit-section p,
body.theme-midnight .speaker-kit-section .eyebrow,
body.theme-midnight .about-hero h1,
body.theme-midnight .about-hero p,
body.theme-midnight .about-hero .eyebrow,
body.theme-midnight .impact-hero h1,
body.theme-midnight .impact-hero p,
body.theme-midnight .site-footer,
body.theme-midnight .site-footer p,
body.theme-midnight .site-footer a,
body.theme-midnight .site-footer h4{
  color:#fff9f5 !important;
}

/* Hero title em accent in midnight = cyan instead of yellow */
body.theme-midnight .hero-title em{ color:#00e5ff !important; }
body.theme-midnight .book-stack-section .display-lg em,
body.theme-midnight .book-stack-section h2 em{ color:#00e5ff !important; }

/* ── About-hero italic em color per theme ────────────────────────
   The base rule sets the italic accent (e.g. the word "operator"
   in "An <em>operator</em> first.") to var(--pink). On certain
   theme overrides — especially when the about-hero gets a colored
   background like royal blue or navy — the default pink can blend
   into the section and the italicized word becomes hard to read
   or disappears entirely. Explicitly pin a guaranteed-contrasting
   color for each theme so the italic word is always visible. */
body.theme-midnight .about-hero-text h1 em,
body.theme-midnight .about-hero h1 em{
  color:#00e5ff !important;   /* cyan on dark navy */
}
body.theme-emerald .about-hero-text h1 em,
body.theme-emerald .about-hero h1 em{
  color:#ffd23f !important;   /* yellow on royal blue */
}
body.theme-sunset .about-hero-text h1 em,
body.theme-sunset .about-hero h1 em{
  color:#ffa83d !important;   /* mango on warm navy */
}

/* ── Mission-quote opening mark color per theme ─────────────────
   The big " quote glyph above Marnie's pull-quote on the About
   page. Default pink works on cream, but across themes it can
   blend with the colored background. Pin a per-theme accent so
   the mark always has visible contrast. Lauren specifically asked
   for royal blue on the sunset palette. */
body.theme-midnight .mq-mark{
  color:#00e5ff !important;   /* cyan on dark */
}
body.theme-emerald .mq-mark{
  color:#ffd23f !important;   /* yellow gold on pink/blue */
}
body.theme-sunset .mq-mark{
  color:#2e72e0 !important;   /* royal blue on peach — per Lauren's note */
  opacity:.55;                 /* slight bump on warm bg for visibility */
}

/* ── F · Universal text safety — for paragraphs with inline
   color:var(--ink-soft) on dark backgrounds (across all themes
   not just midnight): make sure those are readable. ── */
.speaker-kit-section p,
.awards-dark-section p,
.process-section p,
.about-hero p,
.speak-hero p,
.book-stack-section p,
.impact-hero p{
  color:rgba(255,249,245,.82) !important;
}

/* ── G · Video sound-toggle button (corner) ── */
.video-embed{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  border-radius:14px;
  overflow:hidden;
  background:#000;
  box-shadow:0 30px 80px -30px rgba(14,8,16,.4);
}
.video-embed iframe{
  width:100%; height:100%;
  border:0;
  display:block;
}

/* ── CLICK-TO-PLAY POSTER (replaces YouTube iframe) ──
   YouTube iframe embeds fail with Error 153 on file:// and several
   other non-HTTP origins because YouTube requires a valid Referer
   header. This poster pattern bypasses the entire problem: visitors
   see a cinematic preview image and click through to YouTube in a
   new tab. Works universally — file://, localhost, deployed hosting,
   no environment-dependent failures.
   
   Once the site is deployed to a real domain, you can swap this back
   to an inline iframe by reverting markup if you want autoplay — but
   the click-to-play UX is what Apple, Stripe, and Linear actually use
   for embedded video previews because it's faster (no iframe load)
   and more reliable. */
.video-poster-link{
  position:relative;
  display:block;
  width:100%; height:100%;
  cursor:pointer;
  overflow:hidden;
  background:#000;
  text-decoration:none;
  color:inherit;
}
.video-poster-img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .8s var(--easing-slow, cubic-bezier(.22,1,.36,1)),
             filter .4s ease;
  z-index:0;
}
.video-poster-link:hover .video-poster-img{
  transform:scale(1.04);
  filter:brightness(.78);
}
.video-poster-overlay{
  position:absolute; inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  background:
    linear-gradient(180deg, transparent 0%, transparent 50%, rgba(14,8,16,.55) 100%),
    linear-gradient(180deg, rgba(14,8,16,.35) 0%, rgba(14,8,16,.15) 30%, transparent 60%);
  z-index:1;
  transition:background .3s ease;
}
.video-poster-link:hover .video-poster-overlay{
  background:
    linear-gradient(180deg, rgba(14,8,16,.25) 0%, rgba(14,8,16,.4) 100%);
}
.video-poster-play{
  width:88px; height:88px;
  border-radius:50%;
  background:rgba(255,31,110,.96);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:
    0 8px 32px -4px rgba(255,31,110,.5),
    0 0 0 0 rgba(255,31,110,.6);
  transition:transform .35s cubic-bezier(.22,1,.36,1),
             box-shadow .35s ease,
             background .25s ease;
  padding-left:6px;  /* offset for visual centering of play triangle */
}
.video-poster-link:hover .video-poster-play{
  transform:scale(1.08);
  background:var(--pink);
  box-shadow:
    0 12px 48px -4px rgba(255,31,110,.65),
    0 0 0 12px rgba(255,31,110,.15);
}
.video-poster-meta{
  position:absolute;
  bottom:32px;
  left:32px;
  right:32px;
  color:#fff9f5;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.vpm-tag{
  font-family:var(--mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--yellow);
}
.vpm-title{
  font-family:var(--serif);
  font-style:italic;
  font-size:20px;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  color:#fff9f5;
}
@media (max-width:760px){
  .video-poster-play{ width:64px; height:64px; }
  .video-poster-play svg{ width:24px; height:24px; }
  .video-poster-meta{ bottom:18px; left:18px; right:18px; }
  .vpm-title{ font-size:16px; }
}
.video-sound-toggle{
  position:absolute;
  bottom:14px; right:14px;
  width:42px; height:42px;
  border-radius:50%;
  background:rgba(14,8,16,.7);
  border:1.5px solid rgba(255,249,245,.4);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:#fff9f5;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  z-index:5;
  transition:all .3s ease;
  padding:0;
}
.video-sound-toggle:hover{
  background:var(--pink);
  border-color:var(--pink);
  transform:scale(1.08);
}
.video-sound-toggle svg{ display:none; width:18px; height:18px; }
.video-sound-toggle.is-muted .icon-muted{ display:block; }
.video-sound-toggle:not(.is-muted) .icon-unmuted{ display:block; }

/* ── H · Impact video feature — DEPRECATED.
   The video was relocated from inside .case-studies to its own dedicated
   .impact-video-section after all 3 cases. CSS for the new section lives
   earlier in the file (around line 3922). Rules below target zero
   elements — kept commented for reference. */
/*
.impact-video-feature{
  margin:48px 0 64px;
  padding:48px;
  background:linear-gradient(135deg, var(--paper) 0%, var(--paper-warm) 100%);
  border-radius:18px;
  border:1px solid var(--rule);
}
.impact-video-feature .eyebrow{ margin-bottom:18px; }
.impact-video-feature h3{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(24px, 2.5vw, 36px);
  line-height:1.15; letter-spacing:-.02em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 18px;
}
.impact-video-feature h3 em{ color:var(--pink); font-style:italic; }
.impact-video-feature p{
  font-size:16px; line-height:1.65;
  color:var(--ink-soft);
  margin:0 0 32px;
  max-width:720px;
}
@media (max-width:760px){
  .impact-video-feature{ padding:32px 22px; }
}
*/
/* ════════════════════════════════════════════════════════
   PHASE 2.18 — DESKTOP BULLETPROOFING + UX POLISH
   1. Timeline cards never squeeze
   2. Operating Thesis quote marks: top-left + bottom-right
   3. Page hero "wow first" — Books, Courses, Consulting open
      with the big headline instead of blank space
   4. Speaker-kit description bulletproof white text
   5. Case study big numbers move to the LEFT margin
   6. "Operators we work with" rendered as pill tag grid
   ════════════════════════════════════════════════════════ */

/* ── 1 · Timeline cards: bulletproof against squeeze ── */
.timeline{
  width:100%;
  max-width:920px;
  margin:0 auto;
}
.timeline-item{
  min-width:0;  /* allow grid children to compute width properly */
}
.timeline-year{
  grid-column:1;  /* explicitly in the 100px column */
}
.timeline-card{
  /* CRITICAL: Grid has 3 columns (100px year, 60px dot/line, 1fr card)
     but markup has only 2 children. Without explicit placement, the
     card defaults to column 2 (60px) and squeezes its text into a
     single-word-per-line strip. Force the card to column 3. */
  grid-column:3 !important;
  min-width:0;
  width:auto;
  flex:1 1 auto;
}
.timeline-card h3{
  /* Don't let single long words break the layout */
  word-wrap:normal;
  overflow-wrap:normal;
}

/* ── 2 · Operating Thesis quote marks — open top-left, close bottom-right ── */
.insight-card{
  position:relative;  /* anchor the marks */
  padding:96px 80px 96px;  /* extra padding so marks have room */
}
.insight-quote-mark{
  position:absolute;
  font-family:var(--serif); font-weight:300;
  font-size:180px; line-height:.4;
  color:var(--pink); opacity:.35;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  font-style:italic;
  pointer-events:none;
  user-select:none;
  margin:0;
}
.insight-quote-open{
  top:48px; left:48px;
  text-align:left;
}
.insight-quote-close{
  bottom:0px; right:48px;
  text-align:right;
}
@media (max-width:1100px){
  .insight-card{ padding:80px 36px 80px; }
  .insight-quote-mark{ font-size:120px; }
  .insight-quote-open{ top:28px; left:24px; }
  .insight-quote-close{ bottom:-12px; right:24px; }
}
@media (max-width:640px){
  .insight-card{ padding:64px 22px 64px; }
  .insight-quote-mark{ font-size:80px; }
  .insight-quote-open{ top:18px; left:14px; }
  .insight-quote-close{ bottom:-8px; right:14px; }
}

/* ── 3 · Page hero "wow first" — tighten the leading whitespace
   on Books, Courses, Consulting page heroes ── */
#page-products .page-hero,
#page-courses .page-hero,
#page-consulting .page-hero{
  padding:80px 40px 32px;  /* down from 120px+ that left a giant gap */
  min-height:auto;
}
#page-products .page-hero h1,
#page-courses .page-hero h1,
#page-consulting .page-hero h1{
  margin:16px 0 0;
}
#page-products .page-hero .eyebrow,
#page-courses .page-hero .eyebrow,
#page-consulting .page-hero .eyebrow{
  margin-bottom:18px;
}
#page-products .page-hero p,
#page-courses .page-hero p,
#page-consulting .page-hero p{
  margin-top:18px !important;
}

/* ── 4 · Speaker-kit description on dark section — bulletproof
   bright white text override regardless of theme ── */
.speaker-kit-section .kit-text p,
.speaker-kit-section .kit-text > p,
.speaker-kit-section p{
  color:#fff9f5 !important;
  opacity:.92;
}

/* ── 5 · Case study big numbers — DEPRECATED.
   Old design had a 120px left column for a big "01" marker beside the
   case-body content. The new editorial-card design (.case-card) handles
   numbering as a header-zone element with its own per-case accent color.
   Markup no longer uses .case-study / .case-body / .case-marker — these
   rules target zero elements. Commented out. */
/*
.case-study{
  position:relative;
}
.case-body{
  position:relative;
  display:grid;
  grid-template-columns:120px 1fr;
  gap:36px;
  align-items:start;
}
.case-marker{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-top:2px;
}
.cm-label{
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--pink);
  white-space:nowrap;
}
.cm-num{
  font-family:var(--serif);
  font-size:96px;
  line-height:.85;
  font-weight:300;
  color:var(--pink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  letter-spacing:-.04em;
  margin-top:4px;
}
.case-body::before{ content:none; }

@media (max-width:1100px){
  .case-body{
    grid-template-columns:80px 1fr;
    gap:24px;
  }
  .cm-num{ font-size:64px; }
  .cm-label{ font-size:10px; letter-spacing:.18em; }
}
@media (max-width:760px){
  .case-body{
    grid-template-columns:1fr;
    gap:8px;
  }
  .case-marker{
    flex-direction:row;
    align-items:baseline;
    gap:14px;
  }
  .cm-num{ font-size:48px; margin-top:0; }
}
*/

/* ── 6 · "Operators we work with" — pill tag grid ── */
.operators-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:40px 0 0;
  padding:0;
  list-style:none;
}
.operators-strip li{
  display:inline-flex;
  align-items:center;
  padding:10px 18px;
  background:rgba(255,31,110,.08);
  border:1px solid rgba(255,31,110,.2);
  border-radius:100px;
  font-family:var(--mono);
  font-size:11px; font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
  transition:all .3s ease;
  cursor:default;
}
.operators-strip li:hover{
  background:var(--pink);
  border-color:var(--pink);
  color:var(--paper);
  transform:translateY(-2px);
}
/* dark-section variant */
.dark-section .operators-strip li,
.speak-hero .operators-strip li,
.book-stack-section .operators-strip li{
  background:rgba(255,249,245,.08);
  border-color:rgba(255,249,245,.2);
  color:#fff9f5;
}

/* ── 7 · Courses page — beautiful, no longer "strange and empty" ── */
.courses-section{
  padding:80px 0 100px !important;  /* was massive padding causing empty space */
  background:var(--paper);
}
.courses-section .services-header{
  margin-bottom:64px;
  padding:0 40px;
}
.courses-section .services-header h2{
  font-size:clamp(40px, 5.5vw, 84px) !important;
  line-height:.96;
  margin:8px 0 24px;
}

/* Courses page — Marnie portrait feature */
.courses-marnie-feature{
  margin:120px 0 80px;
  padding:0 40px;
}
.courses-marnie-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
  max-width:1240px;
  margin:0 auto;
  background:linear-gradient(135deg, var(--paper-warm) 0%, var(--paper-pink) 100%);
  border-radius:24px;
  padding:64px;
  overflow:hidden;
  position:relative;
}
.cmf-photo{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  aspect-ratio:3/4;
  max-width:440px;
  margin:0 auto;
  transform:rotate(-2deg);
  transition:transform .8s var(--easing-slow, cubic-bezier(.22,1,.36,1));
  box-shadow:0 30px 60px -20px rgba(14,8,16,.25);
}
.cmf-photo:hover{ transform:rotate(0deg) scale(1.02); }
.cmf-photo img{
  width:100%; height:100%;
  object-fit:cover; display:block;
}
.cmf-text .eyebrow{ margin-bottom:18px; }
.cmf-text h3{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(32px, 3.6vw, 52px);
  line-height:1.04; letter-spacing:-.02em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 24px;
}
.cmf-text h3 em{ color:var(--pink); font-style:italic; }
.cmf-text p{
  font-size:17px; line-height:1.65;
  color:var(--ink-soft);
  margin:0 0 32px;
}

@media (max-width:1100px){
  .courses-marnie-inner{
    grid-template-columns:1fr;
    gap:48px;
    padding:48px 32px;
  }
  .cmf-photo{ max-width:340px; }
}
@media (max-width:640px){
  .courses-marnie-feature{ margin:64px 0 48px; padding:0 18px; }
  .courses-marnie-inner{ padding:32px 22px; gap:32px; border-radius:18px; }
}
/* ════════════════════════════════════════════════════════
   PHASE 2.19 — Color drama on services + library gallery
   pink gradient + TEDx hero redesign
   ════════════════════════════════════════════════════════ */

/* ── 1 · Service constellation — each card has its own
   accent color via CSS var. Hover sweeps a tinted bg, lifts,
   and animates the arrow + number. ── */
.service-card{
  --accent: var(--pink);
  --accent-rgb: 255,31,110;
  position:relative;
  overflow:hidden;
  border-top:3px solid transparent;
  transition:
    background .5s var(--easing),
    border-color .5s var(--easing),
    transform .5s var(--easing),
    box-shadow .5s var(--easing);
}
.service-card::before{
  /* color sweep on hover */
  content:""; position:absolute;
  inset:0;
  background:linear-gradient(135deg,
    rgba(var(--accent-rgb), .07) 0%,
    rgba(var(--accent-rgb), .02) 50%,
    transparent 100%);
  opacity:0;
  transition:opacity .5s var(--easing);
  pointer-events:none;
  z-index:0;
}
.service-card > *{ position:relative; z-index:1; }
.service-card:hover{
  border-top-color:var(--accent);
  transform:translateY(-6px);
  box-shadow:0 30px 60px -20px rgba(var(--accent-rgb), .25);
}
.service-card:hover::before{ opacity:1; }
.service-card .service-num{
  color:var(--accent);
  transition:color .5s var(--easing), transform .5s var(--easing);
}
.service-card:hover .service-num{
  transform:translateX(4px);
}
.service-card .service-arrow{
  color:var(--accent);
  transition:transform .5s var(--easing), color .5s var(--easing);
}
.service-card:hover .service-arrow{
  transform:translate(8px, -2px) scale(1.15);
}

/* Per-card accent palettes — five distinct colors */
.service-card:nth-child(1){
  --accent:#ffd23f;
  --accent-rgb:255,210,63;
}
.service-card:nth-child(2){
  --accent:#ff1f6e;
  --accent-rgb:255,31,110;
}
.service-card:nth-child(3){
  --accent:#1e3fc3;
  --accent-rgb:30,63,195;
}
.service-card:nth-child(4){
  --accent:#00b894;
  --accent-rgb:0,184,148;
}
.service-card:nth-child(5){
  --accent:#b86eff;
  --accent-rgb:184,110,255;
}

/* The featured (flagship) dark card — its accent shows in the
   FLAGSHIP tag and arrow, but its base bg stays dark/cream-on-dark */
.service-card.featured{
  --accent:#ffd23f;
  --accent-rgb:255,210,63;
}
.service-card.featured .service-tag{
  background:var(--accent);
  color:var(--ink);
}
.service-card.featured:hover{
  box-shadow:0 30px 60px -20px rgba(255,210,63,.4);
}

/* ── 2 · Library gallery — pink gradient bg matching the
   "platform real operators run on" iPhone section. ── */
.home-library-gallery{
  background:linear-gradient(180deg,
    var(--paper-pink) 0%,
    var(--paper) 100%) !important;
  position:relative;
  overflow:hidden;
}
.home-library-gallery::before{
  content:""; position:absolute;
  top:-200px; right:-200px; width:600px; height:600px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,31,110,.12) 0%, transparent 70%);
  pointer-events:none;
  z-index:0;
}
.home-library-gallery::after{
  /* mirrored accent on the left side for balance */
  content:""; position:absolute;
  bottom:-260px; left:-260px; width:700px; height:700px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,210,63,.08) 0%, transparent 70%);
  pointer-events:none;
  z-index:0;
}
.home-library-gallery .gallery-header,
.home-library-gallery .gallery-grid,
.home-library-gallery .gallery-footer{
  position:relative; z-index:1;
}

/* ── 3 · TEDx feature redesign — full-width cinematic block
   Larger video, dramatic dark gradient, headline above. ── */
.tedx-feature-home{
  padding:120px 0;
  background:linear-gradient(180deg, var(--paper) 0%, var(--paper-warm) 100%);
  position:relative;
  overflow:hidden;
}

/* ══════════════════════════════════════════════════════════════════
   PODCAST FEATURE — HOMEPAGE
   Inserted between TEDx and Newsletter sections. Layout pattern
   matches Lauren's reference design but uses brand fonts and colors:
   - Dark ink background (slightly cooler navy tint #0a1421)
   - Eyebrow with leading rule, mono uppercase
   - Oversized Fraunces headline, "parent who" in yellow italic
   - 2-column main: body text left, show cover art right
   - Featured episode card: square RI avatar, meta + title + progress
     bar + time markers, circular play button on right
   - Dual CTAs: text link "All 42 Episodes →" + outlined pill
   ══════════════════════════════════════════════════════════════════ */
.podcast-feature-home{
  /* Slightly cooler than var(--ink) — matches the deep navy in the
     reference design while staying coherent with the rest of the
     dark sections (footer, about-hero in default theme). */
  background:#0a1421;
  color:var(--paper);
  padding:140px 0 120px;
  position:relative;
  overflow:hidden;
}
.podcast-feature-home::before{
  /* Subtle radial highlight from upper-left, like a soft spotlight on
     the headline. Echoes the gradient feel in the reference. */
  content:"";
  position:absolute;
  top:-200px; left:-200px;
  width:900px; height:900px;
  background:radial-gradient(circle, rgba(255,210,63,.05) 0%, transparent 60%);
  pointer-events:none;
  z-index:0;
}
.podcast-feature-home::after{
  /* Bottom-right pink wash, mirror of the upper-left gold one */
  content:"";
  position:absolute;
  bottom:-300px; right:-200px;
  width:700px; height:700px;
  background:radial-gradient(circle, rgba(255,31,110,.07) 0%, transparent 60%);
  pointer-events:none;
  z-index:0;
}
.podcast-feature-home .container{
  position:relative;
  z-index:2;
  max-width:1200px;
}

/* Eyebrow — mono uppercase with a leading short rule, matching
   our standard .eyebrow pattern but slightly more compact for
   this section's editorial feel. */
.phf-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-family:var(--mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,249,245,.7);
  margin-bottom:40px;
}
.phf-eyebrow-rule{
  display:inline-block;
  width:36px;
  height:1px;
  background:var(--yellow);
}

/* Main 2-column composition — headline + body on left, cover on right.
   Headline visually overflows the column rhythm to feel oversized and
   editorial, similar to the reference. */
.phf-main{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:64px;
  align-items:end;
  margin-bottom:64px;
}
.phf-left{
  display:flex;
  flex-direction:column;
  gap:48px;
}
.phf-headline{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(56px, 7.2vw, 116px);
  line-height:.96;
  letter-spacing:-.035em;
  color:var(--paper);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0;
}
.phf-headline em{
  /* The italic accent phrase — "parent who" in the reference. Yellow
     gold accent matches the reference's emphasis color exactly while
     staying on brand. */
  font-style:italic;
  font-weight:300;
  color:var(--yellow);
}
.phf-body{
  font-family:var(--serif);
  font-weight:400;
  font-size:18px;
  line-height:1.55;
  color:rgba(255,249,245,.82);
  max-width:560px;
  margin:0;
  font-variation-settings:"SOFT" 100;
}
.phf-right{
  display:flex;
  justify-content:center;
  align-items:center;
}
.phf-cover-link{
  display:block;
  width:100%;
  max-width:340px;
  border-radius:20px;
  overflow:hidden;
  position:relative;
  transition:transform .5s cubic-bezier(.22,1,.36,1),
             box-shadow .5s ease;
  box-shadow:
    0 24px 60px -16px rgba(0,0,0,.4),
    0 0 0 1px rgba(255,249,245,.06);
}
.phf-cover-link:hover{
  transform:translateY(-6px) scale(1.02);
  box-shadow:
    0 32px 72px -16px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,210,63,.25);
}
.phf-cover{
  width:100%;
  height:auto;
  display:block;
  border-radius:inherit;
}

/* Featured episode card — single highlighted episode below the main
   composition. Matches the reference's elevated card with avatar,
   meta + title, progress bar, time markers, and a play button. */
.phf-featured-ep{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:24px;
  align-items:center;
  padding:24px 28px;
  background:rgba(255,249,245,.04);
  border:1px solid rgba(255,249,245,.1);
  border-radius:18px;
  text-decoration:none;
  color:inherit;
  margin-bottom:32px;
  transition:transform .35s cubic-bezier(.22,1,.36,1),
             border-color .3s ease,
             background .3s ease;
}
.phf-featured-ep:hover{
  transform:translateY(-3px);
  border-color:rgba(255,210,63,.3);
  background:rgba(255,249,245,.06);
}
.phf-ep-avatar{
  width:72px;
  height:72px;
  border-radius:14px;
  background:linear-gradient(135deg, var(--pink), var(--royal));
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--paper);
  font-family:var(--serif);
  font-weight:400;
  font-size:24px;
  font-style:italic;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  letter-spacing:-.02em;
  flex-shrink:0;
  box-shadow:0 8px 24px -8px rgba(255,31,110,.4);
}
.phf-ep-body{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.phf-ep-tag{
  font-family:var(--mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--yellow);
}
.phf-ep-title{
  font-family:var(--serif);
  font-weight:400;
  font-size:20px;
  line-height:1.25;
  letter-spacing:-.012em;
  color:var(--paper);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  font-style:italic;
  margin:0;
  /* Single-line clamp with ellipsis to keep card height consistent */
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
/* Simulated progress bar — purely decorative since this is a static
   feature card linking out to Apple Podcasts. Yellow filled portion
   matches the reference. */
.phf-ep-progress{
  height:3px;
  background:rgba(255,249,245,.12);
  border-radius:2px;
  margin-top:6px;
  overflow:hidden;
  position:relative;
}
.phf-ep-progress-fill{
  height:100%;
  width:36%;
  background:var(--yellow);
  border-radius:2px;
  position:relative;
}
.phf-ep-progress-fill::after{
  /* Small playhead dot at the end of the filled portion */
  content:"";
  position:absolute;
  right:-5px;
  top:50%;
  transform:translateY(-50%);
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--yellow);
  box-shadow:0 0 12px rgba(255,210,63,.6);
}
.phf-ep-times{
  display:flex;
  justify-content:space-between;
  font-family:var(--mono);
  font-size:10px;
  font-weight:600;
  letter-spacing:.06em;
  color:rgba(255,249,245,.55);
  margin-top:6px;
}
.phf-ep-play{
  width:56px;
  height:56px;
  border-radius:50%;
  background:transparent;
  border:1.5px solid rgba(255,249,245,.4);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--paper);
  flex-shrink:0;
  padding-left:3px;     /* visual centering of the play triangle */
  transition:background .3s ease,
             border-color .3s ease,
             transform .3s ease,
             color .3s ease;
}
.phf-featured-ep:hover .phf-ep-play{
  background:var(--pink);
  border-color:var(--pink);
  color:var(--paper);
  transform:scale(1.06);
}

/* Inline Apple Podcasts embed on the homepage */
.phf-embed{
  margin:32px 0 28px;
  background:rgba(255,249,245,.06);
  border:1px solid rgba(255,249,245,.18);
  border-radius:18px;
  padding:18px 20px 14px;
  backdrop-filter:blur(6px);
}
.phf-embed-tag{
  font-family:var(--mono);
  font-size:11px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--pink);
  margin-bottom:10px;
  display:inline-flex; align-items:center; gap:10px;
}
.phf-embed-tag::before{
  content:""; width:24px; height:1.5px; background:var(--pink); border-radius:2px;
}
.phf-embed-frame{
  width:100%; border:0; border-radius:12px; display:block;
  background:transparent;
}

/* Bottom CTAs — text link + outlined pill. Matches reference. */
.phf-ctas{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}
.phf-cta-text{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--paper);
  text-decoration:none;
  transition:color .25s ease, gap .25s ease;
}
.phf-cta-text:hover{
  color:var(--yellow);
  gap:14px;
}
.phf-cta-pill{
  display:inline-flex;
  align-items:center;
  padding:14px 26px;
  border:1.5px solid rgba(255,249,245,.4);
  border-radius:100px;
  font-family:var(--mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--paper);
  text-decoration:none;
  transition:background .3s ease,
             border-color .3s ease,
             color .3s ease;
}
.phf-cta-pill:hover{
  background:var(--paper);
  border-color:var(--paper);
  color:var(--ink);
}

/* Responsive — collapse to single column on tablet and mobile,
   shrink cover, soften headline scale, restack episode card */
@media (max-width:1000px){
  .podcast-feature-home{ padding:96px 32px; }
  .phf-main{
    grid-template-columns:1fr;
    gap:48px;
    align-items:start;
  }
  .phf-right{
    justify-content:flex-start;
  }
  .phf-cover-link{
    max-width:280px;
  }
}
@media (max-width:680px){
  .podcast-feature-home{ padding:72px 24px; }
  .phf-headline{
    font-size:clamp(44px, 11vw, 64px);
  }
  .phf-featured-ep{
    grid-template-columns:auto 1fr;
    gap:18px;
    padding:20px;
  }
  .phf-ep-play{
    grid-column:1 / -1;
    margin-left:auto;
    width:44px;
    height:44px;
  }
  .phf-ep-avatar{
    width:56px;
    height:56px;
    font-size:18px;
  }
  .phf-ep-title{
    font-size:17px;
    white-space:normal;
    overflow:visible;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
  .phf-ctas{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .phf-cta-pill{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}
.tedx-feature-home::before{
  /* dramatic radial accent */
  content:""; position:absolute;
  top:50%; left:50%; transform:translate(-50%, -50%);
  width:900px; height:900px;
  background:radial-gradient(circle, rgba(255,31,110,.08) 0%, transparent 60%);
  pointer-events:none; z-index:0;
}
.tedx-feature-home .container{ position:relative; z-index:1; }
.tedx-feature-header{
  text-align:center;
  max-width:880px;
  margin:0 auto 56px;
  padding:0 40px;
}
.tedx-feature-header .eyebrow{
  display:inline-flex;
  justify-content:center;
  margin-bottom:18px;
}
.tedx-feature-header h2{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(40px, 5.5vw, 84px);
  line-height:.96; letter-spacing:-.025em;
  color:var(--ink);
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 24px;
}
.tedx-feature-header h2 em{
  color:var(--pink);
  font-style:italic;
}
.tedx-feature-header p{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:19px; line-height:1.55;
  color:var(--ink-soft);
  max-width:680px;
  margin:0 auto;
  font-variation-settings:"SOFT" 100;
}
.tedx-feature-video{
  /* the BIG video — full-width, contained, 16:9 with cinematic shadow */
  position:relative;
  max-width:1200px;
  margin:0 auto;
  aspect-ratio:16/9;
  border-radius:18px;
  overflow:hidden;
  background:#000;
  box-shadow:
    0 60px 120px -40px rgba(14,8,16,.5),
    0 30px 60px -30px rgba(255,31,110,.25);
}
.tedx-feature-video iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
  border:0;
}
/* Reuse video-sound-toggle button — already styled, just makes it
   pop more on a bigger video */
.tedx-feature-video .video-sound-toggle{
  width:54px; height:54px;
  bottom:20px; right:20px;
}
.tedx-feature-video .video-sound-toggle svg{ width:22px; height:22px; }

.tedx-feature-cta{
  text-align:center;
  margin-top:48px;
}
.tedx-feature-cta .runtime{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-family:var(--mono);
  font-size:11px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-mute);
  margin-bottom:24px;
}
.tedx-feature-cta .runtime::before,
.tedx-feature-cta .runtime::after{
  content:""; width:24px; height:1px;
  background:var(--ink-mute); opacity:.6;
}

@media (max-width:1100px){
  .tedx-feature-home{ padding:80px 32px; }
  .tedx-feature-header{ padding:0 8px; margin-bottom:40px; }
  .tedx-feature-video{ border-radius:14px; }
}
@media (max-width:640px){
  .tedx-feature-home{ padding:60px 18px; }
  .tedx-feature-video .video-sound-toggle{ width:42px; height:42px; bottom:12px; right:12px; }
}
/* ════════════════════════════════════════════════════════
   PHASE 2.20 — Theme 3 (Pink) + Theme 4 (Blue/Yellow) overhauls
   Pink: hot pink page bg, ROYAL BLUE dark sections (not maroon),
         WHITE quote cards with blue accents, yellow stat pops
   Blue/Yellow: yellow page bg, navy text, ROYAL BLUE feature
                sections, CORAL accents on cards for contrast
   ════════════════════════════════════════════════════════ */

/* === THEME 3 — PINK + ROYAL BLUE === */
body.theme-emerald{
  --pink:        #1e3fc3;   /* ROYAL BLUE for italic emphasis + CTAs */
  --pink-deep:   #14299e;
  --pink-bright: #4a6fdf;
  --yellow:      #ffd23f;   /* keep yellow as accent */
  --yellow-deep: #e0b830;
  --royal:       #0e0810;   /* deep ink for tertiary accent */
  --royal-deep:  #000;
  --ink:         #ffffff;   /* white primary text on pink */
  --ink-2:       rgba(255,255,255,.92);
  --ink-soft:    rgba(255,255,255,.82);
  --ink-mute:    rgba(255,255,255,.6);
  --paper:       #ff1f6e;   /* hot pink page bg */
  --paper-warm:  #ff3d8a;
  --paper-pink:  #ff5a96;
  --rule:        rgba(255,255,255,.25);
  --rule-dark:   rgba(255,255,255,.4);
}
/* Pink theme: dark hardcoded sections become BRIGHT ROYAL BLUE */
body.theme-emerald .hero{
  background:linear-gradient(135deg, #1e3fc3 0%, #14299e 55%, #0e1f6e 100%) !important;
}
body.theme-emerald .book-stack-section,
body.theme-emerald .speak-hero,
body.theme-emerald .awards-dark-section,
body.theme-emerald .process-section,
body.theme-emerald .speaker-kit-section,
body.theme-emerald .about-hero,
body.theme-emerald .impact-hero,
body.theme-emerald .site-footer{
  background:#1e3fc3 !important;
  color:#fff9f5;
}
/* Pink theme: topbar = ROYAL BLUE so it pops against pink page */
body.theme-emerald .topbar{
  background:rgba(30,63,195,.96) !important;
  border-bottom-color:rgba(255,255,255,.18);
}
body.theme-emerald .topbar .brand-mark,
body.theme-emerald .topbar .brand-mark > *,
body.theme-emerald .topbar .topbar-meta,
body.theme-emerald .topbar .topbar-meta a,
body.theme-emerald .topbar .small{
  color:#fff !important;
  border-left-color:rgba(255,255,255,.3) !important;
}
body.theme-emerald .topbar .brand-mark em{
  /* Pink theme topbar = royal blue bg; readable yellow→white gradient */
  background:linear-gradient(135deg, #ffd23f, #fff9f5) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
}
body.theme-sunset .topbar .brand-mark em{
  /* Blue/Yellow theme topbar = yellow bg; royal blue → coral gradient */
  background:linear-gradient(135deg, #1e3fc3, #ff5e5e) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
}
body.theme-emerald .topbar .bm-dot{ background:#ffd23f !important; }
body.theme-emerald .cta-pill{
  background:#ffd23f !important;
  color:#1e3fc3 !important;
  border-color:#ffd23f !important;
}

/* Pink theme: quote cards become WHITE with royal blue text so they READ */
body.theme-emerald .quote-card{
  background:#fff9f5 !important;
  color:#0e0810 !important;
  border:1px solid rgba(0,0,0,.06) !important;
  border-top:3px solid #1e3fc3 !important;
}
body.theme-emerald .quote-card .q,
body.theme-emerald .quote-card .q-name{ color:#0e0810 !important; }
body.theme-emerald .quote-card .q-role{ color:rgba(14,8,16,.6) !important; }
body.theme-emerald .quote-card .q-mark{ color:#1e3fc3 !important; opacity:.4 !important; }
body.theme-emerald .quote-card .q em{ color:#1e3fc3 !important; }
/* override the 6-color nth-child variants on pink theme */
body.theme-emerald .quote-card:nth-child(6n+1),
body.theme-emerald .quote-card:nth-child(6n+2),
body.theme-emerald .quote-card:nth-child(6n+3),
body.theme-emerald .quote-card:nth-child(6n+4),
body.theme-emerald .quote-card:nth-child(6n+5),
body.theme-emerald .quote-card:nth-child(6n+6){
  background:#fff9f5 !important;
}
/* Vary the top stripe color per card for editorial flair */
body.theme-emerald .quote-card:nth-child(6n+1){ border-top-color:#1e3fc3 !important; }
body.theme-emerald .quote-card:nth-child(6n+2){ border-top-color:#ffd23f !important; }
body.theme-emerald .quote-card:nth-child(6n+3){ border-top-color:#0e0810 !important; }
body.theme-emerald .quote-card:nth-child(6n+4){ border-top-color:#1e3fc3 !important; }
body.theme-emerald .quote-card:nth-child(6n+5){ border-top-color:#ffd23f !important; }
body.theme-emerald .quote-card:nth-child(6n+6){ border-top-color:#0e0810 !important; }

/* Pink theme: meet-marnie + insight + iphone-section + book-stack alternate
   between pink + yellow + royal-blue tinted backgrounds for variety */
body.theme-emerald .meet-marnie{
  background:linear-gradient(180deg, #ff1f6e 0%, #ff3d8a 100%) !important;
}
body.theme-emerald .meet-marnie h2,
body.theme-emerald .meet-marnie .mm-name,
body.theme-emerald .meet-marnie .mm-bio,
body.theme-emerald .meet-marnie p{ color:#fff9f5 !important; }
body.theme-emerald .meet-marnie .mm-creds span{
  background:rgba(255,255,255,.15) !important;
  border-color:rgba(255,255,255,.3) !important;
  color:#fff9f5 !important;
}
body.theme-emerald .iphone-section{
  background:linear-gradient(180deg, #ffd23f 0%, #ffdf66 100%) !important;
}
body.theme-emerald .iphone-section h2,
body.theme-emerald .iphone-section p,
body.theme-emerald .iphone-section .eyebrow{ color:#0e0810 !important; }
body.theme-emerald .iphone-section .display-md em{ color:#1e3fc3 !important; }
body.theme-emerald .big-insight{
  background:linear-gradient(180deg, #ff1f6e 0%, #ff3d8a 100%) !important;
}
body.theme-emerald .insight-card{
  background:#fff9f5 !important;
}
body.theme-emerald .insight-card,
body.theme-emerald .insight-card *{ color:#0e0810 !important; }
body.theme-emerald .insight-quote em,
body.theme-emerald .insight-quote-mark{ color:#1e3fc3 !important; }
body.theme-emerald .insight-attr-title{ color:rgba(14,8,16,.5) !important; }
body.theme-emerald .insight-eyebrow{ color:#1e3fc3 !important; }
body.theme-emerald .insight-eyebrow::before,
body.theme-emerald .insight-eyebrow::after{ background:#1e3fc3 !important; }

/* Pink theme: home-library-gallery — yellow accents */
body.theme-emerald .home-library-gallery{
  background:linear-gradient(180deg, #ffd23f 0%, #ffdf66 100%) !important;
}
body.theme-emerald .home-library-gallery .gallery-header h2,
body.theme-emerald .home-library-gallery .gallery-header p,
body.theme-emerald .home-library-gallery .gallery-header .eyebrow,
body.theme-emerald .home-library-gallery .gallery-footer p{ color:#0e0810 !important; }

/* Pink theme: tedx-feature-home — royal blue dramatic bg */
body.theme-emerald .tedx-feature-home{
  background:linear-gradient(180deg, #1e3fc3 0%, #14299e 100%) !important;
}
body.theme-emerald .tedx-feature-home .tedx-feature-header h2,
body.theme-emerald .tedx-feature-home .tedx-feature-header p,
body.theme-emerald .tedx-feature-home .tedx-feature-header .eyebrow,
body.theme-emerald .tedx-feature-home .runtime{ color:#fff9f5 !important; }
body.theme-emerald .tedx-feature-home .tedx-feature-header h2 em{ color:#ffd23f !important; }

/* Pink theme: newsletter — yellow bg with deep ink text */
body.theme-emerald .newsletter{
  background:linear-gradient(135deg, #ffd23f 0%, #ffdf66 100%) !important;
}
body.theme-emerald .newsletter h2,
body.theme-emerald .newsletter p,
body.theme-emerald .newsletter .eyebrow{ color:#0e0810 !important; }
body.theme-emerald .newsletter h2 em{ color:#1e3fc3 !important; }

/* Pink theme: services cards — white bg cards with their color accents */
body.theme-emerald .services-section{
  background:linear-gradient(180deg, #ff1f6e 0%, #ff3d8a 100%) !important;
}
body.theme-emerald .services-section .services-header h2,
body.theme-emerald .services-section .services-header p,
body.theme-emerald .services-section .services-header .eyebrow{ color:#fff9f5 !important; }
body.theme-emerald .service-card:not(.featured){
  background:#fff9f5 !important;
  color:#0e0810 !important;
}
body.theme-emerald .service-card:not(.featured) h3,
body.theme-emerald .service-card:not(.featured) p{ color:#0e0810 !important; }


/* === THEME 4 — BLUE/YELLOW with CORAL accents === */
body.theme-sunset{
  --pink:        #1e3fc3;   /* royal blue primary CTA */
  --pink-deep:   #14299e;
  --pink-bright: #4a6fdf;
  --yellow:      #ff5e5e;   /* CORAL accent for contrast against yellow bg */
  --yellow-deep: #e54040;
  --royal:       #4dc8ff;   /* light blue accent */
  --royal-deep:  #2eb0ed;
  --ink:         #0a1f3d;
  --ink-2:       #14294e;
  --ink-soft:    #3a5078;
  --ink-mute:    rgba(10,31,61,.55);
  --paper:       #ffd23f;   /* yellow page bg */
  --paper-warm:  #ffdf66;
  --paper-pink:  #ffe890;
  --rule:        rgba(10,31,61,.22);
  --rule-dark:   rgba(10,31,61,.38);
}
/* Blue/Yellow: hero stays yellow, dark sections become BRIGHT ROYAL BLUE */
body.theme-sunset .hero{
  background:linear-gradient(135deg, #1e3fc3 0%, #14299e 55%, #0e1f6e 100%) !important;
}
body.theme-sunset .book-stack-section,
body.theme-sunset .speak-hero,
body.theme-sunset .awards-dark-section,
body.theme-sunset .process-section,
body.theme-sunset .speaker-kit-section,
body.theme-sunset .about-hero,
body.theme-sunset .impact-hero{
  background:#1e3fc3 !important;
  color:#fff9f5;
}
body.theme-sunset .site-footer{
  background:#0a1f3d !important;
  color:#fff9f5;
}
body.theme-sunset .topbar{
  background:rgba(255,210,63,.95) !important;
  border-bottom-color:rgba(10,31,61,.2);
}
body.theme-sunset .cta-pill{
  background:#1e3fc3 !important;
  color:#fff9f5 !important;
}

/* Blue/Yellow: quote cards on yellow bg — alternate white + royal blue */
body.theme-sunset .quote-card:nth-child(6n+1){ background:#fff9f5 !important; }
body.theme-sunset .quote-card:nth-child(6n+2){ background:#e8f0ff !important; }
body.theme-sunset .quote-card:nth-child(6n+3){ background:#fff9f5 !important; }
body.theme-sunset .quote-card:nth-child(6n+4){ background:#e8f0ff !important; }
body.theme-sunset .quote-card:nth-child(6n+5){ background:#fff9f5 !important; }
body.theme-sunset .quote-card:nth-child(6n+6){ background:#e8f0ff !important; }
body.theme-sunset .quote-card{
  border-top-color:#1e3fc3 !important;
  color:#0a1f3d !important;
}
body.theme-sunset .quote-card .q,
body.theme-sunset .quote-card .q-name{ color:#0a1f3d !important; }
body.theme-sunset .quote-card .q-mark{ color:#1e3fc3 !important; opacity:.4 !important; }
body.theme-sunset .quote-card .q em{ color:#ff5e5e !important; }

/* Blue/Yellow: meet-marnie + insight = ROYAL BLUE feature bg */
body.theme-sunset .meet-marnie{
  background:linear-gradient(180deg, #1e3fc3 0%, #14299e 100%) !important;
}
body.theme-sunset .meet-marnie *{ color:#fff9f5; }
body.theme-sunset .meet-marnie .mm-bio em{ color:#ffd23f !important; }
body.theme-sunset .meet-marnie .mm-creds span{
  background:rgba(255,255,255,.15) !important;
  border-color:rgba(255,255,255,.3) !important;
  color:#fff9f5 !important;
}
body.theme-sunset .big-insight{
  background:linear-gradient(180deg, #1e3fc3 0%, #14299e 100%) !important;
}
body.theme-sunset .insight-card{
  background:#fff9f5 !important;
}
body.theme-sunset .insight-card,
body.theme-sunset .insight-card *{ color:#0a1f3d !important; }
body.theme-sunset .insight-quote-mark{ color:#1e3fc3 !important; opacity:.45 !important; }
body.theme-sunset .insight-quote em{ color:#ff5e5e !important; }
body.theme-sunset .insight-eyebrow{ color:#1e3fc3 !important; }
body.theme-sunset .insight-eyebrow::before,
body.theme-sunset .insight-eyebrow::after{ background:#1e3fc3 !important; }

/* Blue/Yellow: iphone-section = CORAL */
body.theme-sunset .iphone-section{
  background:linear-gradient(180deg, #ffe6e6 0%, #ffd6d6 100%) !important;
}
body.theme-sunset .iphone-section *{ color:#0a1f3d; }
body.theme-sunset .iphone-section .display-md em{ color:#ff5e5e !important; }

/* Blue/Yellow: home-library-gallery = CORAL accent */
body.theme-sunset .home-library-gallery{
  background:linear-gradient(180deg, #ffe6e6 0%, #ffd6d6 100%) !important;
}

/* Blue/Yellow: tedx-feature-home = ROYAL BLUE deep */
body.theme-sunset .tedx-feature-home{
  background:linear-gradient(180deg, #1e3fc3 0%, #14299e 100%) !important;
}
body.theme-sunset .tedx-feature-home *{ color:#fff9f5; }
body.theme-sunset .tedx-feature-home h2 em{ color:#ffd23f !important; }

/* Blue/Yellow: newsletter = ROYAL BLUE */
body.theme-sunset .newsletter{
  background:linear-gradient(135deg, #1e3fc3 0%, #14299e 100%) !important;
}
body.theme-sunset .newsletter *{ color:#fff9f5; }
body.theme-sunset .newsletter h2 em{ color:#ffd23f !important; }

/* Blue/Yellow: services-section keeps yellow but cards become royal blue */
body.theme-sunset .services-section{
  background:#ffd23f !important;
}
body.theme-sunset .service-card:not(.featured){
  background:#fff9f5 !important;
}
/* ════════════════════════════════════════════════════════
   PHASE 2.22 — Featured E-Book block on Resources page
   ════════════════════════════════════════════════════════ */
.featured-ebook{
  padding:120px 40px;
  background:linear-gradient(135deg, var(--ink) 0%, #1a0b22 50%, #0e0810 100%);
  position:relative;
  overflow:hidden;
}
.featured-ebook::before{
  content:""; position:absolute;
  top:-200px; right:-200px; width:700px; height:700px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,31,110,.12) 0%, transparent 65%);
  pointer-events:none;
}
.featured-ebook::after{
  content:""; position:absolute;
  bottom:-220px; left:-220px; width:600px; height:600px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,210,63,.08) 0%, transparent 65%);
  pointer-events:none;
}
.ebook-inner{
  position:relative; z-index:1;
  max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1.2fr; gap:96px;
  align-items:center;
}
@media (max-width:1100px){
  .featured-ebook{ padding:80px 32px; }
  .ebook-inner{ grid-template-columns:1fr; gap:56px; }
}

/* ── Book cover — stylized hardcover look with spine + shadow ── */
.ebook-cover{
  position:relative;
  max-width:340px;
  margin:0 auto;
  perspective:1400px;
}
.ebook-cover-art{
  position:relative;
  aspect-ratio:2/3;
  border-radius:6px 10px 10px 6px;
  background:linear-gradient(135deg, #ff1f6e 0%, #c91858 50%, #8f1248 100%);
  overflow:hidden;
  box-shadow:
    0 30px 60px -20px rgba(0,0,0,.6),
    0 60px 120px -40px rgba(255,31,110,.4);
  transform:rotateY(-8deg) rotateZ(-1deg);
  transition:transform .8s var(--easing-slow, cubic-bezier(.22,1,.36,1));
}
.ebook-cover:hover .ebook-cover-art{
  transform:rotateY(-4deg) rotateZ(0deg) translateY(-4px);
}
.ebook-spine{
  position:absolute;
  top:0; bottom:0; left:0;
  width:12px;
  background:linear-gradient(90deg,
    rgba(0,0,0,.5) 0%,
    rgba(0,0,0,.25) 30%,
    rgba(255,255,255,.06) 50%,
    rgba(0,0,0,.25) 70%,
    rgba(0,0,0,.5) 100%);
  z-index:2;
}
.ebook-cover-face{
  position:absolute;
  inset:0;
  padding:40px 36px 32px 48px;
  display:flex; flex-direction:column;
  background:
    radial-gradient(at 80% 20%, rgba(255,210,63,.18) 0%, transparent 50%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 100%);
  color:#fff9f5;
}
.ebook-cover-eyebrow{
  font-family:var(--mono); font-size:9px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,210,63,.85);
  margin-bottom:20px;
}
.ebook-cover-title{
  font-family:var(--serif); font-weight:300;
  font-size:42px; line-height:.96; letter-spacing:-.02em;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  color:#fff9f5;
  margin-bottom:auto;
}
.ebook-cover-title em{
  font-family:var(--instrument); font-style:italic;
  color:#ffd23f;
}
.ebook-cover-sub{
  font-family:var(--serif); font-style:italic;
  font-size:14px; line-height:1.4;
  color:rgba(255,249,245,.85);
  margin-top:24px;
  border-top:1px solid rgba(255,249,245,.18);
  padding-top:16px;
}
.ebook-cover-author{
  font-family:var(--mono); font-size:9px;
  letter-spacing:.22em; font-weight:700;
  color:rgba(255,249,245,.65);
  margin-top:14px;
}

/* ── Text column ── */
.ebook-text .eyebrow{
  color:var(--yellow);
  margin-bottom:18px;
}
.ebook-text .eyebrow::before,
.ebook-text .eyebrow::after{ background:var(--yellow); }
.ebook-text h2{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(36px, 4.6vw, 64px);
  line-height:1.02; letter-spacing:-.025em;
  color:#fff9f5;
  font-variation-settings:"SOFT" 100, "WONK" 1;
  margin:0 0 24px;
}
.ebook-text h2 em{
  color:var(--pink);
  font-style:italic;
  font-family:var(--instrument);
}
.ebook-lead{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:18px; line-height:1.55;
  color:rgba(255,249,245,.85);
  margin:0 0 32px;
  max-width:580px;
  font-variation-settings:"SOFT" 100;
}
.ebook-includes{
  list-style:none; padding:0; margin:0 0 36px;
  display:grid; gap:12px;
}
.ebook-includes li{
  padding:14px 18px 14px 44px;
  position:relative;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  color:#fff9f5;
  font-size:15px;
  transition:all .3s ease;
}
.ebook-includes li:hover{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,31,110,.3);
  transform:translateX(4px);
}
.ebook-includes li::before{
  content:"→";
  position:absolute;
  left:18px; top:14px;
  color:var(--pink);
  font-family:var(--mono);
  font-weight:700;
}
.ebook-cta{
  display:flex; align-items:center; gap:24px;
  flex-wrap:wrap;
}
.ebook-meta{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,249,245,.55);
}

   Theme 3 (Pink) → WHITE rail with BLACK text
   Theme 4 (Blue/Yellow) → ROYAL BLUE rail with WHITE text
   ════════════════════════════════════════════════════════ */

/* ── Theme 3 — Pink: white rail with black menu text ── */
body.theme-emerald .rail{
  background:#fff9f5 !important;
  color:#0e0810 !important;
  border-right:1px solid rgba(0,0,0,.06);
}
body.theme-emerald .rail::before{
  background:linear-gradient(180deg, transparent 0%, rgba(255,31,110,.06) 50%, transparent 100%);
}
body.theme-emerald .rail-logo .m{ color:#1e3fc3 !important; }
body.theme-emerald .rail-logo .f{ color:rgba(14,8,16,.45) !important; }
body.theme-emerald .rail-link .num{ color:rgba(14,8,16,.45) !important; }
body.theme-emerald .rail-link .name{ color:rgba(14,8,16,.85) !important; }
body.theme-emerald .rail-link:hover{ background:rgba(0,0,0,.04) !important; }
body.theme-emerald .rail-link:hover .name{ color:#0e0810 !important; }
body.theme-emerald .rail-link:hover .num{ color:#ff1f6e !important; }
body.theme-emerald .rail-link.active{ background:#ff1f6e !important; }
body.theme-emerald .rail-link.active .name{ color:#fff9f5 !important; }
body.theme-emerald .rail-link.active .num{ color:#ffd23f !important; }
body.theme-emerald .rail-foot{
  border-top:1px solid rgba(0,0,0,.08) !important;
}
body.theme-emerald .rail-foot a{ color:rgba(14,8,16,.6) !important; }
body.theme-emerald .rail-foot a:hover{ color:#ff1f6e !important; }
body.theme-emerald .rail-est{ color:rgba(14,8,16,.4) !important; }

/* ── Theme 4 — Blue/Yellow: royal blue rail with white menu text ── */
body.theme-sunset .rail{
  background:#1e3fc3 !important;
  color:#fff9f5 !important;
  border-right:1px solid rgba(255,255,255,.08);
}
body.theme-sunset .rail::before{
  background:linear-gradient(180deg, transparent 0%, rgba(255,255,255,.04) 50%, transparent 100%);
}
body.theme-sunset .rail-logo .m{ color:#ffd23f !important; }
body.theme-sunset .rail-logo .f{ color:rgba(255,255,255,.55) !important; }
body.theme-sunset .rail-link .num{ color:rgba(255,255,255,.45) !important; }
body.theme-sunset .rail-link .name{ color:rgba(255,255,255,.92) !important; }
body.theme-sunset .rail-link:hover{ background:rgba(255,255,255,.08) !important; }
body.theme-sunset .rail-link:hover .name{ color:#fff9f5 !important; }
body.theme-sunset .rail-link:hover .num{ color:#ffd23f !important; }
body.theme-sunset .rail-link.active{ background:#ffd23f !important; }
body.theme-sunset .rail-link.active .name{ color:#1e3fc3 !important; font-style:italic; }
body.theme-sunset .rail-link.active .num{ color:#1e3fc3 !important; }
body.theme-sunset .rail-link.active::before{
  background:#fff9f5 !important;
  box-shadow:0 0 16px rgba(255,255,255,.5);
}
body.theme-sunset .rail-foot{
  border-top:1px solid rgba(255,255,255,.12) !important;
}
body.theme-sunset .rail-foot a{ color:rgba(255,255,255,.7) !important; }
body.theme-sunset .rail-foot a:hover{ color:#ffd23f !important; }
body.theme-sunset .rail-est{ color:rgba(255,255,255,.45) !important; }



/* ─── next block ─── */


/* ════════ RAISING INNOVATORS — INLINE PLAYER (scoped, reuses site tokens) ════════ */
.ri-player-section{ padding:clamp(8px,2vw,24px) 0 0; }
#ri-player{ position:relative; background:var(--ink); color:var(--paper); border-radius:28px;
  padding:clamp(24px,4vw,48px); overflow:hidden; box-shadow:0 40px 90px -30px rgba(14,8,16,.5); }
#ri-player::before{ content:""; position:absolute; top:-30%; right:-12%; width:480px; height:480px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(255,31,110,.32), transparent 68%); pointer-events:none; }
#ri-player::after{ content:""; position:absolute; bottom:-34%; left:-10%; width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(30,63,195,.26), transparent 70%); pointer-events:none; }
#ri-player .rip-inner{ position:relative; z-index:2; display:grid; grid-template-columns:auto 1fr; gap:clamp(22px,4vw,46px); align-items:center; }
#ri-player .rip-disc{ position:relative; width:clamp(140px,20vw,210px); aspect-ratio:1; border-radius:50%; flex-shrink:0;
  background:conic-gradient(from 0deg, var(--pink), var(--yellow), var(--royal), var(--pink)); display:grid; place-items:center;
  box-shadow:0 24px 60px -16px rgba(0,0,0,.6); }
#ri-player .rip-disc-spin{ position:absolute; inset:0; border-radius:50%; animation:rip-spin 16s linear infinite; animation-play-state:paused; }
#ri-player.is-playing .rip-disc-spin{ animation-play-state:running; }
#ri-player .rip-disc-art{ position:absolute; inset:20%; border-radius:50%; object-fit:cover; z-index:3; background:var(--ink-2); }
#ri-player .rip-disc-hole{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:12%; aspect-ratio:1; border-radius:50%; background:var(--ink); z-index:4; box-shadow:0 0 0 4px rgba(255,255,255,.05); }
@keyframes rip-spin{ to{ transform:rotate(360deg); } }
#ri-player .rip-now{ font-family:var(--mono); font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--yellow); margin-bottom:12px; }
#ri-player .rip-title{ font-family:var(--serif); font-weight:400; font-size:clamp(22px,3vw,38px); line-height:1.08; letter-spacing:-.02em; margin:0 0 16px; color:var(--paper); }
#ri-player .rip-title em{ font-style:italic; }
#ri-player .rip-meta{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:rgba(255,249,245,.6); margin-bottom:22px; }
#ri-player .rip-scrub{ display:flex; align-items:center; gap:14px; margin-bottom:20px; }
#ri-player .rip-time{ font-family:var(--mono); font-size:11.5px; color:rgba(255,249,245,.6); min-width:42px; }
#ri-player .rip-time.end{ text-align:right; }
#ri-player .rip-range{ -webkit-appearance:none; appearance:none; flex:1; height:6px; border-radius:999px; cursor:pointer;
  background:linear-gradient(90deg, var(--pink) 0%, var(--pink) var(--rip-prog,0%), rgba(255,255,255,.16) var(--rip-prog,0%)); }
#ri-player .rip-range::-webkit-slider-thumb{ -webkit-appearance:none; width:15px; height:15px; border-radius:50%; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.4); cursor:pointer; }
#ri-player .rip-range::-moz-range-thumb{ width:15px; height:15px; border:none; border-radius:50%; background:#fff; cursor:pointer; }
#ri-player .rip-transport{ display:flex; align-items:center; gap:clamp(10px,2vw,20px); flex-wrap:wrap; }
#ri-player .rip-tbtn{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center; color:var(--paper); background:none; border:none; cursor:pointer; position:relative; transition:background .25s var(--easing); }
#ri-player .rip-tbtn:hover{ background:rgba(255,255,255,.1); }
#ri-player .rip-tbtn svg{ width:30px; height:30px; fill:currentColor; }
#ri-player .rip-tbtn span{ position:absolute; font-family:var(--mono); font-size:8.5px; font-weight:700; }
#ri-player .rip-play{ width:62px; height:62px; border-radius:50%; background:var(--pink); color:#fff; display:grid; place-items:center; border:none; cursor:pointer; box-shadow:0 12px 30px -8px rgba(255,31,110,.7); transition:transform .25s var(--easing), background .25s var(--easing); }
#ri-player .rip-play:hover{ transform:scale(1.07); background:var(--pink-bright); }
#ri-player .rip-play svg{ width:26px; height:26px; fill:#fff; }
#ri-player .rip-rate{ font-family:var(--mono); font-size:12px; font-weight:600; padding:9px 13px; border-radius:999px; border:1.5px solid rgba(255,255,255,.22); color:var(--paper); background:none; cursor:pointer; min-width:52px; text-align:center; transition:all .25s var(--easing); }
#ri-player .rip-rate:hover{ border-color:var(--yellow); color:var(--yellow); }
#ri-player .rip-eq{ display:inline-flex; align-items:flex-end; gap:3px; height:18px; margin-left:auto; }
#ri-player .rip-eq i{ width:3px; background:var(--yellow); border-radius:2px; height:30%; opacity:.5; }
#ri-player.is-playing .rip-eq i{ animation:rip-eq .9s ease-in-out infinite; opacity:1; }
#ri-player .rip-eq i:nth-child(2){ animation-delay:.18s; }
#ri-player .rip-eq i:nth-child(3){ animation-delay:.36s; }
#ri-player .rip-eq i:nth-child(4){ animation-delay:.12s; }
@keyframes rip-eq{ 0%,100%{ height:25%; } 50%{ height:100%; } }

/* per-episode platform buttons (added to existing .ep-actions) */
.ep-actions .ep-plat{ display:inline-grid; place-items:center; width:36px; height:36px; border-radius:50%; border:1.5px solid var(--rule); color:var(--ink); background:var(--paper); transition:all .25s var(--easing); text-decoration:none; flex-shrink:0; }
.ep-actions .ep-plat svg{ width:17px; height:17px; fill:currentColor; }
.ep-actions .ep-plat-apple:hover{ background:var(--ink); border-color:var(--ink); color:#fff; transform:translateY(-2px); }
.ep-actions .ep-plat-spotify:hover{ background:#1db954; border-color:#1db954; color:#fff; transform:translateY(-2px); }
.ep-card.is-rip-active{ outline:2px solid var(--royal); outline-offset:3px; }
.ep-card .ep-listen-btn{ cursor:pointer; }

/* sticky mini-player */
#ri-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:9000; background:rgba(14,8,16,.94);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); color:var(--paper);
  border-top:1px solid rgba(255,249,245,.14); transform:translateY(120%); transition:transform .45s var(--easing); }
#ri-sticky.is-shown{ transform:translateY(0); }
#ri-sticky .rip-sprog{ height:3px; background:rgba(255,255,255,.14); }
#ri-sticky .rip-sprog i{ display:block; height:100%; width:0; background:linear-gradient(90deg, var(--pink), var(--yellow)); }
#ri-sticky .rip-srow{ display:flex; align-items:center; gap:14px; padding:10px clamp(16px,4vw,40px); max-width:1180px; margin:0 auto; }
#ri-sticky .rip-sart{ width:44px; height:44px; border-radius:9px; flex-shrink:0; object-fit:cover; background:conic-gradient(from 0deg, var(--pink), var(--yellow), var(--royal), var(--pink)); }
#ri-sticky .rip-sinfo{ min-width:0; flex:1; }
#ri-sticky .rip-sinfo .t{ font-family:var(--serif); font-style:italic; font-size:15px; line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#ri-sticky .rip-sinfo .m{ font-family:var(--mono); font-size:10px; letter-spacing:.08em; color:rgba(255,249,245,.6); margin-top:2px; }
#ri-sticky .rip-sctrls{ display:flex; align-items:center; gap:6px; }
#ri-sticky .rip-tbtn{ width:38px; height:38px; border-radius:50%; display:grid; place-items:center; color:var(--paper); background:none; border:none; cursor:pointer; }
#ri-sticky .rip-tbtn:hover{ background:rgba(255,255,255,.1); }
#ri-sticky .rip-tbtn svg{ width:18px; height:18px; fill:currentColor; }
#ri-sticky .rip-play{ width:44px; height:44px; border-radius:50%; background:var(--pink); color:#fff; display:grid; place-items:center; border:none; cursor:pointer; box-shadow:none; }
#ri-sticky .rip-play svg{ width:18px; height:18px; fill:#fff; }
#ri-sticky .rip-sclose{ width:32px; height:32px; border-radius:50%; display:grid; place-items:center; color:rgba(255,249,245,.6); font-size:20px; line-height:1; background:none; border:none; cursor:pointer; }
#ri-sticky .rip-sclose:hover{ color:var(--paper); }
#ri-sticky .rip-stime{ font-family:var(--mono); font-size:10.5px; color:rgba(255,249,245,.6); white-space:nowrap; }

@media (max-width:720px){
  #ri-player .rip-inner{ grid-template-columns:1fr; text-align:center; gap:20px; }
  #ri-player .rip-disc{ margin:0 auto; }
  #ri-player .rip-transport{ justify-content:center; }
  #ri-player .rip-eq{ display:none; }
  #ri-sticky .rip-stime{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  #ri-player .rip-disc-spin{ animation:none; }
  #ri-player.is-playing .rip-eq i{ animation:none; }
}


/* ─── next block ─── */


/* ════════════════ RESOURCES · THE LIBRARY (funnel + showcase) ════════════════ */
#page-resources .rz-wrap{ max-width:1180px; margin:0 auto; padding:0 clamp(20px,5vw,48px); }
#page-resources .rz-eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--pink); }

/* ── HERO ── */
#page-resources .rz-hero{ position:relative; padding:clamp(56px,9vw,116px) 0 clamp(36px,6vw,68px); overflow:hidden; }
#page-resources .rz-hero h1{ font-family:var(--serif); font-weight:300; font-size:clamp(40px,7vw,88px); line-height:.97; letter-spacing:-.03em; margin:22px 0 22px; color:var(--ink); max-width:15ch; }
#page-resources .rz-hero h1 em{ font-style:italic; color:var(--pink); }
#page-resources .rz-hero-lead{ font-family:var(--sans); font-size:clamp(16px,1.7vw,21px); line-height:1.55; color:var(--ink-soft); max-width:52ch; margin:0 0 32px; }
#page-resources .rz-chooser{ display:flex; gap:13px; flex-wrap:wrap; align-items:center; }
#page-resources .rz-choose{ font-family:var(--sans); font-weight:600; font-size:15px; padding:15px 26px; border-radius:999px; border:1.5px solid var(--ink); background:var(--ink); color:var(--paper); cursor:pointer; transition:transform .25s var(--easing),box-shadow .25s var(--easing),background .25s; display:inline-flex; align-items:center; gap:9px; }
#page-resources .rz-choose.ghost{ background:transparent; color:var(--ink); }
#page-resources .rz-choose:hover{ transform:translateY(-2px); box-shadow:0 16px 32px -14px rgba(14,8,16,.45); }
#page-resources .rz-choose .n{ font-family:var(--mono); font-size:11px; opacity:.6; }

/* hero spine shelf (signature) */
#page-resources .rz-deco{ position:absolute; right:clamp(-30px,-1vw,8px); top:clamp(56px,9vw,96px); display:flex; gap:7px; transform:rotate(-6deg); pointer-events:none; }
@media(max-width:980px){ #page-resources .rz-deco{ display:none; } }
#page-resources .rz-deco .sp{ width:clamp(30px,3vw,48px); height:clamp(168px,23vw,272px); border-radius:4px 5px 3px 3px; box-shadow:0 22px 46px -18px rgba(0,0,0,.5); display:flex; align-items:flex-end; justify-content:center; padding-bottom:16px; position:relative; background:linear-gradient(155deg,rgba(255,255,255,.06),rgba(0,0,0,.4)), var(--sg); }
#page-resources .rz-deco .sp::before{ content:""; position:absolute; inset:0 0 0 auto; width:4px; background:rgba(0,0,0,.22); border-radius:0 5px 3px 0; }
#page-resources .rz-deco .sp span{ writing-mode:vertical-rl; transform:rotate(180deg); font-family:var(--mono); font-size:8.5px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.82); white-space:nowrap; }

/* ── SHELF / SHOWCASE ── */
#page-resources .rz-shelf{ padding:clamp(18px,3vw,34px) 0 clamp(56px,9vw,104px); }
#page-resources .rz-shelf-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-bottom:34px; border-top:1px solid var(--rule); padding-top:26px; }
#page-resources .rz-shelf-head h2{ font-family:var(--serif); font-weight:400; font-style:italic; font-size:clamp(24px,3.2vw,38px); margin:6px 0 0; letter-spacing:-.02em; color:var(--ink); }
#page-resources .rz-seg{ display:inline-flex; background:var(--paper-stone); border-radius:999px; padding:4px; gap:2px; flex-wrap:wrap; }
#page-resources .rz-seg button{ font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; padding:10px 16px; border-radius:999px; border:none; background:none; color:var(--ink-mute); cursor:pointer; transition:background .2s,color .2s; }
#page-resources .rz-seg button.on{ background:var(--ink); color:var(--paper); }

#page-resources .rz-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:clamp(30px,3.6vw,54px) clamp(22px,3vw,40px); }
#page-resources .rz-book{ display:flex; flex-direction:column; opacity:0; transform:translateY(20px); transition:opacity .6s var(--easing),transform .6s var(--easing); }
#page-resources .rz-book.in{ opacity:1; transform:none; }
#page-resources .rz-book.hide{ display:none; }

/* the cover */
#page-resources .rz-cover{ position:relative; width:100%; max-width:228px; margin:0 auto 22px; aspect-ratio:3/4.25; perspective:1100px; cursor:pointer; }
#page-resources .rz-cover-inner{ position:relative; width:100%; height:100%; transform-style:preserve-3d; transition:transform .55s var(--easing); transform:rotateY(-17deg) rotateX(3deg); }
#page-resources .rz-book:hover .rz-cover-inner,
#page-resources .rz-book:focus-within .rz-cover-inner{ transform:rotateY(-4deg) rotateX(1deg) translateY(-7px); }
#page-resources .rz-cover-face{ position:absolute; inset:0; border-radius:3px 8px 8px 3px; color:var(--bk-text);
  background:radial-gradient(130% 90% at 82% -12%, rgba(255,255,255,.16), transparent 58%), linear-gradient(152deg, rgba(255,255,255,.05), rgba(0,0,0,.42)), var(--bk-ground);
  padding:18px 17px 16px; display:flex; flex-direction:column; backface-visibility:hidden; overflow:hidden;
  box-shadow:inset 8px 0 16px -9px rgba(0,0,0,.6), -11px 17px 38px -15px rgba(0,0,0,.55); }
#page-resources .rz-cover-face::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--bk-accent); opacity:.9; }
#page-resources .rz-cv-num{ position:absolute; right:-8px; bottom:-26px; font-family:var(--serif); font-style:italic; font-size:128px; line-height:1; color:var(--bk-accent); opacity:.13; z-index:1; }
#page-resources .rz-cv-top{ position:relative; z-index:2; }
#page-resources .rz-cv-eyebrow{ font-family:var(--mono); font-size:8px; letter-spacing:.16em; color:var(--bk-accent); margin-bottom:9px; }
#page-resources .rz-cv-rule{ width:28px; height:2px; background:var(--bk-accent); }
#page-resources .rz-cv-mid{ position:relative; z-index:2; margin:auto 0; }
#page-resources .rz-cv-title{ font-family:var(--serif); font-weight:500; font-size:clamp(19px,1.9vw,25px); line-height:1.04; letter-spacing:-.02em; margin:0 0 8px; }
#page-resources .rz-cv-title em{ font-style:italic; font-weight:400; color:var(--bk-accent); }
#page-resources .rz-cv-sub{ font-family:var(--sans); font-size:9.5px; line-height:1.42; opacity:.8; }
#page-resources .rz-cv-foot{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; }
#page-resources .rz-cv-author{ font-family:var(--mono); font-size:7.5px; letter-spacing:.15em; opacity:.85; }
#page-resources .rz-cv-mark{ color:var(--bk-accent); font-size:12px; line-height:1; }
#page-resources .rz-ribbon{ position:absolute; z-index:3; top:13px; right:-30px; transform:rotate(45deg); background:var(--bk-accent); color:#0e0810; font-family:var(--mono); font-size:8px; font-weight:700; letter-spacing:.12em; padding:5px 34px; box-shadow:0 4px 10px rgba(0,0,0,.25); }

/* book text body */
#page-resources .rz-book-eyebrow{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:8px; }
#page-resources .rz-book-title{ font-family:var(--serif); font-weight:500; font-size:clamp(19px,2vw,23px); line-height:1.12; letter-spacing:-.018em; margin:0 0 8px; color:var(--ink); }
#page-resources .rz-book-promise{ font-family:var(--sans); font-size:14.5px; line-height:1.5; color:var(--ink-soft); margin:0 0 14px; }
#page-resources .rz-book-inc{ list-style:none; margin:0 0 18px; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
#page-resources .rz-book-inc li{ font-family:var(--mono); font-size:9.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink); background:var(--paper-stone); border-radius:999px; padding:5px 10px; }
#page-resources .rz-get{ margin-top:auto; font-family:var(--sans); font-weight:600; font-size:14.5px; padding:13px 22px; border-radius:999px; border:none; background:var(--pink); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:transform .22s var(--easing),background .22s; align-self:flex-start; }
#page-resources .rz-get:hover{ transform:translateY(-2px); background:var(--pink-bright); }
#page-resources .rz-get svg{ width:14px; height:14px; fill:currentColor; transition:transform .22s; }
#page-resources .rz-get:hover svg{ transform:translateX(3px); }

/* ── PROOF BAND ── */
#page-resources .rz-proof{ background:var(--ink); color:var(--paper); padding:clamp(40px,6vw,72px) 0; }
#page-resources .rz-proof .rz-proof-grid{ display:flex; flex-wrap:wrap; gap:clamp(20px,4vw,56px); align-items:center; justify-content:center; text-align:center; }
#page-resources .rz-proof .pf{ flex:1 1 160px; max-width:220px; }
#page-resources .rz-proof .pf b{ display:block; font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(30px,4vw,46px); color:var(--yellow); letter-spacing:-.02em; }
#page-resources .rz-proof .pf span{ font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,249,245,.62); }

/* ── NEXT STEP (cross-sell) ── */
#page-resources .rz-next{ padding:clamp(56px,9vw,104px) 0; }
#page-resources .rz-next-head{ text-align:center; margin-bottom:42px; }
#page-resources .rz-next-head h2{ font-family:var(--serif); font-weight:300; font-size:clamp(28px,4.4vw,52px); line-height:1.04; letter-spacing:-.025em; margin:14px 0 0; color:var(--ink); }
#page-resources .rz-next-head h2 em{ font-style:italic; color:var(--pink); }
#page-resources .rz-next-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
#page-resources .rz-next-card{ position:relative; border-radius:20px; padding:clamp(28px,3.4vw,42px); overflow:hidden; text-decoration:none; display:flex; flex-direction:column; min-height:240px; transition:transform .3s var(--easing); }
#page-resources .rz-next-card:hover{ transform:translateY(-4px); }
#page-resources .rz-next-card.course{ background:linear-gradient(150deg,#1a5e4a,#0d3b2d); color:#fbf5e8; }
#page-resources .rz-next-card.keynote{ background:linear-gradient(150deg,var(--pink),var(--pink-deep)); color:#fff; }
#page-resources .rz-next-card .k{ font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; opacity:.8; margin-bottom:14px; }
#page-resources .rz-next-card h3{ font-family:var(--serif); font-weight:400; font-size:clamp(24px,2.6vw,32px); line-height:1.08; letter-spacing:-.02em; margin:0 0 10px; }
#page-resources .rz-next-card p{ font-family:var(--sans); font-size:15px; line-height:1.5; opacity:.9; margin:0 0 22px; }
#page-resources .rz-next-card .go{ margin-top:auto; font-family:var(--sans); font-weight:600; font-size:15px; display:inline-flex; align-items:center; gap:8px; }
#page-resources .rz-next-card .go svg{ width:15px; height:15px; fill:currentColor; transition:transform .22s; }
#page-resources .rz-next-card:hover .go svg{ transform:translateX(4px); }

/* ── NEWSLETTER ── */
#page-resources .rz-news{ background:var(--paper-yellow); padding:clamp(48px,7vw,88px) 0; }
#page-resources .rz-news-inner{ max-width:720px; margin:0 auto; text-align:center; }
#page-resources .rz-news h2{ font-family:var(--serif); font-weight:300; font-size:clamp(26px,3.6vw,42px); line-height:1.05; letter-spacing:-.02em; margin:14px 0 12px; color:var(--ink); }
#page-resources .rz-news h2 em{ font-style:italic; color:var(--pink); }
#page-resources .rz-news p{ font-family:var(--sans); font-size:16px; color:var(--ink-soft); margin:0 0 26px; }
#page-resources .rz-news-form{ display:flex; gap:10px; max-width:480px; margin:0 auto; flex-wrap:wrap; }
#page-resources .rz-news-form input{ flex:1 1 220px; font-family:var(--sans); font-size:15px; padding:15px 18px; border-radius:999px; border:1.5px solid var(--ink); background:var(--paper); color:var(--ink); }
#page-resources .rz-news-form button{ font-family:var(--sans); font-weight:600; font-size:15px; padding:15px 26px; border-radius:999px; border:none; background:var(--ink); color:var(--paper); cursor:pointer; transition:background .2s; }
#page-resources .rz-news-form button:hover{ background:var(--pink); }
#page-resources .rz-news-ok{ font-family:var(--sans); font-size:16px; color:var(--ink); font-weight:600; }

/* ── CAPTURE MODAL ── */
#page-resources .rz-modal{ position:fixed; inset:0; z-index:9500; display:flex; align-items:center; justify-content:center; padding:20px; }
#page-resources .rz-modal[hidden]{ display:none; }
#page-resources .rz-modal-backdrop{ position:absolute; inset:0; background:rgba(14,8,16,.72); animation:rzFade .3s ease; }
#page-resources .rz-modal-card{ position:relative; z-index:2; width:min(760px,100%); max-height:92vh; overflow:auto; background:var(--paper); border-radius:22px; box-shadow:0 50px 110px -30px rgba(14,8,16,.6); animation:rzPop .4s var(--easing); }
@keyframes rzFade{ from{opacity:0} to{opacity:1} }
@keyframes rzPop{ from{opacity:0; transform:translateY(24px) scale(.97)} to{opacity:1; transform:none} }
#page-resources .rz-modal-x{ position:absolute; top:14px; right:16px; z-index:3; width:38px; height:38px; border-radius:50%; border:none; background:rgba(14,8,16,.06); color:var(--ink); font-size:22px; line-height:1; cursor:pointer; transition:background .2s; }
#page-resources .rz-modal-x:hover{ background:rgba(14,8,16,.14); }
#page-resources .rz-modal-grid{ display:grid; grid-template-columns:240px 1fr; }
#page-resources .rz-modal-cover{ background:var(--paper-stone); display:flex; align-items:center; justify-content:center; padding:34px 26px; border-radius:22px 0 0 22px; }
#page-resources .rz-modal-cover .rz-cover{ margin:0; max-width:170px; }
#page-resources .rz-modal-cover .rz-cover-inner{ transform:rotateY(-12deg) rotateX(2deg); }
#page-resources .rz-modal-body{ padding:clamp(28px,3.4vw,44px); display:flex; flex-direction:column; justify-content:center; }
#page-resources .rz-m-eyebrow{ font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--pink); margin-bottom:12px; }
#page-resources .rz-modal-body h3{ font-family:var(--serif); font-weight:400; font-size:clamp(24px,3vw,32px); line-height:1.08; letter-spacing:-.02em; margin:0 0 12px; color:var(--ink); }
#page-resources .rz-m-sub{ font-family:var(--sans); font-size:15px; line-height:1.55; color:var(--ink-soft); margin:0 0 22px; }
#page-resources .rz-m-sub em{ font-style:italic; color:var(--ink); }
#page-resources #rz-form{ display:flex; flex-direction:column; gap:11px; }
#page-resources #rz-form input{ font-family:var(--sans); font-size:15px; padding:15px 18px; border-radius:12px; border:1.5px solid var(--rule); background:var(--paper); color:var(--ink); transition:border-color .2s; }
#page-resources #rz-form input:focus{ outline:none; border-color:var(--pink); }
#page-resources .rz-m-submit{ font-family:var(--sans); font-weight:600; font-size:16px; padding:16px 24px; border-radius:12px; border:none; background:var(--pink); color:#fff; cursor:pointer; margin-top:4px; transition:transform .2s var(--easing),background .2s; }
#page-resources .rz-m-submit:hover{ transform:translateY(-2px); background:var(--pink-bright); }
#page-resources .rz-m-fine{ font-family:var(--mono); font-size:10px; letter-spacing:.04em; color:var(--ink-mute); text-align:center; margin-top:4px; }
#page-resources .rz-m-check{ width:54px; height:54px; border-radius:50%; background:#1a5e4a; color:#fff; display:grid; place-items:center; font-size:26px; margin-bottom:18px; }
#page-resources .rz-m-open{ font-family:var(--sans); font-weight:600; font-size:16px; padding:16px 26px; border-radius:12px; background:var(--ink); color:var(--paper); text-decoration:none; text-align:center; transition:background .2s,transform .2s var(--easing); display:block; }
#page-resources .rz-m-open:hover{ background:var(--pink); transform:translateY(-2px); }
#page-resources .rz-m-back{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); background:none; border:none; cursor:pointer; margin-top:16px; }
@media(max-width:620px){
  #page-resources .rz-modal-grid{ grid-template-columns:1fr; }
  #page-resources .rz-modal-cover{ border-radius:22px 22px 0 0; padding:26px; }
  #page-resources .rz-modal-cover .rz-cover{ max-width:130px; }
}
@media (prefers-reduced-motion:reduce){
  #page-resources .rz-cover-inner{ transition:none; }
  #page-resources .rz-book{ transition:none; opacity:1; transform:none; }
}


/* ─── next block ─── */


.rip-cta{ margin-top:64px; border-top:1px solid var(--rule); padding-top:clamp(36px,5vw,56px); }
.rip-cta-head{ text-align:center; margin-bottom:30px; }
.rip-cta-eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--pink); margin-bottom:10px; }
.rip-cta-title{ font-family:var(--serif); font-weight:400; font-style:italic; font-size:clamp(22px,3vw,34px); letter-spacing:-.02em; margin:0; color:var(--ink); }
.rip-cta-btns{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.rip-cta-btn{ display:flex; flex-direction:column; align-items:center; gap:9px; text-decoration:none; padding:28px 18px; border-radius:18px; background:var(--ink); color:var(--paper); text-align:center; transition:transform .25s var(--easing), background .25s var(--easing); }
.rip-cta-btn:hover{ transform:translateY(-4px); }
.rip-cta-btn svg{ width:30px; height:30px; fill:currentColor; }
.rip-cta-btn .lbl{ font-family:var(--sans); font-weight:600; font-size:16px; }
.rip-cta-btn .sub{ font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; opacity:.7; }
.rip-cta-btn.apple:hover{ background:#1a1a1c; }
.rip-cta-btn.spotify:hover{ background:#1db954; }
.rip-cta-btn.youtube:hover{ background:#ff0000; }
@media(max-width:680px){ .rip-cta-btns{ grid-template-columns:1fr; } }


/* ─── next block ─── */


/* ════════════ SITE-WIDE FUNNEL · CAPTURE · ENGAGEMENT ════════════ */

/* route-aware closing CTA band (sits above the footer on key pages) */
#mkt-cta{ background:var(--paper-warm); border-top:1px solid var(--rule); padding:clamp(56px,9vw,104px) clamp(20px,5vw,48px); text-align:center; }
#mkt-cta[hidden]{ display:none; }
#mkt-cta .mkt-cta-inner{ max-width:760px; margin:0 auto; }
#mkt-cta .mkt-cta-eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--pink); margin-bottom:16px; }
#mkt-cta .mkt-cta-title{ font-family:var(--serif); font-weight:300; font-size:clamp(30px,5vw,58px); line-height:1.02; letter-spacing:-.03em; color:var(--ink); margin:0 0 16px; }
#mkt-cta .mkt-cta-title em{ font-style:italic; color:var(--pink); }
#mkt-cta .mkt-cta-sub{ font-family:var(--sans); font-size:clamp(15px,1.6vw,18px); line-height:1.55; color:var(--ink-soft); margin:0 auto 30px; max-width:48ch; }
#mkt-cta .mkt-cta-btn{ display:inline-flex; align-items:center; gap:10px; font-family:var(--sans); font-weight:600; font-size:16px; padding:16px 30px; border-radius:999px; background:var(--ink); color:var(--paper); text-decoration:none; transition:transform .25s var(--easing), background .25s; }
#mkt-cta .mkt-cta-btn:hover{ transform:translateY(-2px); background:var(--pink); }
#mkt-cta .mkt-cta-btn svg{ width:15px; height:15px; fill:currentColor; transition:transform .22s; }
#mkt-cta .mkt-cta-btn:hover svg{ transform:translateX(3px); }

/* footer newsletter (dark footer) */
.footer-cta{ border-bottom:1px solid rgba(255,255,255,.12); padding-bottom:40px; margin-bottom:40px; display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:center; }
.footer-cta .fc-eyebrow{ font-family:var(--mono); font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--yellow); margin-bottom:12px; }
.footer-cta .fc-copy h4{ font-family:var(--serif); font-weight:400; font-style:italic; font-size:clamp(22px,2.6vw,30px); line-height:1.12; letter-spacing:-.02em; color:#fff; margin:0 0 8px; }
.footer-cta .fc-copy p{ font-family:var(--sans); font-size:14.5px; line-height:1.5; color:rgba(255,255,255,.6); margin:0; }
.footer-cta .fc-form{ display:flex; gap:10px; flex-wrap:wrap; }
.footer-cta .fc-form input{ flex:1 1 200px; font-family:var(--sans); font-size:15px; padding:15px 18px; border-radius:999px; border:1.5px solid rgba(255,255,255,.22); background:rgba(255,255,255,.05); color:#fff; }
.footer-cta .fc-form input::placeholder{ color:rgba(255,255,255,.45); }
.footer-cta .fc-form input:focus{ outline:none; border-color:var(--pink); }
.footer-cta .fc-form button{ font-family:var(--sans); font-weight:600; font-size:15px; padding:15px 26px; border-radius:999px; border:none; background:var(--pink); color:#fff; cursor:pointer; transition:background .2s,transform .2s var(--easing); }
.footer-cta .fc-form button:hover{ background:var(--pink-bright); transform:translateY(-2px); }
.footer-cta .fc-ok{ font-family:var(--sans); font-weight:600; font-size:15px; color:var(--yellow); }
@media(max-width:760px){ .footer-cta{ grid-template-columns:1fr; gap:18px; } }

/* global capture modal */
#mkt-modal{ position:fixed; inset:0; z-index:9400; display:flex; align-items:center; justify-content:center; padding:20px; }
#mkt-modal[hidden]{ display:none; }
#mkt-modal .mkt-bd{ position:absolute; inset:0; background:rgba(14,8,16,.72); animation:mktFade .3s ease; }
#mkt-modal .mkt-card{ position:relative; z-index:2; width:min(520px,100%); background:var(--paper); border-radius:22px; overflow:hidden; box-shadow:0 50px 110px -30px rgba(14,8,16,.6); animation:mktPop .4s var(--easing); }
@keyframes mktFade{ from{opacity:0} to{opacity:1} }
@keyframes mktPop{ from{opacity:0; transform:translateY(22px) scale(.97)} to{opacity:1; transform:none} }
#mkt-modal .mkt-band{ height:8px; background:linear-gradient(90deg,var(--pink),var(--yellow),var(--royal)); }
#mkt-modal .mkt-inner{ padding:clamp(28px,4vw,44px); position:relative; }
#mkt-modal .mkt-x{ position:absolute; top:16px; right:16px; width:38px; height:38px; border-radius:50%; border:none; background:rgba(14,8,16,.06); color:var(--ink); font-size:22px; line-height:1; cursor:pointer; z-index:3; transition:background .2s; }
#mkt-modal .mkt-x:hover{ background:rgba(14,8,16,.14); }
#mkt-modal .mkt-eyebrow{ font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--pink); margin-bottom:12px; }
#mkt-modal h3{ font-family:var(--serif); font-weight:400; font-size:clamp(24px,3vw,32px); line-height:1.08; letter-spacing:-.02em; color:var(--ink); margin:0 0 12px; }
#mkt-modal h3 em{ font-style:italic; color:var(--pink); }
#mkt-modal p.mkt-sub{ font-family:var(--sans); font-size:15px; line-height:1.55; color:var(--ink-soft); margin:0 0 22px; }
#mkt-modal form{ display:flex; flex-direction:column; gap:11px; }
#mkt-modal input{ font-family:var(--sans); font-size:15px; padding:15px 18px; border-radius:12px; border:1.5px solid var(--rule); background:var(--paper); color:var(--ink); }
#mkt-modal input:focus{ outline:none; border-color:var(--pink); }
#mkt-modal button.mkt-submit{ font-family:var(--sans); font-weight:600; font-size:16px; padding:16px 24px; border-radius:12px; border:none; background:var(--pink); color:#fff; cursor:pointer; transition:transform .2s var(--easing),background .2s; }
#mkt-modal button.mkt-submit:hover{ transform:translateY(-2px); background:var(--pink-bright); }
#mkt-modal .mkt-fine{ font-family:var(--mono); font-size:10px; letter-spacing:.04em; color:var(--ink-mute); text-align:center; margin-top:2px; }
#mkt-modal .mkt-done{ text-align:center; }
#mkt-modal .mkt-done .mkt-check{ width:54px; height:54px; border-radius:50%; background:#1a5e4a; color:#fff; display:grid; place-items:center; font-size:26px; margin:0 auto 16px; }
#mkt-modal .mkt-open{ display:inline-block; font-family:var(--sans); font-weight:600; font-size:15px; padding:14px 26px; border-radius:12px; background:var(--ink); color:var(--paper); text-decoration:none; transition:background .2s,transform .2s var(--easing); }
#mkt-modal .mkt-open:hover{ background:var(--pink); transform:translateY(-2px); }

/* back-to-top */
#mkt-top{ position:fixed; right:22px; bottom:22px; z-index:800; width:46px; height:46px; border-radius:50%; border:none; background:var(--ink); color:var(--paper); cursor:pointer; display:grid; place-items:center; opacity:0; transform:translateY(14px); pointer-events:none; transition:opacity .3s var(--easing),transform .3s var(--easing),background .25s,bottom .3s var(--easing); box-shadow:0 12px 30px -10px rgba(14,8,16,.5); }
#mkt-top.show{ opacity:1; transform:none; pointer-events:auto; }
#mkt-top:hover{ background:var(--pink); }
#mkt-top.lift{ bottom:92px; }
#mkt-top svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
@media (prefers-reduced-motion:reduce){
  #mkt-modal .mkt-card, #mkt-modal .mkt-bd{ animation:none; }
}


/* ─── next block ─── */


/* ════════════════════════════════════════════════════════════════
   ABOUT — "The Operator's Story"
   A longform feature profile. Datelines + byline framing,
   with a pinned horizontal contact-sheet archive
   as the signature interactive moment. All scoped to #page-about.
   ════════════════════════════════════════════════════════════════ */
#page-about{ --ab-edge: clamp(20px,6vw,110px); }
#page-about *{ box-sizing:border-box; }
#page-about .ab2-wrap{ max-width:1180px; margin:0 auto; padding-inline:var(--ab-edge); }
#page-about .ab2-narrow{ max-width:720px; }

/* reveal */
#page-about .ab2-rev{ opacity:0; transform:translateY(26px); transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
#page-about .ab2-rev.in{ opacity:1; transform:none; }
#page-about .ab2-rev.d1{ transition-delay:.08s } #page-about .ab2-rev.d2{ transition-delay:.16s } #page-about .ab2-rev.d3{ transition-delay:.24s }

/* shared editorial bits */
#page-about .ab2-kicker{ font-family:var(--mono); font-size:11px; letter-spacing:.24em; text-transform:uppercase; display:inline-flex; align-items:center; gap:10px; color:var(--ink-mute); }
#page-about .ab2-kicker::before{ content:""; width:22px; height:1px; background:currentColor; display:inline-block; }
#page-about .ab2-dateline{ font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--pink-deep); }
#page-about .ab2-dark .ab2-dateline{ color:var(--yellow); }

/* ─── MASTHEAD ─── */
#page-about .ab2-mast{ position:relative; min-height:100vh; background:var(--ink); color:var(--paper); overflow:hidden; display:flex; flex-direction:column; }
#page-about .ab2-grain{ position:absolute; inset:0; opacity:.5; mix-blend-mode:overlay; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
#page-about .ab2-orb{ position:absolute; border-radius:50%; pointer-events:none; filter:blur(2px); }
#page-about .ab2-orb.a{ top:-12%; right:-8%; width:42vw; height:42vw; background:radial-gradient(circle at 35% 35%, rgba(255,31,110,.32), transparent 68%); }
#page-about .ab2-orb.b{ bottom:-16%; left:-10%; width:38vw; height:38vw; background:radial-gradient(circle at 50% 50%, rgba(30,63,195,.30), transparent 70%); }
#page-about .ab2-mast-top{ position:relative; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px var(--ab-edge); border-bottom:1px solid rgba(255,249,245,.16); font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,249,245,.6); flex-wrap:wrap; }
#page-about .ab2-mast-top b{ color:var(--yellow); font-weight:600; }
#page-about .ab2-mast-body{ position:relative; flex:1; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(24px,4vw,64px); align-items:center; padding:clamp(32px,5vw,64px) var(--ab-edge) clamp(40px,6vw,80px); }
#page-about .ab2-mast h1{ font-family:var(--serif); font-weight:300; font-size:clamp(44px,7.2vw,116px); line-height:.94; letter-spacing:-.03em; margin:18px 0 0; color:var(--paper); }
#page-about .ab2-mast h1 em{ font-style:italic; color:var(--yellow); }
#page-about .ab2-dek{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(19px,2.2vw,28px); line-height:1.42; color:rgba(255,249,245,.82); margin:26px 0 0; max-width:34ch; }
#page-about .ab2-byline{ margin-top:30px; font-family:var(--mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,249,245,.62); }
#page-about .ab2-byline span{ color:var(--paper); }
#page-about .ab2-mast-photo{ position:relative; aspect-ratio:4/5; border-radius:3px; overflow:hidden; box-shadow:0 40px 90px rgba(0,0,0,.5); }
#page-about .ab2-mast-photo img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.18) contrast(1.04); }
#page-about .ab2-mast-photo .tag{ position:absolute; left:0; bottom:0; background:var(--yellow); color:var(--ink); font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; padding:7px 12px; font-weight:700; }
#page-about .ab2-scrollcue{ position:relative; display:flex; align-items:center; gap:10px; padding:0 var(--ab-edge) 26px; font-family:var(--mono); font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:rgba(255,249,245,.5); }
#page-about .ab2-scrollcue i{ width:1px; height:34px; background:linear-gradient(var(--yellow), transparent); display:block; animation:ab2drop 1.8s ease-in-out infinite; }
@keyframes ab2drop{ 0%,100%{ opacity:.3; transform:translateY(0) } 50%{ opacity:1; transform:translateY(6px) } }

/* ─── LEDE ─── */
#page-about .ab2-lede{ padding:clamp(64px,9vw,130px) 0; background:var(--paper); }
#page-about .ab2-lede .ab2-narrow{ margin:0 auto; }
#page-about .ab2-lede p{ font-family:var(--serif); font-weight:400; font-size:clamp(22px,2.7vw,30px); line-height:1.5; letter-spacing:-.01em; color:var(--ink); margin:0; }
#page-about .ab2-lede p:first-letter{ initial-letter:3; -webkit-initial-letter:3; font-family:var(--serif); font-weight:500; color:var(--pink); margin-right:14px; }

/* ─── CHAPTERS ─── */
#page-about .ab2-chap{ padding:clamp(60px,8vw,120px) 0; }
#page-about .ab2-chap.paper{ background:var(--paper); }
#page-about .ab2-chap.warm{ background:var(--paper-warm); }
#page-about .ab2-dark{ background:var(--ink); color:var(--paper); position:relative; overflow:hidden; }
#page-about .ab2-chap-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,5vw,80px); align-items:center; }
#page-about .ab2-chap-grid.flip{ grid-template-columns:1.1fr .9fr; }
#page-about .ab2-chap-grid.flip .ab2-chap-photo{ order:-1; }
#page-about .ab2-chapnum{ font-family:var(--serif); font-style:italic; font-weight:300; font-size:clamp(54px,8vw,120px); line-height:.8; color:var(--pink); opacity:.9; }
#page-about .ab2-dark .ab2-chapnum{ color:var(--yellow); }
#page-about .ab2-chap h2{ font-family:var(--serif); font-weight:400; font-size:clamp(30px,4.2vw,56px); line-height:1.04; letter-spacing:-.02em; margin:14px 0 22px; }
#page-about .ab2-chap h2 em{ font-style:italic; color:var(--pink); }
#page-about .ab2-dark h2 em{ color:var(--yellow); }
#page-about .ab2-chap p{ font-family:var(--sans); font-size:clamp(16px,1.25vw,18px); line-height:1.72; color:var(--ink-soft); margin:0 0 18px; max-width:56ch; }
#page-about .ab2-dark p{ color:var(--paper); opacity:.92; }
#page-about .ab2-chap p mark{ background:linear-gradient(180deg,transparent 56%, var(--yellow) 56%, var(--yellow) 92%, transparent 92%); padding:0 2px; color:inherit; }
#page-about .ab2-chap-photo{ position:relative; aspect-ratio:4/5; border-radius:3px; overflow:hidden; box-shadow:0 30px 70px rgba(14,8,16,.22); }
#page-about .ab2-dark .ab2-chap-photo{ box-shadow:0 30px 80px rgba(0,0,0,.5); }
#page-about .ab2-chap-photo img{ width:100%; height:100%; object-fit:cover; will-change:transform; }
#page-about .ab2-chap-photo .cap{ position:absolute; left:0; bottom:0; background:var(--ink); color:var(--paper); font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; padding:8px 13px; }

/* pull quote */
#page-about .ab2-pull{ padding:clamp(56px,8vw,110px) 0; background:var(--ink); color:var(--paper); position:relative; overflow:hidden; }
#page-about .ab2-pull blockquote{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(28px,4.4vw,58px); line-height:1.16; letter-spacing:-.02em; margin:0 auto; max-width:18ch; text-align:center; }
#page-about .ab2-pull .em-y{ color:var(--yellow); font-style:italic; }
#page-about .ab2-pull cite{ display:block; margin-top:30px; text-align:center; font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,249,245,.6); font-style:normal; }

/* ─── SIGNATURE · CONTACT SHEET (horizontal) ─── */
#page-about .ab2-archive{ position:relative; background:var(--ink); color:var(--paper); }
#page-about .ab2-archive-intro{ padding:clamp(48px,7vw,96px) var(--ab-edge) 0; max-width:1180px; margin:0 auto; }
#page-about .ab2-archive-intro h2{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(30px,5vw,68px); line-height:1.02; letter-spacing:-.025em; margin:14px 0 0; color:var(--paper); }
#page-about .ab2-archive-intro h2 em{ color:var(--yellow); }
#page-about .ab2-archive-intro p{ font-family:var(--sans); font-size:15px; line-height:1.6; color:rgba(255,249,245,.7); margin:18px 0 0; max-width:52ch; }
/* desktop: pinned, scroll-driven horizontal travel */
#page-about .ab2-pin{ height:auto; position:relative; }
#page-about .ab2-pin-sticky{ position:static; height:auto; display:flex; align-items:center; overflow:hidden; padding:clamp(28px,6vw,52px) 0 clamp(40px,7vw,64px); }
#page-about .ab2-track{ display:flex; gap:clamp(16px,2vw,30px); padding:0 var(--ab-edge) 20px; overflow-x:auto; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; cursor:grab; }
#page-about .ab2-track.drag{ cursor:grabbing; scroll-snap-type:none; }
#page-about .ab2-track::-webkit-scrollbar{ height:7px; }
#page-about .ab2-track::-webkit-scrollbar-thumb{ background:rgba(255,249,245,.28); border-radius:100px; }
#page-about .ab2-track::-webkit-scrollbar-track{ background:rgba(255,249,245,.06); }
#page-about .ab2-frame{ scroll-snap-align:start; }
#page-about .ab2-frame{ position:relative; flex:0 0 auto; width:min(38vw,440px); }
#page-about .ab2-frame .shot{ position:relative; aspect-ratio:3/4; border-radius:3px; overflow:hidden; background:#1a1118; box-shadow:0 26px 70px rgba(0,0,0,.5); cursor:pointer; }
#page-about .ab2-frame .shot img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.1) contrast(1.03); transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .5s; }
#page-about .ab2-frame .shot:hover img{ transform:scale(1.04); filter:none; }
#page-about .ab2-frame .shot::after{ content:"⤢"; position:absolute; top:12px; right:13px; width:30px; height:30px; display:grid; place-items:center; background:rgba(14,8,16,.55); color:var(--paper); border-radius:50%; font-size:13px; opacity:0; transition:opacity .3s; }
#page-about .ab2-frame .shot:hover::after{ opacity:1; }
#page-about .ab2-frame .meta{ margin-top:14px; display:flex; gap:12px; align-items:baseline; }
#page-about .ab2-frame .meta .no{ font-family:var(--serif); font-style:italic; font-size:26px; color:var(--yellow); line-height:1; }
#page-about .ab2-frame .meta .txt .role{ font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--paper); }
#page-about .ab2-frame .meta .txt .line{ font-family:var(--serif-alt); font-style:italic; font-size:15px; color:rgba(255,249,245,.62); margin-top:3px; }
#page-about .ab2-railhint{ position:static; margin:16px 0 0; padding-left:var(--ab-edge); font-family:var(--mono); font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,249,245,.45); display:flex; align-items:center; gap:10px; }
#page-about .ab2-railhint i{ width:46px; height:1px; background:rgba(255,249,245,.4); position:relative; overflow:hidden; }
#page-about .ab2-railhint i::after{ content:""; position:absolute; inset:0; width:40%; background:var(--yellow); animation:ab2slide 2.2s ease-in-out infinite; }
@keyframes ab2slide{ 0%{ transform:translateX(-110%) } 100%{ transform:translateX(260%) } }

/* ─── FIELD NOTES (the human / get-to-know) ─── */
#page-about .ab2-notes{ padding:clamp(64px,9vw,128px) 0; background:var(--paper-warm); }
#page-about .ab2-notes-head{ text-align:center; max-width:680px; margin:0 auto clamp(40px,5vw,64px); }
#page-about .ab2-notes-head h2{ font-family:var(--serif); font-weight:400; font-size:clamp(30px,4.6vw,58px); line-height:1.02; letter-spacing:-.02em; margin:14px 0 0; }
#page-about .ab2-notes-head h2 em{ font-style:italic; color:var(--pink); }
#page-about .ab2-notes-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1px; background:var(--rule); border:1px solid var(--rule); }
#page-about .ab2-note{ background:var(--paper); padding:30px 28px; }
#page-about .ab2-note .k{ font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-mute); }
#page-about .ab2-note .v{ font-family:var(--serif); font-size:clamp(20px,2vw,26px); line-height:1.18; letter-spacing:-.01em; color:var(--ink); margin-top:12px; }
#page-about .ab2-note .v em{ font-style:italic; color:var(--pink-deep); }

/* ─── RECOGNITION ─── */
#page-about .ab2-rec{ padding:clamp(60px,8vw,120px) 0; background:var(--paper); }
#page-about .ab2-rec-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:38px; }
#page-about .ab2-rec-head h2{ font-family:var(--serif); font-weight:400; font-size:clamp(28px,3.6vw,46px); letter-spacing:-.02em; margin:12px 0 0; }
#page-about .ab2-rec-head h2 em{ font-style:italic; color:var(--pink); }
#page-about .ab2-rec-list{ border-top:1px solid var(--ink); }
#page-about .ab2-rec-row{ display:grid; grid-template-columns:130px 1fr auto; gap:clamp(14px,3vw,40px); align-items:baseline; padding:22px 0; border-bottom:1px solid var(--rule); transition:padding-left .35s cubic-bezier(.2,.7,.2,1), background .35s; }
#page-about .ab2-rec-row:hover{ padding-left:14px; background:var(--paper-yellow); }
#page-about .ab2-rec-row .yr{ font-family:var(--mono); font-size:12px; letter-spacing:.14em; color:var(--pink-deep); }
#page-about .ab2-rec-row .nm{ font-family:var(--serif); font-size:clamp(19px,2vw,26px); line-height:1.15; color:var(--ink); }
#page-about .ab2-rec-row .og{ font-family:var(--sans); font-size:13px; color:var(--ink-mute); text-align:right; max-width:34ch; }

/* ─── CLOSE ─── */
#page-about .ab2-close{ padding:clamp(80px,11vw,160px) 0; background:var(--ink); color:var(--paper); position:relative; overflow:hidden; text-align:center; }
#page-about .ab2-close h2{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(38px,7vw,92px); line-height:.98; letter-spacing:-.03em; margin:0; position:relative; }
#page-about .ab2-close h2 em{ color:var(--yellow); }
#page-about .ab2-close p{ position:relative; font-family:var(--serif-alt); font-style:italic; font-size:clamp(18px,2vw,24px); color:rgba(255,249,245,.78); margin:24px auto 40px; max-width:48ch; }
#page-about .ab2-close .home-cta-row{ position:relative; justify-content:center; display:flex; gap:14px; flex-wrap:wrap; }

/* ─── LIGHTBOX ─── */
#page-about .ab2-lb{ position:fixed; inset:0; z-index:9998; background:rgba(8,5,9,.92); display:none; align-items:center; justify-content:center; padding:5vh 5vw; }
#page-about .ab2-lb.on{ display:flex; }
#page-about .ab2-lb img{ max-width:100%; max-height:82vh; border-radius:3px; box-shadow:0 30px 90px rgba(0,0,0,.6); }
#page-about .ab2-lb .cap{ position:absolute; bottom:5vh; left:0; right:0; text-align:center; font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--yellow); }
#page-about .ab2-lb .x{ position:absolute; top:24px; right:30px; width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,249,245,.4); background:transparent; color:var(--paper); font-size:22px; cursor:pointer; }

/* ─── RESPONSIVE ─── */
@media (max-width:900px){
  #page-about .ab2-mast-body{ grid-template-columns:1fr; }
  #page-about .ab2-mast-photo{ max-width:380px; }
  #page-about .ab2-chap-grid, #page-about .ab2-chap-grid.flip{ grid-template-columns:1fr; gap:28px; }
  #page-about .ab2-chap-grid.flip .ab2-chap-photo{ order:0; }
  /* contact sheet becomes a normal swipe strip */
  #page-about .ab2-pin{ height:auto; }
  #page-about .ab2-pin-sticky{ position:static; height:auto; padding:clamp(28px,6vw,48px) 0 clamp(40px,8vw,60px); }
  #page-about .ab2-track{ overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding-bottom:14px; }
  #page-about .ab2-track::-webkit-scrollbar{ height:0; }
  #page-about .ab2-frame{ width:78vw; scroll-snap-align:center; }
  #page-about .ab2-railhint{ position:static; margin-top:18px; padding-left:var(--ab-edge); }
  #page-about .ab2-rec-row{ grid-template-columns:1fr; gap:4px; }
  #page-about .ab2-rec-row .og{ text-align:left; }
}
@media (prefers-reduced-motion:reduce){
  #page-about .ab2-rev{ opacity:1; transform:none; transition:none; }
  #page-about .ab2-pin{ height:auto; }
  #page-about .ab2-pin-sticky{ position:static; height:auto; padding:40px 0; }
  #page-about .ab2-track{ overflow-x:auto; }
  #page-about .ab2-frame{ width:min(70vw,420px); }
  #page-about .ab2-scrollcue i, #page-about .ab2-railhint i::after{ animation:none; }
}


/* ─── next block ─── */


/* ════════════════════════════════════════════════════════════════
   CONTACT — "The Brief" · an animated, multi-step concierge intake.
   Steps slide horizontally; six engagement paths as tactile cards.
   Funnel-ready (hidden intent/UTM/subject fields). Scoped #page-contact.
   ════════════════════════════════════════════════════════════════ */
#page-contact{ --cf-edge:clamp(20px,6vw,110px); }
#page-contact *{ box-sizing:border-box; }
#page-contact .cf2-wrap{ max-width:1120px; margin:0 auto; padding-inline:var(--cf-edge); }

#page-contact .cf2-rev{ opacity:0; transform:translateY(26px); transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
#page-contact .cf2-rev.in{ opacity:1; transform:none; }
#page-contact .cf2-rev.d1{ transition-delay:.08s } #page-contact .cf2-rev.d2{ transition-delay:.16s } #page-contact .cf2-rev.d3{ transition-delay:.24s }

#page-contact .cf2-kick{ font-family:var(--mono); font-size:11px; letter-spacing:.24em; text-transform:uppercase; display:inline-flex; align-items:center; gap:10px; color:var(--ink-mute); }
#page-contact .cf2-kick::before{ content:""; width:22px; height:1px; background:currentColor; }

/* ─── HERO ─── */
#page-contact .cf2-hero{ position:relative; overflow:hidden; background:var(--ink); color:var(--paper); min-height:88vh; display:flex; flex-direction:column; }
#page-contact .cf2-grain{ position:absolute; inset:0; opacity:.5; mix-blend-mode:overlay; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
#page-contact .cf2-orb{ position:absolute; border-radius:50%; pointer-events:none; }
#page-contact .cf2-orb.a{ top:-14%; right:-6%; width:44vw; height:44vw; background:radial-gradient(circle at 35% 35%, rgba(255,31,110,.30), transparent 68%); animation:cf2float 14s ease-in-out infinite; }
#page-contact .cf2-orb.b{ bottom:-18%; left:-10%; width:40vw; height:40vw; background:radial-gradient(circle at 50% 50%, rgba(46,167,255,.26), transparent 70%); animation:cf2float 18s ease-in-out infinite reverse; }
@keyframes cf2float{ 0%,100%{ transform:translate(0,0) } 50%{ transform:translate(2%,-3%) } }
#page-contact .cf2-hero-top{ position:relative; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px var(--cf-edge); border-bottom:1px solid rgba(255,249,245,.16); font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,249,245,.6); flex-wrap:wrap; }
#page-contact .cf2-hero-top b{ color:var(--yellow); font-weight:600; }
#page-contact .cf2-hero-body{ position:relative; flex:1; display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(24px,4vw,64px); align-items:center; padding:clamp(34px,5vw,70px) var(--cf-edge); }
#page-contact .cf2-hero h1{ font-family:var(--serif); font-weight:300; font-size:clamp(46px,7.4vw,120px); line-height:.93; letter-spacing:-.03em; margin:16px 0 0; }
#page-contact .cf2-hero h1 em{ font-style:italic; color:var(--yellow); }
#page-contact .cf2-hero .dek{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(18px,2vw,26px); line-height:1.45; color:rgba(255,249,245,.82); margin:24px 0 0; max-width:40ch; }
#page-contact .cf2-chip{ display:inline-flex; align-items:center; gap:9px; margin-top:30px; padding:9px 16px; border:1px solid rgba(255,249,245,.28); border-radius:100px; font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--paper); }
#page-contact .cf2-chip i{ width:8px; height:8px; border-radius:50%; background:var(--yellow); box-shadow:0 0 0 0 rgba(255,210,63,.6); animation:cf2pulse 2.4s ease-out infinite; }
@keyframes cf2pulse{ 0%{ box-shadow:0 0 0 0 rgba(255,210,63,.55) } 100%{ box-shadow:0 0 0 12px rgba(255,210,63,0) } }
#page-contact .cf2-hero-photo{ position:relative; aspect-ratio:4/5; border-radius:3px; overflow:hidden; box-shadow:0 40px 90px rgba(0,0,0,.5); }
#page-contact .cf2-hero-photo img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.15) contrast(1.04); }
#page-contact .cf2-hero-photo .tag{ position:absolute; left:0; bottom:0; background:var(--yellow); color:var(--ink); font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; padding:7px 12px; font-weight:700; }
#page-contact .cf2-cue{ position:relative; padding:0 var(--cf-edge) 26px; font-family:var(--mono); font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:rgba(255,249,245,.5); display:flex; align-items:center; gap:10px; }
#page-contact .cf2-cue i{ width:1px; height:32px; background:linear-gradient(var(--yellow),transparent); animation:cf2drop 1.8s ease-in-out infinite; }
@keyframes cf2drop{ 0%,100%{ opacity:.3; transform:translateY(0) } 50%{ opacity:1; transform:translateY(6px) } }

/* ─── WIZARD ─── */
#page-contact .cf2-form-sec{ background:var(--paper); padding:clamp(54px,8vw,110px) 0; }
#page-contact .cf2-form-head{ text-align:center; max-width:640px; margin:0 auto clamp(34px,4vw,52px); }
#page-contact .cf2-form-head h2{ font-family:var(--serif); font-weight:400; font-size:clamp(30px,4.4vw,56px); line-height:1.02; letter-spacing:-.02em; margin:14px 0 0; }
#page-contact .cf2-form-head h2 em{ font-style:italic; color:var(--pink); }
#page-contact .cf2-form-head p{ font-family:var(--sans); font-size:16px; color:var(--ink-mute); margin:14px 0 0; }
#page-contact .cf2-card{ max-width:840px; margin:0 auto; background:var(--paper-warm); border:1px solid var(--rule); border-radius:6px; box-shadow:0 30px 80px rgba(14,8,16,.10); overflow:hidden; }
/* progress */
#page-contact .cf2-prog{ display:flex; align-items:center; gap:14px; padding:20px clamp(20px,4vw,40px); border-bottom:1px solid var(--rule); }
#page-contact .cf2-prog-track{ flex:1; height:4px; background:var(--paper-stone); border-radius:100px; overflow:hidden; }
#page-contact .cf2-prog-fill{ height:100%; width:20%; background:linear-gradient(90deg,var(--pink),var(--yellow)); border-radius:100px; transition:width .6s cubic-bezier(.2,.7,.2,1); }
#page-contact .cf2-prog-label{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); white-space:nowrap; }
/* viewport + sliding track */
#page-contact .cf2-vp{ overflow:hidden; }
#page-contact .cf2-track{ display:block; }
#page-contact .cf2-step{ display:none; padding:clamp(28px,4vw,48px); }
#page-contact .cf2-step.active{ display:block; animation:cf2StepIn .5s cubic-bezier(.2,.7,.2,1); }
@keyframes cf2StepIn{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
#page-contact .cf2-step .q{ font-family:var(--serif); font-weight:400; font-size:clamp(22px,2.6vw,32px); line-height:1.12; letter-spacing:-.015em; color:var(--ink); margin:0 0 6px; }
#page-contact .cf2-step .q em{ font-style:italic; color:var(--pink); }
#page-contact .cf2-step .sub{ font-family:var(--sans); font-size:14px; color:var(--ink-mute); margin:0 0 26px; }

/* step 1 — path cards, horizontal scroll */
#page-contact .cf2-paths{ display:grid; grid-template-columns:repeat(auto-fit, minmax(232px,1fr)); gap:14px; padding:4px 0 6px; }
#page-contact .cf2-paths::-webkit-scrollbar{ height:6px; } #page-contact .cf2-paths::-webkit-scrollbar-thumb{ background:var(--paper-stone); border-radius:100px; }
#page-contact .cf2-path{ width:auto; text-align:left; background:var(--paper); border:1px solid var(--rule); border-radius:5px; padding:24px 22px; cursor:pointer; transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s; position:relative; font:inherit; }
#page-contact .cf2-path:hover{ transform:translateY(-5px); box-shadow:0 22px 50px rgba(14,8,16,.14); border-color:var(--ink); }
#page-contact .cf2-path.sel{ border-color:var(--pink); box-shadow:0 0 0 2px var(--pink) inset, 0 22px 50px rgba(255,31,110,.16); }
#page-contact .cf2-path .pn{ font-family:var(--serif); font-style:italic; font-size:30px; color:var(--pink); line-height:1; }
#page-contact .cf2-path .pt{ font-family:var(--serif); font-size:21px; letter-spacing:-.01em; color:var(--ink); margin:14px 0 6px; }
#page-contact .cf2-path .pl{ font-family:var(--sans); font-size:13.5px; line-height:1.5; color:var(--ink-mute); }
#page-contact .cf2-path .go{ margin-top:16px; font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--pink-deep); display:flex; align-items:center; gap:7px; }
#page-contact .cf2-path .go span{ transition:transform .3s; } #page-contact .cf2-path:hover .go span{ transform:translateX(5px); }
#page-contact .cf2-path .check{ position:absolute; top:16px; right:16px; width:24px; height:24px; border-radius:50%; background:var(--pink); color:#fff; display:grid; place-items:center; font-size:13px; opacity:0; transform:scale(.4); transition:.3s; }
#page-contact .cf2-path.sel .check{ opacity:1; transform:scale(1); }
#page-contact .cf2-paths-hint{ font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute); margin-top:8px; display:flex; align-items:center; gap:9px; }
#page-contact .cf2-paths-hint i{ width:40px; height:1px; background:var(--rule); position:relative; overflow:hidden; }
#page-contact .cf2-paths-hint i::after{ content:""; position:absolute; inset:0; width:40%; background:var(--pink); animation:cf2slide 2.2s ease-in-out infinite; }
@keyframes cf2slide{ 0%{ transform:translateX(-110%) } 100%{ transform:translateX(260%) } }

/* fields */
#page-contact .cf2-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:20px 22px; }
#page-contact .cf2-field{ position:relative; }
#page-contact .cf2-field input, #page-contact .cf2-field textarea{ width:100%; background:transparent; border:none; border-bottom:1.5px solid var(--rule); padding:22px 2px 9px; font-family:var(--sans); font-size:16px; color:var(--ink); outline:none; transition:border-color .3s; }
#page-contact .cf2-field textarea{ resize:vertical; min-height:120px; }
#page-contact .cf2-field label{ position:absolute; left:2px; top:20px; font-family:var(--sans); font-size:16px; color:var(--ink-mute); pointer-events:none; transition:transform .25s cubic-bezier(.2,.7,.2,1), color .25s, font-size .25s; transform-origin:left; }
#page-contact .cf2-field input:focus ~ label, #page-contact .cf2-field input:not(:placeholder-shown) ~ label,
#page-contact .cf2-field textarea:focus ~ label, #page-contact .cf2-field textarea:not(:placeholder-shown) ~ label{ transform:translateY(-20px) scale(.72); color:var(--pink-deep); }
#page-contact .cf2-field .uline{ position:absolute; left:0; bottom:0; height:1.5px; width:100%; background:var(--pink); transform:scaleX(0); transform-origin:left; transition:transform .35s cubic-bezier(.2,.7,.2,1); }
#page-contact .cf2-field input:focus ~ .uline, #page-contact .cf2-field textarea:focus ~ .uline{ transform:scaleX(1); }
#page-contact .cf2-field.opt label::after{ content:" (optional)"; color:var(--ink-mute); opacity:.6; }
html[lang="es"] #page-contact .cf2-field.opt label::after{ content:" (opcional)"; }

/* choice chips */
#page-contact .cf2-chips{ display:flex; flex-wrap:wrap; gap:10px; }
#page-contact .cf2-choice{ font:inherit; cursor:pointer; background:var(--paper); border:1px solid var(--rule); border-radius:100px; padding:11px 18px; font-family:var(--sans); font-size:14.5px; color:var(--ink-soft); transition:.25s; }
#page-contact .cf2-choice:hover{ border-color:var(--ink); }
#page-contact .cf2-choice.sel{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
#page-contact .cf2-branch{ display:none; } #page-contact .cf2-branch.on{ display:block; }

/* review */
#page-contact .cf2-review{ background:var(--paper); border:1px solid var(--rule); border-radius:5px; padding:8px 24px; }
#page-contact .cf2-review .row{ display:grid; grid-template-columns:128px 1fr; gap:16px; padding:15px 0; border-bottom:1px solid var(--rule); }
#page-contact .cf2-review .row:last-child{ border-bottom:none; }
#page-contact .cf2-review .rk{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); padding-top:3px; }
#page-contact .cf2-review .rv{ font-family:var(--serif); font-size:18px; line-height:1.4; color:var(--ink); }

/* nav */
#page-contact .cf2-nav{ display:flex; justify-content:space-between; align-items:center; gap:14px; padding:20px clamp(20px,4vw,40px); border-top:1px solid var(--rule); background:var(--paper); }
#page-contact .cf2-back{ font:inherit; cursor:pointer; background:none; border:none; font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute); padding:10px 4px; transition:color .25s; opacity:1; }
#page-contact .cf2-back:hover{ color:var(--ink); } #page-contact .cf2-back[disabled]{ opacity:0; pointer-events:none; }
#page-contact .cf2-next{ font:inherit; cursor:pointer; border:none; background:var(--ink); color:var(--paper); font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; padding:15px 26px; border-radius:100px; display:inline-flex; align-items:center; gap:10px; transition:.3s; }
#page-contact .cf2-next:hover:not([disabled]){ background:var(--pink); }
#page-contact .cf2-next[disabled]{ opacity:.35; cursor:not-allowed; }
#page-contact .cf2-next span{ transition:transform .3s; } #page-contact .cf2-next:hover:not([disabled]) span{ transform:translateX(5px); }
#page-contact .cf2-send{ background:var(--pink); } #page-contact .cf2-send:hover:not([disabled]){ background:var(--pink-deep); }
#page-contact .cf2-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* success */
#page-contact .cf2-done{ display:none; padding:clamp(40px,6vw,72px); text-align:center; }
#page-contact .cf2-done.on{ display:block; }
#page-contact .cf2-check{ width:78px; height:78px; margin:0 auto 26px; }
#page-contact .cf2-check circle{ fill:none; stroke:var(--pink); stroke-width:4; stroke-dasharray:233; stroke-dashoffset:233; animation:cf2draw 0.7s cubic-bezier(.2,.7,.2,1) forwards; }
#page-contact .cf2-check path{ fill:none; stroke:var(--pink); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:60; stroke-dashoffset:60; animation:cf2draw .5s cubic-bezier(.2,.7,.2,1) .5s forwards; }
@keyframes cf2draw{ to{ stroke-dashoffset:0 } }
#page-contact .cf2-done h3{ font-family:var(--serif); font-weight:400; font-size:clamp(26px,3.4vw,40px); letter-spacing:-.02em; margin:0 0 14px; }
#page-contact .cf2-done h3 em{ font-style:italic; color:var(--pink); }
#page-contact .cf2-done p{ font-family:var(--sans); font-size:16px; line-height:1.6; color:var(--ink-soft); max-width:46ch; margin:0 auto 26px; }
#page-contact .cf2-again{ font:inherit; cursor:pointer; background:none; border:1px solid var(--ink); border-radius:100px; padding:12px 24px; font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); transition:.25s; }
#page-contact .cf2-again:hover{ background:var(--ink); color:var(--paper); }

/* ─── REASSURANCE ─── */
#page-contact .cf2-trust{ background:var(--ink); color:var(--paper); padding:clamp(56px,8vw,110px) 0; position:relative; overflow:hidden; }
#page-contact .cf2-trust-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(28px,5vw,72px); align-items:center; }
#page-contact .cf2-trust-photo{ aspect-ratio:4/5; border-radius:3px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.5); }
#page-contact .cf2-trust-photo img{ width:100%; height:100%; object-fit:cover; }
#page-contact .cf2-trust h2{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(28px,4vw,52px); line-height:1.08; letter-spacing:-.02em; margin:14px 0 28px; }
#page-contact .cf2-trust h2 em{ color:var(--yellow); }
#page-contact .cf2-promises{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,249,245,.16); border:1px solid rgba(255,249,245,.16); }
#page-contact .cf2-promise{ background:var(--ink); padding:26px 24px; }
#page-contact .cf2-promise .pt{ font-family:var(--serif); font-size:20px; color:var(--paper); margin:0 0 8px; }
#page-contact .cf2-promise .pd{ font-family:var(--sans); font-size:14px; line-height:1.55; color:rgba(255,249,245,.7); }

/* ─── FAQ ─── */
#page-contact .cf2-faq{ background:var(--paper-warm); padding:clamp(56px,8vw,110px) 0; }
#page-contact .cf2-faq-head{ text-align:center; max-width:620px; margin:0 auto clamp(34px,4vw,52px); }
#page-contact .cf2-faq-head h2{ font-family:var(--serif); font-weight:400; font-size:clamp(28px,4vw,50px); letter-spacing:-.02em; margin:14px 0 0; }
#page-contact .cf2-faq-head h2 em{ font-style:italic; color:var(--pink); }
#page-contact .cf2-faq-list{ max-width:780px; margin:0 auto; border-top:1px solid var(--ink); }
#page-contact .cf2-q{ border-bottom:1px solid var(--rule); }
#page-contact .cf2-q summary{ list-style:none; cursor:pointer; padding:24px 4px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-family:var(--serif); font-size:clamp(18px,2vw,23px); color:var(--ink); transition:color .25s; }
#page-contact .cf2-q summary::-webkit-details-marker{ display:none; }
#page-contact .cf2-q summary:hover{ color:var(--pink); }
#page-contact .cf2-q .ic{ flex:0 0 auto; width:30px; height:30px; border:1px solid var(--rule); border-radius:50%; display:grid; place-items:center; font-size:18px; color:var(--pink); transition:transform .35s, background .25s, color .25s; }
#page-contact .cf2-q[open] .ic{ transform:rotate(45deg); background:var(--pink); color:#fff; border-color:var(--pink); }
#page-contact .cf2-q .a{ overflow:hidden; max-height:0; transition:max-height .4s ease, padding .4s ease; }
#page-contact .cf2-q[open] .a{ max-height:340px; padding:0 4px 26px; }
#page-contact .cf2-q .a p{ font-family:var(--sans); font-size:15.5px; line-height:1.65; color:var(--ink-soft); margin:0; max-width:64ch; }

/* ─── OTHER WAYS ─── */
#page-contact .cf2-other{ background:var(--paper); padding:clamp(48px,7vw,90px) 0; }
#page-contact .cf2-other-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1px; background:var(--rule); border:1px solid var(--rule); }
#page-contact .cf2-other a{ background:var(--paper); padding:30px 28px; text-decoration:none; display:block; transition:background .25s; }
#page-contact .cf2-other a:hover{ background:var(--paper-yellow); }
#page-contact .cf2-other .k{ font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute); }
#page-contact .cf2-other .v{ font-family:var(--serif); font-size:clamp(19px,2vw,24px); color:var(--ink); margin-top:10px; }
#page-contact .cf2-other .v em{ font-style:italic; color:var(--pink-deep); }

/* ─── RESPONSIVE ─── */
@media (max-width:880px){
  #page-contact .cf2-hero-body{ grid-template-columns:1fr; } #page-contact .cf2-hero-photo{ max-width:340px; }
  #page-contact .cf2-grid2{ grid-template-columns:1fr; }
  #page-contact .cf2-trust-grid{ grid-template-columns:1fr; } #page-contact .cf2-trust-photo{ max-width:320px; }
  #page-contact .cf2-promises{ grid-template-columns:1fr; }
  #page-contact .cf2-review .row{ grid-template-columns:1fr; gap:4px; }
}
@media (prefers-reduced-motion:reduce){
  #page-contact .cf2-rev{ opacity:1; transform:none; transition:none; }
  #page-contact .cf2-track{ transition:none; } #page-contact .cf2-vp{ transition:none; }
  #page-contact .cf2-orb{ animation:none; } #page-contact .cf2-cue i, #page-contact .cf2-paths-hint i::after, #page-contact .cf2-chip i{ animation:none; }
  #page-contact .cf2-check circle, #page-contact .cf2-check path{ animation:none; stroke-dashoffset:0; }
}


/* ─── next block ─── */


/* ════════ HOME · "The Operating System" interactive services + animated proof ribbon ════════ */
#page-home .hos-section{ background:var(--paper-warm); padding:clamp(60px,9vw,130px) 0; }
#page-home .hos-head{ max-width:760px; margin:0 0 clamp(40px,5vw,64px); }
#page-home .hos-head .eyebrow{ margin-bottom:18px; }
#page-home .hos-head p{ font-family:var(--sans); font-size:clamp(16px,1.3vw,18px); line-height:1.6; color:var(--ink-mute); margin-top:18px; max-width:54ch; }

#page-home .hos-os{ display:grid; grid-template-columns:minmax(280px,400px) 1fr; gap:0; border:1px solid var(--ink); border-radius:6px; overflow:hidden; background:var(--paper); box-shadow:0 30px 80px rgba(14,8,16,.10); }

/* left — module list */
#page-home .hos-modules{ display:flex; flex-direction:column; border-right:1px solid var(--rule); background:var(--paper-stone); }
#page-home .hos-mod{ font:inherit; cursor:pointer; text-align:left; background:transparent; border:none; border-bottom:1px solid var(--rule); padding:22px 26px; display:flex; align-items:center; gap:16px; position:relative; transition:background .3s, padding-left .3s; }
#page-home .hos-mod:last-child{ border-bottom:none; }
#page-home .hos-mod::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--pink); transform:scaleY(0); transform-origin:top; transition:transform .35s cubic-bezier(.2,.7,.2,1); }
#page-home .hos-mod .mn{ font-family:var(--mono); font-size:12px; letter-spacing:.1em; color:var(--ink-mute); transition:color .3s; }
#page-home .hos-mod .mt{ font-family:var(--serif); font-size:clamp(16px,1.5vw,19px); line-height:1.2; letter-spacing:-.01em; color:var(--ink-soft); transition:color .3s; }
#page-home .hos-mod:hover{ background:var(--paper); padding-left:32px; }
#page-home .hos-mod.active{ background:var(--paper); }
#page-home .hos-mod.active::before{ transform:scaleY(1); }
#page-home .hos-mod.active .mn{ color:var(--pink-deep); }
#page-home .hos-mod.active .mt{ color:var(--ink); }

/* right — detail panel */
#page-home .hos-panels{ position:relative; padding:clamp(32px,4vw,56px); display:flex; align-items:center; min-height:340px; overflow:hidden; }
#page-home .hos-panel{ display:none; }
#page-home .hos-panel.active{ display:block; animation:hosIn .55s cubic-bezier(.2,.7,.2,1); }
@keyframes hosIn{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
#page-home .hos-pnum{ font-family:var(--serif); font-style:italic; font-weight:300; font-size:clamp(60px,8vw,110px); line-height:.8; color:var(--yellow); letter-spacing:-.04em; margin-bottom:14px; }
#page-home .hos-panel h3{ font-family:var(--serif); font-weight:400; font-size:clamp(24px,3vw,38px); line-height:1.08; letter-spacing:-.02em; color:var(--ink); margin:0 0 18px; max-width:18ch; }
#page-home .hos-panel p{ font-family:var(--sans); font-size:clamp(16px,1.3vw,18px); line-height:1.65; color:var(--ink-soft); margin:0 0 28px; max-width:48ch; }
#page-home .hos-cta{ display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); text-decoration:none; padding-bottom:5px; border-bottom:1.5px solid var(--ink); transition:gap .3s, color .3s, border-color .3s; }
#page-home .hos-cta:hover{ gap:16px; color:var(--pink); border-color:var(--pink); }
#page-home .hos-panels .hos-watermark{ position:absolute; right:-2%; bottom:-12%; font-family:var(--mono); font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--rule); writing-mode:vertical-rl; pointer-events:none; }

/* ── animated proof ribbon (upgrades existing .stat-ribbon) ──
   NOTE: stats stay opacity:1 by default so the numbers NEVER disappear on
   mobile if the IntersectionObserver misses the threshold (was a real bug
   when the ribbon is tall and stacked 2x3 — it never reached 40% in view). */
#page-home .stat-ribbon .stat .n{ font-variant-numeric:tabular-nums; }
#page-home .stat-ribbon.hos-ribbon .stat{ opacity:1; transform:none; transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }

@media (max-width:820px){
  #page-home .hos-os{ grid-template-columns:1fr; }
  #page-home .hos-modules{ flex-direction:row; overflow-x:auto; border-right:none; border-bottom:1px solid var(--rule); -webkit-overflow-scrolling:touch; }
  #page-home .hos-modules::-webkit-scrollbar{ height:0; }
  #page-home .hos-mod{ flex:0 0 auto; flex-direction:column; align-items:flex-start; gap:6px; border-bottom:none; border-right:1px solid var(--rule); min-width:160px; }
  #page-home .hos-mod::before{ width:auto; left:0; right:0; top:auto; bottom:0; height:3px; transform:scaleX(0); transform-origin:left; }
  #page-home .hos-mod.active::before{ transform:scaleX(1); }
  #page-home .hos-mod:hover{ padding-left:26px; }
  #page-home .hos-panels{ min-height:0; }
}
@media (prefers-reduced-motion:reduce){
  #page-home .hos-panel.active{ animation:none; }
  #page-home .stat-ribbon.hos-ribbon .stat{ opacity:1; transform:none; transition:none; }
}


/* ─── next block ─── */


/* ════════ CONSULTING · interactive engagement selector (scoped #page-consulting .ces-*) ════════ */
#page-consulting .ces-section{ background:var(--paper); padding:clamp(60px,9vw,128px) 0; }
#page-consulting .ces-head{ max-width:780px; margin:0 0 clamp(34px,4vw,52px); }
#page-consulting .ces-head .eyebrow{ margin-bottom:16px; }
#page-consulting .ces-head .ces-sub{ font-family:var(--sans); font-size:clamp(16px,1.3vw,18px); line-height:1.6; color:var(--ink-mute); margin-top:16px; max-width:56ch; }

/* selector tabs */
#page-consulting .ces-tabs{ display:flex; gap:10px; overflow-x:auto; padding:2px 0 16px; -webkit-overflow-scrolling:touch; scrollbar-width:none; cursor:grab; }
#page-consulting .ces-tabs::-webkit-scrollbar{ display:none; }
#page-consulting .ces-tabs.drag{ cursor:grabbing; }
#page-consulting .ces-tab{ flex:0 0 auto; font:inherit; cursor:pointer; text-align:left; background:var(--paper-stone); border:1px solid var(--rule); border-radius:6px; padding:16px 20px; min-width:190px; position:relative; overflow:hidden; transition:border-color .3s, background .3s, transform .3s; }
#page-consulting .ces-tab::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--acc,var(--pink)); transform:scaleY(0); transform-origin:top; transition:transform .35s cubic-bezier(.2,.7,.2,1); }
#page-consulting .ces-tab .ct-num{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; color:var(--ink-mute); display:block; margin-bottom:6px; transition:color .3s; }
#page-consulting .ces-tab .ct-name{ font-family:var(--serif); font-size:17px; line-height:1.15; letter-spacing:-.01em; color:var(--ink-soft); transition:color .3s; }
#page-consulting .ces-tab:hover{ background:var(--paper); transform:translateY(-2px); }
#page-consulting .ces-tab.active{ background:var(--ink); border-color:var(--ink); }
#page-consulting .ces-tab.active::before{ transform:scaleY(1); }
#page-consulting .ces-tab.active .ct-num{ color:var(--acc,var(--pink)); }
#page-consulting .ces-tab.active .ct-name{ color:var(--paper); }

/* detail stage */
#page-consulting .ces-stage{ border:1px solid var(--ink); border-radius:8px; background:var(--paper-warm); overflow:hidden; box-shadow:0 30px 80px rgba(14,8,16,.10); }
#page-consulting .ces-panel{ display:none; }
#page-consulting .ces-panel.active{ display:block; animation:cesIn .55s cubic-bezier(.2,.7,.2,1); }
@keyframes cesIn{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }

#page-consulting .ces-phead{ padding:clamp(28px,4vw,52px) clamp(24px,4vw,52px) clamp(20px,2.5vw,30px); border-bottom:1px solid var(--rule); position:relative; }
#page-consulting .ces-pnum{ font-family:var(--serif); font-style:italic; font-weight:300; font-size:clamp(54px,7vw,96px); line-height:.8; color:var(--acc,var(--pink)); letter-spacing:-.04em; margin-bottom:12px; }
#page-consulting .ces-tag{ display:inline-block; font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--paper); background:var(--acc,var(--pink)); padding:4px 10px; border-radius:100px; margin-bottom:14px; }
#page-consulting .ces-panel h3{ font-family:var(--serif); font-weight:400; font-size:clamp(26px,3.4vw,42px); line-height:1.05; letter-spacing:-.02em; color:var(--ink); margin:0 0 18px; max-width:22ch; }
#page-consulting .ces-panel .ces-desc p{ font-family:var(--sans); font-size:clamp(15px,1.25vw,17px); line-height:1.65; color:var(--ink-soft); margin:0 0 14px; max-width:62ch; }

#page-consulting .ces-body{ display:grid; grid-template-columns:1.1fr .9fr; gap:0; }
#page-consulting .ces-included{ padding:clamp(24px,3vw,40px); border-right:1px solid var(--rule); }
#page-consulting .ces-included .ces-lab,#page-consulting .ces-meta .ces-lab{ font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:16px; }
#page-consulting .ces-included ul{ list-style:none; margin:0; padding:0; columns:2; column-gap:24px; }
#page-consulting .ces-included li{ font-family:var(--sans); font-size:14.5px; line-height:1.4; color:var(--ink); padding:8px 0 8px 22px; position:relative; break-inside:avoid; }
#page-consulting .ces-included li::before{ content:""; position:absolute; left:0; top:14px; width:9px; height:9px; border-radius:2px; background:var(--acc,var(--pink)); }
#page-consulting .ces-meta{ padding:clamp(24px,3vw,40px); display:flex; flex-direction:column; gap:22px; }
#page-consulting .ces-mblock .mb-lab{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:5px; }
#page-consulting .ces-mblock .mb-val{ font-family:var(--serif); font-size:19px; line-height:1.2; color:var(--ink); margin-bottom:5px; }
#page-consulting .ces-mblock .mb-meta{ font-family:var(--sans); font-size:13px; line-height:1.5; color:var(--ink-mute); }

/* engagement flow — horizontal drag strip */
#page-consulting .ces-flow{ padding:clamp(22px,3vw,34px) 0 clamp(24px,3vw,38px); border-top:1px solid var(--rule); }
#page-consulting .ces-flow .ces-lab{ font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-mute); margin:0 clamp(24px,4vw,52px) 16px; }
#page-consulting .ces-flow-track{ display:flex; gap:14px; overflow-x:auto; padding:0 clamp(24px,4vw,52px) 14px; -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity; cursor:grab; }
#page-consulting .ces-flow-track.drag{ cursor:grabbing; scroll-snap-type:none; }
#page-consulting .ces-flow-track::-webkit-scrollbar{ height:6px; }
#page-consulting .ces-flow-track::-webkit-scrollbar-thumb{ background:var(--rule); border-radius:100px; }
#page-consulting .ces-fstep{ flex:0 0 auto; width:210px; scroll-snap-align:start; background:var(--paper); border:1px solid var(--rule); border-top:3px solid var(--acc,var(--pink)); border-radius:5px; padding:18px 18px 20px; position:relative; }
#page-consulting .ces-fstep .fs-num{ font-family:var(--serif); font-style:italic; font-size:26px; color:var(--acc,var(--pink)); line-height:1; }
#page-consulting .ces-fstep .fs-title{ font-family:var(--serif); font-size:17px; line-height:1.2; color:var(--ink); margin:8px 0 10px; letter-spacing:-.01em; }
#page-consulting .ces-fstep .fs-week{ font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); }
#page-consulting .ces-fstep:not(:last-child)::after{ content:"→"; position:absolute; right:-12px; top:50%; transform:translateY(-50%); color:var(--rule); font-size:16px; z-index:2; }

#page-consulting .ces-cta-row{ padding:0 clamp(24px,4vw,52px) clamp(28px,4vw,46px); }
#page-consulting .ces-cta{ display:inline-flex; align-items:center; gap:11px; font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--paper); background:var(--acc,var(--pink)); text-decoration:none; padding:15px 26px; border-radius:4px; transition:gap .3s, filter .3s; }
#page-consulting .ces-cta:hover{ gap:17px; filter:brightness(1.08); }

@media (max-width:760px){
  #page-consulting .ces-body{ grid-template-columns:1fr; }
  #page-consulting .ces-included{ border-right:none; border-bottom:1px solid var(--rule); }
  #page-consulting .ces-included ul{ columns:1; }
}
@media (prefers-reduced-motion:reduce){
  #page-consulting .ces-panel.active{ animation:none; }
}


/* ─── next block ─── */


/* ════════ IMPACT · count-up reveals + percentage fill bars (scoped #page-impact) ════════ */
#page-impact .imp-rev{ opacity:0; transform:translateY(18px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
#page-impact .imp-rev.in{ opacity:1; transform:none; }
#page-impact .impact-stat .num, #page-impact .ccm-num{ font-variant-numeric:tabular-nums; }
#page-impact .imp-bar{ height:4px; width:100%; max-width:130px; background:rgba(14,8,16,.10); border-radius:100px; margin-top:10px; overflow:hidden; }
#page-impact .imp-bar > i{ display:block; height:100%; width:0; border-radius:100px; transition:width 1.3s cubic-bezier(.2,.7,.2,1); }
#page-impact .case-card[data-case-accent="emerald"] .imp-bar > i{ background:var(--forest); }
#page-impact .case-card[data-case-accent="royal"] .imp-bar > i{ background:var(--royal); }
#page-impact .case-card[data-case-accent="mango"] .imp-bar > i{ background:var(--yellow); }
#page-impact .impact-hero .imp-bar{ background:rgba(255,249,245,.16); }
#page-impact .impact-hero .imp-bar > i{ background:var(--yellow); }
@media (prefers-reduced-motion:reduce){
  #page-impact .imp-rev{ opacity:1; transform:none; transition:none; }
  #page-impact .imp-bar > i{ transition:none; }
}


/* ─── next block ─── */


/* ════════ SPEAKING · cinematic TEDx hero + audience topic filter (scoped #page-speaking) ════════ */
#page-speaking .spk-hero{ background:var(--ink); color:var(--paper); padding:clamp(56px,8vw,110px) 0 clamp(48px,7vw,88px); position:relative; overflow:hidden; }
#page-speaking .spk-hero::before{ content:""; position:absolute; top:-20%; right:-10%; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle at 40% 40%, rgba(255,210,63,.16), transparent 68%); pointer-events:none; }
#page-speaking .spk-hero .container{ position:relative; }
#page-speaking .spk-hero-top{ max-width:840px; margin:0 auto clamp(30px,4vw,46px); text-align:center; }
#page-speaking .spk-hero-top .eyebrow{ margin-bottom:18px; }
#page-speaking .spk-hero-sub{ font-family:var(--sans); font-size:clamp(16px,1.4vw,19px); line-height:1.65; color:rgba(255,249,245,.82); max-width:62ch; margin:22px auto 0; }

#page-speaking .spk-stage{ max-width:1000px; margin:0 auto; }
#page-speaking .spk-video{ position:relative; aspect-ratio:16/9; border-radius:12px; overflow:hidden; cursor:pointer; border:1px solid rgba(255,249,245,.16); box-shadow:0 40px 110px rgba(0,0,0,.55); background:#000; }
#page-speaking .spk-video img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .5s; }
#page-speaking .spk-video:hover img{ transform:scale(1.035); filter:brightness(.82); }
#page-speaking .spk-vshade{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(14,8,16,.1) 0%, rgba(14,8,16,.15) 55%, rgba(14,8,16,.5) 100%); pointer-events:none; }
#page-speaking .spk-play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:84px; height:84px; border-radius:50%; background:var(--pink); color:#fff; display:flex; align-items:center; justify-content:center; padding-left:5px; box-shadow:0 18px 50px rgba(255,31,110,.5); transition:transform .35s cubic-bezier(.2,.7,.2,1), background .3s; }
#page-speaking .spk-video:hover .spk-play{ transform:translate(-50%,-50%) scale(1.1); background:var(--pink-bright,var(--pink)); }
#page-speaking .spk-play::after{ content:""; position:absolute; inset:-10px; border-radius:50%; border:1px solid rgba(255,255,255,.4); animation:spkPulse 2.4s ease-out infinite; }
@keyframes spkPulse{ 0%{ transform:scale(1); opacity:.5; } 100%{ transform:scale(1.5); opacity:0; } }
#page-speaking .spk-vbadge{ position:absolute; font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:rgba(14,8,16,.6); backdrop-filter:blur(6px); padding:7px 13px; border-radius:100px; }
#page-speaking .spk-vbadge-tl{ top:16px; left:16px; }
#page-speaking .spk-vbadge-br{ bottom:16px; right:16px; background:var(--yellow); color:var(--ink); font-weight:600; }
#page-speaking .spk-video.playing{ cursor:default; }
#page-speaking .spk-video.playing .spk-vshade,#page-speaking .spk-video.playing .spk-play,#page-speaking .spk-video.playing .spk-vbadge{ display:none; }

#page-speaking .spk-below{ display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(28px,4vw,56px); align-items:end; margin-top:clamp(28px,3.5vw,44px); }
#page-speaking .spk-below-text .eyebrow{ color:var(--yellow); margin-bottom:14px; }
#page-speaking .spk-below-text h2{ color:var(--paper); margin:0 0 14px; }
#page-speaking .spk-below-text p{ font-family:var(--sans); font-size:15.5px; line-height:1.6; color:rgba(255,249,245,.8); margin:0; max-width:54ch; }
#page-speaking .spk-runtime{ font-family:var(--mono) !important; font-size:11px !important; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,249,245,.5) !important; margin-top:20px !important; }
#page-speaking .spk-below-cta{ display:flex; flex-direction:column; gap:12px; }
#page-speaking .spk-below-cta .btn{ width:100%; justify-content:center; }

/* topic filter */
#page-speaking .spk-filters{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; }
#page-speaking .spk-filter{ font:inherit; cursor:pointer; padding:11px 19px; border-radius:100px; border:1px solid var(--rule); background:var(--paper); font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); transition:background .3s, color .3s, border-color .3s, transform .3s; }
#page-speaking .spk-filter:hover{ transform:translateY(-2px); border-color:var(--ink-mute); }
#page-speaking .spk-filter.active{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
#page-speaking .topics-grid .topic-card{ transition:opacity .45s cubic-bezier(.2,.7,.2,1), transform .45s cubic-bezier(.2,.7,.2,1); }
#page-speaking .topics-grid .topic-card.hide{ display:none; }

@media (max-width:760px){
  #page-speaking .spk-below{ grid-template-columns:1fr; align-items:start; gap:24px; }
  #page-speaking .spk-play{ width:64px; height:64px; }
}
@media (prefers-reduced-motion:reduce){
  #page-speaking .spk-play::after{ animation:none; }
  #page-speaking .spk-video:hover img{ transform:none; }
}


/* ─── next block ─── */


/* ════════ BOOKS · draggable cover-flow shelves + flip cards (scoped #page-products) ════════ */
#page-products .bshelf{ margin-bottom:clamp(38px,5vw,68px); }
#page-products .bshelf .library-series-head{ margin-bottom:20px; }
#page-products .bshelf-track{ display:flex; gap:clamp(18px,2.2vw,30px); overflow-x:auto; padding:10px 4px 24px; -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity; cursor:grab; scrollbar-width:thin; }
#page-products .bshelf-track.drag{ cursor:grabbing; scroll-snap-type:none; }
#page-products .bshelf-track::-webkit-scrollbar{ height:7px; }
#page-products .bshelf-track::-webkit-scrollbar-thumb{ background:var(--rule); border-radius:100px; }
#page-products .bshelf-track::-webkit-scrollbar-track{ background:transparent; }
#page-products .bshelf-rail{ height:1px; background:linear-gradient(90deg, transparent, var(--rule) 10%, var(--rule) 90%, transparent); margin-top:2px; }

#page-products .bcard{ flex:0 0 auto; width:clamp(150px,16vw,196px); scroll-snap-align:start; }
#page-products .bcard-inner{ position:relative; width:100%; aspect-ratio:2/3; transform-style:preserve-3d; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
#page-products .bcard:hover .bcard-inner,
#page-products .bcard.flipped .bcard-inner,
#page-products .bcard:focus-within .bcard-inner{ transform:rotateY(180deg); }
#page-products .bface{ position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:7px; overflow:hidden; box-shadow:0 16px 40px rgba(14,8,16,.22); }
#page-products .bface-front{ background:var(--paper-stone); }
#page-products .bface-front .book-cover-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:2; }
#page-products .bface-front .library-book-fallback{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; gap:6px; padding:16px; z-index:1; color:#fff; }
#page-products .lbf-series{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; opacity:.9; }
#page-products .lbf-title{ font-family:var(--serif); font-size:18px; line-height:1.1; }
#page-products .bcard-flip-hint{ position:absolute; bottom:10px; right:10px; z-index:3; width:26px; height:26px; border-radius:50%; background:rgba(14,8,16,.55); color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; opacity:0; transition:opacity .3s; }
@media (hover:none){ #page-products .bcard-flip-hint{ opacity:1; } }

#page-products .bface-back{ transform:rotateY(180deg); background:var(--ink); color:var(--paper); padding:18px 16px; display:flex; flex-direction:column; border-top:4px solid var(--acc,var(--pink)); }
#page-products .bb-series{ font-family:var(--mono); font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--acc,var(--pink)); margin-bottom:9px; }
#page-products .bb-title{ font-family:var(--serif); font-size:16px; line-height:1.14; color:var(--paper); margin-bottom:9px; }
#page-products .bb-sub{ font-family:var(--sans); font-size:11.5px; line-height:1.46; color:rgba(255,249,245,.72); flex:1; }
#page-products .bb-buy{ font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--paper); border-top:1px solid rgba(255,249,245,.18); padding-top:11px; margin-top:9px; display:inline-flex; align-items:center; gap:6px; text-decoration:none; transition:color .3s; }
#page-products .bb-buy:hover{ color:var(--acc,var(--pink)); }
#page-products .bcard-cap{ display:flex; align-items:baseline; gap:8px; margin-top:12px; }
#page-products .bc-num{ font-family:var(--mono); font-size:10px; color:var(--acc,var(--pink)); letter-spacing:.1em; }
#page-products .bc-title{ font-family:var(--serif); font-size:13.5px; line-height:1.2; color:var(--ink-soft); }

/* CTA card */
#page-products .bcard-cta .bcard-cta-inner{ display:flex; flex-direction:column; justify-content:center; gap:9px; width:100%; aspect-ratio:2/3; border-radius:7px; border:1.5px dashed var(--acc,var(--plum)); background:var(--paper-warm); padding:20px 18px; text-decoration:none; transition:background .3s, transform .3s; }
#page-products .bcard-cta .bcard-cta-inner:hover{ background:var(--paper-stone); transform:translateY(-3px); }
#page-products .lbc-cta-eyebrow{ font-family:var(--mono); font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--acc,var(--plum)); }
#page-products .lbc-cta-title{ font-family:var(--serif); font-style:italic; font-size:24px; color:var(--ink); line-height:1; }
#page-products .lbc-cta-sub{ font-family:var(--sans); font-size:13px; line-height:1.4; color:var(--ink-soft); }
#page-products .bcard-cta .bb-buy{ color:var(--ink); border-top:none; padding-top:0; margin-top:auto; }
#page-products .bcard-cta .bb-buy:hover{ color:var(--acc,var(--plum)); }

@media (prefers-reduced-motion:reduce){ #page-products .bcard-inner{ transition:none; } }


/* ─── next block ─── */


/* ════════ COURSES · recommender + comparison + waitlist (scoped #page-courses) ════════ */
#page-courses .crs-rec{ text-align:center; margin:0 auto clamp(34px,4vw,52px); max-width:760px; }
#page-courses .crs-rec-q{ display:block; font-family:var(--serif); font-style:italic; font-size:clamp(20px,2.4vw,28px); color:var(--ink); margin-bottom:20px; letter-spacing:-.01em; }
#page-courses .crs-rec-btns{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
#page-courses .crs-rec-btn{ font:inherit; cursor:pointer; padding:12px 22px; border-radius:100px; border:1px solid var(--rule); background:var(--paper); font-family:var(--sans); font-size:14px; color:var(--ink-soft); transition:background .3s, color .3s, border-color .3s, transform .3s; }
#page-courses .crs-rec-btn:hover{ transform:translateY(-2px); border-color:var(--ink-mute); }
#page-courses .crs-rec-btn.active{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
#page-courses .crs-rec-reset{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }

#page-courses .crs-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(320px,1fr)); gap:24px; align-items:start; }
#page-courses .crs-card{ position:relative; background:var(--paper); border:1px solid var(--rule); border-radius:10px; padding:clamp(28px,3.2vw,40px); display:flex; flex-direction:column; transition:opacity .45s, transform .45s, box-shadow .45s, border-color .45s; }
#page-courses .crs-card.featured{ border-color:var(--ink); }
#page-courses .crs-card.match{ border-color:var(--pink); box-shadow:0 24px 60px rgba(255,31,110,.16); transform:translateY(-4px); }
#page-courses .crs-card.dim{ opacity:.5; }
#page-courses .crs-rec-badge{ position:absolute; top:-12px; left:clamp(28px,3.2vw,40px); background:var(--pink); color:#fff; font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; padding:6px 13px; border-radius:100px; opacity:0; transform:translateY(6px); transition:opacity .4s, transform .4s; pointer-events:none; }
#page-courses .crs-card.match .crs-rec-badge{ opacity:1; transform:none; }
#page-courses .crs-stage-pill{ align-self:flex-start; font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--pink-deep); background:var(--paper-yellow); padding:5px 11px; border-radius:100px; margin-bottom:16px; }
#page-courses .crs-card .crs-tag{ font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:10px; }
#page-courses .crs-card h3{ font-family:var(--serif); font-weight:400; font-size:clamp(24px,2.8vw,32px); line-height:1.08; letter-spacing:-.02em; color:var(--ink); margin:0 0 14px; }
#page-courses .crs-format{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
#page-courses .crs-format span{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); border:1px solid var(--rule); padding:5px 10px; border-radius:4px; }
#page-courses .crs-card > p{ font-family:var(--sans); font-size:15px; line-height:1.6; color:var(--ink-soft); margin:0 0 20px; }
#page-courses .crs-inside-lab{ font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:12px; padding-top:18px; border-top:1px solid var(--rule); }
#page-courses .crs-card .course-features{ margin:0 0 22px; }
#page-courses .crs-card .course-price{ margin-top:auto; }

/* waitlist */
#page-courses .crs-soon{ margin-top:28px; border:1.5px dashed var(--plum); border-radius:10px; padding:clamp(28px,3.5vw,44px); background:var(--paper-warm); display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; }
#page-courses .crs-soon-tag{ font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--plum); margin-bottom:10px; }
#page-courses .crs-soon h3{ font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(24px,3vw,34px); color:var(--ink); margin:0 0 10px; letter-spacing:-.02em; }
#page-courses .crs-soon p{ font-family:var(--sans); font-size:15px; line-height:1.6; color:var(--ink-soft); margin:0; max-width:60ch; }
#page-courses .crs-soon .btn{ white-space:nowrap; }

@media (max-width:680px){
  #page-courses .crs-soon{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  #page-courses .crs-card, #page-courses .crs-rec-badge{ transition:none; }
}


/* ─── next block ─── */


/* Podcast framing line + News scroll-reveal */
#page-podcast .podcast-hero-audience{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); margin-top:14px; }
#page-news .nv-rev{ opacity:0; transform:translateY(20px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
#page-news .nv-rev.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ #page-news .nv-rev{ opacity:1; transform:none; transition:none; } }


/* ─── next block ─── */


/* CONTACT — split hero, single-screen form (above the fold) */
#page-contact .cf2x-hero{ position:relative; overflow:hidden; background:var(--ink); color:var(--paper); padding:clamp(28px,5vw,60px) var(--cf-edge) clamp(40px,6vw,80px); }
#page-contact .cf2x-inner{ position:relative; max-width:1200px; margin:0 auto; display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(28px,4.5vw,68px); align-items:center; }
#page-contact .cf2x-aside{ display:flex; flex-direction:column; gap:24px; }
#page-contact .cf2x-photo{ aspect-ratio:4/5; max-width:360px; border-radius:4px; overflow:hidden; box-shadow:0 36px 80px rgba(0,0,0,.5); }
#page-contact .cf2x-photo img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.12) contrast(1.04); display:block; }
#page-contact .cf2x-aside-h{ font-family:var(--serif); font-weight:300; font-size:clamp(26px,2.9vw,40px); line-height:1.04; letter-spacing:-.02em; margin:12px 0 0; }
#page-contact .cf2x-aside-h em{ font-style:italic; color:var(--yellow); }
#page-contact .cf2x-aside-p{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(16px,1.5vw,19px); line-height:1.5; color:color-mix(in srgb, var(--paper) 82%, transparent); margin:12px 0 0; max-width:42ch; }
#page-contact .cf2x-proof{ list-style:none; margin:20px 0 0; padding:20px 0 0; border-top:1px solid rgba(255,249,245,.16); display:grid; grid-template-columns:1fr 1fr; gap:16px 22px; }
#page-contact .cf2x-proof li{ display:flex; flex-direction:column; gap:3px; }
#page-contact .cf2x-proof b{ font-family:var(--serif); font-size:clamp(24px,2.4vw,32px); font-weight:400; line-height:1; color:var(--paper); }
#page-contact .cf2x-proof span{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:color-mix(in srgb, var(--paper) 58%, transparent); }

#page-contact .cf2x-formwrap{ position:relative; background:var(--paper); color:var(--ink); border-radius:14px; padding:clamp(26px,3vw,44px); box-shadow:0 40px 100px rgba(0,0,0,.4); }
#page-contact .cf2x-head h1{ font-family:var(--serif); font-weight:300; font-size:clamp(34px,4.4vw,58px); line-height:.96; letter-spacing:-.028em; margin:10px 0 0; color:var(--ink); }
#page-contact .cf2x-head h1 em{ font-style:italic; color:var(--pink); }
#page-contact .cf2x-dek{ font-family:var(--sans); font-size:15px; line-height:1.55; color:var(--ink-mute); margin:14px 0 0; max-width:48ch; }
#page-contact .cf2x-fields{ margin-top:26px; display:flex; flex-direction:column; gap:16px; }
#page-contact .cf2x-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:520px){ #page-contact .cf2x-grid2{ grid-template-columns:1fr; } }
#page-contact .cf2x-field{ position:relative; }
#page-contact .cf2x-field input, #page-contact .cf2x-field textarea, #page-contact .cf2x-sel select{
  width:100%; font:inherit; font-family:var(--sans); font-size:15px; color:var(--ink);
  background:var(--paper-warm); border:1px solid var(--rule); border-radius:10px; padding:16px 14px 14px; transition:border-color .2s, box-shadow .2s; }
#page-contact .cf2x-field textarea{ resize:vertical; min-height:104px; }
#page-contact .cf2x-field input:focus, #page-contact .cf2x-field textarea:focus, #page-contact .cf2x-sel select:focus{ outline:none; border-color:var(--pink); box-shadow:0 0 0 3px rgba(255,31,110,.12); }
#page-contact .cf2x-field label{ position:absolute; left:14px; top:15px; font-family:var(--sans); font-size:15px; color:var(--ink-mute); pointer-events:none; transition:.18s; }
#page-contact .cf2x-field label i{ font-style:normal; opacity:.65; font-size:12px; }
#page-contact .cf2x-field input:focus + label, #page-contact .cf2x-field input:not(:placeholder-shown) + label,
#page-contact .cf2x-field textarea:focus + label, #page-contact .cf2x-field textarea:not(:placeholder-shown) + label{
  top:-8px; left:10px; font-size:11px; letter-spacing:.04em; color:var(--pink); background:var(--paper); padding:0 6px; border-radius:4px; }
#page-contact .cf2x-sel{ position:relative; }
#page-contact .cf2x-sel select{ appearance:none; -webkit-appearance:none; cursor:pointer; color:var(--ink-mute); font-weight:500; }
#page-contact .cf2x-sel select.chosen{ color:var(--ink); }
#page-contact .cf2x-caret{ position:absolute; right:16px; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--ink-mute); font-size:12px; }
#page-contact .cf2x-foot{ margin-top:24px; display:flex; flex-direction:column; gap:12px; }
#page-contact .cf2x-send{ font:inherit; cursor:pointer; border:none; background:var(--pink); color:#fff; font-family:var(--mono); font-size:13px; letter-spacing:.12em; text-transform:uppercase; padding:17px 26px; border-radius:100px; display:inline-flex; align-items:center; justify-content:center; gap:10px; transition:.25s; }
#page-contact .cf2x-send:hover:not([disabled]){ background:var(--pink-deep); transform:translateY(-1px); }
#page-contact .cf2x-send[disabled]{ opacity:.5; cursor:wait; }
#page-contact .cf2x-send span{ transition:transform .25s; } #page-contact .cf2x-send:hover:not([disabled]) span{ transform:translateX(5px); }
#page-contact .cf2x-rea{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); text-align:center; }
#page-contact .cf2x-err{ margin-top:14px; font-family:var(--sans); font-size:13px; color:var(--pink-deep); background:rgba(255,31,110,.08); border:1px solid rgba(255,31,110,.25); border-radius:8px; padding:10px 14px; }
#page-contact .cf2x-done{ display:none; text-align:center; padding:20px 8px; }
#page-contact .cf2x-done.on{ display:block; animation:cf2StepIn .5s cubic-bezier(.2,.7,.2,1); }
#page-contact .cf2x-done h3{ font-family:var(--serif); font-weight:300; font-size:clamp(28px,3vw,40px); margin:18px 0 8px; }
#page-contact .cf2x-done h3 em{ font-style:italic; color:var(--pink); }
#page-contact .cf2x-done p{ font-family:var(--sans); font-size:15px; line-height:1.55; color:var(--ink-mute); max-width:46ch; margin:0 auto 22px; }
#page-contact .cf2x-again{ font:inherit; cursor:pointer; background:none; border:1px solid var(--rule); color:var(--ink); font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding:12px 22px; border-radius:100px; transition:.2s; }
#page-contact .cf2x-again:hover{ border-color:var(--ink); }
#page-contact .cf2-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }
@media(max-width:920px){
  #page-contact .cf2x-inner{ grid-template-columns:1fr; gap:30px; }
  #page-contact .cf2x-formwrap{ order:-1; }
  #page-contact .cf2x-aside{ flex-direction:row; flex-wrap:wrap; align-items:center; gap:20px; }
  #page-contact .cf2x-photo{ width:120px; max-width:120px; flex:0 0 auto; }
  #page-contact .cf2x-aside-body{ flex:1; min-width:240px; }
  #page-contact .cf2x-proof{ grid-template-columns:repeat(4,1fr); }
}
@media(max-width:560px){ #page-contact .cf2x-proof{ grid-template-columns:1fr 1fr; } #page-contact .cf2x-photo{ width:96px; } }
@media (prefers-reduced-motion:reduce){ #page-contact .cf2x-done.on{ animation:none; } }


/* ─── next block ─── */


/* ═══ HOMEPAGE — color journey, diagonal bleeds, reveal, parallax ═══ */

/* Section background rhythm (token-based → theme-aware) */
#page-home .home-bg-yellow{ background:var(--yellow); color:#0e0810; --cut:var(--yellow); }
#page-home .home-bg-ink{ background:var(--ink); color:var(--paper); --cut:var(--ink); }
#page-home .home-bg-plum{ background:var(--plum); color:#fff9f5; --cut:var(--plum); }
#page-home .home-bg-royal{ background:var(--royal); color:var(--paper); --cut:var(--royal); }
#page-home .home-bg-warm{ background:var(--paper-warm); --cut:var(--paper-warm); }
#page-home .home-bg-stone{ background:var(--paper-stone); --cut:var(--paper-stone); }
#page-home .home-bg-paper{ background:var(--paper); --cut:var(--paper); }

/* Diagonal "color-bleed" seams — the rich section slants up into the one above */
#page-home .home-cut{ position:relative; overflow:visible; }
#page-home .home-cut > .container{ position:relative; z-index:1; }
#page-home .home-cut::before{ content:""; position:absolute; left:0; right:0; top:-54px; height:56px; background:var(--cut,var(--ink)); clip-path:polygon(0 100%, 100% 0, 100% 100%); z-index:0; pointer-events:none; }
#page-home .home-cut.cut-l::before{ clip-path:polygon(0 0, 100% 100%, 0 100%); }

/* Text flips for the rich beats */
#page-home .home-bg-yellow .stat .n{ color:#0e0810; }
#page-home .home-bg-yellow .stat .l{ color:rgba(14,8,16,.66); }
#page-home .big-insight.home-bg-plum .insight-card{ background:transparent; }
#page-home .home-bg-plum .insight-eyebrow{ color:var(--yellow); }
#page-home .home-bg-plum .insight-quote{ color:#fff9f5; }
#page-home .home-bg-plum .insight-quote-mark{ color:rgba(255,210,63,.5); }
#page-home .home-bg-plum .insight-attr-name{ color:#fff9f5; }
#page-home .home-bg-plum .insight-attr-title{ color:rgba(255,249,245,.7); }
#page-home .home-bg-plum .insight-tagline{ color:rgba(255,249,245,.8); }
#page-home .home-bg-plum .insight-divider{ background:rgba(255,249,245,.22); }
#page-home .iphone-section.home-bg-ink{ background:linear-gradient(180deg, var(--paper-pink) 0%, var(--paper) 100%) !important; --cut:var(--paper); }
#page-home .iphone-section.home-bg-ink .iphone-text .eyebrow{ color:var(--pink) !important; }
#page-home .iphone-section.home-bg-ink .iphone-text h2{ color:var(--ink) !important; }
#page-home .iphone-section.home-bg-ink .iphone-text h2 em{ color:var(--pink) !important; }
#page-home .iphone-section.home-bg-ink .iphone-text p{ color:rgba(14,8,16,.72) !important; }
#page-home .iphone-section.home-bg-ink .iphone-text p em{ color:var(--ink) !important; font-style:italic; }
#page-home .iphone-section.home-bg-ink{ padding:96px 0 110px !important; }
#page-home .iphone-section.home-bg-ink .platform-photo-frame{ max-width:340px !important; background:transparent !important; box-shadow:none !important; border-radius:36px !important; }
#page-home .iphone-section.home-bg-ink .platform-photo-frame:hover{ box-shadow:none !important; transform:translateY(-4px) !important; }
#page-home .iphone-section.home-bg-ink .platform-photo-frame img{ border-radius:36px !important; }
#page-home .tedx-feature-home.home-bg-ink .tedx-feature-header .eyebrow{ color:var(--yellow); }
#page-home .tedx-feature-home.home-bg-ink .tedx-feature-header h2{ color:var(--paper); }
#page-home .tedx-feature-home.home-bg-ink .tedx-feature-header h2 em{ color:var(--yellow); }
#page-home .tedx-feature-home.home-bg-ink .tedx-feature-cta,
#page-home .tedx-feature-home.home-bg-ink .tedx-feature-cta p{ color:rgba(255,249,245,.85); }
#page-home .newsletter.home-bg-plum .newsletter-inner h2{ color:#fff9f5; }
#page-home .newsletter.home-bg-plum .newsletter-inner h2 em{ color:var(--yellow); }
#page-home .newsletter.home-bg-plum .newsletter-inner > p,
#page-home .newsletter.home-bg-plum .newsletter-inner .eyebrow{ color:rgba(255,249,245,.82); }

/* Bigger testimonial photos */
#page-home .quotes-section .q-avatar{ width:74px !important; height:74px !important; border-radius:50%; overflow:hidden; flex:0 0 auto; }
#page-home .quotes-section .q-name{ color:var(--ink) !important; }
#page-home .quotes-section .q-role{ color:color-mix(in srgb, var(--ink) 62%, transparent) !important; }
#page-home .quotes-section .q-avatar img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
#page-home .quotes-section .q-avatar.q-avatar-glyph{ display:flex; align-items:center; justify-content:center; font-size:32px; }

/* Scroll reveal (below-the-fold section content) */
#page-home .hrev{ opacity:0; transform:translateY(28px); transition:opacity .85s cubic-bezier(.2,.7,.2,1), transform .85s cubic-bezier(.2,.7,.2,1); }
#page-home .hrev.in{ opacity:1; transform:none; }
#page-home .hpar{ will-change:transform; }

@media (prefers-reduced-motion:reduce){
  #page-home .hrev{ opacity:1; transform:none; transition:none; }
  #page-home .hpar{ transform:none !important; }
}
@media (max-width:640px){ #page-home .home-cut::before{ top:-32px; height:34px; } }


/* ─── next block ─── */


/* PALETTE RULES v2 — luxe topbar + universal contrast safety (loaded last) */
.topbar{ padding-right:36px; gap:20px; }
.brand-mark{ margin-right:auto; }
.topbar-meta{ display:flex; align-items:center; }
.topbar-meta .live{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--mono); font-size:10px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
  padding:7px 15px; border-radius:100px; text-decoration:none; color:inherit;
  border:1px solid color-mix(in srgb, currentColor 22%, transparent);
  background:color-mix(in srgb, currentColor 7%, transparent);
  transition:background .3s ease, border-color .3s ease, transform .3s ease;
}
.topbar-meta .live::before{
  content:""; width:7px; height:7px; border-radius:50%; flex-shrink:0;
  background:#22c55e; box-shadow:0 0 0 0 rgba(34,197,94,.5);
  animation:tbLivePulse 2.4s ease-in-out infinite;
}
@keyframes tbLivePulse{ 0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.5);} 50%{box-shadow:0 0 0 7px rgba(34,197,94,0);} }
.topbar-meta .live:hover{ transform:translateY(-1px); background:color-mix(in srgb, currentColor 13%, transparent); }
.site-controls{ gap:10px; }
.lang-cycle, .theme-cycle{
  background:color-mix(in srgb, currentColor 8%, transparent);
  border:1px solid color-mix(in srgb, currentColor 24%, transparent);
  color:var(--ink); border-radius:100px; padding:8px 14px; font-weight:700;
  box-shadow:0 1px 0 color-mix(in srgb, currentColor 8%, transparent);
  transition:transform .25s var(--easing), background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.lang-cycle:hover, .theme-cycle:hover{
  transform:translateY(-1px);
  background:color-mix(in srgb, currentColor 16%, transparent);
  border-color:color-mix(in srgb, currentColor 42%, transparent);
  box-shadow:0 6px 16px -6px rgba(0,0,0,.3);
}
.lang-cycle-icon, .theme-cycle-icon{ opacity:1; }
.topbar.dark .lang-cycle, .topbar.dark .theme-cycle{ color:#fff9f5; }
body.theme-midnight .lang-cycle, body.theme-midnight .theme-cycle{ color:#fff9f5; }
body.theme-emerald  .lang-cycle, body.theme-emerald  .theme-cycle{ color:#ffffff; }
body.theme-sunset   .lang-cycle, body.theme-sunset   .theme-cycle{ color:#0a1f3d; }
.topbar-cta{
  display:inline-flex; align-items:center; gap:8px;
  background:#ff1f6e; color:#fff !important;
  font-family:var(--mono); font-size:11px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  padding:10px 20px; border-radius:100px; text-decoration:none; white-space:nowrap;
  box-shadow:0 8px 22px -8px rgba(255,31,110,.7);
  transition:transform .25s var(--easing), box-shadow .25s ease, background .25s ease;
}
.topbar-cta:hover{ transform:translateY(-1px); background:#ff3d82; box-shadow:0 12px 30px -8px rgba(255,31,110,.85); }
.topbar-cta .tcta-arrow{ transition:transform .25s var(--easing); }
.topbar-cta:hover .tcta-arrow{ transform:translateX(4px); }
.btn-pink{ color:#ffffff; }
.btn-yellow{ color:#0e0810; }
.btn-outline-light{ color:#fff9f5; border-color:rgba(255,249,245,.5); }
@media (max-width:720px){
  .topbar-cta{ padding:9px 14px; font-size:10px; letter-spacing:.08em; }
  .topbar-meta{ display:none; }
}


/* ─── next block ─── */


#page-internal{ padding:calc(var(--topbar) + 56px) clamp(24px,5vw,72px) 110px; min-height:100vh; background:var(--paper); }
.ip-wrap{ max-width:1100px; margin:0 auto; }
.ip-head{ border-bottom:1px solid var(--rule); padding-bottom:36px; margin-bottom:48px; }
.ip-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:18px; }
.ip-lock{ font-size:12px; }
.ip-title{ font-family:var(--serif); font-weight:300; font-size:clamp(44px,7vw,92px); line-height:.95; letter-spacing:-.03em; margin:0; color:var(--ink); }
.ip-title em{ font-style:italic; color:var(--pink); }
.ip-lead{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(17px,1.8vw,22px); line-height:1.5; color:var(--ink-soft); max-width:60ch; margin:18px 0 0; }
.ip-folder{ margin-bottom:48px; }
.ip-folder-head{ display:flex; align-items:baseline; gap:14px; margin-bottom:20px; flex-wrap:wrap; }
.ip-folder-name{ font-family:var(--serif); font-size:24px; font-weight:400; color:var(--ink); }
.ip-folder-meta{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); }
.ip-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:18px; }
.ip-card{ display:flex; flex-direction:column; gap:12px; padding:26px 24px; border:1px solid var(--rule); border-radius:16px; background:var(--paper-warm); text-decoration:none; transition:transform .3s var(--easing), box-shadow .3s ease, border-color .3s ease; }
.ip-card:hover{ transform:translateY(-4px); box-shadow:0 20px 44px -22px rgba(14,8,16,.4); border-color:var(--pink); }
.ip-badge{ align-self:flex-start; font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; padding:5px 11px; border-radius:100px; }
.ip-badge-mock{ background:color-mix(in srgb, var(--royal) 16%, transparent); color:var(--royal); }
.ip-badge-archive{ background:color-mix(in srgb, var(--ink) 10%, transparent); color:var(--ink-soft); }
.ip-card-title{ font-family:var(--serif); font-size:21px; font-weight:400; line-height:1.15; letter-spacing:-.01em; margin:0; color:var(--ink); }
.ip-card-desc{ font-family:var(--sans); font-size:14px; line-height:1.55; color:var(--ink-soft); margin:0; flex:1; }
.ip-card-foot{ font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pink); margin-top:4px; }
.ip-folder-empty .ip-empty{ border:1px dashed var(--rule-dark); border-radius:16px; padding:34px; text-align:center; font-family:var(--serif-alt); font-style:italic; color:var(--ink-mute); font-size:16px; }

/* Rail: internal portal link set apart at bottom */
.rail-internal{ margin-top:8px; border-top:1px solid color-mix(in srgb, currentColor 18%, transparent); padding-top:14px !important; }
.rail-internal .name{ color:var(--yellow) !important; }
.rail-internal .num{ font-size:13px; line-height:1; }
/* Rail: Courses II disclosure */
.rail-item-wrap{ position:relative; width:100%; }
.rail-sub-caret{ position:absolute; top:7px; right:7px; width:18px; height:18px; display:flex; align-items:center; justify-content:center; font-size:13px; line-height:1; color:currentColor; opacity:.45; cursor:pointer; border-radius:6px; transition:opacity .2s ease, background .2s ease, transform .3s var(--easing); z-index:3; }
.rail-sub-caret:hover{ opacity:.95; background:color-mix(in srgb, currentColor 14%, transparent); }
.rail-sub-cb:checked ~ .rail-sub-caret{ transform:rotate(180deg); opacity:.95; }
.rail-sub{ max-height:0; overflow:hidden; transition:max-height .35s var(--easing); }
.rail-sub-cb:checked ~ .rail-sub{ max-height:80px; }
.rail-sublink{ display:block; font-family:var(--mono); font-size:8.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; text-align:center; padding:9px 4px; margin-top:2px; color:currentColor; opacity:.72; text-decoration:none; border-radius:8px; transition:opacity .2s ease, background .2s ease; }
.rail-sublink:hover{ opacity:1; background:color-mix(in srgb, currentColor 12%, transparent); }


/* ─── next block ─── */


/* ════════════════ COURSES v2 — funnel ════════════════ */
#page-courses{ background:var(--paper); }
.cv2-wrap{ max-width:1180px; margin:0 auto; padding:0 clamp(24px,5vw,72px); }
.cv2-section-head{ text-align:center; max-width:780px; margin:0 auto 56px; }
.cv2-h2{ font-family:var(--serif); font-weight:300; font-size:clamp(34px,5vw,64px); line-height:1.02; letter-spacing:-.03em; margin:14px 0 0; color:var(--ink); }
.cv2-h2 em{ font-style:italic; color:var(--pink); }
.cv2-section-sub{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(16px,1.6vw,20px); line-height:1.5; color:var(--ink-soft); margin:18px auto 0; max-width:62ch; }

/* HERO */
.cv2-hero{ padding:calc(var(--topbar) + 60px) 0 90px; background:linear-gradient(180deg, var(--paper-warm), var(--paper)); overflow:hidden; }
.cv2-hero-grid{ max-width:1180px; margin:0 auto; padding:0 clamp(24px,5vw,72px); display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,72px); align-items:center; }
.cv2-hero-h1{ font-family:var(--serif); font-weight:300; font-size:clamp(48px,7.5vw,104px); line-height:.92; letter-spacing:-.04em; margin:18px 0 22px; color:var(--ink); }
.cv2-hero-h1 em{ font-style:italic; color:var(--pink); }
.cv2-hero-lead{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(18px,2vw,25px); line-height:1.45; color:var(--ink-soft); max-width:54ch; margin:0 0 30px; }
.cv2-hero-lead em{ color:var(--ink); font-style:italic; }
.cv2-hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:34px; }
.cv2-hero-trust{ display:flex; gap:26px; flex-wrap:wrap; border-top:1px solid var(--rule); padding-top:22px; }
.cv2-hero-trust span{ font-family:var(--sans); font-size:13px; color:var(--ink-mute); }
.cv2-hero-trust b{ font-family:var(--serif); font-style:italic; font-size:22px; color:var(--pink); margin-right:5px; }
.cv2-hero-visual{ position:relative; }
.cv2-hero-frame{ display:block; position:relative; border-radius:20px; overflow:hidden; aspect-ratio:4/3; box-shadow:0 40px 80px -36px rgba(14,8,16,.5); cursor:pointer; }
.cv2-hero-frame img{ width:100%; height:100%; object-fit:cover; object-position:center top; display:block; transition:transform .6s var(--easing); }
.cv2-hero-frame:hover img{ transform:scale(1.04); }
.cv2-hero-glow{ position:absolute; inset:0; background:radial-gradient(circle at 50% 60%, transparent 40%, rgba(14,8,16,.55) 100%); }
.cv2-hero-play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:74px; height:74px; border-radius:50%; background:var(--pink); color:#fff; display:flex; align-items:center; justify-content:center; font-size:24px; padding-left:4px; box-shadow:0 12px 40px -8px rgba(255,31,110,.8); transition:transform .3s var(--easing); }
.cv2-hero-frame:hover .cv2-hero-play{ transform:translate(-50%,-50%) scale(1.1); }
.cv2-hero-playlabel{ position:absolute; bottom:20px; left:0; right:0; text-align:center; font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#fff9f5; }
.cv2-hero-frame-tag{ position:absolute; top:-12px; left:24px; background:var(--yellow); color:#0e0810; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; padding:7px 14px; border-radius:100px; }

/* PATHS */
.cv2-paths{ padding:90px 0; }
.cv2-paths-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.cv2-path{ display:block; text-decoration:none; padding:42px 38px; border:1px solid var(--rule); border-radius:20px; background:var(--paper-warm); transition:transform .3s var(--easing), box-shadow .3s ease, border-color .3s ease; }
.cv2-path:hover{ transform:translateY(-5px); box-shadow:0 28px 56px -28px rgba(14,8,16,.4); border-color:var(--pink); }
.cv2-path-num{ font-family:var(--serif); font-style:italic; font-size:42px; color:var(--pink); line-height:1; margin-bottom:16px; }
.cv2-path h3{ font-family:var(--serif); font-weight:400; font-size:clamp(24px,2.6vw,32px); line-height:1.1; letter-spacing:-.02em; color:var(--ink); margin:0 0 14px; }
.cv2-path p{ font-family:var(--sans); font-size:15.5px; line-height:1.6; color:var(--ink-soft); margin:0 0 22px; }
.cv2-path-go{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pink); }

/* COURSES */
.cv2-courses{ padding:40px 0 90px; }
.cv2-course{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(28px,4vw,60px); align-items:center; padding:46px 0; border-top:1px solid var(--rule); }
.cv2-course-alt{ grid-template-columns:1.15fr .85fr; }
.cv2-course-alt .cv2-course-media{ order:2; }
.cv2-course-media{ position:relative; border-radius:18px; overflow:hidden; aspect-ratio:5/6; box-shadow:0 30px 64px -32px rgba(14,8,16,.45); }
.cv2-course-media img{ width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.cv2-course-badge{ position:absolute; top:18px; left:18px; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:7px 13px; border-radius:100px; color:#fff; }
.cv2-badge-pink{ background:var(--pink); }
.cv2-badge-royal{ background:var(--royal); }
.cv2-course-kicker{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:14px; }
.cv2-course-title{ font-family:var(--serif); font-weight:300; font-size:clamp(38px,5vw,68px); line-height:.98; letter-spacing:-.03em; color:var(--ink); margin:0 0 18px; }
.cv2-course-promise{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(18px,1.9vw,23px); line-height:1.45; color:var(--ink-soft); margin:0 0 26px; }
.cv2-course-promise em{ color:var(--pink); font-style:italic; }
.cv2-out-lab{ font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:12px; }
.cv2-course-outcomes ul{ list-style:none; margin:0 0 26px; padding:0; display:grid; gap:10px; }
.cv2-course-outcomes li{ font-family:var(--sans); font-size:15.5px; line-height:1.5; color:var(--ink); padding-left:26px; position:relative; }
.cv2-course-outcomes li::before{ content:"→"; position:absolute; left:0; color:var(--pink); font-family:var(--serif); font-style:italic; }
.cv2-course-meta{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:26px; }
.cv2-course-meta span{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); background:var(--paper-stone); padding:7px 12px; border-radius:100px; }
.cv2-course-foot{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; border-top:1px solid var(--rule); padding-top:24px; }
.cv2-course-price{ display:flex; flex-direction:column; }
.cv2-amt{ font-family:var(--serif); font-weight:400; font-size:36px; color:var(--ink); line-height:1; }
.cv2-amt-meta{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); margin-top:5px; }
.cv2-course-acts{ display:flex; gap:12px; flex-wrap:wrap; }

/* METHOD (dark) */
.cv2-method{ padding:90px 0; background:var(--ink); }
.cv2-pillars{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.cv2-pillar{ border-top:2px solid var(--yellow); padding-top:22px; }
.cv2-pillar-n{ font-family:var(--mono); font-size:12px; letter-spacing:.16em; color:var(--yellow); }
.cv2-pillar h4{ font-family:var(--serif); font-weight:400; font-size:22px; color:#fff9f5; margin:14px 0 10px; letter-spacing:-.01em; }
.cv2-pillar p{ font-family:var(--sans); font-size:14.5px; line-height:1.6; color:rgba(255,249,245,.72); margin:0; }

/* INSIDE / curriculum */
.cv2-inside{ padding:90px 0; }
.cv2-curric{ max-width:760px; margin:0 auto; border:1px solid var(--rule); border-radius:20px; overflow:hidden; background:var(--paper-warm); }
.cv2-mod{ border-bottom:1px solid var(--rule); }
.cv2-mod-head{ display:flex; align-items:center; gap:16px; padding:20px 26px; }
.cv2-mod-n{ width:30px; height:30px; border-radius:50%; background:var(--yellow); color:#0e0810; font-family:var(--mono); font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cv2-mod-title{ font-family:var(--serif); font-size:18px; color:var(--ink); }
.cv2-mod-sub{ font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); margin-top:2px; }
.cv2-mod-head > div{ flex:1; }
.cv2-mod-free{ font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--forest); background:color-mix(in srgb, var(--forest) 14%, transparent); padding:5px 10px; border-radius:100px; }
.cv2-mod-locked .cv2-mod-head{ opacity:.6; }
.cv2-mod-lessons{ list-style:none; margin:0; padding:0 26px 18px 72px; display:grid; gap:2px; }
.cv2-mod-lessons li{ display:flex; align-items:center; justify-content:space-between; padding:11px 0; border-top:1px solid var(--rule); font-family:var(--sans); font-size:14.5px; color:var(--ink-soft); }
.cv2-lesson-on{ color:var(--ink) !important; font-weight:500; }
.cv2-lesson-play{ color:var(--pink); text-decoration:none; font-size:11px; }
.cv2-lock{ opacity:.4; font-size:12px; }
.cv2-curric-foot{ display:flex; align-items:center; justify-content:space-between; padding:18px 26px; background:var(--paper-stone); }
.cv2-curric-foot span{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); }
.cv2-curric-link{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--pink); text-decoration:none; }

/* PROOF */
.cv2-proof{ padding:90px 0; background:var(--paper-warm); }
.cv2-quote{ max-width:880px; margin:0 auto 56px; text-align:center; }
.cv2-quote blockquote{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(24px,3.2vw,40px); line-height:1.28; letter-spacing:-.02em; color:var(--ink); margin:0 0 28px; }
.cv2-quote figcaption{ display:inline-flex; align-items:center; gap:14px; }
.cv2-quote figcaption img{ width:54px; height:54px; border-radius:50%; object-fit:cover; object-position:center top; }
.cv2-quote figcaption span{ font-family:var(--sans); font-size:13px; color:var(--ink-mute); text-align:left; line-height:1.4; }
.cv2-quote figcaption b{ display:block; font-family:var(--serif); font-size:17px; color:var(--ink); font-weight:500; }
.cv2-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:820px; margin:0 auto; }
.cv2-stat{ text-align:center; }
.cv2-stat-n{ display:block; font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(46px,6vw,80px); line-height:1; color:var(--pink); }
.cv2-stat-l{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); }

/* PRICING */
.cv2-pricing{ padding:90px 0; }
.cv2-price-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch; }
.cv2-price-card{ display:flex; flex-direction:column; padding:38px 32px; border:1px solid var(--rule); border-radius:20px; background:var(--paper); position:relative; }
.cv2-price-featured{ background:var(--ink); border-color:var(--ink); transform:scale(1.03); box-shadow:0 36px 70px -32px rgba(14,8,16,.5); }
.cv2-price-flag{ position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--yellow); color:#0e0810; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:6px 14px; border-radius:100px; }
.cv2-price-name{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:18px; }
.cv2-price-featured .cv2-price-name{ color:var(--yellow); }
.cv2-price-amt{ font-family:var(--serif); font-weight:300; font-size:56px; line-height:1; color:var(--ink); letter-spacing:-.02em; }
.cv2-price-amt span{ font-size:24px; color:var(--ink-mute); }
.cv2-price-amt s{ font-size:20px; }
.cv2-price-featured .cv2-price-amt{ color:#fff9f5; }
.cv2-price-meta{ font-family:var(--sans); font-size:13px; color:var(--ink-mute); margin:10px 0 22px; }
.cv2-price-meta s{ opacity:.7; }
.cv2-price-featured .cv2-price-meta{ color:rgba(255,249,245,.65); }
.cv2-price-feat{ list-style:none; margin:0 0 28px; padding:0; display:grid; gap:11px; flex:1; }
.cv2-price-feat li{ font-family:var(--sans); font-size:14px; line-height:1.45; color:var(--ink-soft); padding-left:24px; position:relative; }
.cv2-price-feat li::before{ content:"✓"; position:absolute; left:0; color:var(--pink); font-weight:700; }
.cv2-price-feat em{ color:var(--ink); font-style:normal; font-weight:600; }
.cv2-price-featured .cv2-price-feat li{ color:rgba(255,249,245,.85); }
.cv2-price-featured .cv2-price-feat li::before{ color:var(--yellow); }
.cv2-price-featured .cv2-price-feat em{ color:#fff9f5; }
.cv2-price-fineprint{ text-align:center; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); margin-top:32px; }

/* FAQ */
.cv2-faq{ padding:90px 0; background:var(--paper-warm); }
.cv2-faq-list{ max-width:780px; margin:0 auto; }
.cv2-faq-item{ border-bottom:1px solid var(--rule); }
.cv2-faq-item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 4px; font-family:var(--serif); font-size:clamp(19px,2.2vw,25px); color:var(--ink); }
.cv2-faq-item summary::-webkit-details-marker{ display:none; }
.cv2-faq-x{ font-family:var(--sans); font-weight:300; font-size:26px; color:var(--pink); transition:transform .3s var(--easing); flex-shrink:0; }
.cv2-faq-item[open] .cv2-faq-x{ transform:rotate(45deg); }
.cv2-faq-item p{ font-family:var(--sans); font-size:15.5px; line-height:1.65; color:var(--ink-soft); margin:0 0 24px; max-width:64ch; }
.cv2-faq-item a{ color:var(--pink); }

/* FINAL CTA */
.cv2-final{ padding:110px clamp(24px,5vw,72px); background:var(--pink); text-align:center; }
.cv2-final-inner{ max-width:820px; margin:0 auto; }
.cv2-final h2{ font-family:var(--serif); font-weight:300; font-size:clamp(38px,5.4vw,72px); line-height:1.02; letter-spacing:-.03em; color:#fff9f5; margin:0 0 18px; }
.cv2-final h2 em{ font-style:italic; color:var(--yellow); }
.cv2-final p{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(17px,1.8vw,22px); color:rgba(255,249,245,.8); margin:0 0 34px; }
.cv2-final-ctas{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ════════════════ COURSE PLAYER (dark, fixed) ════════════════ */
#page-courseplayer{ background:#0c0c12; }
.cp2{ min-height:100vh; padding-top:var(--topbar); color:#e9e6ef; }
.cp2-top{ display:flex; align-items:center; gap:24px; padding:16px clamp(20px,4vw,40px); border-bottom:1px solid rgba(255,255,255,.08); background:#111119; }
.cp2-back{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.6); text-decoration:none; }
.cp2-back:hover{ color:#fff; }
.cp2-top-title{ font-family:var(--serif); font-size:18px; color:#fff; font-weight:500; flex:1; }
.cp2-top-prog{ display:flex; align-items:center; gap:10px; font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:rgba(255,255,255,.55); }
.cp2-prog-bar{ width:90px; height:5px; border-radius:100px; background:rgba(255,255,255,.12); overflow:hidden; }
.cp2-prog-bar span{ display:block; width:8%; height:100%; background:#ffd23f; }
.cp2-body{ display:grid; grid-template-columns:320px 1fr; min-height:calc(100vh - var(--topbar) - 58px); }
.cp2-side{ border-right:1px solid rgba(255,255,255,.08); background:#0f0f17; padding:20px 12px; overflow-y:auto; }
.cp2-side-head{ display:flex; justify-content:space-between; align-items:baseline; font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.45); padding:8px 12px 16px; }
.cp2-mod{ border-radius:10px; margin-bottom:4px; }
.cp2-mod-row{ display:flex; align-items:center; gap:12px; padding:13px 12px; cursor:pointer; border-radius:10px; }
.cp2-mod-row:hover{ background:rgba(255,255,255,.04); }
.cp2-mod-n{ width:26px; height:26px; border-radius:50%; background:rgba(255,210,63,.16); color:#ffd23f; font-family:var(--mono); font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cp2-mod-meta{ flex:1; }
.cp2-mod-meta b{ display:block; font-family:var(--sans); font-size:14px; color:#fff; font-weight:600; }
.cp2-mod-meta span{ font-family:var(--mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.4); }
.cp2-caret{ color:rgba(255,255,255,.4); font-size:12px; transition:transform .3s ease; }
.cp2-mod.open .cp2-caret{ transform:rotate(180deg); }
.cp2-lessons{ display:none; padding:2px 0 10px; }
.cp2-mod.open .cp2-lessons{ display:block; }
.cp2-lesson{ display:flex; align-items:center; gap:10px; padding:11px 12px 11px 22px; font-family:var(--sans); font-size:13.5px; color:rgba(255,255,255,.62); cursor:pointer; border-left:2px solid transparent; }
.cp2-lesson:hover{ color:#fff; background:rgba(255,255,255,.03); }
.cp2-lesson.active{ color:#fff; border-left-color:#ffd23f; background:rgba(255,210,63,.07); }
.cp2-l-ic{ font-size:9px; color:rgba(255,255,255,.45); }
.cp2-lesson.active .cp2-l-ic{ color:#ffd23f; }
.cp2-side-note{ font-family:var(--mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.3); padding:18px 12px 8px; }
.cp2-main{ padding:clamp(20px,3vw,40px); max-width:1000px; }
.cp2-video{ position:relative; aspect-ratio:16/9; border-radius:16px; overflow:hidden; background:#000; }
.cp2-video-poster{ width:100%; height:100%; object-fit:cover; object-position:center 28%; opacity:.5; }
.cp2-video-shade{ position:absolute; inset:0; background:radial-gradient(circle at 50% 50%, transparent 30%, rgba(0,0,0,.7)); }
.cp2-play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:84px; height:84px; border-radius:50%; background:#ffd23f; color:#0e0810; border:none; font-size:28px; padding-left:5px; cursor:pointer; box-shadow:0 16px 50px -10px rgba(255,210,63,.6); transition:transform .3s var(--easing); }
.cp2-play:hover{ transform:translate(-50%,-50%) scale(1.08); }
.cp2-video-cap{ position:absolute; bottom:22px; left:0; right:0; text-align:center; font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.75); }
.cp2-lesson-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin:30px 0 22px; flex-wrap:wrap; }
.cp2-lesson-kick{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#ffd23f; margin-bottom:8px; }
.cp2-lesson-title{ font-family:var(--serif); font-weight:400; font-size:clamp(26px,3.4vw,40px); line-height:1.05; letter-spacing:-.02em; color:#fff; margin:0; }
.cp2-done{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#0e0810; background:#ffd23f; border:none; padding:13px 22px; border-radius:100px; cursor:pointer; white-space:nowrap; transition:transform .25s var(--easing), opacity .25s; }
.cp2-done:hover{ transform:translateY(-1px); }
.cp2-done.is-done{ background:transparent; color:#ffd23f; border:1px solid rgba(255,210,63,.5); }
.cp2-lesson-nav{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:22px 0; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.cp2-navbtn{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.75); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); padding:12px 20px; border-radius:100px; cursor:pointer; }
.cp2-navbtn:hover:not([disabled]){ background:rgba(255,255,255,.12); color:#fff; }
.cp2-navbtn[disabled]{ opacity:.35; cursor:not-allowed; }
.cp2-pdf{ font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:#ffd23f; text-decoration:none; }
.cp2-pdf:hover{ text-decoration:underline; }
.cp2-about{ padding-top:26px; }
.cp2-about-lab{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:12px; }
.cp2-about p{ font-family:var(--sans); font-size:16px; line-height:1.7; color:rgba(255,255,255,.78); margin:0; max-width:70ch; }

/* ════════════════ RESPONSIVE ════════════════ */
@media (max-width:900px){
  .cv2-hero-grid{ grid-template-columns:1fr; }
  .cv2-hero-visual{ order:-1; max-width:440px; }
  .cv2-paths-grid{ grid-template-columns:1fr; }
  .cv2-course, .cv2-course-alt{ grid-template-columns:1fr; }
  .cv2-course-alt .cv2-course-media{ order:0; }
  .cv2-course-media{ max-width:420px; aspect-ratio:4/3; }
  .cv2-pillars{ grid-template-columns:1fr 1fr; }
  .cv2-price-grid{ grid-template-columns:1fr; max-width:440px; margin:0 auto; }
  .cv2-price-featured{ transform:none; }
  .cv2-stats{ grid-template-columns:1fr; gap:32px; }
  .cp2-body{ grid-template-columns:1fr; }
  .cp2-side{ border-right:none; border-bottom:1px solid rgba(255,255,255,.08); max-height:280px; }
}
@media (max-width:560px){
  .cv2-pillars{ grid-template-columns:1fr; }
  .cv2-course-foot{ flex-direction:column; align-items:flex-start; }
}


/* ─── next block ─── */


/* keep dark funnel sections readable in every palette (fixed dark, not flipping --ink) */
#page-courses .cv2-method{ background:#161019 !important; }
#page-courses .cv2-price-featured{ background:#161019 !important; border-color:#161019 !important; }
/* insight quote */
.cv2-insight{ max-width:900px; margin:0 auto 64px; text-align:center; }
.cv2-insight blockquote{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(24px,3.4vw,44px); line-height:1.25; letter-spacing:-.02em; color:#fff9f5; margin:0 0 18px; }
.cv2-insight figcaption{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--yellow); }
.cv2-insight figcaption em{ font-style:normal; }
/* curriculum tabs */
.cv2-curric-tabs{ display:flex; gap:8px; justify-content:center; margin-bottom:28px; flex-wrap:wrap; }
.cv2-ctab{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); background:transparent; border:1px solid var(--rule); padding:12px 22px; border-radius:100px; cursor:pointer; transition:color .25s,background .25s,border-color .25s; }
.cv2-ctab:hover{ color:var(--ink); border-color:var(--ink-soft); }
.cv2-ctab.active{ color:#fff9f5; background:var(--ink); border-color:var(--ink); }
body.theme-midnight .cv2-ctab.active{ color:#0a0a14; }
[data-curric-panel][hidden]{ display:none; }


/* ─── next block ─── */


/* ════════════ BUSINESS SYSTEM AUDIT — lead-magnet quiz ════════════ */
#page-audit{ background:var(--paper); }
.aud{ min-height:100vh; padding:calc(var(--topbar) + 40px) clamp(20px,5vw,40px) 80px; display:flex; flex-direction:column; align-items:center; }
.aud-inner{ width:100%; max-width:720px; margin:auto; }
.aud-progress{ position:fixed; left:0; right:0; bottom:0; height:4px; background:transparent; z-index:60; }
.aud-progress > span{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--pink),var(--yellow)); transition:width .4s var(--easing); }

/* fade between stages */
.aud-stage{ animation:audIn .45s var(--easing); }
@keyframes audIn{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;} }

.aud-eyebrow{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--pink); margin-bottom:18px; display:flex; align-items:center; gap:10px; }
.aud-eyebrow::before{ content:""; width:22px; height:1px; background:var(--pink); }

/* INTRO */
.aud-intro h1{ font-family:var(--serif); font-weight:300; font-size:clamp(38px,6.5vw,72px); line-height:.98; letter-spacing:-.03em; color:var(--ink); margin:0 0 22px; }
.aud-intro h1 em{ font-style:italic; color:var(--pink); }
.aud-intro p{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(18px,2.1vw,24px); line-height:1.45; color:var(--ink-soft); margin:0 0 28px; max-width:56ch; }
.aud-meta{ display:flex; gap:22px; flex-wrap:wrap; margin-bottom:34px; }
.aud-meta span{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); display:flex; align-items:center; gap:7px; }
.aud-meta b{ color:var(--pink); font-family:var(--serif); font-style:italic; font-size:18px; }
.aud-systems{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:36px; }
.aud-systems span{ font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); background:var(--paper-stone); padding:8px 14px; border-radius:100px; }

/* QUESTION */
.aud-qcount{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:18px; }
.aud-qcount b{ color:var(--pink); }
.aud-qsystem{ font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--pink); margin-bottom:14px; }
.aud-q{ font-family:var(--serif); font-weight:400; font-size:clamp(26px,3.6vw,42px); line-height:1.12; letter-spacing:-.02em; color:var(--ink); margin:0 0 38px; }
.aud-scale{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:18px; }
.aud-opt{ display:flex; flex-direction:column; align-items:center; gap:10px; padding:20px 8px; border:1px solid var(--rule); border-radius:14px; background:var(--paper-warm); cursor:pointer; transition:transform .2s var(--easing), border-color .2s, background .2s; }
.aud-opt:hover{ transform:translateY(-3px); border-color:var(--pink); }
.aud-opt.sel{ background:var(--ink); border-color:var(--ink); }
.aud-opt-n{ font-family:var(--serif); font-size:30px; color:var(--ink); line-height:1; }
.aud-opt.sel .aud-opt-n{ color:#fff9f5; }
.aud-opt-l{ font-family:var(--mono); font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-mute); text-align:center; line-height:1.3; }
.aud-opt.sel .aud-opt-l{ color:rgba(255,249,245,.7); }
.aud-scale-ends{ display:flex; justify-content:space-between; font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:34px; }
.aud-nav{ display:flex; justify-content:space-between; align-items:center; gap:14px; }
.aud-back{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); background:none; border:none; cursor:pointer; }
.aud-back:hover{ color:var(--ink); }
.aud-back[disabled]{ opacity:.3; cursor:default; }

/* EMAIL */
.aud-email h2{ font-family:var(--serif); font-weight:300; font-size:clamp(32px,4.6vw,54px); line-height:1.02; letter-spacing:-.025em; color:var(--ink); margin:0 0 16px; }
.aud-email h2 em{ font-style:italic; color:var(--pink); }
.aud-email p{ font-family:var(--sans); font-size:16px; line-height:1.6; color:var(--ink-soft); margin:0 0 30px; max-width:52ch; }
.aud-field{ margin-bottom:16px; }
.aud-field input{ width:100%; font-family:var(--sans); font-size:16px; padding:17px 18px; border:1px solid var(--rule); border-radius:12px; background:var(--paper-warm); color:var(--ink); transition:border-color .2s; }
.aud-field input:focus{ outline:none; border-color:var(--pink); }
.aud-consent{ font-family:var(--sans); font-size:12.5px; color:var(--ink-mute); margin:14px 0 26px; line-height:1.5; }
.aud-err{ color:var(--pink); font-family:var(--mono); font-size:11px; letter-spacing:.04em; margin-top:10px; min-height:14px; }

/* RESULTS */
.aud-res-band{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--pink); margin-bottom:14px; }
.aud-res h2{ font-family:var(--serif); font-weight:300; font-size:clamp(34px,5vw,60px); line-height:1; letter-spacing:-.03em; color:var(--ink); margin:0 0 8px; }
.aud-res-score{ font-family:var(--serif); font-style:italic; color:var(--pink); }
.aud-res-sub{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(17px,1.9vw,22px); color:var(--ink-soft); margin:0 0 34px; }
.aud-bars{ display:grid; gap:14px; margin-bottom:34px; }
.aud-bar-row{ }
.aud-bar-top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:7px; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.aud-bar-name{ color:var(--ink); }
.aud-bar-row.weak .aud-bar-name{ color:var(--pink); font-weight:700; }
.aud-bar-pct{ color:var(--ink-mute); }
.aud-bar-track{ height:12px; border-radius:100px; background:var(--paper-stone); overflow:hidden; }
.aud-bar-fill{ height:100%; border-radius:100px; width:0; background:var(--ink); transition:width 1s var(--easing); }
.aud-bar-row.weak .aud-bar-fill{ background:var(--pink); }
.aud-weak{ border:1px solid var(--rule); border-left:4px solid var(--pink); border-radius:14px; background:var(--paper-warm); padding:26px 28px; margin-bottom:30px; }
.aud-weak-lab{ font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--pink); margin-bottom:10px; }
.aud-weak h3{ font-family:var(--serif); font-weight:400; font-size:26px; letter-spacing:-.01em; color:var(--ink); margin:0 0 12px; }
.aud-weak p{ font-family:var(--sans); font-size:15.5px; line-height:1.6; color:var(--ink-soft); margin:0; }
.aud-res-ctas{ display:flex; gap:12px; flex-wrap:wrap; }
.aud-restart{ display:block; margin:26px auto 0; font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); background:none; border:none; cursor:pointer; }
.aud-restart:hover{ color:var(--ink); }

@media (max-width:560px){
  .aud-scale{ grid-template-columns:repeat(5,1fr); gap:5px; }
  .aud-opt{ padding:14px 2px; }
  .aud-opt-n{ font-size:22px; }
  .aud-opt-l{ display:none; }
}

/* Courses → audit entry banner */
.cv2-auditcta{ padding:20px 0 70px; }
.cv2-auditcta-inner{ display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; padding:36px 40px; border-radius:20px; background:var(--plum); text-decoration:none; transition:transform .3s var(--easing), box-shadow .3s ease; }
.cv2-auditcta-inner:hover{ transform:translateY(-3px); box-shadow:0 26px 54px -26px rgba(91,39,72,.7); }
.cv2-auditcta-eyebrow{ font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--yellow); margin-bottom:10px; }
.cv2-auditcta-inner h3{ font-family:var(--serif); font-weight:400; font-size:clamp(26px,3vw,38px); line-height:1.05; letter-spacing:-.02em; color:#fff9f5; margin:0 0 8px; }
.cv2-auditcta-inner p{ font-family:var(--sans); font-size:15px; line-height:1.5; color:rgba(255,249,245,.82); margin:0; max-width:52ch; }
.cv2-auditcta-inner .btn{ flex-shrink:0; }
@media(max-width:640px){ .cv2-auditcta-inner{ padding:28px 26px; } }


/* ─── next block ─── */


/* refined brand subtitle — gradient lockup tied to the MF mark */
.brand-mark .small{
  font-family:var(--mono); font-size:9.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  margin-left:14px; padding-left:14px; border-left:1px solid var(--rule);
  background:linear-gradient(95deg,var(--pink),var(--yellow));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.topbar.dark .brand-mark .small{ border-color:var(--rule-dark); }
/* MF logo tile on the rail */
.rail-logo-img{ display:block; width:46px; height:46px; object-fit:cover; border-radius:11px; margin:0 auto 2px; }
/* secondary topbar CTA */
.topbar-cta-2{ display:inline-flex; align-items:center; font-family:var(--mono); font-size:11px; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; color:var(--ink); padding:10px 16px; border:1px solid var(--ink);
  border-radius:100px; text-decoration:none; white-space:nowrap; transition:background .25s var(--easing), color .25s var(--easing); }
.topbar-cta-2:hover{ background:var(--ink); color:var(--paper); }
@media (max-width:980px){ .topbar-cta-2{ display:none; } }
/* ── THE SIX DOORS ── */
.six-doors{ padding:clamp(80px,10vw,140px) clamp(20px,5vw,40px); }
.six-doors-head{ text-align:center; max-width:680px; margin:0 auto 60px; }
.six-doors-head h2{ font-family:var(--serif); font-weight:300; font-size:clamp(40px,5.5vw,72px); line-height:1; letter-spacing:-.03em; color:var(--ink); margin:14px 0 18px; }
.six-doors-head h2 em{ font-style:italic; color:var(--pink); }
.six-doors-head p{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(18px,2vw,22px); line-height:1.5; color:var(--ink-soft); margin:0; }
.six-doors-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1180px; margin:0 auto; }
.sixd-card{ position:relative; display:flex; flex-direction:column; padding:38px 32px 30px; border:1px solid var(--rule); border-radius:18px; background:var(--paper); text-decoration:none; overflow:hidden; transition:transform .35s var(--easing), box-shadow .35s ease, border-color .35s ease; }
.sixd-card::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--acc); transform:scaleY(0); transform-origin:top; transition:transform .4s var(--easing); }
.sixd-card:hover{ transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(14,8,16,.45); border-color:var(--acc); }
.sixd-card:hover::before{ transform:scaleY(1); }
.sixd-num{ font-family:var(--serif); font-style:italic; font-size:46px; line-height:1; color:var(--acc); margin-bottom:16px; }
.sixd-card h3{ font-family:var(--serif); font-weight:400; font-size:clamp(22px,2.4vw,27px); line-height:1.12; letter-spacing:-.015em; color:var(--ink); margin:0 0 12px; }
.sixd-card p{ font-family:var(--sans); font-size:15px; line-height:1.6; color:var(--ink-soft); margin:0 0 22px; flex:1; }
.sixd-go{ font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--acc); display:inline-flex; align-items:center; gap:8px; }
.sixd-go span{ display:inline-block; transition:transform .25s var(--easing); }
.sixd-card:hover .sixd-go span{ transform:translateX(4px); }
@media(max-width:900px){ .six-doors-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .six-doors-grid{ grid-template-columns:1fr; } }


/* ─── next block ─── */


/* ── HOME audit entry band ── */
.home-audit{ padding:clamp(40px,6vw,80px) clamp(20px,5vw,40px); }
.home-audit-card{ display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
  padding:clamp(32px,4vw,52px); border-radius:24px; background:var(--ink); text-decoration:none; position:relative; overflow:hidden;
  transition:transform .4s var(--easing), box-shadow .4s ease; }
.home-audit-card::after{ content:""; position:absolute; right:-60px; top:-60px; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, var(--pink), transparent 70%); opacity:.5; pointer-events:none; }
.home-audit-card:hover{ transform:translateY(-4px); box-shadow:0 36px 70px -34px rgba(14,8,16,.7); }
.home-audit-text{ position:relative; max-width:640px; }
.home-audit .eyebrow{ color:var(--yellow); }
.home-audit-card h2{ font-family:var(--serif); font-weight:300; font-size:clamp(30px,4vw,52px); line-height:1.02; letter-spacing:-.025em;
  color:var(--paper); margin:12px 0 14px; }
.home-audit-card p{ font-family:var(--sans); font-size:16px; line-height:1.6; color:rgba(255,249,245,.8); margin:0; }
.ha-go{ position:relative; flex-shrink:0; display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:13px;
  font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); background:var(--yellow); padding:18px 28px; border-radius:100px;
  transition:gap .25s var(--easing); }
.home-audit-card:hover .ha-go{ gap:16px; }
/* count-up stat polish — keep numbers tabular so the tick doesn't jitter width */
.stat .n{ font-variant-numeric:tabular-nums; }
@media(max-width:640px){ .home-audit-card{ flex-direction:column; align-items:flex-start; } }


/* ─── next block ─── */


/* ── language & theme controls: smaller, pink (not grey), furthest right ── */
.lang-cycle, .theme-cycle{
  padding:5px 11px !important; font-size:10px !important; gap:6px !important;
  color:var(--pink) !important;
  background:color-mix(in srgb, var(--pink) 9%, transparent) !important;
  border:1px solid color-mix(in srgb, var(--pink) 30%, transparent) !important;
  box-shadow:none !important;
}
.lang-cycle:hover, .theme-cycle:hover{ background:color-mix(in srgb, var(--pink) 18%, transparent) !important; }
.lang-cycle-label{ font-size:10px !important; }
.lang-cycle-icon, .theme-cycle-icon{ width:13px !important; height:13px !important; }

/* ════════════ HOMEPAGE — fixed bright palette · theme-independent · guaranteed contrast ════════════
   Front door gets its own deliberate identity (royal blue · yellow · hot pink · light pink · black · cream).
   All colors hardcoded so they never flip with the theme button, and no section can lose its text. */

/* remove the diagonal "cut" wedges between sections */
#page-home .home-cut::before, #page-home .home-cut::after{ display:none !important; }
#page-home .home-cut{ overflow:visible !important; }

/* section backgrounds (hardcoded) */
#page-home .home-bg-yellow{ background:#ffd23f !important; color:#0e0810 !important; }
#page-home .home-bg-warm  { background:#fff9f5 !important; color:#0e0810 !important; }
#page-home .home-bg-stone { background:#fff0f5 !important; color:#0e0810 !important; } /* light pink */
#page-home .home-bg-paper { background:#fffdfb !important; color:#0e0810 !important; }
#page-home .home-bg-ink   { background:#0e0810 !important; color:#fff9f5 !important; }
#page-home .home-bg-royal { background:#1e3fc3 !important; color:#fff9f5 !important; }
#page-home .home-bg-plum  { background:#1e3fc3 !important; color:#fff9f5 !important; } /* maroon → royal blue */

/* LIGHT sections — force readable dark text on headings/body */
#page-home .home-bg-yellow :is(h1,h2,h3,h4,h5,p,li,blockquote,figcaption),
#page-home .home-bg-warm   :is(h1,h2,h3,h4,h5,p,li,blockquote,figcaption),
#page-home .home-bg-stone  :is(h1,h2,h3,h4,h5,p,li,blockquote,figcaption),
#page-home .home-bg-paper  :is(h1,h2,h3,h4,h5,p,li,blockquote,figcaption){ color:#0e0810; }
#page-home .home-bg-yellow .stat .n{ color:#0e0810 !important; }
#page-home .home-bg-yellow .stat .l{ color:rgba(14,8,16,.66) !important; }

/* THESIS (big-insight) — royal blue, light text, yellow accents */
#page-home .big-insight.home-bg-plum .insight-card{ background:transparent !important; }
#page-home .home-bg-plum .insight-quote, #page-home .home-bg-plum .insight-attr-name{ color:#fff9f5 !important; }
#page-home .home-bg-plum .insight-attr-title, #page-home .home-bg-plum .insight-tagline{ color:rgba(255,249,245,.8) !important; }
#page-home .home-bg-plum .insight-eyebrow{ color:#ffd23f !important; }
#page-home .home-bg-plum .insight-quote-mark{ color:rgba(255,210,63,.55) !important; }
#page-home .home-bg-plum .insight-divider{ background:rgba(255,249,245,.22) !important; }

/* APP + TEDx (black) — light text, yellow accents */
#page-home .home-bg-ink .iphone-text h2, #page-home .home-bg-ink .tedx-feature-header h2{ color:#fff9f5 !important; }
#page-home .home-bg-ink .iphone-text p{ color:rgba(255,249,245,.85) !important; }
#page-home .home-bg-ink .iphone-text .eyebrow, #page-home .home-bg-ink .tedx-feature-header .eyebrow,
#page-home .home-bg-ink .iphone-text h2 em, #page-home .home-bg-ink .tedx-feature-header h2 em{ color:#ffd23f !important; }

/* PODCAST — was built for a dark bg; give it royal blue so its light text reads */
#page-home .podcast-feature-home{ background:#1e3fc3 !important; color:#fff9f5 !important; }

/* NEWSLETTER — hot pink close */
#page-home .newsletter{ background:#ff1f6e !important; color:#fff9f5 !important; }
#page-home .newsletter .newsletter-inner h2{ color:#fff9f5 !important; }
#page-home .newsletter .newsletter-inner h2 em{ color:#ffd23f !important; }
#page-home .newsletter .newsletter-inner > p, #page-home .newsletter .newsletter-inner .eyebrow{ color:rgba(255,249,245,.9) !important; }

/* AUDIT card — dark feature card on its cream section */
#page-home .home-audit-card{ background:#0e0810 !important; }
#page-home .home-audit-card h2{ color:#fff9f5 !important; }
#page-home .home-audit-card p{ color:rgba(255,249,245,.82) !important; }
#page-home .home-audit .eyebrow{ color:#ffd23f !important; }
#page-home .ha-go{ background:#ffd23f !important; color:#0e0810 !important; }

/* SIX DOORS — white cards, dark text (consistent across themes) */
#page-home .sixd-card{ background:#ffffff !important; }
#page-home .sixd-card h3{ color:#0e0810 !important; }
#page-home .sixd-card p{ color:#2a2a2e !important; }

/* six-doors heading accent stays pink, body dark */
#page-home .six-doors-head h2{ color:#0e0810 !important; }
#page-home .six-doors-head h2 em{ color:var(--pink) !important; }
#page-home .six-doors-head p{ color:#5a5550 !important; }


/* ─── next block ─── */


/* compact one-row book shelf */
.lib-strip{ padding:clamp(52px,7vw,80px) 0 clamp(44px,5vw,64px); }
.lib-strip-head{ padding:0 clamp(20px,5vw,40px); margin-bottom:24px; max-width:760px; }
.lib-strip-title{ font-family:var(--serif); font-weight:300; font-size:clamp(28px,3.4vw,44px); line-height:1.02; letter-spacing:-.025em; color:#0e0810 !important; margin:12px 0 10px; }
.lib-strip-title em{ font-style:italic; color:var(--pink) !important; }
.lib-strip-sub{ font-family:var(--sans); font-size:14.5px; line-height:1.55; color:#5a5550 !important; margin:0; }
.lib-strip-rail{ display:flex; gap:16px; overflow-x:auto; padding:6px clamp(20px,5vw,40px) 14px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
.lib-strip-rail::-webkit-scrollbar{ height:6px; }
.lib-strip-rail::-webkit-scrollbar-thumb{ background:rgba(14,8,16,.18); border-radius:100px; }
.lib-book{ flex:0 0 auto; width:152px; text-decoration:none; display:block; scroll-snap-align:start; }
.lib-book-cover{ display:block; width:152px; height:218px; border-radius:8px; overflow:hidden; background:#e9e2da; box-shadow:0 8px 20px -10px rgba(14,8,16,.42); transition:transform .3s var(--easing), box-shadow .3s ease; }
.lib-book-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.lib-book:hover .lib-book-cover{ transform:translateY(-5px); box-shadow:0 16px 30px -12px rgba(14,8,16,.5); }
.lib-book-title{ display:block; font-family:var(--sans); font-size:12.5px; line-height:1.3; color:#0e0810 !important; margin-top:8px; }

/* slimmer newsletter (the pink area above the footer) */
#page-home .newsletter{ padding-top:clamp(44px,5vw,64px) !important; padding-bottom:clamp(44px,5vw,64px) !important; }


/* ─── next block ─── */


/* ════════════ INTERNAL REVIEW DASHBOARD ════════════ */
#page-internal{ background:var(--paper); }
.dash{ display:grid; grid-template-columns:248px 1fr; min-height:100vh; }
.dash-side{ background:#0e0810; color:#fff9f5; padding:calc(var(--topbar) + 30px) 22px 26px; display:flex; flex-direction:column; gap:6px; position:sticky; top:0; align-self:start; height:100vh; }
.dash-brand{ font-family:var(--serif); font-size:25px; font-weight:400; letter-spacing:-.01em; margin-bottom:8px; }
.dash-brand em{ font-style:italic; color:var(--yellow); }
.dash-brand-sub{ font-family:var(--mono); font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,249,245,.45); margin-bottom:24px; }
.dash-nav{ display:flex; flex-direction:column; gap:3px; }
.dash-nav-item{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 14px; border-radius:10px; border:none; background:transparent; color:rgba(255,249,245,.72); font-family:var(--sans); font-size:14px; font-weight:500; cursor:pointer; text-align:left; transition:background .2s, color .2s; }
.dash-nav-item:hover{ background:rgba(255,249,245,.07); color:#fff9f5; }
.dash-nav-item.active{ background:var(--pink); color:#fff; }
.dash-nav-count{ font-family:var(--mono); font-size:11px; font-weight:700; background:rgba(255,255,255,.14); padding:2px 9px; border-radius:100px; min-width:24px; text-align:center; }
.dash-nav-item.active .dash-nav-count{ background:rgba(255,255,255,.28); }
.dash-side-foot{ margin-top:auto; font-family:var(--mono); font-size:9.5px; line-height:1.5; letter-spacing:.06em; color:rgba(255,249,245,.4); padding-top:24px; }
.dash-main{ padding:calc(var(--topbar) + 38px) clamp(22px,4vw,52px) 70px; }
.dash-eyebrow{ font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--pink); margin-bottom:12px; }
.dash-title{ font-family:var(--serif); font-weight:300; font-size:clamp(34px,5vw,56px); line-height:1; letter-spacing:-.03em; color:var(--ink); margin:0 0 10px; }
.dash-title em{ font-style:italic; color:var(--pink); }
.dash-lead{ font-family:var(--sans); font-size:16px; line-height:1.55; color:var(--ink-soft); margin:0 0 34px; max-width:62ch; }
.dash-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:14px; margin-bottom:40px; }
.dash-stat{ border:1px solid var(--rule); border-radius:14px; padding:20px 22px; background:var(--paper-warm); }
.dash-stat-n{ font-family:var(--serif); font-size:42px; line-height:1; color:var(--ink); }
.dash-stat.s-urgent .dash-stat-n{ color:var(--pink); }
.dash-stat-l{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute); margin-top:8px; }
.dash-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.dash-card{ border:1px solid var(--rule); border-radius:16px; padding:24px 22px; background:var(--paper-warm); display:flex; flex-direction:column; gap:12px; transition:box-shadow .25s, border-color .25s, opacity .25s; }
.dash-card:hover{ box-shadow:0 18px 40px -22px rgba(14,8,16,.4); }
.dash-card.s-completed{ opacity:.6; }
.dash-card.s-urgent{ border-color:var(--pink); }
.dash-card.s-reviewed{ border-color:var(--yellow-deep); }
.dash-card-top{ display:flex; justify-content:space-between; align-items:center; gap:10px; }
.dash-badge{ font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:5px 10px; border-radius:100px; }
.dash-badge.b-ebook{ background:color-mix(in srgb,var(--royal) 15%,transparent); color:var(--royal); }
.dash-badge.b-mockup{ background:color-mix(in srgb,var(--pink) 15%,transparent); color:var(--pink); }
.dash-badge.b-archive{ background:color-mix(in srgb,var(--ink) 10%,transparent); color:var(--ink-soft); }
.dash-status-tag{ font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); }
.dash-card h3{ font-family:var(--serif); font-size:20px; font-weight:400; line-height:1.12; letter-spacing:-.01em; margin:0; color:var(--ink); }
.dash-card p{ font-family:var(--sans); font-size:13.5px; line-height:1.5; color:var(--ink-soft); margin:0; flex:1; }
.dash-open{ font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--pink); text-decoration:none; align-self:flex-start; }
.dash-open:hover{ text-decoration:underline; }
.dash-chips{ display:flex; flex-wrap:wrap; gap:6px; padding-top:12px; border-top:1px solid var(--rule); }
.dash-chip{ font-family:var(--mono); font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:6px 11px; border-radius:100px; border:1px solid var(--rule); background:transparent; color:var(--ink-mute); cursor:pointer; transition:all .18s; }
.dash-chip:hover{ border-color:var(--ink); color:var(--ink); }
.dash-chip.on[data-st="todo"]{ background:var(--royal); border-color:var(--royal); color:#fff; }
.dash-chip.on[data-st="urgent"]{ background:var(--pink); border-color:var(--pink); color:#fff; }
.dash-chip.on[data-st="reviewed"]{ background:var(--yellow); border-color:var(--yellow); color:#0e0810; }
.dash-chip.on[data-st="completed"]{ background:var(--forest); border-color:var(--forest); color:#fff; }
.dash-empty{ font-family:var(--sans); color:var(--ink-mute); font-size:15px; padding:48px 0; }
@media(max-width:820px){
  .dash{ grid-template-columns:1fr; }
  .dash-side{ position:static; height:auto; padding:calc(var(--topbar) + 22px) 18px 22px; }
  .dash-nav{ flex-direction:row; flex-wrap:wrap; }
  .dash-nav-item{ flex:1 1 auto; }
}


/* ─── next block ─── */


/* 1 · widow / orphan control — keep last words from stranding alone */
h1,h2,h3,h4,h5,h6{ text-wrap:balance; }
p,li,blockquote,figcaption,.cv2-hero-lead,.insight-tagline{ text-wrap:pretty; }

/* 2 · Operating Thesis — hide the oversized decorative quote glyphs (looked like a thick yellow half-circle) */
#page-home .big-insight .insight-quote-mark{ display:none !important; }

/* 6 · TEDx feature — force readable light text on the dark home section, all themes */
#page-home .tedx-feature-home p,
#page-home .tedx-feature-home .tedx-feature-header p,
#page-home .tedx-feature-home blockquote{ color:#fff9f5 !important; }

/* 5 · App screenshot — image already includes the phone; drop the editorial frame */
#page-home .platform-photo-frame{ background:none !important; box-shadow:none !important; border:none !important; padding:0 !important; border-radius:0 !important; }
#page-home .platform-photo-frame:hover{ box-shadow:none !important; transform:none !important; }
#page-home .platform-photo-badge{ display:none !important; }
#page-home .platform-photo-frame img{ border-radius:0 !important; box-shadow:none !important; }

/* 3 · Operating Thesis — animated hand-drawn yellow border + sparkles on scroll-in */
#page-home .big-insight .insight-card{ position:relative; }
.iqb-svg{ position:absolute; inset:-12px; width:calc(100% + 24px); height:calc(100% + 24px); overflow:visible; pointer-events:none; z-index:3; opacity:0; transition:opacity .4s ease; }
.iqb-svg.show{ opacity:1; }
.iqb-rect{ fill:none; stroke:var(--yellow); stroke-width:3.5; stroke-linecap:round; filter:url(#iqbRough); }
#page-home .insight-card.iqb-settled{ box-shadow:0 0 0 2px var(--yellow), 0 0 46px -6px rgba(255,210,63,.55); border-radius:18px; transition:box-shadow .7s ease; }
.iqb-spark{ position:absolute; z-index:4; color:var(--yellow); font-size:20px; line-height:1; pointer-events:none; opacity:0; transform:scale(0); text-shadow:0 0 12px rgba(255,210,63,.9); }
.iqb-spark.pop{ animation:iqbSpark 1.15s ease forwards; }
@keyframes iqbSpark{ 0%{opacity:0;transform:scale(0) rotate(0deg)} 30%{opacity:1;transform:scale(1.4) rotate(25deg)} 65%{opacity:.95;transform:scale(1) rotate(12deg)} 100%{opacity:0;transform:scale(.65) rotate(0deg)} }
@media(prefers-reduced-motion:reduce){ .iqb-svg{ display:none; } #page-home .insight-card.iqb-settled{ transition:none; } }


/* ─── next block ─── */


#page-consulting .consulting-hero.chx{ padding:clamp(92px,12vw,156px) clamp(20px,5vw,64px) clamp(56px,7vw,96px); background:linear-gradient(180deg,var(--paper-warm),var(--paper)); border-bottom:1px solid var(--rule); position:relative; overflow:hidden; }
#page-consulting .chx-inner{ max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(36px,5vw,76px); align-items:center; position:relative; z-index:1; }
@media(max-width:900px){ #page-consulting .chx-inner{ grid-template-columns:1fr; gap:40px; } #page-consulting .chx-visual{ order:-1; max-width:420px; } }
#page-consulting .chx-eyebrow{ color:var(--pink); }
#page-consulting .chx-title{ font-family:var(--serif); font-weight:300; font-size:clamp(42px,6.4vw,82px); line-height:1.02; letter-spacing:-.03em; color:var(--ink); margin:14px 0 22px; }
#page-consulting .chx-title em{ font-style:italic; color:var(--pink); }
#page-consulting .chx-lead{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(18px,2vw,24px); line-height:1.5; color:var(--ink-soft); max-width:58ch; margin:0 0 30px; }
#page-consulting .chx-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:38px; }
#page-consulting .chx-scroll{ cursor:pointer; }
#page-consulting .chx-stats{ display:grid; grid-template-columns:repeat(4,auto); gap:clamp(18px,3vw,42px); border-top:1px solid var(--rule); padding-top:26px; }
@media(max-width:560px){ #page-consulting .chx-stats{ grid-template-columns:repeat(2,1fr); gap:24px; } }
#page-consulting .chx-n{ display:block; font-family:var(--serif); font-weight:300; font-size:clamp(34px,4vw,52px); line-height:1; color:var(--ink); letter-spacing:-.02em; }
#page-consulting .chx-n i{ font-style:normal; font-size:.4em; color:var(--pink); font-family:var(--mono); margin-left:2px; }
#page-consulting .chx-l{ display:block; font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute); margin-top:8px; }
#page-consulting .chx-visual{ display:flex; flex-direction:column; gap:16px; }
#page-consulting .chx-portrait{ position:relative; margin:0; border-radius:24px; overflow:hidden; aspect-ratio:4/5; background:linear-gradient(135deg,var(--yellow),var(--yellow-deep)); box-shadow:0 40px 80px -30px rgba(14,8,16,.42); }
#page-consulting .chx-portrait::after{ content:""; position:absolute; inset:0; border:1px solid rgba(14,8,16,.08); border-radius:24px; pointer-events:none; }
#page-consulting .chx-portrait img{ width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
#page-consulting .chx-portrait-ph-glyph{ display:none; margin:0; }
#page-consulting .chx-portrait.chx-portrait-ph{ display:flex; align-items:center; justify-content:center; }
#page-consulting .chx-portrait.chx-portrait-ph .chx-portrait-ph-glyph{ display:block; font-family:var(--serif); font-style:italic; font-size:88px; color:rgba(14,8,16,.5); }
#page-consulting .chx-badge{ font-family:var(--sans); font-size:13px; line-height:1.55; color:var(--ink-soft); background:var(--paper); border:1px solid var(--rule); border-radius:14px; padding:15px 18px; }
#page-consulting .chx-badge-lab{ display:block; font-family:var(--mono); font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--pink); margin-bottom:6px; }


/* ─── next block ─── */


/* ===== Testimonials — brand palette, bigger ringed avatars, compact ===== */
.quotes-section{ padding:clamp(54px,7vw,88px) 0 clamp(56px,7vw,92px) !important; }
.quotes-section .quotes-header{ margin-bottom:30px !important; }
.quotes-section .quote-card{
  flex:0 0 400px; padding:30px 30px 26px; border-radius:22px;
  border:1px solid var(--rule); position:relative; overflow:hidden; --qacc:var(--pink);
}
.quotes-section .quote-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:5px; background:var(--qacc); }
.quotes-section .quote-card:nth-child(6n+1){ --qacc:var(--pink); }
.quotes-section .quote-card:nth-child(6n+2){ --qacc:var(--royal); }
.quotes-section .quote-card:nth-child(6n+3){ --qacc:var(--yellow-deep); }
.quotes-section .quote-card:nth-child(6n+4){ --qacc:var(--pink-bright,#ff4d8d); }
.quotes-section .quote-card:nth-child(6n+5){ --qacc:var(--cyan,#1aa9c4); }
.quotes-section .quote-card:nth-child(6n+6){ --qacc:var(--plum); }
.quotes-section .q-mark{ color:var(--qacc) !important; opacity:.92 !important; font-size:54px !important; top:16px !important; left:26px !important; }
.quotes-section .quote-card .q{
  display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;
  font-size:17.5px !important; line-height:1.45 !important; margin:28px 0 22px !important; color:var(--ink) !important;
}
.quotes-section .quote-card .q em{ color:var(--qacc) !important; }
.quotes-section .q-attr{ padding-top:18px; gap:16px; }
.quotes-section .q-avatar{
  width:70px !important; height:70px !important; font-size:23px !important;
  box-shadow:0 0 0 3px var(--paper-warm), 0 0 0 5px var(--qacc), 0 8px 18px -8px rgba(14,8,16,.4);
  background:linear-gradient(135deg, var(--qacc), color-mix(in srgb, var(--qacc) 58%, #0e0810)) !important;
  transition:transform .4s var(--easing, cubic-bezier(.22,1,.36,1));
}
.quotes-section .quote-card:hover .q-avatar{ transform:scale(1.06) rotate(-2deg); }
.quotes-section .q-avatar-glyph{ background:var(--ink) !important; color:var(--qacc) !important;
  box-shadow:0 0 0 3px var(--paper-warm), 0 0 0 5px var(--qacc) !important; }
.quotes-section .q-name{ font-size:19px !important; font-weight:700 !important; letter-spacing:-.01em; color:var(--ink) !important; }
.quotes-section .q-role{ color:var(--qacc) !important; font-size:10.5px !important; margin-top:4px; }
.quotes-section .quote-card:hover{ transform:translateY(-8px); box-shadow:0 34px 64px -24px rgba(14,8,16,.28); }
@media(max-width:560px){ .quotes-section .quote-card{ flex-basis:300px; } }


/* ─── next block ─── */


.quotes-section .quote-card{ flex-basis:448px !important; padding:30px 32px 26px !important; }
.quotes-section .quote-card .q{ -webkit-line-clamp:unset !important; display:block !important; overflow:visible !important; font-size:16px !important; line-height:1.55 !important; margin:26px 0 20px !important; }
.quotes-section .q-tag{ margin-top:16px; font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--qacc); display:flex; align-items:center; gap:8px; }
.quotes-section .q-tag::before{ content:""; width:16px; height:2px; background:var(--qacc); display:inline-block; flex:0 0 auto; }
@media(max-width:560px){ .quotes-section .quote-card{ flex-basis:320px !important; } }


/* ─── next block ─── */


/* ===== Books — ~38% bigger + side arrows ===== */
.lib-book{ width:210px !important; }
.lib-book-cover{ width:210px !important; height:300px !important; border-radius:10px; }
.lib-book-title{ font-size:14px !important; margin-top:10px; }
.lib-strip-rail{ gap:24px !important; padding-left:clamp(20px,5vw,56px) !important; padding-right:clamp(20px,5vw,56px) !important; scroll-padding-left:clamp(20px,5vw,56px); }
.lib-railwrap{ position:relative; }
.lib-arrow{ position:absolute; top:45%; transform:translateY(-50%); z-index:6; width:50px; height:50px; border-radius:50%; border:1px solid var(--rule); background:rgba(255,255,255,.94); color:#0e0810; font-size:28px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 12px 28px -10px rgba(14,8,16,.5); transition:background .2s, color .2s, transform .2s, box-shadow .2s; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.lib-arrow:hover{ background:var(--pink); color:#fff; transform:translateY(-50%) scale(1.09); box-shadow:0 16px 34px -10px rgba(255,31,110,.5); }
.lib-arrow-prev{ left:8px; }
.lib-arrow-next{ right:8px; }
@media(max-width:600px){ .lib-arrow{ display:none; } .lib-book,.lib-book-cover{ width:168px !important; } .lib-book-cover{ height:240px !important; } }

/* ===== Contact — "other ways" channels (pretty, real) ===== */
#page-contact .cf2-other-v2{ background:var(--paper); padding:clamp(56px,8vw,100px) 0; text-align:center; }
#page-contact .cf2-other-h{ font-family:var(--serif); font-weight:300; font-size:clamp(30px,4.4vw,52px); line-height:1.02; letter-spacing:-.025em; color:var(--ink); margin:6px 0 36px; }
#page-contact .cf2-other-h em{ font-style:italic; color:var(--pink); }
#page-contact .cf2-channels{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:860px; margin:0 auto; }
@media(max-width:680px){ #page-contact .cf2-channels{ grid-template-columns:1fr; } }
#page-contact .cf2-chan{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; padding:26px 24px; border-radius:18px; text-decoration:none; border:1px solid var(--rule); background:var(--paper-warm); transition:transform .3s var(--easing), box-shadow .3s ease, border-color .3s; }
#page-contact .cf2-chan:hover{ transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(14,8,16,.4); }
#page-contact .cf2-chan-ic{ width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:23px; font-weight:700; color:#fff; margin-bottom:8px; font-family:var(--serif); }
#page-contact .chan-mail .cf2-chan-ic{ background:var(--pink); }
#page-contact .chan-mail:hover{ border-color:var(--pink); }
#page-contact .chan-x .cf2-chan-ic{ background:#0e0810; }
#page-contact .chan-x:hover{ border-color:#0e0810; }
#page-contact .chan-li .cf2-chan-ic{ background:var(--royal); font-family:var(--sans); font-size:19px; font-weight:800; }
#page-contact .chan-li:hover{ border-color:var(--royal); }
#page-contact .cf2-chan-t{ font-family:var(--sans); font-size:16px; font-weight:700; color:var(--ink); }
#page-contact .cf2-chan-v{ font-family:var(--mono); font-size:11.5px; letter-spacing:.02em; color:var(--ink-mute); word-break:break-word; }
#page-contact .cf2-route{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; max-width:860px; margin:24px auto 0; }
#page-contact .cf2-route a{ display:flex; flex-direction:column; gap:2px; padding:13px 22px; border-radius:100px; border:1px solid var(--rule); text-decoration:none; transition:border-color .25s, background .25s, transform .25s; }
#page-contact .cf2-route a:hover{ border-color:var(--pink); background:var(--paper-warm); transform:translateY(-3px); }
#page-contact .cf2-route-k{ font-family:var(--mono); font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); }
#page-contact .cf2-route-v{ font-family:var(--serif); font-size:16px; color:var(--ink); }

/* ===== Six Doors — color pop + glow + shine ===== */
.six-doors-grid .sixd-card{ background:#ffffff !important; border-top:4px solid var(--acc) !important; overflow:hidden; }
.six-doors-grid .sixd-card h3{ color:#0e0810 !important; }
.six-doors-grid .sixd-card p{ color:#2a2a2e !important; }
.six-doors-grid .sixd-num{ color:var(--acc) !important; font-size:clamp(32px,3.8vw,48px) !important; font-weight:300 !important; opacity:1 !important; line-height:1; }
.six-doors-grid .sixd-go{ color:var(--acc) !important; font-weight:700; }
.six-doors-grid .sixd-card:hover{ transform:translateY(-10px) !important; border-color:var(--acc) !important; box-shadow:0 32px 64px -26px color-mix(in srgb, var(--acc) 60%, transparent) !important; }
.six-doors-grid .sixd-card::after{ content:""; position:absolute; inset:0; background:radial-gradient(130% 90% at 100% 0%, color-mix(in srgb, var(--acc) 16%, transparent), transparent 58%); opacity:0; transition:opacity .4s ease; pointer-events:none; }
.six-doors-grid .sixd-card:hover::after{ opacity:1; }
.six-doors-grid .sixd-spark{ position:absolute; z-index:3; color:var(--acc); font-size:15px; pointer-events:none; opacity:0; transform:scale(0); text-shadow:0 0 8px color-mix(in srgb, var(--acc) 70%, transparent); }
.six-doors-grid .sixd-spark.pop{ animation:sixdSpark 1s ease forwards; }
@keyframes sixdSpark{ 0%{opacity:0;transform:scale(0) rotate(0)} 35%{opacity:1;transform:scale(1.3) rotate(20deg)} 100%{opacity:0;transform:scale(.6) rotate(0)} }


/* ─── next block ─── */


@property --tang{ syntax:'<angle>'; initial-value:0deg; inherits:false; }
.topics-grid{ display:grid !important; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)) !important; gap:20px !important; }
.topic-card{ position:relative; background:#fff !important; border:1px solid var(--rule); border-radius:20px; padding:32px 30px 28px !important; overflow:hidden; --tacc:var(--pink); transition:transform .35s var(--easing), box-shadow .35s ease, border-color .35s; }
.topic-card::before{ content:""; position:absolute; inset:0; border-radius:20px; padding:2px; background:conic-gradient(from var(--tang), transparent 0deg, var(--tacc) 40deg, #ffffff 72deg, var(--tacc) 110deg, transparent 200deg, var(--tacc) 300deg, transparent 360deg); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:opacity .35s ease; pointer-events:none; }
.topic-card:hover{ transform:translateY(-8px); border-color:transparent; box-shadow:0 30px 64px -28px color-mix(in srgb, var(--tacc) 60%, transparent); }
.topic-card:hover::before{ opacity:1; animation:topicBorder 2.6s linear infinite; }
@keyframes topicBorder{ to{ --tang:360deg; } }
.topic-card .topic-num{ font-family:var(--serif) !important; font-weight:300 !important; font-size:46px !important; line-height:1 !important; color:var(--tacc) !important; margin-bottom:8px !important; opacity:1 !important; }
.topic-card h3{ font-family:var(--serif); font-weight:400; font-size:clamp(20px,2.1vw,25px); line-height:1.14; color:var(--ink) !important; margin:0 0 12px; letter-spacing:-.015em; }
.topic-card > p{ font-family:var(--sans); font-size:14.5px; line-height:1.6; color:var(--ink-soft) !important; margin:0 0 18px; }
.topic-takeaways-wrap{ padding-top:16px; border-top:1px dashed var(--rule); }
.topic-tk-lab{ display:block; font-family:var(--mono); font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--tacc); margin-bottom:10px; }
.topic-takeaways{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.topic-takeaways li{ font-family:var(--sans); font-size:13px; line-height:1.42; color:var(--ink); display:flex; gap:10px; align-items:flex-start; }
.topic-takeaways li::before{ content:"\2726"; color:var(--tacc); font-size:12px; flex:0 0 auto; margin-top:1px; }
.topic-spark{ position:absolute; z-index:4; color:var(--tacc); font-size:15px; pointer-events:none; opacity:0; transform:scale(0); text-shadow:0 0 8px color-mix(in srgb, var(--tacc) 70%, transparent); }
.topic-spark.pop{ animation:sixdSpark 1s ease forwards; }
.spk-cta-band{ background:linear-gradient(135deg, var(--royal), #16277a); color:#fff9f5; padding:clamp(60px,8vw,100px) clamp(20px,5vw,40px); text-align:center; }
.spk-cta-inner{ max-width:720px; margin:0 auto; }
.spk-cta-band .eyebrow{ justify-content:center; display:inline-flex; }
.spk-cta-band h2{ font-family:var(--serif); font-weight:300; font-size:clamp(34px,5vw,60px); line-height:1.02; letter-spacing:-.03em; color:#fff9f5; margin:10px 0 14px; }
.spk-cta-band h2 em{ font-style:italic; color:var(--yellow); }
.spk-cta-band p{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(17px,2vw,22px); color:rgba(255,249,245,.85); margin:0 0 30px; }
.spk-cta-row{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
@media(prefers-reduced-motion:reduce){ .topic-card:hover::before{ animation:none; } .topic-spark{ display:none; } }


/* ─── next block ─── */


/* ===== Two courses — distinct color + sparkling border ===== */
.cv2-courses .cv2-course{ position:relative; border:2px solid var(--cacc); border-radius:24px; overflow:hidden; --cacc:var(--pink); }
.cv2-theme-pink{ background:linear-gradient(135deg, color-mix(in srgb,var(--pink) 8%, var(--paper)), var(--paper)) !important; }
.cv2-theme-royal{ background:linear-gradient(135deg, color-mix(in srgb,var(--royal) 9%, var(--paper)), var(--paper)) !important; }
.cv2-courses .cv2-course::after{ content:""; position:absolute; inset:0; border-radius:24px; padding:2.5px; background:conic-gradient(from var(--tang), transparent 0deg, var(--cacc) 40deg, #fff 72deg, var(--cacc) 110deg, transparent 200deg, var(--cacc) 300deg, transparent 360deg); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:opacity .4s ease; pointer-events:none; z-index:5; }
.cv2-courses .cv2-course:hover::after{ opacity:1; animation:topicBorder 2.8s linear infinite; }
.cv2-courses .cv2-course:hover{ box-shadow:0 36px 72px -34px color-mix(in srgb,var(--cacc) 60%, transparent); }
.cv2-courses .cv2-course-kicker{ color:var(--cacc) !important; font-weight:700; }
.cv2-courses .cv2-amt{ color:var(--cacc) !important; }
.cv2-courses .cv2-course-outcomes ul li::before{ color:var(--cacc) !important; }
.cv2-spark{ position:absolute; z-index:6; color:var(--cacc); font-size:17px; pointer-events:none; opacity:0; transform:scale(0); text-shadow:0 0 9px color-mix(in srgb,var(--cacc) 70%,transparent); }
.cv2-spark.pop{ animation:sixdSpark 1.05s ease forwards; }
/* themed enroll button */
.cv2-enroll{ background:var(--cacc) !important; color:#fff !important; border:none !important; }
.cv2-enroll:hover{ filter:brightness(1.08); transform:translateY(-2px); }

/* ===== Bundle ribbon ===== */
.cv2-bundle{ padding:clamp(36px,5vw,64px) clamp(20px,5vw,40px); }
.cv2-bundle-inner{ max-width:1100px; margin:0 auto; background:linear-gradient(135deg,#0e0810,#1c1426); border-radius:26px; padding:clamp(30px,4vw,52px); display:grid; grid-template-columns:1.4fr .9fr; gap:clamp(24px,3vw,44px); align-items:center; position:relative; overflow:hidden; }
.cv2-bundle-inner::after{ content:""; position:absolute; inset:0; border-radius:26px; padding:2.5px; background:conic-gradient(from var(--tang), transparent 0deg, var(--yellow) 50deg, #fff 80deg, var(--yellow) 120deg, transparent 220deg, var(--yellow) 320deg, transparent 360deg); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.85; pointer-events:none; animation:topicBorder 7s linear infinite; }
@media(max-width:760px){ .cv2-bundle-inner{ grid-template-columns:1fr; text-align:center; } }
.cv2-bundle-kick{ font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--yellow); margin-bottom:12px; }
.cv2-bundle-txt h3{ font-family:var(--serif); font-weight:300; font-size:clamp(26px,3.4vw,42px); line-height:1.06; color:#fff9f5; margin:0 0 12px; letter-spacing:-.02em; }
.cv2-bundle-txt h3 em{ font-style:italic; color:var(--yellow); }
.cv2-bundle-txt p{ font-family:var(--sans); font-size:15px; line-height:1.6; color:rgba(255,249,245,.82); margin:0; }
.cv2-bundle-buy{ text-align:center; position:relative; z-index:1; }
.cv2-bundle-price{ display:flex; flex-direction:column; align-items:center; gap:3px; margin-bottom:16px; }
.cv2-bundle-price s{ font-family:var(--sans); font-size:17px; color:rgba(255,249,245,.5); }
.cv2-bundle-amt{ font-family:var(--serif); font-weight:300; font-size:clamp(44px,6vw,68px); line-height:1; color:var(--yellow); letter-spacing:-.03em; }
.cv2-bundle-save{ font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:var(--pink); padding:4px 12px; border-radius:100px; }
.cv2-bundle-fine{ font-family:var(--mono); font-size:10px; letter-spacing:.08em; color:rgba(255,249,245,.5); margin-top:12px; }

/* ===== Mid-funnel CTA ===== */
.cv2-midcta{ padding:clamp(48px,6vw,84px) clamp(20px,5vw,40px); background:var(--paper-warm); text-align:center; }
.cv2-midcta-inner{ max-width:900px; margin:0 auto; }
.cv2-midcta h3{ font-family:var(--serif); font-weight:300; font-size:clamp(28px,4vw,46px); color:var(--ink); margin:0 0 26px; letter-spacing:-.025em; }
.cv2-midcta h3 em{ font-style:italic; color:var(--pink); }
.cv2-midcta-row{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.cv2-price-flag{ white-space:nowrap; }


/* ─── next block ─── */


.spk-deep{ padding:clamp(60px,8vw,110px) 0; background:linear-gradient(180deg, var(--paper), var(--paper-warm)); }
.spk-deep-sub{ max-width:680px; margin:14px auto 0; text-align:center; font-family:var(--sans); font-size:16px; line-height:1.6; color:var(--ink-soft); }
.spk-acc{ max-width:920px; margin:46px auto 0; display:flex; flex-direction:column; gap:14px; }
.spk-acc-item{ --tacc:var(--pink); position:relative; background:#fff; border:1px solid var(--rule); border-radius:18px; overflow:hidden; transition:border-color .35s, box-shadow .35s; }
.spk-acc-item:hover{ border-color:color-mix(in srgb,var(--tacc) 45%, var(--rule)); }
.spk-acc-item.open{ border-color:transparent; box-shadow:0 26px 60px -30px color-mix(in srgb,var(--tacc) 60%, transparent); }
.spk-acc-item::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--tacc); transform:scaleY(0); transform-origin:top; transition:transform .45s var(--easing); z-index:2; }
.spk-acc-item.open::before{ transform:scaleY(1); }
.spk-acc-head{ width:100%; background:none; border:none; cursor:pointer; display:flex; align-items:center; gap:18px; padding:24px clamp(20px,3vw,32px); text-align:left; font:inherit; }
.spk-acc-num{ font-family:var(--serif); font-weight:300; font-size:clamp(26px,3vw,38px); line-height:1; color:var(--tacc); flex:0 0 auto; transition:transform .35s; }
.spk-acc-item.open .spk-acc-num{ transform:scale(1.12); }
.spk-acc-title{ flex:1; font-family:var(--serif); font-weight:400; font-size:clamp(18px,2.2vw,26px); line-height:1.15; letter-spacing:-.015em; color:var(--ink); transition:color .35s; }
.spk-acc-item.open .spk-acc-title{ color:var(--tacc); }
.spk-acc-chev{ flex:0 0 auto; width:30px; height:30px; border-radius:50%; border:2px solid var(--tacc); position:relative; transition:background .35s, transform .45s var(--easing); }
.spk-acc-chev::before,.spk-acc-chev::after{ content:""; position:absolute; background:var(--tacc); border-radius:2px; top:50%; left:50%; transition:transform .45s var(--easing), background .35s; }
.spk-acc-chev::before{ width:12px; height:2px; transform:translate(-50%,-50%); }
.spk-acc-chev::after{ width:2px; height:12px; transform:translate(-50%,-50%); }
.spk-acc-item.open .spk-acc-chev{ background:var(--tacc); transform:rotate(180deg); }
.spk-acc-item.open .spk-acc-chev::before{ background:#fff; }
.spk-acc-item.open .spk-acc-chev::after{ background:#fff; transform:translate(-50%,-50%) scaleY(0); }
.spk-acc-panel{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s var(--easing); }
.spk-acc-item.open .spk-acc-panel{ grid-template-rows:1fr; }
.spk-acc-clip{ overflow:hidden; }
.spk-acc-inner{ padding:0 clamp(20px,3vw,32px) 34px; background:linear-gradient(180deg, color-mix(in srgb,var(--tacc) 6%, #fff), #fff); }
.spk-acc-blurb{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(18px,2.1vw,23px); line-height:1.5; color:var(--ink); margin:0 0 4px; padding-top:4px; max-width:760px; }
.spk-acc-grid{ display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:24px; padding-top:24px; margin-top:22px; border-top:1px dashed color-mix(in srgb,var(--tacc) 40%, var(--rule)); }
@media(max-width:720px){ .spk-acc-grid{ grid-template-columns:1fr; gap:18px; } }
.spk-acc-lab{ display:block; font-family:var(--mono); font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--tacc); margin-bottom:8px; }
.spk-acc-block p{ font-family:var(--sans); font-size:14px; line-height:1.5; color:var(--ink-soft); margin:0; }
.spk-acc-block-tk ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px; }
.spk-acc-block-tk li{ font-family:var(--sans); font-size:13.5px; line-height:1.4; color:var(--ink); display:flex; gap:9px; }
.spk-acc-block-tk li::before{ content:"\2726"; color:var(--tacc); flex:0 0 auto; }
.spk-acc-cta{ margin-top:28px; background:var(--tacc) !important; color:#fff !important; border:none !important; }
.spk-acc-cta:hover{ filter:brightness(1.08); transform:translateY(-2px); }
.spk-acc-spark{ position:absolute; z-index:6; color:var(--tacc); font-size:16px; pointer-events:none; opacity:0; transform:scale(0); text-shadow:0 0 9px color-mix(in srgb,var(--tacc) 70%,transparent); }
.spk-acc-spark.pop{ animation:sixdSpark 1s ease forwards; }
.topics-grid .topic-card{ cursor:pointer; }
@media(prefers-reduced-motion:reduce){ .spk-acc-spark{ display:none; } .spk-acc-panel{ transition:none; } }


/* ─── next block ─── */


.focus-band{ padding:clamp(56px,8vw,100px) clamp(20px,5vw,40px); text-align:center; position:relative; overflow:hidden; }
.focus-band-inner{ max-width:760px; margin:0 auto; position:relative; z-index:1; }
.fb-eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; margin-bottom:14px; display:inline-flex; align-items:center; gap:10px; }
.fb-eyebrow::before{ content:""; width:18px; height:1px; background:currentColor; display:inline-block; opacity:.7; }
.fb-head{ font-family:var(--serif); font-weight:300; font-size:clamp(32px,5vw,58px); line-height:1.03; letter-spacing:-.03em; margin:0 0 16px; }
.fb-head em{ font-style:italic; }
.fb-sub{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(17px,2vw,22px); line-height:1.42; margin:0 auto 30px; max-width:600px; }
.fb-row{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.fb-royal{ background:linear-gradient(135deg,var(--royal),#16277a); color:#fff9f5; }
.fb-royal .fb-eyebrow,.fb-royal .fb-head em{ color:var(--yellow); }
.fb-royal .fb-sub{ color:rgba(255,249,245,.85); }
.fb-ink{ background:linear-gradient(135deg,#0e0810,#241a2e); color:#fff9f5; }
.fb-ink .fb-eyebrow,.fb-ink .fb-head em{ color:var(--yellow); }
.fb-ink .fb-sub{ color:rgba(255,249,245,.8); }
.fb-pink{ background:linear-gradient(135deg,var(--pink),#d4135a); color:#fff9f5; }
.fb-pink .fb-eyebrow,.fb-pink .fb-head em{ color:var(--yellow); }
.fb-pink .fb-sub{ color:rgba(255,249,245,.92); }
.fb-yellow{ background:linear-gradient(135deg,var(--yellow),#ffc400); color:var(--ink); }
.fb-yellow .fb-eyebrow{ color:var(--plum); }
.fb-yellow .fb-head em{ color:var(--pink); }
.fb-yellow .fb-sub{ color:var(--ink-soft); }
.focus-band::before, .focus-band::after{ content:"\2726"; position:absolute; font-size:22px; opacity:.4; pointer-events:none; animation:fbFloat 4.5s ease-in-out infinite; }
.focus-band::before{ left:8%; top:24%; }
.focus-band::after{ right:9%; bottom:26%; animation-delay:1.6s; }
@keyframes fbFloat{ 0%,100%{ transform:translateY(0) rotate(0deg); opacity:.3; } 50%{ transform:translateY(-10px) rotate(20deg); opacity:.65; } }
@media(prefers-reduced-motion:reduce){ .focus-band::before,.focus-band::after{ animation:none; } }


/* ─── next block ─── */


/* Blue insight band (matches the loved speaking band) */
.cv2-insight-band{ background:linear-gradient(135deg, var(--royal), #16277a); padding:clamp(64px,9vw,120px) clamp(20px,5vw,40px); text-align:center; position:relative; overflow:hidden; }
.cv2-insight-inner{ max-width:860px; margin:0 auto; position:relative; z-index:1; }
.cv2-insight-eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--yellow); margin-bottom:24px; display:inline-flex; align-items:center; gap:10px; }
.cv2-insight-eyebrow::before, .cv2-insight-eyebrow::after{ content:""; width:20px; height:1px; background:var(--yellow); opacity:.7; }
.cv2-insight-q{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(24px,3.4vw,42px); line-height:1.28; letter-spacing:-.02em; color:#fff9f5; margin:0 0 26px; text-wrap:balance; }
.cv2-insight-foot{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(16px,1.9vw,21px); color:var(--yellow); }
.cv2-insight-band::before, .cv2-insight-band::after{ content:"\2726"; position:absolute; font-size:24px; color:var(--yellow); opacity:.4; pointer-events:none; animation:fbFloat 4.5s ease-in-out infinite; }
.cv2-insight-band::before{ left:9%; top:22%; }
.cv2-insight-band::after{ right:10%; bottom:24%; animation-delay:1.6s; }
/* give the black why-it-works section clear breathing room above */
.cv2-method{ padding-top:clamp(70px,9vw,120px) !important; }

/* Audit CTA -> bold blue pop */
.cv2-auditcta-inner{ background:linear-gradient(135deg, var(--royal), #16277a) !important; color:#fff9f5 !important; border-color:transparent !important; }
.cv2-auditcta-inner .cv2-auditcta-eyebrow{ color:var(--yellow) !important; }
.cv2-auditcta-inner h3{ color:#fff9f5 !important; }
.cv2-auditcta-inner p{ color:rgba(255,249,245,.85) !important; }
.cv2-auditcta-inner:hover{ filter:brightness(1.05); }

/* Course boxes — wider inner padding so the border never crowds text + more space between */
.cv2-courses .cv2-course{ padding:clamp(34px,4vw,52px) clamp(30px,4vw,54px) !important; margin-bottom:clamp(34px,4vw,52px) !important; border-radius:26px !important; }
.cv2-courses .cv2-course:last-of-type{ margin-bottom:0 !important; }

/* Widow control on the proof quote (keeps the last line from being two words) */
.cv2-proof .cv2-quote blockquote{ text-wrap:balance; }


/* ─── next block ─── */


/* All six practice areas visible, stacked, each in its own color */
#page-consulting .ces-stage{ display:block !important; height:auto !important; overflow:visible !important; }
#page-consulting .ces-panel{ display:block !important; position:static !important; opacity:1 !important; transform:none !important; visibility:visible !important; border:1px solid var(--rule); border-top:6px solid var(--acc); border-radius:18px; padding:clamp(26px,3.5vw,44px) !important; margin:0 0 28px !important; background:linear-gradient(180deg, color-mix(in srgb,var(--acc) 5%, #fff), #fff); box-shadow:0 18px 46px -34px color-mix(in srgb,var(--acc) 60%, transparent); scroll-margin-top:24px; }
#page-consulting .ces-panel:last-child{ margin-bottom:0 !important; }
#page-consulting .ces-pnum{ color:var(--acc) !important; }
#page-consulting .ces-tag{ background:var(--acc) !important; color:#fff !important; }
#page-consulting .ces-lab{ color:var(--acc) !important; }
#page-consulting .ces-cta{ background:var(--acc) !important; color:#fff !important; border-color:transparent !important; }
#page-consulting .ces-cta:hover{ filter:brightness(1.08); }
/* quick-jump bar: active tab fills with its colour (scroll-spy) */
#page-consulting .ces-tab.active{ background:var(--acc) !important; border-color:var(--acc) !important; }
#page-consulting .ces-tab.active .ct-num, #page-consulting .ces-tab.active .ct-name{ color:#fff !important; }
#page-consulting .ces-tab.active::before{ transform:scaleY(0) !important; }


/* ─── next block ─── */


.lib-publishers{ display:flex; flex-wrap:wrap; gap:14px; margin-top:24px; max-width:760px; }
.lib-pub{ flex:1 1 180px; border:1px solid var(--rule); border-top:3px solid var(--pink); border-radius:12px; padding:14px 16px; background:#fff; }
.lib-pub:nth-child(2){ border-top-color:var(--royal); }
.lib-pub:nth-child(3){ border-top-color:var(--yellow-deep); }
.lib-pub-name{ display:block; font-family:var(--serif); font-weight:500; font-size:17px; color:var(--ink); margin-bottom:4px; letter-spacing:-.01em; }
.lib-pub-note{ display:block; font-family:var(--mono); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-mute); line-height:1.45; }


/* ─── next block ─── */


@keyframes statPop{ 0%{ transform:scale(1); } 30%{ transform:scale(1.18); } 62%{ transform:scale(.97); } 100%{ transform:scale(1); } }
@keyframes statGlow{ 0%,100%{ text-shadow:none; } 45%{ text-shadow:0 0 16px color-mix(in srgb, var(--yellow-deep) 70%, transparent); } }
#page-home .stat-ribbon .stat{ transition:transform .25s ease; will-change:transform; }
#page-home .stat-ribbon .stat.stat-pop{ animation:statPop .72s cubic-bezier(.2,.7,.2,1); }
#page-home .stat-ribbon .stat.stat-pop .n{ animation:statGlow .72s ease; }
#page-home .stat-ribbon .stat:hover{ transform:scale(1.06); }
@media(prefers-reduced-motion:reduce){ #page-home .stat-ribbon .stat.stat-pop, #page-home .stat-ribbon .stat.stat-pop .n{ animation:none; } }


/* ─── next block ─── */


.yt-watch{ padding:clamp(60px,8vw,110px) 0; background:var(--paper-warm); }
.ytw-sub{ max-width:640px; margin:14px auto 0; text-align:center; font-family:var(--sans); font-size:16px; line-height:1.6; color:var(--ink-soft); }
.ytw-layout{ display:grid; grid-template-columns:1.55fr 1fr; gap:28px; align-items:start; margin-top:44px; max-width:1180px; margin-left:auto; margin-right:auto; }
@media(max-width:880px){ .ytw-layout{ grid-template-columns:1fr; } }
.ytw-stage{ position:sticky; top:18px; }
@media(max-width:880px){ .ytw-stage{ position:static; } }
.ytw-player{ position:relative; aspect-ratio:16/9; border-radius:18px; overflow:hidden; box-shadow:0 30px 64px -32px rgba(14,8,16,.5); background:#000; }
.ytw-player iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.ytw-now{ margin-top:16px; display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; }
.ytw-now-title{ font-family:var(--serif); font-weight:400; font-size:clamp(18px,2vw,25px); line-height:1.18; letter-spacing:-.012em; color:var(--ink); }
.ytw-yt-link{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--pink); text-decoration:none; white-space:nowrap; }
.ytw-yt-link:hover{ text-decoration:underline; }
.ytw-list{ max-height:600px; overflow-y:auto; display:flex; flex-direction:column; gap:8px; padding-right:6px; }
.ytw-list::-webkit-scrollbar{ width:7px; } .ytw-list::-webkit-scrollbar-thumb{ background:var(--rule); border-radius:10px; }
.ytw-row{ display:grid; grid-template-columns:128px 1fr; gap:14px; align-items:center; padding:8px; border-radius:12px; cursor:pointer; border:1px solid transparent; transition:background .25s, border-color .25s; text-align:left; background:none; font:inherit; width:100%; }
.ytw-row:hover{ background:#fff; border-color:var(--rule); }
.ytw-row.active{ background:#fff; border-color:var(--pink); box-shadow:0 10px 28px -20px rgba(255,31,110,.6); }
.ytw-thumb{ position:relative; aspect-ratio:16/9; border-radius:8px; overflow:hidden; background:#000; flex:0 0 auto; }
.ytw-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.ytw-thumb::after{ content:"\25B6"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:15px; opacity:0; transition:opacity .25s; text-shadow:0 2px 8px rgba(0,0,0,.7); }
.ytw-row:hover .ytw-thumb::after, .ytw-row.active .ytw-thumb::after{ opacity:1; }
.ytw-dur{ position:absolute; bottom:5px; right:5px; background:rgba(0,0,0,.82); color:#fff; font-family:var(--mono); font-size:10px; padding:2px 5px; border-radius:4px; }
.ytw-meta{ min-width:0; }
.ytw-num{ font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:3px; }
.ytw-rtitle{ font-family:var(--sans); font-size:13.5px; line-height:1.34; color:var(--ink); }
.ytw-row.active .ytw-rtitle{ color:var(--pink); font-weight:600; }
.ytw-row.active .ytw-num{ color:var(--pink); }


/* ─── next block ─── */


.ytw-ph{ height:0; }
.ytw-player.docked{ position:fixed !important; top:clamp(64px,9vh,82px); right:16px; width:min(310px,72vw); margin:0 !important; z-index:300; box-shadow:0 24px 56px -18px rgba(0,0,0,.62); border:2px solid #fff9f5; }
.ytw-dock-close{ position:absolute; top:6px; right:6px; width:27px; height:27px; border-radius:50%; border:none; background:rgba(14,8,16,.82); color:#fff; font-size:17px; line-height:1; cursor:pointer; display:none; z-index:3; align-items:center; justify-content:center; padding:0; }
.ytw-dock-close:hover{ background:var(--pink); }
.ytw-player.docked .ytw-dock-close{ display:flex; }
/* Listen-in-your-app row */
.ytw-listen{ padding:clamp(34px,5vw,54px) 0; background:var(--paper); }
.ytw-listen-inner{ max-width:880px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:22px; flex-wrap:wrap; padding:22px clamp(20px,4vw,34px); border:1px solid var(--rule); border-radius:18px; background:#fff; }
.ytw-listen-txt .eyebrow{ margin-bottom:0; }
.ytw-listen-txt h3{ font-family:var(--serif); font-weight:400; font-size:clamp(22px,2.6vw,30px); margin:8px 0 0; color:var(--ink); letter-spacing:-.02em; }
.ytw-listen-btns{ display:flex; gap:10px; flex-wrap:wrap; }
.ytw-app-btn{ font-family:var(--sans); font-size:13.5px; font-weight:600; padding:11px 18px; border-radius:100px; border:1px solid var(--rule); color:var(--ink); text-decoration:none; transition:background .25s,color .25s,border-color .25s; }
.ytw-app-btn:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }
.ytw-app-follow{ background:var(--pink); color:#fff; border-color:var(--pink); }
.ytw-app-follow:hover{ background:var(--pink-deep,#d4135a); border-color:var(--pink-deep,#d4135a); color:#fff; }


/* ─── next block ─── */


.ep-plat{ display:flex; gap:8px; align-items:center; }
.ep-plat-btn{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; border:1px solid var(--rule); color:var(--ink-soft); transition:transform .2s, background .2s, color .2s, border-color .2s; text-decoration:none; }
.ep-plat-btn:hover{ transform:translateY(-2px); }
.ep-apple:hover{ background:#9933CC; border-color:#9933CC; color:#fff; }
.ep-spotify:hover{ background:#1DB954; border-color:#1DB954; color:#fff; }
.ytw-head{ text-align:center; }
.ytw-head .eyebrow{ display:inline-flex; }
.ytw-head .ytw-sub{ margin:8px auto 0; max-width:560px; }
.yt-watch{ padding-top:clamp(46px,6vw,78px) !important; }
.podcast-opener{ padding-top:clamp(46px,6vw,72px) !important; padding-bottom:clamp(46px,6vw,72px) !important; }


/* ─── next block ─── */


.mfpop{ position:fixed; inset:0; z-index:10500; isolation:isolate; display:flex; align-items:center; justify-content:center; padding:20px; }
.mfpop[hidden]{ display:none !important; }
.mfpop-overlay{ position:absolute; inset:0; z-index:0; background:rgba(14,8,16,.78); opacity:0; transition:opacity .3s ease; }
.mfpop.in .mfpop-overlay{ opacity:1; }
.mfpop-card{ position:relative; z-index:2; width:min(460px,100%); background:var(--paper); border-radius:22px; padding:42px 36px 26px; box-shadow:0 40px 100px -30px rgba(14,8,16,.6); text-align:center; transform:translateY(22px) scale(.97); opacity:0; transition:transform .42s var(--easing), opacity .42s ease; border:1px solid var(--rule); overflow:hidden; }
.mfpop.in .mfpop-card{ transform:none; opacity:1; }
.mfpop-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:6px; background:linear-gradient(90deg,var(--pink),var(--yellow),var(--royal)); }
.mfpop-close{ position:absolute; top:10px; right:12px; width:40px; height:40px; border:none; background:none; font-size:26px; line-height:1; color:var(--ink-mute); cursor:pointer; border-radius:50%; transition:background .2s,color .2s; z-index:3; }
.mfpop-close:hover{ background:var(--paper-warm); color:var(--ink); }
.mfpop-spark{ font-size:24px; color:var(--yellow); margin-bottom:4px; line-height:1; }
.mfpop-eyebrow{ font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--pink); margin-bottom:12px; }
.mfpop-title{ font-family:var(--serif); font-weight:400; font-size:clamp(23px,3.4vw,31px); line-height:1.08; letter-spacing:-.02em; color:var(--ink); margin:0 0 12px; }
.mfpop-sub{ font-family:var(--sans); font-size:15px; line-height:1.55; color:var(--ink-soft); margin:0 0 22px; }
.mfpop-form{ display:flex; flex-direction:column; gap:10px; }
.mfpop-form input{ font-family:var(--sans); font-size:15px; padding:14px 18px; border-radius:100px; border:1.5px solid var(--rule); background:#fff; text-align:center; color:var(--ink); }
.mfpop-form input:focus{ outline:none; border-color:var(--pink); }
.mfpop-form button{ font-family:var(--sans); font-weight:600; font-size:15px; padding:14px 24px; border-radius:100px; border:none; background:var(--pink); color:#fff; cursor:pointer; transition:background .2s, transform .2s; }
.mfpop-form button:hover{ background:var(--pink-deep,#d4135a); transform:translateY(-2px); }
.mfpop-fine{ font-family:var(--mono); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-mute); margin-top:14px; }
.mfpop-no{ display:block; margin:12px auto 0; background:none; border:none; font-family:var(--sans); font-size:12.5px; color:var(--ink-mute); cursor:pointer; text-decoration:underline; }
.mfpop-success{ padding:12px 0; }
.mfpop-check{ width:54px; height:54px; border-radius:50%; background:var(--forest); color:#fff; font-size:28px; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.mfpop-success-t{ font-family:var(--serif); font-size:26px; color:var(--ink); margin-bottom:8px; }
.mfpop-success-s{ font-family:var(--sans); font-size:14px; color:var(--ink-soft); }
@media(prefers-reduced-motion:reduce){ .mfpop-card,.mfpop-overlay{ transition:opacity .2s ease; } }


/* ─── next block ─── */


#page-contact .cf2x-hero{ background:linear-gradient(155deg, var(--royal), #14236b) !important; }
#page-contact .cf2-orb.a{ background:radial-gradient(circle at 35% 35%, rgba(255,210,63,.32), transparent 68%) !important; }
#page-contact .cf2-orb.b{ background:radial-gradient(circle at 50% 50%, rgba(255,31,110,.28), transparent 70%) !important; }
/* centred masthead on top */
#page-contact .cf2x-masthead{ position:relative; max-width:920px; margin:0 auto clamp(30px,4vw,52px); text-align:center; }
#page-contact .cf2x-masthead .cf2-kick{ color:var(--yellow) !important; display:inline-flex; justify-content:center; }
#page-contact .cf2x-masthead h1{ font-family:var(--serif); font-weight:300; font-size:clamp(40px,6.4vw,82px) !important; line-height:.95; letter-spacing:-.03em; margin:14px 0 0 !important; color:#fff9f5 !important; }
#page-contact .cf2x-masthead h1 em{ font-style:italic; color:var(--yellow) !important; }
#page-contact .cf2x-masthead .cf2x-dek{ color:rgba(255,249,245,.84) !important; font-size:clamp(16px,1.7vw,20px) !important; max-width:48ch; margin:16px auto 0 !important; text-align:center; }
/* big Marnie character */
#page-contact .cf2x-inner{ grid-template-columns:.84fr 1.16fr !important; align-items:start !important; }
#page-contact .cf2x-aside{ position:sticky; top:24px; }
#page-contact .cf2x-photo{ max-width:none !important; width:100% !important; aspect-ratio:3/4 !important; border-radius:12px !important; box-shadow:0 54px 120px -22px rgba(0,0,0,.62) !important; }
#page-contact .cf2x-photo img{ filter:none !important; }
/* prominent form card */
#page-contact .cf2x-formwrap{ padding:clamp(30px,3.4vw,52px) !important; border-radius:20px !important; box-shadow:0 54px 130px -34px rgba(0,0,0,.58) !important; }
@media(max-width:820px){
  #page-contact .cf2x-masthead h1{ font-size:clamp(36px,9vw,56px) !important; }
  #page-contact .cf2x-photo{ width:160px !important; max-width:160px !important; aspect-ratio:4/5 !important; }
}


/* ─── next block ─── */


/* Inspiring callout — two exits -> helping others */
#page-home .home-callout{ background:linear-gradient(150deg, #1e3fc3, #15246e) !important; padding:clamp(72px,9vw,124px) clamp(20px,5vw,40px) !important; text-align:center; position:relative; overflow:hidden; }
#page-home .home-callout-inner{ max-width:880px; margin:0 auto; position:relative; z-index:1; }
#page-home .home-callout-eye{ color:#ffd23f !important; display:inline-flex; justify-content:center; }
#page-home .home-callout-h{ font-family:var(--serif); font-weight:300; font-size:clamp(34px,5.4vw,66px); line-height:1.02; letter-spacing:-.03em; color:#fff9f5 !important; margin:14px 0 18px; }
#page-home .home-callout-h em{ font-style:italic; color:#ffd23f !important; }
#page-home .home-callout-p{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(17px,2vw,22px); line-height:1.46; color:rgba(255,249,245,.88) !important; margin:0 auto 28px; max-width:640px; }
#page-home .home-callout::before, #page-home .home-callout::after{ content:"\2726"; position:absolute; color:#ffd23f; opacity:.4; font-size:24px; animation:fbFloat 4.5s ease-in-out infinite; }
#page-home .home-callout::before{ left:9%; top:22%; } #page-home .home-callout::after{ right:10%; bottom:24%; animation-delay:1.6s; }

/* Podcast feature -> bold blue + white/yellow for contrast */
#page-home .podcast-feature-home{ background:linear-gradient(160deg, #1e3fc3, #16277a) !important; }
#page-home .phf-headline{ color:#fff9f5 !important; }
#page-home .phf-headline em{ color:#ffd23f !important; }
#page-home .phf-body{ color:rgba(255,249,245,.88) !important; }
#page-home .phf-eyebrow span{ color:#ffd23f !important; }
#page-home .phf-eyebrow-rule{ background:#ffd23f !important; }
#page-home .phf-featured-ep{ background:rgba(255,249,245,.08) !important; border-color:rgba(255,249,245,.22) !important; }
#page-home .phf-featured-ep, #page-home .phf-featured-ep *{ color:#fff9f5 !important; }

/* Books -> pink pop with blue title */
#page-home .lib-strip{ background:linear-gradient(180deg, #ffe4ee, #fff2f7) !important; }
#page-home .lib-strip .eyebrow{ color:#ff1f6e !important; }
#page-home .lib-strip-title{ color:#1e3fc3 !important; }
#page-home .lib-strip-title em{ color:#ff1f6e !important; }
#page-home .lib-strip-sub{ color:#2a2a2e !important; }


/* ─── next block ─── */


.opbubbles-hint{ text-align:center; font-family:var(--mono); font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); margin:0 0 16px; }
.opbubbles{ position:relative; width:100%; max-width:1000px; height:clamp(380px,52vw,520px); margin:0 auto; border-radius:26px; overflow:hidden; touch-action:none; background:radial-gradient(120% 100% at 50% 0%, rgba(30,63,195,.045), transparent 62%); }
.opbubble{ position:absolute; top:0; left:0; border-radius:50%; display:flex; align-items:center; justify-content:center; text-align:center; cursor:grab; user-select:none; -webkit-user-select:none; touch-action:none; will-change:transform; background:radial-gradient(circle at 33% 27%, rgba(255,255,255,.62), rgba(255,255,255,.08) 44%, var(--bcol) 100%); box-shadow: inset 0 -10px 22px rgba(0,0,0,.22), inset 0 10px 20px rgba(255,255,255,.45), 0 16px 42px -10px var(--bglow); }
.opbubble:active{ cursor:grabbing; }
.opbubble::before{ content:""; position:absolute; top:13%; left:21%; width:30%; height:21%; border-radius:50%; background:radial-gradient(circle, rgba(255,255,255,.92), transparent 72%); filter:blur(1px); pointer-events:none; }
.opbubble::after{ content:""; position:absolute; inset:0; border-radius:50%; background:linear-gradient(130deg, transparent 42%, rgba(255,255,255,.3) 50%, transparent 58%); background-size:300% 300%; animation:opSheen 5.5s linear infinite; pointer-events:none; }
@keyframes opSheen{ 0%{ background-position:130% 130% } 100%{ background-position:-70% -70% } }
.opbubble span{ position:relative; z-index:2; padding:0 12px; font-family:var(--sans); font-weight:600; color:var(--btxt,#fff); font-size:clamp(11px,1.25vw,14.5px); line-height:1.13; letter-spacing:-.01em; text-shadow:0 1px 4px rgba(0,0,0,.38); pointer-events:none; }


/* ─── next block ─── */


/* ── CONTRAST AUDIT · pass 1 ──
   Only MIDNIGHT (the dark theme) breaks the bold bands: --royal flips to light
   purple and --ink/--yellow flip light. Emerald & sunset stay readable (royal->
   green/blue, ink stays dark). So all fixes below are midnight-scoped. */

/* Royal-accent section bands: darken to deep purple->navy, force white text */
body.theme-midnight .spk-cta-band,
body.theme-midnight .fb-royal,
body.theme-midnight .cv2-insight-band,
body.theme-midnight .cv2-auditcta-inner,
body.theme-midnight #page-contact .cf2x-hero{
  background:linear-gradient(135deg,#3a1d8f,#15235f) !important; color:#fff9f5 !important;
}
body.theme-midnight .fb-royal .fb-sub,
body.theme-midnight .cv2-insight-band :is(.cv2-insight-quote,p,blockquote),
body.theme-midnight #page-contact .cf2x-hero :is(h1,h2,p){ color:rgba(255,249,245,.92) !important; }
body.theme-midnight .fb-royal .fb-eyebrow, body.theme-midnight .fb-royal .fb-head em,
body.theme-midnight .cv2-insight-band em{ color:#00e5ff !important; }

/* Yellow full-band: --ink flips light -> force dark text back */
body.theme-midnight .fb-yellow,
body.theme-midnight .fb-yellow .fb-head,
body.theme-midnight .fb-yellow .fb-head em,
body.theme-midnight .fb-yellow .fb-sub{ color:#161009 !important; }
body.theme-midnight .fb-yellow .fb-eyebrow{ color:#3a1d6e !important; }

/* Yellow buttons become electric cyan in midnight -> dark text reads */
body.theme-midnight .btn.yellow,
body.theme-midnight .btn-yellow,
body.theme-midnight .btn.btn-yellow{ color:#0a0a14 !important; }


/* ─── next block ─── */


/* These recent cards hardcode a white surface but use token text, which flips light
   and vanishes in midnight. Give them a dark surface in midnight so the existing
   light text + bright accents read naturally (and they finally look at home in the dark theme). */
body.theme-midnight .topic-card,
body.theme-midnight .spk-acc-item,
body.theme-midnight .ytw-listen-inner{ background:#15151f !important; border-color:rgba(255,249,245,.14) !important; }
body.theme-midnight #page-consulting .ces-panel{ background:linear-gradient(180deg, color-mix(in srgb,var(--acc) 14%, #15151f), #15151f) !important; border-color:rgba(255,249,245,.12) !important; }
/* podcast watch rows: white hover/active -> subtle light highlight on dark */
body.theme-midnight .ytw-row:hover,
body.theme-midnight .ytw-row.active{ background:rgba(255,249,245,.09) !important; }


/* ─── next block ─── */


/* Contrast pass 2 — content/press cards keep their white surface in midnight (so
   logos & photos still read) but their token text flips light; force it dark. */
body.theme-midnight :is(.ep-card,.foundation-card,.press-card,.press-card-v2,.lib-pub) :is(h1,h2,h3,h4,h5,p,li,blockquote,figcaption){ color:#1f1a24 !important; }
/* .case-card manages its own per-accent text color (pink/yellow=ink, blue=cream, hover=cream) */
body.theme-midnight .case-card :is(h1,h2,h3,h4,h5,p,li,blockquote,figcaption,cite,span,em){ color:inherit !important; }
body.theme-midnight .case-card[data-case-accent="blue"] :is(.case-card-headline,.case-card-lead,.case-card-org,.case-card-num,.case-card-quote p,.case-card-quote cite,.ccm-num,.ccm-lbl,.ccq-mark){ color:#fff9f5 !important; }
body.theme-midnight .case-card:hover :is(.case-card-headline,.case-card-lead,.case-card-org,.case-card-quote p,.case-card-quote cite,.ccm-num,.ccm-lbl){ color:#fff9f5 !important; }
body.theme-midnight .lib-pub :is(.lib-pub-name,p,span,small){ color:#1f1a24 !important; }


/* ─── next block ─── */


.xsell-section{ padding:clamp(72px,9vw,120px) clamp(20px,5vw,40px); background:var(--paper-warm); }
.xsell-head{ text-align:center; max-width:680px; margin:0 auto 52px; }
.xsell-h{ font-family:var(--serif); font-weight:300; font-size:clamp(34px,5vw,60px); line-height:1.02; letter-spacing:-.03em; color:var(--ink); margin:12px 0 14px; }
.xsell-h em{ font-style:italic; color:var(--pink); }
.xsell-sub{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(17px,2vw,21px); color:var(--ink-soft); margin:0; }
.xsell-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; max-width:1080px; margin:0 auto; }
.xsell-box{ position:relative; overflow:hidden; border:2px solid var(--xacc); border-radius:22px; padding:36px 30px 30px; background:var(--paper); text-decoration:none; display:flex; flex-direction:column; transition:transform .4s var(--easing), box-shadow .4s ease; }
.xsell-box::before{ content:""; position:absolute; top:-42%; right:-32%; width:62%; height:62%; border-radius:50%; background:radial-gradient(circle, color-mix(in srgb,var(--xacc) 20%, transparent), transparent 70%); opacity:0; transition:opacity .45s ease; pointer-events:none; }
.xsell-box:hover{ transform:translateY(-9px); box-shadow:0 32px 64px -30px color-mix(in srgb,var(--xacc) 62%, transparent); }
.xsell-box:hover::before{ opacity:1; }
.xsell-num{ font-family:var(--serif); font-style:italic; font-weight:300; font-size:46px; line-height:1; color:var(--xacc); margin-bottom:14px; }
.xsell-kicker{ font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:10px; }
.xsell-title{ font-family:var(--serif); font-weight:400; font-size:clamp(24px,2.6vw,30px); line-height:1.08; letter-spacing:-.02em; color:var(--ink); margin:0 0 12px; }
.xsell-desc{ font-family:var(--sans); font-size:15px; line-height:1.6; color:var(--ink-soft); margin:0 0 22px; flex:1; }
.xsell-cta{ font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:var(--xacc); display:inline-flex; align-items:center; gap:8px; }
.xsell-cta span{ transition:transform .3s ease; }
.xsell-box:hover .xsell-cta span{ transform:translateX(6px); }


/* ─── next block ─── */


#page-home .women-lead{ background:linear-gradient(160deg,#5b2748,#37172c) !important; padding:clamp(80px,10vw,140px) clamp(20px,5vw,40px) !important; position:relative; overflow:hidden; }
.wl-inner{ max-width:1040px; margin:0 auto; position:relative; z-index:1; }
.wl-head{ text-align:center; max-width:800px; margin:0 auto 50px; }
.wl-eye{ color:#ffd23f !important; justify-content:center; display:inline-flex; }
.wl-h{ font-family:var(--serif); font-weight:300; font-size:clamp(34px,5.4vw,66px); line-height:1.03; letter-spacing:-.03em; color:#fff9f5 !important; margin:14px 0 18px; }
.wl-h em{ font-style:italic; color:#ff8fb4 !important; }
.wl-sub{ font-family:var(--serif-alt); font-style:italic; font-size:clamp(18px,2.1vw,23px); line-height:1.45; color:rgba(255,249,245,.86) !important; margin:0; }
.wl-arc{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin:0 0 46px; }
.wl-step{ border:1px solid rgba(255,249,245,.18); border-radius:16px; padding:22px 20px; background:rgba(255,249,245,.04); }
.wl-step-k{ display:block; font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#ffd23f; margin-bottom:8px; }
.wl-step-v{ display:block; font-family:var(--serif); font-size:clamp(16px,1.8vw,20px); line-height:1.2; color:#fff9f5; }
.wl-talks{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin:0 0 42px; }
.wl-talk{ display:block; border:1px solid rgba(255,249,245,.2); border-radius:18px; padding:28px 26px; text-decoration:none; background:rgba(255,249,245,.05); transition:transform .35s var(--easing), background .35s ease, border-color .35s ease; }
.wl-talk:hover{ transform:translateY(-6px); background:rgba(255,249,245,.09); border-color:#ff8fb4; }
.wl-talk-t{ display:block; font-family:var(--serif); font-size:clamp(21px,2.3vw,27px); color:#fff9f5; margin-bottom:8px; letter-spacing:-.015em; }
.wl-talk-d{ display:block; font-family:var(--serif-alt); font-style:italic; font-size:16px; color:rgba(255,249,245,.8); line-height:1.4; margin-bottom:16px; }
.wl-talk-go{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#ffd23f; font-weight:700; }
.wl-cta-wrap{ text-align:center; }
.women-lead::before, .women-lead::after{ content:"\2726"; position:absolute; opacity:.34; font-size:23px; pointer-events:none; animation:fbFloat 4.5s ease-in-out infinite; }
.women-lead::before{ left:8%; top:15%; color:#ffd23f; }
.women-lead::after{ right:9%; bottom:17%; color:#ff8fb4; animation-delay:1.6s; }

/* ════════════════════════════════════════════════════════════
   CURSOR RESTORATION — re-enable native OS cursor everywhere.
   Override all `cursor:none` declarations site-wide and hide the
   custom cursor/sparkle elements. Keeps `pointer` on links/buttons
   via the browser default; preserves `grab`/`grabbing` where set.
   ════════════════════════════════════════════════════════════ */
html, body, * { cursor: auto !important; }
a, button, [role="button"], summary, label[for],
.btn, .rail-link, .lane-card, .service-card, .pricing-tier,
.gallery-book, .qnav, .theme-cycle, .lang-cycle, .video-poster,
input[type="submit"], input[type="button"], select { cursor: pointer !important; }
input[type="text"], input[type="email"], input[type="search"],
input[type="url"], input[type="tel"], input[type="number"],
input[type="password"], textarea { cursor: text !important; }
[class*="grab"], .press-timeline-track, .book-stack-wrap { cursor: grab !important; }
.press-timeline-track:active, .book-stack-wrap:active { cursor: grabbing !important; }
.cursor, .cursor-dot, .cursor-ring, .cursor-core, .cursor-sparkles { display: none !important; }

/* ── Speaker Kit reveal + photo download gallery ── */
.spk-kit-reveal{border-top:1px solid rgba(14,8,16,.12);border-bottom:1px solid rgba(14,8,16,.12);padding:0;margin:0}
.spk-kit-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:24px;padding:36px 0;font-family:'Inter Tight',system-ui,sans-serif}
.spk-kit-summary::-webkit-details-marker{display:none}
.spk-kit-sum-eye{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#ff1f6e;font-weight:700;flex-shrink:0}
.spk-kit-sum-h{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(22px,3vw,32px);letter-spacing:-.01em;color:#0e0810;flex:1;line-height:1.2}
.spk-kit-sum-h em{color:#ff1f6e;font-style:italic}
.spk-kit-sum-chev{font-family:'Fraunces',serif;font-size:34px;font-weight:300;color:#0e0810;width:48px;height:48px;border-radius:50%;border:1px solid #0e0810;display:grid;place-items:center;transition:transform .3s ease,background .2s}
.spk-kit-reveal[open] .spk-kit-sum-chev{transform:rotate(45deg);background:#ff1f6e;color:#fff;border-color:#ff1f6e}
.spk-kit-body{padding:8px 0 56px;animation:spkKitFade .35s ease}
@keyframes spkKitFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.spk-kit-intro,.spk-kit-foot{font-size:16px;line-height:1.6;color:#3d2e32;max-width:720px;margin:0 0 28px}
.spk-kit-foot{margin:28px 0 0}
.spk-kit-intro a,.spk-kit-foot a{color:#ff1f6e;text-decoration:underline;text-underline-offset:3px}
.spk-kit-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.spk-kit-shot{position:relative;display:block;overflow:hidden;border-radius:12px;background:#0e0810;aspect-ratio:3/4;text-decoration:none;color:#fff9f5;box-shadow:0 8px 28px rgba(14,8,16,.12)}
.spk-kit-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,opacity .3s}
.spk-kit-shot:hover img{transform:scale(1.05);opacity:.85}
.spk-kit-cap{position:absolute;left:0;right:0;bottom:0;padding:14px 14px 12px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;background:linear-gradient(180deg,transparent,rgba(14,8,16,.85));display:flex;flex-direction:column;gap:6px}
.spk-kit-dl{color:#ff8db5;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}
.spk-kit-shot:hover .spk-kit-dl{opacity:1;transform:none}
@media (max-width:640px){.spk-kit-summary{flex-wrap:wrap;gap:12px;padding:28px 0}.spk-kit-sum-chev{margin-left:auto}.spk-kit-gallery{grid-template-columns:repeat(2,1fr);gap:12px}}

/* ════════════════════════════════════════════════════════════
   POLISH PASS — quote marks, op-tile contrast, impact hero,
   footer credit, eyebrow kicker hierarchy swap
   ════════════════════════════════════════════════════════════ */

/* Quote marks — opening inline with first line, closing inline with last line.
   Cards already have position:relative; override overflow so closing quote
   isn't clipped, then pad text to clear the opening glyph. */
.quotes-section .quote-card{ overflow:visible !important; }
.quotes-section .q-mark{
  top:24px !important; left:22px !important;
  font-size:60px !important; line-height:1 !important;
  transform:translateY(-6px);
}
/* Closing quote sits inline at the end of the last line of text,
   mirroring the opening glyph distance from the corner. */
.quotes-section .quote-card::after{ content:none; }
.quotes-section .quote-card .q::after{
  content:"\00A0\201D";
  font-family:var(--serif); font-style:italic;
  color:var(--qacc, var(--pink));
  font-variation-settings:"SOFT" 100,"WONK" 1;
  white-space:nowrap;
}
.quotes-section .quote-card .q{ padding-left:34px; padding-right:18px; }

/* Operators-we-work-with cards — description was invisible muted gray.
   Inline style sets color:var(--muted); override with !important. */
.op-tile p{
  color:color-mix(in oklab, var(--ink) 78%, transparent) !important;
}

/* Impact hero — orange→yellow gradient title */
.impact-hero-title{
  background:linear-gradient(95deg, #ff8a3d 0%, #ffb84d 40%, #ffd13f 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.impact-hero-title em{
  background:linear-gradient(95deg, #ffb84d 0%, #ffd13f 60%, #ffe98a 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Kicker subhead used on impact "Proof" + foundation-brief sections —
   small uppercase line that sits BELOW the headline as supporting copy. */
.case-studies-kicker, .foundation-kicker{
  font-family:var(--mono); font-size:12px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--pink); margin:14px 0 0;
}

/* Footer "Website by Bville Ventures" credit */
.footer-credit{
  text-align:center; padding:18px 0 6px;
  font-family:var(--mono); font-size:10.5px;
  letter-spacing:.16em; text-transform:uppercase;
}
.footer-credit a{
  color:rgba(255,255,255,.42); text-decoration:none;
  transition:color .2s ease;
}
.footer-credit a:hover{ color:var(--pink); }

/* ── YouTube hover-play wrapper ── */
.yt-hoverplay { position: relative; cursor: pointer; overflow: hidden; }
.yt-hoverplay .yt-poster,
.yt-hoverplay > img { transition: transform .5s ease, filter .3s ease; }
.yt-hoverplay:hover .yt-poster,
.yt-hoverplay:hover > img { transform: scale(1.03); filter: brightness(0.95); }
.yt-hoverplay.yt-playing .yt-poster,
.yt-hoverplay.yt-playing > img,
.yt-hoverplay.yt-playing .yt-overlay,
.yt-hoverplay.yt-playing .video-poster-overlay,
.yt-hoverplay.yt-playing .spk-vshade,
.yt-hoverplay.yt-playing .spk-play,
.yt-hoverplay.yt-playing .video-poster-play,
.yt-hoverplay.yt-playing .video-poster-meta { opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.yt-hoverplay .yt-link {
  position: absolute; left: 14px; bottom: 14px; z-index: 5;
  font-family: var(--mono, 'JetBrains Mono', monospace);
  font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  padding: 7px 12px; border-radius: 999px;
  background: rgba(14,8,16,.78); color: #fff9f5; text-decoration: none;
  backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.18);
  transition: background .2s ease, transform .2s ease;
}
.yt-hoverplay .yt-link:hover { background: #ff1f6e; transform: translateY(-1px); }
.yt-hoverplay.yt-playing .yt-link { opacity: 1; z-index: 10; }

/* Subtle admin text link next to copyright */
.footer-brand .admin-link {
  color: #ff1f6e; opacity: .55; text-decoration: none; margin-left: 4px;
  transition: opacity .2s ease;
}
.footer-brand .admin-link:hover { opacity: 1; text-decoration: underline; }
/* Legacy class — keep backwards compat in case any older HTML still ships it */
.footer-brand .admin-dot {
  display: inline-block; width: 7px; height: 7px; margin-left: 8px;
  border-radius: 50%; background: #ff1f6e; opacity: .22;
  vertical-align: middle;
}

/* 00 Admin rail link (injected when logged-in admin) */
.rail-link.rail-admin .num { color: #ff1f6e; }

/* ── Responsive polish: hide the topbar eyebrow on small screens so it
   doesn't squash into a 5-char-wide vertical column next to the logo. ── */
@media (max-width:900px){
  .brand-mark .small{ display:none; }
}

/* ═══════════════════════════════════════════════════════════════════
   UNIFIED EYEBROW NORMALIZATION
   Forces every legacy eyebrow variant to the canonical pattern:
   left-aligned, single pink rule on the left, uppercase mono label.
   Color overrides remain per-class so dark sections stay readable.
   ═══════════════════════════════════════════════════════════════════ */
.fb-eyebrow,
.rz-eyebrow,
.phf-eyebrow,
.insight-eyebrow,
.cv2-insight-eyebrow,
.cv2-course-kicker,
.cv2-auditcta-eyebrow,
.rip-cta-eyebrow,
.case-studies-kicker,
.foundation-kicker,
.press-featured-eyebrow,
.ab2-kicker,
.mfpop-eyebrow,
.dash-eyebrow,
.mkt-eyebrow,
.mkt-cta-eyebrow,
.fc-eyebrow,
.home-callout-eye,
.rz-m-eyebrow,
.chx-eyebrow,
.hero-eyebrow{
  font-family:var(--mono) !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  line-height:1 !important;
  text-align:left !important;
}
.fb-eyebrow::before,
.rz-eyebrow::before,
.phf-eyebrow::before,
.insight-eyebrow::before,
.cv2-insight-eyebrow::before,
.cv2-course-kicker::before,
.cv2-auditcta-eyebrow::before,
.rip-cta-eyebrow::before,
.case-studies-kicker::before,
.foundation-kicker::before,
.press-featured-eyebrow::before,
.ab2-kicker::before,
.mfpop-eyebrow::before,
.dash-eyebrow::before,
.mkt-eyebrow::before,
.mkt-cta-eyebrow::before,
.fc-eyebrow::before,
.home-callout-eye::before,
.rz-m-eyebrow::before,
.chx-eyebrow::before{
  content:"" !important;
  display:inline-block !important;
  width:32px !important;
  height:1.5px !important;
  background:currentColor !important;
  border-radius:2px !important;
  flex-shrink:0 !important;
  opacity:1 !important;
  margin:0 !important;
}
/* Kill all "second rule" / centered double-rule treatments */
.fb-eyebrow::after,
.rz-eyebrow::after,
.phf-eyebrow::after,
.insight-eyebrow::after,
.cv2-insight-eyebrow::after,
.press-featured-eyebrow::after,
.case-studies-kicker::after,
.foundation-kicker::after,
.ab2-kicker::after{
  display:none !important;
  content:none !important;
}
/* Hero eyebrow keeps its animated pink rule via existing .hero-eyebrow-rule span;
   suppress the auto ::before to avoid doubling. */
.hero-eyebrow::before{ display:none !important; content:none !important; }
.hero-eyebrow-rule,
.phf-eyebrow-rule{
  width:32px !important; height:1.5px !important; border-radius:2px !important;
}

/* ════════════════════════════════════════════════════════════
   STABILITY + TEXT-ONLY SECTION LABELS — final override
   Removes the unwanted decorative dashes before every small section
   label and neutralizes the contact-page repaint sources that caused
   desktop blinking when form fields were focused.
   ════════════════════════════════════════════════════════════ */

/* Contact page: no animated/blurred decorative layers over interactive form UI. */
#page-contact .cf2-grain,
#page-contact .cf2-orb,
#page-contact .cf2x-hero::before,
#page-contact .cf2x-hero::after,
#page-contact .cf2-trust::before,
#page-contact .cf2-trust::after,
#page-contact .cf2-other::before,
#page-contact .cf2-other::after{
  display:none !important;
  animation:none !important;
  transition:none !important;
  transform:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
#page-contact,
#page-contact *{
  animation-duration:0s !important;
  animation-iteration-count:1 !important;
  scroll-behavior:auto !important;
}
#page-contact .cf2x-hero{
  isolation:auto !important;
  background:linear-gradient(135deg, #122caa 0%, #1436b8 46%, #0b1d6b 100%) !important;
}
#page-contact .cf2x-photo,
#page-contact .cf2x-formwrap,
#page-contact .cf2-trust-photo,
#page-contact .cf2-chan,
#page-contact .cf2-route a{
  transform:none !important;
  transition:background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  will-change:auto !important;
}
#page-contact .cf2x-photo img,
#page-contact .cf2-trust-photo img{
  transform:none !important;
  transition:none !important;
  filter:none !important;
  will-change:auto !important;
}
#page-contact .cf2x-field input,
#page-contact .cf2x-field textarea,
#page-contact .cf2x-sel select{
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease !important;
  transform:none !important;
  will-change:auto !important;
}
#page-contact .cf2x-field label{
  transition:color .15s ease, background-color .15s ease !important;
  transform:none !important;
  will-change:auto !important;
}
#page-contact .cf2x-send,
#page-contact .cf2x-send span,
#page-contact .cf2x-again{
  transform:none !important;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
#page-contact .cf2x-send:hover:not([disabled]) span,
#page-contact .cf2x-send:hover:not([disabled]){
  transform:none !important;
}
#page-contact .cf2-rev,
#page-contact .cf2-rev.in{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

/* Text-only section labels, globally. */
.eyebrow,
.hero-eyebrow,
.home-hero-eyebrow,
.page-hero-tag,
.about-hero-tag,
.insight-eyebrow,
.fb-eyebrow,
.rz-eyebrow,
.rz-m-eyebrow,
.phf-eyebrow,
.cv2-insight-eyebrow,
.cv2-course-kicker,
.cv2-auditcta-eyebrow,
.cv2-bundle-kick,
.case-studies-kicker,
.foundation-kicker,
.press-featured-eyebrow,
.ab2-kicker,
.mfpop-eyebrow,
.dash-eyebrow,
.mkt-eyebrow,
.mkt-cta-eyebrow,
.fc-eyebrow,
.home-callout-eye,
.chx-eyebrow,
.cf2-kick,
.spk-kit-sum-eye,
.xsell-kicker,
.lbc-cta-eyebrow,
.podcast-hero-audience,
.crs-soon-tag,
.crs-card .crs-tag,
.crs-stage-pill,
.rip-cta-eyebrow{
  font-family:var(--mono) !important;
  font-size:clamp(12px, .78vw, 14px) !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  text-align:inherit !important;
  max-width:100% !important;
}
.eyebrow::before,
.eyebrow::after,
.hero-eyebrow::before,
.hero-eyebrow::after,
.home-hero-eyebrow::before,
.home-hero-eyebrow::after,
.page-hero-tag::before,
.page-hero-tag::after,
.about-hero-tag::before,
.about-hero-tag::after,
.insight-eyebrow::before,
.insight-eyebrow::after,
.fb-eyebrow::before,
.fb-eyebrow::after,
.rz-eyebrow::before,
.rz-eyebrow::after,
.rz-m-eyebrow::before,
.rz-m-eyebrow::after,
.phf-eyebrow::before,
.phf-eyebrow::after,
.cv2-insight-eyebrow::before,
.cv2-insight-eyebrow::after,
.cv2-course-kicker::before,
.cv2-course-kicker::after,
.cv2-auditcta-eyebrow::before,
.cv2-auditcta-eyebrow::after,
.cv2-bundle-kick::before,
.cv2-bundle-kick::after,
.case-studies-kicker::before,
.case-studies-kicker::after,
.foundation-kicker::before,
.foundation-kicker::after,
.press-featured-eyebrow::before,
.press-featured-eyebrow::after,
.ab2-kicker::before,
.ab2-kicker::after,
.mfpop-eyebrow::before,
.mfpop-eyebrow::after,
.dash-eyebrow::before,
.dash-eyebrow::after,
.mkt-eyebrow::before,
.mkt-eyebrow::after,
.mkt-cta-eyebrow::before,
.mkt-cta-eyebrow::after,
.fc-eyebrow::before,
.fc-eyebrow::after,
.home-callout-eye::before,
.home-callout-eye::after,
.chx-eyebrow::before,
.chx-eyebrow::after,
.cf2-kick::before,
.cf2-kick::after,
.spk-kit-sum-eye::before,
.spk-kit-sum-eye::after,
.xsell-kicker::before,
.xsell-kicker::after,
.lbc-cta-eyebrow::before,
.lbc-cta-eyebrow::after,
.podcast-hero-audience::before,
.podcast-hero-audience::after,
.crs-soon-tag::before,
.crs-soon-tag::after,
.crs-card .crs-tag::before,
.crs-card .crs-tag::after,
.crs-stage-pill::before,
.crs-stage-pill::after,
.rip-cta-eyebrow::before,
.rip-cta-eyebrow::after,
.hero-eyebrow-rule,
.phf-eyebrow-rule,
.home-hero-eyebrow .line,
.hero-eyebrow span:first-child:empty,
.phf-eyebrow span:first-child:empty{
  content:none !important;
  display:none !important;
}
@media (max-width:1024px){
  .eyebrow,
  .hero-eyebrow,
  .home-hero-eyebrow,
  .page-hero-tag,
  .about-hero-tag,
  .insight-eyebrow,
  .fb-eyebrow,
  .rz-eyebrow,
  .rz-m-eyebrow,
  .phf-eyebrow,
  .cv2-insight-eyebrow,
  .cv2-course-kicker,
  .cv2-auditcta-eyebrow,
  .cv2-bundle-kick,
  .case-studies-kicker,
  .foundation-kicker,
  .press-featured-eyebrow,
  .ab2-kicker,
  .mkt-eyebrow,
  .mkt-cta-eyebrow,
  .fc-eyebrow,
  .home-callout-eye,
  .chx-eyebrow,
  .cf2-kick,
  .xsell-kicker,
  .rip-cta-eyebrow{
    font-size:12px !important;
    letter-spacing:.14em !important;
  }
}
@media (max-width:640px){
  .eyebrow,
  .hero-eyebrow,
  .home-hero-eyebrow,
  .page-hero-tag,
  .about-hero-tag,
  .insight-eyebrow,
  .fb-eyebrow,
  .rz-eyebrow,
  .rz-m-eyebrow,
  .phf-eyebrow,
  .cv2-insight-eyebrow,
  .cv2-course-kicker,
  .cv2-auditcta-eyebrow,
  .cv2-bundle-kick,
  .case-studies-kicker,
  .foundation-kicker,
  .press-featured-eyebrow,
  .ab2-kicker,
  .mkt-eyebrow,
  .mkt-cta-eyebrow,
  .fc-eyebrow,
  .home-callout-eye,
  .chx-eyebrow,
  .cf2-kick,
  .xsell-kicker,
  .rip-cta-eyebrow{
    font-size:11.5px !important;
    letter-spacing:.12em !important;
    line-height:1.35 !important;
  }
}


/* ════════════════════════════════════════════════════════════════
   MOBILE OVERHAUL — scoped to ≤767px only. Desktop/tablet untouched.
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  /* ── Top bar: shrink, hide globe / theme / book cta ── */
  .topbar { padding: 10px 14px !important; }
  .topbar .bm-dot { display: none !important; }
  .topbar .bm-name { font-size: 16px !important; }
  .topbar .brand-mark .small { display: none !important; }
  .topbar .topbar-cta,
  .topbar .lang-cycle,
  .topbar .theme-cycle { display: none !important; }

  /* ── Eyebrow lines: remove the pink/yellow rule globally on mobile ── */
  .eyebrow::before,
  .hero-eyebrow-rule,
  .phf-eyebrow-rule,
  .hero-eyebrow span:first-child:empty,
  .phf-eyebrow span:first-child:empty { display: none !important; }
  .eyebrow, .hero-eyebrow, .phf-eyebrow { gap: 0 !important; }
  .hero-eyebrow, .phf-eyebrow { font-size: 11px !important; letter-spacing: .22em !important; }

  /* Hide the redundant "The Podcast" eyebrow on homepage podcast feature */
  .podcast-feature-home .phf-eyebrow { display: none !important; }

  /* ── Hero: tighten the giant black gap between headline lines ── */
  .hero, .hero-inner { padding-top: 28px !important; padding-bottom: 28px !important; }
  .hero-title { font-size: 44px !important; line-height: 1.04 !important; margin: 14px 0 16px !important; }
  .hero-title em, .hero-title .verb-cycle span { font-size: 1em !important; line-height: 1.04 !important; }
  .hero-sub { font-size: 15px !important; line-height: 1.55 !important; margin-bottom: 22px !important; }

  /* Hero CTAs: drop 3rd button on mobile, equal sizing */
  .home-cta-row { gap: 10px !important; }
  .home-cta-row .btn-yellow { display: none !important; }
  .home-cta-row .btn { width: 100% !important; }

  /* ── Mobile button standard ── */
  .btn-lg {
    min-height: 50px !important;
    padding: 0 22px !important;
    font-size: 12.5px !important;
    letter-spacing: .14em !important;
    white-space: nowrap !important;
  }
  .btn-lg span { margin-left: 8px !important; }

  /* Take the Free Audit — one line, arrow flush right */
  .cv2-auditcta a.btn,
  a.btn-yellow[href*="audit"],
  .audit-cta .btn { white-space: nowrap !important; }

  /* ── Meet Marnie: dark palette, 2-col cred grid ── */
  .meet-marnie.home-bg-warm { background: #0e0810 !important; color: #fff !important; }
  .meet-marnie .mm-name,
  .meet-marnie .mm-bio,
  .meet-marnie .mm-bio em { color: #fff !important; }
  .meet-marnie .mm-creds {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .meet-marnie .mm-creds span {
    background: #fff9f5 !important;
    color: #0e0810 !important;
    font-size: 10.5px !important;
    padding: 8px 10px !important;
    text-align: center !important;
    border-radius: 999px !important;
    white-space: normal !important;
  }
  .meet-marnie .btn-outline { color: #fff !important; border-color: #fff5 !important; }

  /* ── Stat ribbon: prevent "2" from orphaning ── */
  .stat-ribbon { gap: 14px !important; }
  .stat .n { font-size: 38px !important; }
  .stat .l { font-size: 10.5px !important; white-space: nowrap !important; }

  /* ── Podcast feature: tighter, image first ── */
  .phf-main { display: flex !important; flex-direction: column !important; gap: 18px !important; }
  .phf-right { order: -1 !important; }
  .phf-cover { max-width: 220px !important; margin: 0 auto !important; display: block !important; }
  .phf-embed-tag { letter-spacing: .18em !important; }
  .phf-embed-tag::before { content: none !important; }

  /* ── Newsletter (footer): remove yellow line, tighter form ── */
  .footer-cta .fc-eyebrow::before,
  .fc-eyebrow::before { display: none !important; }
  .fc-form { display: flex !important; flex-direction: row !important; gap: 8px !important; }
  .fc-form input { flex: 1 1 auto !important; min-width: 0 !important; }
  .fc-form button { flex: 0 0 auto !important; padding: 0 18px !important; }

  /* ── Footer: compact 2-col link grid ── */
  .site-footer { padding: 40px 0 24px !important; }
  .footer-top {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .footer-brand .mark { font-size: 28px !important; }
  .footer-brand p { font-size: 13px !important; }
  .footer-col h5 { font-size: 12px !important; margin-bottom: 8px !important; }
  .footer-col ul li { margin-bottom: 4px !important; }
  .footer-col a { font-size: 13px !important; }
  .footer-bottom { flex-direction: column !important; gap: 14px !important; text-align: center !important; padding-top: 20px !important; }
  .admin-dot { display: none !important; }
  .admin-link { display: none !important; }
}

/* ============================================================
   MOBILE HOMEPAGE — round 3 fixes (≤767px)
   Higher-specificity overrides to beat #page-home rules.
   ============================================================ */
@media (max-width: 767px) {
  /* 1. Meet Marnie — force readable text (beat #page-home .home-bg-warm) */
  #page-home .meet-marnie.home-bg-warm { background: #0e0810 !important; color: #fff !important; }
  #page-home .meet-marnie :is(h1,h2,h3,h4,h5,p,li,blockquote,figcaption),
  #page-home .meet-marnie .mm-name,
  #page-home .meet-marnie .mm-bio,
  #page-home .meet-marnie .mm-bio em { color: #fff !important; }
  #page-home .meet-marnie .mm-bio em { color: #ffd23f !important; }

  /* 6. Cred chips: keep each on one line */
  #page-home .meet-marnie .mm-creds span {
    background: #fff9f5 !important; color: #0e0810 !important;
    font-size: 9.5px !important; padding: 8px 8px !important;
    white-space: nowrap !important; letter-spacing: .12em !important;
  }

  /* 2 + 3. HERO: photo as background behind text — single cohesive block */
  #page-home .hero { position: relative !important; min-height: 92vh !important; padding: 0 !important; overflow: hidden !important; }
  #page-home .hero .hero-photo {
    position: absolute !important; inset: 0 !important;
    width: 100% !important; height: 100% !important;
    z-index: 0 !important; display: block !important;
  }
  #page-home .hero .hero-photo img {
    width: 100% !important; height: 100% !important; object-fit: cover !important;
    object-position: 60% 20% !important;
  }
  #page-home .hero .hero-photo::after {
    content: "" !important; position: absolute !important; inset: 0 !important;
    background: linear-gradient(180deg, rgba(14,8,16,0) 0%, rgba(14,8,16,.15) 35%, rgba(14,8,16,.78) 65%, #0e0810 95%) !important;
  }
  #page-home .hero .hero-brush { opacity: .35 !important; z-index: 1 !important; }
  #page-home .hero .hero-grad { display: none !important; }
  #page-home .hero .hero-inner {
    position: absolute !important; left: 0; right: 0; bottom: 0;
    z-index: 2 !important; padding: 24px 22px 28px !important;
  }
  #page-home .hero .hero-eyebrow,
  #page-home .hero .hero-eyebrow span { color: #ffd23f !important; }
  #page-home .hero .hero-title,
  #page-home .hero .hero-title em,
  #page-home .hero .hero-title .verb-cycle span { color: #fff !important; }
  #page-home .hero .hero-sub { color: rgba(255,255,255,.88) !important; }

  /* 4. TED lockup styling (mobile + everywhere) */
  .ted-lockup, .ted-lockup-sm {
    display: inline-flex !important; align-items: baseline !important;
    gap: 4px !important; font-family: Helvetica, Arial, sans-serif !important;
    font-weight: 900 !important; letter-spacing: .02em !important;
  }
  .ted-lockup .ted-red, .ted-lockup-sm .ted-red {
    color: #E62B1E !important; font-size: 1.45em !important;
    letter-spacing: -.03em !important; line-height: 1 !important;
  }
  .ted-lockup .ted-x, .ted-lockup-sm .ted-x {
    color: currentColor !important; font-size: 1em !important;
    font-weight: 700 !important; vertical-align: super !important;
    font-size: .7em !important; margin-left: -2px !important;
  }
  .ted-lockup .ted-city { font-weight: 800 !important; letter-spacing: .14em !important; margin-left: 4px !important; }
  .ted-lockup .ted-sep, .ted-lockup-sm .ted-sep { opacity: .55 !important; margin: 0 4px !important; }
  .ted-lockup .ted-meta { font-weight: 700 !important; letter-spacing: .14em !important; font-size: .92em !important; }

  /* 5. Testimonials eyebrow — bold blue, more spacing */
  #page-home .quotes-section .testimonials-kicker,
  #page-home .quotes-section .eyebrow.testimonials-kicker {
    color: #1e3fc3 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .26em !important;
    margin-bottom: 22px !important;
    display: block !important;
  }
  #page-home .quotes-section .testimonials-kicker::before { content: none !important; }
  #page-home .quotes-section .quotes-header { padding-bottom: 8px !important; }

  /* 7. "Where do you come in?" — 2-col side-by-side on mobile */
  #page-home .six-doors-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  #page-home .six-doors-grid .sixd-card {
    padding: 16px 12px !important;
    min-height: 0 !important;
  }
  #page-home .six-doors-grid .sixd-num { font-size: 16px !important; margin-bottom: 4px !important; }
  #page-home .six-doors-grid .sixd-card h3 { font-size: 14px !important; line-height: 1.2 !important; margin: 4px 0 6px !important; }
  #page-home .six-doors-grid .sixd-card p {
    font-size: 11.5px !important; line-height: 1.4 !important;
    display: -webkit-box !important; -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important; overflow: hidden !important;
    margin-bottom: 8px !important;
  }
  #page-home .six-doors-grid .sixd-go { font-size: 10.5px !important; letter-spacing: .14em !important; }

  /* 8. Newsletter — distinct background from footer */
  .site-footer { background: #0e0810 !important; }
  .site-footer .footer-cta {
    background: #1e3fc3 !important;
    margin: 0 -16px 24px !important;
    padding: 28px 22px !important;
    border-radius: 0 !important;
    color: #fff9f5 !important;
  }
  .site-footer .fc-eyebrow {
    color: #ffd23f !important; font-weight: 900 !important;
    font-size: 11px !important; letter-spacing: .22em !important;
    margin-bottom: 10px !important;
  }
  .site-footer #fc-head { color: #fff9f5 !important; font-size: 22px !important; line-height: 1.2 !important; margin-bottom: 8px !important; }
  .site-footer #fc-sub { color: rgba(255,249,245,.82) !important; font-size: 13px !important; margin-bottom: 16px !important; }
  .site-footer .fc-form input {
    background: #fff !important; color: #0e0810 !important;
    border: none !important; border-radius: 999px !important;
    padding: 12px 16px !important; font-size: 14px !important;
  }
  .site-footer .fc-form button {
    background: #ff1f6e !important; color: #fff !important;
    border: none !important; border-radius: 999px !important;
    font-weight: 800 !important; font-size: 12px !important;
    letter-spacing: .14em !important; text-transform: uppercase !important;
    padding: 0 18px !important; height: 44px !important;
  }

  /* 9. Footer overhaul — copyright at very bottom, smaller */
  .site-footer .footer-brand p:last-of-type { display: none !important; }
  .site-footer .footer-bottom { padding-top: 18px !important; border-top: 1px solid rgba(255,255,255,.08) !important; }
  .site-footer .footer-social a { width: 36px !important; height: 36px !important; font-size: 13px !important; }
  .site-footer .footer-credit {
    text-align: center !important;
    padding: 14px 12px 8px !important;
    font-family: var(--mono) !important;
    font-size: 10.5px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.45) !important;
  }
  .site-footer .footer-credit::before {
    content: "© 2026 Marnie Forestieri · All rights reserved" !important;
    display: block !important; margin-bottom: 4px !important;
  }
  .site-footer .footer-credit a { color: rgba(255,255,255,.7) !important; text-decoration: underline !important; }
}

/* Force testimonials kicker visible (beat .reveal animation when CSS-only) */
@media (max-width: 767px) {
  #page-home .quotes-section .eyebrow.testimonials-kicker {
    opacity: 1 !important;
    transform: none !important;
    color: #1e3fc3 !important;
  }
}

/* ─── 2026-06-25 fixes: discreet footer admin dot, callout line breaks,
       mobile lib strip + callout, "to start" line flow ─── */
.admin-dot-footer{
  display:block !important;
  width:5px !important;
  height:5px !important;
  border-radius:50% !important;
  background:rgba(0,0,0,.42) !important;
  margin:10px auto 0 !important;
  opacity:.18 !important;
  overflow:hidden !important;
  text-indent:-999px !important;
  box-shadow:none !important;
  transition:opacity .2s;
}
.admin-dot-footer:hover{ opacity:.38 !important; }
.admin-launcher{ display:none !important; }
.rail-admin .num{ color:var(--yellow) !important; }

/* New stacked callout — each segment on its own line, italics for the last two */
.home-callout-h .hc-line{ display:block; }
.home-callout-h .hc-line em{ font-style:italic; color:var(--yellow); }

/* Keep the long "where do you come in?" paragraph from orphaning "to start." */
.six-doors-head p{ max-width:62ch; margin-left:auto; margin-right:auto; }

/* Mobile + tablet polish */
@media (max-width: 900px){
  /* Bigger TEDx + podcast video on mobile */
  .tedx-feature-video, .yt-watch .video-embed, .yt-hoverplay{
    min-height:240px;
  }
  /* Books rail: show ~4 covers at a time + visible "scroll right" affordance */
  .lib-strip-rail{
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    padding-right:48px;
  }
  .lib-strip-rail > .lib-book{
    flex:0 0 calc((100% - 36px) / 4); scroll-snap-align:start; min-width:0;
  }
  .lib-strip-rail .lib-book-title{ font-size:10px; line-height:1.2; }
  .lib-railwrap{ position:relative; }
  .lib-railwrap::after{
    content:"›"; position:absolute; right:6px; top:50%;
    transform:translateY(-50%);
    width:28px; height:28px; border-radius:50%;
    background:var(--pink); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-family:var(--serif); font-size:22px; font-weight:600;
    box-shadow:0 6px 18px -4px rgba(255,31,110,.5);
    pointer-events:none; animation:libArrowNudge 1.6s ease-in-out infinite;
  }
  @keyframes libArrowNudge{
    0%,100%{ transform:translate(0,-50%); }
    50%{ transform:translate(4px,-50%); }
  }

  /* Stronger callout typography on small screens */
  .home-callout-h{ font-size:clamp(28px,7vw,40px) !important; line-height:1.15 !important; }
  .home-callout-h .hc-line{ display:block; margin:2px 0; }
}

/* Hide any leftover legacy ".admin-link" inline pill on mobile/tablet */
@media (max-width: 900px){
  .admin-link{ display:none !important; }
}

/* Hide signed-out floating admin pill on mobile/tablet — footer dot is the only entry */
@media (max-width: 900px){
  .admin-launcher-signedout{ display:none !important; }
}

/* ══════════════════════════════════════════════════════════════════
   2026-06-25 · TABLET + MOBILE NAV (hamburger drawer) and topbar
   restructure. Desktop (≥1101px) untouched.
   ══════════════════════════════════════════════════════════════════ */

/* Hamburger button — hidden on desktop, shown on tablet/mobile */
.nav-burger{
  display:none; position:relative; z-index:120;
  width:44px; height:44px; padding:0; margin-right:10px;
  background:transparent; border:0; cursor:pointer;
  flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.nav-burger span{
  display:block; width:22px; height:2px; background:var(--ink); border-radius:2px;
  transition:transform .25s var(--easing), opacity .2s var(--easing);
}
body.dark-page .nav-burger span, body.theme-midnight .nav-burger span{ background:var(--paper); }
body.nav-open .nav-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.nav-open .nav-burger span:nth-child(2){ opacity:0; }
body.nav-open .nav-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Backdrop */
.nav-backdrop{
  position:fixed; inset:0; background:rgba(14,8,16,.55);
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  opacity:0; pointer-events:none; transition:opacity .3s var(--easing);
  z-index:100;
}
body.nav-open .nav-backdrop{ opacity:1; pointer-events:auto; }

/* MF mark in the topbar */
.tb-mf-mark{
  display:none; width:34px; height:34px; border-radius:50%;
  overflow:hidden; flex-shrink:0; box-shadow:0 4px 14px -4px rgba(255,31,110,.45);
  background:#fff9f5; transition:transform .25s var(--easing);
}
.tb-mf-mark img{ width:100%; height:100%; object-fit:cover; display:block; }
.tb-mf-mark:hover{ transform:scale(1.06); }

/* ───── ≤1100px : Tablet + Mobile topbar + drawer ───── */
@media (max-width:1100px){
  /* Topbar layout with rail offset removed (rail is no longer fixed) */
  .topbar{
    padding:0 16px !important;
    gap:10px;
  }
  .nav-burger{ display:flex; }

  /* Brand: bigger Marnie Forestieri, drop pulse dot + subtitle */
  .brand-mark{ font-size:26px; gap:0; flex:1 1 auto; min-width:0; overflow:hidden; }
  .brand-mark .bm-dot{ display:none; }
  .brand-mark .small{ display:none; }
  .brand-mark .bm-name{ white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }

  /* Site controls: tight, no borders, icon-only toggles */
  .site-controls{ gap:10px; flex:0 0 auto; }
  .lang-cycle, .theme-cycle{
    background:transparent !important; border:0 !important; padding:6px !important;
    width:32px; height:32px; justify-content:center;
    transform:none !important;
  }
  .lang-cycle:hover, .theme-cycle:hover{
    background:rgba(14,8,16,.06) !important; border:0 !important; transform:none !important;
  }
  body.dark-page .lang-cycle:hover, body.dark-page .theme-cycle:hover,
  body.theme-midnight .lang-cycle:hover, body.theme-midnight .theme-cycle:hover{
    background:rgba(255,249,245,.12) !important;
  }
  .lang-cycle-icon, .theme-cycle-icon{ width:18px; height:18px; opacity:1; }
  .lang-cycle-label{ display:none; }
  .theme-cycle-dot{ display:none; }
  .lang-cycle{ position:relative; }
  /* Show language code as a tiny baseline tag under the globe */

  .tb-mf-mark{ display:block; }

  /* Book-a-consult CTA: small pill, far right */
  .topbar-cta{
    display:inline-flex !important; align-items:center; gap:6px;
    padding:8px 14px !important; font-size:11px !important; height:34px;
    border-radius:999px; background:var(--pink) !important; color:#fff !important;
    font-weight:800; letter-spacing:.12em; text-transform:uppercase;
    white-space:nowrap;
  }
  .topbar-cta .tcta-arrow{ display:inline-block; }

  /* ── Rail becomes off-canvas drawer ──
     Narrow drawer that fits just the page text (≈ half the topbar width on
     phones). Tap the burger or backdrop to toggle closed. ── */
  .rail{
    display:flex !important;
    position:fixed; top:0; left:0; bottom:0;
    width:min(58vw, 240px); height:100vh;
    transform:translateX(-100%); transition:transform .35s var(--easing);
    z-index:110; padding:72px 0 24px;
    overflow-y:auto; box-shadow:8px 0 32px -8px rgba(0,0,0,.4);
  }
  body.nav-open .rail{ transform:translateX(0); }
  .rail-logo{ padding:0 18px 14px; }
  .rail-nav{ padding:0 6px; }
  .rail-link{ padding:11px 14px; gap:10px; }
  .rail-link .name{ font-size:15px; }
  .rail-link .num{ font-size:10px; }
  .rail-foot{ padding:14px 18px 0; font-size:11px; }

  /* In-drawer close (X) — top-right inside the drawer */
  .rail-close{
    position:absolute; top:10px; right:10px;
    width:36px; height:36px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    background:transparent; border:0; color:var(--paper);
    cursor:pointer; padding:0; z-index:2;
  }
  .rail-close:hover{ background:rgba(255,255,255,.08); }

  /* Ensure pages reclaim full width when rail is off-canvas */
  .page{ margin-left:0 !important; }

  /* Onboarding hint: anchor near burger */
  .onboarding-hint{ right:12px; max-width:240px; }

  /* Admin pill stays hidden on tablet */
  .admin-launcher-signedout{ display:none !important; }
  .admin-link, .admin-dot{ display:none !important; }
}

/* Smaller phones: hide the CTA text label-only (keep CTA visible) */
@media (max-width:520px){
  .topbar-cta{ padding:8px 12px !important; font-size:10px !important; }
  .tb-mf-mark{ width:30px; height:30px; }
  .brand-mark{ font-size:22px; }
}

/* Push selected mobile homepage polish up into vertical tablet (≤1100px).
   These rules previously only fired ≤767px. */
@media (min-width:768px) and (max-width:1100px){
  /* Hero photo behind text — single cohesive block */
  #page-home .hero{ position:relative !important; min-height:78vh !important; padding:0 !important; overflow:hidden !important; }
  #page-home .hero .hero-photo{
    position:absolute !important; inset:0 !important; width:100% !important; height:100% !important;
    z-index:0 !important; display:block !important;
  }
  #page-home .hero .hero-photo img{
    width:100% !important; height:100% !important; object-fit:cover !important;
    object-position:60% 18% !important;
  }
  #page-home .hero .hero-photo::after{
    content:"" !important; position:absolute !important; inset:0 !important;
    background:linear-gradient(180deg, rgba(14,8,16,0) 0%, rgba(14,8,16,.18) 35%, rgba(14,8,16,.75) 65%, #0e0810 95%) !important;
  }
  #page-home .hero .hero-grad{ display:none !important; }
  #page-home .hero .hero-inner{
    position:absolute !important; left:0; right:0; bottom:0;
    z-index:2 !important; padding:32px 36px 40px !important;
  }
  #page-home .hero .hero-eyebrow, #page-home .hero .hero-eyebrow span{ color:#ffd23f !important; }
  #page-home .hero .hero-title, #page-home .hero .hero-title em,
  #page-home .hero .hero-title .verb-cycle span{ color:#fff !important; }
  #page-home .hero .hero-sub{ color:rgba(255,255,255,.88) !important; }

  /* Meet Marnie dark + readable */
  #page-home .meet-marnie.home-bg-warm{ background:#0e0810 !important; color:#fff !important; }
  #page-home .meet-marnie :is(h1,h2,h3,h4,h5,p,li,blockquote,figcaption),
  #page-home .meet-marnie .mm-name, #page-home .meet-marnie .mm-bio{ color:#fff !important; }
  #page-home .meet-marnie .mm-bio em{ color:#ffd23f !important; }

  /* Where do you come in — 3-col on tablet */
  #page-home .six-doors-grid{
    display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:14px !important;
  }
  #page-home .six-doors-grid .sixd-card{ padding:18px 14px !important; }
  #page-home .six-doors-grid .sixd-num{ font-size:18px !important; }
  #page-home .six-doors-grid .sixd-card h3{ font-size:16px !important; line-height:1.2 !important; }
  #page-home .six-doors-grid .sixd-card p{ font-size:13px !important; line-height:1.45 !important; }

  /* Newsletter as distinct blue band */
  .site-footer{ background:#0e0810 !important; }
  .site-footer .footer-cta{
    background:#1e3fc3 !important; color:#fff9f5 !important;
    margin:0 0 28px !important; padding:36px 32px !important; border-radius:14px !important;
  }
  .site-footer .fc-eyebrow{ color:#ffd23f !important; }
  .site-footer #fc-head{ color:#fff9f5 !important; }
  .site-footer #fc-sub{ color:rgba(255,249,245,.85) !important; }

  /* Books rail: 4 covers, snap, pulse arrow */
  .lib-strip-rail{ scroll-snap-type:x mandatory; padding-right:48px; }
  .lib-strip-rail > .lib-book{ flex:0 0 calc((100% - 54px) / 4); scroll-snap-align:start; }
  .lib-railwrap{ position:relative; }
  .lib-railwrap::after{
    content:"›"; position:absolute; right:8px; top:50%; transform:translateY(-50%);
    width:32px; height:32px; border-radius:50%; background:var(--pink); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-family:var(--serif); font-size:24px; font-weight:600;
    box-shadow:0 6px 18px -4px rgba(255,31,110,.5); pointer-events:none;
    animation:libArrowNudge 1.6s ease-in-out infinite;
  }

  /* Bigger TED + podcast video on tablet */
  .tedx-feature-video, .yt-watch .video-embed, .yt-hoverplay{ min-height:320px; }

  /* Callout typography */
  .home-callout-h{ font-size:clamp(34px,5.5vw,52px) !important; line-height:1.15 !important; }
  .home-callout-h .hc-line{ display:block; margin:3px 0; }

  /* Section padding */
  section{ padding:72px 0; }
}

/* ══════════════════════════════════════════════════════════════════
   2026-06-25 PM · Desktop polish + defensive overrides
   ══════════════════════════════════════════════════════════════════ */

/* Belt-and-suspenders: NEVER show the tablet MF mark on desktop */
@media (min-width:1101px){
  .tb-mf-mark{ display:none !important; }
  .nav-burger{ display:none !important; }
}

/* #3a — retire the decorative pulse dot site-wide for a cleaner brand */
.brand-mark .bm-dot{ display:none !important; }

/* #2 — remove the "Reimagining the Business of Early Childhood Education"
   subtitle from the topbar across all viewports (it crowds the brand) */
.brand-mark .small{ display:none !important; }

/* #3b — "Where do you come in?" 3×2 grid on smaller laptops so it breathes */
@media (min-width:1101px) and (max-width:1400px){
  #page-home .six-doors-grid{
    grid-template-columns:repeat(3, 1fr) !important;
    gap:18px !important;
  }
}

/* #3c — footer copyright credit: lighter, smaller, more refined on desktop */
@media (min-width:1101px){
  .site-footer .footer-credit,
  .site-footer .footer-bottom,
  .site-footer .footer-bottom p,
  .site-footer .footer-bottom small{
    font-family: var(--mono) !important;
    font-size: 10.5px !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.42) !important;
    font-weight: 400 !important;
  }
  .site-footer .footer-bottom a{
    color: rgba(255,255,255,.6) !important;
  }
}

/* ── 2026-06-25 PM·2 — burger contrast over dark hero + newsletter blue everywhere ── */

/* B. Burger bars need to be paper-colored over the home hero (dark photo background) */
body.hero-page .nav-burger span{ background:var(--paper); }
body.hero-page.nav-open .nav-burger span{ background:var(--paper); }

/* G. Newsletter — blue band on every viewport (was mobile-only).
   Higher specificity to beat earlier rules. */
.site-footer .footer-cta{
  background:#1e3fc3 !important;
  color:#fff9f5 !important;
  border-radius:14px;
}
.site-footer .footer-cta .fc-eyebrow{
  color:#ffd23f !important;
  font-weight:900 !important;
  letter-spacing:.22em !important;
}
.site-footer .footer-cta #fc-head,
.site-footer .footer-cta h2,
.site-footer .footer-cta h3{
  color:#fff9f5 !important;
}
.site-footer .footer-cta #fc-sub,
.site-footer .footer-cta p{
  color:rgba(255,249,245,.85) !important;
}
.site-footer .footer-cta .fc-form input{
  background:#fff !important; color:#0e0810 !important;
  border:none !important; border-radius:999px !important;
}
.site-footer .footer-cta .fc-form button{
  background:#ff1f6e !important; color:#fff !important;
  border:none !important; border-radius:999px !important;
  font-weight:800 !important; letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

/* Desktop spacing for the blue newsletter band */
@media (min-width:1101px){
  .site-footer .footer-cta{
    padding:48px 56px !important;
    margin:0 0 40px !important;
  }
  .site-footer .footer-cta #fc-head,
  .site-footer .footer-cta h2{ font-size:32px !important; line-height:1.15 !important; }
}

/* ─── 2026-06-25 Footer + callout + iphone fixes ─── */

/* Desktop: keep footer clear of the fixed rail (88px) */
@media (min-width: 1101px){
  .site-footer{ margin-left: var(--rail) !important; }
}

/* Centered email placeholder in footer newsletter */
.site-footer .footer-cta .fc-form input{ text-align:center; }
.site-footer .footer-cta .fc-form input::placeholder{ text-align:center; }

/* New unified footer-bottom row */
.site-footer .footer-bottom{
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  gap:18px !important; flex-wrap:wrap !important;
}
.site-footer .footer-meta{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.45); margin:0; display:flex; align-items:center; gap:14px; flex-wrap:wrap;
}
.site-footer .footer-meta a{ color:rgba(255,255,255,.75); text-decoration:underline; }
.site-footer .footer-meta a:hover{ color:#fff; }
.site-footer .admin-inline-dot{
  display:inline-block; width:6px; height:6px; border-radius:50%;
  background:rgba(255,255,255,.22); opacity:.55; transition:opacity .2s, background .2s;
  text-indent:-9999px; overflow:hidden; flex:0 0 auto;
}
.site-footer .admin-inline-dot:hover{ opacity:1; background:var(--pink); }

/* Restyle social icons to real SVG pills (override placeholder text styles) */
.site-footer .footer-social a{
  width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px; background:rgba(255,255,255,.06); color:rgba(255,255,255,.75);
  transition:background .2s, color .2s, transform .2s;
}
.site-footer .footer-social a:hover{ background:var(--pink); color:#fff; transform:translateY(-2px); }
.site-footer .footer-social svg{ display:block; }

/* Hide legacy standalone credit/admin-dot if any cached version still renders */
.site-footer .footer-credit{ display:none !important; }
.site-footer .admin-dot-footer{ display:none !important; }

/* Add breathing room between "2 successful exits." and "Now she helps YOU" */
#page-home .home-callout-h .hc-line:nth-child(3){ margin-top:.55em !important; }

/* Shrink platform/laptop screenshot on tablet & mobile (caption removed) */
@media (max-width:1100px){
  .iphone-section .platform-photo{ max-width:520px; margin:0 auto; }
  .iphone-section .platform-photo img{ max-width:100%; height:auto; }
}
@media (max-width:760px){
  .iphone-section .platform-photo{ max-width:340px; }
}

/* YouTube pill — keep label legible on red hover */
.rip-cta-btn.youtube:hover, .rip-cta-btn.youtube:hover *{ color:#fff !important; }

/* Mobile: keep footer-bottom centered + stacked, no rail offset */
@media (max-width:1100px){
  .site-footer{ margin-left:0 !important; }
  .site-footer .footer-bottom{ flex-direction:column !important; text-align:center !important; }
  .site-footer .footer-meta{ justify-content:center !important; }
}

/* ─── 2026-06-25 Podcast feature refinements + books 2x2 ─── */

/* Headline color flip: "podcast" yellow, rest cream */
#page-home .phf-headline{ color:#fff9f5 !important; font-size:clamp(44px,5.6vw,86px) !important; line-height:1.02 !important; }
#page-home .phf-headline em{ color:#ffd23f !important; font-style:italic; font-weight:300; }

/* Align cover with the four-line headline */
#page-home .phf-main{ align-items:center !important; gap:48px !important; margin-bottom:36px !important; }
#page-home .phf-right{ justify-content:center; }
#page-home .phf-cover-link{ max-width:360px; width:100%; }
#page-home .phf-cover{ width:100%; height:auto; aspect-ratio:1/1; }

/* Yellow tag (was hot pink), compact embed */
#page-home .phf-embed-tag{ color:#ffd23f !important; }
#page-home .phf-embed-tag::before{ background:#ffd23f !important; }
#page-home .phf-embed{ margin:0; padding:14px 14px 14px; background:rgba(255,249,245,.07); border:1px solid rgba(255,249,245,.18); flex:1 1 520px; min-width:0; }

/* Clip the iframe so the "See how your data is managed" footer line is hidden,
   but give enough height so the Play/See More row isn't cut off. */
#page-home .phf-embed-clip{ position:relative; height:175px; overflow:hidden; border-radius:10px; }
#page-home .phf-embed-frame{ position:absolute; top:0; left:0; width:100%; height:200px; }

/* Combine playrow: embed left, CTAs right (stacked), single row on desktop */
#page-home .phf-playrow{
  display:flex; align-items:center; gap:24px; flex-wrap:wrap;
  padding:18px 18px; border-radius:18px;
  background:rgba(255,249,245,.04); border:1px solid rgba(255,249,245,.12);
}
#page-home .phf-ctas{ flex:0 0 auto; display:flex; flex-direction:column; align-items:stretch; gap:12px; }
#page-home .phf-cta-pill{ padding:11px 20px; font-size:11.5px; text-align:center; }
#page-home .phf-cta-text{ font-size:11.5px; text-align:center; }


/* Mobile/tablet: stack playrow */
@media (max-width:900px){
  #page-home .phf-playrow{ flex-direction:column; align-items:stretch; gap:14px; }
  #page-home .phf-ctas{ justify-content:space-between; }
  #page-home .phf-cover-link{ max-width:260px; }
  #page-home .phf-headline{ font-size:clamp(36px,8vw,56px) !important; }
}

/* Books rail on tablet/mobile: 2x2 grid per page, scroll right for next 4 */
@media (max-width:1100px){
  #page-home .lib-strip-rail{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-template-rows:repeat(2, auto) !important;
    grid-auto-columns:calc((100% - 60px) / 2) !important;
    gap:14px 14px !important;
    scroll-snap-type:x mandatory !important;
    padding-right:48px !important;
  }
  #page-home .lib-strip-rail > .lib-book{
    width:100% !important; min-width:0 !important; flex:initial !important;
  }
  #page-home .lib-strip-rail .lib-book-cover{
    width:100% !important; height:auto !important; aspect-ratio:2/3 !important;
  }
  #page-home .lib-strip-rail > .lib-book:nth-child(4n+1){ scroll-snap-align:start !important; }
}
@media (max-width:600px){
  #page-home .lib-strip-rail{ grid-auto-columns:calc((100% - 50px) / 2) !important; }
}

/* ══════════════════════════════════════════════════════════════════
   2026-06-25 PM·3 — Tablet/Mobile nav, footer + close affordance
   ══════════════════════════════════════════════════════════════════ */

/* In-drawer close × — visible at top-right of the rail when drawer is open */
.rail-close{
  display:none; position:absolute; top:14px; right:14px;
  width:40px; height:40px; padding:0; margin:0;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
  border-radius:50%; color:var(--paper, #fff9f5);
  align-items:center; justify-content:center; cursor:pointer;
  transition:background .2s, transform .2s, border-color .2s;
  z-index:10;
}
.rail-close:hover{ background:var(--pink, #ff1f6e); border-color:var(--pink, #ff1f6e); transform:scale(1.06); }
@media (max-width:1100px){
  .rail-close{ display:inline-flex; }
}

/* ─── Tablet/Mobile drawer refinement ─── */
@media (max-width:1100px){
  /* Half-width, tighter padding so all 13 items + logo fit at once */
  .rail{
    width:min(55vw, 360px) !important;
    padding:18px 0 24px !important;            /* logo near the very top */
  }
  .rail-logo{
    padding:6px 24px 14px !important;
    display:flex !important; align-items:center; gap:10px;
  }
  .rail-logo-img{ width:36px; height:36px; }
  .rail-logo .f{ font-size:14px; letter-spacing:.18em; }
  .rail-nav{ padding:0 6px !important; gap:0; }
  .rail-link{ padding:9px 18px !important; }
  .rail-link .name{ font-size:16px !important; }
  .rail-link .num{ font-size:10px !important; margin-bottom:1px; }
  .rail-item-wrap{ padding:0; }
  .rail-sublink{ font-size:13px; padding:6px 32px; }
}

/* Phones: even tighter so 13 items definitely fit without scrolling */
@media (max-width:640px){
  .rail{ width:min(80vw, 320px) !important; padding:14px 0 20px !important; }
  .rail-logo{ padding:4px 20px 10px !important; }
  .rail-link{ padding:7px 16px !important; }
  .rail-link .name{ font-size:15px !important; }
}

/* ─── Mobile topbar (≤640px): single row, controls remain functional ─── */
@media (max-width:640px){
  .topbar{
    padding:10px 12px !important;
    flex-wrap:nowrap !important;
    gap:6px !important;
    overflow:visible !important;
    min-height:56px;
  }
  .nav-burger{ margin-right:4px !important; width:38px; height:38px; flex:0 0 38px; }
  .brand-mark{
    font-size:18px !important;
    flex:1 1 auto; min-width:0;
    overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
  }
  .brand-mark .bm-name{ font-size:18px !important; }
  .site-controls{ gap:6px !important; flex:0 0 auto !important; flex-wrap:nowrap !important; }

  /* Re-enable the BOOK CTA on phones — was hidden before. Compact pill. */
  .topbar-cta{
    display:inline-flex !important; align-items:center;
    padding:7px 11px !important; font-size:10px !important; height:30px !important;
    border-radius:999px !important; gap:0 !important;
    white-space:nowrap;
  }
  .topbar-cta .tcta-arrow{ display:none !important; }

  .lang-cycle, .theme-cycle{ width:30px !important; height:30px !important; padding:4px !important; }
  .lang-cycle-icon, .theme-cycle-icon{ width:16px !important; height:16px !important; }
  .tb-mf-mark{ display:none !important; }   /* MF mark moves to the footer on phones */
}

/* ─── Tablet footer ─── */
@media (min-width:641px) and (max-width:1100px){
  .site-footer{ padding:60px 0 32px !important; }
  .footer-inner{ padding:0 32px !important; }
  /* 2 columns on tablet so the link columns aren't a tall stack */
  .footer-top{
    grid-template-columns:1fr 1fr !important;
    gap:36px 48px !important;
    padding-bottom:40px !important;
  }
  .footer-brand{ grid-column:1 / -1; max-width:none; }
  .footer-brand .mark{ font-size:38px !important; margin-bottom:14px; }
  .footer-brand p{ font-size:13px; margin-bottom:14px; }
  .footer-cta{
    padding:28px 28px !important; margin:0 0 24px !important;
    display:grid !important; grid-template-columns:1fr; gap:18px !important;
  }
  .footer-cta #fc-head{ font-size:22px !important; line-height:1.2 !important; }
  .footer-cta .fc-form{ display:flex !important; flex-direction:row !important; gap:10px; }
  .footer-cta .fc-form input{ flex:1 1 auto; min-width:0; padding:12px 18px; }
  .footer-cta .fc-form button{ flex:0 0 auto; padding:12px 22px !important; font-size:11px !important; }
  .footer-bottom{
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:space-between !important;
    align-items:center !important;
    text-align:left !important;
    gap:20px 24px !important;
  }
  .footer-meta{ justify-content:flex-start !important; flex:1 1 auto; }
  .footer-social{ flex:0 0 auto; }
}

/* ─── Footer MF circle (bottom-left of every footer) ─── */
.footer-mf-mark{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%; overflow:hidden;
  background:#fff9f5; flex-shrink:0;
  box-shadow:0 6px 18px -6px rgba(255,31,110,.6);
  transition:transform .25s var(--easing, ease), box-shadow .25s var(--easing, ease);
  text-decoration:none;
}
.footer-mf-mark img{ width:100%; height:100%; object-fit:cover; display:block; }
.footer-mf-mark:hover{ transform:scale(1.08); box-shadow:0 10px 22px -6px rgba(255,31,110,.75); }

/* Layout: anchor MF mark at the far left of footer-bottom, social at the right */
.site-footer .footer-bottom{ position:relative; }
@media (min-width:1101px){
  .site-footer .footer-bottom{ padding-left:60px; }
  .footer-mf-mark{ position:absolute; left:0; top:50%; transform:translateY(-50%); }
  .footer-mf-mark:hover{ transform:translateY(-50%) scale(1.08); }
}

/* Mobile footer polish */
@media (max-width:640px){
  .site-footer{ padding:48px 0 32px !important; }
  .footer-inner{ padding:0 20px !important; }
  .footer-top{ gap:32px !important; padding-bottom:32px !important; }
  .footer-brand .mark{ font-size:34px !important; }
  .footer-cta{ padding:24px 20px !important; }
  .footer-cta #fc-head{ font-size:20px !important; }
  .footer-cta .fc-form{ flex-direction:column; gap:10px; }
  .footer-cta .fc-form button{ width:100%; }
  .footer-bottom{ gap:18px !important; padding-top:28px !important; }
  .footer-meta{ font-size:9.5px !important; letter-spacing:.14em !important; }
  .footer-social a{ width:34px; height:34px; }
}

/* ══════════════════════════════════════════════════════════════════
   2026-06-25 PM·4 — Override-the-overrides (higher specificity)
   The earlier ≤767px block used .topbar .topbar-cta etc., which beat
   our previous fixes. Re-state with matching specificity.
   ══════════════════════════════════════════════════════════════════ */

@media (max-width:640px){
  .topbar .topbar-cta{
    display:inline-flex !important; align-items:center;
    padding:7px 11px !important; font-size:10px !important; height:30px !important;
    border-radius:999px !important; gap:0 !important;
    white-space:nowrap; background:var(--pink) !important; color:#fff !important;
    font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  }
  .topbar .topbar-cta .tcta-arrow{ display:none !important; }
  .topbar .lang-cycle,
  .topbar .theme-cycle{
    display:inline-flex !important; align-items:center; justify-content:center;
    width:32px !important; height:32px !important; padding:6px !important;
    background:transparent !important; border:0 !important;
  }
  .topbar .lang-cycle-icon, .topbar .theme-cycle-icon{ width:16px !important; height:16px !important; }
  .topbar .lang-cycle-label, .topbar .theme-cycle-dot{ display:none !important; }
}

/* Burger contrast — keep bars ink-dark over the cream topbar, even on
   hero pages where the page background is dark. The TOPBAR is cream;
   the page background is irrelevant to burger contrast. */
.nav-burger span{ background:var(--ink) !important; }
body.theme-midnight .nav-burger span{ background:var(--paper) !important; }
body.nav-open .nav-burger span{ background:var(--paper) !important; } /* drawer is dark when open */

/* Anchor MF mark to bottom-left on tablet too (was desktop-only) */
@media (min-width:641px){
  .site-footer .footer-bottom{ padding-left:60px !important; }
  .footer-mf-mark{ position:absolute !important; left:0 !important; top:50% !important; transform:translateY(-50%) !important; }
  .footer-mf-mark:hover{ transform:translateY(-50%) scale(1.08) !important; }
}

/* ══════════════════════════════════════════════════════════════════
   2026-06-25 PM·5 — Mobile/tablet polish round (user feedback)
   - Bigger brand "Marnie Forestieri" on mobile, burger never clipped
   - Eyebrow ordered under topbar but above the verb-cycle title
   - Verb-cycle "advises" stacked with tight line-height (no gaps)
   - Narrow CTA buttons on mobile
   - Remove dark band above hero photo on mobile
   - Podcast section: kill the empty space below the embed
   - Newsletter placeholder always visible; remove "Prefer email?" already
   - Mobile footer: 3 link columns, smaller text, refined bottom row
   ══════════════════════════════════════════════════════════════════ */

/* ── 1. Mobile/Tablet topbar: bigger brand, burger always visible ── */
@media (max-width:1100px){
  .topbar{ padding:0 14px !important; gap:8px !important; min-height:60px; }
  .nav-burger{
    flex:0 0 44px !important; width:44px !important; height:44px !important;
    margin-right:6px !important; position:relative !important;
  }
  .brand-mark{
    font-size:24px !important;
    flex:1 1 auto; min-width:0;
    overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
    padding-left:4px;
  }
  .brand-mark .bm-name{ font-size:24px !important; }
}
@media (max-width:640px){
  .topbar{ padding:8px 12px !important; min-height:58px !important; gap:6px !important; }
  .nav-burger{ flex:0 0 40px !important; width:40px !important; height:40px !important; margin-right:4px !important; }
  .brand-mark, .brand-mark .bm-name{ font-size:22px !important; }
}
@media (max-width:380px){
  .brand-mark, .brand-mark .bm-name{ font-size:19px !important; }
}

/* ── 2. Mobile hero — remove the dark "black bar" above the photo,
       stack title tight, narrow CTAs, place eyebrow above title ── */
@media (max-width:760px){
  #page-home .hero{
    position:relative !important; min-height:88vh !important;
    padding:0 !important; overflow:hidden !important;
    background:transparent !important;
  }
  /* Photo fills the hero seamlessly under the topbar */
  #page-home .hero .hero-photo{
    position:absolute !important; inset:0 !important;
    width:100% !important; height:100% !important;
    z-index:0 !important; display:block !important; overflow:hidden !important;
  }
  #page-home .hero .hero-photo::before{ display:none !important; }
  #page-home .hero .hero-photo::after{ display:none !important; }
  #page-home .hero .hero-photo img{
    width:100% !important; height:100% !important;
    object-fit:cover !important; object-position:60% 12% !important;
    opacity:1 !important;
  }
  /* Kill the dark column gradient that creates the "black bar" */
  #page-home .hero .hero-grad{ display:none !important; }
  #page-home .hero .hero-brush{ display:none !important; }

  /* Inner column anchored to bottom with a single readable scrim */
  #page-home .hero .hero-inner{
    position:absolute !important; left:0; right:0; bottom:0; top:auto !important;
    z-index:3 !important; margin:0 !important; max-width:none !important;
    padding:64px 22px 28px !important;
    background:linear-gradient(180deg, rgba(14,8,16,0) 0%, rgba(14,8,16,.35) 35%, rgba(14,8,16,.82) 70%, #0e0810 100%) !important;
  }
  /* Eyebrow sits right under the topbar/brand visually, above the title */
  #page-home .hero .hero-eyebrow{
    margin:0 0 12px !important; color:#ffd23f !important;
    font-size:11px !important; letter-spacing:.22em !important;
  }
  #page-home .hero .hero-eyebrow span{ color:#ffd23f !important; }

  /* Title: 3 tight stacked lines — Marnie / advises / childcare operators. */
  #page-home .hero .hero-title{
    font-size:clamp(44px, 12vw, 64px) !important;
    line-height:.98 !important;
    margin:0 0 14px !important;
    color:#fff !important;
  }
  #page-home .hero .hero-title em,
  #page-home .hero .hero-title .verb-cycle span{ color:#fff !important; line-height:.98 !important; }
  #page-home .hero .verb-cycle{ height:1em !important; line-height:.98 !important; vertical-align:baseline !important; }
  #page-home .hero .hero-title br{ display:block !important; content:""; margin:0 !important; }

  #page-home .hero .hero-sub{
    color:rgba(255,255,255,.88) !important;
    font-size:14px !important; line-height:1.4 !important;
    margin:0 0 18px !important;
  }

  /* CTAs: narrow, shorter pills */
  #page-home .hero .home-cta-row{
    display:flex !important; flex-wrap:wrap !important;
    gap:10px !important;
  }
  #page-home .hero .home-cta-row .btn{
    flex:0 1 auto !important; width:auto !important;
    padding:10px 18px !important;
    font-size:11px !important; letter-spacing:.12em !important;
    height:auto !important; min-height:0 !important;
    border-radius:999px !important;
  }
  #page-home .hero .home-cta-row .btn span{ display:inline-block; margin-left:4px; }
  /* Hide the tertiary feasibility CTA on phones to keep the row clean */
  #page-home .hero .home-cta-row .btn.btn-yellow{ display:none !important; }
}

/* ── 3. Podcast feature on mobile: remove huge empty space inside the
       playrow (the .phf-embed was claiming 520px of flex-basis along
       the column axis when stacked, leaving a giant blue void). ── */
@media (max-width:900px){
  #page-home .phf-playrow{
    padding:14px !important;
    gap:12px !important;
  }
  #page-home .phf-embed{
    flex:0 0 auto !important;
    width:100% !important;
    padding:10px 12px 6px !important;
  }
  #page-home .phf-embed-clip{ height:170px !important; }
  #page-home .phf-embed-frame{ height:200px !important; }
  #page-home .phf-ctas{
    display:flex !important; flex-direction:column !important;
    align-items:stretch !important; gap:10px !important;
    width:100% !important;
  }
  #page-home .phf-cta-text, #page-home .phf-cta-pill{
    text-align:center !important; width:100% !important;
  }
  /* Tighten section padding so the section doesn't add extra void below */
  .podcast-feature-home{ padding:48px 0 !important; }
  .podcast-feature-home .container{ padding:0 18px !important; }
}

/* ── 4. Newsletter input: visible gray placeholder, real email field look ── */
.site-footer .footer-cta .fc-form input{
  text-align:left !important;
  padding:14px 20px !important;
  font-size:14px !important;
  color:#0e0810 !important;
}
.site-footer .footer-cta .fc-form input::placeholder{
  color:#9aa0a6 !important; opacity:1 !important; text-align:left !important;
  font-style:normal !important;
}

/* ── 5. Mobile footer: 3 link columns in one row, smaller text ── */
@media (max-width:640px){
  .site-footer .footer-top{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .site-footer .footer-brand{ grid-column:1 / -1; }
  .site-footer .footer-brand .mark{ font-size:30px !important; }
  .site-footer .footer-brand p{ font-size:12px !important; line-height:1.5 !important; }

  .site-footer .footer-col h5{
    font-size:11px !important; letter-spacing:.16em !important; margin-bottom:8px !important;
  }
  .site-footer .footer-col ul{ padding:0; margin:0; list-style:none; }
  .site-footer .footer-col li{ margin-bottom:6px !important; }
  .site-footer .footer-col a{ font-size:12px !important; line-height:1.35 !important; }

  /* Footer bottom: copyright + social, then small designer credit underneath */
  .site-footer .footer-bottom{
    flex-direction:column !important; align-items:center !important;
    gap:14px !important; padding-top:24px !important; text-align:center !important;
  }
  .site-footer .footer-meta .fm-built{ display:none !important; }
  .site-footer .footer-meta{
    justify-content:center !important; gap:10px !important;
    font-size:10px !important; letter-spacing:.14em !important;
  }
  .site-footer .footer-meta .fm-copy{ color:rgba(255,255,255,.7) !important; }
  .site-footer .footer-credit-line{
    margin:0 !important; font-family:var(--mono);
    font-size:9px !important; letter-spacing:.14em !important;
    text-transform:uppercase; color:rgba(255,255,255,.38) !important;
  }
  .site-footer .footer-credit-line a{ color:rgba(255,255,255,.55) !important; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.18); }
}

/* Tablet — also keep 3-col link row + small credit line */
@media (min-width:641px) and (max-width:1100px){
  .site-footer .footer-credit-line{
    flex-basis:100%; text-align:center; margin:6px 0 0 !important;
    font-family:var(--mono); font-size:10px !important; letter-spacing:.16em !important;
    text-transform:uppercase; color:rgba(255,255,255,.4) !important;
  }
  .site-footer .footer-credit-line a{ color:rgba(255,255,255,.62) !important; text-decoration:none; }
  .site-footer .footer-meta .fm-built{ font-size:10px !important; }
}

/* Desktop: keep designer credit small + unobtrusive next to copyright */
@media (min-width:1101px){
  .site-footer .footer-credit-line{
    margin:0 0 0 16px !important; display:inline-block;
    font-family:var(--mono); font-size:10px !important; letter-spacing:.16em !important;
    text-transform:uppercase; color:rgba(255,255,255,.4) !important;
  }
  .site-footer .footer-credit-line a{ color:rgba(255,255,255,.6) !important; text-decoration:none; }
}

/* ══════════════════════════════════════════════════════════════════
   2026-06-25 PM·6 — Burger always visible + clickable, drawer narrower
   ══════════════════════════════════════════════════════════════════ */
@media (max-width:1100px){
  /* Force burger to render above any overlay, on every page/route */
  .nav-burger{
    display:flex !important;
    z-index:140 !important;
    pointer-events:auto !important;
  }
  /* Solid black bars in normal state, white when drawer is open — every
     page, every theme. */
  .nav-burger span{
    background:#0e0810 !important;
    width:24px !important; height:2.5px !important; border-radius:2px;
  }
  body.nav-open .nav-burger span{ background:#fff9f5 !important; }
  body.theme-midnight .nav-burger span,
  body.dark-page .nav-burger span{ background:#0e0810 !important; }
  /* When the drawer is open, raise the burger above the drawer so it stays tappable */
  body.nav-open .nav-burger{ z-index:160 !important; }
}

/* ---- Globalize ab2-close so it can render outside #page-about (e.g. home) ---- */
.ab2-wrap{ max-width:1180px; margin:0 auto; padding-inline:clamp(20px,6vw,110px); }
.ab2-rev.in{ opacity:1; transform:none; }
.ab2-grain{ position:absolute; inset:0; opacity:.5; mix-blend-mode:overlay; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.ab2-orb{ position:absolute; border-radius:50%; pointer-events:none; filter:blur(2px); }
.ab2-orb.a{ top:-12%; right:-8%; width:42vw; height:42vw; background:radial-gradient(circle at 35% 35%, rgba(255,31,110,.32), transparent 68%); }
.ab2-orb.b{ bottom:-16%; left:-10%; width:38vw; height:38vw; background:radial-gradient(circle at 50% 50%, rgba(30,63,195,.30), transparent 70%); }
.ab2-close{ padding:clamp(80px,11vw,160px) 0; background:var(--ink); color:var(--paper); position:relative; overflow:hidden; text-align:center; }
.ab2-close h2{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(38px,7vw,92px); line-height:.98; letter-spacing:-.03em; margin:0; position:relative; color:var(--paper); }
.ab2-close h2 em{ color:var(--yellow); font-style:italic; }
.ab2-close p{ position:relative; font-family:var(--serif-alt); font-style:italic; font-size:clamp(18px,2vw,24px); color:rgba(255,249,245,.78); margin:24px auto 40px; max-width:48ch; }
.ab2-close .home-cta-row{ position:relative; justify-content:center; display:flex; gap:14px; flex-wrap:wrap; }

/* ─── Impact page — case-card refinements ─── */
/* Case 01 Lake Nona: shrink the white logo panel to ~1/3 size and vertically center it next to the text */
#page-impact .case-card[data-case-num="01"] .case-card-body{ align-items:center; grid-template-columns:240px 1fr; gap:36px; }
#page-impact .case-card[data-case-num="01"] .case-card-photo{ aspect-ratio:827 / 311; width:240px; max-width:240px; height:auto; background:#fff; border-radius:12px; box-shadow:0 8px 20px -10px rgba(14,8,16,.25), 0 0 0 1px rgba(14,8,16,.12); }
#page-impact .case-card[data-case-num="01"] .case-card-photo img{ width:100%; height:100%; object-fit:contain !important; padding:10px !important; display:block; }

/* Impact quotes: center the block; hide default corner marks and use ::before/::after on the paragraph so quotes hug the actual first/last words */
#page-impact .case-card-quote{ text-align:center; padding:88px 72px 72px; position:relative; }
#page-impact .case-card-quote .ccq-mark{ display:none !important; }
#page-impact .case-card-quote p{ position:relative; display:inline-block; max-width:52ch; margin:0 auto; padding:0 .35em; }
#page-impact .case-card-quote p::before,
#page-impact .case-card-quote p::after{
  position:absolute; font-family:var(--serif,'Fraunces',serif); font-style:italic; font-weight:600;
  font-size:1.9em; line-height:1; color:#0e0810; opacity:.9; pointer-events:none;
}
#page-impact .case-card-quote p::before{ content:"\201C"; top:-.55em; left:-.55em; }
#page-impact .case-card-quote p::after{ content:"\201D"; bottom:-.75em; right:-.45em; }
#page-impact .case-card-quote cite{ display:block; text-align:center; margin-top:28px; }

/* Force quote text to black across all themes/hover states */
#page-impact .case-card-quote,
#page-impact .case-card-quote p,
#page-impact .case-card-quote p em,
#page-impact .case-card-quote cite,
#page-impact .case-card:hover .case-card-quote,
#page-impact .case-card:hover .case-card-quote p,
#page-impact .case-card:hover .case-card-quote p em,
#page-impact .case-card:hover .case-card-quote cite{ color:#0e0810 !important; }



/* ─── Impact page — v2 palette + layout refinements ─── */
/* Soften all card backgrounds to a light pink with subtle darker corner gradients (like the "next generation" homepage section, in pink) */
#page-impact .case-card[data-case-accent]{
  --case-bg:#fdeef1; --case-fg:#0e0810; --case-accent:#ff1f6e;
  --case-quote-bg:#ffffff; --case-quote-fg:#0e0810; --case-quote-border:rgba(14,8,16,.12);
  --case-quote-hover-bg:#ffffff; --case-quote-hover-fg:#0e0810;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,31,110,.18), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(255,31,110,.14), transparent 44%),
    radial-gradient(circle at 100% 100%, rgba(30,63,195,.10), transparent 46%),
    radial-gradient(circle at 0% 100%, rgba(255,210,58,.14), transparent 44%),
    #fdeef1;
  border-color:rgba(14,8,16,.14);
  color:#0e0810;
}
#page-impact .case-card[data-case-accent]:hover{ background:
    radial-gradient(circle at 0% 0%, rgba(255,31,110,.24), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(255,31,110,.18), transparent 44%),
    radial-gradient(circle at 100% 100%, rgba(30,63,195,.14), transparent 46%),
    radial-gradient(circle at 0% 100%, rgba(255,210,58,.18), transparent 44%),
    #fbe5ea; }
#page-impact .case-card :is(.case-card-headline,.case-card-lead,.case-card-org,.case-card-num,.ccm-num,.ccm-lbl){ color:#0e0810 !important; }
#page-impact .case-card:hover :is(.case-card-headline,.case-card-lead,.case-card-org,.case-card-num,.ccm-num,.ccm-lbl){ color:#0e0810 !important; }
#page-impact .case-card .case-card-tag{ color:#fff9f5 !important; }
#page-impact .case-card:hover .case-card-tag{ color:#0e0810 !important; }

/* Cards 02–05: photo pinned top-right, ~25% smaller, text aligns with headline */
#page-impact .case-card:not([data-case-num="01"]) .case-card-body{
  display:block; margin-bottom:44px;
}
#page-impact .case-card:not([data-case-num="01"]) .case-card-photo{
  float:right; width:230px; aspect-ratio:4 / 5; margin:0 0 20px 32px;
  border-radius:16px; box-shadow:0 12px 28px -14px rgba(14,8,16,.28), 0 0 0 1px rgba(14,8,16,.10);
}
#page-impact .case-card:not([data-case-num="01"]) .case-card:hover .case-card-photo{
  box-shadow:0 16px 36px -14px rgba(14,8,16,.4), 0 0 0 1px rgba(14,8,16,.18);
}
#page-impact .case-card:not([data-case-num="01"]) .case-card-content{ display:block; }
#page-impact .case-card:not([data-case-num="01"]) .case-card-content > * + *{ margin-top:24px; }
#page-impact .case-card:not([data-case-num="01"]) .case-card-body::after{ content:""; display:block; clear:both; }
@media (max-width: 780px){
  #page-impact .case-card:not([data-case-num="01"]) .case-card-photo{
    float:none; width:100%; max-width:280px; margin:0 auto 24px; display:block;
  }
}

/* ─── Impact page — distinct color per numbered section ─── */
#page-impact .case-card[data-case-num="01"]{ background:#fff9f5; border-color:rgba(14,8,16,.12); }
#page-impact .case-card[data-case-num="01"]:hover{ background:#f5f0eb; }

#page-impact .case-card[data-case-num="02"]{ background:#fefce8; border-color:rgba(14,8,16,.12); }
#page-impact .case-card[data-case-num="02"]:hover{ background:#fef9c3; }

#page-impact .case-card[data-case-num="03"]{ background:#fdeef1; border-color:rgba(14,8,16,.12); }
#page-impact .case-card[data-case-num="03"]:hover{ background:#fbe5ea; }

#page-impact .case-card[data-case-num="04"]{ background:#eff6ff; border-color:rgba(14,8,16,.12); }
#page-impact .case-card[data-case-num="04"]:hover{ background:#dbeafe; }

#page-impact .case-card[data-case-num="05"]{ background:#f0fdf4; border-color:rgba(14,8,16,.12); }
#page-impact .case-card[data-case-num="05"]:hover{ background:#dcfce7; }

/* ── Global override: hide color-palette (theme) button on all viewports,
   and ensure language (globe) button always shows. Fixes tablet where a
   media query was overriding the inline display:none on .theme-cycle. ── */
.theme-cycle,
.topbar .theme-cycle,
#themeCycle { display: none !important; }
.lang-cycle,
.topbar .lang-cycle,
#langCycle { display: inline-flex !important; }
