:root{
  /* ---- Active palette: light green paper + cool light-green accent ---- */
  --sand:#eef5ec;        /* light green paper */
  --sand-2:#e3efe0;
  --cream:#f8fcf5;
  --clay:#3f9d78;        /* cool light green — primary accent */
  --clay-soft:#86c9ab;   /* soft cool green */
  --blush:#cfe6c4;       /* light green */
  --apricot:#55b491;     /* mid cool green */
  --sage:#6fa379;        /* green — the one differing note */
  --sage-soft:#bcd9b2;
  --ink:#33402c;         /* warm dark green-slate, not black */
  --ink-soft:#5f6e56;
  --rule:#d8e6cf;
  --wave:#4fb0e6;        /* cool blue — music waves + headphone glow */
  --maxw:1180px;
  --accent-shadow:63,157,120;   /* rgb of --clay, used for soft glow shadows */
  /* mixed warm + green background glow (decorative; accent text stays green) */
  --ambient:
    radial-gradient(42% 50% at 12% 10%, rgba(236,164,104,.50), transparent 70%),
    radial-gradient(46% 46% at 88% 16%, rgba(188,217,178,.60), transparent 70%),
    radial-gradient(52% 52% at 78% 88%, rgba(217,127,60,.28), transparent 72%),
    radial-gradient(42% 42% at 8% 82%, rgba(150,186,128,.36), transparent 72%);
}

/* ---- Alternative palette: original cool blue.
        To compare, add  data-theme="blue"  to the <html> tag in index.html. ---- */
html[data-theme="blue"]{
  --sand:#eef4f9;
  --sand-2:#e1ebf4;
  --cream:#f8fbfe;
  --clay:#5b89b8;
  --clay-soft:#8fb4d6;
  --blush:#bdd6ec;
  --apricot:#7aa8d4;
  --sage:#6f9fb0;
  --sage-soft:#aecdd6;
  --ink:#2b3a47;
  --ink-soft:#5e7488;
  --rule:#d2e0ed;
  --accent-shadow:91,137,184;
  --ambient:
    radial-gradient(42% 50% at 12% 10%, rgba(143,180,214,.55), transparent 70%),
    radial-gradient(46% 46% at 88% 16%, rgba(189,214,236,.55), transparent 70%),
    radial-gradient(52% 52% at 78% 88%, rgba(111,159,176,.34), transparent 72%),
    radial-gradient(42% 42% at 8% 82%, rgba(122,168,212,.34), transparent 72%);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--sand)}
body{font-family:'Varela Round',sans-serif;background:transparent;color:var(--ink);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
/* soft ambient colour the frosted-glass panels blur over */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--ambient)}
h1,h2,h3{font-family:'Baloo 2',cursive;font-weight:600;line-height:1.1;letter-spacing:-.005em}
.serif-italic{font-family:'Baloo 2',cursive;font-weight:500}
.eyebrow{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--clay);font-weight:700}

.shell{max-width:var(--maxw);margin:0 auto;padding:0 44px}
@media(max-width:600px){.shell{padding:0 22px}}

/* ---------- top bar ---------- */
.topbar{position:sticky;top:0;z-index:30;background:rgba(248,251,254,.6);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-bottom:1px solid rgba(255,255,255,.5)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;height:62px;width:100%;padding:0 clamp(22px,4vw,44px)}
.tb-brand{font-family:'Comfortaa',cursive;font-size:1.34rem;font-weight:700;letter-spacing:-.01em;text-transform:lowercase;color:var(--ink);text-decoration:none}
.tb-links{display:flex;gap:30px;align-items:center;margin-left:auto}
.tb-links a{color:var(--ink-soft);text-decoration:none;font-size:.92rem;font-weight:600}
.tb-links a:hover{color:var(--clay)}
.tb-cta{background:var(--clay);color:var(--cream)!important;padding:8px 18px;border-radius:100px}
.tb-cta:hover{background:var(--ink)!important}
.tb-soon{position:relative;display:inline-flex;align-items:center;cursor:default;user-select:none}
.tb-soon .lbl{font-size:.92rem;font-weight:600;color:#9aa1a6;text-decoration:line-through}
.tb-soon .soon{position:absolute;top:100%;left:50%;transform:translate(-50%,0);margin-top:1px;white-space:nowrap;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#aab0b4;animation:soonRise 2.6s ease-in-out infinite}
/* centered below Demo, rises straight up (translateX stays -50% in every frame) */
@keyframes soonRise{0%{opacity:0;transform:translate(-50%,5px)}30%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-12px)}}
@media(max-width:680px){.tb-links a:not(.tb-cta),.tb-links .tb-soon{display:none}}

.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 28px;border-radius:100px;font-weight:600;font-size:.97rem;text-decoration:none;cursor:pointer;border:none;font-family:inherit;transition:.18s}
.btn-primary{background:var(--clay);color:var(--cream)}
.btn-primary:hover{background:var(--ink);transform:translateY(-1px)}
.btn:disabled{opacity:.6;cursor:default;transform:none}
.link-arrow{color:var(--ink);text-decoration:none;font-weight:600;border-bottom:2px solid var(--blush);padding-bottom:1px}
.link-arrow:hover{border-color:var(--clay);color:var(--clay)}

/* ---------- hero: asymmetric spread ---------- */
.hero{padding:58px 0 52px}
.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:30px;align-items:center}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr;gap:36px}}
.tag{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;letter-spacing:.04em;color:var(--sage);border:1px solid var(--sage-soft);border-radius:100px;padding:6px 16px;margin-bottom:26px;font-weight:600}
.tag .d{width:7px;height:7px;border-radius:50%;background:var(--sage);animation:bl 2.4s infinite}
@keyframes bl{0%,100%{opacity:1}50%{opacity:.35}}
.hero h1{font-size:clamp(2.9rem,6.4vw,5.2rem);margin-bottom:24px}
.hero h1 em{color:var(--clay)}
.hero p.lead{font-size:1.22rem;color:var(--ink-soft);max-width:42ch;font-weight:500}
.hero-actions{display:flex;gap:18px;margin-top:34px;flex-wrap:wrap;align-items:center}

/* the body figure, integrated rather than boxed */
.figure-col{position:relative}
svg.body{width:100%;max-width:340px;height:auto;margin:0 auto;display:block;overflow:visible}
.bstroke{fill:none;stroke:var(--ink-soft);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:.55}

/* ---- looping figure story: pain points draw lines to the head, then rings of music cleanse ---- */
svg.body{--pain:#e8553c}
.pain,.pain-ring,.head-pain,.ring,.phones,.mnote{transform-box:fill-box;transform-origin:center}
.pain,.head-pain{fill:var(--pain)}
.pain,.head-pain,.ray{filter:url(#glow)}
.pain-ring{fill:none;stroke:var(--pain);stroke-width:3}
.ray{fill:none;stroke:var(--pain);stroke-width:5;stroke-linecap:round;stroke-dasharray:100}
.ring{fill:none;stroke:var(--wave);stroke-width:4;vector-effect:non-scaling-stroke}
.waves{filter:drop-shadow(0 0 8px rgba(79,176,230,.7))}
.hp-band,.hp-cup{fill:none;stroke:var(--ink);stroke-width:7;stroke-linecap:round}
.mnote{fill:var(--wave);font-family:Georgia,serif;font-size:54px;text-anchor:middle;dominant-baseline:central}

/* hidden by default so staggered points don't all show during their delay */
.pain,.ray,.head-pain,.ring,.phones,.mnote,.pain-ring{opacity:0}
/* reduced-motion users see a calm body with the three pain points marked */
@media(prefers-reduced-motion:reduce){.pain{opacity:1}}

@media(prefers-reduced-motion:no-preference){
  /* pain points, rings and rays run on a 24s cycle = 3 loops; staggered by 8s
     so exactly one location is active per 8s loop, rotating across the three */
  .pain{animation:painCycle 24s ease-in-out infinite}
  .pain-ring{animation:ringCycle 24s ease-out infinite}
  .ray{animation:rayCycle 24s ease-in-out infinite}
  .s2{animation-delay:8s}
  .s3{animation-delay:16s}
  /* head node, headphones, music rings + notes replay identically every 8s loop */
  .head-pain{animation:headPain 8s ease-in-out infinite}
  .phones{animation:phones 8s ease-in-out infinite}
  .ring{animation:ringWave 8s ease-out infinite}
  .ring.r2{animation-delay:-.45s}
  .ring.r3{animation-delay:-.9s}
  .mnote{animation:noteDrift 8s ease-in-out infinite}
  .mnote.n2{animation-delay:-.5s}
  .mnote.n3{animation-delay:-1s}
}

/* pain/ray/head keyframes: active third (0–33%) of a 24s cycle, hidden otherwise */
@keyframes painCycle{
  0%{opacity:0;transform:scale(.35)}
  3%{opacity:1;transform:scale(1)}
  6%{transform:scale(1.15)}
  10%{transform:scale(.97)}
  14%{transform:scale(1.12)}
  29%{opacity:1;transform:scale(1)}
  32%{opacity:0;transform:scale(.35)}
  100%{opacity:0;transform:scale(.35)}
}
@keyframes ringCycle{
  0%,2%{opacity:0;transform:scale(.5)}
  3%{opacity:.5}
  13%{opacity:0;transform:scale(3.2)}
  100%{opacity:0;transform:scale(3.2)}
}
@keyframes rayCycle{
  0%,3%{opacity:0;stroke-dashoffset:100}
  4%{opacity:1;stroke-dashoffset:100}
  12%{opacity:1;stroke-dashoffset:0}      /* grown: body -> head */
  24.5%{opacity:1;stroke-dashoffset:0}    /* hold while the head clears */
  30%{opacity:1;stroke-dashoffset:100}    /* retract: head -> body (reverse of the grow) */
  30.5%{opacity:0;stroke-dashoffset:100}
  100%{opacity:0;stroke-dashoffset:100}
}
@keyframes headPain{
  0%,26%{opacity:0;transform:scale(.3)}
  36%{opacity:1;transform:scale(.7)}
  46%{opacity:1;transform:scale(1.12)}
  54%{opacity:1;transform:scale(1)}
  64%{opacity:1;transform:scale(1)}
  74%,100%{opacity:0;transform:scale(.3)}
}
@keyframes phones{
  0%,46%{opacity:0;transform:scale(.8);filter:drop-shadow(0 0 0 rgba(79,176,230,0))}
  54%{opacity:1;transform:scale(1.06)}
  60%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 1px rgba(79,176,230,0))}
  70%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 18px rgba(79,176,230,.95))}
  86%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 8px rgba(79,176,230,.55))}
  92%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 0 rgba(79,176,230,0))}
  96%,100%{opacity:0;transform:scale(.8);filter:drop-shadow(0 0 0 rgba(79,176,230,0))}
}
/* rings of music — only begin once the headphones are on (~62%) */
@keyframes ringWave{
  0%,62%{opacity:0;transform:scale(.3)}
  70%{opacity:.7;transform:scale(1.5)}
  86%{opacity:.45;transform:scale(8)}
  97%{opacity:0;transform:scale(15)}
  100%{opacity:0;transform:scale(.3)}
}
@keyframes noteDrift{
  0%,64%{opacity:0;transform:translate(0,0) scale(.6)}
  74%{opacity:.85;transform:translate(0,-14px) scale(1)}
  92%{opacity:0;transform:translate(0,-70px) scale(1)}
  100%{opacity:0;transform:translate(0,0) scale(.6)}
}

/* ---------- generic section as a spread ---------- */
section.spread{padding:68px 0;border-top:1px solid var(--rule)}
.spread-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
@media(max-width:860px){.spread-grid{grid-template-columns:1fr;gap:32px}}
.spread-grid.flip{grid-template-columns:1.2fr .8fr}
@media(max-width:860px){.spread-grid.flip{grid-template-columns:1fr}}
.spread h2{font-size:clamp(2rem,4vw,2.9rem);margin:14px 0 16px}

/* centered section heading */
.section-head{max-width:720px;margin:0 auto 46px;text-align:center}
.section-head h2{margin:10px 0 0}
@media(max-width:600px){.section-head{margin-bottom:36px}}

/* how it works — horizontal row of glass cards, numbered + centered */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:960px;margin:0 auto}
@media(max-width:760px){.steps{grid-template-columns:1fr;gap:18px;max-width:420px}}
.step{padding:36px 26px;border-radius:22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;
  background:rgba(248,251,254,.5);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);
  border:1px solid rgba(255,255,255,.65);box-shadow:0 10px 34px rgba(43,58,71,.08)}
.step .n{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--clay);color:var(--cream);font-family:'Baloo 2',cursive;font-size:1.3rem;font-weight:600}
.step h3{font-size:1.28rem;margin:0;line-height:1.3}

/* demo */
.video-frame{position:relative;aspect-ratio:16/9;border-radius:26px;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:rgba(248,251,254,.4);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);
  border:1px solid rgba(255,255,255,.6);box-shadow:0 18px 50px rgba(43,58,71,.12)}
.play{width:80px;height:80px;border-radius:50%;background:var(--clay);display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:.2s}
.play:hover{transform:scale(1.07);background:var(--ink)}

/* science — centered + stacked */
.sci-lede{font-family:'Baloo 2',cursive;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.4;font-weight:500;text-align:center;max-width:30ch;margin:0 auto 40px}
.sci-lede em{color:var(--clay);font-weight:700}

/* media placeholder — the science-visualization slot */
.media{position:relative;width:100%;border-radius:26px;overflow:hidden;
  background:rgba(248,251,254,.45);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  border:1px solid rgba(255,255,255,.6);box-shadow:0 16px 42px rgba(43,58,71,.1)}
.media .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;color:var(--ink-soft);font-weight:600}
.media .ph-mark{width:46px;height:46px;border-radius:50%;border:2px solid rgba(63,157,120,.5);display:flex;align-items:center;justify-content:center;color:var(--clay);font-size:1.3rem}
.media .ph code{font-size:.8rem;font-weight:400;color:#8a9a80;background:rgba(255,255,255,.55);padding:2px 8px;border-radius:6px}
.media img{width:100%;height:100%;object-fit:cover;display:block}
.sci-media{max-width:820px;margin:0 auto 46px;aspect-ratio:16/9}

/* science paper slideshow (lives inside the .sci-media frame) */
.papers-slides{position:absolute;inset:0}
.paper{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:42px 64px;text-decoration:none;color:var(--ink);opacity:0;transition:opacity .5s ease;pointer-events:none}
.paper.on{opacity:1;pointer-events:auto}
.paper-pub{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);font-weight:700}
.paper-title{font-family:'Baloo 2',cursive;font-weight:600;font-size:clamp(1.3rem,2.7vw,2.1rem);line-height:1.22;color:var(--ink);margin:0;max-width:22ch}
.paper-authors{font-size:1.02rem;color:var(--ink-soft);font-weight:500}
.paper-cta{margin-top:4px;font-size:.92rem;font-weight:600;color:var(--clay);border-bottom:2px solid var(--blush);padding-bottom:1px}
a.paper:hover .paper-cta{border-color:var(--clay)}
.paper-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:.15s}
.paper-arrow:hover{background:#fff;color:var(--clay)}
.paper-arrow.prev{left:14px}
.paper-arrow.next{right:14px}
.paper-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;gap:9px;justify-content:center;z-index:2}
.paper-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:rgba(43,58,71,.25);cursor:pointer;transition:.15s}
.paper-dot.on{background:var(--clay)}
@media(max-width:600px){.paper{padding:26px 46px;gap:10px}}

.findings{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:960px;margin:0 auto}
@media(max-width:760px){.findings{grid-template-columns:1fr;gap:18px;max-width:480px}}
.finding{text-align:center}
.finding h3{font-family:'Varela Round',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:5px;line-height:1.3}
.finding p{font-size:.95rem;color:var(--ink-soft)}
.finding cite{display:block;margin-top:8px;font-size:.79rem;color:var(--sage)}
.sci-note{max-width:680px;margin:48px auto 0;border-radius:20px;padding:24px 28px;font-size:.92rem;color:var(--ink-soft);text-align:center;
  background:rgba(248,251,254,.45);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 26px rgba(43,58,71,.06)}
.sci-note b{color:var(--ink)}

/* founders — offset portrait cards */
.founders{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}
@media(max-width:780px){.founders{grid-template-columns:1fr;gap:30px;max-width:340px;margin:0 auto}}
.founder{text-align:center}
.avatar{aspect-ratio:3/4;border-radius:20px;background:linear-gradient(165deg,var(--blush),var(--sand-2));display:flex;align-items:flex-end;padding:18px;margin-bottom:16px;border:1px solid rgba(255,255,255,.6);box-shadow:0 12px 34px rgba(43,58,71,.1)}
.avatar span{font-family:'Baloo 2',cursive;font-size:2.4rem;color:var(--clay)}
.founder h3{font-size:1.32rem;margin-bottom:2px}
.founder .role{font-size:.78rem;letter-spacing:.05em;color:var(--clay);text-transform:uppercase;margin-bottom:10px;font-weight:700}
.founder p{font-size:.94rem;color:var(--ink-soft)}

/* join — centered, stacked, big inputs */
#join{border-top:1px solid var(--rule);padding:88px 0}
@media(max-width:600px){#join{padding:60px 0}}
.join-card{color:var(--sand);border-radius:30px;padding:60px 56px;max-width:680px;margin:0 auto;text-align:center;
  background:rgba(43,58,71,.82);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);
  border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(43,58,71,.22)}
@media(max-width:600px){.join-card{padding:44px 26px}}
.join-card .eyebrow{color:var(--clay-soft)}
.join-card h2{color:var(--sand);font-size:clamp(2.1rem,5vw,3.2rem);margin:10px 0 30px}
.signup{display:flex;gap:12px;max-width:540px;margin:0 auto}
@media(max-width:520px){.signup{flex-direction:column}}
.signup input{flex:1;padding:20px 26px;border-radius:100px;border:1px solid #4a5e70;background:#3a4c5a;color:var(--sand);font-size:1.08rem;font-family:inherit;font-weight:500}
.signup input::placeholder{color:#90a6b6}
.signup input:focus{outline:2px solid var(--clay-soft);outline-offset:1px}
.signup .btn-primary{background:var(--sand);color:var(--ink);padding:20px 34px;font-size:1.05rem}
.signup .btn-primary:hover{background:var(--clay-soft)}
.form-msg{margin-top:16px;font-size:.92rem;min-height:1.2em;color:var(--clay-soft)}

footer{padding:42px 0;border-top:1px solid var(--rule)}
.foot-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-size:.9rem;color:var(--ink-soft);font-weight:600}
.foot-inner .fb{font-family:'Comfortaa',cursive;font-size:1.24rem;font-weight:700;letter-spacing:-.01em;text-transform:lowercase;color:var(--ink)}
footer a{color:var(--ink-soft);text-decoration:none}footer a:hover{color:var(--clay)}
.disclaimer{margin-top:22px;font-size:.77rem;color:#7e94a4;line-height:1.55;max-width:80ch}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
:focus-visible{outline:2px solid var(--clay);outline-offset:2px}

/* =========================================================
   Enhancements added during the JavaScript build-out
   ========================================================= */

/* active nav link (set by main.js as you scroll) */
.tb-links a.active{color:var(--clay)}
.tb-links a.tb-cta.active{color:var(--cream)!important}

/* scroll-reveal — only active when JS is running, so visitors
   without JavaScript still see all content normally */
html.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
html.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html.js .reveal{opacity:1;transform:none;transition:none}
}

/* team photos (set a `photo` on a member in content.js to use one) */
.avatar.has-photo{padding:0;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:18px;display:block}

/* demo video embed + empty state */
.video-frame.playing{cursor:default}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vf-msg{padding:0 24px;text-align:center;color:var(--ink-soft);font-weight:600}

/* =========================================================
   Shiny-glass pass — gloss highlights + brighter reflections.
   Kept cool (no warm/yellow tints anywhere).
   ========================================================= */

/* header: full-width frosted bar with a glossy top sheen */
.topbar{
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(248,251,254,.46));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 6px 22px rgba(43,58,71,.06);
  border-bottom:1px solid rgba(255,255,255,.45);
}

/* light glass panels */
.step,.finding,.video-frame,.sci-note{
  background:linear-gradient(157deg,rgba(255,255,255,.66),rgba(255,255,255,.26));
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 16px 42px rgba(43,58,71,.1),inset 0 1px 0 rgba(255,255,255,.9);
}

/* findings are now compact glass cards (headline + source) */
.finding{padding:22px 24px;border-radius:20px}
.finding h3{margin-bottom:4px}
.finding cite{margin-top:6px}

/* status pill + figure dot */
.tag{
  background:linear-gradient(157deg,rgba(255,255,255,.62),rgba(255,255,255,.24));
  border-color:rgba(255,255,255,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
  backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%);
}

/* team avatars get the same glossy edge */
.avatar{box-shadow:0 16px 40px rgba(43,58,71,.12),inset 0 1px 0 rgba(255,255,255,.75)}

/* glossy buttons */
.btn-primary{
  background:var(--clay);
  box-shadow:none;
}
.btn-primary:hover{
  background:color-mix(in srgb,var(--clay) 82%,#000);
  box-shadow:none;
  transform:none;
}

/* dark glass on the join card */
.sci-note{margin-top:28px}
.join-card{
  background:linear-gradient(157deg,rgba(64,84,99,.86),rgba(40,54,66,.82));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 70px rgba(43,58,71,.3),inset 0 1px 0 rgba(255,255,255,.22);
}
.signup .btn-primary{
  background:linear-gradient(165deg,#ffffff,var(--sand));color:var(--ink);
  box-shadow:0 10px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.95);
}
.signup .btn-primary:hover{background:linear-gradient(165deg,#ffffff,var(--clay-soft));color:var(--ink)}
