/* =====================================================================
   The Sunset Recorder  -  styles.css
   A West Coast record-trade broadsheet, circa the era of the pressing
   plant: flush-left Bodoni wordmark, groove rules in sunset red,
   vertical column rules in dusk blue, warm paper stock throughout.
   ===================================================================== */

:root{
  /* palette from site.json */
  --ink:      #171412;
  --paper:    #f6f1e7;
  --sunset:   #c2452d;
  --brass:    #a8823c;
  --dusk:     #2f3a52;

  /* working tints derived from the five */
  --ink-soft:   #3a332c;
  --ink-muted:  #6b6154;
  --paper-warm: #efe7d8;
  --paper-hi:   #fbf7ef;
  --sunset-pale:#e6b6a9;
  --brass-pale: #d8c49a;
  --dusk-pale:  #b6bcc9;
  --rule:       #cdc3b0;

  --max:      1220px;
  --gutter:   clamp(1rem, 3vw, 2.2rem);
  --display:  "Bodoni Moda", "Didot", "Times New Roman", Georgia, serif;
  --body:     "Source Serif 4", "Iowan Old Style", Georgia, "Times New Roman", serif;
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{
  margin:0;
  background-color:var(--paper);
  background-image:
    linear-gradient(180deg, rgba(194,69,45,.045), rgba(194,69,45,0) 420px),
    radial-gradient(90% 55% at 88% 4%, rgba(168,130,60,.07), transparent 60%);
  color:var(--ink);
  font-family:var(--body);
  font-size:1.04rem;
  line-height:1.6;
  font-optical-sizing:auto;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
img{ max-width:100%; height:auto; }
a{ color:inherit; }
h1,h2,h3,h4{ font-family:var(--display); margin:0; line-height:1.05; font-weight:700; }
p{ margin:0 0 .95rem; }
:focus-visible{ outline:2px solid var(--sunset); outline-offset:2px; }

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

/* =====================================================================
   RULE SYSTEM  -  the "groove": a heavy sunset line trailed by
   two hairlines, the way a lead-in groove sits above a record's first band.
   ===================================================================== */
.groove{
  height:8px;
  border-top:3px solid var(--sunset);
  border-bottom:1px solid var(--sunset);
  position:relative;
  margin:0;
}
.groove::after{
  content:"";
  position:absolute; left:0; right:0; top:3px;
  border-top:1px solid var(--sunset-pale);
}
.groove--heavy{ margin:2.4rem 0 2rem; height:10px; border-top-width:5px; }

/* =====================================================================
   RIBBON  -  narrow dusk strip above the masthead
   ===================================================================== */
.ribbon{ background:var(--dusk); color:#e6e1d4; }
.ribbon__inner{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem 1.2rem;
  padding-top:.42rem; padding-bottom:.42rem;
  font-size:.66rem; letter-spacing:.24em; text-transform:uppercase;
}
.ribbon__item--mid{ color:var(--brass-pale); }

/* =====================================================================
   MASTHEAD  -  asymmetric: wordmark flush left, standing box at right
   ===================================================================== */
.masthead{ padding-top:clamp(1.1rem,2.6vw,2rem); }
.masthead__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,286px);
  gap:clamp(1rem,3vw,2.6rem);
  align-items:end;
  padding-bottom:.9rem;
}
.masthead__brand{ text-decoration:none; color:inherit; display:block; }
.wordmark{ display:block; font-weight:800; }
.wordmark__the{
  display:block;
  font-family:var(--body);
  font-style:italic;
  font-weight:400;
  font-size:clamp(.9rem,1.7vw,1.2rem);
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--brass);
  margin-bottom:.22rem;
  padding-left:.2em;
}
.wordmark__main{
  display:block;
  font-size:clamp(2.05rem,6.6vw,4.7rem);
  line-height:.9;
  letter-spacing:-.012em;
  text-transform:uppercase;
  color:var(--ink);
}
.wordmark__hot{ color:var(--sunset); }
.masthead__tag{
  margin:.65rem 0 0;
  font-style:italic;
  font-size:clamp(.92rem,1.5vw,1.08rem);
  color:var(--ink-muted);
  max-width:46ch;
}

.standing{
  border:1px solid var(--dusk);
  border-top:4px solid var(--sunset);
  background:var(--paper-hi);
  padding:.9rem 1rem 1rem;
  position:relative;
}
.standing__device{ display:block; width:60px; height:auto; margin:0 0 .55rem auto; }
.standing__line{
  margin:0 0 .32rem;
  font-size:.74rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.standing__line span{
  color:var(--brass);
  letter-spacing:.2em;
  margin-right:.35rem;
}
.standing__note{
  margin:.6rem 0 0;
  padding-top:.55rem;
  border-top:1px solid var(--rule);
  font-size:.82rem;
  line-height:1.42;
  font-style:italic;
  color:var(--ink-muted);
}

/* =====================================================================
   DEPARTMENT BAR  -  full-bleed dusk nav, links spread across the measure
   ===================================================================== */
.deptbar{ background:var(--dusk); margin-top:.55rem; border-bottom:3px solid var(--sunset); }
.deptbar__inner{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:stretch;
  gap:0;
}
.deptbar a{
  flex:1 1 auto;
  text-align:center;
  padding:.72rem .6rem .66rem;
  font-family:var(--body);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-decoration:none;
  color:#f2ece0;
  border-left:1px solid rgba(246,241,231,.22);
  transition:background-color .14s ease, color .14s ease;
}
.deptbar a:first-child{ border-left:0; }
.deptbar a:hover,.deptbar a:focus-visible{ background:var(--sunset); color:var(--paper); }

/* =====================================================================
   SLUGS  -  the small standing labels above every story
   ===================================================================== */
.slug{
  margin:0 0 .45rem;
  font-family:var(--body);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--brass);
}
.slug a{ text-decoration:none; color:var(--dusk); }
.slug a:hover{ color:var(--sunset); }
.slug--hot a{ color:var(--sunset); }
.slug__sep{ color:var(--rule); margin:0 .25rem; }

/* =====================================================================
   FRONT  -  three columns divided by vertical rules, not boxes
   ===================================================================== */
.front{
  display:grid;
  grid-template-columns:minmax(0,1.62fr) minmax(0,1.03fr) minmax(0,.92fr);
  gap:0;
  padding-top:1.6rem;
}
.front > * + *{
  border-left:1px solid var(--rule);
  padding-left:clamp(1rem,2.2vw,1.9rem);
  margin-left:clamp(1rem,2.2vw,1.9rem);
}

/* ---- lead ---- */
.lead__hd{
  font-size:clamp(1.85rem,3.5vw,3.05rem);
  font-weight:700;
  line-height:1.02;
  letter-spacing:-.008em;
  margin:0 0 .7rem;
}
.lead__hd a{ text-decoration:none; }
.lead__hd a:hover{ color:var(--sunset); }
.lead__dek{
  font-size:clamp(1.02rem,1.5vw,1.2rem);
  line-height:1.5;
  color:var(--ink-soft);
  font-style:italic;
  margin:0 0 .8rem;
  max-width:46ch;
}
.lead__by{
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink-muted);
  margin:0 0 1rem;
  padding-bottom:.9rem;
  border-bottom:1px solid var(--rule);
}
.lead__by .dot{ color:var(--sunset); }
.lead__body{ column-count:2; column-gap:clamp(1.2rem,2.4vw,2.1rem); column-rule:1px solid var(--rule); }
.lead__body p{ margin:0 0 .9rem; font-size:1rem; line-height:1.62; }
.dropcap{
  float:left;
  font-family:var(--display);
  font-weight:700;
  color:var(--sunset);
  font-size:3.5em;
  line-height:.78;
  padding:.06em .1em 0 0;
}
.lead__note{
  break-inside:avoid;
  border-top:1px solid var(--rule);
  padding-top:.7rem;
  font-size:.86rem;
  font-style:italic;
  color:var(--ink-muted);
}

/* ---- middle column ---- */
.mid__hd{
  font-size:clamp(1.35rem,2.1vw,1.72rem);
  line-height:1.1;
  font-weight:700;
  margin:0 0 .55rem;
}
.mid__hd a{ text-decoration:none; }
.mid__hd a:hover{ color:var(--sunset); }
.mid__dek{ font-size:.98rem; color:var(--ink-soft); margin:0 0 .5rem; }
.mid__by{
  font-size:.68rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-muted); margin:0;
}
.mid__lead{ padding-bottom:1.1rem; }
.brief{
  border-top:1px solid var(--rule);
  padding:.95rem 0 .1rem;
}
.brief__hd{
  font-size:1.08rem;
  font-weight:600;
  line-height:1.14;
  margin:0 0 .35rem;
}
.brief__hd a{ text-decoration:none; }
.brief__hd a:hover{ color:var(--sunset); }
.brief__dek{ font-size:.9rem; color:var(--ink-muted); margin:0; line-height:1.5; }

/* =====================================================================
   THE WIRE  -  reversed slab head, then the engine-fed file
   ===================================================================== */
.wire__head{
  background:var(--sunset);
  color:var(--paper);
  padding:.55rem .8rem .6rem;
}
.wire__head h2{
  font-size:1.28rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin:0;
}
.wire__head p{
  margin:.1rem 0 0;
  font-family:var(--body);
  font-size:.64rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#f6ded6;
}
.wire__feed{
  max-height:1180px;
  overflow:hidden;
  position:relative;
  -webkit-mask-image:linear-gradient(180deg,#000 88%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 88%,transparent 100%);
}
/* the engine prepends bare <article class="net-item"> straight after the marker */
.net-item{
  display:block;
  padding:.8rem 0;
  border-bottom:1px dotted var(--brass-pale);
}
.net-item:first-child{ padding-top:.85rem; }
.net-item a{ text-decoration:none; }
.net-item h3{
  font-family:var(--display);
  font-size:1rem;
  font-weight:600;
  line-height:1.16;
  margin:0 0 .28rem;
}
.net-item a:hover h3{ color:var(--sunset); }
.net-item p{
  margin:0 0 .3rem;
  font-size:.84rem;
  line-height:1.44;
  color:var(--ink-muted);
}
.net-item time{
  display:block;
  font-size:.64rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brass);
}
.wire__foot{ margin:.85rem 0 0; }
.wire__foot a{
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--dusk); text-decoration:none;
  border-bottom:2px solid var(--sunset);
  padding-bottom:.12rem;
}
.wire__foot a:hover{ color:var(--sunset); }

/* =====================================================================
   DEPARTMENTS  -  a ledger: label rail at left, stories at right
   ===================================================================== */
.depts__title{
  font-size:.76rem;
  font-family:var(--body);
  font-weight:600;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--dusk);
  margin:0 0 1rem;
}
.dept{
  display:grid;
  grid-template-columns:minmax(0,214px) minmax(0,1fr);
  border-top:1px solid var(--dusk);
}
.dept:last-child{ border-bottom:1px solid var(--dusk); }
.dept__label{
  padding:1.3rem 1.3rem 1.4rem 0;
  border-right:1px solid var(--rule);
}
.dept__name{
  font-size:clamp(1.24rem,1.7vw,1.6rem);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0;
  overflow-wrap:normal;
  hyphens:none;
  line-height:1;
  color:var(--sunset);
  margin:0 0 .4rem;
}
.dept__name a{ text-decoration:none; }
.dept__name a:hover{ color:var(--dusk); }
.dept__meta{
  margin:0;
  font-size:.74rem;
  line-height:1.4;
  font-style:italic;
  color:var(--ink-muted);
}
.dept__items{
  padding:1.3rem 0 1.4rem clamp(1rem,2.2vw,1.9rem);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
  gap:1.3rem clamp(1.2rem,2.6vw,2.2rem);
}
.item__hd{
  font-size:1.18rem;
  font-weight:600;
  line-height:1.14;
  margin:0 0 .4rem;
}
.item__hd a{ text-decoration:none; }
.item__hd a:hover{ color:var(--sunset); }
.item__dek{ font-size:.92rem; color:var(--ink-soft); margin:0 0 .4rem; line-height:1.52; }
.item__slug{
  margin:0;
  font-size:.64rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--brass);
}

/* =====================================================================
   TRADE BOARD
   ===================================================================== */
.board{
  margin:2.6rem 0 3rem;
  background:rgba(47,58,82,.055);
  border-top:4px solid var(--dusk);
  padding:1.4rem clamp(1rem,2.4vw,1.8rem) 1.2rem;
}
.board__hd{
  font-family:var(--display);
  font-size:1.34rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--dusk);
  margin:0 0 1rem;
}
.board__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  gap:1.2rem clamp(1.2rem,3vw,2.4rem);
}
.board__note p{ margin:0; font-size:.93rem; line-height:1.55; color:var(--ink-soft); }
.board__tag{
  font-size:.66rem !important;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--sunset) !important;
  margin:0 0 .35rem !important;
  padding-bottom:.35rem;
  border-bottom:1px solid var(--brass-pale);
}

/* =====================================================================
   COLOPHON
   ===================================================================== */
.colophon{
  background:var(--dusk);
  color:#ded8ca;
  border-top:5px solid var(--sunset);
  padding:2.2rem 0 2.6rem;
  margin-top:2rem;
}
.colophon__name{
  font-family:var(--display);
  font-size:clamp(1.5rem,3vw,2.1rem);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:var(--paper);
  margin:0 0 .3rem;
}
.colophon__tag{
  font-style:italic;
  color:var(--brass-pale);
  margin:0 0 1.1rem;
}
.colophon__nav{
  display:flex; flex-wrap:wrap; gap:.5rem 1.6rem;
  padding:.9rem 0;
  border-top:1px solid rgba(246,241,231,.24);
  border-bottom:1px solid rgba(246,241,231,.24);
  margin-bottom:1.1rem;
}
.colophon__nav a{
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase;
  text-decoration:none; color:#efe9dc;
}
.colophon__nav a:hover{ color:var(--sunset-pale); }
.colophon__fine{
  font-size:.8rem;
  line-height:1.55;
  color:var(--dusk-pale);
  max-width:74ch;
  margin:0 0 .5rem;
}
.colophon__fine--last{ margin:0; color:rgba(222,216,202,.62); }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1040px){
  .front{ grid-template-columns:minmax(0,1fr) minmax(0,.86fr); }
  .front > .lead{ grid-column:1 / -1; padding-bottom:1.4rem; }
  .front > .mid{
    border-left:0; padding-left:0; margin-left:0;
    border-top:2px solid var(--sunset); padding-top:1.2rem;
  }
  .front > .wire{ border-top:2px solid var(--sunset); padding-top:1.2rem; }
  .wire__feed{ max-height:900px; }
}

@media (max-width:760px){
  .masthead__grid{ grid-template-columns:minmax(0,1fr); align-items:start; }
  .standing{ padding:.8rem .9rem .9rem; }
  .standing__device{ margin:0 0 .5rem; }
  .deptbar__inner{ justify-content:flex-start; }
  .deptbar a{ flex:1 1 40%; text-align:left; padding-left:0; border-left:0; }
  .deptbar a:not(:first-child):not(:nth-child(2)){ border-top:1px solid rgba(246,241,231,.16); }
  .lead__body{ column-count:1; }
  .front{ grid-template-columns:minmax(0,1fr); }
  .front > *{ border-left:0 !important; padding-left:0 !important; margin-left:0 !important; }
  .front > .mid, .front > .wire{ margin-top:1.4rem; }
  .dept{ grid-template-columns:minmax(0,1fr); }
  .dept__label{
    padding:1.1rem 0 .7rem;
    border-right:0;
    border-bottom:1px solid var(--rule);
    display:flex; flex-wrap:wrap; align-items:baseline; gap:.2rem .8rem;
  }
  .dept__meta{ font-size:.72rem; }
  .dept__items{ padding:1.1rem 0 1.3rem; }
  .wire__feed{ max-height:760px; }
}

@media (max-width:400px){
  body{ font-size:1rem; }
  .wordmark__the{ letter-spacing:.3em; }
  .ribbon__inner{ font-size:.6rem; letter-spacing:.16em; }
}

@media print{
  .deptbar,.ribbon{ background:transparent; color:var(--ink); }
  .colophon{ background:transparent; color:var(--ink); }
}

/* =====================================================================
   INTERIOR PAGES  -  the article sheet and the section fronts.
   Appended after the front page was set. Nothing above is altered:
   these are the classes the inside pages need and the front did not.
   ===================================================================== */
.sheet{ padding-top:1.7rem; }

/* the current department, marked in the standing bar */
.deptbar a[aria-current="page"]{ background:var(--sunset); color:var(--paper); }

/* ---------------------------------------------------------------------
   SECTION FRONT  -  the department heading, set as one ledger row,
   then the file itself in the same columns as the front page.
   --------------------------------------------------------------------- */
.sechead__grid{
  display:grid;
  grid-template-columns:minmax(0,300px) minmax(0,1fr);
  border-top:1px solid var(--dusk);
  padding-top:1.2rem;
}
.sechead__label{
  padding-right:clamp(1rem,2.2vw,1.9rem);
  border-right:1px solid var(--rule);
}
.sechead__name{ font-size:clamp(1.9rem,3.6vw,2.9rem); margin:0 0 .45rem; }
.sechead__stand{
  margin:0;
  padding-left:clamp(1rem,2.2vw,1.9rem);
  font-size:clamp(1rem,1.5vw,1.16rem);
  line-height:1.55;
  font-style:italic;
  color:var(--ink-soft);
  max-width:62ch;
}
/* the engine prepends bare <article class="net-item"> straight after
   the marker, so the file is a plain grid and every child is an item */
.secfile{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));
  gap:0 clamp(1.4rem,3vw,2.6rem);
}
.secfile .net-item{ padding:1rem 0 1.1rem; }
.secfile .net-item h3{ font-size:1.14rem; line-height:1.14; }
.secfile .net-item p{ font-size:.88rem; }
.secfoot{
  margin:1.5rem 0 2.4rem;
  padding-top:.85rem;
  border-top:1px solid var(--rule);
  font-size:.84rem;
  font-style:italic;
  color:var(--ink-muted);
}
.secfoot a{ color:var(--dusk); text-decoration:none; border-bottom:1px solid var(--sunset); }
.secfoot a:hover{ color:var(--sunset); }

/* ---------------------------------------------------------------------
   ARTICLE  -  headline block across the sheet, then the text set to a
   reading measure with the standing rail at its right.
   --------------------------------------------------------------------- */
.art__head{
  max-width:1010px;
  border-bottom:1px solid var(--rule);
  padding-bottom:1.1rem;
  margin-bottom:1.6rem;
}
.art__sec{ color:var(--sunset); }
.art__hd{
  font-size:clamp(1.9rem,3.8vw,3.05rem);
  font-weight:700;
  line-height:1.03;
  letter-spacing:-.008em;
  margin:0 0 .75rem;
}
.art__dek{
  font-size:clamp(1.02rem,1.5vw,1.2rem);
  line-height:1.5;
  font-style:italic;
  color:var(--ink-soft);
  margin:0 0 .85rem;
  max-width:52ch;
}
.art__by{
  margin:0;
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink-muted);
}
.art__by .dot{ color:var(--sunset); }
.art__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,262px);
  max-width:1010px;
}
.art__body{ max-width:65ch; font-size:1.06rem; line-height:1.66; }
.art__body p{ margin:0 0 1.05rem; }
.art__body h2{
  font-family:var(--display);
  font-size:clamp(1.24rem,1.9vw,1.5rem);
  font-weight:700;
  line-height:1.14;
  color:var(--dusk);
  margin:2rem 0 .7rem;
}
.art__body > p:first-of-type::first-letter{
  float:left;
  font-family:var(--display);
  font-weight:700;
  color:var(--sunset);
  font-size:3.4em;
  line-height:.78;
  padding:.06em .1em 0 0;
}
.art__body a{
  color:var(--dusk);
  text-decoration:underline;
  text-decoration-color:var(--sunset-pale);
  text-underline-offset:2px;
}
.art__body a:hover{ color:var(--sunset); }
.art__body .related-reading{
  margin-top:1.8rem;
  padding-top:.85rem;
  border-top:1px solid var(--rule);
  font-size:.9rem;
  line-height:1.55;
  color:var(--ink-muted);
}
.art__body .related-reading strong{
  display:block;
  margin-bottom:.3rem;
  font-family:var(--body);
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--brass);
}
.art__end{
  margin:1.5rem 0 0;
  font-size:.68rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--sunset);
}
.art__rail{
  border-left:1px solid var(--rule);
  padding-left:clamp(1rem,2.2vw,1.9rem);
  margin-left:clamp(1rem,2.2vw,1.9rem);
}
.rail__box{ border-top:3px solid var(--sunset); padding-top:.6rem; margin-bottom:1.7rem; }
.rail__hd{
  font-family:var(--display);
  font-size:1.06rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--dusk);
  margin:0 0 .5rem;
}
.rail__nav{ display:flex; flex-direction:column; }
.rail__nav a{
  padding:.44rem 0;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--dusk);
  border-bottom:1px dotted var(--brass-pale);
}
.rail__nav a:last-child{ border-bottom:0; }
.rail__nav a:hover{ color:var(--sunset); }
.rail__note{ margin:0; font-size:.84rem; line-height:1.5; font-style:italic; color:var(--ink-muted); }
.rail__more{ margin:.6rem 0 0; }
.rail__more a{
  font-size:.68rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--dusk);
  text-decoration:none;
  border-bottom:2px solid var(--sunset);
  padding-bottom:.12rem;
}
.rail__more a:hover{ color:var(--sunset); }

@media (max-width:1040px){
  .art__grid{ grid-template-columns:minmax(0,1fr); max-width:none; }
  .art__rail{
    border-left:0; padding-left:0; margin-left:0;
    border-top:2px solid var(--sunset);
    padding-top:1.3rem; margin-top:1.9rem;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
    gap:0 clamp(1.2rem,3vw,2.2rem);
  }
}

@media (max-width:760px){
  .sechead__grid{ grid-template-columns:minmax(0,1fr); }
  .sechead__label{
    padding-right:0; padding-bottom:.85rem;
    border-right:0; border-bottom:1px solid var(--rule);
  }
  .sechead__stand{ padding-left:0; padding-top:1rem; }
}

/* HOUSEAD:kiss-me:BEGIN */
/* Display advertising unit. Struck in this paper's own type and rules. */
/* the unit sizes to its slot, not the viewport: these papers drop it into a
   narrow editorial column on some pages and full width on others */
.tradenotice-wrap{max-width:var(--max,var(--wrap,var(--maxw,1120px)));margin:3.25rem auto;padding:0 1.25rem;container-type:inline-size}
.tradenotice-tag{font-family:var(--body, "Source Serif 4", Georgia, serif);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-muted, #6b6154);opacity:.75;margin:0 0 .5rem;text-align:center}
.tradenotice{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.4rem;align-items:center;background:var(--paper-warm, #efe7d8);border:1px solid var(--ink, #171412);box-shadow:0 0 0 1px var(--paper-warm, #efe7d8) inset,0 0 0 4px var(--ink, #171412) inset,0 0 0 5px var(--paper-warm, #efe7d8) inset;padding:1.5rem 1.7rem;text-decoration:none;color:inherit;transition:box-shadow .18s ease,transform .18s ease}
.tradenotice:hover{box-shadow:0 0 0 1px var(--paper-warm, #efe7d8) inset,0 0 0 4px var(--sunset, #c2452d) inset,0 0 0 5px var(--paper-warm, #efe7d8) inset;transform:translateY(-1px)}
.tradenotice img,.tradenotice video{display:block;width:100%;height:auto;border:1px solid var(--ink, #171412);filter:saturate(1)}
.tradenotice-k{display:block;font-family:var(--body, "Source Serif 4", Georgia, serif);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sunset, #c2452d);margin:0 0 .4rem}
.tradenotice-h{display:block;font-family:var(--display, "Bodoni Moda", Didot, serif);font-size:clamp(1.6rem,6cqw,2.9rem);line-height:1.02;color:var(--ink, #171412);margin:0}
.tradenotice-b{display:block;font-family:var(--body, "Source Serif 4", Georgia, serif);font-style:italic;font-size:1.02rem;color:var(--ink-muted, #6b6154);margin:.3rem 0 .6rem}
.tradenotice-r{display:block;height:1px;background:var(--sunset, #c2452d);opacity:.5;margin:.6rem 0;width:56px}
.tradenotice-d{display:block;font-family:var(--body, "Source Serif 4", Georgia, serif);font-size:.96rem;line-height:1.5;color:var(--ink-muted, #6b6154);max-width:52ch;margin:0 0 1rem}
.tradenotice-s{display:block;font-family:var(--body, "Source Serif 4", Georgia, serif);font-style:italic;font-size:.82rem;color:var(--ink-muted, #6b6154);opacity:.85;margin:.55rem 0 0}
.tradenotice-c{display:inline-block;white-space:nowrap;grid-column:1/-1;justify-self:start;font-family:var(--body, "Source Serif 4", Georgia, serif);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink, #171412);border:1px solid var(--ink, #171412);padding:.7rem 1.35rem}
.tradenotice:hover .tradenotice-c{background:var(--ink, #171412);color:var(--paper-warm, #efe7d8)}
@container (min-width:760px){
.tradenotice{grid-template-columns:200px minmax(0,1fr) auto;gap:2rem;padding:1.7rem 2rem}
.tradenotice-d{margin-bottom:0}
.tradenotice-c{grid-column:auto;justify-self:end}
}
@container (max-width:430px){.tradenotice{grid-template-columns:1fr;padding:1.25rem}.tradenotice img{max-width:180px}}
/* HOUSEAD:kiss-me:END */

/* ---------------------------------------------------------------------------
   Advertising in the standing rail. The house ad unit floats by default, which
   is right when it sits beside a column of text but wrong inside a column that
   is already narrow, so in the rail it becomes a plain block.
   --------------------------------------------------------------------------- */
.art__rail .tradenotice-p{ float:none; width:100%; margin:0 0 1.6rem; }
/* contain the float so a tall ad cannot hang down into the colophon */
main.sheet{ display:flow-root; }


/* ---------------------------------------------------------------------------
   THE SCREENING ROOM. One film at a time, hosted by us rather than embedded, so
   the page still makes no third-party request. Silent by default and behind a
   poster: nothing loads until a reader asks for it.
   --------------------------------------------------------------------------- */
.screening{ margin:0 0 3.4rem; }
.screening__head{ display:flex; flex-wrap:wrap; gap:.6rem 1.6rem; align-items:baseline;
  border-bottom:1px solid var(--rule, rgba(23,20,18,.2)); padding-bottom:.7rem; margin-bottom:1.6rem; }
.screening__note{ margin:0; font-size:.82rem; font-style:italic; color:var(--ink-muted,#6b6154); }
.screening__grid{ display:grid; grid-template-columns:300px minmax(0,1fr); gap:2.4rem; align-items:start; }
.screening__film{ margin:0; }
.screening__film video{ display:block; width:100%; height:auto; background:var(--ink,#171412);
  border:1px solid var(--ink,#171412); }
.screening__card{ padding-top:.2rem; }
.screening__tag{ margin:0 0 .9rem; font-size:.58rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--ink-muted,#6b6154); }
.screening__kicker{ margin:0 0 .3rem; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--sunset,#c2452d); }
.screening__title{ margin:0; font-family:var(--display,"Bodoni Moda",serif); font-weight:700;
  font-size:clamp(2rem,4vw,3rem); line-height:1; color:var(--ink,#171412); }
.screening__artist{ margin:.2rem 0 1rem; font-style:italic; font-size:1.05rem;
  color:var(--ink-muted,#6b6154); }
.screening__body{ margin:0 0 .8rem; max-width:46ch; color:var(--ink-soft,#3a332c); }
.screening__meta{ margin:0 0 1.4rem; font-size:.78rem; letter-spacing:.06em;
  color:var(--ink-muted,#6b6154); }
.screening__cta{ display:inline-block; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase;
  text-decoration:none; color:var(--paper,#f6f1e7); background:var(--sunset,#c2452d);
  padding:.8rem 1.5rem; }
.screening__cta:hover{ background:var(--ink,#171412); }
@media (max-width:820px){ .screening__grid{ grid-template-columns:1fr; gap:1.5rem; }
  .screening__film video{ max-width:300px; } }

/* HOUSEAD:kiss-me-rail:BEGIN */
/* Vertical advertising poster. Floats in the reading column the way a magazine
   runs a column ad, and drops to full width when there is no room beside it. */
.tradenotice-p{float:right;width:290px;margin:.3rem 0 1.5rem 2rem}
.tradenotice-p-tag{font-family:var(--body, "Source Serif 4", Georgia, serif);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted, #6b6154);opacity:.7;margin:0 0 .45rem;text-align:center}
.tradenotice-p-u{display:block;background:var(--paper-warm, #efe7d8);border:1px solid var(--ink, #171412);border-radius:2px;padding:.75rem;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}
.tradenotice-p-u:hover{transform:translateY(-2px);box-shadow:0 14px 34px var(--ink, #171412)26}
.tradenotice-p-u video,.tradenotice-p-u img{display:block;width:100%;height:auto;border-radius:0;background:var(--ink, #171412)}
.tradenotice-p-k{display:block;font-family:var(--body, "Source Serif 4", Georgia, serif);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sunset, #c2452d);margin:.7rem 0 .3rem}
.tradenotice-p-h{display:block;font-family:var(--display, "Bodoni Moda", Didot, serif);font-size:1.4rem;line-height:1.05;color:var(--ink, #171412);margin:0}
.tradenotice-p-d{display:block;font-family:var(--body, "Source Serif 4", Georgia, serif);font-size:.78rem;line-height:1.45;color:var(--ink-muted, #6b6154);margin:0 0 .7rem}
.tradenotice-p-b{display:block;font-family:var(--body, "Source Serif 4", Georgia, serif);font-style:italic;font-size:.88rem;color:var(--ink-muted, #6b6154);margin:.1rem 0 .45rem}
.tradenotice-p-c{display:block;text-align:center;font-family:var(--body, "Source Serif 4", Georgia, serif);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-warm, #efe7d8);background:var(--sunset, #c2452d);border-radius:0;padding:.6rem .8rem}
@media(max-width:820px){.tradenotice-p{float:none;width:100%;max-width:330px;margin:2rem auto}}
/* HOUSEAD:kiss-me-rail:END */
