/* ================================
   VITAL Landing, production
   Based on the Claude Design v4 handoff + mobile upgrades
   ================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Hanken+Grotesk:wght@300;400;500;600;700&family=Caveat:wght@600&display=swap');

:root{
  --bg:#E9F3F1;
  --bg-soft:#F1F8F7;
  --cream:#F5F2EC;
  --white:#FFFFFF;
  --ink:#2E2A25;
  --ink-soft:#5C564E;
  --ink-muted:#8A8279;
  --teal:#3F9D98;
  --teal-deep:#2C7E79;
  --teal-dark:#11302E;
  --teal-light:#D4EAE8;
  --teal-glow:rgba(63,157,152,0.30);
  --gold:#C19A4E;
  --gold-light:#F4ECD7;
  --gold-glow:rgba(193,154,78,0.22);
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Hanken Grotesk',system-ui,sans-serif;
  --pill:100px;
  --max-w:1140px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;overflow-x:clip}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 clamp(20px,4vw,48px)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;text-wrap:pretty}
h1{font-size:clamp(38px,5.6vw,72px)}
h2{font-size:clamp(28px,3.8vw,52px)}
h3{font-size:clamp(20px,2vw,26px)}
.eyebrow{font-weight:600;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:var(--teal)}
em.tl{font-style:italic;color:var(--teal);font-weight:600}

/* ---- store badge buttons (inline HTML, no external fetch) ---- */
.badges{display:flex;gap:14px;flex-wrap:wrap}
.badges.center{justify-content:center}
.store-btn{display:inline-flex;align-items:center;gap:12px;background:#000;color:#fff;padding:11px 20px;border-radius:11px;border:1.5px solid #3a3a3a;min-width:158px;text-decoration:none;transition:opacity .2s ease,transform .2s ease;cursor:pointer}
.store-btn:hover{opacity:.85;transform:translateY(-1px)}
.store-btn svg{flex-shrink:0}
.sbt{display:flex;flex-direction:column;gap:1px}
.sbt-sm{font-size:11px;font-family:system-ui,-apple-system,sans-serif;opacity:.82;letter-spacing:.25px;font-weight:400}
.sbt-lg{font-size:21px;font-weight:600;font-family:system-ui,-apple-system,sans-serif;line-height:1.1;letter-spacing:-.3px}

/* ---- DEVICE FRAME ---- */
.device{position:relative;display:inline-block;background:#15130F;border-radius:46px;padding:9px;box-shadow:0 30px 70px rgba(46,42,37,.22),0 6px 18px rgba(46,42,37,.12);max-width:100%}
.device img{width:100%;border-radius:38px;display:block}
.device.dark{background:#0a0a0a}
.halo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;filter:blur(60px);z-index:-1;pointer-events:none;background:radial-gradient(circle,var(--teal-glow) 0%,transparent 70%)}
.halo.gold{background:radial-gradient(circle,var(--gold-glow) 0%,transparent 70%)}

/* ---- nav ---- */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;padding:12px 0;background:rgba(233,243,241,.85);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(63,157,152,.1);transition:background .3s,box-shadow .3s}
.nav-in{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:14px}
.logo img{height:50px;width:50px;border-radius:13px}
.logo span{font-family:var(--serif);font-weight:700;font-size:24px;letter-spacing:.13em}
.nav-cta{background:var(--ink);color:var(--bg);padding:11px 26px;border-radius:var(--pill);font-weight:600;font-size:14px;white-space:nowrap;transition:.25s}
.nav-cta:hover{background:#1a1714;transform:translateY(-1px)}

/* ---- section base ---- */
.sec{padding:clamp(60px,8vw,112px) 0}
.sec.white{background:var(--white)}
.sec.cream{background:var(--cream)}
.sec.soft{background:var(--bg-soft)}
.sec-head{text-align:center;max-width:660px;margin:0 auto clamp(40px,5vw,64px)}
.sec-head .eyebrow{margin-bottom:12px;display:block}
.sec-head h2{margin-bottom:14px}
.sec-head p{font-size:clamp(16px,1.2vw,18px);color:var(--ink-soft)}

/* ---- hero ---- */
.hero{padding:clamp(112px,14vw,168px) 0 clamp(56px,8vw,110px);overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,64px);align-items:center}
.hero-copy{max-width:560px}
.rating{display:inline-flex;align-items:center;gap:8px;background:var(--white);padding:8px 16px;border-radius:var(--pill);font-size:14px;font-weight:500;color:var(--ink-soft);margin-bottom:26px;box-shadow:0 2px 14px rgba(46,42,37,.07)}
.rating .st{color:var(--gold);letter-spacing:1px}
.hero h1{margin-bottom:20px}
.hero-sub{font-size:clamp(16px,1.35vw,20px);color:var(--ink-soft);margin-bottom:32px;line-height:1.6}
.hero-tag{font-family:var(--serif);font-style:italic;color:var(--ink-muted);font-size:15px;margin-top:22px}
.hero-media{display:flex;justify-content:center;position:relative}
.hero-media .device{width:clamp(250px,30vw,330px)}
.hero-media .halo{width:440px;height:440px}

/* ---- dark beat ---- */
.dark{background:var(--teal-dark);color:#EAF3F1;position:relative;overflow:hidden}
.dark .glow{position:absolute;width:680px;height:520px;border-radius:50%;filter:blur(50px);pointer-events:none;background:radial-gradient(circle,rgba(63,157,152,.22) 0%,transparent 70%)}
.dark .container{position:relative;z-index:1}
.dark .eyebrow{color:#6FC4BE}
.dark h2{color:#F3F8F7}

/* ---- split ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,84px);align-items:center}
.split.flip .split-media{order:2}
.split-media{display:flex;justify-content:center;position:relative}
.split-media .device{width:clamp(230px,25vw,300px)}
.split-media .halo{width:380px;height:380px}
.split-copy h2{margin-bottom:18px}
.split-copy>p{font-size:clamp(16px,1.2vw,18px);color:var(--ink-soft);line-height:1.65;margin-bottom:24px}
.dark .split-copy>p{color:rgba(234,243,241,.78)}
.feat-list{display:flex;flex-direction:column;gap:16px}
.feat{display:flex;gap:13px;align-items:flex-start}
.feat-ic{flex-shrink:0;width:32px;height:32px;border-radius:9px;background:var(--teal-light);color:var(--teal-deep);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;margin-top:1px}
.dark .feat-ic{background:rgba(63,157,152,.18);color:#8FD3CE}
.feat-tx strong{display:block;font-size:15px;font-weight:600;margin-bottom:2px}
.feat-tx span{font-size:14px;color:var(--ink-soft);line-height:1.5}
.dark .feat-tx span{color:rgba(234,243,241,.7)}

/* ---- how it works: grounded card, phone + timeline rail, auto-cycle with progress ---- */
.how-card{position:relative;background:var(--white);border:1px solid rgba(63,157,152,.10);border-radius:30px;padding:clamp(26px,4.5vw,54px) clamp(18px,5vw,64px) clamp(28px,4.5vw,56px);box-shadow:0 24px 60px rgba(46,42,37,.07),0 4px 14px rgba(46,42,37,.04);overflow:hidden;max-width:1000px;margin:0 auto}
.how-head{text-align:center;max-width:600px;margin:0 auto clamp(22px,3.5vw,40px)}
.how-head .eyebrow{display:block;margin-bottom:10px}
.how-head h2{font-size:clamp(25px,3vw,40px)}
.how-row{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,4.5vw,64px);align-items:center}
.how-visual{position:relative;display:flex;justify-content:center}
.how-visual .halo{width:min(70vw,360px);height:min(70vw,360px)}
.how-visual .device{display:grid;width:clamp(190px,22vw,264px);border-radius:40px;padding:8px}
.how-visual .device .how-img{grid-area:1/1;width:100%;border-radius:33px;opacity:0;transform:scale(1.015);transition:opacity .5s ease,transform .9s ease}
.how-visual .device .how-img.is-active{opacity:1;transform:none}
.how-list{list-style:none;display:flex;flex-direction:column;gap:6px;position:relative;max-width:480px}
.how-list::before{content:'';position:absolute;left:34px;top:30px;bottom:30px;width:2px;background:var(--teal-light);border-radius:2px}
.how-step{position:relative;display:flex;gap:14px;align-items:flex-start;padding:13px 16px;border-radius:16px;cursor:pointer;transition:background .35s ease,box-shadow .35s ease}
.how-step.is-active{background:var(--bg-soft);box-shadow:inset 0 0 0 1px rgba(63,157,152,.16)}
.how-n{position:relative;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--teal-light);color:var(--teal-deep);font-family:var(--serif);font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .3s ease,color .3s ease,box-shadow .3s ease}
.how-step.is-active .how-n{background:var(--teal);color:#fff;box-shadow:0 6px 16px rgba(63,157,152,.38)}
.how-tx{flex:1;padding-top:7px;min-width:0}
.how-tx h3{font-size:19px;line-height:1.2;color:var(--ink-muted);transition:color .3s ease}
.how-step.is-active .how-tx h3{color:var(--ink)}
.how-d{overflow:hidden;max-height:0;transition:max-height .5s cubic-bezier(.2,.7,.2,1)}
.how-step.is-active .how-d{max-height:150px}
.how-di{min-height:0}
.how-tx p{font-size:14.5px;color:var(--ink-soft);line-height:1.5;padding-top:4px}
.how-bar{display:block;height:3px;background:var(--teal-light);border-radius:99px;margin:10px 0 2px;overflow:hidden}
.how-bar i{display:block;height:100%;background:var(--teal);border-radius:99px;transform:scaleX(0);transform-origin:left}
.how-step.is-active .how-bar i{animation:howfill 3.4s linear forwards}
@keyframes howfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ---- choose your path cards ---- */
.path-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:920px;margin:0 auto}
.path-card{display:flex;gap:15px;align-items:flex-start;background:var(--white);border:1px solid rgba(63,157,152,.12);border-radius:18px;padding:20px 22px;box-shadow:0 2px 12px rgba(46,42,37,.04);transition:transform .2s,box-shadow .2s}
.path-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(46,42,37,.09)}
.pc-ic{flex-shrink:0;font-size:26px;width:48px;height:48px;border-radius:13px;background:var(--bg-soft);display:flex;align-items:center;justify-content:center}
.pc-tx strong{display:block;font-family:var(--serif);font-weight:600;font-size:19px;margin-bottom:4px}
.pc-tx span{font-size:14px;color:var(--ink-soft);line-height:1.5}

/* ---- athena dark ---- */
.athena .bust-wrap{display:flex;justify-content:center;position:relative}
.athena .bust-wrap img{width:clamp(200px,22vw,300px);filter:drop-shadow(0 16px 40px rgba(0,0,0,.4))}
.athena .glow{top:-6%;left:50%;transform:translateX(-50%)}
.chat{display:flex;flex-direction:column;gap:12px;margin:22px 0 20px}
.bubble{padding:14px 18px;border-radius:18px;font-size:15px;line-height:1.5;max-width:400px;border-bottom-left-radius:5px}
.bubble.hype{background:rgba(63,157,152,.22);color:#EAF3F1}
.bubble.call{background:rgba(255,255,255,.09);color:#EAF3F1}
.bubble .who{font-size:12px;font-weight:600;color:#6FC4BE;margin-bottom:3px;letter-spacing:.03em}
.premium{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--gold);background:rgba(193,154,78,.14);padding:8px 16px;border-radius:var(--pill)}

/* ---- tiers ---- */
.tiers{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;max-width:720px;margin:0 auto clamp(28px,3vw,40px)}
.tier{flex:1;min-width:130px;text-align:center;padding:22px 14px;border-radius:18px;background:var(--white);box-shadow:0 2px 14px rgba(46,42,37,.05);position:relative}
.tier .ic{font-size:28px;margin-bottom:8px}
.tier .nm{font-family:var(--serif);font-weight:600;font-size:18px}
.tier .dt{font-size:12px;color:var(--ink-muted);margin-top:3px}
.tier.active{background:var(--gold-light);outline:1.5px solid var(--gold)}
.tier.active .nm{color:var(--gold)}
.perks{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:0 auto}
.perk{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--ink-soft)}
.perk .ck{color:var(--teal);font-weight:700;flex-shrink:0;margin-top:2px}

/* ---- social proof ---- */
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);text-align:center;margin-bottom:clamp(40px,5vw,56px)}
.num{font-family:var(--serif);font-weight:700;font-size:clamp(42px,5.5vw,64px);line-height:1;color:var(--ink)}
.num-lb{font-size:clamp(13px,1vw,15px);color:var(--ink-muted);margin-top:6px;line-height:1.4}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rev{background:var(--bg);border-radius:18px;padding:24px}
.rev .rs{color:var(--gold);font-size:13px;letter-spacing:2px;margin-bottom:10px}
.rev p.tx{font-size:14px;color:var(--ink-soft);line-height:1.6;margin-bottom:12px}
.rev .au{font-size:12px;font-weight:600;color:var(--ink-muted)}
.foot-note{font-size:12px;color:var(--ink-muted);text-align:center;margin-top:28px}

/* ---- final cta ---- */
.final{text-align:center;background:var(--teal-dark);color:#EAF3F1;position:relative;overflow:hidden}
.final .glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:820px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(63,157,152,.26) 0%,transparent 70%);filter:blur(55px)}
.final .container{position:relative;z-index:1}
.final h2{color:#F3F8F7;margin-bottom:12px}
.final .csub{font-size:clamp(16px,1.2vw,19px);color:rgba(234,243,241,.8);margin-bottom:10px}
.final .offer{display:inline-block;background:rgba(193,154,78,.16);color:var(--gold);font-weight:600;font-size:14px;padding:8px 20px;border-radius:var(--pill);margin-bottom:30px}
.final .tag2{font-family:var(--serif);font-style:italic;color:rgba(234,243,241,.62);font-size:15px;margin-top:24px}

/* ---- footer ---- */
.footer{padding:34px 0;border-top:1px solid rgba(63,157,152,.1)}
.footer-in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.footer-l{display:flex;align-items:center;gap:11px}
.footer-l img{height:36px;width:36px;border-radius:9px}
.footer-l span{font-family:var(--serif);font-weight:700;font-size:16px;letter-spacing:.11em}
.footer-links{display:flex;gap:20px;font-size:13px;color:var(--ink-muted)}
.footer-links a:hover{color:var(--ink)}
.footer-cp{font-size:12px;color:var(--ink-muted)}

/* ---- a11y ---- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a:focus-visible,.store-btn:focus-visible,.nav-cta:focus-visible,.mb-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

/* ---- reveal ---- */
.rv{opacity:1}
@media(prefers-reduced-motion:no-preference){
  .rv{transform:translateY(24px);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
  .rv.vis{transform:none}
  .rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
}

/* ---- sticky mobile download bar ---- */
.mbar{display:none}
@media(max-width:860px){
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;align-items:center;justify-content:space-between;gap:12px;
    padding:11px 16px calc(11px + env(safe-area-inset-bottom,0));
    background:rgba(255,255,255,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border-top:1px solid rgba(63,157,152,.16);box-shadow:0 -4px 20px rgba(46,42,37,.08)}
  .mbar .mb-l{display:flex;align-items:center;gap:10px;min-width:0}
  .mbar .mb-l img{height:34px;width:34px;border-radius:9px;flex-shrink:0}
  .mbar .mb-tx{display:flex;flex-direction:column;line-height:1.15;min-width:0}
  .mbar .mb-tx b{font-size:14px;font-weight:700}
  .mbar .mb-tx span{font-size:11px;color:var(--ink-muted)}
  .mbar .mb-btn{background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:var(--pill);font-weight:700;font-size:14px;white-space:nowrap;flex-shrink:0}
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0))}
}

/* ---- responsive ---- */
@media(max-width:860px){
  .nav{padding:10px 0}
  .logo img{height:40px;width:40px;border-radius:11px}
  .logo span{font-size:20px;letter-spacing:.1em}
  .nav-cta{padding:12px 18px;font-size:13px}
  /* denser vertical rhythm on mobile */
  .sec{padding:52px 0}
  .sec-head{margin-bottom:28px}
  .sec-head p{text-align:left}
  h1{font-size:clamp(34px,9vw,46px)}
  h2{font-size:clamp(27px,7.4vw,38px)}
  .hero{padding:100px 0 40px}
  .hero-in{grid-template-columns:1fr;text-align:center}
  .hero-copy{max-width:100%}
  .hero-sub{font-size:16px;margin-bottom:24px}
  .badges{justify-content:center}.rating{margin-inline:auto;margin-bottom:20px}
  .hero h1{margin-bottom:16px}
  .hero-media{margin-top:14px}
  .hero-media .device{width:min(85vw,350px)}
  .split{grid-template-columns:1fr;gap:26px}
  .split.flip .split-media{order:0}
  /* left-align body copy; centered multi-line paragraphs read as amateur */
  .split-copy{text-align:left}
  .split-copy>p{font-size:15.5px;margin-bottom:20px}
  .split-media .device{width:min(78vw,325px)}
  .feat{text-align:left;max-width:none;margin:0}
  .chat{align-items:stretch;margin:18px 0}
  .bubble{max-width:100%}
  /* how-it-works card on mobile: phone + step rail stay side by side, both fully in frame */
  .how-card{border-radius:22px;padding:22px 14px 20px}
  .how-head{margin-bottom:16px}
  .how-head h2{font-size:clamp(23px,6.4vw,30px)}
  .how-row{grid-template-columns:41% 1fr;gap:12px}
  .how-visual .device{width:100%;border-radius:30px;padding:6px}
  .how-visual .device .how-img{border-radius:24px}
  .how-visual .halo{width:210px;height:210px}
  .how-list{gap:5px}
  .how-list::before{left:23px;top:24px;bottom:24px}
  .how-step{padding:9px 9px;gap:10px;border-radius:13px}
  .how-n{width:28px;height:28px;font-size:14px}
  .how-tx{padding-top:4px}
  .how-tx h3{font-size:15.5px}
  .how-tx p{font-size:12.5px;line-height:1.4;padding-top:3px}
  .how-bar{margin:8px 0 1px}
  .path-grid{grid-template-columns:1fr;gap:12px}
  .nums{grid-template-columns:1fr;gap:30px}
  .reviews{grid-template-columns:1fr}
  .footer-in{flex-direction:column;text-align:center}
  .footer-links{flex-wrap:wrap;justify-content:center;gap:10px 20px}
  .footer-links a{padding:8px 4px;display:inline-block}
  /* tiers as 2x2 instead of a tall stack */
  .tiers{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .tier{min-width:0}
  /* compact badge buttons on mobile */
  .badges{flex-direction:row;justify-content:center;gap:10px;width:100%;max-width:340px;margin-inline:auto}
  .badges.center{margin-inline:auto}
  .store-btn{min-width:0;padding:9px 14px;gap:8px;border-radius:10px}
  .store-btn svg{width:16px;height:18px}
  .sbt-sm{font-size:9px}
  .sbt-lg{font-size:15px}
}
@media(max-width:430px){
  .athena .bust-wrap img{width:min(58vw,240px)}
  .badges{max-width:300px;gap:8px}
  .store-btn{padding:9px 12px;gap:6px}
  .sbt-lg{font-size:14px}
  .final .tag2{opacity:.74}
}

/* ================================
   Imports from the v4 prototype, scoped additions only.
   Site palette, fonts and section styles stay untouched.
   ================================ */

/* ---- stat cells + live ticker ---- */
.cells{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,22px);max-width:900px;margin:0 auto}
.cell{background:var(--bg);border-radius:22px;padding:clamp(20px,3vw,32px);text-align:center;box-shadow:0 2px 14px rgba(46,42,37,.06)}
.cell .v{font-family:var(--serif);font-weight:700;font-size:clamp(36px,6vw,64px);line-height:1;color:var(--ink)}
.cell .v em{font-style:normal;color:#E8645A}
.cell .l{margin-top:7px;font-size:clamp(10.5px,1vw,13px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}
.feed{margin:clamp(24px,3vw,38px) 0 clamp(34px,4.5vw,52px);overflow:hidden;border-radius:100px;background:var(--bg-soft);box-shadow:inset 0 0 0 1px rgba(63,157,152,.10)}
.feed .in{display:flex;width:max-content;animation:mqx 34s linear infinite}
.feed span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:13px 24px;font-size:13.5px;font-weight:600;color:var(--ink-soft)}
.feed b{color:var(--ink)}
.feed .ok{color:#1F9D6C;font-weight:800;font-style:normal}
@keyframes mqx{to{transform:translateX(-50%)}}

/* ---- postcard reviews ---- */
.prow{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,26px)}
.pc{position:relative;background:#FFFDF6;border:1px solid rgba(46,42,37,.05);border-radius:10px;padding:22px;color:var(--ink-soft);font-size:14px;line-height:1.6;box-shadow:0 20px 46px rgba(46,42,37,.13);transition:transform .35s}
.pc:nth-child(1){transform:rotate(-1.4deg)}
.pc:nth-child(2){transform:rotate(1deg)}
.pc:nth-child(3){transform:rotate(-.7deg)}
.pc:hover{transform:translateY(-7px) rotate(0)}
.pc .stamp{position:absolute;top:13px;right:13px;width:42px;height:50px;border:2px dashed rgba(224,80,122,.45);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:19px;transform:rotate(5deg)}
.pc .st{color:var(--gold);letter-spacing:2px;font-size:13px;margin-bottom:9px}
.pc .au{margin-top:12px;font-family:'Caveat',cursive;font-weight:600;font-size:21px;color:var(--teal-deep)}

/* ---- Athena: rays, tilt, typing ---- */
.athena .bust-wrap::before{content:'';position:absolute;top:50%;left:50%;width:120%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:repeating-conic-gradient(rgba(193,154,78,.30) 0 4deg,transparent 4deg 14deg);-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 68%);mask-image:radial-gradient(circle,#000 30%,transparent 68%);animation:rayspin 60s linear infinite;pointer-events:none}
@keyframes rayspin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.athena .bust-wrap img{position:relative;animation:bustfloat 9s ease-in-out infinite}
@keyframes bustfloat{0%,100%{transform:rotate(-2.5deg) translateY(0)}50%{transform:rotate(-1.2deg) translateY(-11px)}}
.bubble{opacity:0;transform:translateY(10px);transition:opacity .45s,transform .45s}
.bubble.show{opacity:1;transform:none}
.typing{display:inline-flex;gap:4px;padding:4px 0}
.typing b{width:6px;height:6px;border-radius:50%;background:#6FC4BE;animation:tdot 1s ease-in-out infinite}
.typing b:nth-child(2){animation-delay:.15s}.typing b:nth-child(3){animation-delay:.3s}
@keyframes tdot{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}

/* ---- mobile for the new pieces ---- */
@media(max-width:860px){
  .cells{grid-template-columns:repeat(3,1fr);gap:8px}
  .cell{padding:14px 8px;border-radius:16px}
  .cell .v{font-size:clamp(24px,7.4vw,32px)}
  .cell .l{font-size:8.5px}
  .prow{grid-template-columns:1fr;gap:18px}
  .pc{max-width:420px;margin:0 auto}
}
@media(prefers-reduced-motion:reduce){
  .athena .bust-wrap img,.athena .bust-wrap::before{animation:none}
  .bubble{opacity:1;transform:none;transition:none}
}
