/* bwe-extras.css
   Source of truth for new section styles + cross-cutting overrides.
   Loaded after the inline <style> in <head>, so same-specificity rules
   win here. !important is used only for known higher-specificity legacy
   conflicts (eyebrow text-transform, mostly).
*/

/* ============================================================
   EYEBROW NORMALIZATION
   Site-wide: lowercase Gaegu, purple-d. No tracked-caps anymore.
   !important is needed because legacy rules use descendant selectors
   like ".pricing .pricing-eye" which outrank our class-only rule.
   ============================================================ */
.pricing-eye, .pcard-eye, .parent-eye, .parent-card-eye,
.vfr-eye, .speak-eye, .lives-eye, .slow-eye, .fam-eye,
.belief-eye, .voices-eye, .voices-feat-eye, .ms-eye,
.endorse-eye, .world-eye, .portal-eye, .closing-eye,
.about-eye, .kids-app-eye, .tony-eye {
  font-family: 'Gaegu', cursive !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: var(--purple-d) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.4 !important;
}

/* ============================================================
   KIDS-APP SECTION
   ============================================================ */
.kids-app{padding:130px 24px 120px;background:linear-gradient(180deg,#f5f0e6 0%,#ede4d3 100%);position:relative;overflow:hidden}
.kids-app-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}
.kids-app-orb-1{width:280px;height:280px;background:#e8845a;opacity:.10;top:-80px;right:-60px;animation:float 22s ease-in-out infinite}
.kids-app-orb-2{width:340px;height:340px;background:#9a70d4;opacity:.10;bottom:-100px;left:-80px;animation:float 26s ease-in-out infinite -10s}
.kids-app-inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;position:relative;z-index:1}
.kids-app-visual img{width:100%;height:auto;display:block;border-radius:28px;box-shadow:0 30px 70px rgba(45,40,32,.22),0 10px 24px rgba(45,40,32,.10);transform:rotate(-1.8deg);transition:transform .5s ease}
.kids-app-visual:hover img{transform:rotate(0deg) scale(1.02)}
.kids-app-text{padding:8px 0}
.kids-app-eye{margin-bottom:18px;letter-spacing:.02em}
.kids-app-h{font-family:'Shrikhand',serif;font-size:clamp(46px,6.8vw,82px);color:var(--ink);line-height:1.0;letter-spacing:-.02em;margin-bottom:28px}
.kids-app-h .pop{color:var(--coral)}
.kids-app-sub{font-family:'Gaegu',cursive;font-size:clamp(20px,2.1vw,24px);color:#3a342a;line-height:1.55;margin-bottom:34px;max-width:540px}
.kids-app-badges{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px;align-items:center}
.kids-app-badges a{display:inline-block;transition:transform .2s ease}
.kids-app-badges a:hover{transform:translateY(-2px)}
.kids-app-badges img{height:54px;width:auto;display:block}
.kids-app-fine{font-family:'Gaegu',cursive;font-size:17px;color:#5a5040;line-height:1.5}
@media(max-width:820px){
  .kids-app{padding:80px 18px 70px}
  .kids-app-inner{grid-template-columns:1fr;gap:40px;text-align:center}
  .kids-app-visual img{transform:rotate(-1deg);max-width:480px;margin:0 auto}
  .kids-app-sub{margin-left:auto;margin-right:auto}
  .kids-app-badges{justify-content:center}
}

/* ============================================================
   TONY FEATURE
   ============================================================ */
.tony{padding:120px 24px 110px;background:#f5f0e6;position:relative}
.tony-eye-row{max-width:1140px;margin:0 auto 56px;display:flex;align-items:center;gap:22px;justify-content:center}
.tony-eye{margin:0;flex-shrink:0;font-size:20px !important}
.tony-eye-line{flex:0 0 80px;height:1px;background:var(--purple-d);opacity:.35}
.tony-inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center}
.tony-portrait{position:relative}
.tony-portrait img{width:100%;height:auto;display:block;border-radius:18px;box-shadow:0 30px 70px rgba(45,40,32,.20),0 10px 24px rgba(45,40,32,.10);transform:rotate(-1.5deg)}
.tony-caption{font-family:'Gaegu',cursive;font-size:18px;color:#5a5040;text-align:center;margin-top:18px;transform:rotate(-1deg)}
.tony-text{padding:0 8px;position:relative}
.tony-quotemark{position:absolute;top:-58px;left:-14px;font-family:'Shrikhand',serif;font-size:160px;line-height:.7;color:var(--coral);opacity:.28;pointer-events:none}
.tony-q{font-family:'Averia Serif Libre',serif;font-size:clamp(22px,2.4vw,30px);line-height:1.45;color:var(--ink);margin:0 0 28px;font-style:italic;font-weight:400;position:relative;z-index:1}
.tony-q em{font-style:italic;color:var(--purple-d);font-weight:600}
.tony-attr{padding-top:18px;border-top:1px solid rgba(45,40,32,.15)}
.tony-name{font-family:'Shrikhand',serif;font-size:26px;color:var(--ink);margin:0 0 6px;letter-spacing:-.01em}
.tony-role{font-family:'Fredoka',sans-serif;font-size:15px;color:#5a5040;line-height:1.5;margin:0;font-weight:400}
.tony-counter{max-width:760px;margin:80px auto 0;padding:38px 40px;background:#ede4d3;border-radius:18px;border-left:4px solid #7a9a5a;position:relative}
.tony-counter-q{font-family:'Averia Serif Libre',serif;font-size:18px;line-height:1.65;color:var(--ink);margin:0 0 14px;font-style:italic}
.tony-counter-q strong{color:#c85535;font-weight:600;font-style:normal}
.tony-counter-by{font-family:'Gaegu',cursive;font-size:16px;color:#5a5040;margin:0;letter-spacing:.04em}
@media(max-width:820px){
  .tony{padding:80px 18px 70px}
  .tony-inner{grid-template-columns:1fr;gap:40px}
  .tony-quotemark{font-size:120px;top:-44px}
  .tony-counter{padding:28px 24px;margin-top:54px}
  .tony-eye-line{flex:0 0 32px}
}

/* ============================================================
   PRICING
   ============================================================ */
.pricing{padding:130px 24px 110px;background:#ede4d3;position:relative;overflow:hidden}
.pricing-head{max-width:760px;margin:0 auto 64px;text-align:center}
.pricing-eye{margin-bottom:14px;font-size:20px !important}
.pricing-h{font-family:'Shrikhand',serif;font-size:clamp(40px,6vw,68px);line-height:1.05;letter-spacing:-.02em;color:var(--ink);margin-bottom:18px}
.pricing-h .pop{color:var(--coral)}
.pricing-sub{font-family:'Gaegu',cursive;font-size:19px;color:#5a5040;line-height:1.5;max-width:540px;margin:0 auto 28px}

/* Toggle pill: cleaner with inline save tag tucked next to "yearly" */
.pricing-toggle{display:inline-flex;background:rgba(255,255,255,.6);border:1px solid rgba(45,40,32,.10);border-radius:999px;padding:5px;gap:4px;align-items:center}
.pricing-toggle-btn{font-family:'Gaegu',cursive;font-size:17px;background:transparent;border:0;padding:9px 22px;border-radius:999px;cursor:pointer;color:#5a5040;transition:all .2s;display:inline-flex;align-items:center;gap:8px;line-height:1}
.pricing-toggle-btn.is-active{background:var(--purple);color:#f5f0e6}
.pricing-save{font-size:12px;background:rgba(232,132,90,.15);color:#c85535;padding:2px 8px;border-radius:6px;font-weight:600;letter-spacing:0}
.pricing-toggle-btn.is-active .pricing-save{background:rgba(255,255,255,.22);color:#fff}

.pricing-cards{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.pcard{background:#fdfaf2;border-radius:18px;padding:34px 30px 32px;position:relative;box-shadow:0 16px 38px rgba(45,40,32,.10),0 4px 10px rgba(45,40,32,.05);transition:transform .35s ease,box-shadow .35s ease;background-image:radial-gradient(rgba(45,40,32,.025) 1px,transparent 1px);background-size:8px 8px}
.pcard:nth-child(1){transform:rotate(-.7deg)}
.pcard:nth-child(2){transform:rotate(0deg);z-index:2}
.pcard:nth-child(3){transform:rotate(.7deg)}
.pcard:hover{transform:rotate(0deg) translateY(-4px);box-shadow:0 26px 54px rgba(45,40,32,.14),0 8px 18px rgba(45,40,32,.07)}
.pcard.is-featured{border:1.5px solid var(--purple);box-shadow:0 22px 50px rgba(154,112,212,.18),0 6px 14px rgba(45,40,32,.07)}
.pcard-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%) rotate(-2deg);background:var(--purple);color:#f5f0e6;font-family:'Gaegu',cursive;font-size:14px;letter-spacing:.04em;padding:5px 16px;border-radius:6px;box-shadow:0 4px 10px rgba(106,72,164,.25)}
.pcard-eye{margin:0 0 4px;font-size:16px !important}
.pcard-name{font-family:'Shrikhand',serif;font-size:34px;color:var(--ink);margin:0 0 8px;letter-spacing:-.01em}
.pcard-blurb{font-family:'Gaegu',cursive;font-size:17px;color:#5a5040;line-height:1.45;margin:0 0 22px;min-height:48px}
.pcard-price{display:flex;align-items:baseline;gap:6px;margin-bottom:6px}
.pcard-amount{font-family:'Shrikhand',serif;font-size:48px;color:var(--ink);letter-spacing:-.02em;line-height:1}
.pcard-period{font-family:'Gaegu',cursive;font-size:18px;color:#5a5040}
.pcard-fine{font-family:'Gaegu',cursive;font-size:15px;color:#5a5040;margin:0 0 22px}
.pcard-cta{display:block;width:100%;text-align:center;padding:13px 18px;border-radius:999px;font-family:'Fredoka',sans-serif;font-size:16px;font-weight:500;text-decoration:none;border:1.5px solid var(--ink);color:var(--ink);background:transparent;transition:all .2s;margin-bottom:22px;cursor:pointer;box-sizing:border-box}
.pcard-cta:hover{background:var(--ink);color:#f5f0e6}
.pcard-cta-primary{background:var(--purple);color:#f5f0e6;border-color:var(--purple)}
.pcard-cta-primary:hover{background:var(--purple-d);border-color:var(--purple-d);color:#f5f0e6}
.pcard-cta-coral{background:var(--coral);color:#fff;border-color:var(--coral)}
.pcard-cta-coral:hover{background:#c85535;border-color:#c85535}
.pcard-list{list-style:none;padding:0;margin:0;font-family:'Gaegu',cursive;font-size:17px;color:var(--ink);line-height:1.45}
.pcard-list li{padding:7px 0 7px 28px;position:relative}
.pcard-list li::before{content:"";position:absolute;left:0;top:11px;width:18px;height:14px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 14'><path d='M2 7.5 Q5 11 7.5 11 Q12 8 16 2.5' stroke='%237a9a5a' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-size:contain;background-repeat:no-repeat}
.pcard-list li.muted{color:rgba(45,40,32,.4)}
.pcard-list li.muted::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 14'><path d='M3 3 L15 11 M15 3 L3 11' stroke='%23999' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");opacity:.5}
.pcard-team{margin-bottom:20px;padding:14px 16px;background:rgba(232,132,90,.08);border-radius:12px}
.pcard-team-label{font-family:'Gaegu',cursive;font-size:16px;color:var(--ink);display:flex;justify-content:space-between;margin-bottom:8px}
.pcard-team-value{color:var(--coral);font-weight:600}
.pcard-team-range{width:100%;accent-color:var(--coral);height:6px}
.pcard-team-fine{font-family:'Gaegu',cursive;font-size:14px;color:#5a5040;margin:6px 0 0;text-align:right}
.pricing-foot{text-align:center;margin-top:48px;font-family:'Gaegu',cursive;font-size:18px;color:#5a5040}
.pricing-foot a{color:var(--purple-d);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
@media(max-width:900px){
  .pricing-cards{grid-template-columns:1fr;gap:30px;max-width:520px}
  .pcard:nth-child(n){transform:rotate(0)}
  .pricing{padding:80px 18px 70px}
}

/* ============================================================
   ABOUT PARENT CARDS (kids visual + badges)
   ============================================================ */
.parent-card-visual{margin:18px 0 18px;border-radius:14px;overflow:hidden;box-shadow:0 14px 34px rgba(45,40,32,.16);transform:rotate(-1deg)}
.parent-card-visual img{width:100%;height:auto;display:block}
.parent-card-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}
.parent-card-badges a{display:inline-block;transition:transform .2s ease}
.parent-card-badges a:hover{transform:translateY(-2px)}
.parent-card-badges img{height:44px;width:auto;display:block}
.parent-card-fine{font-family:'Gaegu',cursive;font-size:15px;color:#5a5040;margin-top:10px}

/* ============================================================
   READABILITY FLOOR
   No body-text class should render below 16px. The screenshots
   showed legacy classes coming through at 13-14px. This is a
   gentle bump, not a sledgehammer.
   ============================================================ */
.fam-text, .vfr-sub, .voices-feat-q, .belief-lines p {
  font-size: 17px;
}
.parent-text { font-size: 18px; }
.parent-card-text { font-size: 16px; line-height: 1.55; }
.nonprofit-bit { font-size: 15px; line-height: 1.6; }


/* visible card tilts */
.pcard:nth-child(1){transform:rotate(-1.4deg) !important}
.pcard:nth-child(3){transform:rotate(1.4deg) !important}
.pcard:hover{transform:rotate(0deg) translateY(-4px) !important}

/* about page: take the italic out of the parent body copy */
.parent-text, .parent-card-text {
  font-style: normal !important;
  font-family: 'Averia Serif Libre', Georgia, serif;
  font-size: 17px;
  line-height: 1.6;
}
.parent-card-text { font-size: 16px; }

/* save tag: keep tight inside the toggle pill */
.pricing-save{padding:3px 9px;border-radius:5px;font-size:11px;letter-spacing:0}


/* === GLOBAL FOOTER === */
.rw-footer{background:linear-gradient(180deg,#2d1a52 0%,#1f1138 100%);color:#f5f0e6;padding:90px 24px 38px;position:relative;overflow:hidden}
.rw-footer-doodle{position:absolute;pointer-events:none;opacity:.20}
.rw-footer-doodle-1{top:36px;right:7%;width:46px;height:46px;animation:float 18s ease-in-out infinite}
.rw-footer-doodle-2{bottom:80px;left:5%;width:62px;height:62px;animation:float 24s ease-in-out infinite -8s}
.rw-footer-inner{max-width:1140px;margin:0 auto;position:relative;z-index:1}
.rw-footer-kids{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);border-radius:20px;padding:30px 36px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin-bottom:60px}
.rw-footer-kids-eye{font-family:'Gaegu',cursive;font-size:14px;color:rgba(245,240,230,.55);margin:0 0 6px;letter-spacing:.02em}
.rw-footer-kids-h{font-family:'Shrikhand',serif;font-size:32px;color:#f5f0e6;margin:0 0 8px;letter-spacing:-.01em;line-height:1.05}
.rw-footer-kids-h .pop{color:#e8845a}
.rw-footer-kids-sub{font-family:'Gaegu',cursive;font-size:16px;color:rgba(245,240,230,.72);margin:0;line-height:1.5;max-width:440px}
.rw-footer-kids-badges{display:flex;gap:10px;flex-shrink:0}
.rw-footer-kids-badges a{display:inline-block;transition:transform .2s ease}
.rw-footer-kids-badges a:hover{transform:translateY(-2px)}
.rw-footer-kids-badges img{height:46px;width:auto;display:block}
.rw-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;margin-bottom:42px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.10)}
.rw-footer-mark{font-family:'Shrikhand',serif;font-size:38px;color:#f5f0e6;margin:0 0 14px;letter-spacing:-.01em;line-height:1}
.rw-footer-tag{font-family:'Gaegu',cursive;font-size:17px;color:rgba(245,240,230,.78);line-height:1.55;max-width:300px;margin:0}
.rw-footer-h{font-family:'Shrikhand',serif;font-size:18px;color:#f5f0e6;margin:0 0 16px;letter-spacing:0;font-weight:400}
.rw-footer-col ul{list-style:none;padding:0;margin:0}
.rw-footer-col li{margin-bottom:10px}
.rw-footer-col a{color:rgba(245,240,230,.72);text-decoration:none;font-family:'Gaegu',cursive;font-size:16px;transition:color .2s}
.rw-footer-col a:hover{color:#e8845a}
.rw-footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.rw-footer-copy,.rw-footer-mantra{font-family:'Gaegu',cursive;font-size:14px;color:rgba(245,240,230,.55);margin:0}
.rw-footer-mantra .heart{color:#e8845a;margin-left:6px}
@media(max-width:820px){
  .rw-footer{padding:60px 18px 30px}
  .rw-footer-kids{grid-template-columns:1fr;text-align:center;padding:24px}
  .rw-footer-kids-badges{justify-content:center}
  .rw-footer-grid{grid-template-columns:1fr 1fr;gap:30px}
  .rw-footer-brand{grid-column:1 / -1}
  .rw-footer-tag{max-width:none}
  .rw-footer-bottom{flex-direction:column;text-align:center}
}

/* about page: kill italic on parent body copy
   Higher-specificity selectors plus !important to outrank legacy rules. */
section.parent .parent-inner .parent-text,
section.parent .parent-inner .parent-card .parent-card-text {
  font-style: normal !important;
  font-family: 'Averia Serif Libre', Georgia, serif !important;
}
section.parent .parent-inner .parent-text { font-size: 17px !important; line-height: 1.7 !important; }
section.parent .parent-inner .parent-card .parent-card-text { font-size: 16px !important; line-height: 1.6 !important; }


/* === HOMEPAGE CRAFT SECTION === */
.craft{padding:120px 24px 100px;background:#f5f0e6;position:relative}
.craft-inner{max-width:720px;margin:0 auto;text-align:center}
.craft-eye{font-family:'Gaegu',cursive !important;font-size:18px !important;color:var(--purple-d) !important;text-transform:none !important;letter-spacing:0 !important;margin-bottom:14px}
.craft-h{font-family:'Shrikhand',serif;font-size:clamp(40px,6vw,64px);color:var(--ink);line-height:1.05;letter-spacing:-.02em;margin:0 0 36px}
.craft-h .pop{color:var(--purple)}
.craft-prose{text-align:left;font-family:'Averia Serif Libre',Georgia,serif;font-size:18px;line-height:1.75;color:var(--ink);max-width:600px;margin:0 auto}
.craft-prose p{margin:0 0 18px}
.craft-prose p:last-child{margin-bottom:0;font-style:italic;color:#5a5040}
.craft-link{display:inline-block;margin-top:36px;font-family:'Fredoka',sans-serif;font-size:17px;color:var(--purple-d);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;font-weight:500}
.craft-link span{margin-left:4px}
@media(max-width:820px){
  .craft{padding:80px 18px 70px}
  .craft-prose{font-size:17px}
}

/* === ABOUT FILM PROCESS SECTION === */
.film-process{padding:120px 24px 100px;background:#f5f0e6;position:relative;overflow:hidden}
.film-process-inner{max-width:1140px;margin:0 auto;text-align:center}
.film-process-eye{font-family:'Gaegu',cursive !important;font-size:18px !important;color:var(--purple-d) !important;text-transform:none !important;letter-spacing:0 !important;margin-bottom:14px}
.film-process-h{font-family:'Shrikhand',serif;font-size:clamp(40px,6vw,68px);color:var(--ink);line-height:1.05;letter-spacing:-.02em;margin:0 0 18px}
.film-process-h .pop{color:var(--purple)}
.film-process-sub{font-family:'Averia Serif Libre',Georgia,serif;font-style:italic;font-size:19px;color:#5a5040;line-height:1.6;max-width:560px;margin:0 auto 56px}
.film-process-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:left;margin-bottom:48px}
.fpcard{background:#fdfaf2;border-radius:18px;padding:38px 32px 34px;position:relative;box-shadow:0 14px 32px rgba(45,40,32,.10),0 4px 10px rgba(45,40,32,.05);background-image:radial-gradient(rgba(45,40,32,.025) 1px,transparent 1px);background-size:8px 8px}
.fpcard:nth-child(1){transform:rotate(-1deg)}
.fpcard:nth-child(2){transform:rotate(.6deg)}
.fpcard:nth-child(3){transform:rotate(-.4deg)}
.fpcard-tape{position:absolute;top:-8px;width:54px;height:18px;border-radius:2px;opacity:.7}
.fpcard-tape-1{left:30px;background:#c4d4e0;transform:rotate(-3deg)}
.fpcard-tape-2{left:42px;background:#f4c8b0;transform:rotate(2deg)}
.fpcard-tape-3{left:36px;background:#cad9b8;transform:rotate(-2deg)}
.fpcard-num{font-family:'Shrikhand',serif;font-size:48px;line-height:1;letter-spacing:-.02em;margin-bottom:14px}
.fpcard-h{font-family:'Shrikhand',serif;font-size:24px;color:var(--ink);line-height:1.2;margin:0 0 14px;letter-spacing:-.01em}
.fpcard-text{font-family:'Averia Serif Libre',Georgia,serif;font-size:16px;line-height:1.65;color:#3a342a;margin:0;font-style:normal !important}
.film-process-coda{font-family:'Gaegu',cursive;font-size:19px;color:#5a5040;line-height:1.55;max-width:540px;margin:8px auto 0;font-style:normal}
@media(max-width:900px){
  .film-process{padding:80px 18px 70px}
  .film-process-cards{grid-template-columns:1fr;gap:30px;max-width:480px;margin-left:auto;margin-right:auto}
  .fpcard:nth-child(n){transform:rotate(0)}
}






/* === PRACTICE SPACE small polish === */
.greet-friend{
  font-family:'Shrikhand',serif;
  color:var(--coral);
  font-style:normal;
}
.greet-stat-lbl{font-family:'Gaegu',cursive !important;font-size:14px !important;letter-spacing:0 !important;text-transform:none !important;color:#7a6f5a !important}


/* ============================================================
   FINDER (homepage) - clean rebuild
   ============================================================ */
.finder{
  position:relative;
  padding:140px 24px 130px;
  background:linear-gradient(180deg, #f5f0e6 0%, #f0e9d8 100%);
  overflow:hidden;
}
.finder-bg-doodles{position:absolute;inset:0;pointer-events:none}
.fbd{position:absolute;opacity:0.55;animation:rwfloat 22s ease-in-out infinite}
.fbd-1{top:60px;right:9%}
.fbd-2{bottom:80px;left:7%;animation-delay:-7s}
.fbd-3{top:40%;right:5%;animation-delay:-12s}

.finder-wrap{
  max-width:780px;
  margin:0 auto;
  text-align:center;
  position:relative;
  z-index:1;
}
.finder-eye{
  font-family:'Gaegu',cursive;
  font-size:18px;
  color:var(--purple-d);
  margin-bottom:14px;
  letter-spacing:0;
}
.finder-h{
  font-family:'Shrikhand',serif;
  font-size:clamp(48px, 7vw, 86px);
  line-height:0.98;
  letter-spacing:-0.02em;
  color:var(--ink);
  margin:0 auto 22px;
  max-width:720px;
}
.finder-h .pop{color:var(--coral)}
.finder-sub{
  font-family:'Averia Serif Libre',Georgia,serif;
  font-style:italic;
  font-size:21px;
  line-height:1.55;
  color:#5a5040;
  max-width:520px;
  margin:0 auto 48px;
}

.finder-card{
  position:relative;
  max-width:720px;
  margin:0 auto;
  background:var(--cream2);
  border-radius:24px;
  padding:48px 44px 42px;
  text-align:left;
  box-shadow:
    0 30px 60px rgba(45,40,32,0.12),
    0 8px 18px rgba(154,112,212,0.08);
  background-image:radial-gradient(rgba(45,40,32,0.025) 1px, transparent 1px);
  background-size:10px 10px;
}
.finder-card-corner{
  position:absolute;
  width:30px;
  height:30px;
  border:2px solid var(--purple);
  opacity:0.30;
}
.finder-card-corner-tl{top:14px;left:14px;border-right:none;border-bottom:none;border-top-left-radius:8px}
.finder-card-corner-br{bottom:14px;right:14px;border-left:none;border-top:none;border-bottom-right-radius:8px}

.finder-card #portal-input{display:block}
.finder-card #portal-input textarea,
.finder-card textarea#hero-textarea{
  width:100%;
  font-family:'Gaegu',cursive;
  font-size:19px;
  line-height:1.55;
  background:#f5f0e6;
  border:2px dashed rgba(154,112,212,0.30);
  border-radius:14px;
  padding:20px 22px;
  min-height:120px;
  color:var(--ink);
  resize:vertical;
  box-sizing:border-box;
  transition:border-color 0.2s ease, background 0.2s ease;
  outline:none;
  display:block;
}
.finder-card textarea#hero-textarea:focus{
  border-color:var(--purple);
  border-style:solid;
  background:#fff;
  box-shadow:0 0 0 4px rgba(154,112,212,0.10);
}
.finder-card textarea#hero-textarea::placeholder{
  color:#8a7e6a;
  font-style:normal;
}

.finder-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 8px;
}
.finder-card .ppill{
  font-family:'Gaegu',cursive;
  font-size:15px;
  background:#fff;
  border:1.5px solid rgba(45,40,32,0.10);
  border-radius:999px;
  padding:8px 16px;
  cursor:pointer;
  color:var(--ink);
  transition:all 0.2s ease;
}
.finder-card .ppill:hover{
  background:rgba(154,112,212,0.06);
  border-color:var(--purple);
  transform:translateY(-1px) rotate(-0.5deg);
}

.finder-go-OLD-DISABLED{
  width:100%;
  margin-top:18px;
  font-family:'Fredoka',sans-serif;
  font-size:18px;
  font-weight:500;
  padding:18px 24px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--purple) 0%, var(--purple-d) 100%);
  color:var(--cream);
  border:0;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:0 14px 30px rgba(154,112,212,0.30), 0 4px 10px rgba(45,40,32,0.08);
  transition:all 0.25s ease;
}
.finder-go:hover:not(:disabled){
  transform:translateY(-2px);
  box-shadow:0 20px 40px rgba(154,112,212,0.38), 0 6px 12px rgba(45,40,32,0.12);
}
.finder-go:disabled{
  opacity:0.45;
  cursor:not-allowed;
  box-shadow:0 4px 10px rgba(45,40,32,0.08);
}
.finder-arr{font-size:20px;line-height:1}

/* Story strip below */
.finder-strip{
  margin:50px auto 0;
  max-width:1080px;
  overflow:hidden;
  position:relative;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.finder-strip-track{
  display:flex;
  gap:14px;
  animation:fstDrift 50s linear infinite;
  width:max-content;
}
.finder-strip:hover .finder-strip-track{animation-play-state:paused}
@keyframes fstDrift{
  0%   { transform:translateX(0) }
  100% { transform:translateX(-50%) }
}
.fst{
  position:relative;
  flex:0 0 auto;
  width:130px;
  height:130px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(45,40,32,0.12);
  transition:transform 0.3s ease;
}
.fst:nth-child(odd){transform:rotate(-1deg)}
.fst:nth-child(even){transform:rotate(1deg)}
.fst:hover{transform:rotate(0) scale(1.05);z-index:2}
.fst img{width:100%;height:100%;object-fit:cover;display:block}
.fst span{
  position:absolute;left:0;right:0;bottom:0;
  padding:14px 10px 8px;
  font-family:'Gaegu',cursive;
  font-size:12px;
  color:#fff;
  background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.65) 100%);
  text-shadow:0 1px 3px rgba(0,0,0,0.4);
}

@media(max-width:640px){
  .finder{padding:80px 18px 80px}
  .finder-card{padding:32px 24px}
  .finder-h{font-size:44px}
  .fst{width:96px;height:96px}
  .fst span{font-size:11px}
}

/* ============================================================
   PRACTICE SPACE - opening + finder card + journeys
   ============================================================ */
.ps-opening{
  padding:36px 24px 12px;
  background:transparent;
}
.ps-opening-inner{
  max-width:1140px;
  margin:0 auto;
}
.ps-date{
  font-family:'Gaegu',cursive;
  font-size:15px;
  color:#7a6f5a;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
}
.ps-date-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--coral);
  display:inline-block;
}
.ps-greet{
  font-family:'Shrikhand',serif;
  font-size:42px;
  letter-spacing:-0.01em;
  line-height:1.1;
  margin:0;
  color:var(--ink);
}
.ps-greet .bwe-user-name{color:var(--coral)}

/* Finder card on practice space (clickable, links to portal page) */
.ps-finder-sec{padding-top:24px}
.ps-finder-card{
  display:block;
  position:relative;
  background:var(--cream2);
  border-radius:24px;
  padding:42px 44px 32px;
  text-decoration:none;
  color:inherit;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(45,40,32,0.10), 0 6px 14px rgba(154,112,212,0.08);
  background-image:radial-gradient(rgba(45,40,32,0.025) 1px, transparent 1px);
  background-size:10px 10px;
  transition:transform 0.25s ease, box-shadow 0.25s ease;
  border:1px solid rgba(154,112,212,0.10);
}
.ps-finder-card:hover{
  transform:translateY(-2px);
  box-shadow:0 26px 60px rgba(45,40,32,0.14), 0 8px 18px rgba(154,112,212,0.14);
}
.ps-finder-corner{
  position:absolute;width:24px;height:24px;
  border:2px solid var(--purple);opacity:0.30;
}
.ps-finder-corner-tl{top:14px;left:14px;border-right:none;border-bottom:none;border-top-left-radius:8px}
.ps-finder-corner-br{bottom:14px;right:14px;border-left:none;border-top:none;border-bottom-right-radius:8px}

.ps-finder-body{position:relative;z-index:2}
.ps-finder-eye{
  font-family:'Gaegu',cursive;
  font-size:15px;color:var(--purple-d);
  margin-bottom:8px;
}
.ps-finder-h{
  font-family:'Shrikhand',serif;
  font-size:clamp(34px, 4.6vw, 54px);
  line-height:1.0;letter-spacing:-0.02em;
  margin:0 0 14px;color:var(--ink);
}
.ps-finder-h .pop{color:var(--coral)}
.ps-finder-sub{
  font-family:'Averia Serif Libre',Georgia,serif;
  font-style:italic;font-size:18px;line-height:1.55;
  color:#5a5040;max-width:480px;margin:0 0 22px;
}
.ps-finder-cta{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Fredoka',sans-serif;font-size:16px;font-weight:500;
  background:linear-gradient(135deg, var(--purple) 0%, var(--purple-d) 100%);
  color:var(--cream);padding:13px 24px;border-radius:999px;
  box-shadow:0 10px 22px rgba(154,112,212,0.28);
  transition:all 0.2s ease;
}
.ps-finder-card:hover .ps-finder-cta{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(154,112,212,0.36);
}
.ps-finder-arr{font-size:18px;line-height:1}

.ps-finder-strip{
  display:flex;gap:8px;margin-top:32px;
  opacity:0.85;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.ps-finder-strip img{
  width:88px;height:88px;border-radius:14px;object-fit:cover;
  flex:0 0 auto;
  box-shadow:0 4px 10px rgba(45,40,32,0.08);
}
.ps-finder-strip img:nth-child(odd){transform:rotate(-1deg)}
.ps-finder-strip img:nth-child(even){transform:rotate(1deg)}

@media(max-width:640px){
  .ps-finder-card{padding:30px 24px 24px}
  .ps-finder-strip img{width:64px;height:64px}
}

/* Journeys grid */
.ps-journeys-sec{padding-top:8px}
.journeys-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:18px;
}
.j-card{
  background:var(--cream2);
  border-radius:18px;
  padding:32px 26px;
  text-decoration:none;
  color:inherit;
  position:relative;
  transition:transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow:0 10px 24px rgba(45,40,32,0.06);
  border:1px solid rgba(45,40,32,0.06);
  background-image:radial-gradient(rgba(45,40,32,0.025) 1px, transparent 1px);
  background-size:10px 10px;
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:200px;
}
.j-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(45,40,32,0.10);
}
.j-new{
  background:linear-gradient(135deg, var(--purple) 0%, var(--purple-d) 100%);
  color:var(--cream);
  border:none;
  background-image:none;
}
.j-new:hover{box-shadow:0 18px 40px rgba(154,112,212,0.32)}
.j-new-inner{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.j-new-icon{
  width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,0.18);
  display:flex;align-items:center;justify-content:center;
  color:var(--cream);
  margin-bottom:6px;
}
.j-new-h{
  font-family:'Shrikhand',serif;font-size:24px;letter-spacing:-0.01em;
  margin:0;line-height:1.1;
}
.j-new-sub{
  font-family:'Gaegu',cursive;font-size:15px;
  color:rgba(245,240,230,0.85);margin:0;line-height:1.4;
}
.j-starter{transform:rotate(-0.5deg)}
.j-starter-2{transform:rotate(0.6deg)}
.j-starter-tape{
  position:absolute;top:-8px;left:30px;
  width:54px;height:18px;border-radius:2px;
  background:#f4c8b0;transform:rotate(-3deg);opacity:0.7;
}
.j-starter-2 .j-starter-tape{background:#cad9b8;left:42px;transform:rotate(2deg)}
.j-starter-eye{
  font-family:'Gaegu',cursive;font-size:14px;color:var(--purple-d);
  margin:0 0 6px;
}
.j-starter-h{
  font-family:'Shrikhand',serif;font-size:21px;letter-spacing:-0.01em;
  margin:0 0 8px;line-height:1.1;
}
.j-starter-sub{
  font-family:'Gaegu',cursive;font-size:14px;color:#5a5040;
  margin:0;line-height:1.5;
}
@media(max-width:820px){
  .journeys-grid{grid-template-columns:1fr 1fr;gap:14px}
  .j-card{min-height:160px}
}
@media(max-width:540px){
  .journeys-grid{grid-template-columns:1fr}
}

/* Today's film compact */
.today-card-compact{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:24px;
  background:var(--cream2);
  border-radius:18px;
  padding:18px;
  text-decoration:none;
  color:inherit;
  border:1px solid rgba(45,40,32,0.06);
  transition:transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow:0 8px 20px rgba(45,40,32,0.06);
}
.today-card-compact:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(45,40,32,0.10);
}
.tcc-img{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  aspect-ratio:16/10;
  background:#e8d9c8;
}
.tcc-img img{width:100%;height:100%;object-fit:cover;display:block}
.tcc-play{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.tcc-play svg{width:36px;height:36px;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.4))}
.tcc-text{display:flex;flex-direction:column;justify-content:center;padding:8px 12px 8px 0}
.tcc-eye{font-family:'Gaegu',cursive;font-size:13px;color:var(--purple-d);margin-bottom:6px;letter-spacing:0.02em}
.tcc-h{font-family:'Shrikhand',serif;font-size:30px;line-height:1;letter-spacing:-0.01em;margin:0 0 10px}
.tcc-h .pop{color:var(--coral)}
.tcc-desc{font-family:'Gaegu',cursive;font-size:16px;line-height:1.55;color:#3a342a;margin:0;max-width:480px}
@media(max-width:640px){
  .today-card-compact{grid-template-columns:1fr;gap:14px}
  .tcc-text{padding:0 4px 8px}
}

/* Hide the old greeting block if anything renders */
.greeting{display:none !important}
