:root {
      --paper: #f2eee5;
      --paper-deep: #e7dfd1;
      --ink: #191714;
      --ink-soft: #4c463e;
      --line: rgba(25, 23, 20, .18);
      --orange: #d3541f;
      --orange-dark: #a83b12;
      --cream: #fffaf0;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: Arial, Helvetica, sans-serif;
      -webkit-font-smoothing: antialiased;
    }

    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    .page { overflow: hidden; }

    .announcement {
      min-height: 34px;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 24px;
      padding: 0 46px;
      color: rgba(255,255,255,.65);
      background: var(--ink);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .19em;
      text-transform: uppercase;
    }
    .announcement strong { color: var(--cream); }
    .announcement .issue { justify-self: end; }

    .masthead {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      min-height: 116px;
      align-items: center;
      padding: 0 46px;
      border-bottom: 1px solid var(--line);
    }
    .menu, .navlinks, .actions { display: flex; align-items: center; }
    .menu { gap: 34px; }
    .navlinks { gap: 30px; }
    .navlinks a, .login {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .navlinks a:hover { color: var(--orange); }
    .brand { text-align: center; line-height: 1; }
    .brand-name {
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 42px;
      font-weight: 700;
      letter-spacing: -.055em;
    }
    .brand-name span { color: var(--orange); }
    .brand-sub {
      margin-top: 9px;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .29em;
      text-transform: uppercase;
      color: #777066;
    }
    .actions { justify-content: flex-end; gap: 22px; }
    .subscribe-btn {
      display: inline-flex;
      min-height: 42px;
      align-items: center;
      justify-content: center;
      padding: 0 20px;
      background: var(--orange);
      border: 1px solid var(--orange);
      color: white;
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .17em;
      text-transform: uppercase;
    }
    .search {
      width: 16px;
      height: 16px;
      border: 1.7px solid currentColor;
      border-radius: 50%;
      position: relative;
    }
    .search::after {
      content: '';
      position: absolute;
      width: 6px;
      height: 1.7px;
      right: -5px;
      bottom: -2px;
      background: currentColor;
      transform: rotate(45deg);
    }

    .topic-row {
      display: flex;
      justify-content: center;
      gap: 31px;
      padding: 16px 32px;
      border-bottom: 1px solid var(--line);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .topic-row a:first-child { color: var(--orange); }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 1.23fr) minmax(430px, .77fr);
      min-height: 690px;
      border-bottom: 1px solid var(--line);
    }
    .hero-copy {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 70px 72px 64px 70px;
      border-right: 1px solid var(--line);
    }
    .hero-number {
      position: absolute;
      top: 24px;
      right: 30px;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 122px;
      font-weight: 700;
      line-height: 1;
      color: rgba(211,84,31,.10);
      letter-spacing: -.08em;
    }
    .eyebrow {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 25px;
      color: var(--orange-dark);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .22em;
      text-transform: uppercase;
    }
    .eyebrow::before { content: ''; width: 34px; height: 1px; background: currentColor; }
    h1 {
      max-width: 780px;
      margin: 0;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: clamp(62px, 6vw, 92px);
      font-weight: 400;
      line-height: .99;
      letter-spacing: -.065em;
    }
    h1 em { color: var(--orange); font-weight: 400; }
    .hero-deck {
      max-width: 625px;
      margin: 29px 0 35px;
      color: var(--ink-soft);
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 17px;
      line-height: 1.65;
    }
    .story-meta { display: flex; align-items: center; gap: 18px; }
    .read-link {
      display: inline-flex;
      min-height: 50px;
      align-items: center;
      gap: 20px;
      padding: 0 24px;
      background: var(--ink);
      color: var(--cream);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .read-link b { color: var(--orange); font-size: 16px; }
    .read-time {
      font-size: 9px;
      font-weight: 700;
      color: #777066;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .hero-visual {
      position: relative;
      min-height: 690px;
      overflow: hidden;
      background: #191714;
    }
    .hero-visual::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        linear-gradient(180deg, rgba(25,23,20,.04), rgba(25,23,20,.48)),
        linear-gradient(90deg, rgba(211,84,31,.12), transparent 44%);
    }
    .hero-visual img {
      width: 100%;
      height: 100%;
      position: absolute;
      inset: 0;
      object-fit: cover;
      object-position: 54% 38%;
      filter: saturate(.76) contrast(1.05) brightness(.82);
    }
    .target {
      position: absolute;
      z-index: 2;
      top: 35px;
      right: 31px;
      width: 118px;
      height: 118px;
      border: 1px solid rgba(255,255,255,.46);
      border-radius: 50%;
    }
    .target::before, .target::after {
      content: '';
      position: absolute;
      inset: 24px;
      border: 1px solid rgba(255,255,255,.28);
      border-radius: 50%;
    }
    .target::after { inset: 52px; border: 0; background: var(--orange); }
    .photo-caption {
      position: absolute;
      z-index: 2;
      left: 30px;
      right: 30px;
      bottom: 31px;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      padding-top: 21px;
      border-top: 1px solid rgba(255,255,255,.4);
      color: white;
    }
    .photo-caption strong {
      display: block;
      margin-bottom: 5px;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 21px;
      font-weight: 400;
    }
    .photo-caption span, .photo-caption small {
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .17em;
      text-transform: uppercase;
    }
    .photo-caption small { color: rgba(255,255,255,.65); }

    .manifesto {
      display: grid;
      grid-template-columns: 145px 1fr 250px;
      gap: 44px;
      align-items: center;
      padding: 36px 70px;
      background: var(--orange);
      color: white;
    }
    .manifesto-label {
      font-size: 9px;
      font-weight: 800;
      line-height: 1.5;
      letter-spacing: .2em;
      text-transform: uppercase;
    }
    .manifesto p {
      margin: 0;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 26px;
      line-height: 1.32;
      letter-spacing: -.02em;
    }
    .manifesto p em { color: #401409; }
    .manifesto-place {
      justify-self: end;
      text-align: right;
      font-size: 9px;
      font-weight: 800;
      line-height: 1.6;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: #4e1c0c;
    }

    .latest { padding: 90px 70px 108px; }
    .section-head {
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: end;
      padding-bottom: 25px;
      border-bottom: 1px solid var(--ink);
    }
    .section-kicker {
      margin-bottom: 12px;
      color: var(--orange-dark);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .23em;
      text-transform: uppercase;
    }
    h2 {
      margin: 0;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 47px;
      font-weight: 400;
      line-height: 1;
      letter-spacing: -.045em;
    }
    .view-all {
      padding-bottom: 5px;
      color: var(--orange-dark);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .stories {
      display: grid;
      grid-template-columns: 1.15fr .85fr .85fr;
      gap: 1px;
      background: var(--line);
    }
    .story {
      min-height: 480px;
      display: flex;
      flex-direction: column;
      padding: 32px 30px 28px;
      background: var(--paper);
    }
    .story:first-child { padding-left: 0; padding-right: 44px; }
    .story:last-child { padding-right: 0; padding-left: 44px; }
    .story-num {
      margin-bottom: 60px;
      color: #8f887d;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 13px;
      font-style: italic;
    }
    .story-tag {
      margin-bottom: 15px;
      color: var(--orange-dark);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .story h3 {
      margin: 0;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 29px;
      font-weight: 400;
      line-height: 1.22;
      letter-spacing: -.035em;
    }
    .story:first-child h3 { font-size: 39px; }
    .story p {
      margin: 18px 0 28px;
      color: var(--ink-soft);
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 14px;
      line-height: 1.6;
    }
    .story-footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: auto;
      padding-top: 22px;
      border-top: 1px solid var(--line);
      color: #777066;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .13em;
      text-transform: uppercase;
    }
    .story-footer b { color: var(--orange); font-size: 16px; }

    .topics {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      min-height: 540px;
      color: var(--cream);
      background: var(--ink);
    }
    .topic-intro {
      padding: 78px 70px;
      border-right: 1px solid rgba(255,255,255,.12);
    }
    .topic-intro .section-kicker { color: var(--orange); }
    .topic-intro h2 { max-width: 540px; font-size: 58px; }
    .topic-intro p {
      max-width: 505px;
      margin: 24px 0 0;
      color: rgba(255,250,240,.57);
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 16px;
      line-height: 1.65;
    }
    .topic-list { display: grid; grid-template-columns: 1fr 1fr; }
    .topic-card {
      position: relative;
      min-height: 180px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 28px 30px;
      border-right: 1px solid rgba(255,255,255,.12);
      border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .topic-card:nth-child(even) { border-right: 0; }
    .topic-card:nth-last-child(-n+2) { border-bottom: 0; }
    .topic-card small {
      color: rgba(255,255,255,.38);
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .topic-card strong {
      max-width: 180px;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 22px;
      font-weight: 400;
      line-height: 1.12;
    }
    .topic-card span {
      position: absolute;
      right: 20px;
      bottom: 18px;
      color: var(--orange);
      font-size: 18px;
    }

    .letter {
      display: grid;
      grid-template-columns: 1fr 1fr;
      min-height: 570px;
      background: var(--paper-deep);
    }
    .letter-image { position: relative; overflow: hidden; }
    .letter-image img {
      width: 100%;
      height: 100%;
      position: absolute;
      inset: 0;
      object-fit: cover;
      object-position: center 35%;
      filter: grayscale(1) contrast(1.04);
    }
    .letter-image::after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(211,84,31,.16);
      mix-blend-mode: multiply;
    }
    .letter-copy {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 70px 86px;
    }
    .letter-copy h2 { font-size: 55px; }
    .letter-copy blockquote {
      margin: 27px 0 30px;
      color: var(--ink-soft);
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 18px;
      font-style: italic;
      line-height: 1.63;
    }
    .signature {
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 17px;
    }
    .signature small {
      display: block;
      margin-top: 6px;
      color: #777066;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .15em;
      text-transform: uppercase;
    }

    .newsletter {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: 50px;
      align-items: center;
      padding: 73px 70px;
      color: white;
      background: var(--orange);
    }
    .newsletter h2 { max-width: 450px; font-size: 53px; }
    .newsletter p {
      max-width: 480px;
      margin: 17px 0 0;
      color: rgba(255,255,255,.76);
      font-family: Georgia, 'Times New Roman', serif;
      line-height: 1.55;
    }
    .signup { display: flex; border-bottom: 1px solid rgba(255,255,255,.75); }
    .signup input {
      min-width: 0;
      flex: 1;
      height: 63px;
      padding: 0 5px;
      border: 0;
      outline: 0;
      color: white;
      background: transparent;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 21px;
    }
    .signup input::placeholder { color: rgba(255,255,255,.68); }
    .signup button {
      border: 0;
      color: white;
      background: transparent;
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .19em;
      text-transform: uppercase;
    }
    .signup small { display: block; }

    footer {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr;
      gap: 60px;
      padding: 65px 70px 45px;
      color: rgba(255,255,255,.55);
      background: var(--ink);
    }
    .footer-brand { color: white; font-family: Georgia, 'Times New Roman', serif; font-size: 33px; }
    .footer-brand span { color: var(--orange); }
    .footer-copy { max-width: 380px; margin-top: 18px; font-size: 11px; line-height: 1.8; }
    .footer-col strong {
      display: block;
      margin-bottom: 20px;
      color: var(--orange);
      font-size: 8px;
      letter-spacing: .2em;
      text-transform: uppercase;
    }
    .footer-col a { display: block; margin: 0 0 13px; color: rgba(255,255,255,.72); font-size: 11px; }
    .footer-bottom {
      grid-column: 1 / -1;
      display: flex;
      justify-content: space-between;
      padding-top: 30px;
      border-top: 1px solid rgba(255,255,255,.12);
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    @media (max-width: 900px) {
      .announcement { grid-template-columns: 1fr auto; padding: 0 20px; }
      .announcement span:nth-child(2) { display: none; }
      .masthead { grid-template-columns: 1fr auto; min-height: 86px; padding: 0 20px; }
      .menu, .login, .topic-row { display: none; }
      .brand { text-align: left; }
      .brand-name { font-size: 33px; }
      .brand-sub { font-size: 6px; }
      .hero { grid-template-columns: 1fr; }
      .hero-copy { min-height: 590px; padding: 72px 24px 55px; border-right: 0; }
      .hero-number { font-size: 92px; }
      h1 { font-size: 56px; }
      .hero-visual { min-height: 560px; }
      .manifesto { grid-template-columns: 1fr; gap: 15px; padding: 34px 24px; }
      .manifesto-place { display: none; }
      .manifesto p { font-size: 21px; }
      .latest { padding: 72px 24px; }
      .section-head { grid-template-columns: 1fr; gap: 22px; }
      .stories { grid-template-columns: 1fr; }
      .story, .story:first-child, .story:last-child { min-height: 380px; padding: 34px 0; }
      .story-num { margin-bottom: 42px; }
      .topics, .letter, .newsletter { grid-template-columns: 1fr; }
      .topic-intro, .letter-copy { padding: 64px 24px; }
      .topic-intro h2, .letter-copy h2 { font-size: 46px; }
      .topic-list { grid-template-columns: 1fr; }
      .topic-card, .topic-card:nth-child(even), .topic-card:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
      .letter-image { min-height: 470px; }
      .newsletter { padding: 55px 24px; }
      .newsletter h2 { font-size: 44px; }
      footer { grid-template-columns: 1fr 1fr; padding: 55px 24px 30px; }
      footer > div:first-child { grid-column: 1 / -1; }
    }

/* --------------------------------------------------------------------------
   Production additions: preserved journal library, overlays and shared pages
   -------------------------------------------------------------------------- */

.search-trigger,
.site-menu-button {
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}
.search-trigger {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.search-trigger i { display: block; }
.site-menu-button { display: none; font-size: 9px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.story-link { display: flex; flex: 1; flex-direction: column; }

.topic-row .cat-btn {
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--ink);
  background: transparent;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.topic-row .cat-btn:hover,
.topic-row .cat-btn.active { color: var(--orange); }

.journal-library { padding: 92px 70px 100px; border-top: 1px solid var(--line); }
.library-head {
  display: grid;
  grid-template-columns: 1fr 430px;
  gap: 70px;
  align-items: end;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--ink);
}
.library-head p {
  margin: 0;
  color: var(--ink-soft);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 14px;
  line-height: 1.65;
}
.journal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.journal-grid .post-card {
  min-width: 0;
  min-height: 390px;
  display: flex;
  flex-direction: column;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
}
.journal-grid .post-card:nth-child(3n) { border-right: 0; }
.journal-grid .post-card:hover { background: rgba(255,255,255,.35); }
.journal-grid .post-card-body { display: flex; flex: 1; flex-direction: column; padding: 37px 34px 31px; }
.journal-grid .post-card:nth-child(3n+1) .post-card-body { padding-left: 0; padding-right: 44px; }
.journal-grid .post-card:nth-child(3n) .post-card-body { padding-left: 44px; padding-right: 0; }
.journal-grid .post-tag {
  margin-bottom: 18px;
  color: var(--orange-dark);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.journal-grid .post-title {
  margin: 0 0 18px;
  color: var(--ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 27px;
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: -.035em;
}
.journal-grid .post-excerpt {
  margin: 0 0 28px;
  color: var(--ink-soft);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 13px;
  font-style: normal;
  line-height: 1.65;
}
.journal-grid .post-footer {
  margin-top: auto;
  padding-top: 19px;
  border-top: 1px solid var(--line);
  color: #777066;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.journal-grid .post-img-block { display: none; }
.journal-grid .library-hidden { display: none; }
.load-more-wrap { display: flex; justify-content: center; padding-top: 42px; }
.load-more {
  min-width: 210px;
  min-height: 50px;
  padding: 0 24px;
  border: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.load-more:hover { color: var(--cream); background: var(--ink); }

.newsletter { position: relative; }
.newsletter form { min-width: 0; }
.newsletter .newsletter-note {
  margin: 12px 0 0;
  color: rgba(255,255,255,.68);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-style: normal;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.newsletter .newsletter-btn { width: auto; padding: 0; }

/* Search, contact and mobile navigation */
.contact-overlay,
.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(25,23,20,.72);
  backdrop-filter: blur(8px);
}
.contact-overlay.open,
.search-overlay.open { display: flex; }
.contact-card,
.search-inner {
  width: min(620px, 100%);
  position: relative;
  padding: 48px;
  background: var(--paper);
  border-top: 5px solid var(--orange);
  box-shadow: 0 28px 90px rgba(0,0,0,.25);
}
.contact-card-close,
.search-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}
.contact-card-eyebrow,
.search-label {
  display: block;
  margin-bottom: 15px;
  color: var(--orange-dark);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.contact-card-title {
  margin: 0 0 14px;
  color: var(--ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 42px;
  font-weight: 400;
}
.contact-card-sub { margin: 0 0 25px; color: var(--ink-soft); font-family: Georgia, 'Times New Roman', serif; line-height: 1.65; }
.contact-form { display: grid; gap: 12px; }
.contact-input,
.search-input-wrap input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 0;
  outline: 0;
  background: rgba(255,255,255,.35);
  color: var(--ink);
}
.contact-input { min-height: 50px; padding: 14px 16px; }
.contact-textarea { min-height: 130px; resize: vertical; }
.contact-input:focus,
.search-input-wrap input:focus { border-color: var(--orange); }
.contact-submit {
  min-height: 50px;
  border: 0;
  background: var(--orange);
  color: white;
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.contact-confirm { display: none; color: var(--orange-dark); font-family: Georgia, 'Times New Roman', serif; font-style: italic; }
.search-inner { width: min(760px, 100%); }
.search-input-wrap { position: relative; display: flex; align-items: center; }
.search-input-wrap .search-icon { position: absolute; left: 17px; z-index: 1; }
.search-input-wrap input { min-height: 58px; padding: 0 55px 0 50px; font-family: Georgia, 'Times New Roman', serif; font-size: 18px; }
.search-result-item { display: block; padding: 20px 0; border-bottom: 1px solid var(--line); }
.search-result-cat { display: block; margin-bottom: 7px; color: var(--orange-dark); font-size: 8px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.search-result-title { display: block; color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-size: 20px; line-height: 1.28; }
.search-result-excerpt { display: block; margin-top: 7px; color: var(--ink-soft); font-family: Georgia, 'Times New Roman', serif; font-size: 12px; line-height: 1.5; }
.search-empty { padding: 24px 0 0; color: var(--ink-soft); }
.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: none;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 24px;
  padding: 55px 34px;
  background: var(--ink);
}
.mobile-menu.open { display: flex; }
.mobile-menu a { color: var(--cream); font-family: Georgia, 'Times New Roman', serif; font-size: 36px; }
.mobile-menu-close { position: absolute; top: 25px; right: 25px; border: 0; background: transparent; color: white; font-size: 22px; }

/* Shared header used by About, journal and reference pages */
.topbar {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 46px;
  border: 0;
  color: rgba(255,255,255,.65);
  background: var(--ink);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.topbar-tagline { color: var(--cream); }
.nav {
  min-height: 112px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 46px;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.nav-links-left,
.nav-links-right { gap: 30px; padding: 0; }
.nav-links-left a,
.nav-links-right a { color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.nav-logo-block { padding: 0 45px; border: 0; }
.nav-logo { color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-size: 42px; letter-spacing: -.055em; }
.nav-logo span { color: var(--orange); }
.nav-sub { color: #777066; font-size: 8px; font-weight: 700; letter-spacing: .26em; }

/* Journal and reference pages */
.article-header {
  padding: 88px 48px 74px;
  border-bottom: 1px solid var(--line);
  background: var(--paper-deep);
}
.article-header-inner { max-width: 900px; }
.article-meta-top { font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.article-cat { color: var(--orange-dark); }
.article-read-time,
.article-date { color: #777066; }
.article-meta-dot { background: #a49c90; }
.article-title {
  max-width: 880px;
  margin-bottom: 28px;
  color: var(--ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(46px, 6vw, 76px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.055em;
}
.article-subtitle { color: var(--ink-soft); font-family: Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 1.65; }
.article-author-name { color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.article-author-role { color: #777066; font-size: 8px; font-weight: 700; letter-spacing: .15em; }
.article-main { max-width: 780px; padding-bottom: 100px; }
.article-body { padding-top: 72px; }
.article-lead {
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 22px;
  line-height: 1.75;
}
.article-body p { color: var(--ink-soft); font-family: Georgia, 'Times New Roman', serif; font-size: 18px; font-weight: 400; line-height: 1.9; }
.article-section-head {
  padding-left: 0;
  border-left: 0;
  color: var(--ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -.03em;
}
.article-section-head::before { content: ''; display: block; width: 36px; height: 2px; margin-bottom: 18px; background: var(--orange); }
.article-pullquote {
  margin: 66px -54px;
  padding: 46px 54px;
  border: 0;
  border-top: 1px solid var(--orange);
  border-bottom: 1px solid var(--orange);
  background: transparent;
}
.article-pullquote p { color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-size: 27px; }
.article-pullquote cite { color: var(--orange-dark); }
.article-author-block { border-color: var(--line); }
.author-block-name { color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.author-block-role { color: var(--orange-dark); }
.author-block-bio { color: var(--ink-soft); }
.article-share { border-color: var(--line); }
.article-share-label { color: #777066; }
.share-btn,
.mark-read-btn { border-color: var(--line); color: var(--ink-soft); }
.article-newsletter {
  padding: 44px;
  border: 0;
  border-top: 5px solid var(--orange);
  background: var(--paper-deep);
}
.article-newsletter-headline { color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-size: 28px; font-weight: 400; }
.article-newsletter-sub,
.newsletter-note { color: var(--ink-soft); }
.newsletter-input { border-color: var(--line); background: rgba(255,255,255,.4); color: var(--ink); }
.newsletter-btn { background: var(--orange); color: white; }
.continue-reading-label { color: var(--orange-dark); }
.continue-reading-label::after { background: var(--line); }
.continue-grid { gap: 1px; background: var(--line); }
.continue-card { background: var(--paper-deep); }
.continue-card:hover { background: #ded4c5; }
.continue-card-title { color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.continue-card-cat,
.continue-card-link { color: var(--orange-dark); }

/* About page */
.about-page { max-width: 1120px !important; padding: 92px 48px 110px !important; }
.about-hero { grid-template-columns: 340px 1fr !important; gap: 68px !important; align-items: center !important; border-color: var(--line) !important; }
.about-photo { width: 340px !important; height: 430px !important; border: 0 !important; border-radius: 0 !important; filter: grayscale(1) contrast(1.04); }
.about-eyebrow { color: var(--orange-dark) !important; font-size: 9px !important; font-weight: 800 !important; }
.about-name-large { color: var(--ink) !important; font-family: Georgia, 'Times New Roman', serif !important; font-size: clamp(50px, 7vw, 78px) !important; font-weight: 400 !important; letter-spacing: -.055em; }
.about-title-line { color: #777066 !important; font-size: 9px !important; font-weight: 700 !important; }
.about-intro { color: var(--ink-soft) !important; font-family: Georgia, 'Times New Roman', serif !important; font-size: 19px !important; line-height: 1.75 !important; }
.about-section { max-width: 790px; margin-left: auto; margin-right: auto; }
.about-section-head { padding-left: 0 !important; border-left: 0 !important; color: var(--ink) !important; font-family: Georgia, 'Times New Roman', serif !important; font-size: 39px !important; font-weight: 400 !important; letter-spacing: -.035em; }
.about-section-head::before { content: ''; display: block; width: 36px; height: 2px; margin-bottom: 18px; background: var(--orange); }
.about-section p { color: var(--ink-soft) !important; font-family: Georgia, 'Times New Roman', serif !important; font-size: 17px !important; line-height: 1.9 !important; }
.about-kids-grid { gap: 1px !important; background: var(--line); }
.about-kid-card { background: var(--paper-deep) !important; }
.about-kid-name { color: var(--ink) !important; font-family: Georgia, 'Times New Roman', serif !important; font-weight: 400 !important; }
.about-kid-tag,
.about-kid-lifepath { color: var(--orange-dark) !important; }
.about-kid-born { color: #777066 !important; }
.about-kid-desc { color: var(--ink-soft) !important; }
.about-kid-lifepath { border-color: var(--line) !important; }
.about-numerology { border-color: var(--orange) !important; background: var(--paper-deep) !important; }
.about-numerology p { color: var(--ink-soft) !important; }
.about-quote { border: 0 !important; border-top: 1px solid var(--orange) !important; border-bottom: 1px solid var(--orange) !important; background: transparent !important; }
.about-quote p { color: var(--ink) !important; font-family: Georgia, 'Times New Roman', serif !important; font-weight: 400 !important; }
.about-quote cite { color: var(--orange-dark) !important; }
.about-cta { border: 0 !important; background: var(--orange) !important; }
.about-cta h3 { color: white !important; font-family: Georgia, 'Times New Roman', serif !important; font-weight: 400 !important; }
.about-cta p { color: rgba(255,255,255,.76) !important; }
.about-cta .newsletter-input { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.55); color: white; }
.about-cta .newsletter-input::placeholder { color: rgba(255,255,255,.7); }
.about-cta .newsletter-btn { color: var(--ink); background: white; }

/* Shared original footer structure */
.footer {
  display: block;
  padding: 0;
  color: rgba(255,255,255,.58);
  background: var(--ink);
}
.footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 55px; padding: 64px 70px 44px; }
.footer-logo { color: white; font-family: Georgia, 'Times New Roman', serif; font-size: 34px; }
.footer-logo span { color: var(--orange); }
.footer-brand-sub { color: rgba(255,255,255,.5); font-size: 11px; line-height: 1.75; }
.footer-col-title { color: var(--orange); font-size: 8px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.footer-links a { color: rgba(255,255,255,.7); font-size: 11px; }
.footer-bottom { display: flex; justify-content: space-between; margin: 0 70px; padding: 27px 0 35px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.4); font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

@media (max-width: 900px) {
  .actions { gap: 14px; }
  .search-trigger span,
  .search-trigger i { display: none; }
  .subscribe-btn { min-height: 38px; padding: 0 12px; }
  .site-menu-button { display: inline-flex; }
  .journal-library { padding: 72px 24px; }
  .library-head { grid-template-columns: 1fr; gap: 22px; }
  .journal-grid { grid-template-columns: 1fr; }
  .journal-grid .post-card,
  .journal-grid .post-card:nth-child(3n) { min-height: 340px; border-right: 0; }
  .journal-grid .post-card-body,
  .journal-grid .post-card:nth-child(3n+1) .post-card-body,
  .journal-grid .post-card:nth-child(3n) .post-card-body { padding: 34px 0; }
  .contact-card,
  .search-inner { padding: 38px 24px 28px; }
  .topbar { padding: 0 20px; }
  .topbar-site { display: none; }
  .nav { min-height: 86px; grid-template-columns: 1fr auto; padding: 0 20px; }
  .nav-links-left,
  .nav-links-right { display: none; }
  .nav-logo-block { grid-column: 1; justify-self: start; padding: 0; }
  .nav-logo { font-size: 33px; }
  .nav-hamburger { display: flex; grid-column: 2; grid-row: 1; }
  .article-header { padding: 60px 20px 50px; }
  .article-title { font-size: clamp(43px, 13vw, 62px); }
  .article-main { padding: 0 22px 70px; }
  .article-pullquote { margin-left: 0; margin-right: 0; padding: 34px 0; }
  .article-newsletter { padding: 34px 24px; }
  .about-page { padding: 54px 22px 72px !important; }
  .about-hero { grid-template-columns: 1fr !important; gap: 34px !important; }
  .about-photo { width: 100% !important; height: 460px !important; }
  .about-kids-grid { grid-template-columns: 1fr !important; }
  .footer-top { grid-template-columns: 1fr 1fr; padding: 50px 24px 35px; }
  .footer-top > div:first-child { grid-column: 1 / -1; }
  .footer-bottom { margin: 0 24px; gap: 20px; }
}

@media (max-width: 520px) {
  .announcement { padding: 0 16px; }
  .announcement .issue { font-size: 7px; }
  .masthead { padding: 0 16px; }
  .brand-name { font-size: 31px; }
  .subscribe-btn { display: none; }
  .hero-copy { min-height: 555px; }
  h1 { font-size: 51px; }
  .hero-visual { min-height: 500px; }
  .photo-caption { align-items: flex-start; flex-direction: column; gap: 10px; }
  .latest { padding-left: 20px; padding-right: 20px; }
  .topic-list { grid-template-columns: 1fr; }
  .letter-image { min-height: 420px; }
  .newsletter { padding-left: 20px; padding-right: 20px; }
  .signup { align-items: flex-end; flex-direction: column; }
  .signup input { width: 100%; }
  .signup button { min-height: 45px; }
  footer { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-top > div:first-child { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .article-meta-top { align-items: flex-start; flex-wrap: wrap; }
  .article-title { font-size: 43px; }
  .article-body p { font-size: 17px; }
  .article-lead { font-size: 20px; }
  .about-photo { height: 380px !important; }
}
