/* ============================================================
   VERDANT SIGNAL
   Independent reporting on peptide science & preclinical research
   Type: Source Serif 4 / Inter / IBM Plex Mono
   ============================================================ */

:root{
  --forest:  #16352C;
  --oxide:   #537367;
  --ivory:   #F4F0E6;
  --ink:     #161816;
  --copper:  #B46F45;
  --muted:   #817F77;
  --rule:    #D7D2C8;

  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --sans:  "Inter", "Helvetica Neue", Arial, sans-serif;
  --mono:  "IBM Plex Mono", SFMono-Regular, Consolas, monospace;

  --measure: 43rem;             /* ~690px reading width */
  --wrap: 86.25rem;             /* 1380px content max */
  --gutter: clamp(1.25rem, 4vw, 3rem);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--serif);
  font-size:1.0625rem;
  line-height:1.68;
  font-weight:400;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

img, svg{ max-width:100%; }
img{ height:auto; display:block; }

a{
  color:var(--forest);
  text-decoration-color:var(--rule);
  text-underline-offset:.18em;
  text-decoration-thickness:1px;
  transition:color .18s ease, text-decoration-color .18s ease;
}
a:hover{ color:var(--copper); text-decoration-color:var(--copper); }

a:focus-visible, button:focus-visible, input:focus-visible, label:focus-visible{
  outline:2px solid var(--copper);
  outline-offset:3px;
}

::selection{ background:var(--forest); color:var(--ivory); }

.skip-link{
  position:absolute; left:-9999px; top:0;
  background:var(--forest); color:var(--ivory);
  font-family:var(--mono); font-size:.75rem; letter-spacing:.08em;
  padding:.6em 1.2em; z-index:200; text-transform:uppercase;
}
.skip-link:focus{ left:0; color:var(--ivory); }

/* ---------- primitives ---------- */

.wrap{
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.mono{
  font-family:var(--mono);
  font-size:.6875rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:400;
}

.kicker{
  font-family:var(--sans);
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--oxide);
  display:flex;
  align-items:center;
  gap:.9em;
  margin:0 0 1.3rem;
}
.kicker::before{
  content:"";
  width:2rem; height:1px;
  background:var(--copper);
  flex:none;
}
.kicker--plain::before{ display:none; }

.cat{
  font-family:var(--sans);
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--copper);
}

.note-line{
  font-family:var(--mono);
  font-size:.6875rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--muted);
}

.rule{ border:0; border-top:1px solid var(--rule); margin:0; }
.rule--heavy{ border:0; border-top:2px solid var(--forest); margin:0; }

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.012em;
  margin:0;
}
h1{ font-size:clamp(2.4rem, 5.4vw, 4.2rem); }
h2{ font-size:clamp(1.75rem, 3.2vw, 2.6rem); }
h3{ font-size:clamp(1.2rem, 2vw, 1.5rem); line-height:1.25; }

.dek{
  font-size:clamp(1.1rem, 1.8vw, 1.3rem);
  line-height:1.55;
  color:var(--ink);
  max-width:44rem;
  font-weight:400;
}

.small{ font-family:var(--sans); font-size:.85rem; color:var(--muted); line-height:1.55; }

.byline-line{
  font-family:var(--sans);
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
  display:flex;
  gap:1.4rem;
  flex-wrap:wrap;
}
.byline-line b{ color:var(--ink); font-weight:600; }

.elink{
  font-family:var(--sans);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--forest);
  border-bottom:1px solid var(--forest);
  padding-bottom:.3em;
}
.elink:hover{ color:var(--copper); border-bottom-color:var(--copper); }

/* ---------- figures ---------- */

figure{ margin:0; }
.figure img, .figure svg{ width:100%; height:auto; }
.figure figcaption{
  display:flex;
  gap:1.2em;
  align-items:baseline;
  border-top:1px solid var(--rule);
  margin-top:.85rem;
  padding-top:.6rem;
  font-family:var(--sans);
  font-size:.72rem;
  letter-spacing:.05em;
  color:var(--muted);
}
.figure figcaption .fig-no{
  font-family:var(--mono);
  font-size:.64rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--copper);
  flex:none;
}

/* ---------- header ---------- */

.site-head{
  background:var(--ivory);
  border-bottom:1px solid var(--rule);
}
.head-top{
  border-bottom:1px solid var(--rule);
}
.head-top .wrap{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:1rem;
  padding-top:.5rem;
  padding-bottom:.5rem;
}
.head-in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding-top:1.35rem;
  padding-bottom:1.35rem;
}

.brand{ text-decoration:none; color:var(--ink); display:block; }
.brand:hover{ color:var(--ink); }
.wordmark{ display:block; width:216px; height:auto; }
.foot-brand .brand:hover{ color:var(--ivory); }
.wordmark text{ fill:currentColor; }

.site-nav{ display:flex; align-items:center; gap:2.2rem; }
.site-nav a{
  font-family:var(--sans);
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--ink);
  padding:.4em 0;
  border-bottom:1px solid transparent;
}
.site-nav a:hover{ color:var(--forest); border-bottom-color:var(--copper); }
.site-nav a[aria-current="page"]{ border-bottom-color:var(--forest); }
.site-nav .nav-search{ color:var(--muted); }
.site-nav .nav-search:hover{ color:var(--copper); }

.nav-toggle{ position:absolute; opacity:0; pointer-events:none; }
.nav-btn{
  display:none;
  font-family:var(--sans);
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
  padding:.5em 0;
  color:var(--ink);
}
.nav-btn::before{ content:"Menu —"; }
.nav-toggle:checked ~ .nav-btn::before{ content:"Close ×"; }

/* ---------- story cards ---------- */

.card{ display:block; text-decoration:none; color:var(--ink); }
.card .cat{ display:block; margin-bottom:.7rem; }
.card h3{ margin-bottom:.6rem; }
.card:hover h3{ color:var(--forest); text-decoration:underline; text-decoration-color:var(--copper); text-underline-offset:.15em; text-decoration-thickness:1px; }
.card p{ margin:0; font-size:.95rem; color:var(--ink); opacity:.82; line-height:1.6; }
.card .meta-line{
  margin-top:.9rem;
  font-family:var(--sans);
  font-size:.7rem;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--muted);
}

/* ---------- home ---------- */

.edition-line{
  border-bottom:2px solid var(--forest);
  padding:1.1rem 0 1rem;
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
}

.lead{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:0 2.2rem;
  padding:clamp(2.4rem,5.5vh,4rem) 0 clamp(2.4rem,5vh,3.4rem);
  align-items:start;
}
.lead-body{ grid-column:1 / span 6; }
.lead-media{ grid-column:7 / span 6; }
.lead-body h1{ font-size:clamp(2.3rem,4.6vw,3.7rem); margin:0 0 1.3rem; }
.lead-body .dek{ margin:0 0 1.6rem; }
.lead .figure{ margin-top:.4rem; }

.story-grid{
  border-top:1px solid var(--rule);
  padding:clamp(2.2rem,5vh,3.4rem) 0;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:2.6rem 2.2rem;
}
.story-grid .sg-a{ grid-column:1 / span 4; }
.story-grid .sg-b{ grid-column:5 / span 4; border-left:1px solid var(--rule); padding-left:2.2rem; }
.story-grid .sg-c{ grid-column:9 / span 4; border-left:1px solid var(--rule); padding-left:2.2rem; }
.story-grid .sg-d{ grid-column:1 / span 6; border-top:1px solid var(--rule); padding-top:2.2rem; }
.story-grid .sg-e{ grid-column:7 / span 6; border-top:1px solid var(--rule); padding-top:2.2rem; }

.section{ padding:clamp(2.6rem,6vh,4.4rem) 0; }
.section--tint{ background:#ECE7DA; }
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:2rem;
  margin-bottom:2.4rem;
}
.section-head h2{ font-size:clamp(1.5rem,2.6vw,2rem); }

/* The Field */
.field-list{ list-style:none; margin:0; padding:0; counter-reset:field; }
.field-list li{
  border-top:1px solid var(--rule);
  padding:1.5rem 0 1.7rem;
  display:grid;
  grid-template-columns:4rem 12rem 1fr;
  gap:1.8rem;
  align-items:baseline;
}
.field-list .no{
  font-family:var(--mono);
  font-size:.75rem;
  letter-spacing:.1em;
  color:var(--copper);
}
.field-list .f-cat{
  font-family:var(--sans);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--forest);
}
.field-list p{ margin:0; font-size:1rem; max-width:46rem; }

/* From the Library */
.lib-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2.4rem 2.2rem;
}
.lib-item{
  border-top:2px solid var(--forest);
  padding-top:1.3rem;
}
.lib-item h3{ font-size:1.35rem; margin-bottom:.7rem; }
.lib-item p{ font-size:.94rem; margin:0 0 .9rem; opacity:.85; }

/* The Dispatch / newsletter */
.dispatch-box{
  border-top:2px solid var(--forest);
  border-bottom:1px solid var(--rule);
  padding:clamp(2.4rem,5vh,3.6rem) 0;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:0 2.2rem;
  align-items:start;
}
.dispatch-box .db-a{ grid-column:1 / span 6; }
.dispatch-box .db-b{ grid-column:8 / span 5; }
.dispatch-box h2{ margin-bottom:1rem; }
.dispatch-box p{ margin:0; max-width:30rem; opacity:.88; }
.news-form{
  display:flex;
  margin-top:.4rem;
  border-bottom:1px solid var(--ink);
}
.news-form input{
  flex:1;
  background:transparent;
  border:0;
  color:var(--ink);
  font-family:var(--sans);
  font-size:.9rem;
  padding:.85em 0;
  min-width:0;
}
.news-form input::placeholder{
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
}
.news-form button{
  background:var(--forest);
  border:0;
  color:var(--ivory);
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  cursor:pointer;
  padding:.4em 1.6em;
  align-self:center;
  transition:background .18s ease;
}
.news-form button:hover{ background:var(--copper); }
.news-note{ margin-top:1rem; }

/* ---------- footer ---------- */

.site-foot{
  background:var(--forest);
  color:rgba(244,240,230,.85);
}
.foot-top{
  padding:3.4rem 0 2.8rem;
  display:grid;
  grid-template-columns:1.8fr 1fr 1fr 1fr;
  gap:2.5rem;
}
.foot-brand .wordmark{ width:196px; color:var(--ivory); }
.foot-tag{
  font-size:1.02rem;
  color:rgba(244,240,230,.72);
  margin:1.3rem 0 0;
  max-width:20rem;
  line-height:1.6;
}
.foot-col h4{
  font-family:var(--sans);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:rgba(244,240,230,.5);
  margin:0 0 1.1rem;
}
.foot-col ul{ list-style:none; margin:0; padding:0; }
.foot-col li{ margin-bottom:.55rem; }
.foot-col a{
  color:rgba(244,240,230,.85);
  text-decoration:none;
  font-family:var(--sans);
  font-size:.9rem;
}
.foot-col a:hover{ color:var(--ivory); text-decoration:underline; text-decoration-color:var(--copper); text-underline-offset:.2em; }
.foot-news{
  border-top:1px solid rgba(244,240,230,.2);
  padding:2.4rem 0;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:0 2.2rem;
}
.foot-news .fn-a{ grid-column:1 / span 6; }
.foot-news .fn-b{ grid-column:8 / span 5; }
.foot-news h3{
  font-size:1.3rem;
  color:var(--ivory);
  margin-bottom:.6rem;
}
.foot-news p{ margin:0; color:rgba(244,240,230,.68); font-size:.95rem; max-width:28rem; }
.foot-news .news-form{ border-bottom-color:rgba(244,240,230,.5); }
.foot-news .news-form input{ color:var(--ivory); }
.foot-news .news-form input::placeholder{ color:rgba(244,240,230,.45); }
.foot-news .news-form button{ background:var(--ivory); color:var(--forest); }
.foot-news .news-form button:hover{ background:var(--copper); color:var(--ivory); }
.foot-base{
  border-top:1px solid rgba(244,240,230,.2);
  padding:1.2rem 0 1.4rem;
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
}
.foot-base span{
  font-family:var(--sans);
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(244,240,230,.5);
}

/* ---------- inner pages ---------- */

.page-head{
  padding:clamp(2.8rem,7vh,5rem) 0 clamp(2.2rem,4.5vh,3.2rem);
}
.page-head .dek{ margin-top:1.5rem; }
.page-head .note-line{ margin-top:2rem; display:block; }

.filter-line{
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:.95rem 0;
}
.filter-line ul{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:.5rem 2rem;
}
.filter-line a{
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--muted);
}
.filter-line a:hover{ color:var(--copper); }
.filter-line a[aria-current="true"]{ color:var(--forest); border-bottom:1px solid var(--copper); }

/* library archive */
.archive-row{
  border-top:1px solid var(--rule);
  padding:1.9rem 0 2.1rem;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:0 2.2rem;
  align-items:baseline;
}
.archive-row .ar-cat{ grid-column:1 / span 2; }
.archive-row .ar-body{ grid-column:3 / span 8; }
.archive-row .ar-meta{ grid-column:11 / span 2; text-align:right; }
.archive-row h3{ font-size:1.45rem; }
.archive-row h3 a{ color:var(--ink); text-decoration:none; }
.archive-row h3 a:hover{ color:var(--forest); text-decoration:underline; text-decoration-color:var(--copper); }
.archive-row p{ margin:.6rem 0 0; font-size:.95rem; opacity:.82; max-width:44rem; }
.archive-row .ar-meta span{
  display:block;
  font-family:var(--sans);
  font-size:.7rem;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.3rem;
}
.archive-feature{
  border-top:2px solid var(--forest);
  padding:2rem 0 2.4rem;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:0 2.2rem;
  align-items:start;
}
.archive-feature .af-media{ grid-column:1 / span 5; }
.archive-feature .af-body{ grid-column:7 / span 6; }
.archive-feature h3{ font-size:clamp(1.5rem,2.6vw,2rem); }

/* dispatches */
.dispatch-entry{
  border-top:1px solid var(--rule);
  padding:1.8rem 0 2rem;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:0 2.2rem;
  align-items:baseline;
}
.dispatch-entry .de-date{ grid-column:1 / span 2; }
.dispatch-entry .de-body{ grid-column:3 / span 10; }
.dispatch-entry .de-date span{
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  display:block;
  line-height:1.7;
}
.dispatch-entry h3{ font-size:1.5rem; margin:.5rem 0 .6rem; }
.dispatch-entry h3 a{ color:var(--ink); text-decoration:none; }
.dispatch-entry h3 a:hover{ color:var(--forest); text-decoration:underline; text-decoration-color:var(--copper); }
.dispatch-entry p{ margin:0; font-size:.96rem; opacity:.85; max-width:48rem; }

/* article */
.article-head{ padding:clamp(2.6rem,7vh,4.6rem) 0 0; }
.article-title{ font-size:clamp(2.2rem,4.6vw,3.6rem); max-width:56rem; margin:.4rem 0 1.3rem; }
.article-dek{ font-size:clamp(1.15rem,1.9vw,1.35rem); line-height:1.55; max-width:44rem; }
.article-meta{
  display:flex;
  gap:2.6rem;
  flex-wrap:wrap;
  align-items:center;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  margin-top:2.2rem;
  padding:1rem 0;
}
.article-meta .am{ display:flex; align-items:center; gap:.9rem; }
.article-meta .portrait{ width:2.9rem; height:2.9rem; border-radius:50%; overflow:hidden; flex:none; }
.article-meta .portrait svg{ display:block; width:100%; height:100%; }
.article-meta .am-k{
  font-family:var(--sans);
  font-size:.6rem;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--muted);
  display:block;
}
.article-meta .am-v{
  font-family:var(--sans);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.04em;
}
.article-hero{ margin-top:2.4rem; }

.article-body{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:0 2.2rem;
  padding:clamp(2.4rem,5vh,3.8rem) 0;
}
.article-flow{ grid-column:3 / span 8; }
.article-flow p{
  max-width:var(--measure);
  margin:0 0 1.45rem;
}
.article-flow > p:first-of-type::first-letter{
  font-weight:600;
  font-size:4.4em;
  line-height:.8;
  float:left;
  padding:.05em .12em 0 0;
  color:var(--forest);
}
.article-flow h2{
  margin:3rem 0 1.2rem;
  font-size:clamp(1.5rem,2.6vw,2rem);
}
.article-flow .figure{ margin:2.4rem 0; }
.article-flow .figure--wide{
  max-width:none;
}
.pullquote{
  border-top:2px solid var(--forest);
  border-bottom:1px solid var(--rule);
  padding:2.2rem 0;
  margin:2.6rem 0;
}
.pullquote p{
  font-size:clamp(1.35rem,2.4vw,1.8rem);
  line-height:1.35;
  margin:0;
  max-width:44rem;
  font-weight:600;
  letter-spacing:-.01em;
}
.pullquote cite{
  display:block;
  margin-top:1rem;
  font-family:var(--sans);
  font-style:normal;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--muted);
}
.margin-note{
  border-left:2px solid var(--copper);
  padding:.2rem 0 .2rem 1.2rem;
  margin:2rem 0;
  font-family:var(--sans);
  font-size:.88rem;
  color:var(--muted);
  max-width:var(--measure);
  line-height:1.6;
}
.margin-note .mn-k{
  display:block;
  font-family:var(--sans);
  font-size:.64rem;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:.5rem;
}

.refs{
  border-top:2px solid var(--forest);
  margin-top:3rem;
  padding-top:1.6rem;
}
.refs h2{ font-size:1.3rem; margin-bottom:1.2rem; }
.refs ul{ margin:0; padding-left:1.2rem; max-width:var(--measure); }
.refs li{ font-size:.92rem; line-height:1.6; margin-bottom:.7rem; }

.author-box{
  border-top:1px solid var(--rule);
  margin-top:2.6rem;
  padding-top:1.8rem;
  display:grid;
  grid-template-columns:5rem 1fr;
  gap:1.6rem;
  max-width:44rem;
  align-items:start;
}
.author-box .portrait{ width:4.2rem; height:4.2rem; border-radius:50%; overflow:hidden; }
.author-box .ab-name{
  font-family:var(--sans);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.author-box p{ margin:.3rem 0 0; font-size:.94rem; }

.related{
  border-top:1px solid var(--rule);
  padding:clamp(2.4rem,5vh,3.6rem) 0;
}
.related-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2.4rem 2.2rem;
  margin-top:2rem;
}
.related-grid .lib-item{ border-top-width:1px; }

/* about */
.about-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:0 2.2rem;
}
.about-grid .ag-a{ grid-column:1 / span 6; }
.about-grid .ag-b{ grid-column:8 / span 5; }

.mission-block{
  border-top:2px solid var(--forest);
  border-bottom:1px solid var(--rule);
  padding:2.4rem 0;
}
.mission-block .kicker::before{ display:none; }
  font-size:clamp(1.3rem,2.4vw,1.8rem);
  line-height:1.4;
  font-weight:600;
  letter-spacing:-.01em;
  margin:0;
  max-width:56rem;
}

.staff-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2.4rem 2.2rem;
}
.staff-card{ border-top:1px solid var(--ink); padding-top:1.4rem; }
.staff-card .portrait{
  width:100%;
  aspect-ratio:4/5;
  background:#ECE7DA;
  margin-bottom:1.2rem;
}
.staff-card .portrait svg{ display:block; width:100%; height:100%; }
.staff-card .role{
  font-family:var(--sans);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--copper);
  margin:.4rem 0 .8rem;
}
.staff-card h3{ font-size:1.25rem; }
.staff-card p{ margin:0; font-family:var(--sans); font-size:.88rem; color:var(--muted); line-height:1.6; }

.contact-block{
  border-top:1px solid var(--rule);
  padding:2.2rem 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.2rem;
}
.contact-block .cb-k{
  font-family:var(--sans);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.6rem;
}
.contact-block a{ font-size:1.05rem; font-weight:600; }

/* policies */
.policy{
  border-top:1px solid var(--rule);
  padding:2.2rem 0 2.4rem;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:0 2.2rem;
}
.policy h2{
  grid-column:1 / span 4;
  font-size:1.4rem;
  position:sticky;
  top:2rem;
  align-self:start;
}
.policy h2 .pol-no{
  display:block;
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.1em;
  color:var(--copper);
  margin-bottom:.5rem;
}
.policy-body{ grid-column:5 / span 8; max-width:var(--measure); }
.policy-body p{ margin-top:0; }
.policy-body ul{ padding-left:1.2rem; }
.policy-body li{ margin-bottom:.5rem; }

/* ---------- responsive ---------- */

@media (max-width: 72rem){
  .lead-body{ grid-column:1 / span 12; }
  .lead-media{ grid-column:1 / span 12; margin-top:2rem; }
  .story-grid .sg-a{ grid-column:1 / span 6; }
  .story-grid .sg-b{ grid-column:7 / span 6; border-left:0; padding-left:0; }
  .story-grid .sg-c{ grid-column:1 / span 6; border-left:0; padding-left:0; border-top:1px solid var(--rule); padding-top:2.2rem; }
  .story-grid .sg-d{ grid-column:7 / span 6; border-top:1px solid var(--rule); padding-top:2.2rem; }
  .story-grid .sg-e{ grid-column:1 / span 12; }
  .archive-row .ar-cat{ grid-column:1 / span 12; margin-bottom:.5rem; }
  .archive-row .ar-body{ grid-column:1 / span 9; }
  .archive-row .ar-meta{ grid-column:10 / span 3; }
  .archive-feature .af-media{ grid-column:1 / span 12; margin-bottom:1.6rem; }
  .archive-feature .af-body{ grid-column:1 / span 12; }
  .article-flow{ grid-column:1 / span 10; }
  .policy h2{ grid-column:1 / span 12; position:static; margin-bottom:1rem; }
  .policy-body{ grid-column:1 / span 12; }
  .staff-grid{ grid-template-columns:repeat(2,1fr); }
  .about-grid .ag-a{ grid-column:1 / span 12; }
  .about-grid .ag-b{ grid-column:1 / span 12; margin-top:2.2rem; }
  .foot-top{ grid-template-columns:1fr 1fr; }
  .foot-brand{ grid-column:1 / -1; }
}

@media (max-width: 44rem){
  body{ font-size:1rem; }
  .head-top .note-line:last-child{ display:none; }
  .wordmark{ width:172px; }
  .nav-btn{ display:block; }
  .site-nav{
    display:none;
    position:absolute;
    left:0; right:0; top:100%;
    background:var(--ivory);
    border-bottom:1px solid var(--rule);
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:0 var(--gutter) 1rem;
    z-index:100;
  }
  .site-nav a{ display:block; width:100%; padding:.9em 0; border-top:1px solid var(--rule); }
  .site-head .head-in{ position:relative; }
  .nav-toggle:checked ~ .site-nav{ display:flex; }
  .story-grid .sg-a,.story-grid .sg-b,.story-grid .sg-c,.story-grid .sg-d{ grid-column:1 / span 12; border-left:0; padding-left:0; }
  .story-grid .sg-b,.story-grid .sg-c{ border-top:1px solid var(--rule); padding-top:2.2rem; }
  .field-list li{ grid-template-columns:3rem 1fr; }
  .field-list p{ grid-column:2; }
  .lib-grid,.related-grid{ grid-template-columns:1fr; }
  .dispatch-box .db-a{ grid-column:1 / span 12; }
  .dispatch-box .db-b{ grid-column:1 / span 12; margin-top:1.8rem; }
  .dispatch-entry .de-date{ grid-column:1 / span 12; display:flex; gap:1.4rem; margin-bottom:.4rem; }
  .dispatch-entry .de-body{ grid-column:1 / span 12; }
  .article-flow{ grid-column:1 / span 12; }
  .archive-row .ar-body{ grid-column:1 / span 12; }
  .archive-row .ar-meta{ grid-column:1 / span 12; text-align:left; margin-top:.8rem; display:flex; gap:1.2rem; }
  .staff-grid{ grid-template-columns:1fr; }
  .contact-block{ grid-template-columns:1fr; }
  .foot-top{ grid-template-columns:1fr; }
  .foot-news .fn-a{ grid-column:1 / span 12; }
  .foot-news .fn-b{ grid-column:1 / span 12; margin-top:1.6rem; }
  .author-box{ grid-template-columns:3.4rem 1fr; }
  .article-meta{ gap:1.4rem; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; }
}
