:root{
  /* The Pen Weekly — design tokens v1.0 (drop-in from
     design_handoff_pen_weekly_redesign/tokens.css). Source of truth:
     Design System.dc.html in the design handoff. */

  /* --- color: neutrals (warm, paper-toned) --- */
  --color-ink:#20261E;          /* headings + body. 15.2:1 on paper */
  --color-ink-soft:#48513F;     /* secondary text. 7.9:1 on paper */
  --color-muted:#68705C;        /* captions, meta. 4.9:1 on paper */
  --color-paper:#FAF9F4;        /* page background */
  --color-surface:#FFFFFF;      /* cards, inputs */
  --color-cream:#F3EFE3;        /* alt section wash (watercolor zone) */
  --color-line:#E5E3D6;         /* hairlines, card borders */
  --color-line-strong:#CFCDBC;  /* input borders */

  /* --- color: brand green (evolved, not replaced) --- */
  --color-primary:#245B39;         /* buttons, links, active nav. 8.0:1 on white */
  --color-primary-hover:#1B4229;
  --color-primary-ink:#142E1F;     /* dark band backgrounds */
  --color-green-tint:#E3EEDF;      /* selected states, chips */
  --color-green-wash:#F0F5EA;      /* soft panels behind illustration */
  --color-focus:#4E8A63;           /* focus rings */

  /* --- color: marigold accent (decorative only on light bg) --- */
  --color-marigold:#E0A93E;        /* underline strokes, illustration echo. NOT for text on white */
  --color-marigold-deep:#8F6212;   /* accessible text/icon version. 4.9:1 on paper */

  /* --- semantic --- */
  --color-success:#245B39;
  --color-error:#9E3B2B;           /* 6.0:1 on white */
  --color-error-tint:#F7E9E5;

  /* --- type --- */
  --font-display:'Source Serif 4',Georgia,'Times New Roman',serif;
  --font-sans:'Work Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --text-display:clamp(40px, 5.2vw, 64px);  /* hero H1. lh 1.04, ls -0.025em, serif 700 */
  --text-h1:clamp(34px, 4.4vw, 48px);       /* page H1. lh 1.08, ls -0.02em */
  --text-h2:clamp(28px, 3.4vw, 38px);       /* section. lh 1.14, ls -0.015em */
  --text-h3:24px;                            /* card/subsection. lh 1.25 */
  --text-h4:19px;                            /* serif 600 or sans 600. lh 1.35 */
  --text-body-lg:19px;                       /* ledes. lh 1.65 */
  --text-body:17px;                          /* default. lh 1.65 */
  --text-small:15px;                         /* micro-copy. lh 1.5 */
  --text-caption:13px;                       /* eyebrows. 600, uppercase, ls 0.08em */

  /* --- spacing (8px base) --- */
  --space-1:4px;  --space-2:8px;   --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px;  --space-7:48px; --space-8:64px;
  --space-9:96px; --space-10:128px;
  --section-pad:clamp(64px, 9vw, 128px);   /* vertical rhythm between sections */
  --maxw:1152px;
  --gutter:clamp(20px, 5vw, 32px);

  /* --- radius --- */
  --radius-sm:8px;    /* buttons, inputs, chips */
  --radius-md:16px;   /* cards */
  --radius-lg:28px;   /* illustration wash panels */
  --radius-pill:999px;

  /* --- elevation --- */
  --shadow-card:0 1px 2px rgba(32,38,30,.05), 0 12px 32px -18px rgba(32,38,30,.18);
  --shadow-panel:0 2px 4px rgba(32,38,30,.05), 0 32px 64px -36px rgba(36,91,57,.28);

  /* --- motion --- */
  --ease-out:cubic-bezier(.2,.7,.3,1);
  --dur-fast:160ms;   /* color/border on hover */
  --dur-base:240ms;   /* transform, opacity, reveal */

}

*{box-sizing:border-box;}
[hidden]{display:none!important;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--color-paper);color:var(--color-ink);
  font-family:var(--font-sans);font-size:var(--text-body);line-height:1.65;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:block;}
::selection{background:var(--color-green-tint);}
a{color:var(--color-primary);text-decoration:none;}
a:hover{color:var(--color-primary-hover);text-decoration:underline;}
:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:2px;}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:fixed;left:16px;top:-56px;background:var(--color-primary);color:#fff;padding:11px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:15px;z-index:200;transition:top .16s ease;}
.skip-link:focus{top:16px;color:#fff;text-decoration:none;}

/* ---- layout ---- */
.container{max-width:var(--maxw);margin:0 auto;padding-left:clamp(20px,5vw,32px);padding-right:clamp(20px,5vw,32px);}
.container--narrow{max-width:840px;}
.container--article{max-width:720px;}
.section{padding-top:clamp(56px,8vw,88px);padding-bottom:clamp(56px,8vw,88px);}
.rule-top{border-top:1px solid var(--color-line);}
.bg-surface{background:var(--color-surface);}

/* ---- type ---- */
h1,h2,h3{font-family:var(--font-display);font-weight:700;color:var(--color-ink);margin:0;}
.eyebrow{font-size:var(--text-caption);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-marigold-deep);margin:0 0 16px;}
.h-hero{font-size:var(--text-display);line-height:1.04;letter-spacing:-0.025em;margin:0 0 22px;text-wrap:balance;}
.h-page{font-size:var(--text-h1);line-height:1.08;letter-spacing:-0.02em;margin:0 0 14px;text-wrap:balance;}
.h-sec{font-size:var(--text-h2);line-height:1.14;letter-spacing:-0.015em;margin:0 0 14px;text-wrap:balance;}
.lede{font-size:var(--text-body-lg);line-height:1.65;color:var(--color-ink-soft);margin:0;}
.prose{font-size:var(--text-body);line-height:1.7;color:var(--color-ink-soft);margin:0;}
.small{font-size:var(--text-small);line-height:1.5;color:var(--color-muted);margin:0;}
.measure{max-width:38rem;}

/* ---- buttons / links ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:44px;padding:12px 26px;border-radius:var(--radius-sm);
  font-family:var(--font-sans);font-size:16px;font-weight:600;line-height:1;letter-spacing:0.01em;
  border:1px solid transparent;cursor:pointer;text-decoration:none;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .05s ease;
}
.btn:hover{text-decoration:none;}
.btn:active{transform:translateY(1px);}
.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;}
.btn-primary{background:var(--color-primary);color:#fff;}
.btn-primary:hover{background:var(--color-primary-hover);color:#fff;}
.btn-secondary{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary);}
.btn-secondary:hover{background:var(--color-green-wash);color:var(--color-primary);}
/* marigold-on-dark: for CTAs placed on the dark band (--color-primary-ink) */
.btn-bright{background:var(--color-marigold);color:var(--color-ink);font-weight:700;}
.btn-bright:hover{background:#EDBE63;color:var(--color-ink);}

.arrow-link{font-weight:600;font-size:16px;color:var(--color-ink);display:inline-flex;align-items:center;gap:6px;}
.arrow-link:hover{color:var(--color-primary);text-decoration:none;}
.arrow-link .arw{transition:transform .16s ease;}
.arrow-link:hover .arw{transform:translateX(3px);}
.arrow-link--green{color:var(--color-primary);}

/* ---- header / nav ---- */
.site-header{position:sticky;top:0;z-index:20;background:rgba(250,249,244,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-line);}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--color-ink);letter-spacing:-0.01em;}
.brand:hover{color:var(--color-ink);text-decoration:none;}
.brand-logo{height:30px;width:auto;}
.nav-wrap{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap;}
.nav-link{font-size:15px;font-weight:500;color:var(--color-ink);padding:9px 13px;min-height:44px;display:inline-flex;align-items:center;border-radius:var(--radius-sm);transition:color .16s ease,background-color .16s ease;}
.nav-link:hover{color:var(--color-primary);text-decoration:none;background:var(--color-green-wash);}
.nav-link.is-active{color:var(--color-primary);font-weight:600;}
.nav-cta{margin-left:10px;padding:11px 22px;}
.nav-toggle{display:none;background:none;border:1px solid var(--color-line);border-radius:var(--radius-sm);width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;}
.nav-toggle__bar{display:block;width:18px;height:2px;background:var(--color-ink);border-radius:1px;}

/* ---- nav dropdown (Classroom Tools) ---- */
.nav-item{position:relative;}
.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:0;font-family:inherit;cursor:pointer;}
.nav-caret{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--dur-fast) ease;}
.nav-dropdown-toggle[aria-expanded="true"] .nav-caret{transform:rotate(225deg);}
.nav-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:210px;margin:0;padding:8px;list-style:none;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:none;flex-direction:column;gap:2px;z-index:30;}
.nav-dropdown-menu[data-open="true"]{display:flex;}
.nav-dropdown-link{display:block;padding:10px 12px;border-radius:var(--radius-sm);font-size:15px;font-weight:500;color:var(--color-ink);}
.nav-dropdown-link:hover{background:var(--color-green-wash);color:var(--color-primary);text-decoration:none;}
.nav-dropdown-link.is-active{background:var(--color-green-tint);color:var(--color-primary);font-weight:600;}

@media (max-width:900px){
  .nav-toggle{display:inline-flex;order:2;}
  .nav-cta{order:1;margin-left:0;}
  .nav{display:none;order:3;flex-basis:100%;flex-direction:column;align-items:stretch;gap:2px;padding-top:12px;margin-top:12px;border-top:1px solid var(--color-line);}
  .nav[data-open="true"]{display:flex;}
  .nav-dropdown-menu{position:static;box-shadow:none;border:0;background:transparent;padding:0 0 4px 14px;margin-top:0;min-width:0;}
  .nav-dropdown-toggle{width:100%;justify-content:space-between;}
}

/* ---- hero split (Later anatomy, T4) ---- */
.hero-split{display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(40px,5vw,72px);align-items:center;padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(64px,9vw,112px);}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--color-green-tint);color:var(--color-primary);font-size:13px;font-weight:600;letter-spacing:0.04em;padding:7px 14px;border-radius:var(--radius-pill);margin-bottom:24px;}
.hero-form{display:flex;gap:12px;flex-wrap:wrap;max-width:34rem;margin-top:32px;}
.hero-form .input{flex:1;min-width:220px;}
.hero-reassure{font-size:14px;color:var(--color-muted);margin:12px 0 0;}
.hero-proof{display:flex;gap:12px;align-items:center;margin-top:36px;}
.hero-avatars{display:flex;}
.hero-avatar{width:36px;height:36px;border-radius:50%;border:2px solid var(--color-paper);background:repeating-linear-gradient(45deg,var(--color-green-tint),var(--color-green-tint) 4px,var(--color-green-wash) 4px,var(--color-green-wash) 8px);}
.hero-avatar + .hero-avatar{margin-left:-10px;}
.hero-proof p{font-size:15px;color:var(--color-ink-soft);margin:0;}
.hero-panel-wrap{position:relative;}
.hero-panel{background:var(--color-green-wash);border-radius:var(--radius-lg);padding:clamp(20px,2.5vw,32px);box-shadow:var(--shadow-panel);}
.hero-illustration{aspect-ratio:4/4.4;border-radius:18px;overflow:hidden;background:var(--color-cream);}
.hero-illustration img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-blob{position:absolute;top:-14px;right:-10px;width:64px;height:64px;border-radius:50%;background:repeating-linear-gradient(45deg,var(--color-marigold),var(--color-marigold) 5px,#EDBE63 5px,#EDBE63 10px);opacity:.85;}
@media (max-width:900px){
  .hero-split{grid-template-columns:1fr;}
  .hero-panel-wrap{max-width:420px;}
}

/* ---- hero split, even columns (Subscribe page, T6) ---- */
.hero-split.hero-split--even{grid-template-columns:1fr 1fr;}
@media (max-width:900px){
  .hero-split.hero-split--even{grid-template-columns:1fr;}
}

/* image slots: soft green-tint gradient fallback, editorial treatment */
.hero-media{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-line);background:linear-gradient(160deg,var(--color-green-tint),var(--color-surface));box-shadow:0 1px 2px rgba(30,40,20,.04),0 26px 48px -30px rgba(40,55,25,.35);}
.hero-media img{width:100%;height:100%;object-fit:cover;display:block;}

.hero-media--article{aspect-ratio:16/9;margin-bottom:28px;}

/* ---- proof strip (T5) ---- */
.proof-strip{background:var(--color-cream);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);}
.proof-strip__row{display:flex;gap:16px 48px;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center;padding-top:28px;padding-bottom:28px;}
.proof-strip__row p{font-size:15px;font-weight:600;color:var(--color-ink-soft);margin:0;}
.proof-dot{width:5px;height:5px;border-radius:50%;background:var(--color-line-strong);flex:0 0 auto;}

/* ---- feature grid (what's inside, T5) ---- */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(24px,3vw,32px);margin-top:clamp(48px,6vw,64px);}
.feature{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:32px;box-shadow:var(--shadow-card);}
.feature__spot{width:56px;height:56px;border-radius:50%;overflow:hidden;margin-bottom:20px;background:var(--color-green-wash);}
.feature__spot img{width:100%;height:100%;object-fit:cover;display:block;}
.feature__idx{font-size:13px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--color-primary);margin:0 0 10px;}
.feature__title{font-size:24px;font-weight:600;margin:0 0 10px;font-family:var(--font-display);line-height:1.25;}
.feature__body{font-size:16px;line-height:1.65;color:var(--color-ink-soft);margin:0;}

/* ---- split sections (how it works / classroom tools, T5) ---- */
.split-section{padding-top:clamp(64px,9vw,128px);padding-bottom:clamp(64px,9vw,128px);}
.split-section--white{background:var(--color-surface);}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center;}
.split-panel{border-radius:var(--radius-lg);padding:clamp(20px,2.5vw,32px);}
.split-panel--wash{background:var(--color-green-wash);}
.split-panel--cream{background:var(--color-cream);}
.split-illustration{aspect-ratio:5/4;border-radius:18px;overflow:hidden;}
.split-illustration img{width:100%;height:100%;object-fit:cover;display:block;}
.split-illustration--wash{background:var(--color-green-wash);}
.split-illustration--cream{background:var(--color-cream);}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
.checklist li{display:flex;gap:14px;align-items:flex-start;}
.checklist__check{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--color-green-tint);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;margin-top:2px;}
.checklist li p{margin:0;font-size:16px;color:var(--color-ink);line-height:1.6;}
@media (max-width:900px){
  .split-grid{grid-template-columns:1fr;}
  .split-visual{order:2;}
  .split-copy{order:1;}
}

/* ---- testimonials (T5) ---- */
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(24px,3vw,32px);margin-top:clamp(48px,6vw,64px);}
.testimonial-card{margin:0;background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:32px;display:flex;flex-direction:column;gap:20px;}
.testimonial-card__rule{width:28px;height:4px;border-radius:2px;background:var(--color-marigold);display:block;}
.testimonial-card blockquote{margin:0;font-family:var(--font-display);font-size:18px;font-style:italic;line-height:1.55;color:var(--color-ink);flex:1;}
.testimonial-card figcaption{display:flex;align-items:center;gap:12px;}
.testimonial-avatar{width:40px;height:40px;border-radius:50%;background:repeating-linear-gradient(45deg,var(--color-green-tint),var(--color-green-tint) 5px,var(--color-green-wash) 5px,var(--color-green-wash) 10px);border:1px dashed var(--color-line-strong);flex:0 0 auto;}
.testimonial-card figcaption .name{font-size:15px;font-weight:600;color:var(--color-ink);display:block;}
.testimonial-card figcaption .role{font-size:13px;color:var(--color-muted);display:block;}

/* ---- card ---- */
.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:28px;}

/* ---- dark CTA band ---- */
.band-dark{background:var(--color-primary-ink);color:oklch(92% 0.01 90);}
.band-dark .h-sec{color:#fff;}
.band-dark .lede{color:#BFD0BE;}
.band-dark .hero-form{justify-content:center;}
.band-dark .input{border-color:#3D5A46;}
.band-dark .input:focus{border-color:var(--color-marigold);box-shadow:0 0 0 3px rgba(224,169,62,.25);}
.band-dark .hero-reassure{color:#8FA792;}

/* ---- archive (T6: card rows) ---- */
.issue-list{display:flex;flex-direction:column;gap:16px;}
.issue-link{display:flex;gap:24px;padding:24px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);align-items:center;color:var(--color-ink);transition:border-color .16s ease,box-shadow .16s ease;}
.issue-link:hover{text-decoration:none;border-color:var(--color-line-strong);box-shadow:var(--shadow-card);}
.issue-link:hover .issue-link__title{color:var(--color-primary);}
.issue-thumb{width:168px;height:112px;flex:0 0 auto;object-fit:cover;border-radius:10px;border:1px solid var(--color-line);}
.issue-thumb--placeholder{display:flex;align-items:center;justify-content:center;border:1px dashed var(--color-line-strong);background:repeating-linear-gradient(45deg,var(--color-green-wash),var(--color-green-wash) 10px,var(--color-paper) 10px,var(--color-paper) 20px);}
.issue-thumb--placeholder span{font-family:monospace;font-size:11px;color:var(--color-muted);}
.issue-link__date{font-size:13px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--color-muted);margin:0 0 6px;}
.issue-link__title{font-size:21px;font-weight:600;margin:0 0 6px;font-family:var(--font-display);line-height:1.3;transition:color .16s ease;}
.issue-link__summary{font-size:15px;color:var(--color-ink-soft);margin:0;line-height:1.55;}
.issue-link__arrow{color:var(--color-primary);font-size:20px;flex:0 0 auto;}

/* ---- archive loading skeleton ---- */
.skeleton-row{display:flex;gap:24px;padding:24px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);align-items:center;margin-bottom:16px;}
.skeleton-block{display:block;background:linear-gradient(90deg,var(--color-cream),var(--color-line),var(--color-cream));background-size:200% 100%;border-radius:var(--radius-sm);animation:skeletonPulse 1.4s ease-in-out infinite;}
@keyframes skeletonPulse{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

/* ---- article ---- */
.article__meta{font-size:14px;color:var(--color-muted);margin:26px 0 10px;}
.article__lede{font-size:clamp(18px,2.4vw,20px);line-height:1.6;color:var(--color-ink-soft);margin:0 0 40px;font-style:italic;}
.article__body{font-size:18px;line-height:1.85;color:var(--color-ink);}
.article__body > p{margin:0 0 26px;}
.article__body > p:first-of-type::first-letter{font-family:var(--font-display);font-weight:700;float:left;font-size:3.4em;line-height:0.82;padding:6px 10px 0 0;color:var(--color-primary);}
.article__foot{margin-top:56px;padding-top:32px;border-top:1px solid var(--color-line);display:flex;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;}

/* Content pulled straight from Beehiiv's content:encoded, already inline-styled
   throughout; these rules only cover what that markup leaves unstyled, and
   guard against fixed pixel widths overflowing narrow screens. */
.article__full-content{font-size:18px;line-height:1.85;color:var(--color-ink);}
.article__full-content img{max-width:100%;height:auto;}
.article__full-content table{max-width:100%;}
.article__full-content hr{border:none;border-top:1px solid var(--color-line);margin:32px 0;}
.article__full-content .dropcap::first-letter{font-family:var(--font-display);font-weight:700;float:left;font-size:3.4em;line-height:0.82;padding:6px 10px 0 0;color:var(--color-primary);}

/* ---- empty / not-found ---- */
.notice{border:1px dashed var(--color-line-strong);border-radius:var(--radius-md);padding:clamp(36px,6vw,56px) 32px;text-align:center;}
.notice__title{font-family:var(--font-display);font-size:22px;margin:0 0 10px;}
.notice p{color:var(--color-muted);margin:0 0 20px;}

/* ---- subscribe form ---- */
.form-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:clamp(24px,4vw,32px);text-align:left;}
.form{display:flex;flex-direction:column;gap:12px;}
.field-label{font-size:13px;font-weight:600;color:var(--color-ink);letter-spacing:0.01em;}
.input{
  font-size:16px;padding:14px 18px;border-radius:var(--radius-sm);
  border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-ink);
  font-family:var(--font-sans);width:100%;min-height:52px;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.input::placeholder{color:var(--color-muted);}
.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-green-tint);}
.input[aria-invalid="true"]{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-tint);}
.form .spinner{display:none;}
.form.is-loading .btn{pointer-events:none;opacity:0.72;}
.form.is-loading .spinner{display:inline-block;}
.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.status{margin:18px 0 0;font-size:15px;font-weight:600;display:flex;gap:9px;align-items:flex-start;line-height:1.45;}
.status--success{color:var(--color-primary);}
.status--error{color:var(--color-error);}
.status--loading{color:var(--color-muted);}
.status .dot{flex:0 0 auto;width:18px;height:18px;margin-top:1px;}

/* ---- footer (interior pages: single fine-print row) ---- */
.site-footer{border-top:1px solid var(--color-line);padding:24px 0;}
.footer-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;align-items:center;}
.footer-nav{display:flex;gap:6px 18px;flex-wrap:wrap;}
.footer-nav a{font-size:14px;color:var(--color-muted);}
.footer-nav a:hover{color:var(--color-primary);}

/* ---- footer (home only: 3-col brand/explore/contact + fine-print row) ---- */
.site-footer--full{padding:0;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(32px,5vw,64px);padding:clamp(48px,6vw,72px) 0 32px;}
.footer-brand{font-size:20px;gap:10px;}
.footer-brand-logo{height:26px;width:auto;display:block;}
.footer-tagline{margin:14px 0 0;max-width:26rem;}
.footer-heading{font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-muted);margin:0 0 4px;}
.footer-explore,.footer-contact{display:flex;flex-direction:column;gap:10px;}
.footer-explore a{font-size:15px;color:var(--color-ink-soft);}
.footer-explore a:hover{color:var(--color-primary);}
.footer-contact p{margin:0;}
.footer-fineprint{padding:20px 0 32px;border-top:1px solid var(--color-line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.footer-fineprint p{font-size:13px;color:var(--color-muted);margin:0;}
@media (max-width:640px){
  .footer-grid{grid-template-columns:1fr;gap:32px;}
}

/* ---- responsive ---- */
@media (max-width:640px){
  .issue-link{flex-direction:column;align-items:stretch;gap:12px;padding:18px 8px;}
  .issue-thumb{width:100%;height:auto;aspect-ratio:16/9;}
}
@media (max-width:520px){
  .article__body > p:first-of-type::first-letter,
  .article__full-content .dropcap::first-letter{font-size:3em;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
  .skip-link{transition:none;}
}
