:root{
  --font-display:'Zodiak','Source Serif 4',Georgia,serif;
  --font-body:'Source Serif 4',Georgia,serif;
  --font-ui:'General Sans','Helvetica Neue',Arial,sans-serif;

  --color-bg:#f6f1e8;
  --color-surface:#fbf8f2;
  --color-surface-2:#efe8db;
  --color-text:#1e2a22;
  --color-text-muted:#5c675f;
  --color-text-faint:#8d948e;
  --color-divider:rgba(30,42,34,.12);
  --color-primary:#2f6b4f;
  --color-primary-hover:#24543e;
  --color-primary-soft:#dde8df;
  --color-gold:#a67c2e;
  --color-ink:#14251c;
  --color-ink-2:#1b3126;
  --color-ink-text:#f3eee3;
  --color-ink-muted:#b7c2b8;
  --shadow-sm:0 1px 2px rgba(30,42,34,.06),0 4px 14px rgba(30,42,34,.06);
  --shadow-md:0 2px 6px rgba(30,42,34,.08),0 16px 40px rgba(30,42,34,.10);
  --container:72rem;
  --prose:66ch;
}

/* ---------- Layout primitives ---------- */
.container{width:min(100% - 2.5rem,var(--container));margin-inline:auto}
.narrow{width:min(100% - 2.5rem,46rem);margin-inline:auto}
.section{padding-block:clamp(var(--space-16),9vw,var(--space-32))}
.section--tight{padding-block:clamp(var(--space-12),6vw,var(--space-20))}
.kicker{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);font-weight:600;margin-bottom:var(--space-4)}
.ink .kicker{color:#9fc7ad}
.section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-.01em;max-width:24ch}
.lede{font-size:var(--text-lg);line-height:1.45;color:var(--color-text);font-weight:400;max-width:var(--prose)}
.ink .lede{color:var(--color-ink-text)}
.prose{max-width:var(--prose)}
.prose p{font-size:var(--text-base);line-height:1.7;margin-bottom:1.1em;color:var(--color-text)}
.prose p:last-child{margin-bottom:0}
.prose a{color:var(--color-primary)}
.prose em{font-style:italic}
.prose strong{font-weight:600}
.muted{color:var(--color-text-muted)}
.small{font-size:var(--text-sm)}
.ui{font-family:var(--font-ui)}

.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;padding:.8rem 1.25rem;border-radius:var(--radius-sm);text-decoration:none;min-height:44px;transition:background var(--ease) .2s,color .2s,border-color .2s,transform .2s}
.btn svg{width:1rem;height:1rem;flex:none}
.btn--primary{background:var(--color-primary);color:#fff}
.btn--primary:hover{background:var(--color-primary-hover)}
.btn--ghost{border:1px solid var(--color-divider);color:var(--color-text);background:transparent}
.btn--ghost:hover{border-color:var(--color-text);background:var(--color-surface)}
.ink .btn--ghost{color:var(--color-ink-text);border-color:rgba(243,238,227,.28)}
.ink .btn--ghost:hover{border-color:var(--color-ink-text);background:rgba(243,238,227,.06)}
.btn--light{background:var(--color-ink-text);color:var(--color-ink)}
.btn--light:hover{background:#fff}

.textlink{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}
.textlink:hover{text-decoration:underline}
.textlink svg{width:.9rem;height:.9rem}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,241,232,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.site-header.is-scrolled{border-bottom-color:var(--color-divider);box-shadow:0 1px 0 rgba(30,42,34,.04)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);min-height:4.25rem}
.brand{font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.01em;text-decoration:none;display:flex;align-items:baseline;gap:.5rem;color:var(--color-text)}
.brand span{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.nav{display:flex;gap:clamp(.75rem,2vw,1.5rem);font-family:var(--font-ui);font-size:var(--text-sm)}
.nav a{text-decoration:none;color:var(--color-text-muted);padding:.5rem .1rem;position:relative;white-space:nowrap}
.nav a:hover,.nav a.is-active{color:var(--color-text)}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:.2rem;height:1px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover::after,.nav a.is-active::after{transform:scaleX(1)}
.nav-toggle{display:none;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;padding:.6rem .2rem;min-height:44px;align-items:center;gap:.5rem;color:var(--color-text)}
.nav-toggle svg{width:1.25rem;height:1.25rem}
@media (max-width:880px){
  .nav-toggle{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--color-surface);border-bottom:1px solid var(--color-divider);padding:var(--space-3) var(--space-5) var(--space-5);box-shadow:var(--shadow-md)}
  .nav.is-open{display:flex}
  .nav a{padding:.75rem 0;border-bottom:1px solid var(--color-divider);font-size:var(--text-base)}
  .nav a::after{display:none}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--color-bg)}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:left center;opacity:.92}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,241,232,0) 0%,rgba(246,241,232,.35) 30%,rgba(246,241,232,.92) 52%,rgba(246,241,232,1) 70%)}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--space-10);align-items:end;min-height:min(86vh,52rem);padding-block:clamp(var(--space-16),10vw,var(--space-24)) clamp(var(--space-12),6vw,var(--space-20))}
.hero-copy{grid-column:2;max-width:40rem}
.hero-dates{font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-5);display:flex;gap:1rem;align-items:center}
.hero-dates::before{content:"";width:2.5rem;height:1px;background:var(--color-gold)}
.hero h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;line-height:.98;letter-spacing:-.025em;margin-bottom:var(--space-6)}
.hero h1 em{font-style:italic;color:var(--color-primary)}
.hero p{font-size:var(--text-lg);line-height:1.45;max-width:36rem;color:var(--color-text);margin-bottom:var(--space-8)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.hero-portrait{position:absolute;z-index:1;left:37%;top:clamp(5rem,8vw,6.5rem);width:clamp(7rem,11vw,9.5rem);aspect-ratio:329/415;border-radius:2px;overflow:hidden;box-shadow:0 18px 40px rgba(30,42,34,.28),0 0 0 6px #fbf8f2,0 0 0 7px rgba(30,42,34,.12);transform:rotate(-2deg)}
.hero-portrait img{width:100%;height:100%;object-fit:cover;filter:sepia(.18) contrast(1.02)}
.hero-portrait figcaption{position:absolute;inset:auto 0 0;background:rgba(20,37,28,.72);color:var(--color-ink-text);font-family:var(--font-ui);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .5rem}
@media (max-width:880px){
  .hero-bg img{object-position:30% center}
  .hero-bg::after{background:linear-gradient(180deg,rgba(246,241,232,.05) 0%,rgba(246,241,232,.75) 42%,rgba(246,241,232,1) 62%)}
  .hero-inner{grid-template-columns:1fr;min-height:0;padding-top:clamp(14rem,60vw,22rem)}
  .hero-copy{grid-column:1}
  .hero-portrait{left:auto;right:1.25rem;top:5.25rem;width:6.5rem;transform:rotate(2deg)}
}

/* ---------- Featured video band ---------- */
.ink{background:var(--color-ink);color:var(--color-ink-text)}
.ink .section-title{color:var(--color-ink-text)}
.ink .muted{color:var(--color-ink-muted)}
.feature-video{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:center}
.video-frame{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.video-frame iframe,.video-frame img{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-frame img{object-fit:cover}
.video-frame .play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35));color:#fff;text-decoration:none}
.video-frame .play span{display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(6px);transition:transform .3s var(--ease),background .3s}
.video-frame .play:hover span{transform:scale(1.06);background:rgba(255,255,255,.26)}
.video-frame .play svg{width:1.6rem;height:1.6rem;margin-left:.2rem}
.video-meta{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-ink-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:var(--space-3);display:flex;gap:.6rem;flex-wrap:wrap}
.feature-video h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;margin-bottom:var(--space-4);color:var(--color-ink-text)}
.feature-video p{color:#d9d4c8;font-size:var(--text-base);line-height:1.7;margin-bottom:var(--space-5)}
.fallback-link{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-ink-muted);word-break:break-all;margin-top:var(--space-4)}
.fallback-link a{color:#cfe0d3}
@media (max-width:880px){.feature-video{grid-template-columns:1fr}}

/* ---------- Pull quotes ---------- */
.quote-band{padding-block:clamp(var(--space-12),7vw,var(--space-20));border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);background:var(--color-surface)}
.quote-band blockquote{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;line-height:1.3;letter-spacing:-.01em;max-width:30ch;text-wrap:balance}
.quote-band blockquote::before{content:"\201C";display:block;font-size:3rem;line-height:.6;color:var(--color-gold);margin-bottom:.6rem}
.quote-band cite{display:block;margin-top:var(--space-5);font-family:var(--font-ui);font-style:normal;font-size:var(--text-sm);color:var(--color-text-muted)}
.quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:clamp(var(--space-8),5vw,var(--space-16))}
.quote-grid blockquote{font-size:var(--text-lg)}

/* ---------- Life / timeline ---------- */
.two-col{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(var(--space-10),6vw,var(--space-24));align-items:start}
.two-col .sticky{position:sticky;top:6rem}
.portrait-card{margin-top:var(--space-8);display:grid;grid-template-columns:7rem 1fr;gap:var(--space-5);align-items:center;background:var(--color-surface);border:1px solid var(--color-divider);padding:var(--space-4);border-radius:var(--radius-sm)}
.portrait-card img{width:100%;aspect-ratio:329/415;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.portrait-card p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}
.timeline{position:relative;padding-left:clamp(1.25rem,3vw,2rem);border-left:1px solid var(--color-divider)}
.timeline li{position:relative;padding-bottom:var(--space-8);display:grid;grid-template-columns:5.5rem 1fr;gap:var(--space-4)}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:calc(-1 * clamp(1.25rem,3vw,2rem) - 4px);top:.55rem;width:7px;height:7px;border-radius:50%;background:var(--color-primary)}
.timeline li.gold::before{background:var(--color-gold);box-shadow:0 0 0 4px rgba(166,124,46,.18)}
.timeline time{font-family:var(--font-ui);font-weight:600;font-size:var(--text-sm);color:var(--color-primary);padding-top:.15rem}
.timeline li.gold time{color:var(--color-gold)}
.timeline h3{font-size:var(--text-base);font-weight:600;margin-bottom:.25rem;font-family:var(--font-body)}
.timeline p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6}
@media (max-width:880px){.two-col{grid-template-columns:1fr}.two-col .sticky{position:static}.timeline li{grid-template-columns:1fr;gap:.25rem}}

/* ---------- Ideas (influence) ---------- */
.ideas{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-5)}
.idea{background:var(--color-surface);border:1px solid var(--color-divider);padding:clamp(var(--space-6),3vw,var(--space-8));border-radius:var(--radius-sm);grid-column:span 4}
.idea--wide{grid-column:span 8;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center}
.idea--tall{grid-column:span 4}
.idea h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;margin-bottom:var(--space-3);letter-spacing:-.01em}
.idea p{font-size:var(--text-sm);line-height:1.65;color:var(--color-text-muted)}
.idea .num{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-gold);letter-spacing:.14em;font-weight:600;margin-bottom:var(--space-4);display:block}
.stances{display:grid;gap:.5rem;margin-top:var(--space-4)}
.stances li{display:grid;grid-template-columns:8.5rem 1fr;gap:.75rem;font-size:var(--text-sm);padding:.55rem 0;border-top:1px solid var(--color-divider)}
.stances li strong{font-family:var(--font-ui);font-weight:600;color:var(--color-text)}
.stances li span{color:var(--color-text-muted)}
.stances li.level strong{color:var(--color-primary)}
.freedoms{counter-reset:f;margin-top:var(--space-4);display:grid;gap:.6rem}
.freedoms li{counter-increment:f;display:grid;grid-template-columns:1.6rem 1fr;gap:.6rem;font-size:var(--text-sm);line-height:1.5;color:var(--color-text)}
.freedoms li::before{content:counter(f);font-family:var(--font-ui);font-weight:600;color:var(--color-gold);font-size:var(--text-xs);padding-top:.2rem}
.change-steps{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--space-4);font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.04em}
.change-steps li{padding:.4rem .7rem;border:1px solid var(--color-divider);border-radius:var(--radius-full);color:var(--color-text-muted)}
.change-steps li.hot{border-color:var(--color-gold);color:var(--color-gold)}
@media (max-width:1000px){.idea,.idea--wide,.idea--tall{grid-column:span 6}.idea--wide{grid-template-columns:1fr}}
@media (max-width:640px){.idea,.idea--wide,.idea--tall{grid-column:span 12}.stances li{grid-template-columns:1fr;gap:.1rem}}

/* ---------- Full-bleed image divider ---------- */
.bleed{position:relative;height:clamp(16rem,42vw,30rem);overflow:hidden}
.bleed img{width:100%;height:100%;object-fit:cover}
.bleed figcaption{position:absolute;left:0;right:0;bottom:0;padding:var(--space-5) 0;background:linear-gradient(180deg,rgba(20,37,28,0),rgba(20,37,28,.7));color:var(--color-ink-text)}
.bleed figcaption .container{display:flex;justify-content:space-between;align-items:end;gap:var(--space-6);flex-wrap:wrap}
.bleed figcaption p{font-family:var(--font-display);font-size:var(--text-lg);max-width:34ch;line-height:1.3}
.bleed figcaption small{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-muted)}

/* ---------- PAIRS section ---------- */
.pairs-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(var(--space-10),6vw,var(--space-20));align-items:start}
.pairs-aside{position:sticky;top:6rem;display:grid;gap:var(--space-5)}
.pairs-aside figure img{border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}
.pairs-aside figcaption{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:.6rem;line-height:1.5}
.fact-list{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-sm);padding:var(--space-6)}
.fact-list h3{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;margin-bottom:var(--space-4)}
.fact-list li{display:grid;grid-template-columns:4.5rem 1fr;gap:var(--space-3);padding:.65rem 0;border-top:1px solid var(--color-divider);font-size:var(--text-sm);line-height:1.5}
.fact-list li b{font-family:var(--font-ui);font-weight:600;color:var(--color-primary)}
.letter{margin-top:var(--space-10);background:var(--color-surface);border:1px solid var(--color-divider);padding:clamp(var(--space-6),4vw,var(--space-12));border-radius:var(--radius-sm);position:relative}
.letter::before{content:"";position:absolute;inset:.6rem;border:1px solid var(--color-divider);pointer-events:none;border-radius:2px}
.letter h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;margin-bottom:var(--space-2)}
.letter .meta{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-6)}
.letter p{font-size:var(--text-base);line-height:1.75;margin-bottom:1em}
.letter .meta + p::first-letter{font-family:var(--font-display);font-size:3.4em;float:left;line-height:.8;padding:.08em .12em 0 0;color:var(--color-primary)}
.letter .sig{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);margin-top:var(--space-6);color:var(--color-text)}
.letter details{margin-top:var(--space-4)}
.letter summary{cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-primary);list-style:none;display:inline-flex;align-items:center;gap:.4rem;min-height:44px}
.letter summary::-webkit-details-marker{display:none}
.letter summary::after{content:"+";font-size:1.2em;line-height:1}
.letter details[open] summary::after{content:"\2212"}
.letter details .more{margin-top:var(--space-4)}
.pairs-links{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
@media (max-width:880px){.pairs-grid{grid-template-columns:1fr}.pairs-aside{position:static}}

/* ---------- Videos ---------- */
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:var(--space-5);align-items:start}
.vcard{display:block;text-decoration:none;color:inherit;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-sm);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.vcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.vcard .thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111}
.vcard .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.vcard:hover .thumb img{transform:scale(1.03)}
.vcard .dur{position:absolute;right:.5rem;bottom:.5rem;font-family:var(--font-ui);font-size:.7rem;font-weight:600;background:rgba(0,0,0,.75);color:#fff;padding:.15rem .4rem;border-radius:2px}
.vcard .body{padding:var(--space-4) var(--space-4) var(--space-5)}
.vcard .tag{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold);font-weight:600;display:block;margin-bottom:.35rem}
.vcard h3{font-size:var(--text-sm);font-weight:600;line-height:1.35;font-family:var(--font-body)}
.vcard--big{grid-column:span 2}
.vcard--big h3{font-size:var(--text-base)}
@media (max-width:640px){.vcard--big{grid-column:span 1}}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-6);flex-wrap:wrap;margin-bottom:clamp(var(--space-8),4vw,var(--space-12))}
.section-head .lede{margin-top:var(--space-4)}

/* ---------- Books ---------- */
.books{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:var(--space-6) var(--space-5)}
.book{display:grid;grid-template-rows:auto 1fr;gap:var(--space-4);text-decoration:none;color:inherit}
.book .cover{aspect-ratio:3/4.4;display:grid;place-items:center;background:var(--color-surface-2);border-radius:2px;padding:var(--space-5);position:relative;overflow:hidden}
.book .cover img{max-height:100%;width:auto;max-width:100%;box-shadow:2px 6px 18px rgba(30,42,34,.22),0 0 0 1px rgba(30,42,34,.06);transition:transform .4s var(--ease)}
.book:hover .cover img{transform:translateY(-4px) rotate(-.5deg)}
.book .cover.square img{max-width:88%}
.book h3{font-size:var(--text-base);font-weight:600;font-family:var(--font-body);line-height:1.3}
.book .year{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted);display:block;margin:.25rem 0 .4rem}
.book p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.55}
.book .buy{margin-top:.6rem;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;color:var(--color-primary);display:inline-flex;align-items:center;gap:.3rem}
.book .buy svg{width:.8rem;height:.8rem}
.book--featured{grid-column:span 2;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:none;align-items:center;gap:var(--space-6);background:var(--color-surface);border:1px solid var(--color-divider);padding:var(--space-6);border-radius:var(--radius-sm)}
.book--featured .cover{aspect-ratio:auto;padding:var(--space-8);background:var(--color-surface-2)}
.book--featured .cover img{width:100%;max-height:none}
.book--featured h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}
@media (max-width:640px){.book--featured{grid-column:span 1;grid-template-columns:1fr}}
.amazon-note{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-8)}

/* ---------- Community ---------- */
.conference{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:center;border:1px solid rgba(243,238,227,.14);border-radius:var(--radius-md);padding:clamp(var(--space-6),4vw,var(--space-12));background:var(--color-ink-2)}
.conference .date{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1;letter-spacing:-.02em;color:var(--color-ink-text)}
.conference .date small{display:block;font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:#9fc7ad;margin-bottom:var(--space-3)}
.conference h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;color:var(--color-ink-text);margin-bottom:var(--space-3);line-height:1.2}
.conference p{color:#d9d4c8;font-size:var(--text-base);line-height:1.65;margin-bottom:var(--space-4)}
.conference dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:var(--text-sm);color:#d9d4c8;margin-bottom:var(--space-6)}
.conference dt{font-family:var(--font-ui);color:var(--color-ink-muted);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;padding-top:.2rem}
@media (max-width:880px){.conference{grid-template-columns:1fr}}

.orgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:var(--space-4)}
.org{display:block;text-decoration:none;color:inherit;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-sm);padding:var(--space-5) var(--space-5) var(--space-6);transition:border-color .2s,box-shadow .3s,transform .3s var(--ease);min-height:9.5rem;display:flex;flex-direction:column}
.org:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.org .where{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;margin-bottom:.5rem}
.org h3{font-size:var(--text-base);font-weight:600;font-family:var(--font-body);margin-bottom:.4rem;line-height:1.3}
.org p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.55;flex:1}
.org .url{margin-top:var(--space-3);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-primary);font-weight:600;word-break:break-all}
.org--lead{grid-column:span 2;background:var(--color-primary-soft);border-color:rgba(47,107,79,.25)}
.org--lead h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}
@media (max-width:640px){.org--lead{grid-column:span 1}}
.org-group{margin-top:clamp(var(--space-10),5vw,var(--space-16))}
.org-group h3.group-title{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;margin-bottom:var(--space-5);display:flex;align-items:center;gap:1rem}
.org-group h3.group-title::after{content:"";flex:1;height:1px;background:var(--color-divider)}

/* ---------- I am me ---------- */
.declaration{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
.declaration .poem{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.5;color:var(--color-text)}
.declaration .poem p{margin-bottom:1em}
.declaration .poem p:first-child{font-size:var(--text-xl)}
.declaration .poem .end{font-weight:500;color:var(--color-primary);letter-spacing:.02em}
.declaration .poem-note{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-6);line-height:1.5}
@media (max-width:880px){.declaration{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.site-footer{background:var(--color-ink);color:var(--color-ink-muted);padding-block:clamp(var(--space-12),6vw,var(--space-20)) var(--space-8)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-10)}
.site-footer h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink-text);font-weight:400;margin-bottom:var(--space-3)}
.site-footer h3{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:#9fc7ad;font-weight:600;margin-bottom:var(--space-4)}
.site-footer p{font-size:var(--text-sm);line-height:1.6;max-width:40ch}
.site-footer li{margin-bottom:.5rem;font-size:var(--text-sm)}
.site-footer a{color:var(--color-ink-text);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.footer-bottom{margin-top:clamp(var(--space-10),5vw,var(--space-16));padding-top:var(--space-6);border-top:1px solid rgba(243,238,227,.14);display:flex;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;font-family:var(--font-ui);font-size:var(--text-xs)}
.footer-bottom p{max-width:none;font-size:var(--text-xs)}
@media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ---------- Fixes ---------- */
.site-footer .btn--light{color:var(--color-ink)}
.site-footer .btn--light:hover{color:var(--color-ink)}
.declaration > div:first-child{position:sticky;top:6rem}
@media (max-width:880px){.declaration > div:first-child{position:static}}
