/*
Theme Name: Kevin Moseri
Theme URI: https://kevinmoseri.com/
Author: Kevin Moseri
Description: Custom editorial WordPress theme for KevinMoseri.com.
Version: 0.5.5
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: kevinmoseri
*/

:root{
  --km-bg:#f5f1e8;
  --km-text:#172633;
  --km-muted:#6d7377;
  --km-line:rgba(23,38,51,.18);
  --km-soft:rgba(23,38,51,.045);
  --km-max:1240px;
  --km-serif:ui-serif,Iowan Old Style,Baskerville,"Times New Roman",serif;
  --km-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--km-bg);color:var(--km-text);font-family:var(--km-serif);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{opacity:.72}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit;color:inherit}
.km-wrap{width:min(calc(100% - 48px),var(--km-max));margin-inline:auto}
.km-eyebrow{margin:0 0 24px;font:600 12px/1.2 var(--km-sans);letter-spacing:.24em;text-transform:uppercase}
.km-display{margin:0;font:400 clamp(52px,6.1vw,92px)/.96 var(--km-serif);letter-spacing:-.045em}
.km-h2{margin:0;font:400 clamp(36px,4vw,58px)/1.02 var(--km-serif);letter-spacing:-.035em}
.km-deck{margin:28px 0 0;font-size:clamp(20px,1.75vw,26px);line-height:1.38}
.km-link{font-family:var(--km-sans);font-size:14px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.km-btn{display:inline-flex;align-items:center;padding:13px 18px;background:var(--km-text);color:var(--km-bg);text-decoration:none;font:500 14px/1 var(--km-sans)}
.section{padding:92px 0;border-top:1px solid var(--km-line)}
.section__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:82px;align-items:start}

.site-header{padding:28px 0 0}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:24px;border-bottom:1px solid var(--km-line)}
.site-brand{font:600 18px/1 var(--km-sans);letter-spacing:.24em;text-decoration:none;white-space:nowrap}
.site-nav{display:flex;gap:42px;align-items:center;font-size:17px}
.site-nav a{text-decoration:none}
.nav-toggle{display:none;background:none;border:0;padding:8px 0;font:600 12px/1 var(--km-sans);letter-spacing:.18em;text-transform:uppercase}
.site-main{min-height:64vh}

/* HOME — locked mockup */
.home-hero{padding:88px 0 112px}
.home-hero__title{max-width:1180px}
.home-hero__deck{max-width:790px}
.hero__actions{display:flex;gap:26px;align-items:center;margin-top:38px;flex-wrap:wrap}
.home-current__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:96px;align-items:start}
.home-current__copy{max-width:710px}
.home-current__lead{margin:0;font-size:28px;line-height:1.35}
.home-current__bridge{margin:34px 0 30px;font-size:19px;line-height:1.6;max-width:680px}
.home-selected__head{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:36px}
.home-selected__head .km-h2{max-width:720px}
.home-selected__more{margin:32px 0 0}
.home-quote{padding:92px 0;border-top:1px solid var(--km-line)}
.home-quote__inner{max-width:930px;margin-inline:auto;text-align:center}
.home-quote blockquote{margin:0;font-size:clamp(30px,3.2vw,48px);line-height:1.18;font-style:italic}
.home-quote p{margin:24px 0 0;font:600 11px/1 var(--km-sans);letter-spacing:.2em;text-transform:uppercase}
.home-about__copy{max-width:720px}
.home-about__lead{margin:0 0 26px;font-size:25px;line-height:1.42}
.home-about__copy p:not(.home-about__lead){font-size:18px;line-height:1.65}

/* Shared Earlier Work list */
.work-list{border-top:1px solid var(--km-line)}
.work-card{display:grid;grid-template-columns:155px minmax(0,1fr) 225px;gap:34px;padding:30px 0;border-bottom:1px solid var(--km-line);align-items:start}
.work-meta{font:500 11px/1.45 var(--km-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--km-muted)}
.work-meta__topic,.work-ref{display:block;margin-top:5px}
.work-title{margin:0;font-size:clamp(28px,2.55vw,41px);line-height:1.07;font-weight:400;letter-spacing:-.02em}
.work-title a{text-decoration:none}
.work-proof{font-size:15px;line-height:1.5;color:var(--km-muted)}
.work-proof strong{font-weight:400;color:var(--km-muted)}

/* EARLIER WORK — locked mockup */
.earlier-hero{padding:72px 0 68px}
.earlier-hero__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:90px;align-items:end}
.earlier-hero__title{max-width:760px}
.earlier-hero__deck{max-width:760px}
.earlier-hero__quote{padding-bottom:10px}
.earlier-hero__quote blockquote{margin:0;font-size:22px;line-height:1.45;font-style:italic}
.earlier-hero__quote p{margin:18px 0 0;font:600 11px/1 var(--km-sans);letter-spacing:.2em;text-transform:uppercase}
.earlier-selected{padding-top:86px}
.earlier-catalogue{padding-bottom:92px}
.earlier-catalogue__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:92px;align-items:start}
.earlier-catalogue__bridge{font-size:20px;line-height:1.55;max-width:620px}
.earlier-catalogue__bridge p{margin:0 0 28px}
.earlier-tools{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--km-line);border-bottom:1px solid var(--km-line);margin-top:62px}
.earlier-filters{display:flex;gap:0;overflow:auto;white-space:nowrap}
.earlier-filters span{padding:17px 16px;font:500 12px/1 var(--km-sans);color:var(--km-muted)}
.earlier-filters span:first-child{padding-left:0}
.earlier-filters .is-active{color:var(--km-text)}
.earlier-search{font:400 24px/1 var(--km-serif);padding:14px 0}
.catalogue-list{border-bottom:1px solid var(--km-line)}
.catalogue-row{display:grid;grid-template-columns:190px minmax(0,1fr) 190px 70px;gap:28px;padding:22px 0;border-bottom:1px solid var(--km-line);align-items:center}
.catalogue-row__meta{display:flex;flex-direction:column;gap:4px;font:500 10px/1.4 var(--km-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--km-muted)}
.catalogue-row__title{font-size:21px;line-height:1.25}
.catalogue-row__topic{font:500 11px/1.3 var(--km-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--km-muted)}
.catalogue-row__read{text-align:right;font:500 12px/1 var(--km-sans)}
.catalogue-row__read a{text-decoration:none}
.catalogue-row__read span{color:var(--km-muted)}
.catalogue-more{padding:28px 0 0}

/* ABOUT — locked mockup */
.about-hero{padding:82px 0 78px}
.about-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:86px;align-items:end}
.about-hero__intro{font-size:21px;line-height:1.55;max-width:430px}
.about-story{border-top:1px solid var(--km-line)}
.about-chapter{display:grid;grid-template-columns:250px minmax(0,1fr);gap:82px;padding:62px 0;border-bottom:1px solid var(--km-line)}
.about-chapter__label{font:600 11px/1.3 var(--km-sans);letter-spacing:.2em;text-transform:uppercase}
.about-chapter__copy{max-width:760px}
.about-chapter__copy h2{margin:0 0 24px;font-size:clamp(34px,3.4vw,52px);font-weight:400;line-height:1.05;letter-spacing:-.03em}
.about-chapter__copy p{margin:0 0 20px;font-size:19px;line-height:1.65}
.about-between{max-width:760px;margin:0 auto;padding:54px 0;border-bottom:1px solid var(--km-line)}
.about-between .km-eyebrow{margin-bottom:16px}
.about-between p:last-child{margin:0;font-size:20px;line-height:1.55}
.about-chapter--last{border-bottom:0}

/* TORINEL — locked mockup */
.torinel-hero{padding:74px 0 82px}
.torinel-hero__grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:76px;align-items:center}
.torinel-hero .km-deck{max-width:720px}
.torinel-visit{margin:28px 0 0}
.research-artifact{background:#fffdf8;border:1px solid var(--km-line);box-shadow:0 18px 40px rgba(23,38,51,.07);padding:38px;aspect-ratio:.78;display:flex;flex-direction:column;position:relative;overflow:hidden}
.research-artifact:after{content:"";position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(180deg,transparent,rgba(23,38,51,.04));pointer-events:none}
.research-artifact__mast{font:700 16px/1 var(--km-sans);letter-spacing:.2em}
.research-artifact__type{margin-top:70px;font:600 10px/1.4 var(--km-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--km-muted)}
.research-artifact__title{margin-top:18px;font-size:38px;line-height:1.02;letter-spacing:-.03em}
.research-artifact__rule{height:1px;background:var(--km-text);margin-top:auto;margin-bottom:18px}
.research-artifact__gridline{margin-top:auto;height:110px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 21px,var(--km-line) 22px)}
.research-artifact__meta{font:600 10px/1.3 var(--km-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--km-muted)}
.torinel-bridge__copy{font-size:22px;line-height:1.55;max-width:650px}
.torinel-bridge__copy p{margin:0 0 28px}
.torinel-verbs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--km-line);border-bottom:1px solid var(--km-line);margin-top:34px}
.torinel-verbs span{padding:28px 20px;font-size:clamp(30px,3.2vw,48px)}
.torinel-verbs span+span{border-left:1px solid var(--km-line)}
.torinel-next__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:86px;align-items:center}
.torinel-index-name{margin:42px 0 8px;font-size:28px}
.torinel-index-copy{max-width:620px;margin:0 0 28px;font-size:18px;line-height:1.6}
.research-artifact--index{aspect-ratio:.86}

/* CONTACT — locked mockup */
.contact-page{padding:90px 0 110px}
.contact-page__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:96px;align-items:start}
.contact-page__intro .km-display{max-width:520px}
.contact-page__intro>p:last-child{max-width:480px;margin-top:32px;font-size:19px;line-height:1.6}
.contact-form{padding:0}
.form-row{margin-bottom:28px}
.form-row label{display:block;margin-bottom:9px;font:600 11px/1 var(--km-sans);letter-spacing:.18em;text-transform:uppercase}
.form-row input,.form-row textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--km-line);padding:10px 0 12px;outline:none}
.form-row textarea{min-height:150px;resize:vertical;border:1px solid var(--km-line);padding:14px}
.form-note{margin-top:18px;color:var(--km-muted);font-size:14px}
.notice{margin-bottom:28px;padding:14px 0;border-bottom:1px solid var(--km-line);font-size:15px}
.hp-field{position:absolute!important;left:-9999px!important}

/* LEGAL — locked mockups */
.page-hero{padding:74px 0 62px}
.legal-intro{max-width:760px;margin-top:24px;font-size:19px}
.legal-page{padding-bottom:92px}
.legal-section{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;padding:36px 0;border-top:1px solid var(--km-line)}
.legal-section__title{font-size:26px;line-height:1.15}
.legal-section__num{display:block;margin-bottom:8px;font:600 10px/1 var(--km-sans);letter-spacing:.2em}
.legal-section__body{max-width:780px}
.legal-section__body p{margin:0 0 1.2em}

/* THEME-OWNED ARTICLE — locked article mockup */
.record-article-hero{padding:72px 0 44px}
.record-article-meta{font:600 11px/1.3 var(--km-sans);letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px}
.record-article-title{margin:0;max-width:1050px;font:400 clamp(50px,6vw,90px)/.98 var(--km-serif);letter-spacing:-.045em}
.record-article-standfirst{max-width:850px;margin:28px 0 0;font-size:24px;line-height:1.42}
.record-article-byline{margin:30px 0 42px;font:600 11px/1 var(--km-sans);letter-spacing:.2em;text-transform:uppercase}
.record-visual{height:420px;border-top:1px solid var(--km-line);border-bottom:1px solid var(--km-line);display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;gap:26px;padding:42px 6%;background:var(--km-soft)}
.record-visual__bank,.record-visual__tech{font:600 clamp(24px,3vw,44px)/1.05 var(--km-sans);letter-spacing:.12em}
.record-visual__tech{text-align:right}
.record-visual__line{height:1px;background:var(--km-text);position:relative}
.record-visual__line:after{content:"→";position:absolute;right:-2px;top:50%;transform:translateY(-52%);background:var(--km-bg);padding-left:12px;font-size:24px}
.record-article-body{padding:46px 0 92px}
.record-article-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:88px;align-items:start}
.record-copy{max-width:760px;font-size:20px;line-height:1.62}
.record-copy p{margin:0 0 1.5em}
.archive-note{padding-bottom:26px;border-bottom:1px solid var(--km-line);font-size:16px;color:var(--km-muted)}
.record-copy blockquote{margin:2.6em 0;font-size:34px;line-height:1.25;font-style:italic}
.record-related{border-top:1px solid var(--km-line);padding-top:34px;margin-top:58px}
.record-related a{text-decoration:none;font-size:24px}
.record-rail{position:sticky;top:30px;padding-left:28px;border-left:1px solid var(--km-line)}
.record-rail dl{margin:0}
.record-rail dt{margin-top:22px;font:600 10px/1.3 var(--km-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--km-muted)}
.record-rail dd{margin:7px 0 0;font-size:15px;line-height:1.5}
.record-rail__topics-label{margin-top:40px}
.record-rail__topics{font-size:15px;line-height:1.7}

.site-footer{padding:26px 0 34px;border-top:1px solid var(--km-line)}
.site-footer__inner{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.site-footer__brand{font:600 15px/1 var(--km-sans);letter-spacing:.22em}
.site-footer__right{text-align:right}
.footer-nav{display:flex;gap:24px;justify-content:flex-end;flex-wrap:wrap;font-size:14px}
.footer-nav a{text-decoration:none}
.copyright{margin-top:12px;color:var(--km-muted);font-size:13px}

@media(max-width:900px){
  .km-wrap{width:min(calc(100% - 32px),var(--km-max))}
  .site-nav{display:none;position:absolute;left:16px;right:16px;top:78px;padding:22px;background:var(--km-bg);border:1px solid var(--km-line);flex-direction:column;align-items:flex-start;gap:18px;z-index:20}
  .site-nav.is-open{display:flex}.nav-toggle{display:block}
  .home-hero{padding:64px 0 74px}
  .section{padding:68px 0}
  .section__grid,.home-current__grid,.earlier-hero__grid,.earlier-catalogue__intro,.about-hero__grid,.about-chapter,.torinel-hero__grid,.torinel-next__grid,.contact-page__grid,.legal-section,.record-article-grid{grid-template-columns:1fr;gap:32px}
  .work-card{grid-template-columns:1fr;gap:10px}
  .earlier-hero__quote{padding-top:20px}
  .catalogue-row{grid-template-columns:1fr;gap:8px}.catalogue-row__read{text-align:left}
  .about-between{margin:0}
  .torinel-verbs{grid-template-columns:1fr 1fr}.torinel-verbs span:nth-child(3){border-left:0;border-top:1px solid var(--km-line)}.torinel-verbs span:nth-child(4){border-top:1px solid var(--km-line)}
  .research-artifact{max-width:500px}
  .record-rail{position:static;border-left:0;border-top:1px solid var(--km-line);padding:30px 0 0}
  .record-visual{height:300px;grid-template-columns:1fr}.record-visual__line{display:none}.record-visual__tech{text-align:left}
  .site-footer__inner{flex-direction:column}.site-footer__right{text-align:left}.footer-nav{justify-content:flex-start}
}

/* ============================================================
   v0.4.1 — LOCKED HOMEPAGE MOCKUP FIDELITY
   This block intentionally overrides earlier homepage styling.
   ============================================================ */
:root{--km-max:1400px}
body.home{font-size:15px;line-height:1.42}
body.home .km-wrap{width:min(calc(100% - 88px),1400px)}
body.home .site-main{min-height:0}
.home-locked{padding:0}
.locked-kicker{margin:0;font:600 9px/1.2 var(--km-sans);letter-spacing:.34em;text-transform:uppercase;color:#63717a}
.locked-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:75px;padding:72px 0 68px;border-bottom:1px solid rgba(23,38,51,.25)}
.locked-hero__main h1{margin:18px 0 0;max-width:820px;font:400 clamp(54px,4.5vw,76px)/.94 var(--km-serif);letter-spacing:-.045em}
.locked-deck{margin:24px 0 0;max-width:800px;font:400 17px/1.42 var(--km-serif)}
.locked-actions{display:flex;align-items:center;gap:34px;margin-top:30px}
.locked-button{display:inline-flex;align-items:center;gap:24px;padding:14px 20px;background:#142430;color:#f7f3ea;text-decoration:none;font:400 14px/1 var(--km-serif);border:1px solid #142430}
.locked-button span,.locked-textlink span,.locked-plainlink span,.locked-work__heading a span,.locked-card__links a span{font-family:var(--km-sans)}
.locked-textlink,.locked-plainlink{font:400 14px/1.2 var(--km-serif);text-decoration:none}
.locked-textlink{display:inline-block;padding-bottom:4px;border-bottom:1px solid currentColor}
.locked-hero__rail{padding:30px 0 0 24px;border-left:1px solid rgba(23,38,51,.35);align-self:stretch}
.rail-rule{display:block;width:23px;height:1px;background:#455662;margin-bottom:14px}
.rail-rule--bottom{margin-top:16px;margin-bottom:24px}
.rail-words{margin:0;font:600 10px/1.78 var(--km-sans);letter-spacing:.31em;color:#263943}
.rail-copy{margin:0;font:400 13px/1.4 var(--km-serif);color:#4b5860}
.locked-current{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);gap:0;padding:33px 0 36px}
.locked-current__left{padding-right:75px}
.locked-current__left h2{margin:8px 0 2px;font:400 49px/1 var(--km-serif);letter-spacing:-.035em}
.locked-current__lead{margin:0 0 13px;font:400 17px/1.42 var(--km-serif)}
.locked-current__copy{margin:0 0 13px;max-width:720px;font:400 17px/1.42 var(--km-serif)}
.locked-current__right{border-left:1px solid rgba(23,38,51,.32);padding:7px 0 0 52px}
.locked-current__statement{margin:17px 0 18px;font:400 39px/.96 var(--km-serif);letter-spacing:-.035em}
.statement-rule{display:block;width:27px;height:1px;background:#43545e}
.locked-work{padding:4px 0 28px}
.locked-work__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.locked-work__heading a{font-size:13px;text-decoration:none}
.locked-work__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.locked-card{border:1px solid rgba(23,38,51,.14);background:rgba(255,255,255,.12);min-height:334px;display:flex;flex-direction:column}
.locked-card>img{width:100%;height:120px;object-fit:cover;filter:grayscale(100%);border-bottom:1px solid rgba(23,38,51,.12)}
.locked-card__body{display:flex;flex-direction:column;flex:1;padding:11px 12px 13px}
.locked-card__meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:11px;font:600 8px/1 var(--km-sans);letter-spacing:.17em;color:#64727b}
.locked-card h3{margin:0;font:400 19px/1.07 var(--km-serif);letter-spacing:-.02em;min-height:62px}
.locked-card p{margin:13px 0 13px;color:#67727a;font:400 12px/1.25 var(--km-sans);min-height:59px}
.locked-card__links{display:flex;flex-direction:column;gap:5px;margin-top:auto}
.locked-card__links a{font:400 13px/1.1 var(--km-serif);text-decoration:none}
.locked-quote{display:grid;grid-template-columns:8px minmax(0,1fr) 150px;gap:20px;align-items:center;padding:15px 0 23px}
.locked-quote__bar{width:2px;height:58px;background:#213642}
.locked-quote blockquote{margin:0;font:italic 25px/1.08 var(--km-serif);letter-spacing:-.02em}
.locked-quote__name{text-align:right;font:600 8px/1 var(--km-sans);letter-spacing:.34em;color:#66727b}
.locked-about{padding:13px 0 27px;border-top:1px solid rgba(23,38,51,.22)}
.locked-about__eyebrow{margin-bottom:13px}
.locked-about__grid{display:grid;grid-template-columns:250px minmax(0,1fr) 230px;gap:39px;align-items:start}
.locked-about__portrait{width:250px;height:273px;object-fit:cover;object-position:center top}
.locked-about__copy h2{margin:0 0 12px;font:400 27px/1.1 var(--km-serif)}
.locked-about__copy p{margin:0 0 13px;font:400 17px/1.42 var(--km-serif)}
.locked-button--small{margin-top:2px;padding:11px 17px;font-size:13px}
.locked-about__index{border-left:1px solid rgba(23,38,51,.3);padding-left:22px}
.locked-about__index a{display:grid;grid-template-columns:24px 1fr 14px;gap:12px;align-items:center;padding:10px 0 15px;border-bottom:1px solid rgba(23,38,51,.22);text-decoration:none}
.locked-about__index a:last-child{border-bottom:0}
.index-num{font:400 10px/1 var(--km-sans);color:#7a858b}
.locked-about__index strong{display:block;font:400 13px/1.2 var(--km-serif)}
.locked-about__index small{display:block;margin-top:2px;font:400 10px/1.3 var(--km-sans);color:#5f6c74}
.locked-about__index b{font:400 12px/1 var(--km-sans)}
body.home .site-footer{padding:18px 0 26px;border-top:1px solid rgba(23,38,51,.26)}
body.home .site-footer__inner{align-items:flex-start}
body.home .site-footer__brand{font:600 17px/1 var(--km-serif);letter-spacing:.17em}
.site-footer__tagline{margin-top:7px;font:600 7px/1 var(--km-sans);letter-spacing:.3em;color:#7a858b}
body.home .footer-nav{gap:28px;font-size:12px}
body.home .copyright{margin-top:11px;font-size:11px}

@media(min-width:901px) and (max-width:1200px){
  body.home .km-wrap{width:min(calc(100% - 56px),1400px)}
  .locked-hero{grid-template-columns:minmax(0,1fr) 190px;gap:46px}
  .locked-hero__main h1{font-size:58px}
  .locked-work__grid{gap:18px}
  .locked-card>img{height:100px}
  .locked-about__grid{grid-template-columns:220px minmax(0,1fr) 205px;gap:28px}
  .locked-about__portrait{width:220px;height:244px}
}
@media(max-width:900px){
  body.home .km-wrap{width:min(calc(100% - 32px),1400px)}
  body.home .site-brand__sub{display:block}
  .locked-hero{grid-template-columns:1fr;gap:32px;padding:42px 0 36px}
  .locked-hero__main h1{font-size:clamp(46px,11vw,64px)}
  .desktop-br{display:none}
  .locked-hero__rail{border-left:0;border-top:1px solid rgba(23,38,51,.25);padding:24px 0 0}
  .locked-current{grid-template-columns:1fr;gap:28px}
  .locked-current__left{padding-right:0}
  .locked-current__right{border-left:0;border-top:1px solid rgba(23,38,51,.25);padding:25px 0 0}
  .locked-work__grid{grid-template-columns:1fr 1fr}
  .locked-quote{grid-template-columns:6px 1fr;}.locked-quote__name{grid-column:2;text-align:left}
  .locked-about__grid{grid-template-columns:1fr;gap:24px}.locked-about__portrait{width:220px;height:244px}.locked-about__index{border-left:0;border-top:1px solid rgba(23,38,51,.3);padding:12px 0 0}
}
@media(max-width:560px){
  .locked-actions{align-items:flex-start;flex-direction:column;gap:18px}
  .locked-work__grid{grid-template-columns:1fr}
  .locked-work__heading{align-items:flex-start;gap:16px;flex-direction:column}
}


/* ============================================================
   v0.4.10 — MOCKUP PROPORTION RESET
   One authoritative homepage override. Removes the accumulated
   spacing experiments and restores the compact proportions of the
   approved mockup while keeping explicit section separators.
   ============================================================ */
.home-locked > .km-wrap{
  width:min(calc(100% - 96px),1320px);
  margin-inline:auto;
}
.locked-hero{
  grid-template-columns:minmax(0,70%) minmax(190px,22%);
  column-gap:8%;
  padding:64px 0 58px;
}
.locked-hero__main h1{
  max-width:none;
  font-size:clamp(54px,4.7vw,78px);
}
.locked-deck{
  max-width:760px;
  margin-top:22px;
  font:400 16px/1.42 var(--km-serif);
}
.locked-actions{margin-top:28px;}
.locked-hero__rail{padding-top:20px;padding-left:20px;}

.locked-current{
  grid-template-columns:minmax(0,64%) minmax(330px,32%);
  column-gap:4%;
  padding:30px 0 34px;
}
.locked-current__left{padding-right:0;}
.locked-current__left h2{margin:7px 0 3px;font-size:47px;}
.locked-current__lead{margin-bottom:12px;font:400 16px/1.42 var(--km-serif);}
.locked-current__copy{max-width:760px;margin-bottom:12px;font:400 16px/1.42 var(--km-serif);}
.locked-current__right{padding:7px 0 0 42px;}
.locked-current__statement{margin:15px 0 17px;font-size:37px;}

.locked-work{padding:34px 0 36px;}
.locked-work__heading{margin-bottom:16px;}
.locked-quote{padding:26px 0 30px;}
.locked-about{padding:28px 0 34px;}
.locked-about__eyebrow{margin-bottom:15px;}
.locked-about__copy p{font:400 16px/1.42 var(--km-serif);margin-bottom:12px;}

.locked-section-separator{
  display:block;
  width:100%;
  height:1px;
  background:rgba(23,38,51,.25);
  margin:0;
}

/* Do not depend on WordPress body.home while custom routes are active. */
.home-locked .desktop-br{display:none;}

@media(min-width:901px) and (max-width:1200px){
  .home-locked > .km-wrap{width:min(calc(100% - 56px),1120px);}
  .locked-hero{grid-template-columns:minmax(0,72%) minmax(180px,20%);column-gap:8%;padding:56px 0 52px;}
  .locked-hero__main h1{font-size:58px;}
  .locked-current{grid-template-columns:minmax(0,62%) minmax(300px,34%);column-gap:4%;}
}
@media(max-width:900px){
  .home-locked > .km-wrap{width:min(calc(100% - 32px),720px);}
  .locked-hero{grid-template-columns:1fr;gap:28px;padding:42px 0 38px;}
  .locked-hero__main h1{font-size:clamp(44px,11vw,62px);}
  .locked-hero__rail{border-left:0;border-top:1px solid rgba(23,38,51,.25);padding:22px 0 0;}
  .locked-current{grid-template-columns:1fr;gap:26px;padding:34px 0 38px;}
  .locked-current__right{border-left:0;border-top:1px solid rgba(23,38,51,.25);padding:22px 0 0;}
  .locked-work{padding:34px 0 38px;}
  .locked-quote{padding:30px 0 34px;}
  .locked-about{padding:30px 0 38px;}
}

/* ============================================================
   v0.4.10 — RESTORE LOCKED VERTICAL RHYTHM
   Preserve the corrected horizontal proportions from v0.4.9,
   but restore the deliberately open vertical spacing from v0.4.8.
   These homepage-specific classes are unique, so this remains safe
   even when WordPress serves the composition under a query URL.
   ============================================================ */
@media (min-width:901px){
  .locked-hero{
    padding-top:104px !important;
    padding-bottom:106px !important;
  }
  .locked-deck{margin-top:30px !important;}
  .locked-actions{margin-top:40px !important;}

  .locked-current{
    padding-top:62px !important;
    padding-bottom:68px !important;
  }
  .locked-current__left h2{
    margin-top:12px !important;
    margin-bottom:7px !important;
  }
  .locked-current__lead{margin-bottom:18px !important;}
  .locked-current__copy{margin-bottom:20px !important;}
  .locked-current__right{padding-top:12px !important;}
  .locked-current__statement{
    margin-top:24px !important;
    margin-bottom:24px !important;
  }

  .locked-work{
    padding-top:64px !important;
    padding-bottom:70px !important;
  }
  .locked-work__heading{margin-bottom:30px !important;}

  .locked-quote{
    padding-top:54px !important;
    padding-bottom:56px !important;
  }

  .locked-about{
    padding-top:48px !important;
    padding-bottom:60px !important;
  }
  .locked-about__eyebrow{margin-bottom:24px !important;}
  .locked-about__copy h2{margin-bottom:18px !important;}

  body.home .site-footer,
  .home-locked + .site-footer{
    padding-top:30px !important;
    padding-bottom:38px !important;
  }
}

@media (min-width:901px) and (max-width:1200px){
  .locked-hero{padding-top:88px !important;padding-bottom:92px !important;}
  .locked-current{padding-top:54px !important;padding-bottom:60px !important;}
  .locked-work{padding-top:56px !important;padding-bottom:60px !important;}
  .locked-quote{padding-top:50px !important;padding-bottom:52px !important;}
  .locked-about{padding-top:42px !important;padding-bottom:52px !important;}
}


/* v0.4.12 — homepage About: reserve the locked portrait position without publishing a fake image */
body.home .locked-about__grid{grid-template-columns:250px minmax(0,1fr) 230px;gap:39px;}
.locked-about__portrait-placeholder{
  width:250px;
  height:273px;
  border:1px solid rgba(23,38,51,.24);
  background:rgba(23,38,51,.035);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#6d777d;
  text-align:center;
}
.locked-about__portrait-placeholder span{font:600 9px/1 var(--km-sans);letter-spacing:.28em;}
.locked-about__portrait-placeholder small{font:500 7px/1 var(--km-sans);letter-spacing:.22em;}
@media (max-width:1100px){
  body.home .locked-about__grid{grid-template-columns:220px minmax(0,1fr) 205px;gap:28px;}
  .locked-about__portrait-placeholder{width:220px;height:244px;}
}
@media (max-width:760px){
  body.home .locked-about__grid{grid-template-columns:1fr;gap:24px;}
  .locked-about__portrait-placeholder{width:220px;height:244px;}
}

/* ============================================================
   v0.4.13 — EARLIER WORK / LOCKED MOCKUP IMPLEMENTATION
   Approved mockup is the specification. No portfolio redesign.
   ============================================================ */
.route-earlier-work .site-footer{border-top:1px solid var(--km-line);}

.ew-short-rule{display:block;width:30px;height:1px;background:#314653;}

.ew-hero{padding:34px 0 24px;}
.ew-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.72fr) minmax(210px,.58fr);
  gap:38px;
  align-items:start;
  padding:22px 0 24px;
  border-bottom:1px solid var(--km-line);
}
.ew-hero__copy{padding-top:18px;}
.ew-hero__copy .km-eyebrow{margin-bottom:22px;}
.ew-hero__copy h1{
  margin:0;
  font:400 clamp(55px,5.6vw,84px)/.98 var(--km-serif);
  letter-spacing:-.045em;
}
.ew-hero__copy>p:not(.km-eyebrow){
  max-width:570px;
  margin:24px 0 22px;
  font:400 18px/1.42 var(--km-serif);
}

.ew-hero__artifact{padding-top:0;}
.ew-paper{
  position:relative;
  min-height:420px;
  padding:54px 46px 38px;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(255,255,255,.18),rgba(23,38,51,.08)),
    repeating-linear-gradient(0deg,rgba(23,38,51,.025) 0 1px,transparent 1px 4px),
    #dedbd3;
  box-shadow:0 16px 34px rgba(23,38,51,.08);
  transform:rotate(.5deg);
  filter:grayscale(100%);
}
.ew-paper:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.35),transparent 36%);pointer-events:none;}
.ew-paper__kicker{position:relative;font:600 7px/1 var(--km-sans);letter-spacing:.16em;color:#67717a;}
.ew-paper__title{position:relative;margin-top:38px;font:400 39px/.88 var(--km-serif);letter-spacing:-.035em;}
.ew-paper__sub{position:relative;margin:9px 0 0 8px;font:400 17px/1.1 var(--km-serif);}
.ew-paper__diagram{position:absolute;left:38px;right:38px;bottom:34px;height:145px;}
.ew-node{position:absolute;padding:7px 10px;border:1px solid #49555c;background:rgba(245,241,232,.66);font:500 9px/1.08 var(--km-sans);text-align:center;z-index:2;}
.ew-node--bank{left:50%;top:0;transform:translateX(-50%);min-width:72px;}
.ew-node--api{left:50%;top:49px;transform:translateX(-50%);min-width:48px;}
.ew-node--third{left:0;bottom:0;}
.ew-node--platform{left:50%;bottom:0;transform:translateX(-50%);}
.ew-node--customer{right:0;bottom:0;}
.ew-line{position:absolute;background:#58636a;z-index:1;}
.ew-line--v1{left:50%;top:29px;width:1px;height:21px;}
.ew-line--v2{left:50%;top:75px;width:1px;height:28px;}
.ew-line--h{left:17%;right:17%;top:102px;height:1px;}

.ew-hero__quote{border-left:1px solid #9a473f;padding:43px 0 0 28px;min-height:375px;}
.ew-hero__quote blockquote{margin:0;font:italic 27px/1.08 var(--km-serif);letter-spacing:-.025em;}
.ew-hero__quote .ew-short-rule{margin:40px 0 20px;}
.ew-hero__quote p{margin:0;font:600 10px/1 var(--km-sans);letter-spacing:.28em;text-transform:uppercase;color:#5f6a71;}

.ew-selected{padding:0 0 30px;}
.ew-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:18px 0 14px;}
.ew-section-head .km-eyebrow{margin:0;}
.ew-section-head>p:last-child{margin:0;font:600 8px/1 var(--km-sans);letter-spacing:.27em;text-transform:uppercase;color:#6b747a;}
.ew-selected__grid{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--km-line);}
.ew-card{padding:0 14px 28px;border-right:1px solid var(--km-line);}
.ew-card:first-child{padding-left:0;}
.ew-card:last-child{padding-right:0;border-right:0;}
.ew-card>img{width:100%;aspect-ratio:1.66/1;object-fit:cover;filter:grayscale(100%);}
.ew-card__body{padding:12px 0 0;}
.ew-card time{font:600 9px/1 var(--km-sans);letter-spacing:.17em;text-transform:uppercase;color:#606c73;}
.ew-card h2{margin:10px 0 12px;font:400 24px/1.03 var(--km-serif);letter-spacing:-.025em;}
.ew-card__topic{margin:0 0 20px;font:600 9px/1.2 var(--km-sans);letter-spacing:.17em;text-transform:uppercase;color:#606c73;}
.ew-card .ew-short-rule{width:24px;margin:0 0 20px;}
.ew-card__proof{min-height:58px;margin:0 0 20px;font:400 15px/1.25 var(--km-serif);}
.ew-card a{font:400 15px/1 var(--km-serif);color:#7d342f;text-decoration:none;}

.ew-wave{padding:0 0 76px;}
.ew-wave__grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(270px,.82fr);gap:36px;align-items:start;padding-top:22px;}
.ew-wave__main{padding-right:0;}
.ew-wave__main .km-eyebrow{margin:0 0 20px;}
.ew-wave__main h2{margin:0;font:400 clamp(38px,3.6vw,55px)/1.03 var(--km-serif);letter-spacing:-.035em;}
.ew-wave__lead{margin:10px 0 28px;font:400 18px/1.35 var(--km-serif);}
.ew-filters{display:flex;align-items:stretch;overflow-x:auto;border:1px solid var(--km-line);border-left:0;border-right:0;margin-bottom:0;white-space:nowrap;}
.ew-filters span{display:flex;align-items:center;padding:11px 11px;border-right:1px solid var(--km-line);font:500 9px/1 var(--km-sans);color:#3f4c54;}
.ew-filters .is-active{background:var(--km-text);color:var(--km-bg);padding-left:13px;padding-right:13px;}
.ew-filter-search{margin-left:auto;font-size:18px!important;padding-inline:15px!important;}

.ew-row{display:grid;grid-template-columns:115px minmax(0,1.4fr) minmax(220px,.95fr) 95px;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--km-line);}
.ew-row__meta{display:flex;flex-direction:column;gap:5px;font:600 8px/1 var(--km-sans);letter-spacing:.15em;text-transform:uppercase;color:#657079;}
.ew-row h3{margin:0;font:400 18px/1.16 var(--km-serif);}
.ew-row p{margin:0;padding-left:18px;border-left:1px solid var(--km-line);font:400 12px/1.35 var(--km-serif);color:#4f5c64;}
.ew-row a{text-align:right;font:400 13px/1 var(--km-serif);color:#7d342f;text-decoration:none;}
.ew-all-link{display:inline-flex;align-items:center;gap:24px;margin-top:24px;font:400 18px/1 var(--km-serif);text-decoration:none;}
.ew-all-link .ew-short-rule{width:32px;}

.ew-wave__aside{border-left:1px solid var(--km-line);padding-left:30px;}
.ew-bridge{padding:8px 0 32px;}
.ew-bridge h3{margin:0;font:400 28px/1.05 var(--km-serif);letter-spacing:-.025em;}
.ew-bridge .ew-short-rule{margin:22px 0 18px;}
.ew-bridge p{margin:0;font:400 15px/1.38 var(--km-serif);}
.ew-quote-card{min-height:300px;margin-top:18px;padding:58px 34px 30px;background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(23,38,51,.035));}
.ew-quote-card .ew-short-rule{margin-bottom:36px;}
.ew-quote-card blockquote{margin:0 0 30px;font:italic 29px/1.08 var(--km-serif);letter-spacing:-.025em;}
.ew-quote-card p{margin:0;font:600 9px/1 var(--km-sans);letter-spacing:.26em;text-transform:uppercase;color:#6c767c;}

@media (max-width:1100px){
  .ew-hero__grid{grid-template-columns:minmax(0,1.2fr) minmax(220px,.72fr);}
  .ew-hero__quote{grid-column:1/-1;border-left:0;border-top:1px solid var(--km-line);min-height:0;padding:28px 0 0;}
  .ew-hero__quote blockquote{max-width:760px;}
  .ew-selected__grid{grid-template-columns:1fr 1fr;}
  .ew-card:nth-child(2){border-right:0;}
  .ew-card:nth-child(n+3){border-top:1px solid var(--km-line);padding-top:18px;}
  .ew-wave__grid{grid-template-columns:1fr;}
  .ew-wave__aside{border-left:0;border-top:1px solid var(--km-line);padding:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:34px;}
  .ew-quote-card{margin:0;}
}
@media (max-width:760px){
  .ew-hero{padding-top:20px;}
  .ew-hero__grid{grid-template-columns:1fr;gap:28px;}
  .ew-hero__copy h1{font-size:clamp(50px,16vw,72px);}
  .ew-hero__artifact{max-width:380px;}
  .ew-selected__grid{grid-template-columns:1fr;}
  .ew-card,.ew-card:first-child,.ew-card:last-child{padding:18px 0 26px;border-right:0;border-top:1px solid var(--km-line);}
  .ew-section-head{align-items:flex-start;flex-direction:column;}
  .ew-row{grid-template-columns:1fr;gap:8px;}
  .ew-row p{padding:0;border-left:0;}
  .ew-row a{text-align:left;}
  .ew-wave__aside{grid-template-columns:1fr;}
}

/* About page portrait placeholder: preserves the locked mockup image position until a real portrait is supplied. */
.about-hero__side{display:flex;flex-direction:column;align-items:flex-start;gap:46px;}
.about-hero__portrait-placeholder{
  width:100%;
  max-width:430px;
  aspect-ratio:4/3;
  border:1px solid var(--km-rule);
  background:rgba(17,36,51,.035);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:var(--km-ink);
  text-align:center;
}
.about-hero__portrait-placeholder span{font:600 10px/1 var(--km-sans);letter-spacing:.28em;}
.about-hero__portrait-placeholder small{margin-top:10px;font:500 8px/1 var(--km-sans);letter-spacing:.22em;}

/* ABOUT — locked mockup fidelity v0.4.19 */
.about-mock{font-family:var(--km-serif);}
.about-mock__hero{padding:42px 0 34px;}
.about-mock__hero-grid{display:grid;grid-template-columns:245px minmax(0,1fr) 180px;gap:44px;align-items:start;}
.about-mock__portrait-placeholder{width:245px;height:245px;background:rgba(23,38,51,.035);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--km-text);}
.about-mock__portrait-placeholder span{font:600 9px/1 var(--km-sans);letter-spacing:.28em;}
.about-mock__portrait-placeholder small{margin-top:9px;font:500 7px/1 var(--km-sans);letter-spacing:.22em;}
.about-mock__portrait-meta{padding-top:9px;display:flex;flex-direction:column;gap:3px;}
.about-mock__portrait-meta strong,.about-mock__portrait-meta span{font:600 9px/1.25 var(--km-sans);letter-spacing:.22em;}
.about-mock__portrait-meta span{font-size:8px;color:var(--km-muted);}
.about-mock__eyebrow{margin:4px 0 16px;font:600 10px/1 var(--km-sans);letter-spacing:.24em;}
.about-mock__hero-copy h1{margin:0 0 18px;font:400 clamp(42px,4.1vw,61px)/.98 var(--km-serif);letter-spacing:-.04em;max-width:650px;}
.about-mock__hero-copy p{margin:0 0 14px;font:400 17px/1.38 var(--km-serif);max-width:650px;}
.about-mock__ideas{border-left:1px solid rgba(23,38,51,.26);padding:18px 0 0 28px;min-height:260px;}
.about-mock__ideas strong{display:block;margin:12px 0;font:600 10px/1.65 var(--km-sans);letter-spacing:.28em;}
.about-mock__ideas p{margin:22px 0 0;font:400 13px/1.45 var(--km-serif);}
.about-mock__dash{display:block;width:24px;border-top:1px solid var(--km-text);}

.about-mock__chapter{border-top:1px solid var(--km-line);padding:30px 0 26px;}
.about-mock__chapter-grid{display:grid;grid-template-columns:105px minmax(0,1fr) 365px;gap:34px;align-items:start;}
.about-mock__chapter-index{padding-top:4px;}
.about-mock__chapter-index>div{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.about-mock__chapter-index span{font:500 13px/1 var(--km-sans);}
.about-mock__chapter-index i{display:block;width:24px;border-top:1px solid var(--km-text);}
.about-mock__chapter-index strong{font:600 9px/1.55 var(--km-sans);letter-spacing:.24em;}
.about-mock__chapter-main h2{margin:0 0 14px;font:400 31px/1.03 var(--km-serif);letter-spacing:-.025em;}
.about-mock__chapter-main>p{margin:0 0 12px;font:400 15px/1.4 var(--km-serif);max-width:650px;}
.about-mock__mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;}
.about-mock__mini-grid article{padding-right:24px;}
.about-mock__mini-grid article+article{border-left:1px solid var(--km-line);padding-left:24px;}
.about-mock__mini-meta{margin-bottom:8px;font:600 8px/1.4 var(--km-sans);letter-spacing:.16em;color:var(--km-muted);}
.about-mock__mini-grid h3{margin:0 0 9px;font:400 17px/1.2 var(--km-serif);}
.about-mock__mini-grid p{margin:0 0 14px;font:400 12px/1.35 var(--km-serif);color:var(--km-muted);}
.about-mock__mini-grid a,.about-mock__text-link{font:400 14px/1.2 var(--km-serif);text-decoration:none;}
.about-mock__artifact{margin:0;}
.about-mock__artifact img{width:100%;height:252px;object-fit:cover;filter:grayscale(1);}
.about-mock__artifact figcaption{margin-top:8px;font:600 8px/1 var(--km-sans);letter-spacing:.2em;color:var(--km-muted);}

.about-mock__chapter-grid--record{grid-template-columns:105px minmax(0,1fr) 310px;}
.about-mock__taxonomy{background:rgba(255,255,255,.28);padding:16px 18px 10px;min-height:215px;}
.about-mock__taxonomy-title{font:400 15px/1.2 var(--km-serif);}
.about-mock__taxonomy-title small{display:block;margin-top:2px;font:400 9px/1.2 var(--km-sans);color:var(--km-muted);}
.about-mock__taxonomy-diagram{position:relative;height:150px;margin-top:6px;}
.tax-node{position:absolute;font:500 8px/1.1 var(--km-sans);text-align:center;}
.tax-node--center{left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:var(--km-text);color:var(--km-bg);display:flex;align-items:center;justify-content:center;font-size:9px;}
.tax-node--top{left:50%;top:0;transform:translateX(-50%)}
.tax-node--ur{right:4%;top:23%}.tax-node--right{right:0;top:52%}.tax-node--lr{right:7%;bottom:2%}.tax-node--bottom{left:50%;bottom:0;transform:translateX(-50%)}.tax-node--ll{left:16%;bottom:5%}.tax-node--left{left:0;top:54%}.tax-node--ul{left:8%;top:18%}
.about-mock__taxonomy-ref{text-align:right;font:600 7px/1 var(--km-sans);letter-spacing:.18em;color:var(--km-muted);}

.about-mock__chapter--compact{padding-top:24px;padding-bottom:22px;}
.about-mock__chapter-grid--between{grid-template-columns:105px minmax(0,1fr) 310px;align-items:center;}
.about-mock__chapter-quote{margin:0;border-left:1px solid rgba(137,55,42,.55);padding:5px 0 5px 30px;}
.about-mock__chapter-quote p{margin:0;font:italic 22px/1.2 var(--km-serif);}
.about-mock__chapter-quote cite{display:block;margin-top:14px;font:600 8px/1 var(--km-sans);font-style:normal;letter-spacing:.22em;color:var(--km-muted);}

.about-mock__chapter--last{padding-bottom:34px;}
.about-mock__chapter-grid--last{grid-template-columns:105px minmax(0,1fr) 360px;}
.about-mock__now{border-left:1px solid var(--km-line);padding-left:28px;}
.about-mock__now h3{margin:0 0 18px;font:400 24px/1.1 var(--km-serif);}
.about-mock__now-item{display:grid;grid-template-columns:26px 1fr;gap:14px;margin-bottom:14px;}
.about-mock__now-item i{display:block;width:24px;border-top:1px solid var(--km-text);margin-top:8px;}
.about-mock__now-item strong{font:400 14px/1.2 var(--km-serif);}
.about-mock__now-item p{margin:3px 0 0;font:400 11px/1.35 var(--km-serif);}
.about-mock__now-btn{display:inline-block;margin-top:4px;padding:11px 16px;background:var(--km-text);color:var(--km-bg);font:500 11px/1 var(--km-sans);text-decoration:none;}

body.page-about .site-footer{margin-top:0;}

@media (max-width:1050px){
  .about-mock__hero-grid{grid-template-columns:210px minmax(0,1fr) 165px;gap:28px;}
  .about-mock__portrait-placeholder{width:210px;height:230px;}
  .about-mock__chapter-grid,.about-mock__chapter-grid--record,.about-mock__chapter-grid--between,.about-mock__chapter-grid--last{grid-template-columns:90px minmax(0,1fr) 280px;gap:24px;}
}
@media (max-width:780px){
  .about-mock__hero{padding-top:32px;}
  .about-mock__hero-grid{grid-template-columns:1fr;}
  .about-mock__portrait-col{order:2}.about-mock__hero-copy{order:1}.about-mock__ideas{order:3;border-left:0;border-top:1px solid var(--km-line);padding:22px 0 0;min-height:0;}
  .about-mock__portrait-placeholder{width:220px;height:240px;}
  .about-mock__chapter-grid,.about-mock__chapter-grid--record,.about-mock__chapter-grid--between,.about-mock__chapter-grid--last{grid-template-columns:1fr;gap:24px;}
  .about-mock__chapter-index{display:flex;gap:24px;align-items:flex-start;}
  .about-mock__mini-grid{grid-template-columns:1fr;gap:22px;}.about-mock__mini-grid article+article{border-left:0;border-top:1px solid var(--km-line);padding:20px 0 0;}
  .about-mock__artifact img{height:220px;}
  .about-mock__now{border-left:0;border-top:1px solid var(--km-line);padding:20px 0 0;}
}

/* ============================================================
   v0.4.22 — TORINEL PAGE / UNIFORM SITE SHELL + TYPOGRAPHY
   ============================================================ */
.torinel-mock{padding-top:0}
.torinel-mock__hero{padding:24px 0 22px}
.torinel-mock__hero-grid{display:grid;grid-template-columns:46% 54%;align-items:stretch;gap:0}
.torinel-mock__hero-copy{padding:26px 34px 20px 0}
.torinel-mock__eyebrow{margin:0 0 20px;font:600 11px/1.4 var(--km-sans);letter-spacing:.24em;color:var(--km-text)}
.torinel-mock__eyebrow span{font-weight:500;color:#657079}
.torinel-mock__hero h1{margin:0;font:400 clamp(48px,4.7vw,64px)/.98 var(--km-serif);letter-spacing:-.035em}
.torinel-mock__deck{margin:28px 0 0;max-width:520px;font:400 18px/1.5 var(--km-serif)}
.torinel-mock__visit{display:inline-block;margin-top:24px;color:var(--km-text);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;font:600 11px/1 var(--km-sans);letter-spacing:.20em}
.torinel-mock__visit span{margin-left:10px;font-size:13px}

.torinel-report{position:relative;overflow:hidden;background:#d8d7d3;min-height:490px}
.torinel-report__paper{position:absolute;left:7%;top:-2%;width:104%;height:104%;padding:38px 42px;background:linear-gradient(125deg,#f2f0eb 0%,#f9f8f4 48%,#ecebe7 100%);transform:rotate(4.2deg);transform-origin:center;box-shadow:-10px 14px 30px rgba(17,28,36,.18);color:#262c30}
.torinel-report__mast{font:600 16px/1 var(--km-serif);letter-spacing:.16em}
.torinel-report__nav{position:absolute;right:35px;top:38px;font:500 8px/1 var(--km-sans);color:#586167}
.torinel-report__rule{height:1px;background:#b7b7b3;margin:10px 0 20px}
.torinel-report__label{font:600 8px/1 var(--km-sans);letter-spacing:.18em}
.torinel-report__columns{display:grid;grid-template-columns:66% 34%;gap:24px;margin-top:10px}
.torinel-report__title{font:400 28px/.93 var(--km-serif);letter-spacing:-.025em}
.torinel-report__sub{font:400 10px/1.3 var(--km-serif);margin-top:5px}
.torinel-report__chart-title{margin-top:26px;font:600 11px/1.1 var(--km-serif)}
.torinel-report__chart-sub{font:400 8px/1.3 var(--km-serif);margin:2px 0 8px}
.torinel-report__bars{display:grid;gap:4px}
.torinel-report__bar-row{display:grid;grid-template-columns:72px 1fr 34px;align-items:center;gap:6px;font:400 7px/1 var(--km-sans)}
.torinel-report__bar-row i{display:block;width:var(--w);height:7px;background:#6e797d}
.torinel-report__bar-row b{font-weight:500;text-align:right}
.torinel-report__source{margin-top:10px;font:400 6px/1.2 var(--km-sans);color:#7a8083}
.torinel-report__aside{border-left:1px solid #bcbcb7;padding-left:17px}
.torinel-report__aside-title{font:400 22px/1.02 var(--km-serif)}
.torinel-report__aside p{margin:20px 0 0;font:400 10px/1.38 var(--km-serif)}
.torinel-report__aside-rule{display:block;width:24px;height:1px;background:#555;margin-top:28px}

.torinel-mock__question{border-top:1px solid var(--km-line);padding:28px 0 28px}
.torinel-mock__question-grid{display:grid;grid-template-columns:115px minmax(0,1fr) 220px;gap:42px;align-items:start}
.torinel-mock__section-label{font:600 11px/1.45 var(--km-sans);letter-spacing:.22em;color:var(--km-text)}
.torinel-mock__question-main h2{margin:0;font:400 clamp(34px,3.3vw,46px)/1.04 var(--km-serif);letter-spacing:-.03em}
.torinel-mock__question-copy{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px;font:400 17px/1.5 var(--km-serif)}
.torinel-mock__question-copy p{margin:0;padding-right:17px}
.torinel-mock__question-copy p+p{border-left:1px solid var(--km-line);padding-left:20px;padding-right:0}
.torinel-mock__quote{margin:0;border-left:1px solid var(--km-line);padding:24px 0 0 28px;font:italic 22px/1.28 var(--km-serif)}
.torinel-mock__quote cite{display:block;margin-top:24px;font:600 10px/1 var(--km-sans);font-style:normal;letter-spacing:.22em;color:var(--km-muted)}

.torinel-mock__does{border-top:1px solid var(--km-line);padding:28px 0 28px}
.torinel-mock__does-grid{display:grid;grid-template-columns:115px repeat(4,1fr);gap:0;align-items:start}
.torinel-mock__does-item{padding:0 22px;border-left:1px solid var(--km-line);min-height:105px}
.torinel-mock__does-item:nth-child(2){border-left:0;padding-left:0}
.torinel-mock__does-item h3{margin:0 0 10px;font:400 28px/1.04 var(--km-serif)}
.torinel-mock__does-item p{margin:0;font:400 16px/1.48 var(--km-serif)}

.torinel-mock__next{border-top:1px solid var(--km-line);padding:26px 0 30px}
.torinel-mock__next-grid{display:grid;grid-template-columns:56% 44%;gap:0;align-items:center}
.torinel-index-artifact{background:#e7e5df;padding:24px 26px 18px;min-height:305px;color:#242b2f}
.torinel-index-artifact__mast{font:600 14px/1 var(--km-serif);letter-spacing:.15em}
.torinel-index-artifact__label{margin-top:8px;font:600 7px/1 var(--km-sans);letter-spacing:.17em}
.torinel-index-artifact__title{margin-top:20px;font:400 22px/1 var(--km-serif)}
.torinel-index-artifact__sub{margin-top:6px;font:400 9px/1.3 var(--km-serif)}
.torinel-index-artifact__inner{display:grid;grid-template-columns:62% 38%;margin-top:20px}
.torinel-index-artifact__chart{height:122px;display:flex;align-items:flex-end;gap:16px;border-bottom:1px solid #b9b9b4;padding:0 7px}
.torinel-index-artifact__bar{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;flex:1;font:500 7px/1 var(--km-sans)}
.torinel-index-artifact__bar b{font-weight:500;margin-bottom:3px}
.torinel-index-artifact__bar i{display:block;width:29px;height:calc(var(--h) * .78);min-height:12px;background:#a6adae}
.torinel-index-artifact__bar:last-child i{background:#798588}
.torinel-index-artifact__bar span{margin-top:6px}
.torinel-index-artifact__framework{border-left:1px solid #b9b9b4;padding-left:18px;font:400 9px/1.28 var(--km-serif)}
.torinel-index-artifact__framework p{margin:0 0 12px}
.torinel-index-artifact__framework ul{list-style:none;margin:0;padding:0}
.torinel-index-artifact__framework li{border-top:1px solid #b9b9b4;padding:6px 0}
.torinel-mock__next-copy{padding:4px 0 0 38px}
.torinel-mock__next-label{margin:0;color:var(--km-text);font:600 11px/1 var(--km-sans);letter-spacing:.22em}
.torinel-mock__next-copy h2{margin:18px 0 20px;font:400 clamp(38px,3.6vw,50px)/1.02 var(--km-serif);letter-spacing:-.035em}
.torinel-mock__next-copy h3{margin:0 0 9px;font:400 27px/1.12 var(--km-serif)}
.torinel-mock__next-copy>p:not(.torinel-mock__next-label){margin:0 0 20px;font:400 17px/1.5 var(--km-serif)}
.torinel-mock__button{display:inline-flex;align-items:center;gap:18px;padding:13px 18px;background:var(--km-text);color:var(--km-bg);text-decoration:none;font:500 14px/1 var(--km-sans)}


@media(max-width:900px){
  .torinel-mock__hero-grid,.torinel-mock__question-grid,.torinel-mock__next-grid{grid-template-columns:1fr;gap:28px}
  .torinel-mock__hero-copy{padding-right:0}
  .torinel-report{min-height:440px}
  .torinel-mock__question-grid{grid-template-columns:1fr}
  .torinel-mock__question-copy{grid-template-columns:1fr}
  .torinel-mock__question-copy p+p{border-left:0;border-top:1px solid var(--km-line);padding:18px 0 0}
  .torinel-mock__quote{padding-top:0}
  .torinel-mock__does-grid{grid-template-columns:1fr 1fr}
  .torinel-mock__does-grid>.torinel-mock__section-label{grid-column:1/-1;margin-bottom:18px}
  .torinel-mock__does-item{border-left:0;border-top:1px solid var(--km-line);padding:18px 18px 18px 0}
  .torinel-mock__next-copy{padding-left:0}
}

/* v0.5.0 — one uniform site header on every page */
body.home .site-header .km-wrap{width:min(calc(100% - 48px),var(--km-max));}
.site-nav a.is-active{
  color:#7d342f;
  border-bottom:1px solid currentColor;
  padding-bottom:6px;
}

/* v0.5.0 — restored Earlier Work collection */
.archive-note{margin:0 0 3rem;padding:1.1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.88rem;line-height:1.65;color:var(--muted)}
.archive-note strong{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.article-visual__placeholder{min-height:440px;padding:38px;display:flex;flex-direction:column;justify-content:space-between;background:#dedbd2;border:1px solid var(--line);color:var(--ink)}
.article-visual__placeholder span,.article-visual__placeholder small{font:600 .68rem/1.2 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.article-visual__placeholder strong{font:400 clamp(1.8rem,3vw,3.4rem)/1.02 Georgia,serif;max-width:12ch}
.article-copy h2{font-size:clamp(1.55rem,2.3vw,2.25rem);line-height:1.12;margin:3.2rem 0 1.15rem}
.article-copy p{margin:0 0 1.35rem}
.article-rail .record-proof{padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink)}
.rail-topics-title{margin-top:34px!important}

/* v0.5.4 — LOCKED Earlier Work article mockup */
.archive-article{padding:36px 0 24px}.aa-hero{display:grid;grid-template-columns:1.03fr 1fr;gap:44px;align-items:stretch}.aa-hero__copy{padding:6px 0 12px}.aa-meta{font:600 10px/1.2 var(--km-sans);letter-spacing:.24em;text-transform:uppercase;margin-bottom:26px}.aa-meta span{padding:0 10px}.aa-hero h1{font:400 clamp(44px,4.2vw,68px)/.98 var(--km-serif);letter-spacing:-.035em;margin:0 0 18px;max-width:12ch}.aa-standfirst{font:400 17px/1.35 var(--km-serif);max-width:580px;margin:0 0 18px}.aa-short-rule,.aa-mini-rule{display:block;width:24px;border-top:1px solid #173043;margin:17px 0}.aa-byline{font:600 10px/1 var(--km-sans);letter-spacing:.22em;text-transform:uppercase}.aa-hero__art{min-height:330px;background:#d8d6d0;position:relative;overflow:hidden}.aa-shape-art{background:linear-gradient(135deg,#c8c8c5,#eeeae3)}.aa-architecture{position:absolute;inset:-15% 35% -20% -8%;background:repeating-linear-gradient(75deg,rgba(25,38,45,.42) 0 1px,transparent 1px 19px),repeating-linear-gradient(0deg,rgba(25,38,45,.22) 0 1px,transparent 1px 29px);transform:skewX(-12deg);border-right:2px solid rgba(25,38,45,.35)}.aa-art-words{position:absolute;right:10%;top:13%;font:500 20px/1.5 var(--km-serif);letter-spacing:.25em}.aa-generic-art{height:100%;padding:34px;display:flex;flex-direction:column;justify-content:space-between}.aa-generic-art span{font:600 10px var(--km-sans);letter-spacing:.2em}.aa-generic-art strong{font:400 36px/1.05 var(--km-serif);max-width:12ch}.aa-divider{border-top:1px solid var(--km-line);margin-top:20px}.aa-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:44px;padding-top:24px}.aa-copy{font:400 17px/1.38 var(--km-serif);padding-right:8px}.aa-copy p{max-width:700px;margin:0 0 18px}.aa-original-content h2{font:400 28px/1.1 var(--km-serif);margin:34px 0 12px}.aa-original-content [class*="clickToTweet"]{display:none}.aa-diagram{background:#f0eee8;margin:28px 0 30px;padding:22px}.aa-diagram__head b{display:block;font:600 10px var(--km-sans);letter-spacing:.2em}.aa-diagram__head span{font-size:15px}.aa-diagram__grid{display:grid;grid-template-columns:1fr 40px 1fr 1.1fr;gap:16px;align-items:center;margin-top:22px}.aa-diagram__grid>div:not(.aa-arrow){display:grid;gap:7px;text-align:center}.aa-diagram__grid strong{font-size:15px;margin-bottom:4px}.aa-diagram__grid i{font-style:normal;background:#deddd9;padding:8px;font-size:14px}.aa-arrow{text-align:center;font-size:25px}.aa-diagram blockquote{border-left:1px solid #9aa0a0;padding-left:20px;font-size:15px;font-style:italic;margin:0}.aa-pullquote{border-left:2px solid #8c302c;margin:34px 0 10px;padding:6px 0 6px 38px;font:italic 27px/1.18 var(--km-serif)}.aa-pullquote small{display:block;margin-top:22px;font:600 9px var(--km-sans);letter-spacing:.22em}.aa-rail{border-left:1px solid var(--km-line);padding-left:30px}.aa-rail section{margin-bottom:28px}.aa-rail h3{font:600 10px/1.2 var(--km-sans);letter-spacing:.24em;margin:0 0 15px}.aa-rail p{font:400 14px/1.25 var(--km-serif);margin:0 0 18px}.aa-tags{display:flex;flex-wrap:wrap;gap:6px}.aa-tags span{background:#eeece7;padding:8px 12px;font-size:12px}.aa-share{font:600 19px var(--km-sans)}.aa-on{background:#f0eee8;padding:18px 20px}.aa-on .aa-mini-rule{margin-top:0}.aa-related{display:grid;grid-template-columns:1fr auto;text-decoration:none;border-bottom:1px solid var(--km-line);padding:8px 0;font-size:13px;line-height:1.15}.aa-related small{grid-column:1/-1;font:600 8px var(--km-sans);letter-spacing:.16em;margin-top:5px}.aa-related b{font-weight:400;color:#8c302c}.aa-prevnext{border-top:1px solid var(--km-line);border-bottom:1px solid var(--km-line);margin-top:26px;padding:18px 0;display:grid;grid-template-columns:1fr 1fr}.aa-prevnext>div{padding:0 22px}.aa-prevnext>div+div{text-align:right;border-left:1px solid var(--km-line)}.aa-prevnext small,.aa-prevnext em{display:block;font:600 8px var(--km-sans);letter-spacing:.18em;font-style:normal}.aa-prevnext a{display:block;text-decoration:none;font:400 15px/1.15 var(--km-serif);margin:8px 0;max-width:300px}.aa-prevnext>div+div a{margin-left:auto}
@media(max-width:900px){.aa-hero,.aa-layout{grid-template-columns:1fr}.aa-hero h1{max-width:none}.aa-hero__art{min-height:280px}.aa-rail{border-left:0;border-top:1px solid var(--km-line);padding:25px 0 0}.aa-diagram__grid{grid-template-columns:1fr}.aa-arrow{transform:rotate(90deg)}.aa-prevnext{grid-template-columns:1fr}.aa-prevnext>div+div{border-left:0;border-top:1px solid var(--km-line);padding-top:18px;margin-top:18px}}

/* v0.5.4 — all recovered articles use the locked Earlier Work editorial template */
.aa-editorial-art{position:absolute;inset:0;padding:34px 38px;background:#d8d6d0;overflow:hidden;color:var(--km-text)}
.aa-editorial-art__geometry{position:absolute;inset:0;opacity:.78}
.aa-editorial-art__meta{position:relative;z-index:2;font:600 9px/1.2 var(--km-sans);letter-spacing:.22em;text-transform:uppercase;max-width:48%}
.aa-editorial-art__title{position:absolute;z-index:2;left:38px;bottom:52px;width:min(58%,360px);font:400 clamp(25px,2.4vw,38px)/1.02 var(--km-serif);letter-spacing:-.025em}
.aa-editorial-art__ref{position:absolute;z-index:2;right:30px;bottom:25px;font:600 8px/1 var(--km-sans);letter-spacing:.18em}
.aa-editorial-art--0 .aa-editorial-art__geometry{left:47%;background:repeating-linear-gradient(76deg,rgba(24,42,52,.42) 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,rgba(24,42,52,.18) 0 1px,transparent 1px 31px);transform:skewX(-10deg) scale(1.25)}
.aa-editorial-art--1 .aa-editorial-art__geometry{inset:-20%;background:repeating-radial-gradient(ellipse at 76% 54%,transparent 0 19px,rgba(24,42,52,.26) 20px 21px,transparent 22px 39px)}
.aa-editorial-art--2 .aa-editorial-art__geometry{left:54%;background:repeating-linear-gradient(90deg,rgba(24,42,52,.35) 0 1px,transparent 1px 24px),linear-gradient(145deg,transparent 0 46%,rgba(24,42,52,.22) 46% 47%,transparent 47%)}
.aa-editorial-art--3 .aa-editorial-art__geometry{left:49%;background:repeating-linear-gradient(135deg,rgba(24,42,52,.27) 0 2px,transparent 2px 27px),repeating-linear-gradient(45deg,rgba(24,42,52,.13) 0 1px,transparent 1px 35px)}
.aa-editorial-art--4 .aa-editorial-art__geometry{left:52%;background:linear-gradient(90deg,transparent 0 11%,rgba(24,42,52,.18) 11% 12%,transparent 12% 27%,rgba(24,42,52,.28) 27% 28%,transparent 28% 47%,rgba(24,42,52,.38) 47% 48%,transparent 48%),repeating-linear-gradient(0deg,transparent 0 31px,rgba(24,42,52,.15) 31px 32px)}
.aa-editorial-art--5 .aa-editorial-art__geometry{left:50%;background:repeating-conic-gradient(from 45deg at 70% 50%,rgba(24,42,52,.25) 0 1deg,transparent 1deg 14deg)}
.aa-original-content img,.aa-original-content iframe,.aa-original-content figure{max-width:100%;height:auto}
.aa-original-content blockquote:not(.aa-pullquote){border-left:1px solid var(--km-line);margin:28px 0;padding-left:24px;font-style:italic}
.aa-original-content ul,.aa-original-content ol{max-width:700px;margin:0 0 20px;padding-left:24px}
.aa-original-content li{margin-bottom:7px}
.aa-original-content a{text-decoration-thickness:1px;text-underline-offset:3px}
@media(max-width:900px){.aa-editorial-art__title{width:70%;font-size:30px}.aa-editorial-art__geometry{left:45%!important}}

/* v0.5.4 — archive catalogue links: preserve the locked catalogue typography. */
.ew-row h3 a{color:inherit;text-decoration:none}
.ew-row h3 a:hover,.ew-row h3 a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}


/* v0.5.5 — progressive Earlier Work catalogue: five visible rows at a time. */
.ew-row[hidden]{display:none!important}
.ew-catalogue-more{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0 4px;border-top:1px solid var(--km-line)}
.ew-catalogue-more[hidden]{display:none!important}
.ew-catalogue-count{margin:0;font:600 9px/1.2 var(--km-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--km-muted)}
.ew-load-more{appearance:none;border:0;border-bottom:1px solid currentColor;background:transparent;padding:0 0 5px;color:#7d342f;cursor:pointer;font:400 15px/1.2 var(--km-serif)}
.ew-load-more:hover,.ew-load-more:focus-visible{color:var(--km-text)}
@media(max-width:640px){.ew-catalogue-more{align-items:flex-start;flex-direction:column;gap:14px}}
