/* Base styles extracted from the user-supplied ORIGINAL index.html; token values preserved. */

    :root {
      --bg:          #FCEFEF;
      --bg-card:     #ffffff;
      --bg-card-2:   #f5e8e8;
      --midnight:    #1E152A;
      --granite:     #4E6766;
      --blue:        #5AB1BB;
      --green:       #A5C882;
      --yellow:      #F7DD72;
      --text:        #1E152A;
      --text-muted:  #5a5060;
      --text-faint:  #9e8fa0;
      --border:      #e8d8d8;
      --shadow-sm:   0 2px 8px rgba(30,21,42,0.07);
      --shadow-md:   0 6px 24px rgba(30,21,42,0.11);
      --shadow-lg:   0 16px 48px rgba(30,21,42,0.15);
      --font-display: 'Instrument Serif', Georgia, serif;
      --font-body:    'DM Sans', 'Helvetica Neue', sans-serif;
      --nav-h: 84px;
      --radius: 1rem;
      --radius-sm: 0.5rem;
      --radius-full: 9999px;
      --transition: 200ms cubic-bezier(0.16,1,0.3,1);
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
    body {
      font-family: var(--font-body);
      background: #ffffff;
      color: var(--text);
      min-height: 100dvh;
      padding-bottom: calc(var(--nav-h) + 1rem);
    }
    #page-home { background: var(--bg); }
    img, svg { display: block; max-width: 100%; }
    h1,h2,h3,h4 { font-family: var(--font-display); line-height: 1.12; text-wrap: balance; }
    p, li { text-wrap: pretty; }
    button, a { cursor: pointer; font: inherit; color: inherit; border: none; background: none; text-decoration: none; }
    ::selection { background: rgba(90,177,187,0.25); }
    :focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 4px; }
    .float-nav { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 200; display: flex; align-items: center; gap: 6px; background: rgba(255, 255, 255, 0.12); border-radius: var(--radius-full); padding: 8px 14px; box-shadow: 0 8px 32px rgba(30,21,42,0.18), 0 2px 8px rgba(30,21,42,0.10), inset 0 1px 0 rgba(255,255,255,0.45), inset 0 -1px 0 rgba(255,255,255,0.10), 0 0 0 1px rgba(255,255,255,0.20); backdrop-filter: blur(24px) saturate(180%); -webkit-backdrop-filter: blur(24px) saturate(180%); border: 1px solid rgba(255,255,255,0.25); }
    .nav-btn { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 8px 10px; border-radius: var(--radius-full); cursor: pointer; transition: background var(--transition), transform var(--transition); min-width: 52px; }
    .nav-btn:hover { background: rgba(255,255,255,0.20); transform: translateY(-1px); }
    .nav-btn.active { background: rgba(255,255,255,0.30); box-shadow: inset 0 1px 0 rgba(255,255,255,0.6), 0 2px 8px rgba(30,21,42,0.12); }
    .nav-icon { width: 36px; height: 36px; border-radius: var(--radius-full); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; transition: transform var(--transition); background: rgba(255,255,255,0.07); }
    .nav-btn.active .nav-icon { transform: scale(1.1); }
    .nav-label { font-size: 10px; font-weight: 600; letter-spacing: 0.04em; color: rgba(30,21,42,0.55); transition: color var(--transition); text-align: center; white-space: nowrap; }
    .nav-btn.active .nav-label { color: var(--midnight); font-weight: 700; }
    .nav-btn[data-page="home"].active .nav-icon { background: var(--yellow); }
    .nav-btn[data-page="podcast"].active .nav-icon { background: var(--blue); }
    .nav-btn[data-page="workbook"].active .nav-icon { background: var(--green); }
    .nav-btn[data-page="manual"].active .nav-icon { background: var(--blue); }
    .nav-btn[data-page="session"].active .nav-icon { background: var(--green); }
    .nav-btn[data-page="fundraiser"].active .nav-icon { background: var(--yellow); }
    .nav-btn[data-page="founder"].active .nav-icon { background: #d9ebf0; }
    .site-header { display: flex; align-items: center; justify-content: space-between; padding: 20px 32px; max-width: 1100px; margin-inline: auto; }
    .logo { font-family: var(--font-display); font-size: 1.35rem; color: var(--midnight); font-style: italic; display: flex; align-items: center; gap: 8px; cursor: pointer; }
    .logo-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--blue); }
    .header-tag { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-faint); }
    .page { display: none; }
    .page.active { display: block; min-height: 100dvh; animation: fadeUp 0.4s cubic-bezier(0.16,1,0.3,1) both; }
    @keyframes fadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
    .container { max-width: 1100px; margin-inline: auto; padding-inline: 28px; }
    .container-narrow { max-width: 720px; margin-inline: auto; padding-inline: 28px; }
    .home-hero { padding: 28px 28px 48px; max-width: 1100px; margin-inline: auto; display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; }
    .hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--granite); margin-bottom: 16px; }
    .eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
    .hero-title { font-size: clamp(2.4rem, 5vw, 4rem); color: var(--midnight); margin-bottom: 20px; line-height: 1.07; }
    .hero-title em { font-style: italic; color: var(--granite); }
    .hero-desc { font-size: 1.05rem; color: var(--text-muted); line-height: 1.72; max-width: 50ch; margin-bottom: 32px; }
    .hero-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: var(--radius-full); background: var(--midnight); color: #fff; font-size: 0.9rem; font-weight: 600; letter-spacing: 0.02em; box-shadow: var(--shadow-sm); transition: transform var(--transition), box-shadow var(--transition); }
    .hero-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
    .section-label { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
    .section-label::after { content: ''; flex: 1; height: 1px; background: var(--border); }
    .cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px,100%),1fr)); gap: 16px; margin-bottom: 48px; }
    .card { background: var(--bg-card); border-radius: var(--radius); padding: 24px; border: 1px solid var(--border); box-shadow: var(--shadow-sm); cursor: pointer; transition: transform var(--transition), box-shadow var(--transition); display: flex; flex-direction: column; gap: 10px; }
    .card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
    .card-icon { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; }
    .card h3 { font-family: var(--font-display); font-size: 1.15rem; }
    .card p { font-size: 0.88rem; color: var(--text-muted); line-height: 1.6; flex: 1; }
    .card-arrow { display: flex; align-items: center; gap: 6px; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
    .inner-hero { padding: 40px 28px 36px; max-width: 1100px; margin-inline: auto; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: start; }
    @media (max-width: 600px) { .inner-hero { grid-template-columns: 1fr; } }
    .page-tag { display: inline-flex; align-items: center; gap: 7px; padding: 5px 14px; border-radius: var(--radius-full); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 14px; }
    .inner-hero h1 { font-size: clamp(1.8rem, 4vw, 3rem); color: var(--midnight); margin-bottom: 14px; }
    .inner-hero .lead { font-size: 1.05rem; color: var(--text-muted); max-width: 55ch; line-height: 1.7; }
    .page-visual { width: 130px; height: 130px; border-radius: 20px; display: flex; align-items: center; justify-content: center; font-size: 3.5rem; flex-shrink: 0; }
    @media (max-width: 600px) { .page-visual { display: none; } }
    .content-block { padding: 0 28px 40px; max-width: 1100px; margin-inline: auto; }
    .content-block h2 { font-family: var(--font-display); font-size: 1.5rem; color: var(--midnight); margin: 36px 0 12px; }
    .content-block h2:first-child { margin-top: 0; }
    .content-block p { color: var(--text-muted); font-size: 1rem; line-height: 1.75; margin-bottom: 16px; max-width: 70ch; }
    .chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
    .chip { padding: 6px 14px; border-radius: var(--radius-full); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.02em; background: var(--bg-card-2); color: var(--text-muted); border: 1px solid var(--border); }
    .mod-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
    .mod-item { display: flex; align-items: flex-start; gap: 14px; padding: 16px 18px; border-radius: 12px; background: var(--bg-card); border: 1px solid var(--border); box-shadow: var(--shadow-sm); }
    .mod-num { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.78rem; font-weight: 700; color: #fff; }
    .mod-text { font-size: 0.93rem; color: var(--text-muted); line-height: 1.5; padding-top: 4px; }
    .mod-text strong { color: var(--text); }
    .highlight-box { border-radius: var(--radius); padding: 24px 26px; margin-bottom: 24px; border: 1px solid var(--border); }
    .highlight-box h3 { font-family: var(--font-display); font-size: 1.1rem; margin-bottom: 8px; }
    .highlight-box p { margin-bottom: 0; font-size: 0.93rem; }
    footer { text-align: center; padding: 32px 20px; font-size: 0.78rem; color: var(--text-faint); }
    footer strong { color: var(--text-muted); }
    .divider { height: 1px; background: var(--border); margin: 0 28px 32px; max-width: 1044px; margin-inline: auto; margin-bottom: 32px; }
  
    .nav-icon i, .card-icon i, .page-visual i { display: block; }
    .nav-icon svg { width: 18px; height: 18px; stroke: var(--midnight); }
    .card-icon svg { width: 22px; height: 22px; stroke: var(--midnight); }
    .page-visual svg { width: 48px; height: 48px; stroke: var(--midnight); }
  
/* Original stylesheet remains above. Stage 2 adds character in the SAME palette. */
html{overflow-x:clip}
body{overflow-x:clip;--page-tone:var(--blue)}
body[data-page="home"]{background:var(--bg);--page-tone:var(--yellow)}
body[data-page="podcast"],body[data-page="manual"]{--page-tone:var(--blue)}
body[data-page="workbook"],body[data-page="session"]{--page-tone:var(--green)}
body[data-page="fundraiser"]{--page-tone:var(--yellow)}
body[data-page="founder"]{--page-tone:var(--midnight)}
.page,.page.active{display:block;min-height:unset;animation:none}
.skip-link{position:fixed;left:16px;top:-90px;z-index:999;padding:12px 18px;border-radius:var(--radius-sm);background:var(--midnight);color:white}
.skip-link:focus{top:12px}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:210;pointer-events:none}
.scroll-progress>span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left center}
.global-header{background:var(--bg)}.site-header{gap:12px}
.header-tag,.section-label{color:var(--text-muted)}
.logo,.card,.nav-btn,.hero-btn,.moment-button,.site-footer a{-webkit-tap-highlight-color:transparent}
.logo:hover{color:var(--granite)}.logo{transition:color var(--transition)}.logo .logo-dot{flex:none}
.home-hero{padding-block:80px 90px;min-height:min(620px,86vh);align-content:center}
.hero-title{font-size:clamp(3.1rem,7.3vw,6rem)}.hero-desc{max-width:58ch}
.section-gap{padding-block:32px 50px}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.reveal-shell,.card-parallax{min-width:0}
.card{height:100%;min-height:226px}.card h3{font-size:1.52rem}
.card-icon svg{width:22px;height:22px;stroke:var(--midnight)}
.card-arrow{color:var(--midnight);margin-top:auto}.card-arrow svg{transition:transform var(--transition)}
.card:hover .card-arrow svg{transform:translate(3px,-3px)}
.hero-btn,.waveform-button{box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.2)}
.hero-btn:hover,.waveform-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.hero-btn:active,.waveform-button:active{transform:translateY(2px) scale(.985);box-shadow:inset 0 2px 6px rgba(30,21,42,.25)}
.hero-btn{line-height:1.2}
:where(.nav-btn,.logo,.hero-btn,.card,.waveform-button,.site-footer a):focus-visible{outline:2px solid var(--midnight);outline-offset:4px}
.float-nav{view-transition-name:rel-floating-glass}.float-nav a{text-decoration:none}
.nav-icon svg{stroke:var(--midnight)}.nav-btn.active{background:rgba(255,255,255,.35)}
.nav-btn:active{transform:translateY(2px)}.nav-label{color:var(--midnight)}
.site-footer{background:var(--bg);border-top:1px solid var(--border);padding:36px 28px 156px}
.footer-inner{max-width:1044px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;text-align:left}
.footer-inner strong{display:block;font-family:var(--font-display);font-size:1.5rem;color:var(--midnight);font-weight:400}
.footer-inner span{display:block;margin-top:6px;color:var(--text-muted)}
.footer-inner a{display:inline-flex;align-items:center;gap:6px;font-weight:700;padding:10px 0;text-decoration:underline;text-underline-offset:4px;color:var(--midnight)}
.home-background{padding-block:60px 94px}.home-background>p{color:var(--text-muted);line-height:1.85;margin-bottom:26px}
.stat-band{background:var(--yellow);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:30px;border-radius:28px;margin-block:42px;padding:35px;box-shadow:var(--shadow-md)}
.stat-band strong{font:400 clamp(4.5rem,9vw,8rem)/1 var(--font-display);color:var(--midnight)}
.stat-band p{margin:0 0 12px;color:var(--midnight);line-height:1.65}
.stat-source,.small-source{display:block;font-size:.82rem;font-weight:700;color:var(--midnight)}.small-source{margin:12px 0 30px}
.inner-hero{max-width:none;width:100%;padding:clamp(65px,8vw,110px) max(28px,calc((100% - 1044px)/2)) clamp(60px,7vw,100px);align-items:center;background:var(--page-tone);border-radius:0;min-height:410px;grid-template-columns:minmax(0,1.2fr) minmax(145px,.6fr)}
.inner-hero--blue{background:var(--blue)}.inner-hero--green{background:var(--green)}.inner-hero--yellow{background:var(--yellow)}.inner-hero--midnight{background:var(--midnight);color:white}
.inner-hero-copy{min-width:0}
.inner-hero h1{font:400 clamp(3.75rem,7vw,7.7rem)/.98 var(--font-display);letter-spacing:-.035em;margin:24px 0;color:var(--midnight)}
.inner-hero .lead{max-width:55ch;color:var(--midnight);font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.6}
.inner-hero--midnight h1,.inner-hero--midnight .lead{color:white}
.page-tag{background:rgba(255,255,255,.6)!important;color:var(--midnight)!important;border:1px solid rgba(30,21,42,.15)}
.page-visual{width:min(260px,100%);height:auto;aspect-ratio:1;border-radius:48px;background:rgba(255,255,255,.25);color:var(--midnight);justify-self:end}
.page-visual svg{width:60%;height:auto;stroke:currentColor}
.inner-hero--midnight .page-visual{color:white;background:rgba(255,255,255,.12)}
.content-block{padding-block:70px 110px}.content-block>.section-label{margin-bottom:26px}.content-block p{max-width:68ch}.content-block .mod-item{max-width:880px}
.mod-item{align-items:start}.mod-num{background:var(--page-tone);color:var(--midnight);border:1px solid var(--border);min-width:42px;width:42px;height:42px;font-size:.83rem}
.mod-item h3{font:400 1.6rem var(--font-display);color:var(--midnight);margin-bottom:7px}.mod-item p{margin-bottom:11px}.mod-text{color:var(--midnight)}.chip{color:var(--midnight)}
.status-tag{display:inline-flex;vertical-align:middle;align-items:center;gap:6px;font-size:.73rem;font-weight:700;border-radius:var(--radius-full);padding:7px 12px;margin:8px 0 14px;border:1px solid rgba(30,21,42,.3);background:white;color:var(--midnight);white-space:normal}
.status-blue{background:#e8f6f8}.status-green{background:#eef5e7}.status-yellow{background:#fdf8e3}
.not-published{font-size:.8rem;color:var(--midnight);font-weight:700;margin-left:10px}
.resource-note{margin-top:48px;padding:32px;background:var(--bg-card-2)}.resource-note h3{font-size:1.7rem}.resource-note .hero-btn{margin-top:10px}
.pillar-moment{width:100%;overflow:clip;min-height:460px;color:var(--midnight)}
.moment-inner{max-width:1160px;margin:auto;padding:74px 48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);gap:50px;align-items:center}
.moment-copy{min-width:0}.moment-index{display:block;font:700 .73rem var(--font-body);letter-spacing:.15em;margin-bottom:35px}
.moment-copy h2{font:400 clamp(3.75rem,6.1vw,6.8rem)/.98 var(--font-display);letter-spacing:-.04em;max-width:15ch;margin-bottom:27px}
.moment-copy p{font:400 1.03rem/1.7 var(--font-body);max-width:48ch;margin-bottom:30px}
.moment-button{background:var(--midnight);color:white}.moment-art{width:min(360px,100%);justify-self:center}
.moment-svg{width:100%;height:auto;max-height:330px;filter:drop-shadow(0 15px 12px rgba(30,21,42,.1))}
.moment-blue{background:var(--blue)}.moment-green{background:var(--green)}.moment-yellow{background:var(--yellow)}
.moment-granite{background:var(--granite);color:white}.moment-midnight{background:var(--midnight);color:white}
.moment-granite .moment-button,.moment-midnight .moment-button{background:white;color:var(--midnight)}
.statement-break{padding:clamp(62px,10vw,120px) 28px;text-align:center}
.statement-break p{font:italic 400 clamp(2.8rem,5.5vw,6.1rem)/1.08 var(--font-display);letter-spacing:-.025em;margin:auto;max-width:18ch}
.statement-yellow{background:var(--yellow);color:var(--midnight)}.statement-blue{background:var(--blue);color:var(--midnight)}.statement-green{background:var(--green);color:var(--midnight)}.statement-midnight{background:var(--midnight);color:white}
.motion-band{overflow:clip;padding-block:26px;background:var(--bg);color:var(--granite);border-block:1px solid var(--border)}
.motion-band .motion-track{font:400 clamp(3.5rem,8vw,9rem)/1 var(--font-display);letter-spacing:-.02em;white-space:nowrap;width:max-content;color:transparent;-webkit-text-stroke:1.7px var(--granite);transform:translateX(calc(var(--motion-x,0) * 1px));will-change:transform}
.demo-panel{margin-block:46px 70px;padding:30px;background:var(--bg-card);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-sm)}
.demo-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}.demo-panel .section-label{margin-bottom:14px}
.small-caption,.demo-caption{font-size:.85rem;color:var(--text-muted)}
.waveform-ui{display:flex;align-items:center;gap:22px;padding:20px 0 7px}
.waveform-button{background:var(--blue);border-radius:var(--radius-full);width:64px;height:64px;display:grid;place-items:center;flex:none;color:var(--midnight);transition:transform var(--transition),box-shadow var(--transition)}
.waveform-bars{flex:1;height:65px;display:flex;align-items:center;gap:clamp(2px,.8vw,9px);overflow:hidden}
.waveform-bars i{display:block;background:var(--blue);width:clamp(3px,.65vw,7px);height:var(--bar);min-width:3px;border-radius:999px;transform:scaleY(.55)}
.waveform-ui:has(.waveform-button:hover) .waveform-bars i,.waveform-ui:has(.waveform-button:focus-visible) .waveform-bars i,.waveform-ui.is-playing .waveform-bars i{animation:wave 600ms ease-in-out var(--wave-delay) infinite alternate}
@keyframes wave{from{transform:scaleY(.3)}to{transform:scaleY(1.25)}}
.wave-status{font-size:.8rem;color:var(--text-muted)}
.ruled-card{max-width:720px;margin:16px auto;padding:30px 30px 34px 72px;border-radius:18px;border:1px solid var(--border);background:repeating-linear-gradient(to bottom,white 0,white 39px,var(--border) 40px,white 41px);box-shadow:var(--shadow-sm);position:relative}
.ruled-card::before{content:'';position:absolute;top:0;bottom:0;left:55px;width:1px;background:var(--blue);opacity:.6}
.paper-meta{font-size:.75rem;letter-spacing:.13em;font-weight:700;color:var(--granite);margin-bottom:12px}
.ruled-card h3{font:400 clamp(2rem,4vw,3rem) var(--font-display);margin-bottom:30px}
.worked-steps{list-style:none;display:flex;flex-direction:column;gap:20px}.worked-steps li{display:flex;align-items:baseline;gap:12px;font-size:1.1rem;color:var(--midnight)}.worked-number{font-weight:700}
.underlined-step{position:relative}.underlined-step::after{content:'';position:absolute;left:0;right:0;height:2px;background:var(--granite);bottom:-4px;transform:scaleX(0);transform-origin:left;transition:transform 700ms cubic-bezier(.16,1,.3,1) 330ms}
.worked-steps li.is-visible .underlined-step::after{transform:scaleX(1)}
.learning-sequence{--sequence-progress:0;height:150px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:0;padding-inline:22px;margin-top:12px}
.sequence-track{position:absolute;height:3px;top:50%;left:40px;right:40px;background:var(--border);transform:translateY(-50%)}
.sequence-circle{flex:none;z-index:1;width:clamp(30px,7vw,56px);height:clamp(30px,7vw,56px);border-radius:50%;border:3px solid var(--midnight);background:var(--blue)}
.sequence-dot{width:18px;height:18px;border-radius:50%;background:white;border:2px solid var(--midnight);position:absolute;top:50%;left:var(--sequence-left,44px);margin-top:-9px;transform:translateX(calc(var(--sequence-progress,0) * var(--sequence-distance,0px)));z-index:4;transition:transform 160ms linear;pointer-events:none}
.avatar-group{min-height:190px;display:flex;justify-content:center;align-items:center;gap:0}
.avatar{--avatar-offset:0px;display:inline-block;width:clamp(70px,15vw,138px);aspect-ratio:1;border-radius:50%;background:var(--blue);border:8px solid white;box-shadow:var(--shadow-md);position:relative;margin-left:-15px;transform:translateX(var(--avatar-offset)) scale(1);transition:transform 850ms cubic-bezier(.16,1,.3,1)}
.avatar::before{content:'';position:absolute;border-radius:50%;width:27%;aspect-ratio:1;top:25%;left:36.5%;background:var(--midnight)}
.avatar::after{content:'';position:absolute;border-radius:70% 70% 30% 30%;width:53%;height:26%;bottom:18%;left:23.5%;background:var(--midnight)}
.avatar-two{background:var(--green)}.avatar-three{background:var(--yellow)}.avatar-four{background:var(--bg-card-2)}
html.js .avatar-group:not(.is-visible) .avatar-one{--avatar-offset:-75px}html.js .avatar-group:not(.is-visible) .avatar-two{--avatar-offset:-25px}html.js .avatar-group:not(.is-visible) .avatar-three{--avatar-offset:25px}html.js .avatar-group:not(.is-visible) .avatar-four{--avatar-offset:75px}
.fundraiser-visual{display:flex;flex-wrap:wrap;align-items:center;gap:35px;padding:20px 8px}.fundraiser-ring{position:relative;color:var(--granite);width:130px;height:130px}
.fundraiser-ring span{position:absolute;display:grid;place-items:center;inset:0;text-align:center;font-weight:700;font-size:.8rem;color:var(--midnight)}
.ring-progress{stroke-dashoffset:calc(308 - (var(--ring-amount,0) * 220));transition:stroke-dashoffset 90ms linear}
.fundraiser-side{flex:1;min-width:200px}.unopened-track{width:100%;max-width:420px;height:18px;border-radius:999px;background:var(--bg-card-2);border:1px solid var(--border);overflow:hidden;margin:18px 0}
.unopened-fill{display:block;height:100%;background:var(--yellow);border-radius:inherit;width:calc(var(--ring-amount,0) * 100%);transform-origin:left}.fundraiser-side p{max-width:54ch;font-size:.9rem}
.portrait-frame{max-width:600px;margin:0 auto;text-align:center}.portrait-shape{margin:auto;width:min(100%,400px);aspect-ratio:1;background:var(--bg-card-2);border-radius:42% 58% 62% 38%/44% 38% 62% 56%;display:grid;place-items:center;box-shadow:var(--shadow-lg);transform:translateX(calc(var(--portrait-x,0) * 1px)) rotate(calc(var(--portrait-rotate,0) * 1deg));transition:transform 90ms linear}
.portrait-shape svg{width:60%;stroke:var(--midnight);opacity:.75}.portrait-frame p{color:var(--text-muted);font-size:.85rem;margin:15px auto}
@media(max-width:760px){
.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.moment-inner{grid-template-columns:minmax(0,1fr) minmax(130px,.55fr);gap:15px;padding:64px 28px}
.inner-hero{padding:65px 28px}.page-visual{width:180px}.moment-copy h2{font-size:clamp(3rem,6vw,5rem)}.moment-index{margin-bottom:20px}.wave-status{display:none}
}
@media(max-width:560px){
.header-tag{max-width:165px;text-align:right;font-size:9px}.site-header{padding:19px 20px}
.home-hero{padding:74px 22px 75px;min-height:0}.container,.container-narrow{padding-inline:20px}
.cards-grid{grid-template-columns:1fr}.card{min-height:182px}
.float-nav{bottom:14px;max-width:calc(100% - 16px);gap:2px;padding:5px 7px}.nav-btn{min-width:0;padding:6px 4px;gap:0}.nav-icon{width:33px;height:33px}.nav-label{display:none}
.moment-inner{grid-template-columns:1fr;gap:30px;padding:62px 24px 30px}.moment-art{width:170px;justify-self:end;transform:rotate(-8deg);opacity:.87}.moment-copy h2{font-size:clamp(3.4rem,12vw,4.5rem)}
.inner-hero{grid-template-columns:minmax(0,1fr) 95px;gap:0;padding:55px 22px 65px;min-height:345px}.inner-hero .page-visual{display:flex;width:90px;border-radius:26px}.inner-hero h1{font-size:clamp(3.2rem,12vw,5.3rem)}
.content-block{padding:48px 20px 95px}.stat-band{grid-template-columns:1fr;gap:15px;padding:27px}.stat-band strong{font-size:5.7rem}
.ruled-card{padding:20px 16px 30px 39px}.ruled-card::before{left:29px}.demo-panel{padding:20px 16px}.sequence-dot{left:var(--sequence-left,24px)}.sequence-track{left:24px;right:24px}.sequence-circle{width:35px;height:35px}
.footer-inner{display:block}.waveform-ui{gap:10px}.waveform-button{width:50px;height:50px}
}
@media(max-width:375px){.nav-icon{width:32px;height:32px}.nav-btn{padding:5px 3px}.inner-hero{grid-template-columns:1fr 70px}.inner-hero .page-visual{width:68px}.inner-hero h1{font-size:3.1rem}}
/* STAGE 3: visible horizontal scroll motion, one-time alternating reveal, page transitions. */
html.js [data-reveal]{opacity:0;transform:translate3d(-104px,0,0);transition:opacity 800ms cubic-bezier(.16,1,.3,1),transform 800ms cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms);will-change:transform,opacity}
html.js [data-reveal="right"]{transform:translate3d(104px,0,0)}
html.js [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0)}
html.js html.js .avatar-group:not(.is-visible) .avatar-one{--avatar-offset:-75px}
html.js html.js .avatar-group:not(.is-visible) .avatar-two{--avatar-offset:-25px}
html.js html.js .avatar-group:not(.is-visible) .avatar-three{--avatar-offset:25px}
html.js html.js .avatar-group:not(.is-visible) .avatar-four{--avatar-offset:75px}
.card-parallax{transform:translate3d(var(--drift-x,0px),0,0);will-change:transform}
.page-visual{will-change:transform,opacity}
@view-transition{navigation:auto}
@keyframes rel-old-page{to{opacity:0}}
@keyframes rel-new-page{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
::view-transition-old(root){animation:200ms ease-in both rel-old-page}
::view-transition-new(root){animation:400ms cubic-bezier(.16,1,.3,1) both rel-new-page}
@keyframes rel-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes rel-marquee-forward{from{transform:translateX(16px)}to{transform:translateX(-360px)}}
@keyframes rel-marquee-backward{from{transform:translateX(-360px)}to{transform:translateX(16px)}}
/* Native CSS scroll-driven motion when supported; one scroll listener supplies fallback. */
@supports (animation-timeline:view()) {
 .motion-band--forward .motion-track{animation:rel-marquee-forward linear both;animation-timeline:view(block);animation-range:entry 0% exit 100%}
 .motion-band--backward .motion-track{animation:rel-marquee-backward linear both;animation-timeline:view(block);animation-range:entry 0% exit 100%}
}
@supports (animation-timeline:scroll(root block)) {
 .scroll-progress>span{animation:rel-progress linear both;animation-timeline:scroll(root block)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 html.js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important;will-change:auto}
 .card-parallax,.portrait-shape,.motion-track,.moment-art{transform:none!important;animation:none!important;transition:none!important}
 .waveform-bars i{animation:none!important;transform:scaleY(1)!important}
 .learning-sequence .sequence-dot{transform:translateX(var(--sequence-distance,0px))!important;transition:none!important}
 .avatar-group .avatar{--avatar-offset:0px!important;transition:none!important;transform:none!important}
 .ring-progress{stroke-dashoffset:88!important;transition:none!important}
 .unopened-fill{width:70%!important;transition:none!important}
 .scroll-progress>span{animation:none!important;transform:none!important}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
 .float-nav{transition:none!important}
 .underlined-step::after{transform:scaleX(1)!important;transition:none!important}
}

/* Keep the original frosted nav legible while it overlays dark full-bleed bands. */
.float-nav.on-dark{background:rgba(255,255,255,.83);border-color:rgba(255,255,255,.7)}


/* Review pass: statistic layout, smooth marquee, calm cards, glass Dock interactions. */
/* The number must reserve its actual width; it may never paint over the source copy. */
.stat-band {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr);
  align-items: center;
  column-gap: clamp(20px, 3vw, 38px);
  row-gap: 18px;
}
.stat-band > strong {
  display: block;
  min-width: 0;
  font-size: clamp(4.4rem, 7.1vw, 6.55rem);
  line-height: .93;
  letter-spacing: -.04em;
  white-space: nowrap;
}
.stat-band > div { min-width: 0; }
.stat-band > div p { line-height: 1.65; overflow-wrap: break-word; }
@media (min-width: 561px) and (max-width: 850px) {
  .stat-band { grid-template-columns: minmax(0,1fr); }
  .stat-band > strong { font-size: clamp(4.8rem, 12vw, 6.55rem); }
}
@media (max-width: 560px) {
  .stat-band { grid-template-columns: minmax(0,1fr); padding: 25px 22px; }
  .stat-band > strong { font-size: clamp(4.1rem, 16vw, 5.7rem); }
}
/* Keep card motion one-time: their parent already slides in as it enters. */
.card-parallax { transform: none !important; will-change: auto; }
/* Marquee follows vertical scroll with an eased compositor transform, not a
   continuously restarting CSS view-timeline animation. */
.motion-band { overflow: hidden; }
.motion-band .motion-track {
  animation: none !important;
  transform: translate3d(var(--motion-x, 0px), 0, 0);
  will-change: transform;
  backface-visibility: hidden;
}
/* Glassier floating navigation, including when it overlays a dark band. */
.float-nav {
  background: rgba(255,255,255,.34);
  border: 1px solid rgba(255,255,255,.55);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  backdrop-filter: blur(28px) saturate(180%);
  box-shadow: 0 12px 34px rgba(30,21,42,.16),0 3px 9px rgba(30,21,42,.09),inset 0 1px 0 rgba(255,255,255,.78),inset 0 -1px 0 rgba(255,255,255,.13);
}
.float-nav.on-dark { background: rgba(255,255,255,.52); border-color: rgba(255,255,255,.65); }
.nav-icon { transform-origin: center bottom; transition: transform 280ms cubic-bezier(.16,1,.3,1),background-color 240ms ease; }
.nav-btn { transition: background-color 220ms ease, transform 280ms cubic-bezier(.16,1,.3,1); }
@media (hover:hover) and (pointer:fine) {
  .float-nav .nav-btn:hover .nav-icon,
  .float-nav .nav-btn:focus-visible .nav-icon { transform: translateY(-7px) scale(1.34); }
  .float-nav .nav-btn:has(+ .nav-btn:hover) .nav-icon,
  .float-nav .nav-btn:hover + .nav-btn .nav-icon { transform: translateY(-3px) scale(1.16); }
  .float-nav .nav-btn:hover { background: rgba(255,255,255,.28); }
}
@media (max-width:560px) and (hover:hover) and (pointer:fine) {
  .float-nav .nav-btn:hover .nav-icon { transform: translateY(-5px) scale(1.2); }
  .float-nav .nav-btn:has(+ .nav-btn:hover) .nav-icon,
  .float-nav .nav-btn:hover + .nav-btn .nav-icon { transform: translateY(-2px) scale(1.08); }
}
@media (prefers-reduced-motion:reduce) {
  .motion-band .motion-track { transform: none !important; animation: none !important; will-change:auto; }
  .nav-icon,.nav-btn { transition: none !important; }
  .float-nav .nav-btn:hover .nav-icon,.float-nav .nav-btn:focus-visible .nav-icon,
  .float-nav .nav-btn:has(+ .nav-btn:hover) .nav-icon,.float-nav .nav-btn:hover + .nav-btn .nav-icon { transform: none !important; }
  .float-nav .nav-btn.active .nav-icon { transform: none !important; }
}



/* v4.6 | Compact, distinctly coloured footer; original palette only. */
body { padding-bottom: 0; }
.site-footer {
  background: var(--midnight); color: var(--bg);
  border-top: 3px solid var(--blue);
  padding: 32px 28px 112px;
  text-align: left; overflow: clip;
}
.site-footer .footer-inner {
  max-width: 1044px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.45fr);
  align-items: start; gap: clamp(28px,5vw,70px); text-align: left;
}
.site-footer .footer-intro { min-width: 0; }
.site-footer .footer-eyebrow {
  display:flex; align-items:center; gap:9px; margin:0;
  color:var(--green); letter-spacing:.15em; font:700 .61rem/1.5 var(--font-body);
}
.site-footer .footer-signal { width:6px; height:6px; flex:none; border-radius:50%; background:var(--blue); }
.site-footer .footer-headline {
  font:400 clamp(2rem,3.4vw,3rem)/1.04 var(--font-display);
  letter-spacing:-.025em; color:var(--bg); margin:12px 0 9px;
}
.site-footer .footer-headline em { font-style:italic; color:var(--green); font-weight:400; }
.site-footer .footer-description {
  font:400 .78rem/1.55 var(--font-body);
  color:rgba(252,239,239,.78); max-width:35ch; margin:0;
}
.site-footer .footer-contact { min-width:0; margin:0; padding:0; border:0; }
.site-footer .footer-contact h3 {
  margin:1px 0 17px; text-transform:uppercase; letter-spacing:.14em;
  font:700 .61rem/1.5 var(--font-body); color:var(--green);
}
.footer-channel-list {
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px;
  list-style:none; margin:0; padding:0;
}
.footer-channel {
  min-width:0; margin:0; display:flex; flex-direction:column; align-items:center; gap:5px;
  padding:9px 3px 7px; border:1px solid rgba(252,239,239,.19); border-radius:12px;
  background:rgba(252,239,239,.045); cursor:default; text-align:center;
  transition:background-color 220ms ease,border-color 220ms ease;
}
.footer-channel:hover { background:rgba(252,239,239,.1);border-color:rgba(252,239,239,.48); }
.site-footer .footer-channel-icon {
  display:grid; place-items:center; width:31px; height:31px;
  border-radius:50%; background:rgba(90,177,187,.2); color:var(--bg);
  transition:background-color 250ms ease;
}
.site-footer .footer-channel-icon svg { width:17px; height:17px; display:block; }
.footer-channel:hover .footer-channel-icon { background:rgba(165,200,130,.34); }
.site-footer .footer-channel-label {
  color:var(--bg);font:600 .72rem/1.2 var(--font-body);
  white-space:nowrap;letter-spacing:0;
}
.site-footer .footer-channel-status {
  color:rgba(252,239,239,.74);font:400 .60rem/1.35 var(--font-body);
  white-space:nowrap;
}
.site-footer .footer-base {
  max-width:1044px; margin:21px auto 0; padding-top:13px;
  display:flex; align-items:center; justify-content:space-between; gap:6px 16px;
  border-top:1px solid rgba(252,239,239,.23);text-align:left;
  color:rgba(252,239,239,.75);font:400 .64rem/1.4 var(--font-body);
}
.site-footer .footer-base>span { display:inline-flex;align-items:center;flex-wrap:wrap; }
.site-footer .footer-wordmark { font:italic 1.12rem/1 var(--font-display);color:var(--bg);gap:5px; }
.site-footer .footer-base-dot { display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--blue); }
.site-footer .footer-base-divider {padding:0 5px;}
@media(max-width:850px){
 .site-footer .footer-inner { grid-template-columns:minmax(0,1fr);gap:24px; }
 .site-footer .footer-contact h3 {margin-bottom:12px;}
}
@media(max-width:560px){
 .site-footer {padding:25px 17px 103px;}
 .site-footer .footer-headline {font-size:2.1rem;margin:8px 0 5px;}
 .site-footer .footer-description {font-size:.72rem;}
 .site-footer .footer-inner {gap:20px;}
 .footer-channel-list {grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;}
 .footer-channel {padding:9px 0 8px;border-radius:10px;gap:4px;}
 .site-footer .footer-channel-icon {width:27px;height:27px;}
 .site-footer .footer-channel-icon svg {width:16px;height:16px;}
 .site-footer .footer-channel-label {font-size:.60rem;}
 .site-footer .footer-channel-status {font-size:.5rem;}
 .site-footer .footer-base {margin-top:18px;padding-top:10px;flex-wrap:wrap;gap:6px 12px;}
}
@media(max-width:375px){.site-footer{padding-inline:13px}.footer-channel-list{gap:3px}}
@media(prefers-reduced-motion:reduce){
 .footer-channel,.site-footer .footer-channel-icon{transition:none!important;}
 .footer-channel:hover .footer-channel-icon{transform:none!important;}
}

/* v4.9: Charles-Leclerc-style 2D vertical text roll, not a rotating card.
   The icon, card, and Coming soon caption stay absolutely still. */
.site-footer .footer-label-window {
  display:block; overflow:hidden; height: .864rem; line-height: 1.2;
}
.site-footer .footer-label-track {
  display:flex; flex-direction:column; align-items:center; margin-top:0;
  transform:translate3d(0,0,0);
  transition:transform 500ms cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
.site-footer .footer-label-track .footer-channel-label {
  display:block; flex:0 0 auto; height:.864rem; line-height:1.2; margin-top:0;
}
.site-footer .footer-label-track .footer-channel-label:last-child {color:var(--green);}
@media (hover:hover) and (pointer:fine) {
  .site-footer .footer-channel:hover .footer-label-track {transform:translate3d(0,-50%,0);}
}
@media (max-width:560px) {
  .site-footer .footer-label-window,
  .site-footer .footer-label-track .footer-channel-label {height:.72rem;}
}
@media (prefers-reduced-motion:reduce) {
  .site-footer .footer-label-track,
  .site-footer .footer-channel:hover .footer-label-track {
    transform:none!important; transition:none!important; will-change:auto;
  }
}

/* v4.10 | Stronger macOS-style Dock magnification and unmistakable active-page colour.
   Visual-only override: the seven real links, dock layout and page styles stay intact. */
.float-nav .nav-btn[data-page="home"],
.float-nav .nav-btn[data-page="fundraiser"] { --dock-accent: var(--yellow); }
.float-nav .nav-btn[data-page="podcast"],
.float-nav .nav-btn[data-page="manual"] { --dock-accent: var(--blue); }
.float-nav .nav-btn[data-page="workbook"],
.float-nav .nav-btn[data-page="session"] { --dock-accent: var(--green); }
.float-nav .nav-btn[data-page="founder"] { --dock-accent: #d9ebf0; }
.float-nav .nav-btn.active .nav-icon {
  background-color: var(--dock-accent);
  box-shadow: 0 0 0 1px rgba(30,21,42,.09), 0 5px 13px rgba(30,21,42,.19), inset 0 1px 0 rgba(255,255,255,.36);
}
.float-nav .nav-btn.active .nav-icon svg { stroke: var(--midnight); stroke-width: 2.15; }
.float-nav .nav-btn.active .nav-label { color: var(--midnight); font-weight: 800; }
.float-nav .nav-icon {
  transform-origin: center bottom;
  transition: transform 340ms cubic-bezier(.16,1,.3,1),
    background-color 230ms ease, box-shadow 250ms ease;
  backface-visibility: hidden;
}
@media (hover:hover) and (pointer:fine) {
  .float-nav .nav-btn:is(:hover,:focus-visible) .nav-icon {
    transform: translateY(-12px) scale(1.56);
    box-shadow: 0 9px 23px rgba(30,21,42,.18);
  }
  .float-nav .nav-btn:has(+ .nav-btn:is(:hover,:focus-visible)) .nav-icon,
  .float-nav .nav-btn:is(:hover,:focus-visible) + .nav-btn .nav-icon {
    transform: translateY(-6px) scale(1.27);
  }
  .float-nav .nav-btn:has(+ .nav-btn + .nav-btn:is(:hover,:focus-visible)) .nav-icon,
  .float-nav .nav-btn:is(:hover,:focus-visible) + .nav-btn + .nav-btn .nav-icon {
    transform: translateY(-2px) scale(1.09);
  }
  .float-nav .nav-btn:is(:hover,:focus-visible) {
    background: rgba(255,255,255,.38);
  }
}
@media (max-width:560px) and (hover:hover) and (pointer:fine) {
  .float-nav .nav-btn:is(:hover,:focus-visible) .nav-icon {
    transform: translateY(-8px) scale(1.35);
  }
  .float-nav .nav-btn:has(+ .nav-btn:is(:hover,:focus-visible)) .nav-icon,
  .float-nav .nav-btn:is(:hover,:focus-visible) + .nav-btn .nav-icon {
    transform: translateY(-3px) scale(1.12);
  }
  .float-nav .nav-btn:has(+ .nav-btn + .nav-btn:is(:hover,:focus-visible)) .nav-icon,
  .float-nav .nav-btn:is(:hover,:focus-visible) + .nav-btn + .nav-btn .nav-icon {
    transform: none;
  }
}
@media (prefers-reduced-motion:reduce) {
  .float-nav .nav-btn .nav-icon,
  .float-nav .nav-btn:is(:hover,:focus-visible) .nav-icon,
  .float-nav .nav-btn:has(+ .nav-btn:is(:hover,:focus-visible)) .nav-icon,
  .float-nav .nav-btn:is(:hover,:focus-visible) + .nav-btn .nav-icon,
  .float-nav .nav-btn:has(+ .nav-btn + .nav-btn:is(:hover,:focus-visible)) .nav-icon,
  .float-nav .nav-btn:is(:hover,:focus-visible) + .nav-btn + .nav-btn .nav-icon {
    transform: none !important;
    transition: none !important;
  }
}

/* v4.12: Podcast content stays in the same column as its episode cards.
   Purpose copy replaces the oversized statement band; all other pages retain their styling. */
.podcast-content { padding-bottom: clamp(52px, 6vw, 78px); }
.podcast-content > .section-label { max-width: 880px; }
.podcast-content > .podcast-series-intro {
  max-width: 880px;
  margin: 0 0 26px;
  padding-left: 18px;
  border-left: 3px solid var(--blue);
  font-size: clamp(.98rem, 1.24vw, 1.08rem);
  line-height: 1.65;
  color: var(--text-muted);
}
.podcast-content .episode-list { max-width: 880px; }
.podcast-content .episode-list .mod-item { max-width: 100%; }
@media (max-width: 560px) {
  .podcast-content > .podcast-series-intro {
    padding-left: 14px;
    margin-bottom: 22px;
  }
}


/* v4.14 | Verified public contact destinations, preserving the compact tile and text-roll layout. */
.site-footer .footer-channel[data-channel="phone"],
.site-footer .footer-channel[data-channel="email"] { position: relative; cursor: pointer; }
.site-footer .footer-channel-hit { position: absolute; inset: 0; border-radius: inherit; z-index: 2; }
.site-footer .footer-channel:focus-within { outline: 2px solid var(--yellow); outline-offset: 3px; border-color: var(--yellow); }
.site-footer .footer-channel[data-channel="phone"] .footer-channel-status,
.site-footer .footer-channel[data-channel="email"] .footer-channel-status {
  white-space: normal; overflow-wrap: anywhere; word-break: normal;
  width: 100%; max-width: 100%; line-height: 1.23;
  font-size: clamp(.5rem, .6vw + .3rem, .61rem);
  color: var(--bg);
}
@media(max-width:560px) {
  .site-footer .footer-channel[data-channel="phone"] .footer-channel-status,
  .site-footer .footer-channel[data-channel="email"] .footer-channel-status { font-size: .50rem; }
}


/* v4.15 | Textbook and workbook within the existing RE&L Work design system. */
.resource-pair { max-width:1100px; margin:clamp(24px,3.8vw,44px) auto 28px; padding:0 28px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.resource-pair-card { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:12px; border:1px solid var(--border); border-radius:var(--radius); padding:clamp(22px,3vw,30px); background:var(--bg-card); box-shadow:var(--shadow-sm); }
.resource-pair-card--textbook { background:var(--bg-card-2); }
.resource-pair-kicker { display:flex; align-items:center; gap:8px; color:var(--granite); font-family:var(--font-body); letter-spacing:.12em; font-size:.65rem; font-weight:700; }
.resource-pair-dot { width:8px; height:8px; border-radius:50%; background:var(--green); }
.resource-pair-card--textbook .resource-pair-dot { background:var(--blue); }
.resource-pair-card h2 { margin:0; font-family:var(--font-display); font-size:clamp(2rem,3vw,2.6rem); color:var(--midnight); line-height:1.1; }
.resource-pair-card p { max-width:42ch; color:var(--text-muted); font-size:.96rem; line-height:1.65; flex:1; }
.resource-pair-link,.resource-pair-pending { font-size:.76rem; text-transform:uppercase; letter-spacing:.065em; font-weight:700; }
.resource-pair-link { color:var(--midnight); text-decoration:underline; text-underline-offset:5px; transition:opacity .2s ease; }
.resource-pair-link:hover { opacity:.6; }
.resource-pair-link:active { opacity:.45; }
.resource-pair-pending { color:var(--granite); }
.resource-pair-link:focus-visible { outline:2px solid var(--granite); outline-offset:6px; }
@media (max-width:620px) { .resource-pair { grid-template-columns:1fr; gap:12px; } }
