/*
Theme Name: TOAEM Exact
Theme URI: https://toaem.com
Author: Thoughts of an Everyday Man
Description: WordPress version of the supplied Thoughts of an Everyday Man HTML design.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: toaem-exact
*/

:root{
    --paper:#E9E5DB;
    --paper-deep:#DFDACC;
    --ink:#26262A;
    --ink-soft:#514F4A;
    --wine:#7A4450;
    --sage:#66765C;
    --line:#C6BFAE;
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }

  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter', sans-serif;
    -webkit-font-smoothing:antialiased;
  }

  @media (prefers-reduced-motion: reduce){
    *{ animation:none !important; transition:none !important; }
  }

  a{ color:inherit; }

  /* ---------- NAV ---------- */
  header.site{
    position:sticky; top:0; z-index:10;
    display:flex; align-items:center; justify-content:space-between;
    padding:22px clamp(20px,6vw,64px);
    background:rgba(233,229,219,0.86);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .mark{
    display:flex; align-items:center; gap:10px;
    font-family:'JetBrains Mono', monospace;
    font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--ink-soft);
  }
  .mark .dot{
    width:8px; height:8px; border-radius:50%;
    background:var(--wine);
    animation:breathe 4s ease-in-out infinite;
  }
  @keyframes breathe{
    0%,100%{ transform:scale(1); opacity:0.85; }
    50%{ transform:scale(1.6); opacity:0.4; }
  }
  nav.links{
    display:flex; gap:28px;
    font-family:'JetBrains Mono', monospace;
    font-size:12.5px; letter-spacing:0.05em; text-transform:uppercase;
    color:var(--ink-soft);
  }
  nav.links a{ text-decoration:none; border-bottom:1px solid transparent; padding-bottom:2px; transition:border-color .2s; }
  nav.links a:hover{ border-color:var(--wine); }

  /* ---------- HERO ---------- */
  .hero{
    padding:clamp(70px,14vw,140px) clamp(20px,6vw,64px) clamp(50px,8vw,90px);
    max-width:980px;
  }
  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:13px; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--sage);
    margin:0 0 22px;
  }
  h1.title{
    font-family:'Fraunces', serif;
    font-weight:500;
    font-size:clamp(2.6rem, 6.4vw, 5.2rem);
    line-height:1.02;
    letter-spacing:-0.01em;
    margin:0 0 6px;
  }
  h1.title em{
    font-style:italic;
    font-weight:400;
    color:var(--wine);
  }
  .subtitle{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-weight:400;
    font-size:clamp(1.2rem,2.4vw,1.6rem);
    color:var(--ink-soft);
    margin:0 0 40px;
  }
  .pulse-line{
    position:relative;
    height:1px;
    width:100%;
    background:var(--line);
    margin:0 0 40px;
    overflow:visible;
  }
  .pulse-line::after{
    content:'';
    position:absolute;
    top:-1px; left:0;
    height:3px;
    width:64px;
    border-radius:2px;
    background:var(--wine);
    animation:pulseTravel 7s ease-in-out infinite;
  }
  @keyframes pulseTravel{
    0%{ left:0%; opacity:0; }
    8%{ opacity:1; }
    48%{ opacity:1; }
    56%{ left:calc(100% - 64px); opacity:0.9;}
    62%{ opacity:0; }
    100%{ left:0%; opacity:0; }
  }
  .hero-lede{
    font-size:1.05rem;
    line-height:1.75;
    color:var(--ink-soft);
    max-width:640px;
  }

  /* ---------- MANIFESTO ---------- */
  .manifesto{
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:clamp(48px,7vw,72px) clamp(20px,6vw,64px);
    background:var(--paper-deep);
  }
  .manifesto-inner{
    max-width:760px; margin:0 auto;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:clamp(20px,5vw,48px);
  }
  .manifesto-label{
    font-family:'JetBrains Mono', monospace;
    font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--sage);
    white-space:nowrap;
    padding-top:4px;
  }
  .manifesto p{
    font-family:'Fraunces', serif;
    font-weight:400;
    font-size:clamp(1.15rem,2.4vw,1.45rem);
    line-height:1.5;
    margin:0 0 22px;
    color:var(--ink);
  }
  .manifesto p:last-child{ margin-bottom:0; }
  .manifesto p .accent{ color:var(--wine); font-style:italic; }

  /* ---------- POST INDEX / SECTION LABEL ---------- */
  .section-head{
    display:flex; align-items:baseline; gap:18px;
    padding:56px clamp(20px,6vw,64px) 0;
    max-width:760px; margin:0 auto;
  }
  .section-head h2{
    font-family:'JetBrains Mono', monospace;
    font-size:13px; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--ink-soft);
    margin:0;
  }
  .section-head .rule{
    flex:1; height:1px; background:var(--line);
  }

  /* ---------- POST ---------- */
  article.post{
    max-width:760px; margin:0 auto;
    padding:40px clamp(20px,6vw,64px) 100px;
  }
  .week-badge{
    display:inline-flex; align-items:center; justify-content:center;
    width:64px; height:64px;
    border:1.5px solid var(--wine);
    border-radius:52% 48% 47% 53% / 53% 47% 53% 47%;
    transform:rotate(-3deg);
    font-family:'JetBrains Mono', monospace;
    font-size:12px; letter-spacing:0.04em;
    color:var(--wine);
    margin-bottom:26px;
    flex-direction:column;
    line-height:1.1;
  }
  .week-badge b{ font-size:17px; font-weight:500; }

  .post-meta{
    font-family:'JetBrains Mono', monospace;
    font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase;
    color:var(--ink-soft);
    margin:0 0 14px;
  }
  h3.post-title{
    font-family:'Fraunces', serif;
    font-weight:500;
    font-size:clamp(1.9rem,4vw,2.6rem);
    line-height:1.12;
    margin:0 0 32px;
    max-width:600px;
  }
  .post-body p{
    font-family:'Fraunces', serif;
    font-weight:400;
    font-size:1.18rem;
    line-height:1.8;
    color:var(--ink);
    margin:0 0 26px;
  }
  .post-body p.emphasis{
    padding-left:20px;
    border-left:2px solid var(--sage);
    color:var(--ink);
  }
  .post-body p.callout{
    font-style:italic;
    color:var(--wine);
    font-size:1.28rem;
  }
  .post-body p strong{ font-weight:500; color:var(--wine); font-style:normal; }

  .post-close{
    margin-top:48px;
    padding-top:28px;
    border-top:1px solid var(--line);
    font-family:'JetBrains Mono', monospace;
    font-size:12.5px; letter-spacing:0.05em; text-transform:uppercase;
    color:var(--ink-soft);
    display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
  }
  .post-close .sign{
    font-family:'Fraunces', serif;
    font-style:italic;
    text-transform:none;
    letter-spacing:0;
    font-size:1rem;
    color:var(--ink);
  }

  /* ---------- FOOTER ---------- */
  footer.site{
    padding:48px clamp(20px,6vw,64px) 60px;
    border-top:1px solid var(--line);
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
    font-family:'JetBrains Mono', monospace;
    font-size:12px; letter-spacing:0.05em; text-transform:uppercase;
    color:var(--ink-soft);
  }

  /* scroll reveal */
  .reveal{
    opacity:0; transform:translateY(14px);
    transition:opacity .7s ease, transform .7s ease;
  }
  .reveal.in{ opacity:1; transform:translateY(0); }

  @media (max-width:640px){
    .manifesto-inner{ grid-template-columns:1fr; }
    .manifesto-label{ padding-top:0; }
    nav.links{ display:none; }
  }

.mark { text-decoration:none; }
h3.post-title a { text-decoration:none; }
h3.post-title a:hover { color:var(--wine); }
.post-body img { max-width:100%; height:auto; }
nav.links ul { display:flex; gap:28px; list-style:none; margin:0; padding:0; }
nav.links li { margin:0; }
nav.links .current-menu-item a { border-color:var(--wine); }
.pagination { max-width:760px; margin:0 auto 80px; padding:0 clamp(20px,6vw,64px); }
.pagination .nav-links { display:flex; justify-content:space-between; gap:20px; }
.pagination a { text-decoration:none; font-family:'JetBrains Mono', monospace; font-size:12.5px; text-transform:uppercase; }
.screen-reader-text { position:absolute; left:-9999px; }
