/* ===========================================================
   The Wildcat Wonder — paper styles (screen preview === print)
   Letter 8.5x11, 0.5in margins, Arial, blue #215E99, yellow #FFFF00
   =========================================================== */
:root{
  --paper-blue:#215E99; --paper-blue-d:#184875; --paper-blue-ink:#0F4761;
  --paper-yellow:#FFFF00; --paper-gray:#595959;
  --sec-default:#215E99;
}
.paper{ --z:.7; }

/* ---------- page ---------- */
.page{
  position:relative;width:8.5in;height:11in;background:#fff;color:#111;
  font-family:Arial,"Liberation Sans","Helvetica Neue",Helvetica,sans-serif;
  overflow:hidden;margin:0 auto 22px;
  box-shadow:0 2px 6px rgba(0,0,0,.22),0 14px 44px rgba(0,0,0,.24);
  transform:scale(var(--z));transform-origin:top center;
}
.paper{display:flex;flex-direction:column;align-items:center}
.page{margin-bottom:calc(22px - (1 - var(--z)) * 11in);}
.page .frame{position:absolute;inset:.16in;border:1.5px solid var(--paper-blue);border-radius:11px;pointer-events:none}
.page.printsafe .frame{inset:.22in}
.page-inner{position:absolute;inset:.5in;display:flex;flex-direction:column}

/* ---------- running header / footer ---------- */
.run-header,.run-footer{background:var(--paper-blue);color:#fff;display:flex;align-items:center;padding:0 .14in;flex:none;border-radius:3px}
.run-header{height:.34in;justify-content:space-between;margin-bottom:.12in}
.run-footer{height:.30in;justify-content:center;margin-top:.12in}
.run-header .rh-l,.run-header .rh-r{font-size:9pt;font-weight:700;white-space:nowrap}
.run-header .rh-c{font-size:9.5pt;font-weight:700}
.run-footer .pg{font-size:9.5pt;font-weight:700;letter-spacing:.02em}

/* =====================================================================
   FIVE COVER NAMEPLATE STYLES
   ===================================================================== */
.masthead{flex:none;display:flex;flex-direction:column;align-items:center;margin-bottom:.16in}
.masthead .mast-logo{display:block;width:auto}

/* 1 · Classic — logo over a 3-part blue bar */
.style-classic .mast-logo{height:1.5in;margin:.04in 0 .12in}
.style-classic .mast-bar{width:100%;background:var(--paper-blue);color:#fff;border-radius:3px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:.6in;padding:0 .2in}
.style-classic .mb-date{font-size:11pt;font-weight:700;text-align:left}
.style-classic .mb-issue{font-size:11pt;font-weight:700;text-align:right}
.style-classic .mb-motto{font-size:10.5pt;font-weight:700;text-align:center;line-height:1.15}
.mb-motto i,.np-c i,.dl-tag i,.bb-motto i,.cr-ribbon i{font-style:italic}

/* 2 · Nameplate — centered logo between editorial hairline + dateline rule */
.style-nameplate{padding-top:.02in}
.style-nameplate .mast-logo{height:1.42in;margin:.06in 0 .04in}
.style-nameplate .np-rule{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.2in;
  border-top:2.5px solid var(--paper-blue);border-bottom:1px solid var(--paper-blue);padding:5pt 0 6pt;position:relative}
.style-nameplate .np-rule::after{content:"";position:absolute;left:0;right:0;top:3.5px;border-top:1px solid var(--paper-blue)}
.style-nameplate .np-l{font-size:9pt;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-blue-ink)}
.style-nameplate .np-r{font-size:9pt;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-blue-ink);text-align:right}
.style-nameplate .np-c{font-size:11pt;font-weight:700;font-style:italic;text-align:center;color:#111}

/* 3 · Bold Blue — full color band, logo knocked onto a white chip */
.style-boldblue{margin-bottom:.14in}
.style-boldblue .bb-band{width:100%;background:linear-gradient(135deg,var(--paper-blue),var(--paper-blue-d));border-radius:8px;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.2in;padding:.16in .24in;color:#fff}
.style-boldblue .bb-logo{background:#fff;border-radius:8px;padding:.07in .12in;display:flex}
.style-boldblue .bb-logo img{height:.95in;width:auto;display:block}
.style-boldblue .bb-motto{font-size:15pt;font-weight:800;line-height:1.12;letter-spacing:-.01em}
.style-boldblue .bb-motto i{font-weight:800}
.style-boldblue .bb-meta{text-align:right;white-space:nowrap}
.style-boldblue .bb-date{font-size:11pt;font-weight:800}
.style-boldblue .bb-issue{font-size:9.5pt;font-weight:600;opacity:.9;margin-top:2pt;text-transform:uppercase;letter-spacing:.06em}

/* 4 · Dateline — centered logo, tagline, then a small-caps rule line */
.style-dateline .mast-logo{height:1.46in;margin:.04in 0 .02in}
.style-dateline .dl-tag{font-size:11.5pt;font-style:italic;color:var(--paper-blue-ink);text-align:center;margin-bottom:7pt}
.style-dateline .dl-bar{width:100%;background:var(--paper-blue);color:#fff;border-radius:3px;height:.34in;display:flex;align-items:center;justify-content:center;
  font-size:9.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.style-dateline .dl-bar .sepdot{opacity:.6;margin:0 .14in}

/* 5 · Crest — double-ruled frame around the logo with a motto ribbon */
.style-crest{padding-top:.04in}
.style-crest .crest-frame{border:2px solid var(--paper-blue);border-radius:8px;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--paper-blue);
  padding:.1in .5in .16in;display:flex;flex-direction:column;align-items:center;width:auto}
.style-crest .mast-logo{height:1.28in;margin:0}
.style-crest .cr-rule{display:flex;align-items:center;justify-content:center;gap:.14in;width:100%;margin-top:2pt}
.style-crest .cr-rule .orn{color:var(--paper-blue);font-size:10pt}
.style-crest .cr-rule .cr-l,.style-crest .cr-rule .cr-r{font-size:8.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--paper-blue-ink)}
.style-crest .cr-ribbon{margin-top:-.02in;background:var(--paper-blue);color:#fff;border-radius:20px;padding:4pt 16pt;font-size:10.5pt;font-weight:700;font-style:italic;box-shadow:0 2px 5px rgba(33,94,153,.3)}

/* ---------- body / blocks ---------- */
.page-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:.16in}
.page.note .page-body{background:var(--paper-yellow);margin:0 -.06in;padding:.14in .06in}

/* editorial section banner */
.section-banner{flex:none;display:flex;align-items:center;justify-content:center;gap:.16in}
.section-banner .sb-text{font-weight:800;text-transform:uppercase;letter-spacing:.09em;font-size:14.5pt;color:#111;white-space:nowrap}
.section-banner .sb-rule{height:2.5px;flex:1;max-width:1.7in;background:var(--sec-default);border-radius:2px}
.no-accent .section-banner .sb-rule{background:#c8c8c8}

/* article card */
.article{flex:none;border-radius:5px;padding:.02in .02in .04in}
.article.blue{background:var(--paper-blue);color:#fff;padding:.16in .2in .18in;border-radius:6px}
.article.blue a{color:#fff}
.page-body>.article.white + .article.white{border-top:1px solid #ededed;margin-top:.0in;padding-top:.13in}
.page-body>.section-banner + .article.white{border-top:none;padding-top:0}

.article .kicker{text-align:center;font-size:9.5pt;font-style:italic;color:var(--paper-gray);margin-bottom:3pt}
.article.blue .kicker{color:#dbe8f5}
.label-kickers .article .kicker{font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:8.5pt;color:var(--sec-default)}
.label-kickers .article.blue .kicker{color:#ffe08a}
.article .headline{text-align:center;font-weight:800;line-height:1.1;margin:0 0 4pt;color:#111;letter-spacing:-.012em}
.article.blue .headline{color:#fff}
.article.rank-lead .headline{font-size:23pt}
.article.rank-feature .headline{font-size:16.5pt}
.article.rank-brief .headline{font-size:13.5pt}
.flat-heads .article .headline{font-size:15pt !important}
.article .byline{text-align:center;font-weight:700;font-size:10.5pt;margin:0 0 7pt;color:#111}
.article.blue .byline{color:#fff}
.article .cont-head{text-align:center;font-weight:800;line-height:1.1;font-size:13.5pt;color:#111;letter-spacing:-.012em;margin:0 0 3pt}
.article.blue .cont-head{color:#fff}

.article .body{column-gap:.3in;font-size:10.5pt;line-height:1.42;color:#141414;text-align:left}
.article.text-sm .body{font-size:9.6pt;line-height:1.38}
.article.text-xs .body{font-size:9pt;line-height:1.34}
.article.blue .body{color:#fff}
.article .body.cols-1{column-count:1}
.article .body.cols-2{column-count:2}
.article .body.cols-3{column-count:3}
.article .body p{margin:0 0 .085in}
.article .body p.ww-compact{margin-bottom:.018in}
.article .body p.ww-grouphead{margin-top:.085in;margin-bottom:.018in}
.article .body h3{font-size:11.5pt;margin:.02in 0 .05in}
.article .body ul,.article .body ol{margin:0 0 .09in;padding-left:.22in}
.article .body li{margin:0 0 .03in}
.article .body a{color:var(--paper-blue);text-decoration:underline}

/* drop cap on the lead story (auto polish) */
.dropcaps .article.rank-lead.frag-first .body > p:first-of-type::first-letter{
  float:left;font-size:3.3em;line-height:.78;font-weight:800;padding:.02em .07em 0 0;color:var(--sec-default);
}

/* pull quote */
.pullquote{break-inside:avoid;margin:.04in 0 .1in;padding:.02in 0 .02in .16in;border-left:3px solid var(--sec-default);
  font-size:13pt;font-style:italic;font-weight:600;line-height:1.25;color:var(--paper-blue-ink)}
.article.blue .pullquote{color:#fff;border-left-color:#ffe08a}
.hide-pullquotes .pullquote{display:none}

/* figures */
.article figure{margin:0 0 .1in;break-inside:avoid}
.article figure img{width:100%;display:block;border-radius:3px;background:#e9eef4;object-fit:contain}
.article figure figcaption{font-size:8.5pt;color:#555;text-align:center;margin-top:3pt;line-height:1.3}
.article figure figcaption .cap{font-style:italic}
.article figure figcaption .cred{color:#8a8a8a;font-style:normal}
.article.blue figure figcaption{color:#dce8f6}
.article figure.img-full{column-span:all}
.article figure.img-lg{width:86%}.article figure.img-md{width:60%}.article figure.img-sm{width:42%}
.article figure.al-center{margin-left:auto;margin-right:auto;column-span:all}
.article figure.al-left{float:left;margin-right:.16in}
.article figure.al-right{float:right;margin-left:.16in}
.article figure.img-full.al-left,.article figure.img-full.al-right{float:none}
.article .photo-row{display:flex;gap:.14in;align-items:flex-start;margin:0 0 .085in;column-span:all;break-inside:avoid}
.article .photo-row figure{flex:1 1 0;width:auto;margin:0}
.article .photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:.14in;margin:0 0 .085in;column-span:all;break-inside:avoid}
.article .photo-grid figure{width:auto;margin:0}

/* automatic polish (no extra work): balanced columns, no stranded lines, framed photos */
.article .body{column-fill:balance}
.article .body p{orphans:2;widows:2}
.article figure img{border:1px solid #e4e8ed}
.article.blue figure img{border-color:rgba(255,255,255,.28)}
.article .body{hyphens:none}

/* continued lines */
.continued-from{font-style:italic;font-size:10pt;color:#333;margin:0 0 6pt}
.continued-to{font-style:italic;font-size:10pt;color:#333;text-align:right;margin-top:6pt}
.article.blue .continued-from,.article.blue .continued-to{color:#eaf1f9}

/* editor note */
.article.note{background:transparent;color:#111;padding:.05in .1in}
.article.note .headline{font-size:20pt}
.article.note .body{color:#111}

/* cover teaser */
.teaser{flex:none;background:var(--paper-blue);color:#fff;border-radius:6px;text-align:center;padding:.16in .3in;font-weight:700;font-size:12.5pt;line-height:1.4}
.teaser p{margin:.04in 0}

/* ============ Batch 1: auto paper beauty ============ */
/* standfirst under the nameplate */
.masthead .standfirst{width:100%;text-align:center;font-size:8.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-blue-ink);margin-top:7pt;padding-top:5pt;border-top:1px solid #d7e0ea}
.style-boldblue .standfirst{border-top:none;margin-top:9pt;padding-top:0;color:var(--paper-blue-ink)}
.no-standfirst .masthead .standfirst{display:none}
/* story end-marks */
.endmark{display:inline-block;margin-left:.05in;color:var(--sec-default);font-weight:800;font-size:10pt;line-height:1}
.article.blue .endmark{color:#ffe08a}
.no-endmarks .endmark{display:none}
/* section banner ornament */
.section-banner .sb-orn{color:var(--sec-default);font-size:10.5pt;line-height:1}
.no-accent .section-banner .sb-orn{color:#9aa6b2}
/* contact footer */
.run-footer{justify-content:space-between}
.run-footer .foot-l,.run-footer .foot-r{font-size:7.5pt;font-weight:600;opacity:.92;min-width:1.9in;white-space:nowrap}
.run-footer .foot-r{text-align:right}
.run-footer .foot-c{flex:1;text-align:center}

/* ============ Batch 2: inside-this-issue cover strip ============ */
.inside-strip{flex:none;border:1.5px solid var(--paper-blue);border-radius:6px;padding:.1in .18in .12in}
.inside-strip .is-title{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:9.5pt;color:var(--paper-blue);text-align:center;margin-bottom:5pt;border-bottom:1px solid #d7e0ea;padding-bottom:4pt}
.inside-strip .is-rows{column-count:2;column-gap:.3in;font-size:9.5pt;line-height:1.3}
.inside-strip .is-row{display:flex;justify-content:space-between;gap:.12in;break-inside:avoid;margin-bottom:2.5pt}
.inside-strip .is-row .is-h{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#222}
.inside-strip .is-row .is-p{font-weight:700;color:var(--paper-blue);white-space:nowrap}

/* ============ Batch 3: contributor index ============ */
.article.index .body{column-count:3;column-gap:.3in;font-size:9.5pt}
.article.index .idx-name{display:flex;justify-content:space-between;gap:.1in;break-inside:avoid;margin-bottom:2.5pt}
.article.index .idx-name .c{color:var(--paper-gray);font-weight:700}

/* ---------- print ---------- */
@media print{
  @page{size:8.5in 11in;margin:0}
  html,body{margin:0;padding:0;background:#fff}
  .paper{display:block}
  .page{transform:none !important;margin:0 !important;box-shadow:none !important;break-after:page;page-break-after:always}
  .page:last-child{break-after:auto;page-break-after:auto}
  *{ -webkit-print-color-adjust:exact;print-color-adjust:exact }
}
