:root {
      color-scheme: light;
      color: #111;
      background: #faf9f7;
      font-family: 'EB Garamond', serif;
      font-size: 18px;
      line-height: 1.75;
}

* {
      box-sizing: border-box;
}

body {
      margin: 0;
      padding: 0;
      background: #ffffff;
}

.page-shell {
      max-width: 860px;
      margin: 0 auto;
      padding: 3rem 1.5rem 4rem;
}

.article-card {
      background: #fff;
      border: 1px solid #e4e1dd;
      border-radius: 12px;
      box-shadow: 0 20px 50px rgba(31, 35, 45, 0.08);
      padding: 1.5rem;
}

.article-title {
      margin: 0 0 0.75rem;
      font-size: clamp(2.8rem, 4vw, 4.2rem);
      line-height: 1.04;
      letter-spacing: -0.04em;
      font-weight: 900;
      color: #121212;
}

.article-meta {
      margin: 0 0 2rem;
      color: #666;
      font-size: 0.92rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
}

.intro {
      margin: 0 0 2rem;
      color: #222;
      font-size: 1.06rem;
      font-weight: 500;
}

h2,


h2 {
      font-size: 1.78rem;
}

p {
      margin: 1.35rem 0;
      max-width: 100%;
}

.pullquote {
      margin: 2.5rem 0;
      padding: 1.75rem 1.75rem 1.75rem 2rem;
      border-left: 4px solid #111;
      background: #cacaca;
      font-size: 1.08rem;
      color: #111;
      font-style: italic;
}

.transcription {
      margin: 2.5rem 0;
      padding: 1.75rem 1.75rem 1.75rem 2rem;

      background: #f8f6f2;
      font-size: 1.08rem;
      color: #111;
      font-style: italic;
}

.tweet-block {
      display: inline-flex;
      align-items: center;
      gap: 0.75rem;
      margin: 2rem 0;
      padding: 0.95rem 1.1rem;
      border: 1px solid #d1ccc5;
      border-radius: 999px;
      background: #fffdf8;
      font-size: 0.95rem;
      color: #4b4b4b;
}

.tweet-block strong {
      color: #111;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      font-size: 0.78rem;
}

.tags {
      display: flex;
      flex-wrap: wrap;
      gap: 0.6rem;
      margin-top: 2.5rem;
}

.tag {
      display: inline-block;
      background: #111;
      color: #fff;
      padding: 0.55rem 0.95rem;
      border-radius: 999px;
      font-size: 0.78rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
}

a {
      color: #111;
      text-decoration: none;
      border-bottom: 1px solid rgba(17, 17, 17, 0.24);
}

a:hover {
      color: #000;
      border-color: rgba(17, 17, 17, 0.45);
}

.credit {
      margin-top: 3rem;
      color: #6d6b66;
      font-size: 0.94rem;
}



.page-header {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-bottom: 1rem;
      margin-top: .5rem;
      flex-wrap: wrap;
}

.page-header-brand {
      display: flex;
      align-items: center;
      gap: 1rem;
      flex: 1 1 auto;
      min-width: 0;
      flex-wrap: nowrap;
}

.page-header-title {
      font-size: 34px;
      font-weight: 900;
      color: #000;
      margin: 0;
}

.page-header .article-title,
.page-header-title {
      white-space: nowrap;
      line-height: 1;
      font-size: clamp(1.35rem, 4.2vw, 3.8rem);
}

.site-nav {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;

      width: 100%;
}

.site-nav a {
      color: #111;
      text-decoration: none;
      font-size: 0.95rem;
      font-weight: 600;
}

.site-nav a:hover {
      text-decoration: underline;
}

@media (max-width: 640px) {
      .page-header {
            flex-direction: column;
            align-items: flex-start;
      }

      .page-header-brand {
            width: 100%;
            gap: 0.75rem;
      }

      .page-header-title {
            font-size: clamp(1.2rem, 6vw, 2.2rem);
      }

      .site-nav {
            gap: 0.65rem;
            width: 100%;
      }

      .site-nav a {
            display: inline-block;
            width: auto;
      }

      .footer-row {
            grid-template-columns: 1fr;
            text-align: left;
      }

      .footer-column {
            align-items: flex-start;
      }
}


.footer-row {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 1.5rem;
      align-items: center;
      padding: 1.5rem 0;
      border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.footer-column {
      display: flex;
      flex-direction: column;
      justify-content: center;
}

.footer-logo {
      align-items: center;
      justify-content: center;
}

.footer-nav {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      margin-bottom: 0.75rem;
}

.footer-nav a {
      color: #6d6b66;
      text-decoration: none;
      font-size: 0.95rem;
}

.footer-nav a:hover {
      color: #111;
      text-decoration: underline;
}

.footer-text {
      font-size: 17px;
      color: #999;
      margin: 0;
}

.footer-flag {
      width: 60px;
      height: 60px;
      object-fit: contain;
}

.article-refrences {
      color: #6c757d;
      font-size: 0.875rem;
      margin-bottom: 1rem;
}

.quote-text {
      color: #7baeff;
      font-style: italic;
}

.top-navbar a {
      border-bottom: 0;
      text-decoration: none;
}

.top-navbar {
      background: #000;
}

.top-navbar .navbar-brand {
      color: #fff;
}

.top-navbar .nav-link {
      color: #fff;
      font-weight: 600;
}

.top-navbar .nav-link:hover,
.top-navbar .nav-link:focus {
      color: #e6e6e6;
}

.top-navbar .navbar-toggler {
      border-color: rgba(255, 255, 255, 0.4);
}

@media (max-width: 768px) {
      .page-shell {
            padding: 1rem 0.75rem 2rem;
      }

      .article-card {
            padding: 1rem;
            border-radius: 10px;
      }

      .article-card h2 {
            font-size: clamp(1.55rem, 5.5vw, 2rem);
            line-height: 1.15;
      }

      .article-meta {
            margin-bottom: 1.25rem;
            font-size: 0.78rem;
            letter-spacing: 0.08em;
      }

      .pullquote,
      .transcription {
            margin: 1.5rem 0;
            padding: 1rem;
      }

      .page-header {
            gap: 0.75rem;
      }

      .top-navbar {
            width: 100%;
            padding-left: 0.75rem;
            padding-right: 0.75rem;
      }

      .top-navbar .navbar-collapse {
            width: 100%;
            margin-top: 0.75rem;
      }

      .top-navbar .navbar-nav {
            width: 100%;
            gap: 0.25rem;
      }

      .top-navbar .nav-link {
            display: block;
            padding: 0.5rem 0;
      }

      .figure.float-start,
      .float-start {
            float: none !important;
            display: block;
            width: 100% !important;
            margin: 1rem 0;
      }

      .figure.float-start img,
      .float-start img,
      .article-card img {
            width: 100% !important;
            height: auto !important;
      }

      .article-card .row.g-3>[class*="col-6"] {
            flex: 0 0 100%;
            max-width: 100%;
      }

      .card-img-top {
            height: auto;
      }

      .article-refrences {
            padding-left: 1.1rem;
            font-size: 0.82rem;
            word-break: break-word;
      }
}