/*
Theme Name: Prexova
Theme URI: https://prexova.ch
Author: Prexova
Description: The Prexova System — navy/brass/sand/ivory, Archivo + Libre Franklin + Newsreader. Flat elevation, hairlines, no gradients. Built from the Claude Design workbook (2026-08-17 brief v1.0).
Version: 2.0.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: prexova-theme
*/

/* ============ 1 · Tokens ============ */
:root{
  --navy:#14243A; --brass:#9C7C4A; --sand:#CDB68E; --ivory:#FCFBF7; --ivory-2:#F4F1EA;
  --ink:#3C4350; --paper:#FFFFFF;
  --navy-700:#1E3352; --navy-300:#8A97A8; --brass-600:#8C6E41;
  --ink-400:#767E8E;
  --hairline:rgba(20,36,58,.18); --hairline-soft:rgba(20,36,58,.10);
  --tint-sand:#F4EDE0; --tint-brass:rgba(156,124,74,.10); --tint-navy:rgba(20,36,58,.04); --tint-navy-2:rgba(20,36,58,.07);
  --zebra-a:#E7E1D4; --zebra-b:#ECE7DA;
  --positive:#4E6F52; --critical:#8A4B3B;
  --font-display:'Archivo','Arial Narrow',system-ui,sans-serif;
  --font-body:'Libre Franklin',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-serif:'Newsreader',Georgia,'Times New Roman',serif;
  --h1:clamp(2.4rem,5.2vw,4rem); --h1-sub:clamp(2.2rem,4.6vw,3.4rem);
  --h2:clamp(1.7rem,3.4vw,2.6rem);
  --lead:clamp(1rem,1.5vw,1.18rem);
  --eyebrow:.72rem;
  --band-pad:clamp(3.5rem,7vw,6.5rem);
  --w-content:1140px; --w-text:68ch; --w-legal:720px;
  --r-card:8px; --r-input:10px; --r-pill:999px;
  --ease:cubic-bezier(.2,.6,.2,1);
  --t-fast:120ms; --t-base:240ms; --t-slow:360ms;
}

/* ============ 2 · Base ============ */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{background:var(--ivory);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;margin:0}
a{color:var(--navy);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color var(--t-base) var(--ease)}
a:hover{color:var(--brass)}
::selection{background:var(--tint-sand);color:var(--navy)}
:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ivory),0 0 0 4px var(--brass);border-radius:3px}
img{max-width:100%;height:auto}
.prx-tnum{font-variant-numeric:tabular-nums lining-nums}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:var(--ivory);padding:.6rem 1rem;z-index:100}
.skip-link:focus{left:0}

/* ============ 3 · Layout primitives ============ */
.prx-wrap{max-width:var(--w-content);margin:0 auto;padding-left:clamp(1rem,4vw,2rem);padding-right:clamp(1rem,4vw,2rem)}
.prx-band{padding-top:var(--band-pad);padding-bottom:var(--band-pad)}
.prx-band--tight{padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.prx-band--navy{background:var(--navy);color:var(--ivory)}
.prx-band--navy h1,.prx-band--navy h2,.prx-band--navy h3{color:var(--ivory)}
.prx-band--navy p{color:var(--sand)}
.prx-band--navy a{color:var(--ivory)}
.prx-band--ivory2{background:var(--ivory-2)}
.prx-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.prx-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.prx-grid-3--wide{gap:28px}
.prx-split{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.prx-split--start{align-items:start}
.prx-split--form{grid-template-columns:1fr 1fr;gap:56px;align-items:start}
/* Pricing: named areas so the form can move up on mobile */
.prx-pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 56px;align-items:start;grid-template-areas:"steps form" "extra form"}
.prx-pg-steps{grid-area:steps}
.prx-pg-form{grid-area:form}
.prx-pg-extra{grid-area:extra}
.prx-split--model{grid-template-columns:1fr 1.1fr}
@media(max-width:900px){
  .prx-pricing-grid{grid-template-columns:1fr;grid-template-areas:"steps" "form" "extra";gap:2.75rem}
  .prx-pg-extra .prx-card--sm{padding:1.25rem}
  .prx-pg-extra .prx-slash--sm li{font-size:.9rem;line-height:1.45}
  .prx-split--model{grid-template-columns:1fr;gap:2rem}
  .prx-split--model .prx-diagram{width:100%;padding:0}
  .prx-split--model .prx-diagram svg{width:100%;min-height:150px}
}
@media(max-width:900px){
  .prx-grid-2,.prx-grid-3,.prx-split,.prx-split--form{grid-template-columns:1fr}
  .prx-split{gap:28px}
}

/* Hero 12-col grid fade */
.prx-hero{position:relative;z-index:0;padding-top:clamp(3rem,7vw,5.5rem)}
.prx-hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background-image:linear-gradient(to right,rgba(20,36,58,.06) 1px,transparent 1px);
  background-size:calc(100%/12) 100%;
  -webkit-mask-image:linear-gradient(to bottom,black 55%,transparent);mask-image:linear-gradient(to bottom,black 55%,transparent)}
.prx-h1{font-family:var(--font-display);font-weight:800;font-size:var(--h1);line-height:1.03;letter-spacing:-.02em;color:var(--navy);margin:.7rem 0 0;max-width:16ch}
.prx-h1--sub{font-size:var(--h1-sub);line-height:1.05;max-width:20ch}
.prx-h1 em,.prx-h1 .accent{font-style:normal;color:var(--brass)}
.prx-h2{font-family:var(--font-display);font-weight:800;font-size:var(--h2);line-height:1.08;letter-spacing:-.015em;color:var(--navy);margin:.6rem 0 0;max-width:20ch}
.prx-lead{font-size:var(--lead);line-height:1.6;color:var(--ink);max-width:58ch;margin:1.1rem 0 0}
.prx-band--navy .prx-lead{color:var(--sand);max-width:52ch}

/* ============ 4 · Patterns ============ */
/* Eyebrow */
.prx-eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-body);font-weight:600;font-size:var(--eyebrow);letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
.prx-eyebrow--sand{color:var(--sand)}
.prx-eyebrow--sm{font-size:.625rem}

/* Buttons */
.prx-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-body);font-weight:600;letter-spacing:.01em;text-decoration:none;
  border:1.5px solid transparent;border-radius:var(--r-pill);cursor:pointer;
  transition:background var(--t-base) var(--ease),color var(--t-base) var(--ease),border-color var(--t-base) var(--ease),transform var(--t-fast) var(--ease)}
.prx-btn:active{transform:translateY(1px)}
.prx-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ivory),0 0 0 4px var(--brass)}
.prx-btn--sm{font-size:.875rem;padding:.5rem 1rem}
.prx-btn--md{font-size:1rem;padding:.7rem 1.4rem}
.prx-btn--lg{font-size:1.125rem;padding:.9rem 1.8rem}
.prx-btn--block{width:100%}
.prx-btn--primary{background:var(--navy);color:var(--ivory)}
.prx-btn--primary:hover{background:var(--navy-700);color:var(--ivory)}
.prx-btn--accent{background:var(--brass);color:var(--ivory)}
.prx-btn--accent:hover{background:var(--brass-600);color:var(--ivory)}
.prx-btn--outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.prx-btn--outline:hover{background:var(--navy);color:var(--ivory)}
.prx-btn--ghost{background:transparent;color:var(--navy)}
.prx-btn--ghost:hover{background:var(--tint-navy-2);color:var(--navy)}
.prx-btn--reverse,.prx-band--navy a.prx-btn--reverse{background:var(--ivory);color:var(--navy)}
.prx-btn--reverse:hover,.prx-band--navy a.prx-btn--reverse:hover{background:var(--sand);color:var(--navy)}
.prx-band--navy a.prx-btn--accent{color:var(--ivory)}
.prx-btn-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.8rem}
.prx-btn-col{display:flex;flex-direction:column;gap:.9rem;align-items:flex-start}

/* Text arrow-link */
.prx-arrow-link{font-size:.95rem;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:2px;display:inline-block;transition:transform var(--t-base) var(--ease)}
.prx-arrow-link:hover{transform:translateX(3px);color:var(--navy)}

/* Card */
.prx-card{background:var(--paper);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-card);padding:2rem;box-shadow:none}
.prx-card--sm{padding:1.5rem}
.prx-card--accent{border-top:2px solid var(--brass)}
.prx-card--reverse{background:var(--navy);color:var(--ivory);border-color:rgba(252,251,247,.14)}
.prx-card--reverse h3,.prx-card--reverse p{color:var(--ivory)}
.prx-card--ivory{background:var(--ivory-2)}
.prx-card--sand{background:var(--tint-sand)}
a.prx-card{text-decoration:none;transition:border-color var(--t-base) var(--ease)}
a.prx-card:hover{border-color:rgba(20,36,58,.4)}
a.prx-card:hover h3{color:var(--brass)}
.prx-card h3{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--navy);margin:.6rem 0 .5rem}
.prx-card p{margin:0;font-size:.95rem;line-height:1.55}

/* Numerals + steps */
.prx-numeral{font-family:var(--font-display);font-weight:800;font-size:1.6rem;color:var(--sand);line-height:.8;font-variant-numeric:tabular-nums lining-nums}
.prx-step{border-top:2px solid var(--brass);padding-top:1rem}
.prx-step__head{display:flex;justify-content:space-between;align-items:baseline}
.prx-step h3{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--navy);margin:.7rem 0 .5rem}
.prx-step p{margin:0;font-size:.92rem;line-height:1.55}
.prx-band--navy .prx-step h3{color:var(--ivory)}
.prx-band--navy .prx-step p{color:var(--sand)}
.prx-step-row{display:flex;gap:16px;border-top:2px solid var(--brass);padding-top:1rem}
.prx-step-row+.prx-step-row{margin-top:1.4rem}
.prx-step-row h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--navy);margin:0 0 .3rem}
.prx-step-row p{margin:0;font-size:.92rem;line-height:1.55}

/* Badge */
.prx-badge{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-body);font-weight:600;font-size:var(--eyebrow);letter-spacing:.18em;text-transform:uppercase;line-height:1;padding:.3rem .65rem;border-radius:var(--r-pill);white-space:nowrap;border:1px solid transparent}
.prx-badge--navy{background:var(--navy);color:var(--ivory)}
.prx-badge--brass{background:var(--brass);color:var(--ivory)}
.prx-badge--sand{background:var(--tint-sand);color:var(--navy)}
.prx-badge--outline{background:transparent;color:var(--navy);border-color:var(--navy)}

/* Section header */
.prx-sheader{display:flex;align-items:flex-end;gap:1rem;padding-bottom:.75rem;border-bottom:1.5px solid var(--hairline)}
.prx-sheader__numeral{font-family:var(--font-display);font-weight:800;font-size:2.25rem;line-height:.8;color:var(--sand);font-variant-numeric:tabular-nums lining-nums}
.prx-sheader__stack{display:flex;flex-direction:column;gap:.35rem;padding-bottom:.1rem}
.prx-sheader__title{margin:0;font-family:var(--font-display);font-weight:700;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.1;color:var(--navy)}
.prx-band--navy .prx-sheader{border-bottom-color:rgba(252,251,247,.28)}
.prx-band--navy .prx-sheader__title{color:var(--ivory)}

/* Slash list */
.prx-slash{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.prx-slash--sm{gap:.4rem}
.prx-slash li{display:flex;gap:.7rem;font-size:1rem;line-height:1.5;color:var(--ink)}
.prx-slash li::before{content:"/";color:var(--brass);font-weight:700;flex:0 0 auto}
.prx-slash li strong{font-weight:700;color:var(--navy)}
.prx-band--navy .prx-slash li{color:var(--ivory)}

/* Standfirst (Newsreader italic) */
.prx-standfirst{margin:0;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.3rem;line-height:1.4;color:var(--ink);max-width:38ch}
.prx-standfirst--navy{color:var(--navy)}
.prx-standfirst--lg{font-size:1.6rem}
.prx-serif-accent{font-family:var(--font-serif);font-style:italic;color:var(--sand)}

/* Ribbon (7.5%) */
.prx-ribbon{display:flex;align-items:center;gap:14px;background:var(--tint-sand);border-left:3px solid var(--brass);padding:16px 20px;margin-top:1.6rem;border-radius:6px}
.prx-ribbon b,.prx-ribbon strong{color:var(--navy)}
.prx-ribbon__pct{font-family:var(--font-display);font-weight:800;color:var(--brass);font-size:1.2rem;flex:0 0 auto}
.prx-ribbon span:last-child{font-size:.95rem;line-height:1.5}

/* Accordion (details) */
.prx-faq{border-top:1px solid var(--hairline);max-width:860px}
.prx-faq details{border-bottom:1px solid var(--hairline)}
.prx-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0;font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--navy)}
.prx-faq summary::-webkit-details-marker{display:none}
.prx-faq summary::after{content:"+";color:var(--brass);font-family:var(--font-body);font-weight:400;font-size:1.4rem;line-height:1;flex:0 0 auto;transition:transform var(--t-base) var(--ease)}
.prx-faq details[open] summary::after{content:"–";transform:rotate(180deg)}
.prx-faq details>div{padding:0 0 1.2rem}
.prx-faq details>div p{margin:0;font-size:1rem;line-height:1.6;color:var(--ink);max-width:58ch}

/* Forms */
.prx-form{display:flex;flex-direction:column;gap:18px}
.prx-field{display:flex;flex-direction:column;gap:.4rem}
.prx-field label{font-family:var(--font-body);font-weight:600;font-size:var(--eyebrow);letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
.prx-field input,.prx-field textarea,.prx-field select{font-family:var(--font-body);font-size:1rem;color:var(--navy);background:var(--paper);border:1px solid var(--hairline);border-radius:var(--r-input);padding:.7rem .85rem;width:100%;box-sizing:border-box;line-height:1.4;transition:border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}
.prx-field input::placeholder,.prx-field textarea::placeholder{color:var(--ink-400)}
.prx-field input:hover,.prx-field textarea:hover,.prx-field select:hover{border-color:var(--navy-300)}
.prx-field input:focus,.prx-field textarea:focus,.prx-field select:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px var(--tint-brass)}
.prx-field textarea{resize:vertical;min-height:6rem}
.prx-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--brass) 50%),linear-gradient(135deg,var(--brass) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2.2rem;cursor:pointer}
.prx-form__note{font-size:.8rem;color:var(--ink);opacity:.65}
.prx-hp{position:absolute !important;left:-9999px !important}
.prx-form-sent{padding:2.5rem 1rem;text-align:center}
.prx-form-sent::before{content:"◆";display:block;color:var(--brass);font-size:1rem;margin-bottom:1rem}
.prx-form-notice-err{border-radius:6px;padding:1rem 1.25rem;font-weight:500;background:#F7ECE9;color:var(--critical);margin-bottom:1.2rem}

/* CTA band inner layout */
.prx-cta-band .prx-split{align-items:center}
@media(max-width:900px){.prx-btn-col{align-items:flex-start}}

/* ============ 5 · Nav & footer ============ */
.prx-nav{position:sticky;top:0;z-index:50;background:rgba(252,251,247,.88);-webkit-backdrop-filter:saturate(1.1) blur(8px);backdrop-filter:saturate(1.1) blur(8px);border-bottom:1px solid var(--hairline);transition:box-shadow var(--t-base) var(--ease)}
.prx-nav.is-scrolled{box-shadow:0 1px 2px rgba(20,36,58,.06),0 8px 24px -12px rgba(20,36,58,.14)}
.prx-nav__inner{max-width:var(--w-content);margin:0 auto;padding:.85rem clamp(1rem,4vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.prx-logo{font-family:var(--font-display);font-weight:800;font-size:1.375rem;letter-spacing:-.01em;color:var(--navy);text-decoration:none}
.prx-logo:hover{color:var(--navy)}
.prx-nav__links{display:flex;align-items:center;gap:1.6rem}
.prx-nav__links a{font-size:.875rem;font-weight:500;color:var(--navy);text-decoration:none}
.prx-nav__links a:hover{color:var(--brass)}
.prx-nav__links a.is-active{font-weight:600;color:var(--brass);border-bottom:1.5px solid var(--brass);padding-bottom:2px}
.prx-burger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}
.prx-burger span{width:22px;height:2px;background:var(--navy)}
.prx-nav__mobile{display:none;border-top:1px solid var(--hairline);padding:.5rem clamp(1rem,4vw,2rem) 1rem;flex-direction:column}
.prx-nav__mobile a{padding:.6rem 0;font-size:1rem;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--hairline-soft)}
.prx-nav.menu-open .prx-nav__mobile{display:flex}
@media(max-width:920px){
  .prx-nav__links{display:none}
  .prx-burger{display:flex}
}

.prx-footer{background:var(--navy);border-top:1px solid rgba(252,251,247,.14);padding:34px 0}
.prx-footer__row{max-width:var(--w-content);margin:0 auto;padding:0 clamp(1rem,4vw,2rem);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;align-items:center}
.prx-footer__row--legal{margin-top:1.4rem;font-size:.78rem;color:var(--navy-300)}
.prx-footer .prx-logo{color:var(--ivory);font-size:1.2rem}
.prx-footer__tag{font-size:.85rem;color:var(--sand)}
.prx-footer__links{display:flex;gap:1.2rem;font-size:.85rem;flex-wrap:wrap}
.prx-footer__links a{color:var(--ivory);text-decoration:none}
.prx-footer__links a:hover{color:var(--sand)}
.prx-footer__row--legal a{color:var(--navy-300);text-decoration:none}
.prx-footer__row--legal a:hover{color:var(--ivory)}

/* ============ 6 · Specifics ============ */
/* Video frame */
.prx-video-frame{position:relative;max-width:960px;margin:0 auto;aspect-ratio:16/9;border:1px solid var(--hairline);border-radius:8px;overflow:hidden;background:var(--navy)}
.prx-video-frame video{width:100%;height:100%;object-fit:cover;display:block}
.prx-video-caption{text-align:center;font-size:.85rem;color:var(--ink);opacity:.7;margin-top:12px}

/* Logo row */
.prx-logo-row{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;margin-top:1.2rem}
.prx-logo-row span{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--navy-300)}

/* Founder cards */
.prx-founder{display:flex;gap:18px;align-items:flex-start}
.prx-founder__photo{width:72px;height:72px;flex:0 0 auto;border-radius:50%;overflow:hidden;border:1px solid var(--hairline)}
.prx-founder__photo img{width:100%;height:100%;object-fit:cover;display:block}
.prx-founder__photo--tall{width:100%;height:auto;aspect-ratio:4/5;border-radius:8px}
.prx-founder h3{margin:0}

/* Bento tile lead (Home band 3) */
.prx-tile p{font-family:var(--font-display);font-weight:600;font-size:1rem;line-height:1.3;color:var(--navy);margin:.7rem 0 0}
.prx-tile.prx-card--reverse p{color:var(--ivory)}

/* Diagram wrapper */
.prx-diagram svg{width:100%;height:auto;display:block}
.prx-diagram__caption{font-size:.78rem;color:rgba(252,251,247,.55);margin-top:10px}
.prx-band--ivory2 .prx-diagram__caption,.prx-diagram__caption--ink{color:var(--ink);opacity:.75}

/* Legal pages */
.prx-legal{max-width:var(--w-legal);margin:0 auto;padding:clamp(2.5rem,5vw,4rem) clamp(1rem,4vw,2rem) var(--band-pad)}
.prx-legal h1{font-family:var(--font-display);font-weight:800;font-size:2.2rem;color:var(--navy)}
.prx-legal h2{font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--navy);margin-top:2.2rem}

/* Insights */
.prx-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:2.2rem}
@media(max-width:900px){.prx-post-grid{grid-template-columns:1fr}}
.prx-post-card{display:block;background:var(--paper);border:1px solid var(--hairline);border-radius:8px;padding:24px;text-decoration:none;transition:border-color var(--t-base) var(--ease)}
.prx-post-card:hover{border-color:rgba(20,36,58,.4)}
.prx-post-card:hover h3{color:var(--brass)}
.prx-post-card h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem;line-height:1.3;color:var(--navy);margin:.8rem 0 .5rem}
.prx-post-card .prx-meta{font-size:.8rem;color:var(--ink);opacity:.7}
.prx-post-card.is-ghost{pointer-events:none}
.prx-article{max-width:var(--w-text);margin:0 auto}
.prx-article h2{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--navy);letter-spacing:-.01em}
.prx-article h3{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--navy)}
.prx-article figure{border:1px solid var(--hairline);border-radius:8px;padding:1rem;margin:2rem 0}
.prx-article figcaption{font-size:.8rem;color:var(--ink-400);margin-top:.5rem}
.prx-article blockquote{margin:2rem 0;padding:0;border:0;font-family:var(--font-serif);font-style:italic;font-size:1.35rem;line-height:1.4;color:var(--navy)}
.prx-article blockquote::before{content:"◆";display:block;color:var(--brass);font-size:.7rem;margin-bottom:.6rem}

/* Post figures */
.prx-article .prx-post-figure{border:1px solid var(--hairline);border-radius:8px;overflow:hidden;margin:2rem 0;padding:0}
.prx-article .prx-post-figure img{display:block;width:100%;height:auto}
.prx-article .prx-post-figure figcaption{padding:.6rem 1rem;font-size:.8rem;color:var(--ink-400);border-top:1px solid var(--hairline)}
.prx-article .prx-diagram{border:1px solid var(--hairline);border-radius:8px;padding:1.25rem;margin:2rem 0;background:var(--paper)}
.prx-article .prx-diagram figcaption,.prx-article .prx-diagram .prx-diagram__caption{color:var(--ink-400);opacity:1;font-size:.8rem;margin-top:.6rem}
/* Post sources */
.prx-sources{margin:2.5rem 0 0;border-top:1px solid var(--hairline);padding-top:1.2rem}
.prx-sources h2{font-size:1.05rem !important;margin:0 0 .6rem}
.prx-sources ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.prx-sources li{display:flex;gap:.7rem;font-size:.9rem;line-height:1.5}
.prx-sources li::before{content:"/";color:var(--brass);font-weight:700;flex:0 0 auto}
/* Post FAQ */
.prx-post-faq{margin:2.5rem 0 0}
.prx-post-faq h2{font-size:1.3rem}
/* Post CTA row */
.prx-post-cta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:2.5rem 0 0}
@media(max-width:900px){.prx-post-cta{grid-template-columns:1fr}}
.prx-post-cta a{display:flex;flex-direction:column;gap:.4rem;background:var(--paper);border:1px solid var(--hairline);border-radius:8px;padding:1.1rem 1.2rem;text-decoration:none;transition:border-color var(--t-base) var(--ease)}
.prx-post-cta a:hover{border-color:rgba(20,36,58,.4)}
.prx-post-cta a:hover strong{color:var(--brass)}
.prx-post-cta strong{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--navy)}
.prx-post-cta span{font-size:.85rem;color:var(--ink)}
.prx-post-cta a.is-accent{background:var(--tint-sand);border-top:2px solid var(--brass)}
/* Author card */
.prx-author-card{display:flex;gap:18px;align-items:flex-start;background:var(--ivory-2);border:1px solid var(--hairline);border-radius:8px;padding:1.5rem;margin:2.5rem 0 0}
.prx-author-card img{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:1px solid var(--hairline)}
.prx-author-card h3{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--navy)}
.prx-author-card p{margin:.5rem 0 0;font-size:.92rem;line-height:1.55}
@media(max-width:600px){.prx-author-card{flex-direction:column}.prx-author-card img{width:72px;height:72px}}

/* 404 */
.prx-404{padding:clamp(4rem,10vw,8rem) 0}

/* ============ 7 · Motion (html.js gate; reduced-motion off) ============ */
html.js [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease)}
html.js [data-reveal].is-in{opacity:1;transform:none}
html.js [data-reveal-delay="1"]{transition-delay:60ms}html.js [data-reveal-delay="2"]{transition-delay:120ms}
html.js [data-reveal-delay="3"]{transition-delay:180ms}html.js [data-reveal-delay="4"]{transition-delay:240ms}
html.js [data-reveal-delay="5"]{transition-delay:300ms}html.js [data-reveal-delay="6"]{transition-delay:360ms}
html.js [data-rule]{transform:scaleX(0);transform-origin:left;transition:transform var(--t-slow) var(--ease)}
html.js [data-rule].is-in{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){
  html.js [data-reveal],html.js [data-rule]{opacity:1 !important;transform:none !important;transition:none !important}
  .prx-btn,.prx-arrow-link,a.prx-card{transition:none}
  html{scroll-behavior:auto}
}
