/*
Theme Name: ThrivePostForge Cyanotype
Theme URI: https://thrivepostforge.com/
Author: ThrivePostForge
Description: A premium business-news publication built as a photographic cyanotype contact sheet: Prussian exposure depths, brushed coating edges, solid photogram silhouettes, natural-image news photography and negative-print dark mode.
Version: 1.1.2
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: thrivepostforge
Domain Path: /languages
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: news, blog, custom-menu, featured-images, threaded-comments, translation-ready, rtl-language-support
*/

/* =========================================================
STEP 0A — CSS TOKEN BLOCK
Cyanotype exposure system. Hierarchy is exposure depth, never extra color.
========================================================= */
:root{
  --tpf-e0:#F2F4F0;
  --tpf-e1:#A9C3D6;
  --tpf-e2:#5E8FB0;
  --tpf-e3:#2C5A80;
  --tpf-e4:#12314B;
  --tpf-e5:#0A1E30;
  --tpf-sepia:#7A5A3C;
  --tpf-paper-white:#F2F4F0;
  --tpf-wash-opacity:.03;
  --tpf-streak-opacity:.03;
  --tpf-halo-opacity:.04;
  --tpf-edge-bleed:12px;
  --tpf-edge-safe:36px;
  --tpf-ladder-1:#A9C3D6;
  --tpf-ladder-2:#5E8FB0;
  --tpf-ladder-3:#2C5A80;
  --tpf-ladder-4:#12314B;
  --tpf-ladder-5:#0A1E30;
  --tpf-container:1440px;
  --tpf-reading:900px;
  --tpf-breakout:1160px;
  --tpf-header-expanded:84px;
  --tpf-header-compact:58px;
  --tpf-display:Arial,Helvetica,"Nimbus Sans",sans-serif;
  --tpf-body:Arial,Helvetica,"Nimbus Sans",sans-serif;
  --tpf-mono:"Courier New",Courier,monospace;
}

/* =========================================================
STEP 0B — THREE KEY TECHNIQUES
1) BRUSHED WASH EDGE
Four deterministic 8–14-point-ish silhouettes + 12px mask fade.
Fallback: flat straight edge. No JS randomization.
========================================================= */
.tpf-wash{position:relative;overflow:hidden;isolation:isolate}
.tpf-wash>*{position:relative;z-index:1}
@supports (clip-path:polygon(0 0,100% 0,100% 100%,0 100%)){
  .tpf-wash-1{clip-path:polygon(.7% 2.1%,14% .7%,29% 1.8%,47% .5%,65% 1.6%,82% .6%,99.1% 1.9%,98.5% 29%,99.3% 57%,98.6% 82%,99.1% 98.4%,72% 99.1%,49% 98.1%,25% 99.3%,.8% 98.2%,1.4% 72%,.6% 39%)}
  .tpf-wash-2{clip-path:polygon(1.2% .8%,17% 2%,34% .5%,51% 1.7%,68% .4%,86% 1.6%,98.8% .8%,99.4% 35%,98.4% 66%,99.2% 98.8%,74% 98.2%,55% 99.4%,31% 98.4%,1.1% 99.1%,.5% 63%,1.5% 27%)}
  .tpf-wash-3{clip-path:polygon(.5% 1.8%,13% .4%,32% 1.5%,48% .3%,67% 1.9%,84% .5%,99.4% 1.3%,98.6% 24%,99.5% 52%,98.7% 78%,99.2% 99.2%,77% 98.4%,53% 99.5%,30% 98.3%,.5% 99.1%,1.3% 69%,.4% 36%)}
  .tpf-wash-4{clip-path:polygon(1% .5%,18% 1.9%,36% .6%,54% 1.6%,73% .3%,90% 1.8%,99% .7%,98.4% 31%,99.4% 61%,98.5% 88%,99.2% 98.5%,69% 99.4%,45% 98.2%,21% 99.1%,.9% 98.4%,1.5% 58%,.6% 23%)}
}
@supports (mask-image:linear-gradient(#000,#000)){
  .tpf-wash{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--tpf-edge-bleed),#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%),linear-gradient(to bottom,transparent 0,#000 var(--tpf-edge-bleed),#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 var(--tpf-edge-bleed),#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%),linear-gradient(to bottom,transparent 0,#000 var(--tpf-edge-bleed),#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%);mask-composite:intersect}
  .tpf-site-header.tpf-wash{-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%)}
  .tpf-site-footer.tpf-wash{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--tpf-edge-bleed),#000 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 var(--tpf-edge-bleed),#000 100%)}
}
@supports (-webkit-mask-image:linear-gradient(#000,#000)){
  .tpf-wash{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--tpf-edge-bleed),#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%),linear-gradient(to bottom,transparent 0,#000 var(--tpf-edge-bleed),#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%);-webkit-mask-composite:source-in}
}

/* 2) PHOTOGRAM SILHOUETTE — solid masked object + tiny contact halo. */
.tpf-silhouette{display:inline-block;width:32px;height:32px;fill:var(--tpf-e0);vertical-align:middle;filter:drop-shadow(0 0 1px rgba(169,195,214,var(--tpf-halo-opacity)));shape-rendering:geometricPrecision}
.tpf-silhouette-small{width:17px;height:17px}.tpf-silhouette-large{width:38px;height:38px}.tpf-silhouette-hero{width:74px;height:74px}
.tpf-e0 .tpf-silhouette,.tpf-e1 .tpf-silhouette,.tpf-e2 .tpf-silhouette{fill:var(--tpf-e5);filter:drop-shadow(0 0 1px rgba(94,143,176,var(--tpf-halo-opacity)))}

/* 3) EXPOSURE LADDER STRIP — discrete chemistry, never a gradient. */
.tpf-mini-ladder,.tpf-footer-ladder,.tpf-ladder-legend{display:flex;align-items:stretch;gap:0}
.tpf-mini-ladder span,.tpf-footer-ladder span{display:block;width:32px;height:8px}
.tpf-ladder-legend{gap:8px;align-items:flex-start;flex-wrap:wrap;margin:0 0 22px}
.tpf-ladder-chip{display:grid;grid-template-rows:28px auto;min-width:78px;gap:6px}
.tpf-ladder-chip i{display:block;border:1px solid currentColor}
.tpf-ladder-chip small{font:700 10px/1 var(--tpf-mono);letter-spacing:.1em;text-transform:uppercase}
.tpf-exposure-ladder{min-width:800px;display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));border:1px solid var(--tpf-e2)}
.tpf-ladder-step{min-height:190px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(242,244,240,.28)}.tpf-ladder-step:last-child{border-right:0}
.tpf-ladder-code{font:700 11px/1.2 var(--tpf-mono);letter-spacing:.12em}.tpf-ladder-value{font:700 clamp(44px,5vw,70px)/.92 var(--tpf-display);letter-spacing:-.04em}.tpf-ladder-label{font-weight:700;font-size:16px}.tpf-ladder-step small{font:12px/1.4 var(--tpf-mono)}

/* Exposure-to-text contrast binding. E0–E2 dark text, E3–E5 Paper White. */
.tpf-e0{background-color:var(--tpf-e0);color:var(--tpf-e5)}
.tpf-e1{background-color:var(--tpf-e1);color:var(--tpf-e5)}
.tpf-e2{background-color:var(--tpf-e2);color:var(--tpf-e5)}
.tpf-e3{background-color:var(--tpf-e3);color:var(--tpf-e0)}
.tpf-e4{background-color:var(--tpf-e4);color:var(--tpf-e0)}
.tpf-e5{background-color:var(--tpf-e5);color:var(--tpf-e0)}
.tpf-streak{background-image:repeating-linear-gradient(90deg,rgba(242,244,240,var(--tpf-streak-opacity)) 0 1px,transparent 1px 19px,rgba(242,244,240,.012) 19px 22px,transparent 22px 53px)}

/* Base */
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--tpf-e0)}body{margin:0;background:var(--tpf-e0);color:var(--tpf-e5);font-family:var(--tpf-body);font-size:16px;line-height:1.6;text-rendering:optimizeLegibility;overflow-x:hidden}img{max-width:100%;height:auto}a{color:inherit}button,input,textarea{font:inherit}.tpf-svg-sprite{position:absolute!important;overflow:hidden!important;width:0!important;height:0!important}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background:var(--tpf-e0);clip:auto!important;clip-path:none;color:var(--tpf-e5);display:block;font-weight:700;height:auto;left:10px;padding:12px 16px;top:10px;width:auto;z-index:1000}.tpf-container{width:min(calc(100% - 48px),var(--tpf-container));margin-left:auto;margin-right:auto}.tpf-main{min-height:55vh}.tpf-section-code,.tpf-exposure-code,.tpf-meta,.tpf-ad-label,.tpf-register-code,.tpf-contact-index{font-family:var(--tpf-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.tpf-section-heading{display:flex;align-items:baseline;gap:18px;margin:0 0 22px}.tpf-section-heading h2{font-size:clamp(28px,3vw,34px);line-height:1.1;margin:0}.tpf-section-code{color:var(--tpf-e3);font-weight:700}.tpf-e3 .tpf-section-code,.tpf-e4 .tpf-section-code,.tpf-e5 .tpf-section-code{color:var(--tpf-e0)}
.tpf-e0 :focus-visible,.tpf-e1 :focus-visible,.tpf-e2 :focus-visible,.entry-content :focus-visible,.tpf-contact-frame :focus-visible{outline:3px solid var(--tpf-e3);outline-offset:2px}.tpf-e3 :focus-visible,.tpf-e4 :focus-visible,.tpf-e5 :focus-visible,.tpf-site-header :focus-visible,.tpf-site-footer :focus-visible{outline:3px solid var(--tpf-e0);outline-offset:2px}

/* Header — coated strip with one brushed lower edge. */
.tpf-site-header{position:sticky;top:0;z-index:100;min-height:var(--tpf-header-expanded);padding:14px max(24px,calc((100vw - var(--tpf-container))/2)) 22px;color:var(--tpf-e0);transition:min-height .2s ease,padding .2s ease;background:transparent}.tpf-site-header::before{content:"";position:absolute;z-index:0;inset:0;background-color:var(--tpf-e5);background-image:repeating-linear-gradient(90deg,rgba(242,244,240,var(--tpf-streak-opacity)) 0 1px,transparent 1px 19px,rgba(242,244,240,.012) 19px 22px,transparent 22px 53px);clip-path:polygon(0 0,100% 0,100% 88%,87% 90%,72% 88.5%,57% 91%,42% 89%,26% 90.5%,12% 88.8%,0 91%)}@supports (mask-image:linear-gradient(#000,#000)){.tpf-site-header::before{mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%)}}@supports (-webkit-mask-image:linear-gradient(#000,#000)){.tpf-site-header::before{-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%)}}.tpf-header-compact{min-height:var(--tpf-header-compact);padding-top:7px;padding-bottom:15px}.tpf-header-inner{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(420px,1.5fr) minmax(160px,.65fr);gap:26px;align-items:center;position:relative;z-index:2}.tpf-brand{display:flex;align-items:center;text-decoration:none;min-width:0}.tpf-logo-image{display:block;width:auto;height:46px;max-width:220px;object-fit:contain;object-position:left center}.tpf-custom-logo{max-width:220px}.tpf-logo-fallback{width:48px;height:48px;max-width:48px}.tpf-header-compact .tpf-logo-image{height:38px;max-width:190px}.tpf-header-compact .tpf-logo-fallback{width:38px;height:38px;max-width:38px}.tpf-nav ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:28px}.tpf-nav a{font:700 12px/1.2 var(--tpf-mono);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;padding:9px 0;border-bottom:2px solid transparent}.tpf-nav .current-menu-item>a,.tpf-nav .current-category-ancestor>a,.tpf-nav a:hover{border-bottom-color:var(--tpf-e1)}.tpf-header-actions{display:flex;justify-content:flex-end;gap:8px}.tpf-search-toggle,.tpf-theme-toggle{border:1px solid var(--tpf-e1);background:transparent;color:var(--tpf-e0);font:700 11px/1 var(--tpf-mono);letter-spacing:.1em;text-transform:uppercase;min-height:38px;padding:0 12px;cursor:pointer}.tpf-theme-toggle{width:40px;padding:0;font-size:18px}.tpf-trust{display:flex;gap:18px;margin:8px 0 0;position:relative;z-index:2;font:10px/1.2 var(--tpf-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tpf-e1)}.tpf-search-panel{display:none;position:absolute;left:0;right:0;top:calc(100% - 7px);padding:24px max(24px,calc((100vw - var(--tpf-container))/2)) 30px;z-index:3;border-top:1px solid rgba(242,244,240,.18)}.tpf-search-panel.is-open{display:block}.tpf-search-form{display:grid;grid-template-columns:1fr auto;gap:12px;max-width:860px;margin:0 auto}.tpf-search-field{min-height:50px;border:1px solid var(--tpf-e0);background:var(--tpf-e0);color:var(--tpf-e5);padding:0 14px}.tpf-search-form button{border:1px solid var(--tpf-e0);background:transparent;color:var(--tpf-e0);padding:0 18px;font:700 12px var(--tpf-mono);letter-spacing:.1em;text-transform:uppercase}.tpf-search-hint{max-width:860px;margin:14px auto 0;color:var(--tpf-e1);font:11px/1.5 var(--tpf-mono);letter-spacing:.05em}

/* News imagery: Mode A natural by default; white mount + E3 line. */
.tpf-photo{position:relative;background:var(--tpf-e0);padding:6px;border:1px solid var(--tpf-e3);overflow:hidden}.tpf-photo img{display:block;width:100%;height:auto}.tpf-exposure-code{position:absolute;right:10px;bottom:10px;background:var(--tpf-e0);color:var(--tpf-e5);padding:4px 6px;z-index:3;border:1px solid var(--tpf-e1)}.tpf-mode-toned .tpf-photo{isolation:isolate}.tpf-mode-toned .tpf-photo img{filter:grayscale(1) contrast(1.06)}@supports (mix-blend-mode:screen){.tpf-mode-toned .tpf-photo::after{content:"";position:absolute;inset:6px;background:var(--tpf-e4);mix-blend-mode:screen;opacity:.78;pointer-events:none;z-index:2}.tpf-mode-toned .tpf-photo .tpf-exposure-code{z-index:4}}

/* Primary exposure — deep, irregular coating with natural mounted photo. */
.tpf-primary-exposure{margin-top:28px;padding:48px var(--tpf-edge-safe);min-height:470px}.tpf-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:52px;align-items:center}.tpf-hero-photo{border-color:var(--tpf-e1)}.tpf-hero-copy{padding-right:8px}.tpf-category-line{display:flex;align-items:center;gap:10px;margin-bottom:13px}.tpf-kicker{font:700 12px/1.2 var(--tpf-mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.tpf-primary-exposure h1{font:700 clamp(42px,5vw,54px)/1.01 var(--tpf-display);letter-spacing:-.04em;margin:.12em 0 .3em;text-shadow:0 0 2px rgba(169,195,214,.2)}.tpf-primary-exposure h1 a{text-decoration:none}.tpf-hero-dek{font-size:18px;line-height:1.56;max-width:680px;margin:0 0 18px;color:var(--tpf-e1)}.tpf-meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center;color:var(--tpf-e5)}.tpf-meta a{text-decoration:underline;text-underline-offset:2px}.tpf-meta-on-deep{color:var(--tpf-e0)}.tpf-primary-exposure .tpf-meta{color:var(--tpf-e0)}.tpf-mini-ladder{margin-top:24px}.tpf-mini-ladder span{border-right:1px solid rgba(242,244,240,.36)}

/* Development row — three coated contact exposures; 3 / 3 / 2. */
.tpf-development{padding-top:58px;padding-bottom:62px}.tpf-development-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tpf-development-card{min-width:0;padding:28px var(--tpf-edge-safe);transition:background-color .2s ease,color .2s ease}.tpf-development-card .tpf-photo{margin:0 0 18px}.tpf-development-card .tpf-category-line{margin-bottom:10px}.tpf-card-title{font:700 24px/1.12 var(--tpf-display);letter-spacing:-.025em;margin:0 0 10px}.tpf-card-title a{text-decoration:none}.tpf-card-summary{font-size:15px;line-height:1.52;margin:0 0 16px}.tpf-development-card.tpf-e2 .tpf-meta,.tpf-development-card.tpf-e2 .tpf-card-summary{color:var(--tpf-e5)}.tpf-development-card.tpf-e3 .tpf-meta,.tpf-development-card.tpf-e3 .tpf-card-summary{color:var(--tpf-e0)}.tpf-development-card.tpf-e2:hover{background-color:var(--tpf-e3);color:var(--tpf-e0)}.tpf-development-card.tpf-e3:hover{background-color:var(--tpf-e4)}.tpf-development-card.tpf-e2:hover .tpf-meta,.tpf-development-card.tpf-e2:hover .tpf-silhouette,.tpf-development-card.tpf-e2:hover .tpf-card-summary{color:var(--tpf-e0);fill:var(--tpf-e0)}

/* Negative / unexposed breathing band. */
.tpf-negative-band{border-top:1px solid var(--tpf-e1);border-bottom:1px solid var(--tpf-e1);padding:50px 0}.tpf-negative-inner{max-width:1160px}.tpf-negative-inner h2{font:700 clamp(32px,4vw,46px)/1.07 var(--tpf-display);letter-spacing:-.035em;margin:0 0 12px}.tpf-negative-inner h2 a{text-decoration:none}.tpf-negative-inner>p{font-size:18px;line-height:1.6;max-width:900px;margin:0 0 14px;color:var(--tpf-e3)}

/* Exposure legend + editor-controlled business data. */
.tpf-exposure-data{padding-top:58px;padding-bottom:64px}.tpf-ladder-scroll{overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.tpf-ladder-step.tpf-e1,.tpf-ladder-step.tpf-e2{color:var(--tpf-e5)}.tpf-ladder-step.tpf-e3,.tpf-ladder-step.tpf-e4,.tpf-ladder-step.tpf-e5{color:var(--tpf-e0)}

/* Contact sheet — dense photographic frames, not bento cards. */
.tpf-contact-sheet{padding:58px 0 62px;border-top:1px solid rgba(10,30,48,.12);border-bottom:1px solid rgba(10,30,48,.12)}.tpf-contact-sheet .tpf-section-code{color:var(--tpf-e5)}.tpf-contact-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.tpf-contact-frame{min-width:0;background:var(--tpf-e0);color:var(--tpf-e5);border:1px solid var(--tpf-e2);padding:8px;position:relative}.tpf-contact-index{display:flex;justify-content:space-between;gap:8px;color:var(--tpf-e3);margin:3px 2px 0}.tpf-contact-frame h2,.tpf-contact-frame h3{font:700 18px/1.19 var(--tpf-display);margin:9px 2px 7px;letter-spacing:-.015em}.tpf-contact-frame h2 a,.tpf-contact-frame h3 a{text-decoration:none}.tpf-contact-frame .tpf-meta{font-size:9px;line-height:1.48;padding:0 2px 3px}.tpf-contact-photo{padding:4px;border-color:var(--tpf-e2)}

/* Paper register — no wash/coating. */
.tpf-register{padding-top:60px;padding-bottom:48px}.tpf-register-row{display:grid;grid-template-columns:105px 1fr 150px;gap:18px;align-items:start;border-top:1px solid var(--tpf-e1);padding:18px 0}.tpf-register-row:last-child{border-bottom:1px solid var(--tpf-e1)}.tpf-register-code{color:var(--tpf-e3);padding-top:4px}.tpf-register-main h2{font:700 20px/1.25 var(--tpf-display);margin:0 0 7px}.tpf-register-main h2 a{color:var(--tpf-e5);text-decoration:none}.tpf-register-date{text-align:right;font:11px/1.5 var(--tpf-mono);color:var(--tpf-e3)}.tpf-volume-nav{display:flex;justify-content:center;gap:10px;padding:12px 0 68px;flex-wrap:wrap}.tpf-volume-nav a{display:inline-block;background:var(--tpf-e3);color:var(--tpf-e0);padding:14px 22px;font:700 12px/1 var(--tpf-mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.tpf-volume-nav .tpf-newer{background:var(--tpf-e0);color:var(--tpf-e3);border:1px solid var(--tpf-e3)}

/* Ads are deliberately uncoated and clean. */
.tpf-ad{background:var(--tpf-e0);color:var(--tpf-e5);border:1px solid var(--tpf-e2);min-height:120px;padding:12px 14px;margin-top:32px;margin-bottom:32px;display:none}.tpf-ad:not(:empty){display:block}.tpf-ad-label{display:block;color:var(--tpf-e3);margin-bottom:10px}

/* Article: coated hero only, then masked paper reading surface. */
.tpf-article-hero{margin-top:24px;padding:48px var(--tpf-edge-safe)}.tpf-article-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);gap:50px;align-items:center}.tpf-article-hero h1{font:700 clamp(38px,4.5vw,52px)/1.02 var(--tpf-display);letter-spacing:-.04em;margin:.12em 0 .28em;text-shadow:0 0 2px rgba(169,195,214,.2)}.tpf-article-dek{font-size:18px;line-height:1.55;margin:0 0 16px;color:var(--tpf-e1)}.tpf-article-hero .tpf-meta,.tpf-article-hero .tpf-meta a{color:var(--tpf-e0)}.tpf-article-hero-photo{border-color:var(--tpf-e1)}.tpf-article-hero nav.tpf-meta{font-size:10px;margin-bottom:12px}.tpf-article-shell{width:min(calc(100% - 48px),var(--tpf-container));margin:38px auto 72px;display:grid;grid-template-columns:220px minmax(680px,var(--tpf-reading)) 220px;gap:30px;justify-content:center;align-items:start}.tpf-article{position:relative;min-width:0;padding:38px 44px 54px;background:var(--tpf-e0);color:var(--tpf-e5);border:1px solid var(--tpf-e1)}.tpf-article::before{content:"";position:absolute;left:24px;top:0;bottom:0;width:2px;background:var(--tpf-e2)}.tpf-key-points{background:var(--tpf-e0);border:1px solid var(--tpf-e2);padding:18px 20px;margin:0 0 32px}.tpf-key-points h2{font:700 12px/1.2 var(--tpf-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tpf-e3);margin:0 0 8px}.tpf-key-points p{margin:0;font-size:16px;line-height:1.62}.entry-content{font-size:19px;line-height:1.8;color:var(--tpf-e5)}.entry-content p{margin:0 0 1.5em}.entry-content h2{font-size:30px;line-height:1.18;margin:2.35em 0 .75em}.entry-content h3{font-size:24px;line-height:1.25;margin:1.7em 0 .6em}.entry-content h4{font-size:20px;margin:1.5em 0 .5em}.entry-content a{color:var(--tpf-e3);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.entry-content ul,.entry-content ol{padding-left:28px;margin:0 0 1.5em}.entry-content blockquote{width:min(var(--tpf-breakout),calc(100vw - 48px));max-width:none;margin:2.25em 0 2.25em 50%;transform:translateX(-50%);background:var(--tpf-e3);color:var(--tpf-e0);padding:31px 38px;font-size:28px;line-height:1.45;font-style:normal;clip-path:polygon(.6% 3%,18% .9%,39% 2.3%,62% .6%,82% 2.1%,99.2% 1%,98.5% 97.4%,72% 99%,47% 97.8%,22% 99.2%,.8% 97.2%)}.entry-content blockquote p:last-child{margin-bottom:0}.entry-content>p:first-of-type::first-letter{float:left;background:var(--tpf-e5);color:var(--tpf-e0);font:700 44px/48px var(--tpf-display);width:48px;height:48px;text-align:center;margin:7px 10px 0 0}.entry-content table,.wp-block-table table{width:100%;border-collapse:collapse;background:var(--tpf-e0);color:var(--tpf-e5)}.entry-content th,.entry-content td,.wp-block-table th,.wp-block-table td{border:1px solid var(--tpf-e2);padding:10px 12px}.entry-content .alignwide{width:min(var(--tpf-breakout),calc(100vw - 48px));max-width:none;margin-left:50%;transform:translateX(-50%)}.entry-content .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}.entry-content iframe,.entry-content embed{display:block;max-width:100%;border:1px solid var(--tpf-e2);background:var(--tpf-e0);filter:none!important;mix-blend-mode:normal!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}.entry-content .wp-block-gallery{margin-bottom:1.5em}.entry-content figure{max-width:100%}.tpf-internal-links{margin:0 0 1.5em;padding:0;font-size:16px;line-height:1.6;color:var(--tpf-e5)}.tpf-internal-links strong{font:700 11px var(--tpf-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--tpf-e3)}.tpf-internal-links a{color:var(--tpf-e3);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.tpf-toc{position:sticky;top:128px;font-size:12px}.tpf-toc h2{font:700 11px var(--tpf-mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px}.tpf-toc ol{list-style:none;padding:0;margin:0}.tpf-toc li{display:grid;grid-template-columns:14px 1fr;gap:9px;align-items:start;margin-bottom:11px}.tpf-toc-step{width:12px;height:12px;margin-top:3px;border:1px solid var(--tpf-e2)}.tpf-toc li.is-active .tpf-toc-step{background:var(--tpf-e5)!important;border-color:var(--tpf-e5)}.tpf-toc a{text-decoration:none;color:var(--tpf-e5)}.tpf-toc a.is-active{font-weight:700;color:var(--tpf-e3)}.tpf-marginalia{position:sticky;top:128px;font:12px/1.5 var(--tpf-mono);color:var(--tpf-e3)}.tpf-marginalia p{border-left:2px solid var(--tpf-e2);padding-left:11px;margin:0 0 18px}.tpf-marginalia span,.tpf-marginalia strong{display:block}.tpf-updated-note{border-left-color:var(--tpf-sepia)!important;color:var(--tpf-sepia)!important}

/* Author / related */
.tpf-author-box{display:grid;grid-template-columns:88px 1fr;gap:18px;border:1px solid var(--tpf-e2);padding:18px;margin-top:46px;background:var(--tpf-e0)}.tpf-author-avatar img{display:block}.tpf-author-box h2{font-size:20px;margin:4px 0 8px}.tpf-author-box p{margin:0;font-size:15px}.tpf-author-silhouette{float:right}.tpf-related{width:min(calc(100% - 48px),var(--tpf-breakout));margin:0 auto 72px}.tpf-related>h2{font-size:30px}.tpf-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tpf-related .tpf-development-card{padding:25px var(--tpf-edge-safe)}

/* Archive / search / author / page */
.tpf-archive-hero{margin-top:24px;padding:54px var(--tpf-edge-safe);min-height:235px}.tpf-archive-hero .tpf-silhouette-hero{margin-bottom:10px}.tpf-archive-hero h1{font:700 clamp(42px,5vw,58px)/1 var(--tpf-display);margin:.15em 0}.tpf-archive-description{max-width:780px;font-size:17px}.tpf-archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-top:48px;padding-bottom:42px}.tpf-author-hero{padding:52px 0;border-bottom:1px solid var(--tpf-e1)}.tpf-author-hero-inner{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center}.tpf-author-big-avatar img{display:block}.tpf-author-hero h1{font-size:48px;margin:.15em 0}.tpf-page{width:min(calc(100% - 48px),var(--tpf-reading));margin:42px auto 72px;background:var(--tpf-e0);color:var(--tpf-e5);border-left:2px solid var(--tpf-e2);padding:38px 44px}.tpf-page h1{font-size:44px;line-height:1.08}.tpf-empty{padding:44px 0;color:var(--tpf-e3)}

/* 404 — fully exposed empty field, no silhouette. */
.tpf-404{display:grid;place-items:center;padding:58px 24px}.tpf-404-field{width:min(100%,940px);min-height:455px;padding:72px var(--tpf-edge-safe);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.tpf-404-field h1{font-size:clamp(42px,6vw,72px);margin:.12em 0}.tpf-404-field p{color:var(--tpf-e1)}.tpf-404-field nav ul{list-style:none;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;padding:0}.tpf-404-field nav a{text-decoration:underline;text-underline-offset:3px}

/* Footer — E5 coated field with upper brushed edge. */
.tpf-site-footer{margin-top:32px;padding:60px var(--tpf-edge-safe) 34px;color:var(--tpf-e0)}.tpf-site-footer.tpf-wash{clip-path:polygon(0 7%,12% 5.5%,27% 7.2%,43% 5.8%,59% 7.6%,74% 5.7%,88% 7.1%,100% 5.9%,100% 100%,0 100%)}.tpf-footer-inner{display:grid;grid-template-columns:1fr 1.65fr .8fr;gap:42px;align-items:start}.tpf-footer-logo{display:flex;align-items:center;gap:12px;text-decoration:none;font:700 24px/1 var(--tpf-display)}.tpf-footer-logo img{width:48px;height:48px}.tpf-footer-brand p{max-width:40ch;color:var(--tpf-e1);font-size:14px}.tpf-footer-ladder{margin-top:20px}.tpf-footer-nav h2,.tpf-footer-policies h2{font:700 12px var(--tpf-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tpf-e1);margin:0 0 14px}.tpf-footer-nav ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;padding:0;margin:0}.tpf-footer-nav li{border-bottom:1px solid rgba(169,195,214,.24)}.tpf-footer-nav a{display:flex;align-items:center;gap:7px;padding:8px 0;text-decoration:none;font-size:13px}.tpf-footer-nav .tpf-silhouette{fill:var(--tpf-e0)}.tpf-footer-policies nav{display:grid}.tpf-footer-policies nav span{border-bottom:1px solid rgba(169,195,214,.24)}.tpf-footer-policies a{display:block;padding:8px 0;text-decoration:none;font-size:13px}.tpf-colophon{border-top:1px solid rgba(169,195,214,.24);padding-top:18px;margin-top:34px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--tpf-e1);font:11px/1.5 var(--tpf-mono)}

/* Negative-print dark mode — chemical relationship inverts. */
html[data-theme="dark"]{--tpf-e0:#0E1620;--tpf-e1:#15334B;--tpf-e2:#2C5A80;--tpf-e3:#5E8FB0;--tpf-e4:#A9C3D6;--tpf-e5:#DCE8EE;--tpf-paper-white:#0E1620;background:#0E1620}html[data-theme="dark"] body{background:var(--tpf-e0);color:var(--tpf-e5)}html[data-theme="dark"] .tpf-e0,html[data-theme="dark"] .tpf-e1,html[data-theme="dark"] .tpf-e2{color:var(--tpf-e5)}html[data-theme="dark"] .tpf-e3,html[data-theme="dark"] .tpf-e4,html[data-theme="dark"] .tpf-e5{color:var(--tpf-e0)}html[data-theme="dark"] .tpf-site-header,html[data-theme="dark"] .tpf-site-footer{color:var(--tpf-e0)}html[data-theme="dark"] .tpf-site-header .tpf-silhouette,html[data-theme="dark"] .tpf-site-footer .tpf-silhouette,html[data-theme="dark"] .tpf-e3 .tpf-silhouette,html[data-theme="dark"] .tpf-e4 .tpf-silhouette,html[data-theme="dark"] .tpf-e5 .tpf-silhouette{fill:var(--tpf-e0);filter:none}html[data-theme="dark"] .tpf-photo,html[data-theme="dark"] .tpf-exposure-code,html[data-theme="dark"] .tpf-ad,html[data-theme="dark"] .tpf-contact-frame,html[data-theme="dark"] .tpf-article,html[data-theme="dark"] .tpf-key-points,html[data-theme="dark"] .tpf-author-box{background:var(--tpf-e0);color:var(--tpf-e5)}html[data-theme="dark"] .entry-content,html[data-theme="dark"] .tpf-register-main h2 a,html[data-theme="dark"] .tpf-toc a{color:var(--tpf-e5)}html[data-theme="dark"] .tpf-meta{color:var(--tpf-e5)}html[data-theme="dark"] .tpf-primary-exposure .tpf-meta,html[data-theme="dark"] .tpf-article-hero .tpf-meta{color:var(--tpf-e0)}html[data-theme="dark"] .tpf-primary-exposure .tpf-hero-dek,html[data-theme="dark"] .tpf-article-dek{color:var(--tpf-e2)}html[data-theme="dark"] .tpf-negative-inner>p{color:var(--tpf-e3)}

/* Responsive */
@media(max-width:1280px){.tpf-contact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tpf-header-inner{grid-template-columns:230px 1fr 145px}.tpf-nav ul{gap:18px}.tpf-article-shell{grid-template-columns:190px minmax(680px,var(--tpf-reading)) 190px;gap:24px}}
@media(max-width:1200px){.tpf-article-shell{display:block;width:min(90%,var(--tpf-reading));min-width:0}.tpf-toc,.tpf-marginalia{display:none}.tpf-article{width:100%}.tpf-footer-inner{grid-template-columns:1fr 1.6fr}.tpf-footer-policies{grid-column:1/-1}.tpf-contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.tpf-site-header{padding-left:18px;padding-right:18px}.tpf-header-inner{grid-template-columns:1fr auto}.tpf-nav{grid-column:1/-1;grid-row:2}.tpf-nav ul{justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.tpf-trust{display:none}.tpf-hero-grid,.tpf-article-hero-grid{grid-template-columns:1fr}.tpf-development-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tpf-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tpf-archive-list{grid-template-columns:1fr}.tpf-related-grid{grid-template-columns:1fr}.tpf-footer-inner{grid-template-columns:1fr}.tpf-footer-policies{grid-column:auto}.tpf-footer-nav ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){:root{--tpf-edge-bleed:8px;--tpf-edge-safe:22px}.tpf-container{width:min(calc(100% - 28px),var(--tpf-container))}.tpf-site-header{position:relative;padding-top:11px;padding-bottom:11px;min-height:auto}.tpf-site-header::before{clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}.tpf-logo-image{height:42px;max-width:190px}.tpf-logo-fallback{width:42px;height:42px;max-width:42px}.tpf-nav ul{gap:18px}.tpf-nav a{font-size:11px}.tpf-primary-exposure{margin-top:12px;padding-top:30px;padding-bottom:30px}.tpf-primary-exposure h1{font-size:clamp(36px,10vw,46px)}.tpf-development{padding-top:40px;padding-bottom:42px}.tpf-development-grid{grid-template-columns:1fr}.tpf-development-card{padding:20px;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}.tpf-streak{background-image:repeating-linear-gradient(90deg,rgba(242,244,240,.02) 0 1px,transparent 1px 33px)}.tpf-silhouette{filter:none}.tpf-primary-exposure h1,.tpf-article-hero h1{text-shadow:none}.tpf-negative-band{padding:36px 0}.tpf-exposure-data{padding-top:42px;padding-bottom:44px}.tpf-contact-sheet{padding:42px 0}.tpf-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tpf-contact-frame{padding:7px}.tpf-contact-frame h3,.tpf-contact-frame h2{font-size:16px}.tpf-contact-frame .tpf-meta{font-size:8px}.tpf-register{padding-top:44px}.tpf-register-row{grid-template-columns:82px 1fr;gap:8px 12px}.tpf-register-date{grid-column:2;text-align:left}.tpf-article-hero{margin-top:10px;padding:30px var(--tpf-edge-safe)}.tpf-article-shell{width:calc(100% - 28px);margin-top:22px}.tpf-article{padding:28px 24px 38px 34px}.tpf-article::before{left:18px}.entry-content{font-size:19px;line-height:1.8}.entry-content blockquote{width:calc(100vw - 28px);clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}.entry-content .alignwide{width:calc(100vw - 28px)}.tpf-page{width:calc(100% - 28px);padding:28px 24px 38px 34px}.tpf-footer-nav ul{grid-template-columns:repeat(2,minmax(0,1fr))}.tpf-site-footer{padding-top:44px;padding-bottom:24px}.tpf-colophon{display:block}.tpf-colophon span{display:block;margin-bottom:6px}.tpf-wash:not(.tpf-primary-exposure):not(.tpf-article-hero):not(.tpf-site-footer){clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}.tpf-404-field{clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}}
@media(max-width:460px){.tpf-header-actions{gap:5px}.tpf-search-toggle{padding:0 8px}.tpf-logo-image{max-width:170px;height:38px}.tpf-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tpf-footer-nav ul{grid-template-columns:1fr}.tpf-ladder-step{min-width:160px}.tpf-card-title{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tpf-site-header,.tpf-development-card{transition:none}}
.tpf-toned-marker{color:var(--tpf-sepia);font-weight:700}.tpf-mode-toned .tpf-contact-frame:nth-child(n+5) .tpf-photo::after,.tpf-mode-toned .tpf-archive-list .tpf-development-card:nth-child(n+5) .tpf-photo::after{display:none}
.comments-area{margin-top:44px;border-top:1px solid var(--tpf-e1);padding-top:24px}.comments-area h2{font-size:24px}.comment-list{padding-left:24px}.comment-list li{margin-bottom:18px}.comment-respond input,.comment-respond textarea{max-width:100%;border:1px solid var(--tpf-e2);background:var(--tpf-e0);color:var(--tpf-e5);padding:10px}.comment-respond textarea{width:100%}.comment-respond .submit{background:var(--tpf-e3);color:var(--tpf-e0);border:0;padding:12px 16px;cursor:pointer}
@supports (font-variant-numeric:tabular-nums){.tpf-ladder-value,.entry-content table,.wp-block-table table{font-variant-numeric:lining-nums tabular-nums}}
@supports (mask-image:linear-gradient(#000,#000)){.entry-content blockquote{mask-image:linear-gradient(to right,transparent 0,#000 var(--tpf-edge-bleed),#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%),linear-gradient(to bottom,transparent 0,#000 var(--tpf-edge-bleed),#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%);mask-composite:intersect}}
@supports (-webkit-mask-image:linear-gradient(#000,#000)){.entry-content blockquote{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--tpf-edge-bleed),#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%),linear-gradient(to bottom,transparent 0,#000 var(--tpf-edge-bleed),#000 calc(100% - var(--tpf-edge-bleed)),transparent 100%);-webkit-mask-composite:source-in}}
.entry-content blockquote:nth-of-type(n+3){clip-path:none;-webkit-mask-image:none;mask-image:none}

/* Rebuild refinements: contact-sheet chemistry, in-grid ad, volume wash. */
.tpf-contact-frame{transition:background-color .2s ease,color .2s ease}
.tpf-contact-frame:hover{background:var(--tpf-e1)}
.tpf-contact-ad{grid-column:span 2;min-height:160px;margin:0;align-self:stretch;background:var(--tpf-e0)!important;color:var(--tpf-e5)!important;border:1px solid var(--tpf-e2);clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}
@supports (clip-path:polygon(0 0,100% 0,100% 100%,0 100%)){
  .tpf-volume-nav .tpf-older{clip-path:polygon(1% 4%,19% 1%,42% 3%,63% 1%,82% 3%,99% 2%,98% 96%,73% 99%,49% 97%,24% 99%,1% 96%)}
}
@media(max-width:767px){.tpf-contact-ad{grid-column:1/-1}.tpf-volume-nav .tpf-older{clip-path:none!important}}
@media(prefers-reduced-motion:reduce){.tpf-contact-frame{transition:none}}
