/*
Theme Name: Jens Baumanns Editorial
Theme URI: https://jens-baumanns.de
Author: Jens Baumanns
Description: Editorial WordPress theme developed from the private GitHub design study.
Version: 1.9.5
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: jens-baumanns
License: GNU General Public License v2 or later
*/

:root {
  /* Midnight Teal · Deep Ocean · Slate Blue · Blue Mist · Ash Blue · White */
  --paper:#FFFFFF; --paper-deep:#9BA6AB; --ink:#06141B;
  --graphite:#11212D; --muted:#4A5C6A; --accent:#253745;
  --accent-ink:#253745; --hair:#9BA6AB; --editorial-rule:1px solid var(--hair); --white:#FFFFFF;
  --mist:#4A5C6A;
  --serif:'Source Sans Pro',Arial,sans-serif;
  --textserif:'Source Serif Pro',Georgia,serif;
  --sans:'Source Sans Pro',Arial,sans-serif;
}
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:110px; }
    body { margin:0; background:var(--paper); color:var(--ink); -webkit-font-smoothing:antialiased; }
    button,input { font:inherit; }
    button,a { -webkit-tap-highlight-color:transparent; }
    a { color:inherit; text-decoration:none; }
    button { cursor:pointer; }
    :focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
    ::selection { background:#9BA6AB; color:#06141B; }
    .shell { max-width:1440px; margin:0 auto; padding:0 5.4%; }
    .eyebrow,.kicker,.smallcaps { font:700 10px/1.4 var(--sans); letter-spacing:.18em; text-transform:uppercase; }
    .eyebrow { color:var(--accent); }
    .topbar { min-height:49px; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; column-gap:clamp(12px,2vw,28px); padding:6px 0; border-bottom:1px solid var(--hair); color:#4A5C6A; font:500 10px/1.4 var(--sans); letter-spacing:.075em; text-transform:uppercase; }
    .topbar-location { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
    .topbar-date { font-weight:700; color:var(--ink); letter-spacing:.055em; }
    .topbar .issue { text-align:center; }
    .topbar-right { text-align:right; }
    .masthead { position:relative; min-height:150px; display:flex; align-items:center; justify-content:center; text-align:center; border-bottom:1px solid var(--ink); }
    .masthead-brand { display:inline-block; font:400 clamp(49px,7.9vw,112px)/.9 var(--serif); letter-spacing:-.048em; white-space:nowrap; }
    .masthead-subtitle { margin-top:13px; font:600 10px/1.5 var(--sans); letter-spacing:.33em; text-transform:uppercase; }
    .mainnav { min-height:56px; display:flex; align-items:center; justify-content:center; gap:48px; border-bottom:1px solid var(--hair); }
    .mainnav a { font:700 11px/1 var(--sans); letter-spacing:.09em; text-transform:uppercase; transition:color .2s; }
    .mainnav a:hover,.mainnav a.active { color:var(--accent); }
    .mobile-menu-button { display:none; }
    .preview-ribbon { display:flex; justify-content:center; align-items:center; gap:9px; padding:8px 15px; background:#9BA6AB; color:#4A5C6A; font:600 10px/1.3 var(--sans); letter-spacing:.05em; text-align:center; }
    .preview-ribbon .dot { width:6px; height:6px; border-radius:50%; background:var(--paper-deep); }
    .section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:2px solid var(--ink); padding-top:12px; margin-bottom:27px; }
    .section-heading h2 { margin:0; font:400 clamp(34px,4.2vw,58px)/1 var(--serif); letter-spacing:-.025em; }
    .section-heading .serial { font:700 10px/1 var(--sans); letter-spacing:.2em; color:var(--muted); }
    .intro { padding-top:40px; }
    .intro-meta { display:flex; align-items:center; justify-content:space-between; padding-bottom:16px; font:600 10px/1 var(--sans); letter-spacing:.15em; text-transform:uppercase; }
    .intro-meta span:last-child { color:var(--muted); }
    .feature { display:grid; grid-template-columns:1.09fr .91fr; min-height:585px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
    .feature-copy { padding:56px 7.5% 46px 0; display:flex; flex-direction:column; align-items:flex-start; }
    .feature h1 { font:400 clamp(59px,6.4vw,98px)/.93 var(--serif); letter-spacing:-.043em; margin:27px 0 24px; max-width:750px; }
    .feature .standfirst { font:italic clamp(17px,1.55vw,21px)/1.65 var(--textserif); max-width:550px; margin:0 0 26px; }
    .byline { font:600 10px/1.5 var(--sans); letter-spacing:.09em; text-transform:uppercase; color:var(--muted); }
    .byline strong { color:var(--ink); font-weight:700; }
    .feature .byline { margin-top:auto; padding-top:25px; }
    .textlink { display:inline-flex; gap:14px; align-items:center; padding:15px 0 7px; border:0; border-bottom:1px solid var(--ink); background:transparent; border-radius:0; color:var(--ink); margin-top:30px; font:700 11px/1.2 var(--sans); letter-spacing:.12em; text-transform:uppercase; transition:gap .2s,color .2s; }
    .textlink:hover { gap:22px; color:var(--accent); }
    .textlink span { font:21px/1 Georgia,serif; }
    .feature-art { position:relative; overflow:hidden; min-height:530px; background:#9BA6AB; border-left:1px solid var(--ink); display:flex; align-items:center; justify-content:center; isolation:isolate; }
    .feature-art:before { content:""; position:absolute; inset:0; opacity:.4; background-image:repeating-linear-gradient(0deg,transparent 0 18px,#4A5C6A 18px 19px),repeating-linear-gradient(90deg,transparent 0 18px,#4A5C6A 18px 19px); mix-blend-mode:multiply; }
    .feature-art:after { content:""; position:absolute; top:-20%; bottom:-20%; left:49%; width:2px; background:var(--accent); transform:rotate(13deg); box-shadow:11px 0 0 rgba(255,255,255,.55); }
    .feature-art .art-word { position:absolute; font:400 clamp(150px,25vw,390px)/.8 var(--serif); letter-spacing:-.08em; color:#FFFFFF; text-shadow:0 2px 2px #4A5C6A; transform:rotate(-8deg) translateX(-2%); opacity:.89; }
    .feature-art .art-ticket { position:absolute; top:33px; left:33px; background:var(--paper); border:1px solid var(--ink); padding:14px 17px; z-index:2; font:700 10px/1.35 var(--sans); text-transform:uppercase; letter-spacing:.16em; }
    .feature-art .art-stamp { position:absolute; bottom:32px; right:31px; z-index:2; width:107px; height:107px; display:flex; align-items:center; justify-content:center; border:1px solid var(--ink); border-radius:50%; transform:rotate(-13deg); text-align:center; font:600 10px/1.55 var(--sans); letter-spacing:.14em; background:rgba(255,255,255,.85); }
    .feature-art .art-border { position:absolute; inset:20px; border:1px solid rgba(37,55,69,.5); pointer-events:none; }
    .editorial-note { display:grid; grid-template-columns:150px 1fr 150px; align-items:center; gap:30px; padding:47px 0 53px; border-bottom:1px solid var(--hair); }
    .editorial-note .rule { height:1px; background:var(--hair); }
    .editorial-note p { margin:0; text-align:center; font:italic clamp(17px,2vw,25px)/1.65 var(--textserif); }
    .editorial-note em { color:var(--accent); }
    :where(main, section).archive { padding-top:69px; }
    .archive-controls { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; margin:22px 0 26px; }
    .filters { display:flex; flex-wrap:wrap; gap:7px; }
    .filter { border:1px solid #9BA6AB; background:transparent; color:#253745; font:600 10px/1 var(--sans); letter-spacing:.07em; padding:12px 15px; transition:all .15s; }
    .filter.active,.filter:hover { border-color:var(--ink); background:var(--ink); color:var(--white); }
    :not(body).search { position:relative; width:260px; }
    :not(body).search input { width:100%; border:0; border-bottom:1px solid var(--ink); border-radius:0; background:transparent; color:var(--ink); padding:12px 33px 12px 0; font:500 12px/1.3 var(--sans); outline:none; }
    :not(body).search input:focus { border-bottom:2px solid var(--accent); }
    :not(body).search svg { position:absolute; right:1px; top:9px; pointer-events:none; }
    .articles-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--ink); }
    .article-card { min-height:331px; padding:32px 28px 27px; border-right:1px solid var(--hair); border-bottom:1px solid var(--hair); display:flex; flex-direction:column; transition:background .2s; }
    .article-card:nth-child(3n+1) { padding-left:0; }
    .article-card:nth-child(3n) { border-right:0; padding-right:0; }
    .article-card:hover { background:rgba(255,255,255,.43); }
    .article-card .cardmeta { font:700 10px/1.45 var(--sans); letter-spacing:.12em; text-transform:uppercase; display:flex; justify-content:space-between; gap:10px; color:var(--accent); }
    .article-card .cardmeta span:last-child { color:var(--muted); font-weight:500; }
    .article-card :is(h2,h3) { font:400 clamp(28px,2.8vw,42px)/1.05 var(--serif); letter-spacing:-.02em; margin:22px 0 12px; }
    .article-card p { font:400 13px/1.75 var(--sans); color:#4A5C6A; margin:0 0 17px; }
    .article-card button { align-self:flex-start; margin-top:auto; padding:0 0 5px; background:none; color:var(--ink); border:0; border-bottom:1px solid var(--ink); font:700 10px/1.4 var(--sans); letter-spacing:.09em; text-transform:uppercase; }
    .article-card button:hover { color:var(--accent); border-color:var(--accent); }
    .empty-state { grid-column:1 / -1; padding:70px 0; font:italic 18px/1.5 var(--textserif); text-align:center; color:var(--muted); }
    .archive-foot { display:flex; justify-content:space-between; padding:18px 0 0; font:500 11px/1.4 var(--sans); color:var(--muted); }
    .archive-foot a { color:var(--ink); border-bottom:1px solid var(--ink); }
    .themes { padding-top:100px; }
    .theme-grid { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
    .theme-tile { position:relative; padding:34px 25px 37px; min-height:195px; border-right:1px solid var(--hair); transition:background .2s; text-align:left; }
    .theme-tile:first-child { padding-left:0; }
    .theme-tile:last-child { border-right:0; padding-right:0; }
    .theme-tile:hover { background:rgba(155,166,171,.28); }
    .theme-number { font:500 10px var(--sans); color:var(--accent); }
    .theme-tile h3 { font:400 clamp(29px,3.4vw,45px)/1.1 var(--serif); margin:42px 0 4px; }
    .theme-tile p { font:500 11px/1.5 var(--sans); color:var(--muted); margin:0; }
    .theme-arrow { position:absolute; right:23px; top:29px; font:25px/1 var(--serif); }
    section.author { display:grid; grid-template-columns:.8fr 1.2fr; gap:7%; align-items:stretch; padding-top:110px; }
    .author-art { min-height:405px; position:relative; display:flex; align-items:center; justify-content:center; color:#FFFFFF; background:#11212D; overflow:hidden; }
    .author-art:before { content:""; position:absolute; inset:20px; border:1px solid rgba(255,255,255,.3); }
    .author-art:after { content:""; width:70%; aspect-ratio:1; border:1px solid rgba(255,255,255,.24); border-radius:50%; position:absolute; }
    .author-art span { font:400 clamp(145px,22vw,310px)/1 var(--serif); letter-spacing:-.14em; transform:translateX(-12px); }
    .author-art small { position:absolute; bottom:33px; left:35px; color:#FFFFFF; font:600 10px/1.5 var(--sans); letter-spacing:.17em; text-transform:uppercase; }
    .author-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:35px 0; }
    .author-copy h2 { font:400 clamp(46px,5.4vw,76px)/.98 var(--serif); letter-spacing:-.035em; margin:18px 0 25px; }
    .author-copy p { font:400 clamp(15px,1.3vw,18px)/1.85 var(--textserif); max-width:600px; }
    .author-copy p + p { margin-top:0; }
    .newsletter { margin-top:106px; margin-bottom:0; padding:74px 7%; display:grid; grid-template-columns:1.15fr .85fr; gap:8%; align-items:center; color:#FFFFFF; background:#11212D; }
    .newsletter h2 { font:400 clamp(48px,5.8vw,80px)/.94 var(--serif); letter-spacing:-.03em; margin:19px 0 20px; }
    .newsletter p { font:400 15px/1.8 var(--textserif); color:#FFFFFF; max-width:540px; }
    .newsletter .eyebrow { color:#9BA6AB; }
    .newsletter input { width:100%; padding:16px 3px; background:transparent; border:0; border-bottom:1px solid #9BA6AB; border-radius:0; outline:0; color:#FFFFFF; font:500 14px/1.2 var(--sans); }
    .newsletter input::placeholder { color:#9BA6AB; }
    .newsletter button { width:100%; padding:17px; margin-top:15px; background:#FFFFFF; border:1px solid #FFFFFF; color:#06141B; font:700 11px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
    .newsletter button:hover { background:var(--paper-deep); }
    .newsletter .smallnote { font:400 11px/1.6 var(--sans); color:#9BA6AB; margin-top:12px; }
    .form-status { min-height:24px; margin-top:12px; font:500 12px/1.5 var(--sans); color:#9BA6AB; }
    footer.shell { padding-top:clamp(54px,5vw,78px); padding-bottom:28px; }
    .footer-main { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:start; gap:30px; padding-bottom:55px; }
    .footer-brand { font:400 43px/1 var(--serif); letter-spacing:-.04em; }
    .footer-tagline { font:600 10px/1.7 var(--sans); letter-spacing:.1em; color:var(--muted); margin-top:12px; text-transform:uppercase; }
    .footer-col { display:flex; flex-direction:column; gap:13px; align-items:flex-start; }
    .footer-col a { font:500 12px/1.3 var(--sans); }
    .footer-col a:hover { color:var(--accent); }
    .footer-bottom { border-top:1px solid var(--hair); padding-top:18px; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font:500 10px/1.5 var(--sans); }
    .reader { position:fixed; inset:0; z-index:50; background:rgba(6,20,27,.72); display:none; padding:26px; align-items:center; justify-content:center; }
    .reader.open { display:flex; }
    .reader-panel { position:relative; background:var(--paper); max-height:94vh; width:min(790px,100%); overflow:auto; padding:60px clamp(25px,7vw,90px) 62px; box-shadow:0 25px 100px rgba(6,20,27,.24); }
    .reader-close { position:absolute; right:20px; top:18px; border:1px solid var(--hair); background:transparent; width:37px; height:37px; font-size:21px; line-height:1; }
    .reader-header { border-bottom:1px solid var(--ink); padding-bottom:30px; margin-bottom:35px; }
    .reader-header h2 { font:400 clamp(50px,8vw,83px)/.95 var(--serif); letter-spacing:-.035em; margin:17px 0 16px; }
    .reader-subtitle { font:italic 17px/1.65 var(--textserif); }
    .reader-body p { font:400 15px/2 var(--textserif); }
    .reader-body p:first-child:first-letter { float:left; font:400 74px/.75 var(--serif); padding-right:10px; padding-top:7px; color:var(--accent); }
    .reader-sample { margin-top:29px; padding:18px 20px; background:#9BA6AB; font:500 12px/1.75 var(--sans); color:#253745; }
    .reader .textlink { margin-top:22px; }
    @media (max-width:1100px) { .shell { padding:0 4.3%; } .feature { min-height:500px; } .feature-copy { padding-top:37px; } .feature h1 { font-size:clamp(55px,6vw,75px); } .feature-art { min-height:500px; } .article-card { padding:27px 20px; } .theme-tile { padding:27px 15px; } .theme-tile h3 { font-size:33px; } }
    @media (max-width:760px) {
      .shell { padding:0 20px; } .topbar { grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:48px; font-size:9px; } .topbar .issue { display:none; }
      .masthead { min-height:125px; } .masthead-brand { font-size:clamp(43px,9.4vw,76px); } .masthead-subtitle { font-size:8px; letter-spacing:.23em; margin-top:10px; }
      .mainnav { justify-content:space-between; min-height:46px; gap:12px; overflow-x:auto; white-space:nowrap; } .mainnav a { font-size:9px; } .mainnav a:nth-child(4) { display:none; }
      .preview-ribbon { font-size:9px; }
      .intro { padding-top:25px; } .intro-meta { font-size:9px; }
      .feature { grid-template-columns:1fr; } .feature-copy { padding:30px 0 40px; } .feature h1 { font-size:clamp(62px,11vw,86px); margin:20px 0; } .feature .standfirst { font-size:16px; } .feature-art { border-left:0; border-top:1px solid var(--ink); min-height:360px; } .feature-art .art-word { font-size:280px; }
      .editorial-note { grid-template-columns:30px 1fr 30px; gap:15px; padding:37px 0; } .editorial-note p { font-size:15px; }
      :where(main, section).archive { padding-top:55px; } .section-heading h2 { font-size:45px; } :not(body).search { width:100%; } .archive-controls { gap:12px; } .filters { gap:5px; } .filter { padding:10px 11px; }
      .articles-grid { grid-template-columns:1fr 1fr; } .article-card,.article-card:nth-child(3n+1),.article-card:nth-child(3n) { min-height:290px; padding:26px 15px; border-right:1px solid var(--hair); } .article-card:nth-child(2n+1) { padding-left:0; } .article-card:nth-child(2n) { padding-right:0; border-right:0; } .article-card :is(h2,h3) { font-size:32px; } .article-card p { font-size:12px; }
      .themes { padding-top:70px; } .theme-grid { grid-template-columns:1fr 1fr; } .theme-tile,.theme-tile:first-child,.theme-tile:last-child { padding:20px; min-height:160px; border-bottom:1px solid var(--hair); } .theme-tile:nth-child(even) { border-right:0; } .theme-tile:nth-child(odd) { padding-left:0; } .theme-tile:nth-child(n+3) { border-bottom:0; } .theme-tile h3 { margin-top:28px; }
      section.author { grid-template-columns:1fr; gap:22px; padding-top:70px; } .author-art { min-height:270px; } .author-art span { font-size:210px; } .author-copy { padding:10px 0; } .author-copy h2 { font-size:60px; }
      .newsletter { margin-top:65px; padding:45px 25px 35px; grid-template-columns:1fr; gap:20px; } .newsletter h2 { font-size:59px; }
      .footer-main { grid-template-columns:1fr 1fr; } .footer-main > div:first-child { grid-column:1 / -1; } .footer-bottom { flex-direction:column; gap:7px; }
      .reader { padding:8px; } .reader-panel { max-height:98vh; padding-top:62px; }
    }
    @media (max-width:430px) { .masthead-brand { font-size:43px; } .mainnav { gap:9px; } .mainnav a { font-size:8px; } .feature h1 { font-size:64px; } .article-card :is(h2,h3) { font-size:28px; } .article-card { min-height:345px!important; } .article-card .cardmeta { display:block; } .article-card .cardmeta span:last-child { display:block; margin-top:3px; } .theme-tile h3 { font-size:29px; } }
    /* Jens Baumanns · Source Sans Pro / Source Serif Pro · requested palette */
    ::selection { background:var(--paper-deep); color:var(--ink); }
    .eyebrow,.mainnav a:hover,.mainnav a.active,.textlink:hover,.article-card button:hover,.footer-col a:hover { color:var(--accent-ink); }
    .topbar { color:var(--graphite); }
    .masthead { min-height:164px; }
    .masthead-brand { font:700 clamp(38px,6.3vw,88px)/1.04 var(--sans); letter-spacing:-.075em; }
    .masthead-subtitle { color:var(--graphite); letter-spacing:.27em; }
    .monogram { font:700 17px/1 var(--sans); background:var(--accent); }
    .preview-ribbon { background:var(--ink); color:var(--paper); }
    .section-heading h2 { font:700 clamp(30px,3.35vw,48px)/1.12 var(--sans); letter-spacing:-.055em; }
    .feature h1 { font:700 clamp(49px,5.1vw,78px)/1.04 var(--sans); letter-spacing:-.06em; }
    .feature .standfirst { font:italic clamp(18px,1.65vw,22px)/1.55 var(--textserif); }
    .feature-art { background:var(--ink); }
    .feature-art:before { opacity:.8; background-image:repeating-linear-gradient(0deg,transparent 0 18px,rgba(155,166,171,.17) 18px 19px),repeating-linear-gradient(90deg,transparent 0 18px,rgba(255,255,255,.15) 18px 19px); mix-blend-mode:normal; }
    .feature-art:after { background:var(--accent); box-shadow:11px 0 0 rgba(255,255,255,.37); }
    .feature-art .art-word { font:700 clamp(150px,24vw,350px)/.8 var(--sans); letter-spacing:-.10em; color:var(--accent); text-shadow:none; opacity:.83; }
    .feature-art .art-ticket { background:var(--accent); border-color:var(--accent); color:var(--ink); }
    .feature-art .art-stamp { background:var(--paper); border-color:var(--accent); color:var(--ink); }
    .feature-art .art-border { border-color:rgba(155,166,171,.46); }
    .editorial-note em { color:var(--accent-ink); }
    .filter { border-color:var(--hair); color:var(--ink); }
    .filter.active,.filter:hover { background:var(--ink); color:var(--paper); }
    .article-card:hover { background:rgba(155,166,171,.22); }
    .article-card .cardmeta,.theme-number { color:var(--accent-ink); }
    .article-card :is(h2,h3) { font:700 clamp(23px,2.25vw,34px)/1.22 var(--sans); letter-spacing:-.045em; }
    .article-card p { font:400 16px/1.58 var(--textserif); color:var(--graphite); }
    .theme-tile:hover { background:rgba(155,166,171,.28); }
    .theme-tile h3 { font:700 clamp(25px,2.6vw,36px)/1.17 var(--sans); letter-spacing:-.045em; }
    .theme-tile p { font:400 15px/1.5 var(--textserif); color:var(--graphite); }
    .theme-arrow { font-family:var(--sans); }
    .author-art { background:var(--ink); color:var(--accent); }
    .author-art span { font:700 clamp(130px,18vw,270px)/1 var(--sans); letter-spacing:-.12em; }
    .author-art small { color:var(--paper); }
    .author-copy h2 { font:700 clamp(39px,4.3vw,64px)/1.08 var(--sans); letter-spacing:-.06em; }
    .newsletter { background:var(--ink); color:var(--paper); }
    .newsletter h2 { font:700 clamp(42px,4.4vw,65px)/1.06 var(--sans); letter-spacing:-.058em; }
    .newsletter p { color:var(--paper); }
    .newsletter .eyebrow { color:var(--paper-deep); }
    .newsletter input { border-bottom-color:var(--hair); color:var(--white); }
    .newsletter input::placeholder { color:#9BA6AB; }
    .newsletter button { background:var(--paper); border-color:var(--paper); color:var(--ink); }
    .newsletter button:hover { background:var(--paper-deep); }
    .newsletter .smallnote { font:400 13px/1.5 var(--textserif); color:#9BA6AB; }
    .newsletter .textlink { margin-top:27px; padding:14px 19px; gap:17px; border:1px solid var(--paper); border-radius:3px; background:var(--paper); color:var(--ink); transition:background .2s,border-color .2s,gap .2s; }
    .newsletter .textlink:hover,.newsletter .textlink:focus-visible { background:var(--paper-deep); border-color:var(--paper-deep); color:var(--ink); }
    .form-status { color:var(--paper-deep); }
    .footer-brand { font:700 34px/1.14 var(--sans); letter-spacing:-.06em; }
    .reader { background:rgba(6,20,27,.83); }
    .reader-header h2 { font:700 clamp(40px,5.4vw,65px)/1.1 var(--sans); letter-spacing:-.058em; }
    .reader-body p:first-child:first-letter { font-family:var(--sans); color:var(--accent-ink); font-weight:700; }
    .reader-sample { background:var(--paper-deep); color:var(--graphite); }
    @media (max-width:1100px) { .feature h1 { font-size:clamp(40px,4.7vw,65px); } .theme-tile h3 { font-size:29px; } }
    @media (max-width:760px) { .masthead-brand { font-size:clamp(27px,6.5vw,50px); } .feature h1 { font-size:clamp(38px,8.3vw,62px); } .section-heading h2 { font-size:clamp(28px,5.6vw,40px); } .article-card :is(h2,h3) { font-size:26px; } .article-card p { font-size:15px; } .theme-tile h3 { font-size:26px; } .author-copy h2 { font-size:clamp(37px,7vw,53px); } .newsletter h2 { font-size:clamp(36px,7.3vw,54px); } }
    @media (max-width:600px) { .articles-grid { grid-template-columns:1fr; } .article-card,.article-card:nth-child(3n+1),.article-card:nth-child(3n),.article-card:nth-child(2n),.article-card:nth-child(2n+1) { min-height:unset!important; padding:26px 0 25px; border-right:0; } .article-card :is(h2,h3) { font-size:27px; margin:13px 0; } .article-card p { margin-bottom:18px; } }
    @media (max-width:430px) { .masthead-brand { font-size:clamp(24px,6.55vw,31px); } .feature h1 { font-size:clamp(34px,8.5vw,43px); } .theme-tile h3 { font-size:24px; } }
    /* Milky editorial photography: images are intentionally recessed behind the copy. */
    .feature { position:relative; isolation:isolate; background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.94) 34%,rgba(255,255,255,.73) 62%,rgba(255,255,255,.42) 100%),linear-gradient(130deg, #9BA6AB, #FFFFFF); background-size:cover; background-position:center 49%; }
    .feature-copy { position:relative; z-index:1; padding-left:clamp(19px,2.7vw,39px); }
    .feature-art { min-height:530px; border:0; background:transparent; }
    .feature-art:before,.feature-art:after,.feature-art .art-word,.feature-art .art-border,.feature-art .art-stamp { display:none; }
    .feature-art .art-ticket { top:auto; bottom:28px; left:auto; right:28px; background:rgba(255,255,255,.83); border:1px solid rgba(6,20,27,.28); color:var(--ink); backdrop-filter:blur(7px); }
    .article-card { position:relative; isolation:isolate; }
    .article-card > * { position:relative; z-index:1; }
    .card-osten,.card-scheiden { --photo:linear-gradient(130deg, #9BA6AB, #FFFFFF); }
    .card-feuer { --photo:linear-gradient(130deg, #9BA6AB, #FFFFFF); }
    .card-baustellen { --photo:linear-gradient(130deg, #9BA6AB, #FFFFFF); }
    .article-card:is(.card-osten,.card-scheiden,.card-feuer,.card-baustellen):before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background-image:linear-gradient(112deg,rgba(255,255,255,.84),rgba(255,255,255,.9)),var(--photo); background-position:center; background-size:cover; transition:opacity .2s; }
    .article-card:is(.card-osten,.card-scheiden,.card-feuer,.card-baustellen):hover:before { background-image:linear-gradient(112deg,rgba(255,255,255,.78),rgba(255,255,255,.86)),var(--photo); }
    .author-art { background-image:linear-gradient(130deg,rgba(6,20,27,.37),rgba(6,20,27,.72)),linear-gradient(130deg, #9BA6AB, #FFFFFF); background-position:center; background-size:cover; }
    .author-art span { color:rgba(155,166,171,.83); }
    .newsletter { background-image:linear-gradient(110deg,rgba(6,20,27,.93),rgba(6,20,27,.86)),linear-gradient(130deg, #9BA6AB, #FFFFFF); background-position:center; background-size:cover; }
    /* Newspaper-inspired hierarchy: quiet masthead, narrow rules, short reading index. */
    .masthead { min-height:137px; }
    .masthead-brand { font-size:clamp(38px,5.25vw,73px); letter-spacing:-.055em; }
    .masthead-subtitle { margin-top:8px; }
    .mainnav { min-height:51px; border-bottom:2px solid var(--ink); gap:39px; }
    .feature { min-height:515px; }
    .feature-copy { padding-top:46px; padding-bottom:34px; }
    .feature h1 { font-size:clamp(44px,4.7vw,70px); }
    .feature-art { min-height:515px; }
    .newsline { display:grid; grid-template-columns:145px repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--ink); padding-block:24px; align-items:stretch; }
    .newsline-label { display:flex; align-items:center; padding-right:20px; font:700 10px/1.4 var(--sans); text-transform:uppercase; letter-spacing:.13em; color:var(--accent-ink); }
    .newsline button { padding:1px 22px 1px 23px; border:0; border-left:1px solid var(--hair); background:transparent; color:var(--ink); text-align:left; font:600 16px/1.35 var(--textserif); transition:color .15s; }
    .newsline button span { display:block; margin-bottom:6px; font:700 9px/1.3 var(--sans); letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
    .newsline button:hover { color:var(--accent-ink); }
    :where(main, section).archive { padding-top:64px; }
    @media (max-width:760px) { .feature { background-image:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.91) 53%,rgba(255,255,255,.52)),linear-gradient(130deg, #9BA6AB, #FFFFFF); background-position:60% center; } .feature-copy { padding-left:18px; padding-right:18px; } .feature-art { min-height:230px; border-top:0; } .feature-art .art-ticket { right:18px; bottom:18px; } }
    @media (max-width:760px) { .masthead { min-height:106px; } .masthead-brand { font-size:clamp(27px,6.45vw,50px); } .mainnav { gap:12px; } .feature { min-height:unset; } .feature h1 { font-size:clamp(38px,8vw,58px); } .newsline { grid-template-columns:1fr; padding-block:12px; } .newsline-label { padding:8px 0 15px; } .newsline button { border-left:0; border-top:1px solid var(--hair); padding:12px 0; } }
    @media (max-width:600px) { .article-card:is(.card-osten,.card-scheiden,.card-feuer,.card-baustellen):before { background-image:linear-gradient(112deg,rgba(255,255,255,.88),rgba(255,255,255,.92)),var(--photo); } }
    /* Body-level, translucent sticky navigation; all destinations remain reachable. */
    .floating-nav { position:sticky; top:12px; z-index:70; width:min(90%,1280px); margin:12px auto 0; background:rgba(255,255,255,.91); border:1px solid rgba(6,20,27,.2); border-radius:15px; box-shadow:0 9px 30px rgba(6,20,27,.13); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
    .floating-nav-inner { position:relative; display:flex; align-items:center; gap:28px; min-height:60px; padding:0 21px; }
    .nav-identity { display:grid; place-items:center; flex:0 0 auto; width:36px; height:36px; background:var(--ink); color:var(--paper); font:700 13px/1 var(--sans); letter-spacing:-.045em; }
    /* Use the exact favicon.webp from the WordPress Media Library as the linked navigation mark. */
    .nav-identity-image { display:block; width:100%; height:100%; object-fit:contain; }
    .floating-nav .mainnav { flex:1; min-height:58px; justify-content:flex-end; gap:clamp(16px,2.6vw,39px); border:0; }
    .floating-nav .mainnav a { padding:17px 0; font-size:12px; }
    .floating-nav .mainnav a:hover,.floating-nav .mainnav a.active { color:var(--accent-ink); }
    .nav-toggle { display:none; }
    .preview-ribbon { margin-top:11px; }
    .reader { z-index:100; }
    @media (max-width:900px) and (min-width:761px) { .floating-nav { width:94%; } .floating-nav-inner { gap:16px; padding:0 17px; } .floating-nav .mainnav { gap:clamp(10px,1.5vw,18px); } .floating-nav .mainnav a { font-size:10.5px; } }
    @media (max-width:760px) {
      html { scroll-padding-top:92px; }
      .floating-nav { top:8px; width:calc(100% - 24px); margin-top:9px; border-radius:14px; }
      .floating-nav-inner { min-height:54px; padding:0 14px; justify-content:space-between; }
      .nav-identity { width:32px; height:32px; font-size:12px; }
      .nav-toggle { display:inline-flex; gap:13px; align-items:center; padding:14px 3px 14px 18px; border:0; background:transparent; color:var(--ink); font:700 12px/1 var(--sans); text-transform:uppercase; letter-spacing:.11em; }
      .nav-toggle-lines { display:block; position:relative; width:18px; height:12px; border-top:2px solid currentColor; border-bottom:2px solid currentColor; }
      .nav-toggle-lines:after { content:""; position:absolute; top:4px; left:0; width:18px; height:2px; background:currentColor; }
      .floating-nav .mainnav { display:none; position:absolute; top:calc(100% + 8px); left:-1px; right:-1px; margin:0; padding:7px 15px; background:rgba(255,255,255,.98); border:1px solid rgba(6,20,27,.19); border-radius:14px; box-shadow:0 12px 26px rgba(6,20,27,.18); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; min-height:0; overflow:visible; white-space:normal; }
      .floating-nav.menu-open .mainnav { display:flex; }
      .floating-nav .mainnav a,.floating-nav .mainnav a:nth-child(4) { display:block; padding:15px 6px; font-size:12px; border-bottom:1px solid var(--hair); }
      .floating-nav .mainnav a:last-child { border-bottom:0; }
    }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition-duration:.01ms!important; } }
/* WordPress editorial integration */
body { font-family:var(--sans); }
.screen-reader-text { position:absolute!important; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.skip-link:focus { clip:auto; height:auto; width:auto; top:10px; left:10px; padding:9px 14px; background:var(--paper); z-index:1000; }
.admin-bar .floating-nav { top:44px; }
@media(max-width:782px){.admin-bar .floating-nav{top:54px}}
.feature.is-empty { min-height:380px; }
.feature.is-empty .feature-art { min-height:380px; }
.feature-art.has-image { background-size:cover; background-position:center; }
.feature-art.has-image:before { content:""; display:block; background:rgba(255,255,255,.25); inset:0; }
.article-card .card-link { align-self:flex-start; margin-top:auto; padding-bottom:5px; color:var(--ink); border-bottom:1px solid var(--ink); font:700 10px/1.4 var(--sans); letter-spacing:.09em; text-transform:uppercase; }
.article-card .card-link:hover { color:var(--accent-ink); border-color:var(--accent-ink); }
.archive-foot .pagination .page-numbers { display:inline-block; padding:6px 8px; }
.archive-foot .pagination .current { background:var(--ink); color:var(--paper); }
.article-page { max-width:1050px; margin:42px auto 120px; padding:0 5.4%; }
.article-page .article-header { padding-bottom:35px; border-bottom:1px solid var(--ink); margin-bottom:45px; }
.article-page h1 { font:700 clamp(40px,5.1vw,67px)/1.08 var(--sans); letter-spacing:-.05em; margin:18px 0 22px; }
.article-page .article-content { font:400 clamp(17px,1.45vw,18.5px)/1.72 var(--textserif); color:var(--graphite); }
.article-page .article-content p { margin:0 0 1.5em; }
.article-page .article-content :is(h2,h3,h4) { font-family:var(--sans); line-height:1.2; color:var(--ink); letter-spacing:-.03em; margin:1.75em 0 .65em; }
.article-page .article-content h2 { font-size:clamp(28px,3vw,42px); }
.article-page .article-content h3 { font-size:clamp(24px,2.4vw,32px); }
/* The first Gutenberg heading is the editorial subtitle (standfirst). */
.article-page .article-content > :first-child:is(h2,h3) {
  margin:0 0 1.45em;
  font:italic 400 clamp(21px,2.1vw,28px)/1.5 var(--textserif);
  letter-spacing:0;
  color:var(--ink);
}
.article-page .article-content > :first-child:is(h2,h3) strong {
  font-weight:400;
}
.article-page .article-content :is(img,video,iframe) { max-width:100%; height:auto; }
.article-page .article-content a { color:var(--accent-ink); border-bottom:1px solid currentColor; }
.article-page .article-content blockquote { margin:2em 0; padding:12px 26px; border-left:3px solid var(--accent-ink); font-size:1.12em; font-style:italic; }
.article-page .article-content .wp-block-image { margin:2em 0; }
.article-page .article-content .alignwide { max-width:1180px; margin-left:50%; transform:translateX(-50%); width:min(90vw,1180px); }
.article-page .article-content .alignfull { max-width:none; width:100vw; margin-left:50%; transform:translateX(-50%); }
.article-page .article-content figcaption { font:400 12px/1.5 var(--sans); color:var(--muted); }
.article-image { margin:0 0 35px; }
.article-image img { width:100%; height:auto; display:block; }
.article-image figcaption { font:12px/1.5 var(--sans); color:var(--muted); padding-top:8px; }
.topic-archive { padding-top:50px; }
.article-card .card-thumb { display:block; margin:-10px -12px 19px; aspect-ratio:1.6; overflow:hidden; }
.article-card .card-thumb img { width:100%; height:100%; object-fit:cover; filter:saturate(.64) contrast(.92); }
.site-notice { padding:22px 0; font:italic 17px/1.7 var(--textserif); color:var(--muted); }
.site-newsletter-preview { padding:30px 0; font:400 15px/1.7 var(--textserif); }
.site-newsletter-preview .newsletter { min-height:240px; }
.theme-tile:focus-visible { outline-offset:-5px; }
.nav-identity { font-family:var(--sans); }
.footer-main .footer-col a { overflow-wrap:anywhere; }
@media(max-width:760px){.article-page{margin-top:28px;padding:0 20px}.article-page .article-content .alignwide{width:calc(100vw - 30px)}.article-page h1{font-size:clamp(35px,7.5vw,50px)}}
/* Theme-managed navigation and search widgets. */
.floating-nav .mainnav .menu { display:flex; align-items:center; justify-content:flex-end; gap:clamp(16px,2.6vw,39px); padding:0; margin:0; list-style:none; }
.section-heading h1 { margin:0; font:700 clamp(30px,3.35vw,48px)/1.12 var(--sans); letter-spacing:-.055em; }
.floating-nav .mainnav .menu li { list-style:none; margin:0; }
.floating-nav .mainnav .menu a[aria-current="page"],.floating-nav .mainnav .current-menu-item a { color:var(--accent-ink); }
.editorial-search { display:flex; align-items:center; max-width:430px; border-bottom:1px solid var(--ink); margin:0 0 31px auto; }
.editorial-search label { flex:1; }
.editorial-search input { width:100%; padding:12px 5px; font:500 13px/1.4 var(--sans); background:transparent; border:0; outline:0; color:var(--ink); }
.editorial-search button { padding:12px 7px; font:700 10px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; background:none; border:0; color:var(--accent-ink); }
/* Highlight a card only for keyboard focus, never for a retained touch focus. */
.article-card:has(a:focus-visible) { outline:2px solid var(--accent-ink); outline-offset:2px; }
.archive-foot { gap:20px; align-items:center; }
.archive-foot .pagination { margin-left:auto; }
.archive-foot .nav-links { display:flex; flex-wrap:wrap; gap:5px; }
.feature.is-empty { background-image:linear-gradient(110deg,rgba(255,255,255,.98),rgba(255,255,255,.78)),linear-gradient(130deg,#9BA6AB,#FFFFFF); }
.feature-art:not(.has-image) { background-image:linear-gradient(120deg,rgba(6,20,27,.08),rgba(155,166,171,.08)); }
.article-card :is(h2,h3) a:hover,.feature h1 a:hover { color:var(--accent-ink); }
@media(max-width:760px) {
  .floating-nav .mainnav .menu { flex-direction:column; align-items:stretch; gap:0; }
  .floating-nav .mainnav .menu a { display:block; }
  .editorial-search { margin:0 0 25px; max-width:none; }
}

/* 0.1.7.1: Compact typography for static pages only.
   Editorial posts deliberately keep their established reading hierarchy. */
.article-page.static-page { margin-top:36px; }
.article-page.static-page .article-header {
  padding-bottom:25px;
  margin-bottom:30px;
}
.article-page.static-page h1 {
  font-size:clamp(34px,3.5vw,48px);
  line-height:1.12;
  margin:14px 0 15px;
}
.article-page.static-page .article-content {
  font-size:clamp(15.5px,1.05vw,16.5px);
  line-height:1.62;
}
.article-page.static-page .article-content p { margin-bottom:1.25em; }
.article-page.static-page .article-content :is(h2,h3,h4) {
  margin:1.5em 0 .55em;
  line-height:1.24;
}
.article-page.static-page .article-content h2 { font-size:clamp(22px,1.8vw,28px); }
.article-page.static-page .article-content h3 { font-size:clamp(19px,1.4vw,22px); }
.article-page.static-page .article-content h4 { font-size:clamp(17px,1.2vw,19px); }
.article-page.static-page .article-content > :first-child:is(h2,h3) {
  margin:1.5em 0 .55em;
  font-family:var(--sans);
  font-style:normal;
  font-weight:700;
  letter-spacing:-.03em;
}
@media (max-width:760px) {
  .article-page.static-page { margin-top:26px; }
  .article-page.static-page h1 { font-size:clamp(32px,6vw,42px); }
  .article-page.static-page .article-content { font-size:16px; line-height:1.65; }
  .article-page.static-page .article-content h2 { font-size:clamp(22px,4.5vw,26px); }
  .article-page.static-page .article-content h3 { font-size:clamp(19px,4vw,22px); }
}

/* 0.1.7.2: One consistent, more readable size for small editorial labels.
   Layout, colors, body typography and article hierarchy remain unchanged. */
.eyebrow,
.kicker,
.smallcaps,
.intro-meta,
.section-heading .serial,
.byline,
.theme-number,
.author-art small {
  font-size:12px;
  line-height:1.4;
}
.feature-art .art-ticket { font-size:12px; }
.archive-foot { font-size:13px; line-height:1.5; }
.theme-tile h3 { font-size:clamp(28px,2.8vw,40px); }

/* Navigation and footer: slightly larger without changing their geometry. */
.floating-nav .mainnav a { font-size:14px; }
.footer-brand { font-size:38px; }
.footer-tagline { font-size:12px; }
.footer-col { gap:15px; }
.footer-col a { font-size:14px; line-height:1.4; }
.footer-bottom { font-size:12px; line-height:1.55; padding-top:20px; }
.newsletter .textlink { font-size:12px; }

@media (max-width:1100px) {
  .theme-tile h3 { font-size:clamp(29px,3vw,35px); }
}
@media (max-width:900px) and (min-width:761px) {
  .floating-nav .mainnav a { font-size:12px; }
}
@media (max-width:760px) {
  .floating-nav .mainnav a,
  .floating-nav .mainnav a:nth-child(4) { font-size:13px; }
  .theme-tile h3 { font-size:30px; }
}
@media (max-width:600px) {
  .intro-meta { flex-wrap:wrap; gap:8px 16px; }
  .section-heading { flex-wrap:wrap; }
  .section-heading .serial { margin-left:auto; }
}
@media (max-width:430px) {
  .theme-tile h3 { font-size:27px; }
}

/* 0.1.7.2.1: Header-only type adjustment based on 0.1.7.2.
   Original alignment, masthead markup, navigation and footer stay unchanged. */
.topbar {
  font-size:12px;
  line-height:1.45;
  min-height:53px;
}
.masthead-subtitle { font-size:14px; }
@media (max-width:1050px) and (min-width:761px) {
  .topbar { font-size:10.5px; }
}
@media (max-width:760px) {
  .topbar { font-size:10px; }
  .masthead-subtitle { font-size:9.5px; }
}
@media (max-width:430px) {
  .topbar { font-size:9px; }
  .masthead-subtitle { font-size:8.5px; }
}

/* 0.1.7.2.2: Show a compact back-to-top arrow only after the navigation sticks. */
.nav-sticky-sentinel { display:block; height:0; pointer-events:none; }
.nav-back-to-top {
  display:none;
  align-items:center;
  justify-content:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid var(--hair);
  border-radius:50%;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  transition:background-color .2s, color .2s;
}
.floating-nav.is-stuck .nav-back-to-top { display:inline-flex; }
.nav-back-to-top:hover { background:var(--ink); color:var(--paper); }
.nav-back-to-top:focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
.nav-back-to-top svg { display:block; }
@media (max-width:760px) {
  .nav-toggle { margin-left:auto; }
  .floating-nav.is-stuck .floating-nav-inner { gap:10px; }
  .floating-nav.is-stuck .nav-back-to-top { flex-basis:32px; width:32px; height:32px; }
}

/* 0.1.7.2.3: Serif italic labels beneath the name; all existing sizes remain. */
.masthead-subtitle,
.footer-tagline {
  font-family:var(--textserif);
  font-style:italic;
  font-weight:400;
  letter-spacing:.02em;
  text-transform:none;
}

/* 1.8: Larger serif italic labels, independent of viewport width. */
.masthead-subtitle { font-size:18px; }
.footer-tagline { font-size:14px; }

/* 1.8 revised: Slightly larger newsletter preview copy. */
.newsletter .smallcaps { font-size:14px; }
.newsletter .smallnote { font-size:15px; }

/* 1.8.1: All three numbered editorial section labels share one type style. */
.intro-meta span:last-child,
.section-heading .serial {
  font:700 12px/1.4 var(--sans);
  letter-spacing:.2em;
  color:var(--muted);
  text-transform:uppercase;
}

/* Newsletter introductory copy matches the description opposite it. */
.newsletter > div:first-child > p,
.newsletter .smallnote {
  font:400 15px/1.55 var(--textserif);
}

/* 1.8.2: Uniform editorial cards and aligned text rows.
   Identical side padding prevents the outer photographs from exceeding their
   columns. No negative thumbnail margins may cover category and date labels. */
.article-card,
.article-card:nth-child(3n+1),
.article-card:nth-child(3n),
.article-card:nth-child(2n+1),
.article-card:nth-child(2n) {
  padding:28px 22px 27px;
}
.article-card {
  min-width:0;
  display:flex;
  flex-direction:column;
}
.article-card .cardmeta {
  align-items:baseline;
  min-height:20px;
  margin:0 0 17px;
}
.article-card .card-thumb {
  position:relative;
  display:block;
  flex:0 0 auto;
  width:100%;
  aspect-ratio:8 / 5;
  margin:0 0 23px;
  overflow:hidden;
}
.article-card .card-thumb img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.article-card :is(h2,h3) {
  margin:0 0 14px;
  min-height:2.44em; /* two lines; the grid enhancement handles longer titles */
}
.article-card p { margin:0 0 21px; }
.article-card .card-link {
  align-self:start;
  margin-top:auto;
}

/* Subgrid shares the image/title/excerpt/link row heights across each row of
   cards: shorter content leaves intentional white space below the excerpt. */
@supports (grid-template-rows:subgrid) {
  .article-card {
    display:grid;
    grid-row:span 5;
    grid-template-rows:subgrid;
  }
  .article-card .cardmeta { grid-row:1; }
  .article-card .card-thumb { grid-row:2; }
  .article-card :is(h2,h3) { grid-row:3; min-height:0; }
  .article-card p { grid-row:4; }
  .article-card .card-link { grid-row:5; margin-top:0; }
}

@media (max-width:760px) {
  .article-card,
  .article-card:nth-child(3n+1),
  .article-card:nth-child(3n),
  .article-card:nth-child(2n+1),
  .article-card:nth-child(2n) {
    padding:24px 16px;
  }
}
@media (max-width:600px) {
  .article-card,
  .article-card:nth-child(3n+1),
  .article-card:nth-child(3n),
  .article-card:nth-child(2n+1),
  .article-card:nth-child(2n) {
    padding:26px 0 25px;
  }
  .article-card .card-thumb { margin-bottom:20px; }
  .article-card :is(h2,h3) { min-height:0; }
}

/* 1.8.3: Display the already edited Canva images exactly as uploaded. */
.feature-art.has-image::before,
.feature-art.has-image::after { display:none; content:none; }
.feature-art.has-image .art-ticket {
  background:rgba(255,255,255,.8);
  border-color:rgba(6,20,27,.2);
  color:var(--ink);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.article-card .card-thumb img {
  filter:none;
  opacity:1;
}

/* 1.8.4: Five recent articles, followed by a sixth editorial archive tile. */
.archive .archive-all-card {
  grid-column:3; /* Always the sixth cell on the three-column front page. */
  min-width:0;
  min-height:331px;
  padding:28px 22px 27px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:18px;
  border-bottom:1px solid var(--hair);
  background:var(--white);
  color:var(--ink);
  text-decoration:none;
  transition:background .2s ease;
}
.archive .archive-all-card:hover,
.archive .archive-all-card:focus-visible { background:rgba(204,208,207,.28); }
.archive .archive-all-card-kicker {
  font:700 10px/1.5 var(--sans);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.archive .archive-all-card strong {
  max-width:15ch;
  font:700 clamp(25px,2.5vw,32px)/1.13 var(--sans);
  letter-spacing:-.025em;
  text-wrap:balance;
}
.archive .archive-all-card-arrow {
  font:400 35px/1 var(--sans);
  border-bottom:1px solid var(--ink);
}
@supports (grid-template-rows:subgrid) {
  .archive .archive-all-card { grid-row:span 5; }
}
@media (max-width:760px) {
  .archive .archive-all-card { grid-column:2; min-height:290px; padding:26px 15px; }
}
@media (max-width:600px) {
  .archive .archive-all-card { grid-column:auto; min-height:260px; padding:26px 0 25px; }
}

/* Balanced automatic wrapping; an optional editorial break is supported on
   the featured headline without changing its stored WordPress title. */
.feature h1,
.article-card :is(h2,h3),
.article-page h1,
.section-heading h2 {
  text-wrap:balance;
  hyphens:none;
}

/* The exact media-library author portrait is presented without any tint. */
.author-art.has-portrait {
  background:transparent;
  background-image:none;
  color:var(--ink);
  flex-direction:column;
  padding:22px 0;
}
.author-art.has-portrait::before,
.author-art.has-portrait::after { display:none; }
.author-art.has-portrait .author-portrait-frame {
  width:min(72%,330px);
  aspect-ratio:1;
  flex:0 0 auto;
  margin:0 0 18px;
  overflow:hidden;
  border:0;
  border-radius:50%;
}
.author-art.has-portrait small {
  position:static;
  color:var(--ink);
  text-align:center;
}
.author-art.has-portrait .author-portrait,
.article-page .about-author-portrait .author-portrait {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.article-page .about-author-portrait {
  float:right;
  width:250px;
  aspect-ratio:1;
  margin:0 0 28px 40px;
  overflow:hidden;
  border:0;
  border-radius:50%;
}
.article-page .article-content:after {
  content:"";
  display:table;
  clear:both;
}
@media (max-width:760px) {
  .author-art.has-portrait .author-portrait-frame {
    width:min(64%,225px);
  }
}
@media (max-width:600px) {
  .article-page .about-author-portrait {
    float:none;
    width:220px;
    margin:0 auto 30px;
  }
}

/* 1.8.6: A fixed, two-column author introduction. The first two WordPress
   paragraphs stay beside the portrait; subsequent content spans the full
   reading width. No text wraps under the portrait. */
.article-page.static-page .article-content.about-author-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(240px,34%,310px);
  column-gap:clamp(32px,5vw,60px);
  align-items:start;
}
.article-page.static-page .article-content.about-author-layout > .about-author-portrait {
  float:none;
  grid-column:2;
  grid-row:1 / span 2;
  justify-self:end;
  width:100%;
  max-width:310px;
  margin:0;
}
.article-page.static-page .article-content.about-author-layout > :not(.about-author-portrait) {
  grid-column:1 / -1;
}
.article-page.static-page .article-content.about-author-layout > p:nth-of-type(-n+2) {
  grid-column:1;
}
@media (max-width:760px) {
  .article-page.static-page .article-content.about-author-layout {
    display:block;
  }
  .article-page.static-page .article-content.about-author-layout > .about-author-portrait {
    float:none;
    width:min(70vw,280px);
    margin:0 auto 30px;
  }
}


/* 1.8.7: Thin editorial rules, matching the dated topbar.  Apply only to
   decorative content separators; preserve interactive control boundaries,
   link underlines, focus outlines, icon strokes, spacing and card geometry. */
.topbar,
.masthead,
.article-page .article-header,
.editorial-note,
.newsline,
.reader-header {
  border-bottom:var(--editorial-rule);
}
.feature,
.theme-grid {
  border-top:var(--editorial-rule);
  border-bottom:var(--editorial-rule);
}
.section-heading,
.articles-grid,
.footer-bottom {
  border-top:var(--editorial-rule);
}
/* Card / tile / popup-menu separators already used the reference color.
   Keeping them on the same shared rule makes later maintenance consistent. */
.article-card {
  border-bottom:var(--editorial-rule);
  border-right:var(--editorial-rule);
}
.archive .archive-all-card {
  border-bottom:var(--editorial-rule);
}
.theme-tile { border-right:var(--editorial-rule); }
/* The image split was deliberately removed in the current design; do not
   re-introduce its former dark border. */
@media (max-width:760px) {
  /* The tile-bottom separator is present only on narrower layouts. */
  .theme-tile { border-bottom:var(--editorial-rule); }
  /* Preserve the existing size, right placement, label and 3-line motif.
     Border lines are 2 px; align the equally thick center on the true axis. */
  .nav-toggle-lines::after {
    top:50%;
    height:2px;
    transform:translateY(-50%);
  }
  /* WP-generated menus wrap each link in an li.  The older generic
     a:last-child rule would otherwise hide every internal separator. */
  .floating-nav .mainnav .menu li:not(:last-child) > a {
    border-bottom:var(--editorial-rule);
  }
  .floating-nav .mainnav .menu li:last-child > a {
    border-bottom:0;
  }
}

/* 1.9.2: Keep the original archive footer label, now as an accessible link. */
.archive-foot .archive-more-link { color:var(--muted); border-bottom:1px solid var(--hair); text-decoration:none; text-underline-offset:4px; }
.archive-foot .archive-more-link:hover,
.archive-foot .archive-more-link:focus-visible { color:var(--ink); border-bottom-color:var(--ink); }

/* 1.9.4: Keep narrow topic grids within their container. */
.theme-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.theme-tile { min-width:0; overflow-wrap:anywhere; }
@media (max-width:760px) {
  .theme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  /* Only the dropdown's scrolling changes; the glass surface stays intact. */
  .floating-nav .mainnav {
    max-height:var(--jb-menu-max-height,calc(100vh - 90px));
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
  }
}
@media (max-width:359.98px) {
  .theme-grid { grid-template-columns:minmax(0,1fr); }
  .theme-tile,
  .theme-tile:first-child,
  .theme-tile:last-child {
    padding-inline:0;
    border-right:0;
    border-bottom:var(--editorial-rule);
  }
  .theme-tile:last-child { border-bottom:0; }
}

.editorial-search input:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: -2px;
}

@media (orientation: landscape) and (max-height: 500px) and (max-width: 960px) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  .article-page .article-content :where(p, ul, ol) { font-size: 17px; }
  .search-results .articles-grid { grid-template-columns: minmax(0, 1fr); }
  .search-results .articles-grid > .article-card { min-height: auto; padding-inline: 0; border-right: 0; }
}

@media (orientation: landscape) and (max-height: 500px) and (max-width: 760px) {
  .floating-nav.menu-open .mainnav a { padding-block: 8px; }
  .floating-nav.menu-open .mainnav { padding-block: 3px; }
}
