:root {
  --paper:#f4f0e7;
  --paper-deep:#e8e2d5;
  --ink:#253b33;
  --muted:#59625b;
  --brick:#9e392d;
  --line:#c9c9bc;
  --light:#f8f4eb;
  --forest:#253b33;
  --gold:#d7c496;
  --serif:Iowan Old Style, Palatino Linotype, Book Antiqua, Georgia, serif;
  --sans:Avenir Next, Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.5; }
a { color:inherit; }
button { font:inherit; }
.member-shell { width:min(1240px,calc(100% - 96px)); margin:0 auto; }
.skip-link { position:fixed; z-index:5; top:-80px; left:16px; padding:14px 20px; background:var(--brick); color:var(--light); font-size:16px; font-weight:700; }
.skip-link:focus { top:16px; }
.member-header { border-bottom:1px solid var(--line); background:var(--paper); }
.member-header-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:88px; }
.member-brand img { display:block; width:auto; height:70px; object-fit:contain; }
.member-nav { display:flex; flex-wrap:wrap; gap:22px; justify-content:end; }
.member-nav a { color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.member-nav a:hover,.member-nav a:focus-visible { color:var(--brick); }
.member-hero { padding:86px 0 76px; }
.member-kicker { margin:0 0 22px; color:var(--brick); font-size:11px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
h1,h2,h3 { margin-top:0; font-family:var(--serif); font-weight:400; letter-spacing:-.05em; line-height:1.03; }
h1 { max-width:840px; margin-bottom:26px; font-size:clamp(58px,7.1vw,104px); }
h1 em { color:var(--brick); }
.member-intro { max-width:48ch; margin:0; color:var(--muted); font-size:20px; line-height:1.6; }
.member-gate { background:var(--forest); color:var(--light); }
.member-gate-inner { display:grid; grid-template-columns:1.1fr .9fr; gap:76px; align-items:center; padding:47px 0 50px; }
.member-gate .member-kicker { color:var(--gold); }
.member-gate h2 { max-width:17ch; margin:0 0 15px; color:var(--light); font-size:clamp(35px,4vw,54px); }
.member-gate-copy > p:last-child { max-width:50ch; margin:0; color:#dce1d8; font-size:16px; line-height:1.65; }
.member-button { justify-self:end; display:inline-block; border:1px solid var(--light); padding:15px 20px; color:var(--light); font-size:11px; font-weight:700; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.member-button:hover,.member-button:focus-visible { background:var(--light); color:var(--forest); }
.member-gate-actions { min-width:0; }
.member-access-form label { display:block; margin:0 0 8px; color:var(--light); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.member-access-fields { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.member-access-fields input { min-width:0; min-height:48px; border:1px solid #aeb9aa; border-radius:0; padding:12px 13px; background:transparent; color:var(--light); font:inherit; }
.member-access-fields input::placeholder { color:#bdc6ba; }
.member-access-form .updates-opt-in { display:flex; align-items:flex-start; gap:10px; margin:13px 0 0; color:#dce1d8; font-size:13px; font-weight:400; letter-spacing:0; line-height:1.5; text-transform:none; }
.member-access-form .updates-opt-in input { flex:0 0 auto; width:18px; height:18px; min-height:0; margin:1px 0 0; padding:0; accent-color:var(--gold); }
.member-access-form .updates-opt-in span { max-width:54ch; }
.member-access-fields button,.member-access-button { min-height:48px; border:1px solid var(--light); border-radius:0; padding:12px 15px; background:var(--light); color:var(--forest); cursor:pointer; font:700 10px/1.3 var(--sans); letter-spacing:.05em; text-transform:uppercase; }
.member-access-fields button:hover,.member-access-fields button:focus-visible,.member-access-button:hover,.member-access-button:focus-visible { background:var(--gold); border-color:var(--gold); }
.member-access-fields button:disabled,.member-access-button:disabled { cursor:wait; opacity:.7; }
.member-access-status { min-height:1.5em; margin:10px 0 0; color:#f0dcae; font-size:13px; line-height:1.5; }
.member-access-status[data-state="success"] { min-height:0; margin-top:14px; border-left:4px solid var(--gold); padding:13px 15px; background:var(--light); color:var(--forest); font-size:14px; font-weight:650; line-height:1.55; }
.member-access-disclosure { margin:9px 0 0; color:#c4cec1; font-size:11px; }
.member-access-disclosure a { color:var(--light); }
.member-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.member-verify-panel { border-left:3px solid var(--gold); padding:14px 16px; background:rgba(248,244,235,.08); }
.member-verify-panel p { max-width:48ch; margin:0; color:#f8f4eb; font-size:15px; font-weight:600; line-height:1.65; }
.member-verify-panel[hidden] { display:none; }
.member-gate[hidden] { display:none; }
.member-library { padding:91px 0 104px; }
.member-library:not([inert]) { display:block; }
.member-library[inert] { display:none; }
.archive-actions { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:44px; margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid var(--ink); }
.archive-actions > .member-updates-notice { flex:1; margin:0; padding-left:13px; border-left:2px solid var(--brick); color:var(--brick); font-size:13px; line-height:1.5; }
.member-updates-notice[hidden] { display:none; }
.member-logout { margin:0; border:0; border-bottom:1px solid var(--brick); border-radius:0; padding:0 0 4px; background:transparent; color:var(--ink); cursor:pointer; font:700 10px/1.4 var(--sans); letter-spacing:.06em; text-transform:uppercase; }
.member-logout:hover,.member-logout:focus-visible { color:var(--brick); }
.library-list { margin-top:0; }
.archive-collection { margin-top:84px; padding-top:28px; border-top:1px solid var(--ink); }
.archive-collection.archive-books-collection { margin-top:32px; border-top:0; padding-top:0; }
.archive-section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); gap:48px; align-items:end; margin-bottom:30px; }
.archive-section-heading-simple { display:block; }
.archive-section-heading .member-kicker { margin-bottom:12px; }
.archive-section-heading h2 { margin:0; font-size:clamp(42px,5.5vw,72px); }
.archive-section-heading > p { max-width:44ch; margin:0 0 4px; color:var(--muted); font-size:14px; line-height:1.65; }
.library-resource { display:grid; grid-template-columns:148px 1fr auto; gap:30px; align-items:center; padding:33px 0; border-bottom:1px solid var(--line); }
.library-resource figure { width:112px; margin:0; }
.library-resource figure img { display:block; width:100%; height:auto; box-shadow:7px 9px 0 rgba(37,59,51,.13); }
.resource-type { margin:0 0 14px; color:var(--brick); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.library-resource h3 { margin:0 0 8px; font-size:clamp(30px,3vw,41px); }
.resource-subtitle { margin:0; color:var(--ink); font:italic 400 16px/1.45 var(--serif); }
.resource-description { max-width:66ch; margin:16px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.resource-detail-link { display:inline-block; margin-top:11px; border-bottom:1px solid var(--brick); padding-bottom:3px; color:var(--ink); font-size:10px; font-weight:700; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.resource-detail-link:hover,.resource-detail-link:focus-visible { color:var(--brick); }
.library-resource-action { justify-self:end; }
.download-button { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--ink); border-radius:0; padding:13px 16px; background:transparent; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; transition:background .2s ease,color .2s ease; }
.download-button.is-locked { border-color:var(--line); color:var(--muted); cursor:default; }
.download-button.is-locked:hover { background:transparent; color:var(--muted); }
.download-button span { color:var(--brick); }
.download-button:hover,.download-button:focus-visible { background:var(--ink); color:var(--paper); }
.download-button:hover span,.download-button:focus-visible span { color:var(--paper); }
.download-note { margin:16px 0 0; color:var(--muted); font-size:11px; }
.archive-series { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); gap:6vw; padding:31px 0 0; border-top:1px solid var(--line); }
.archive-offering-list { border-top:1px solid var(--line); }
.archive-offering { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); gap:6vw; padding:31px 0; border-bottom:1px solid var(--line); }
.archive-open-letter { align-items:center; }
.archive-offering h3 { margin:0 0 13px; font-size:clamp(30px,3vw,41px); }
.archive-offering-copy p { max-width:60ch; margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
.archive-offering-copy p + p { margin-top:1.25em; }
.archive-offering-links { display:flex; flex-wrap:wrap; gap:24px; }
.archive-offering-copy .resource-detail-link { margin-top:16px; }

.archive-series-heading h3 { margin:0 0 13px; font-size:clamp(34px,4vw,50px); }
.archive-series-heading > p:last-child { max-width:34ch; margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
.archive-article-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin:0; padding:0; list-style:none; }
.archive-article-list li { display:grid; grid-template-columns:94px minmax(0,1fr); gap:12px; align-items:start; padding:17px 0; border-bottom:1px solid var(--line); }
.archive-article-list time { color:var(--muted); font-size:11px; line-height:1.5; }
.archive-article-list a { color:var(--ink); font-size:12px; font-weight:700; line-height:1.5; text-decoration:none; }
.archive-article-list a:hover,.archive-article-list a:focus-visible { color:var(--brick); }
.library-next { display:grid; grid-template-columns:1fr 1fr; gap:76px; margin-top:88px; padding-top:28px; border-top:1px solid var(--ink); }
.library-next h3 { max-width:18ch; margin:0 0 22px; font-size:clamp(34px,3.5vw,48px); }
.library-next p { max-width:47ch; margin:0 0 26px; color:var(--muted); font-size:16px; line-height:1.7; }
.library-next a { border-bottom:1px solid var(--brick); padding-bottom:4px; color:var(--ink); font-size:12px; font-weight:700; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
.library-next a span { color:var(--brick); font-family:Arial,Helvetica,sans-serif; font-variant-emoji:text; }
.member-footer { padding:30px 0; background:var(--forest); color:#dce1d8; font-size:11px; }
.member-footer .member-shell { display:flex; justify-content:space-between; gap:24px; }
.member-footer a { color:var(--gold); font-weight:700; text-transform:uppercase; }
:focus-visible { outline:2px solid var(--brick); outline-offset:5px; }

@media (max-width:820px) {
  .member-shell { width:calc(100% - 48px); }
  .member-gate-inner,.library-next { gap:44px; }
  .archive-section-heading { grid-template-columns:1fr; gap:16px; }
  .archive-series,.archive-offering { grid-template-columns:1fr; gap:28px; }
  .archive-open-letter { align-items:start; }
  .archive-series-heading > p:last-child { max-width:55ch; }
  .member-access-fields { grid-template-columns:1fr; }
  .library-resource { grid-template-columns:128px 1fr; }
  .library-resource-action { grid-column:2; justify-self:start; }
}
@media (max-width:560px) {
  .member-shell { width:calc(100% - 40px); }
  .member-header-inner { align-items:flex-start; flex-direction:column; gap:13px; padding:15px 0 18px; }
  .member-brand img { height:57px; }
  .member-nav { gap:17px; justify-content:start; }
  .member-hero { padding:57px 0 54px; }
  h1 { font-size:58px; }
  .member-intro { font-size:17px; }
  .member-gate-inner,.library-next { display:block; padding:37px 0 40px; }
  .member-gate h2 { font-size:39px; }
  .member-button { margin-top:26px; }
  .member-gate-actions { margin-top:27px; }
  .member-access-fields button { width:100%; }
  .member-library { padding:56px 0 64px; }
  .archive-collection { margin-top:58px; padding-top:22px; }
  .archive-section-heading { margin-bottom:24px; }
  .archive-section-heading h2 { font-size:42px; }
  .archive-article-list { grid-template-columns:1fr; }
  .archive-article-list li { grid-template-columns:82px minmax(0,1fr); }
  .archive-series { padding-top:24px; }
  .archive-actions { align-items:flex-start; flex-wrap:wrap; gap:16px; }
  .archive-actions > .member-logout { flex:0 0 auto; }
  .library-resource { grid-template-columns:100px 1fr; gap:18px; padding:25px 0; }
  .library-resource figure { width:100px; }
  .library-resource h3 { font-size:30px; }
  .resource-subtitle { font-size:15px; }
  .resource-description { font-size:12px; }
  .library-resource-action { grid-column:1/-1; margin-top:2px; }
  .library-next { margin-top:55px; padding-top:24px; }
  .library-next .member-kicker { margin-bottom:25px; }
  .library-next h3 { font-size:37px; }
  .member-footer .member-shell { align-items:flex-start; flex-direction:column; }
}
