/* Liv Petrov · JOURNAL v7.2 (9.10.2026, Forge) · from Daria's Journal draft v2.3 (Owner Approved 9.10.2026 18:22) · loads after site.css
   Owner 9.10 17:54: genuine newspaper feel, greyish newsprint, newspaper typography, real columns on desktop.
   Fonts self-hosted, all SIL OFL 1.1 (see assets/fonts/newsprint/OFL_*.txt). */
@font-face{font-family:"UnifrakturMaguntia";src:url("../fonts/newsprint/unifraktur-maguntia-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Libre Caslon Display";src:url("../fonts/newsprint/libre-caslon-display-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url("../fonts/newsprint/libre-caslon-text-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url("../fonts/newsprint/libre-caslon-text-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url("../fonts/newsprint/libre-caslon-text-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url("../fonts/newsprint/libre-franklin-var.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  --news:#E9E7E1;        /* newsprint paper (replaces cream on Journal pages) */
  --news-2:#DFDCD4;      /* boxes: Engineering Office, sidebars */
  --ink:#121212;         /* text 15.2:1 on newsprint */
  --ink-2:#2B2B2B;       /* secondary text 11.5:1 */
  --grey:#5C5B57;        /* meta text 5.5:1 (4.96:1 on --news-2) */
  --hair:#B3AEA4;        /* hairline column rules, decoration only */
  --black:"UnifrakturMaguntia",serif;
  --display:"Libre Caslon Display","Libre Caslon Text",Georgia,serif;
  --text:"Libre Caslon Text",Georgia,"Times New Roman",serif;
  --franklin:"Libre Franklin","Franklin Gothic Medium","Helvetica Neue",Arial,sans-serif;
}
body{background:var(--news);color:var(--ink)}
.site-header .bar{border-bottom-color:var(--ink)}
.site-footer .foot{border-top-color:var(--ink)}
/* footer .ver keeps the site colour #736B62 (site.css), no override here */


/* nav: 4 items (Art, Journal, About, House Staff); the mobile nav row lives in site.css (v7.2) */

.journal{padding-top:1.4rem;padding-bottom:4.5rem}

/* J3 MASTHEAD */
.masthead{display:grid;grid-template-columns:1fr;align-items:center;text-align:center;padding:.6rem 0 .8rem}
.nameplate{font-family:var(--black);font-weight:400;font-size:2.9rem;line-height:1.05;color:var(--ink);text-decoration:none;margin:0;letter-spacing:.005em}
a.nameplate:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
.ear{display:none;font-family:var(--franklin);font-size:.72rem;line-height:1.35;color:var(--ink-2);border:1px solid var(--ink);padding:.5rem .6rem;max-width:12rem}
.dateline{display:flex;flex-direction:column;align-items:center;gap:.15rem;border-top:3px double var(--ink);border-bottom:1px solid var(--ink);padding:.45rem 0;font-family:var(--franklin);font-weight:500;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
@media (min-width:48rem){
  .masthead{grid-template-columns:1fr auto 1fr;padding:1rem 0 1.1rem}
  .ear{display:block}
  .ear-l{justify-self:start;text-align:left}
  .ear-r{justify-self:end;text-align:left}
  .nameplate{font-size:4.2rem}
  .dateline{flex-direction:row;justify-content:space-between}
}
@media (min-width:72rem){.nameplate{font-size:5rem}}
.masthead.compact{padding:.5rem 0 .6rem}
.masthead.compact .nameplate{font-size:2.4rem}
@media (min-width:48rem){.masthead.compact .nameplate{font-size:3.2rem}}

/* shared type */
.kicker{font-family:var(--franklin);font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.kicker .sep{color:var(--grey);margin:0 .45em;font-weight:400}
.hed{font-family:var(--display);font-weight:400;color:var(--ink);line-height:1.08;letter-spacing:-.005em}
.dek{font-family:var(--text);font-style:italic;color:var(--ink-2);line-height:1.4}
.byline{font-family:var(--franklin);font-size:.78rem;color:var(--ink);letter-spacing:.02em}
.byline b{font-weight:600}
.byline .meta{color:var(--grey)}
figure{margin:0}
figcaption{margin-top:.5rem;font-family:var(--franklin);font-size:.8rem;line-height:1.45;color:var(--ink-2)}
figcaption .credit{display:block;margin-top:.2rem;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}
.fig-wrap{position:relative;display:block}
.fig-wrap img{width:100%;height:auto;border:1px solid var(--hair)}

/* J2 BODY TEXT AND COLUMNS */
.copy p{font-family:var(--text);font-size:1.0625rem;line-height:1.62;color:var(--ink);hyphens:auto;-webkit-hyphens:auto;orphans:2;widows:2}
.copy p+p{text-indent:1.3em}
.copy h3{font-family:var(--franklin);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin:1.4rem 0 .5rem;break-after:avoid;color:var(--ink)}
.copy h3:first-child{margin-top:0}
.copy b{font-family:var(--franklin);font-weight:600;font-size:.86em;letter-spacing:.04em;text-transform:uppercase}
.copy .sign{text-indent:0;text-align:right;font-style:italic;margin-top:.6rem}
.endmark{display:inline-block;width:.42em;height:.42em;background:var(--ink);margin-left:.4em}
@media (min-width:64rem){
  .copy p{text-align:justify;font-size:1rem;line-height:1.6}
  .cols-3{columns:3;column-gap:2.2rem;column-rule:1px solid var(--hair)}
  .cols-2{columns:2;column-gap:2.2rem;column-rule:1px solid var(--hair)}
}

/* J5 DROP CAP */
.dropcap::first-letter{font-family:var(--display);float:left;font-size:4.6em;line-height:.8;padding:.06em .08em 0 0;color:var(--ink)}
@supports (initial-letter:4){.dropcap::first-letter{initial-letter:4;font-size:inherit;line-height:inherit;padding:0 .1em 0 0}}

/* J6 PULL QUOTE */
.pull{margin:1.6rem 0;padding:.9rem 0;border-top:3px double var(--ink);border-bottom:1px solid var(--ink);text-align:center}
.pull p{font-family:var(--display);font-size:1.6rem;line-height:1.2;color:var(--ink)}
.pull cite{display:block;margin-top:.6rem;font-family:var(--franklin);font-style:normal;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}

/* ARTICLE PAGE */
.art-head{text-align:center;max-width:52rem;margin:2rem auto 0}
.art-head .hed{font-size:2.15rem;margin-top:.6rem}
.art-head .dek{font-size:1.2rem;margin-top:.7rem}
.art-head .byline{margin-top:1rem;padding-top:.6rem;border-top:1px solid var(--hair);display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 1.2rem}
.block{margin-top:2rem}
.block-split{display:grid;gap:1.8rem}
@media (min-width:48rem){.art-head .hed{font-size:3rem}}
@media (min-width:64rem){
  .art-head .hed{font-size:3.5rem}
  .block{margin-top:2.4rem;padding-top:2rem;border-top:1px solid var(--ink)}
  .block:first-of-type{border-top:0;padding-top:0}
  .block-split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0}
  .block-split>:first-child{padding-right:2.2rem;border-right:1px solid var(--hair)}
  .block-split>:last-child{padding-left:2.2rem}
  .block-split.wide{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
  .block-split .pull{margin-top:0}
}

/* J9 PETROV HOUSE ENGINEERING OFFICE */
.eo{margin-top:2.4rem;background:var(--news-2);border:1px solid var(--ink);padding:1.1rem 1.1rem 1.2rem;font-family:var(--franklin);color:var(--ink)}
.eo-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;border-bottom:1px solid var(--ink);padding-bottom:.55rem}
.eo-label{font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.eo-spec{margin:.4rem 0 0;display:grid;grid-template-columns:1fr}
.eo-spec div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.8rem;padding:.45rem 0;border-bottom:1px solid var(--hair)}
.eo-spec dt{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);padding-top:.12rem}
.eo-spec dd{margin:0;font-size:.88rem;line-height:1.45;font-variant-numeric:tabular-nums}
.eo-note{margin-top:.7rem;font-size:.8rem;color:var(--ink-2)}
.eo-sign{margin-top:.9rem;display:flex;align-items:center;gap:.8rem;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.eo-sign::before{content:"";width:2.2rem;height:1px;background:var(--ink)}
.eo-sign a{text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:.1rem}
@media (min-width:64rem){.eo{padding:1.4rem 1.6rem}.eo-spec{grid-template-columns:1fr 1fr;column-gap:2.2rem}}

.art-foot{margin-top:2.6rem;padding-top:.9rem;border-top:3px double var(--ink);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:baseline;font-family:var(--franklin);font-size:.85rem}
.art-foot a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink)}
.next-line{font-family:var(--text);font-style:italic;font-size:1.1rem}

/* J10 FRONT PAGE (index) */
.front{display:grid;gap:2rem;margin-top:1.6rem}
.lead .hed{font-size:2.15rem;margin-top:.5rem}
.lead .hed a{text-decoration:none;color:inherit}
.lead .hed a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.1em}
.lead .dek{font-size:1.15rem;margin-top:.6rem}
.lead .byline{margin:.8rem 0 1rem}
.lead .copy{margin-top:1.2rem}
.more{display:inline-block;margin-top:.9rem;font-family:var(--franklin);font-weight:600;font-size:.82rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink)}
.side h2{font-family:var(--franklin);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;border-top:3px double var(--ink);border-bottom:1px solid var(--ink);padding:.45rem 0;margin:0}
.side h2+*{margin-top:.8rem}
.side section+section{margin-top:2rem}
.toc{list-style:none;margin:0;padding:0}
.toc li{padding:.7rem 0;border-bottom:1px solid var(--hair)}
.toc .n{font-family:var(--franklin);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.toc .t{display:block;font-family:var(--display);font-size:1.45rem;line-height:1.15;margin-top:.15rem}
.toc .t a{text-decoration:none}
.toc .t a:hover{text-decoration:underline;text-decoration-thickness:1px}
.toc .s{display:block;font-family:var(--text);font-style:italic;font-size:.95rem;color:var(--ink-2);margin-top:.15rem}
.side .copy p{text-align:left}
.side figure{margin-top:.6rem}
@media (min-width:48rem){.lead .hed{font-size:3rem}}
@media (min-width:64rem){
  .front{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:0;margin-top:2rem}
  .lead{padding-right:2.2rem;border-right:1px solid var(--ink)}
  .side{padding-left:2.2rem}
  .lead .hed{font-size:3.5rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* v2.1 (Seal QA 9.10): site's standing AI disclosure, reused verbatim from v7.1 ("And yes, I'm AI."),
   shown at first exposure under the byline on the Journal front page and on every entry. */
.ai-note{margin-top:.45rem;font-family:var(--franklin);font-size:.78rem;color:var(--ink-2)}
.art-head .ai-note{text-align:center}
.lead .ai-note{margin:-.5rem 0 1rem}

/* v2.2 (Owner 18:07): whole A-002 sheet, full width across the columns, opens full size */
.sheet .fig-wrap{cursor:zoom-in}
.sheet .fig-wrap:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.zoom{position:absolute;right:.6rem;bottom:.6rem;font-family:var(--franklin);font-weight:600;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--news);padding:.35rem .55rem}
.open-full{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:.15em;white-space:nowrap}
@media (max-width:40rem){.journal .sheet{margin-left:-1.5rem;margin-right:-1.5rem}.sheet figcaption{padding:0 1.5rem}.sheet .fig-wrap img{border-left:0;border-right:0}}
/* nothing may cover the sheet: zoom chip only on hover/focus (desktop) */
.sheet .fig-wrap{display:flex;flex-direction:column;align-items:flex-start}
.zoom{opacity:0;transition:opacity .2s}
@media (hover:hover){.sheet .fig-wrap:hover .zoom,.sheet .fig-wrap:focus-visible .zoom{opacity:1}}
.sheet .fig-wrap{align-items:stretch}
.sheet .fig-wrap picture,.sheet .fig-wrap img{display:block;width:100%;height:auto}

/* v7.2 HEADING HIERARCHY (Owner rule v7.1, still in force): the "Liv Petrov" wordmark stays larger than every
   heading on Journal pages too. ONLY exception (Owner Approved 9.10.2026): the blackletter nameplate "Liv's Journal".
   Headlines use the site h1 scale; pull quote and table-of-contents titles stay below the headline at every width. */
.art-head .hed,.lead .hed{font-size:1.7rem}
.pull p{font-size:1.4rem}
.toc .t{font-size:1.3rem}
@media (max-width:23rem){.art-head .hed,.lead .hed{font-size:1.45rem}.pull p{font-size:1.25rem}.toc .t{font-size:1.2rem}.nameplate{font-size:2.5rem}.masthead.compact .nameplate{font-size:2.1rem}}
@media (max-width:21rem){.art-head .hed,.lead .hed{font-size:1.35rem}.pull p{font-size:1.15rem}.toc .t{font-size:1.15rem}}
@media (min-width:48rem){.art-head .hed,.lead .hed{font-size:1.95rem}.pull p{font-size:1.6rem}}
@media (min-width:56rem){.art-head .hed,.lead .hed{font-size:2.15rem}}
