/* ═══════════════════════════════════════════════
   TOSH THEME — screen.css
   Consolidated from all mockup pages.
═══════════════════════════════════════════════ */

/* ── RESET & ROOT ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  background:var(--cream);color:var(--ink);
  font-family:'DM Sans',system-ui,sans-serif;
  font-weight:400;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
::selection{background:var(--navy);color:var(--cream);}

:root{
  --cream:#f2ece2;
  --ink:#1c1610;
  --navy:#1535c9;
  --bg-dark:#0e2499;
  --bg-darker:#091878;
  --accent:#e8920a;
  --accent-light:#f0a830;
  --terracotta:#c45c3a;
  --rule:rgba(28,22,16,0.1);
  --muted:rgba(28,22,16,0.62);
  --closing-rule:rgba(242,236,226,0.2);
  --serif:'Fraunces',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --gh-font-heading:'Fraunces',Georgia,serif;
  --gh-font-body:'DM Sans',system-ui,sans-serif;
  --link:#1535c9;
  --edge:clamp(20px,5vw,60px);
  --col:680px;
}

/* ── GRAIN TEXTURE ── */
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;
  z-index:998;opacity:0.025;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── DARK MODE TOGGLE ── */
.theme-toggle{
  position:fixed;bottom:80px;right:20px;z-index:99999;
  width:40px;height:40px;border-radius:50%;
  background:var(--ink);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;box-shadow:0 4px 16px rgba(0,0,0,0.15);
  transition:background .3s,transform .2s;
}
.theme-toggle:hover{transform:scale(1.1);}

/* ── DARK MODE BASE ── */
html.dark,body.dark{
  --cream:#0a0f22;
  --ink:#f0ece4;
  --rule:rgba(240,236,228,0.1);
  --muted:rgba(240,236,228,0.65);
  --link:#e8dcc8;
}
html.dark body,body.dark{
  background-color:#0a0f22;
  color:#f0ece4;
}

/* ══════════════════════════════════════════════
   NAV
══════════════════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:62px;display:flex;align-items:center;
  justify-content:space-between;padding:0 var(--edge);
  background:rgba(242,236,226,0.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--rule);
}
.nav-logo{
  display:flex;align-items:center;gap:10px;
  font-family:var(--serif);font-size:16px;
  font-weight:700;color:var(--ink);
}
.nav-logo-img{height:34px;width:auto;display:block;object-fit:contain;}
.nav-monogram{
  width:34px;height:34px;background:var(--navy);
  border-radius:4px;display:flex;align-items:center;
  justify-content:center;font-family:var(--serif);
  font-weight:900;font-size:14px;color:var(--cream);
  letter-spacing:-0.04em;flex-shrink:0;position:relative;
}
.nav-monogram::after{
  content:'';position:absolute;top:4px;right:4px;
  width:5px;height:5px;border-radius:50%;
  background:var(--accent);
}
.nav-links,
.nav-right{display:flex;gap:28px;}
.nav-links a,
.nav-right a{
  font-size:11px;font-weight:500;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--muted);
  transition:color .2s;
}
.nav-links a:hover,
.nav-right a:hover{color:var(--link);}

@media(max-width:600px){
  .nav-logo span{display:none;}
  .nav-links,.nav-right{gap:16px;}
  .nav-links a,.nav-right a{font-size:10px;}
}

/* ══════════════════════════════════════════════
   SHARED PAGE FOOTER ELEMENTS
══════════════════════════════════════════════ */
footer{
  padding:20px var(--edge);
  border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:8px;
}
.ft-l{font-family:var(--sans);font-size:11px;color:var(--muted);}
.ft-r{font-family:var(--serif);font-style:italic;font-size:13px;color:rgba(28,22,16,0.45);}

/* ── SHARED PAGE CLOSING BAND ── */
.page-closing{
  background:var(--navy);
  padding:clamp(48px,6vw,80px) var(--edge);
  display:flex;align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;gap:24px;
}
.pc-text{
  font-family:var(--serif);font-style:italic;font-weight:700;
  font-size:clamp(18px,2.2vw,26px);
  color:rgba(255,255,255,0.82);letter-spacing:-0.01em;
}
.pc-link{
  font-family:var(--sans);font-size:10px;letter-spacing:0.16em;
  text-transform:uppercase;color:rgba(255,255,255,0.5);
  border-bottom:1px solid rgba(255,255,255,0.2);
  padding-bottom:3px;transition:color .2s,border-color .2s;
}
.pc-link:hover{color:#fff;border-color:#fff;}

/* ══════════════════════════════════════════════
   PAGE HEADER (beliefs + SOR shared)
══════════════════════════════════════════════ */
.page-header{
  background:var(--navy);
  padding:clamp(80px,10vw,140px) var(--edge) clamp(48px,6vw,80px);
}
.page-eyebrow{
  font-family:var(--sans);font-size:9px;
  letter-spacing:0.26em;text-transform:uppercase;
  color:var(--accent-light);margin-bottom:16px;
  padding-top:62px;font-weight:500;
}
.page-h1{
  font-family:var(--serif);font-weight:900;
  font-size:clamp(36px,6vw,80px);
  line-height:0.92;letter-spacing:-0.03em;
  color:#fff;margin-bottom:28px;
}
.page-intro{
  font-family:var(--sans);font-size:clamp(15px,1.5vw,18px);
  font-weight:400;line-height:1.7;
  color:rgba(255,255,255,0.88);max-width:560px;
}

/* ══════════════════════════════════════════════
   HOMEPAGE
══════════════════════════════════════════════ */

/* Opening */
.opening{padding-top:62px;}
.opening-inner{
  padding:clamp(60px,8vw,120px) var(--edge) clamp(40px,5vw,72px);
  border-bottom:1px solid var(--rule);
}
.opening-eyebrow{
  display:flex;align-items:center;gap:10px;
  font-size:9px;letter-spacing:0.24em;text-transform:uppercase;
  color:var(--navy);opacity:0.55;margin-bottom:20px;
}
.ey-dash{width:22px;height:1px;background:var(--navy);opacity:0.35;}
.opening-placeholder{
  font-family:var(--sans);font-weight:400;
  font-size:clamp(11px,1.2vw,14px);
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--accent);margin-bottom:16px;
}
.opening-h1{
  font-family:var(--serif);
  font-size:clamp(48px,8vw,120px);
  font-weight:900;line-height:0.92;letter-spacing:-0.03em;
  color:var(--ink);white-space:nowrap;
}
.opening-h1 em{font-style:italic;font-weight:700;color:var(--navy);display:block;}
.opening-tosh{
  font-family:var(--sans);font-weight:400;
  font-size:clamp(14px,1.6vw,20px);
  color:var(--navy);margin-top:16px;
  letter-spacing:0.04em;line-height:1.2;
}
.opening-bottom{margin-top:32px;}
.opening-body{
  font-family:var(--sans);
  font-size:clamp(14px,1.3vw,16px);
  font-weight:400;line-height:1.8;color:var(--muted);
}
.opening-cta{
  display:inline-flex;align-items:center;gap:10px;
  font-size:10px;font-weight:400;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--link);
  border-bottom:1px solid var(--link);padding-bottom:3px;
  transition:gap .2s,opacity .2s;width:fit-content;opacity:0.6;
}
.opening-cta:hover{gap:16px;opacity:1;}

/* Hero strip */
.hero-strip{
  border-top:1px solid var(--rule);
  display:grid;grid-template-columns:repeat(4,1fr);
  height:80px;flex-shrink:0;
}
.si{
  display:flex;flex-direction:column;justify-content:center;
  padding:0 clamp(14px,2.5vw,28px);
  border-right:1px solid var(--rule);gap:4px;
}
.si:last-child{border-right:none;}
.si-l{font-size:8px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);}
.si-v{font-family:var(--serif);font-size:clamp(12px,1.2vw,15px);font-weight:700;color:var(--ink);}

@media(max-width:820px){
  .hero-strip{grid-template-columns:1fr 1fr;}
  .si:nth-child(2){border-right:none;}
  .si:nth-child(3){border-top:1px solid var(--rule);}
  .si:nth-child(4){border-top:1px solid var(--rule);border-right:none;}
}

/* Now band */
.now-band{
  background:var(--navy);padding:52px var(--edge);
  display:grid;grid-template-columns:160px 1fr;
  gap:clamp(20px,4vw,60px);align-items:start;
}
.now-lbl{
  font-size:9px;letter-spacing:0.22em;text-transform:uppercase;
  color:rgba(242,236,226,0.6);
  display:flex;align-items:center;gap:8px;padding-top:5px;
}
.now-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--accent);flex-shrink:0;
  animation:pulse 2.5s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.2;}}
.now-text{
  font-family:var(--serif);font-style:italic;font-weight:700;
  font-size:clamp(20px,2.6vw,32px);
  line-height:1.4;color:rgba(242,236,226,0.85);letter-spacing:-0.01em;
}
.now-text strong{color:var(--accent-light);font-style:normal;}
.now-text p{
  font-family:var(--serif);font-style:italic;font-weight:700;
  font-size:clamp(20px,2.6vw,32px);
  line-height:1.4;color:rgba(242,236,226,0.85);
  letter-spacing:-0.01em;margin:0;
}
.now-text p strong{color:var(--accent-light);font-style:normal;}
.now-date{
  font-family:var(--sans);font-size:9px;
  letter-spacing:0.14em;text-transform:uppercase;
  color:rgba(242,236,226,0.5);margin-top:14px;
}

@media(max-width:700px){.now-band{grid-template-columns:1fr;}}

/* Sections */
.section{padding:80px var(--edge);}
.section+.section{padding-top:0;}
.sh{display:flex;align-items:center;gap:16px;margin-bottom:52px;}
.sh-num{font-family:var(--sans);font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--navy);opacity:0.45;flex-shrink:0;}
.sh-title{font-family:var(--serif);font-size:clamp(28px,3.8vw,44px);font-weight:900;line-height:1;letter-spacing:-0.02em;color:var(--ink);}
.sh-rule{flex:1;height:1px;background:var(--rule);margin-left:8px;}

/* Belief flash (homepage teaser) */
.belief-flash{
  padding:clamp(32px,4vw,56px) 0 clamp(32px,4vw,56px) clamp(20px,3vw,36px);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  border-left:3px solid var(--accent);
  display:flex;flex-direction:column;gap:14px;
  max-width:780px;
  transition:opacity .8s ease,transform .8s ease;
}
.will-animate .belief-flash{opacity:0;transform:translateY(12px);}
.belief-flash.vis{opacity:1;transform:none;}
.bf-label{
  font-family:var(--sans);font-size:9px;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--accent);
}
.bf-text{
  font-family:var(--serif);font-weight:700;
  font-size:clamp(22px,2.8vw,36px);
  line-height:1.2;letter-spacing:-0.02em;color:var(--ink);
  border:none;padding:0;margin:0;font-style:normal;
}
.bf-sub{
  font-family:var(--sans);font-size:13px;
  font-weight:400;color:var(--muted);
  line-height:1.6;max-width:500px;
}
.bf-link{
  font-family:var(--sans);font-size:10px;font-weight:500;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--navy);border-bottom:1px solid var(--navy);
  padding-bottom:2px;width:fit-content;
  transition:opacity .2s;margin-top:4px;
}
.bf-link:hover{opacity:0.6;}

.beliefs-grid{display:none;}

/* Writing section */
.wl-section{padding:80px var(--edge);}
.wl-header{
  display:flex;align-items:center;gap:16px;
  margin-bottom:48px;
}
.wl-label{
  font-family:var(--serif);font-weight:900;
  font-size:clamp(24px,2.8vw,36px);
  line-height:1;letter-spacing:-0.02em;
  color:var(--ink);flex-shrink:0;
}
.wl-rule{flex:1;height:1px;background:var(--rule);}
.wl{display:flex;flex-direction:column;}
.wi{
  padding:clamp(28px,3.5vw,48px) 0 clamp(28px,3.5vw,48px) clamp(18px,2.5vw,30px);
  border-top:1px solid var(--rule);
  border-left:3px solid var(--accent);
  display:flex;flex-direction:column;gap:12px;
  transition:opacity .55s ease,transform .55s ease,padding-left .2s ease;
}
.will-animate .wi{opacity:0;transform:translateY(16px);}
.wi.vis{opacity:1;transform:none;}
.wi:last-child{border-bottom:1px solid var(--rule);}
.wi:hover{padding-left:clamp(26px,3.5vw,40px);}
.wi:hover .wi-title{color:var(--link);}
.wi-tag{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent-light);}
.wi-title{font-family:var(--serif);font-weight:700;font-size:clamp(20px,2.5vw,32px);line-height:1.2;letter-spacing:-0.02em;color:var(--ink);transition:color .2s;}
.wi-excerpt{font-family:var(--sans);font-size:13px;font-weight:400;line-height:1.6;color:var(--muted);max-width:520px;}

/* Newsletter band */
.newsletter-band{background:var(--navy);padding:clamp(52px,7vw,96px) var(--edge);}
.nl-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;}
.nl-eyebrow{font-family:var(--sans);font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent-light);margin-bottom:14px;}
.nl-hed{font-family:var(--serif);font-weight:900;font-size:clamp(28px,4vw,48px);line-height:1.0;letter-spacing:-0.02em;color:#fff;margin-bottom:14px;}
.nl-sub{font-family:var(--sans);font-size:clamp(13px,1.2vw,15px);color:rgba(255,255,255,0.65);line-height:1.7;}
.nl-form{display:flex;flex-direction:column;gap:10px;}
.nl-input{
  font-family:var(--sans);font-size:14px;font-weight:400;
  padding:14px 18px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.2);
  color:#fff;outline:none;
  transition:border-color .2s,background .2s;
}
.nl-input::placeholder{color:rgba(255,255,255,0.4);}
.nl-input:focus{border-color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.12);}
.nl-btn{
  font-family:var(--sans);font-size:10px;font-weight:500;
  letter-spacing:0.14em;text-transform:uppercase;
  padding:14px 24px;background:var(--accent);color:#fff;
  border:none;cursor:pointer;
  transition:background .2s,transform .15s;text-align:center;
}
.nl-btn:hover{background:var(--accent-light);transform:translateY(-1px);}
.nl-confirm{display:none;font-family:var(--sans);font-size:13px;color:var(--accent-light);margin-top:8px;}
.nl-confirm.show{display:block;}

@media(max-width:700px){.nl-inner{grid-template-columns:1fr;gap:32px;}}

/* Closing (particle section — homepage only) */
.closing{background:var(--navy);padding:0;position:relative;overflow:hidden;}
#particleCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.closing-content{
  position:relative;z-index:1;
  padding:80px var(--edge);
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(32px,6vw,80px);align-items:end;
}
.cl-hed{
  font-family:var(--serif);font-size:clamp(44px,8vw,104px);
  font-weight:900;line-height:0.88;letter-spacing:-0.03em;color:#ffffff;
}
.cl-hed em{font-style:italic;font-weight:700;color:var(--accent-light);}
.cl-links{display:flex;flex-direction:column;}
.cl-link{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 0;border-bottom:1px solid rgba(255,255,255,0.15);
  transition:padding-left .18s;
}
.cl-link:last-child{border-bottom:none;}
.cl-link:hover{padding-left:10px;}
.cl-n{font-family:var(--serif);font-size:clamp(16px,1.8vw,21px);font-weight:700;color:rgba(255,255,255,0.85);transition:color .2s;}
.cl-link:hover .cl-n{color:#ffffff;}
.cl-a{font-size:15px;color:rgba(255,255,255,0.5);transition:color .2s;}
.cl-link:hover .cl-a{color:var(--accent-light);}
.footer-wrap{position:relative;overflow:hidden;background:var(--cream);}

@media(max-width:700px){.closing-content{grid-template-columns:1fr;}}

/* ══════════════════════════════════════════════
   SINGLE POST
══════════════════════════════════════════════ */
.progress{
  position:fixed;top:0;left:0;height:2px;
  background:var(--accent);z-index:9990;
  width:0%;transition:width .08s linear;
}

.post-header{
  background:var(--navy);
  padding:clamp(100px,12vw,160px) var(--edge) clamp(52px,6vw,80px);
}
.post-meta{
  display:flex;align-items:center;gap:10px;
  margin-bottom:28px;flex-wrap:wrap;
}
.post-tag{
  font-family:var(--sans);font-size:9px;
  letter-spacing:0.2em;text-transform:uppercase;
  color:var(--accent-light);font-weight:500;
}
.post-date{font-family:var(--sans);font-size:9px;letter-spacing:0.1em;color:rgba(255,255,255,0.5);}
.post-read{font-family:var(--sans);font-size:9px;letter-spacing:0.1em;color:rgba(255,255,255,0.5);}
.meta-sep{color:rgba(255,255,255,0.25);font-size:11px;}
.post-title{
  font-family:var(--serif);font-weight:900;
  font-size:clamp(36px,6vw,80px);
  line-height:0.92;letter-spacing:-0.03em;
  color:#fff;margin-bottom:24px;max-width:820px;
}
.post-deck{
  font-family:var(--sans);font-size:clamp(15px,1.5vw,18px);
  font-weight:400;line-height:1.7;
  color:rgba(255,255,255,0.72);max-width:560px;
}

/* Post body */
.post-body{
  max-width:calc(var(--col) + var(--edge) * 2);
  margin:0 auto;
  padding:clamp(48px,6vw,80px) var(--edge);
}
.post-body>p:first-child::first-letter{
  font-family:var(--serif);font-weight:900;
  font-size:5em;line-height:0.72;
  float:left;margin-right:8px;margin-top:8px;
  color:var(--accent);
}
.post-body p{
  font-family:var(--sans);
  font-size:clamp(16px,1.5vw,18px);
  font-weight:400;line-height:1.8;
  color:var(--ink);margin-bottom:1.6em;
}
.post-body p:last-child{margin-bottom:0;}
.post-body h2{
  font-family:var(--serif);font-weight:900;
  font-size:clamp(24px,3vw,36px);
  letter-spacing:-0.02em;line-height:1.05;
  color:var(--ink);margin:2.5em 0 0.8em;
}
.post-body h3{
  font-family:var(--serif);font-weight:700;
  font-size:clamp(18px,2vw,24px);
  letter-spacing:-0.01em;line-height:1.2;
  color:var(--ink);margin:2em 0 0.6em;
}
.post-body a{
  color:var(--link);
  border-bottom:1px solid rgba(21,53,201,0.3);
  transition:border-color .2s;
}
.post-body a:hover{border-color:var(--link);}
.post-body strong{font-weight:500;}
.post-body ul,.post-body ol{margin:0 0 1.6em 1.2em;}
.post-body li{
  font-family:var(--sans);font-size:clamp(16px,1.5vw,18px);
  font-weight:400;line-height:1.8;
  margin-bottom:0.4em;color:var(--ink);
}
.post-body blockquote{
  margin:2.5em calc(var(--edge) * -1 + 24px);
  padding:32px clamp(24px,4vw,48px);
  border-left:3px solid var(--navy);
}
.post-body blockquote p{
  font-family:var(--serif);font-style:italic;font-weight:700;
  font-size:clamp(20px,2.5vw,28px);
  line-height:1.35;color:var(--ink);
  margin-bottom:0;letter-spacing:-0.01em;
}
.post-body .pull-quote{
  margin:2.5em calc(var(--edge) * -1);
  padding:40px var(--edge);background:var(--navy);
}
.post-body .pull-quote p{
  font-family:var(--serif);font-style:italic;font-weight:700;
  font-size:clamp(22px,3vw,36px);
  color:rgba(255,255,255,0.9);
  line-height:1.25;letter-spacing:-0.02em;margin:0;
}
.post-body .pull-quote p em{color:var(--accent-light);font-style:normal;}

/* Post footer */
.post-footer{
  max-width:calc(var(--col) + var(--edge) * 2);
  margin:0 auto;
  padding:0 var(--edge) clamp(48px,6vw,80px);
}
.pf-rule{height:1px;background:var(--rule);margin-bottom:40px;}

/* Crosspost */
.crosspost{
  display:flex;align-items:center;gap:12px;
  padding:20px 0;margin-bottom:40px;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.crosspost-label{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.crosspost-link{
  font-family:var(--sans);font-size:10px;font-weight:500;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--link);
  border-bottom:1px solid rgba(21,53,201,0.3);
  padding-bottom:1px;transition:border-color .2s;
}
.crosspost-link:hover{border-color:var(--link);}

/* Related posts */
.related-label{
  font-family:var(--sans);font-size:9px;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--accent);margin-bottom:24px;
}
.related-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1px;background:var(--rule);
}
.related-post{
  background:var(--cream);padding:28px 24px;
  transition:background .2s,padding-left .2s;cursor:pointer;
}
.related-post:hover{background:#ece4d4;padding-left:32px;}
.rp-tag{font-family:var(--sans);font-size:8px;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;display:block;}
.rp-title{font-family:var(--serif);font-weight:700;font-size:clamp(16px,1.6vw,19px);color:var(--ink);line-height:1.25;}
.related-post:hover .rp-title{color:var(--navy);}

@media(max-width:560px){.related-grid{grid-template-columns:1fr;}}

/* ══════════════════════════════════════════════
   BELIEFS PAGE
══════════════════════════════════════════════ */
.stats-band{
  background:var(--navy);border-top:1px solid rgba(255,255,255,0.12);
  padding:20px var(--edge);display:flex;
  gap:clamp(20px,4vw,48px);align-items:center;flex-wrap:wrap;
}
.stat-item{
  display:flex;align-items:center;gap:8px;
  font-family:var(--sans);font-size:9px;
  letter-spacing:0.14em;text-transform:uppercase;font-weight:500;
}
.stat-item.active{color:#ffffff;}
.stat-item.evolved{color:var(--accent-light);}
.stat-item.retired{color:#c45c3a;}
.stat-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.active .stat-dot{background:#fff;}
.evolved .stat-dot{background:var(--accent-light);}
.retired .stat-dot{background:#c45c3a;}
.stat-num{font-family:var(--serif);font-weight:700;font-size:14px;margin-right:2px;}

.filter-bar{
  padding:16px var(--edge);border-bottom:1px solid var(--rule);
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
}
.filter-label{font-family:var(--sans);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-right:6px;}
.filter-btn{
  font-family:var(--sans);font-size:9px;letter-spacing:0.1em;
  text-transform:uppercase;padding:6px 16px;
  border:1px solid var(--rule);background:none;
  cursor:pointer;color:var(--muted);
  transition:all .18s;border-radius:2px;
}
.filter-btn:hover{border-color:var(--link);color:var(--link);}
.filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy);}

.beliefs-list{padding:0 var(--edge);}

.belief-item{
  padding:clamp(40px,5vw,68px) 0;
  border-bottom:1px solid var(--rule);
  transition:opacity .65s ease,transform .65s ease;
}
.will-animate .belief-item{opacity:0;transform:translateY(16px);}
.belief-item.vis{opacity:1;transform:none;}
.belief-item:last-child{border-bottom:none;}
.belief-item.hidden{display:none;}

.belief-item.retired{opacity:0.35;}
.belief-item.retired.vis{opacity:0.35;}
.belief-item.retired .bi-title{
  text-decoration:line-through;
  text-decoration-color:rgba(28,22,16,0.45);
  text-decoration-thickness:2px;
}

.bi-header{
  display:flex;align-items:center;
  justify-content:space-between;
  margin-bottom:20px;flex-wrap:wrap;gap:12px;
}
.bi-status{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--sans);font-size:9px;
  letter-spacing:0.16em;text-transform:uppercase;
}
.bi-status.active{color:var(--link);}
.bi-status.evolved{color:var(--accent);}
.bi-status.retired{color:#c45c3a;}
.bi-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.bi-status.active .bi-status-dot{background:var(--navy);}
.bi-status.evolved .bi-status-dot{background:var(--accent);}
.bi-status.retired .bi-status-dot{background:var(--muted);}

.bi-dates{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.bi-date{
  font-family:var(--sans);font-size:9px;
  letter-spacing:0.06em;font-weight:500;color:var(--muted);
  display:flex;align-items:center;gap:5px;
}
.bi-date-icon{opacity:0.45;font-size:10px;width:10px;text-align:center;}

.bi-title{
  font-family:var(--serif);font-weight:900;
  font-size:clamp(26px,4vw,52px);
  line-height:1.05;letter-spacing:-0.025em;
  color:var(--ink);margin-bottom:16px;max-width:820px;
}
.bi-text{
  font-family:var(--sans);font-size:clamp(14px,1.3vw,16px);
  font-weight:400;line-height:1.8;color:var(--muted);
  max-width:640px;margin-bottom:18px;
}

.prev-toggle{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--sans);font-size:9px;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--accent);cursor:pointer;
  border:none;background:none;padding:0;transition:opacity .2s;
}
.prev-toggle:hover{opacity:0.65;}
.prev-toggle svg{transition:transform .25s;}
.prev-toggle.open svg{transform:rotate(180deg);}
.prev-drawer{
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .4s ease,opacity .3s ease,margin .3s ease;
  margin-top:0;
  border-left:3px solid var(--accent);
  padding-left:0;
  background:rgba(232,146,10,0.04);
}
.prev-drawer.open{max-height:400px;opacity:1;margin-top:18px;}
.prev-drawer-inner{padding:20px 24px;}
.prev-label{
  font-family:var(--sans);font-size:8px;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--accent);
  margin-bottom:10px;opacity:0.7;
}
.prev-body{
  font-family:var(--sans);font-size:clamp(13px,1.2vw,15px);
  font-weight:400;line-height:1.75;
  color:var(--muted);font-style:italic;
}

/* ══════════════════════════════════════════════
   SYSTEM OF RECORD
══════════════════════════════════════════════ */
.sor-body{
  max-width:calc(var(--col) + var(--edge) * 2);
  margin:0 auto;
  padding:0 var(--edge) 100px;
}
.sor-body h2{
  font-family:var(--serif);font-weight:900;
  font-size:clamp(28px,3.5vw,42px);
  line-height:1;letter-spacing:-0.03em;
  color:var(--navy);
  margin:clamp(48px,6vw,72px) 0 20px;
  padding-top:clamp(48px,6vw,72px);
  border-top:1px solid var(--rule);
}
.sor-body h2:first-child{
  margin-top:clamp(40px,5vw,64px);
  padding-top:0;border-top:none;
}
.sor-body p{
  font-family:var(--sans);
  font-size:clamp(15px,1.4vw,17px);
  font-weight:400;line-height:1.8;color:var(--ink);
  margin-bottom:1.2em;max-width:640px;
}
.sor-body p:last-child{margin-bottom:0;}
.sor-body a{color:var(--link);border-bottom:1px solid rgba(21,53,201,0.25);transition:border-color .2s;}
.sor-body a:hover{border-color:var(--link);}

/* ══════════════════════════════════════════════
   DARK MODE OVERRIDES
══════════════════════════════════════════════ */
html.dark .nav{background:rgba(10,15,34,0.96);}
html.dark .nav-monogram{background:var(--navy);}

html.dark .ft-r{color:rgba(240,236,228,0.3);}

/* Homepage dark */
html.dark .opening-tosh{color:var(--accent);}
html.dark .opening-placeholder{color:var(--accent-light);}
html.dark .closing{background:var(--navy);}
html.dark .cl-hed{color:#ffffff;}
html.dark .cl-n{color:rgba(255,255,255,0.85);}
html.dark .cl-link{border-bottom-color:rgba(255,255,255,0.12);}

/* Post dark */
html.dark .post-deck{color:rgba(240,236,228,0.72);}
html.dark .post-body blockquote{border-color:var(--navy);}
html.dark .related-post{background:#16161f;}
html.dark .related-post:hover{background:#1e1e2a;}

/* Beliefs dark */
html.dark .filter-bar{border-color:rgba(240,236,228,0.1);}
html.dark .filter-btn{border-color:rgba(240,236,228,0.12);color:var(--muted);}
html.dark .filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy);}
html.dark .belief-item{border-bottom-color:rgba(240,236,228,0.08);}
html.dark .belief-item.retired .bi-title{text-decoration-color:#c45c3a;}
html.dark .prev-drawer{background:rgba(232,146,10,0.06);border-color:rgba(232,146,10,0.18);}

/* SOR dark */
html.dark .sor-body h2{color:var(--accent-light);}
html.dark .sor-body h2{border-color:rgba(240,236,228,0.08);}

/* ── KOENIG EDITOR IMAGE WIDTHS ── */
.kg-width-wide{
  margin-left:calc(50% - 45vw);
  margin-right:calc(50% - 45vw);
  width:90vw;
  max-width:1200px;
}
.kg-width-full{
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  width:100vw;
}

/* ══════════════════════════════════════════════
   PROJECTS PAGE
══════════════════════════════════════════════ */
.projects-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:24px;
  padding:clamp(48px,6vw,80px) var(--edge);
  max-width:1200px;
  margin:0 auto;
}
.project-tile{
  display:flex;flex-direction:column;
  border:1px solid var(--rule);
  background:var(--bg);
  transition:transform .2s ease,box-shadow .2s ease;
}
.project-tile:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 40px rgba(0,0,0,0.1);
}
.pt-visual{
  background:var(--navy);
  height:160px;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.pt-feature-img{
  width:100%;height:100%;
  object-fit:cover;display:block;
}
.pt-body{
  padding:24px 28px 32px;
  display:flex;flex-direction:column;
  flex:1;
  border-top:3px solid var(--accent);
}
.pt-year{
  font-family:var(--sans);font-size:9px;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--accent-light);margin-bottom:10px;
}
.pt-name{
  font-family:var(--serif);font-weight:900;
  font-size:clamp(20px,2.2vw,28px);
  line-height:1.05;letter-spacing:-0.02em;
  color:var(--ink);margin-bottom:14px;
}
.pt-desc{
  font-family:var(--sans);font-size:13px;
  line-height:1.7;color:var(--muted);
  flex:1;margin-bottom:20px;
}
.pt-link{
  font-family:var(--sans);font-size:10px;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--link);text-decoration:none;
  align-self:flex-start;
}
@media(max-width:600px){
  .projects-grid{grid-template-columns:1fr;}
}

/* ══════════════════════════════════════════════
   GENERIC PAGE (page.hbs fallback)
══════════════════════════════════════════════ */
.page-feature-img{width:100%;height:auto;display:block;margin-bottom:40px;}
.generic-page-body{
  max-width:calc(var(--col) + var(--edge) * 2);
  margin:0 auto;padding:clamp(48px,6vw,80px) var(--edge);
  font-family:var(--sans);font-size:clamp(16px,1.5vw,18px);
  line-height:1.8;color:var(--ink);
}
.generic-page-body p{margin-bottom:1.6em;}
.generic-page-body h2{font-family:var(--serif);font-weight:900;font-size:clamp(22px,2.8vw,34px);letter-spacing:-0.02em;color:var(--ink);margin:2.5em 0 0.8em;}
.generic-page-body a{color:var(--link);}

/* ══════════════════════════════════════════════
   KOENIG CARDS — theme overrides
══════════════════════════════════════════════ */

/* Signup card */
.kg-signup-card{
  background:rgba(21,53,201,0.04);
  border-left:3px solid var(--accent);
  padding:clamp(32px,4vw,52px) clamp(24px,4vw,48px);
  margin:2.5em 0;
}
.kg-signup-card-heading{
  font-family:var(--serif) !important;font-weight:900 !important;
  font-size:clamp(24px,3vw,36px) !important;
  line-height:1.1 !important;letter-spacing:-0.02em !important;
  color:var(--ink) !important;margin-bottom:10px !important;
}
.kg-signup-card-subheading{
  font-family:var(--sans) !important;font-size:15px !important;
  color:var(--muted) !important;margin-bottom:24px !important;
  font-weight:400 !important;
}
.kg-signup-card-fields{display:flex;gap:8px;flex-wrap:wrap;}
.kg-signup-card-input{
  font-family:var(--sans) !important;font-size:14px !important;
  padding:12px 16px !important;flex:1;min-width:200px;
  border:1px solid var(--rule) !important;
  background:var(--cream) !important;color:var(--ink) !important;
  outline:none !important;border-radius:0 !important;
  transition:border-color .2s;
}
.kg-signup-card-input:focus{border-color:var(--navy) !important;}
.kg-signup-card-button{
  font-family:var(--sans) !important;font-size:10px !important;
  font-weight:500 !important;letter-spacing:0.14em !important;
  text-transform:uppercase !important;
  padding:12px 24px !important;
  background:var(--accent) !important;color:#fff !important;
  border:none !important;cursor:pointer !important;border-radius:0 !important;
  transition:background .2s !important;
}
.kg-signup-card-button:hover{background:var(--accent-light) !important;}
.kg-signup-card-disclaimer{
  font-family:var(--sans) !important;font-size:11px !important;
  color:var(--muted) !important;margin-top:12px !important;
}
html.dark .kg-signup-card{background:rgba(21,53,201,0.12);}
html.dark .kg-signup-card-input{
  background:rgba(255,255,255,0.05) !important;
  border-color:rgba(240,236,228,0.15) !important;
  color:var(--ink) !important;
}
