/* =============================================================================
   Press Kit (EPK) page only. Framework, header, nav, kicker, reveals come from
   site.css. This file is the poster masthead, the one-sheet "kit" layout, and
   the entire PRINT stylesheet that turns the page into a printable poster.
   ============================================================================= */

:root{ --brass-dp:#a2814a; }   /* deep brass used by the poster frame + coda rule */

/* The EPK manages its own vertical rhythm (the kit + block margins + coda).
   Cancel the shared section padding from site.css so the one-sheet stays one page. */
section{padding:0}

/* ============================ THE POSTER MASTHEAD ============================ */
.poster{position:relative;margin:clamp(20px,4vw,40px) auto 0;max-width:1180px;padding:0 clamp(16px,4vw,44px)}
.poster-frame{position:relative;border:1px solid var(--brass-dp);padding:clamp(12px,1.6vw,20px);background:#0e0d0c}
.poster-frame::after{content:"";position:absolute;inset:6px;border:1px solid rgba(201,168,106,.28);pointer-events:none}
.poster-inner{position:relative;overflow:hidden;background:#0b0a09}
.poster-photo{width:100%;height:clamp(430px,72vh,760px);object-fit:cover;object-position:50% 26%;filter:saturate(1.0) contrast(.97) brightness(.78)}
/* readability scrims: dim the top for the kicker, deepen the bottom for the name */
.poster-inner::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,7,6,.9) 0%,rgba(8,7,6,.5) 15%,rgba(8,7,6,0) 33%,rgba(8,7,6,0) 48%,rgba(8,7,6,.6) 66%,rgba(8,7,6,.9) 84%,rgba(8,7,6,.98) 100%)}
.poster-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(20px,3.2vw,44px)}
.poster-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.poster-eyebrow{display:flex;flex-direction:column;align-items:flex-start;gap:9px;max-width:70%}
.poster-top .kicker{color:#f6dea6;font-weight:500;letter-spacing:.26em;font-size:.76rem;
  text-shadow:0 1px 2px rgba(0,0,0,1),0 0 8px rgba(0,0,0,.95),0 0 20px rgba(0,0,0,.7)}
.poster-est{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(246,244,239,.82);text-align:left;font-weight:400;
  text-shadow:0 1px 2px rgba(0,0,0,1),0 0 8px rgba(0,0,0,.9)}

.poster-name{margin-top:auto}
.poster-name h1{font-family:var(--serif);font-weight:400;color:#fff;line-height:.9;letter-spacing:-.005em;
  font-size:clamp(3.4rem,13vw,10rem);text-shadow:0 2px 5px rgba(0,0,0,.6),0 2px 44px rgba(0,0,0,.5)}
.poster-name h1 .surname{font-style:italic;font-weight:300;color:var(--brass-lt)}
.poster-sub{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 20px;margin-top:clamp(12px,1.6vw,20px)}
.poster-sub .lede{font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(1.05rem,2.5vw,1.7rem);color:var(--text);text-shadow:0 1px 16px rgba(0,0,0,.7)}
.poster-strip{margin-top:clamp(16px,2vw,22px);display:flex;flex-wrap:wrap;align-items:center;gap:10px 0;
  border-top:1px solid rgba(255,255,255,.22);padding-top:clamp(12px,1.6vw,16px)}
.poster-strip .cell{font-size:clamp(.66rem,1.4vw,.8rem);letter-spacing:.18em;text-transform:uppercase;
  color:rgba(246,244,239,.9);padding:0 clamp(12px,2vw,22px);border-left:1px solid rgba(255,255,255,.24);
  text-shadow:0 1px 10px rgba(0,0,0,.6);white-space:nowrap}
.poster-strip .cell:first-child{padding-left:0;border-left:0}
.poster-strip .cell b{color:var(--brass-lt);font-weight:400}
@media(max-width:640px){
  .poster-photo{height:clamp(400px,86vh,640px);object-position:50% 22%}
  .poster-strip .cell{border-left:0;padding:0;width:100%}
  .poster-strip{gap:5px 0}
}

/* floating print action — screen only */
.print-btn{position:absolute;top:clamp(26px,3.6vw,52px);right:clamp(28px,5.4vw,64px);z-index:5;
  font-family:var(--sans);background:rgba(19,19,17,.55);color:var(--text);border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(6px);font-weight:400;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  padding:10px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .18s ease}
.print-btn:hover{background:var(--brass);color:#181205;border-color:var(--brass)}
.print-btn svg{width:14px;height:14px;flex:none}
/* narrow screens: no room to float over the corner without hitting the eyebrow,
   so drop the button out of the overlay and sit it above the poster */
@media(max-width:960px){
  .print-btn{position:static;top:auto;right:auto;display:flex;width:max-content;margin:0 0 12px auto}
}

/* ================================ THE KIT ================================ */
.kit{padding:clamp(46px,7vw,84px) 0 clamp(40px,7vw,72px)}
.sec-num{font-family:var(--serif);font-style:italic;font-size:.98rem;color:var(--brass);font-weight:400}
.h-rule{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}
.h-rule h2{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.05rem);font-weight:400;color:#fff;letter-spacing:.005em;line-height:1.05}
.h-rule::after{content:"";flex:1;height:1px;background:var(--line-soft);align-self:center}
.kit p{color:var(--dim);font-size:1rem}
.kit p + p{margin-top:13px}
.lead{color:var(--text);font-size:clamp(1.12rem,2vw,1.32rem);font-weight:300;line-height:1.5;font-family:var(--serif)}
.kit em{font-style:italic}

.kit-body{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(34px,5.5vw,68px)}
@media(max-width:840px){.kit-body{grid-template-columns:1fr;gap:44px}}
section.block{margin-bottom:clamp(36px,5vw,52px)}
section.block:last-child{margin-bottom:0}

/* artists */
.artist{display:grid;grid-template-columns:88px 1fr;gap:22px;align-items:start;margin-bottom:26px}
.artist:last-child{margin-bottom:0}
.artist .frame{position:relative;padding:4px;border:1px solid var(--line-soft);background:var(--ink-2)}
.artist img{width:100%;height:106px;object-fit:cover;object-position:50% 16%}
.artist h3{font-family:var(--serif);font-size:1.28rem;font-weight:500;color:#fff;line-height:1.1}
.artist .role{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin:5px 0 9px}
.artist p{font-size:.94rem}

.stages{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.stages li{font-size:.78rem;letter-spacing:.04em;color:var(--text);border:1px solid var(--line);padding:7px 13px}
.stages li::before{content:"♪";color:var(--brass);margin-right:8px;font-size:.72rem}

/* sidebar */
.aside .panel{background:var(--ink-2);border:1px solid var(--line-soft);padding:24px 24px 26px}
.aside .panel + .panel{margin-top:22px}
.aside .h-rule{margin-bottom:16px}
.aside .h-rule h2{font-size:1.28rem}
.disco-item{display:grid;grid-template-columns:56px 1fr;gap:15px;align-items:center;padding:13px 0;border-top:1px solid var(--line-soft)}
.disco-item:first-of-type{border-top:none;padding-top:2px}
.disco-item .cover{display:block}
.disco-item img{width:56px;height:56px;object-fit:cover;border:1px solid var(--line-soft)}
.disco-item .t{font-family:var(--serif);font-size:1.06rem;color:#fff;font-weight:500;line-height:1.1}
.disco-item .s{font-size:.76rem;color:var(--faint);margin-top:2px;letter-spacing:.02em}
blockquote{border-left:2px solid var(--brass);padding:2px 0 2px 17px;margin-bottom:18px}
blockquote:last-child{margin-bottom:0}
blockquote p{font-family:var(--serif);font-size:1rem;color:var(--text);font-style:italic;font-weight:400;line-height:1.5}
blockquote .who{display:block;margin-top:9px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-style:normal;font-family:var(--sans)}
.listen-links{display:flex;flex-direction:column;gap:11px}
.listen-links a{font-size:.92rem;display:flex;align-items:baseline;gap:9px}
.listen-links a .svc{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);min-width:82px;flex:none}
.book-block .line{display:block;font-family:var(--serif);font-size:1.12rem;color:#fff;margin-bottom:6px}
.book-block .line a{color:var(--brass-lt)}
.book-block .sub{font-size:.84rem;color:var(--dim);margin-top:8px}

/* closing coda — the sign-off */
.coda{margin-top:clamp(46px,6vw,72px);padding-top:clamp(30px,4.5vw,48px);border-top:1px solid var(--brass-dp);text-align:center}
.coda-say{font-family:var(--serif);font-weight:400;color:#fff;font-size:clamp(1.5rem,3.4vw,2.3rem);
  line-height:1.2;letter-spacing:.005em;margin:0 auto}
.coda-say em{font-style:italic;color:var(--brass-lt)}
.coda-tag{display:block;margin-top:clamp(14px,2vw,20px);font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--brass)}
.coda-qr{display:block;width:116px;height:116px;margin:clamp(20px,2.6vw,28px) auto 0;
  background:#fff;border-radius:4px}

.kit-foot{margin-top:clamp(30px,4vw,44px);padding-top:20px;border-top:1px solid var(--line-soft);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;color:var(--faint)}
.kit-foot a{color:rgba(246,244,239,.5)}

/* ==========================================================================
   PRINT — one Letter page that hangs as a poster and reads as a one-sheet
   ========================================================================== */
@media print{
  @page{ size:letter; margin:0; }
  html,body{background:#fff;color:#1c1712;font-weight:400;line-height:1.27;font-size:10.9pt}
  body{display:flex;flex-direction:column;min-height:10.9in;padding:0.16in 0.2in}
  .kit{flex:1 0 auto;display:flex;flex-direction:column}
  .coda{margin-top:auto}
  a{color:#1c1712;text-decoration:none}
  header.site,.nav-toggle,.print-btn,.kit-foot .noprint{display:none !important}
  .reveal{opacity:1 !important;transform:none !important}
  img{ -webkit-print-color-adjust:exact; print-color-adjust:exact }
  /* photos are CSS backgrounds so they honor the "Background graphics" toggle:
     ON = photos print, OFF = the labeled placeholder boxes (ink-save). The --img
     URLs are ROOT-ABSOLUTE (/assets/...) in the HTML so they resolve correctly
     when consumed from this external stylesheet in print. QR is a real <img>. */
  .poster-photo,.artist .frame img,.disco-item .cover img{display:none !important}
  .wrap,.poster{max-width:none;margin:0;padding:0}

  /* poster masthead → print: photo beside a dark-ink title, so it stays legible
     on any printer and the large image flows as a simple grid cell. */
  .poster{margin-bottom:9pt}
  .poster-frame{border:none;padding:1pt;background:#c9a86a}
  .poster-frame::after{display:none}
  .poster-inner{overflow:hidden;display:grid;grid-template-columns:1.14fr 1fr;align-items:stretch;background:#fff}
  .poster-inner::before{display:none}
  .shot{height:1.8in;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
  .shot::after{content:attr(data-ph);position:relative;z-index:1;font-family:var(--sans);font-size:7.5pt;letter-spacing:.22em;text-transform:uppercase;color:#8a7f66}
  .shot::before{content:"";position:absolute;inset:0;z-index:2;background-image:var(--img);background-size:cover;background-position:50% 22%;background-repeat:no-repeat}
  .poster-content{position:static;inset:auto;padding:10pt 16pt;justify-content:center}
  .poster-top{display:block}
  .poster-top .kicker{color:#9a7c3a;font-size:7.6pt;font-weight:400;letter-spacing:.34em;text-shadow:none;display:block}
  .poster-est{display:none}
  .poster-name{margin-top:0}
  .poster-name h1{font-size:33pt;color:#141210;text-shadow:none;line-height:.92;margin-top:6pt}
  .poster-name h1 .surname{color:#a2814a}
  .poster-sub{margin-top:7pt}
  .poster-sub .lede{font-size:11.6pt;color:#2b2620;text-shadow:none}
  .poster-strip{display:block;border-top:0.75pt solid #e0d7c4;padding-top:7pt;margin-top:9pt}
  .poster-strip .cell{display:block;color:#39332b;font-size:8pt;border-left:0;padding:2pt 0;text-shadow:none;white-space:normal}
  .poster-strip .cell b{color:#9a7c3a}

  .kit{padding:0}
  .sec-num{color:#9a7c3a;font-size:9.2pt}
  .h-rule{margin-bottom:6pt}
  .h-rule h2{color:#141210;font-size:15pt}
  .h-rule::after{background:#e0d7c4}
  .kit p{color:#39332b;font-size:10.4pt}
  .kit p + p{margin-top:6pt}
  .lead{color:#1c1712;font-size:12.2pt}

  .kit-body{grid-template-columns:1.6fr 1fr;gap:20pt}
  section.block{margin-bottom:4pt;break-inside:avoid}

  .artist{grid-template-columns:0.62in 1fr;gap:11pt;margin-bottom:7pt}
  .artist .frame{height:0.74in;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}
  .artist .frame::after{content:attr(data-ph);position:relative;z-index:1;font-family:var(--sans);font-size:5.6pt;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;color:#8a7f66}
  .artist .frame::before{content:"";position:absolute;inset:0;z-index:2;background-image:var(--img);background-size:cover;background-position:50% 16%;background-repeat:no-repeat}
  .artist h3{color:#141210;font-size:12.4pt}
  .artist .role{color:#9a7c3a;font-size:6.8pt;margin:2pt 0 4pt}
  .artist p{font-size:9.5pt}

  .stages{gap:7pt;margin-top:10pt}
  .stages li{color:#1c1712;border:0.5pt solid #cbb98f;padding:4pt 9pt;font-size:8.2pt}
  .stages li::before{color:#a2814a}

  .aside .panel{background:#faf7f0;border:0.5pt solid #e2dccb;padding:7pt 10pt}
  .aside .panel + .panel{margin-top:7pt}
  .aside .h-rule h2{font-size:13.6pt}
  .disco-item{grid-template-columns:0.46in 1fr;gap:9pt;padding:4pt 0;border-top:0.5pt solid #e6ddca}
  .disco-item .cover{width:0.46in;height:0.46in;position:relative;overflow:hidden}
  .disco-item .cover::before{content:"";position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:50% 50%;background-repeat:no-repeat}
  .disco-item .t{color:#1c1712;font-size:10.6pt}
  .disco-item .s{color:#8a7f66;font-size:7.8pt}
  blockquote{border-left:2pt solid #c9a86a;padding-left:10pt;margin-bottom:8pt}
  blockquote p{color:#2b2620;font-size:9.5pt}
  blockquote .who{color:#8a7f66;font-size:7pt;margin-top:3pt}
  .listen-links{gap:7pt}
  .listen-links a{color:#1c1712;font-size:9.2pt}
  .listen-links a .svc{color:#9a7c3a;min-width:70pt;font-size:7pt}
  /* closing coda → print (dark ink, compact, one clean sign-off) */
  .coda{padding-top:8pt;border-top:0.75pt solid #c9a86a;text-align:center;break-inside:avoid}
  .coda-say{color:#141210;font-size:15pt;line-height:1.1}
  .coda-say em{color:#a2814a}
  .coda-tag{margin-top:5pt;font-size:7.2pt;letter-spacing:.24em;color:#9a7c3a}
  .coda-qr{width:0.78in;height:0.78in;margin:7pt auto 0;border-radius:0}
  .kit-foot{display:none !important}
}
