/* AI Weekly Theme — exact replica of aiweekly.co (Curated platform) */
@import url('https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic');
@import url('https://fonts.googleapis.com/css?family=Merriweather:400,700,400italic,700italic');

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  padding: 0;
  font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #454547;
  background: #fff;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: #1b5479; text-decoration: none; }
a:hover { color: #164361; text-decoration: underline; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 { margin: 0; }

/* ── .i container ── */
.i { margin: 0 15px; }
@media (min-width: 760px) {
  .i { margin: 0 auto; max-width: 730px; }
}

/* ══════════════════════════════════════════
   HEADER
   ══════════════════════════════════════════ */
.header { background-color: #c6c6d4; }

.navbar { margin-top: 0; }
.navbar .i {
  display: block;
  margin-left: 0; margin-right: 0;
  position: relative;
  text-align: center;
}
.navbar .i::before { content: " "; display: table; }
.navbar .i::after  { clear: both; content: " "; display: table; }
@media (min-width: 760px) {
  .navbar .i { margin-left: auto; margin-right: auto; text-align: right; }
}

.navbar-a {
  display: inline-block;
  font-size: 13px; font-weight: 700;
  line-height: 1.384615385;
  padding: 15px 10px;
  text-transform: uppercase;
  vertical-align: bottom;
  color: #fff; text-decoration: none;
}
.navbar-a:hover, .navbar-a:active {
  color: #fff; background-color: #a8a8b4; text-decoration: none;
}
@media (min-width: 760px) {
  .navbar-a { margin: 0 2px 0 15px; padding: 35px 0; text-align: center; }
}

.navbar-brand {
  font-size: 20px; line-height: 1; margin: 0;
  padding: 15px 50px; text-transform: none;
  color: #fff; text-decoration: none;
}
.navbar-brand:hover { text-decoration: none; color: #fff; }
.navbar-brand img { margin-bottom: 0; max-width: 80%; }
@media (min-width: 760px) {
  .navbar-brand {
    float: left; line-height: 1.4; max-width: 50%;
    padding: 28px 0; position: static; text-align: left;
  }
  .navbar-brand img { max-width: 100%; }
}

/* Mobile: collapsed by default, toggled via JS */
.navbar-collapse {
  max-height: 0; overflow: hidden;
  text-align: center;
  transition: max-height 0.25s ease-out;
}
.navbar-collapse.is-open {
  max-height: 300px;
  transition: max-height 0.25s ease-in;
}
.navbar-collapse .navbar-a {
  display: block; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.1);
}
@media (min-width: 760px) {
  .navbar-collapse {
    display: inline-block; max-height: none; overflow: visible;
  }
  .navbar-collapse .navbar-a {
    display: inline-block; padding: 35px 0; border-bottom: 0;
  }
}

/* Hamburger button — mobile only */
.navbar-toggle {
  display: block; position: absolute; right: 15px; top: 15px;
  background: none; border: 0; cursor: pointer; padding: 8px;
  z-index: 10;
}
.navbar-toggle-bar {
  display: block; width: 22px; height: 2px;
  background: #fff; margin: 5px 0;
  transition: transform 0.2s, opacity 0.2s;
}
.navbar-toggle.is-open .navbar-toggle-bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.navbar-toggle.is-open .navbar-toggle-bar:nth-child(2) {
  opacity: 0;
}
.navbar-toggle.is-open .navbar-toggle-bar:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}
@media (min-width: 760px) {
  .navbar-toggle { display: none; }
}

/* Intro */
.intro { position: relative; text-align: center; }
.intro .i { padding-bottom: 30px; padding-top: 20px; }
.intro p { font-size: 22px; line-height: 1.333; margin-bottom: 0; color: #fff; }
@media (min-width: 760px) {
  .intro .i { padding-bottom: 30px; padding-top: 30px; }
  .intro p { font-size: 30px; }
}

/* CTA */
.cta { font-size: 13px; background: #252526; padding: 20px 0; }
.cta .i { max-width: 520px; text-align: center; }
@media (min-width: 540px) { .cta .i { margin-left: auto; margin-right: auto; } }
.cta .form_elements { display: flex; gap: 8px; justify-content: center; align-items: center; }
.cta .form_elements label { display: none; }
.cta .form-control {
  padding: 10px 14px; border: 1px solid #b2b2bf; border-radius: 3px;
  font-size: 14px; width: 260px; background: rgba(255,255,255,0.9);
  color: #000; outline: 0;
}
.cta .form-control::placeholder { color: #77777f; }
.cta .btn {
  background-color: #24ab8a; color: #fff;
  font-size: 13px; font-weight: 700; text-transform: uppercase;
  padding: 11px 18px; border: 0; border-radius: 3px; cursor: pointer;
}
.cta .btn:hover, .cta .btn:focus { background-color: #209a7c; color: #fff; }
.cta .trust-msg { color: #77777f; font-size: 12px; margin-top: 8px; }
.cta-alert {
  padding: 10px 15px; margin-bottom: 12px; border-radius: 3px;
  font-size: 14px; text-align: center;
}
.cta-alert--success { background: #24ab8a; color: #fff; }
.cta-alert--error { background: #e74c3c; color: #fff; }

/* ══════════════════════════════════════════
   ISSUE PAGE
   ══════════════════════════════════════════ */
.issue__heading { padding: 25px 0 0; }
.issue__heading h1 {
  font-family: 'Merriweather', Georgia, 'Times New Roman', Times, serif;
  font-size: 28px; font-weight: 700; line-height: 1.3; color: #454547;
}
.issue__heading h1 a { color: #454547; text-decoration: none; }
.issue__heading h1 a:hover { color: #454547; text-decoration: none; }
.issue__heading h1 i {
  color: rgba(69,69,71,0.7); font-style: italic; font-weight: 400;
}

.issue__body { font-size: 16px; line-height: 1.7; padding-top: 20px; }
.issue__body p { margin: 0 0 16px; }
.issue__body a { color: #1b5479; text-decoration: underline; }
.issue__body a:hover { color: #417a9f; }
.issue__body img { margin: 15px 0; display: block; }
.issue__body strong { font-weight: 700; }
.issue__body hr { border: 0; border-top: 1px solid rgba(69,69,71,0.2); margin: 25px 0; }
.issue__body h2 {
  font-family: 'Lato', sans-serif;
  font-size: 13px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.5px; color: #454547;
  border-bottom: 1px solid #ccc; padding-bottom: 10px;
  margin: 35px 0 20px;
}
.issue__body h3 {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 18px; font-weight: 700; line-height: 1.4;
  color: #454547; margin: 22px 0 8px;
}
@media (min-width: 760px) {
  .issue__body h3 { font-size: 20px; line-height: 1.3; }
}
.issue__body h3 a { color: #1b5479; text-decoration: none; }
.issue__body h3 a:hover { color: #164361; text-decoration: underline; }

/* Item footer (source labels in issue body) */
.issue__body .item__footer {
  display: block; font-size: 12px; color: rgba(69,69,71,0.7);
  font-style: italic; line-height: 22px; margin-top: -10px;
  overflow-x: hidden; text-overflow: ellipsis;
}
@media (min-width: 760px) {
  .issue__body .item__footer { font-size: 14px; line-height: 1.28; }
}

/* Sponsor section */
.cc-sponsor {
  background: #e2e6eb; padding: 20px; margin: 30px 0; border-radius: 0;
}
.cc-sponsor .category__title--lozenge { margin: 0 0 15px; }
.cc-sponsor .category__title--lozenge .category__title__text {
  background: #454547; color: #fff; padding: 4px 12px;
  font-family: 'Lato', sans-serif; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px; border-radius: 2px;
  display: inline-block;
}
.cc-sponsor .item__title { margin: 12px 0 8px; }
.cc-sponsor .item__title a { color: #1b5479; text-decoration: none; }
.cc-sponsor .item__title a:hover { text-decoration: underline; }
.cc-sponsor .item__footer { display: block; font-size: 12px; color: #77777f; padding-top: 5px; }
.cc-sponsor .item__footer a { color: #1b5479; }
.category__title { margin: 0; font-size: inherit; }

/* Issue pager */
.issue__pager {
  border-top: 1px solid rgba(69,69,71,0.2);
  margin-top: 40px; padding: 20px 0;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 14px; color: #77777f;
}
.issue__pager a { color: #1b5479; }
.issue__pager a:hover { text-decoration: underline; }

/* ══════════════════════════════════════════
   ARCHIVE / ISSUES LISTING
   (matches original .item__list--issues)
   ══════════════════════════════════════════ */
.issues { padding-bottom: 20px; }

.item__list {
  list-style: none; margin: 0; padding: 0;
}
.item__list .item {
  font-size: 14px; line-height: 1.285714286;
  overflow: hidden; margin-top: 20px; padding-top: 20px; position: relative;
}
@media (min-width: 760px) {
  .item__list .item { font-size: 16px; line-height: 1.375; margin-top: 40px; padding-top: 40px; }
}
/* Divider line between items */
.item__list .item::before {
  border-top: 1px solid rgba(69,69,71,0.2);
  content: ' '; display: block;
  left: 0; position: absolute; top: 0; width: 55px;
}
.item__list .item:first-child { margin-top: 0; padding-top: 0; }
.item__list .item:first-child::before { content: ''; display: none; }

.item__list .item > a {
  display: table; width: 100%; color: #454547; text-decoration: none;
}
.item__list .item > a:hover { text-decoration: none; }
.item__list .item > a:hover .item__title { text-decoration: underline; }

.item__body {
  display: table-cell; overflow: hidden; width: 10000px; vertical-align: top;
}
.item__body p { margin-bottom: 10px; }

.item__image {
  display: table-cell; padding-left: 40px; vertical-align: top;
}
.item__image > img { margin-bottom: 0; width: 100px; height: auto; }
@media (max-width: 759px) {
  .item__image { display: none; }
}

.item__heading {
  font-size: 14px; font-weight: 700; line-height: 1.285;
  margin-bottom: 5px; text-transform: uppercase; color: #1b5479;
}
@media (min-width: 760px) {
  .item__heading { font-size: 16px; line-height: 1.25; }
}

.item__title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 18px; font-weight: 700; line-height: 1.333;
  color: #454547; margin: 0;
}
@media (min-width: 760px) {
  .item__title { font-size: 22px; line-height: 1.272727273; }
}

.item__footer {
  font-size: 12px; font-weight: 400; line-height: 1.333;
  color: rgba(69,69,71,0.7); display: block; margin-bottom: 0;
}
.item__footer time { font-style: italic; }
@media (min-width: 760px) {
  .item__footer { font-size: 14px; line-height: 1.285; }
}

/* Drupal views wrapper cleanup for archive */
.view-aiweekly-archive .view-content { padding: 0; }

/* ── Pagination (matches original) ── */
.pagination, .pager {
  font-weight: 700; line-height: 1.46; margin-bottom: 20px;
  padding: 10px 0; text-align: center;
}
@media (min-width: 760px) {
  .pagination, .pager { margin-bottom: 40px; padding: 20px 0; }
}
.pagination ul, .pager__items {
  font-size: 1px; list-style: none; min-height: 34px;
  position: relative; padding: 0; margin: 0; display: inline-block;
}
.pagination li, .pager__item {
  display: none; font-size: 13px;
}
@media (min-width: 760px) {
  .pagination li, .pager__item { display: inline-block; }
}
.pagination li > a, .pagination li > span,
.pager__item a, .pager__item span {
  border-radius: 30px; border: 1px solid transparent;
  float: left; padding: 5px 20px;
  font-size: 13px; color: #1b5479; text-decoration: none;
}
@media (min-width: 760px) {
  .pagination li > a, .pagination li > span,
  .pager__item a, .pager__item span {
    margin-left: 2px; margin-right: 2px;
    padding: 7px 20px;
  }
}
.pagination li > a:hover, .pager__item a:hover { text-decoration: none; color: #164361; }

.pagination li.active, .pager__item.is-active, .pager__item--active { display: inline-block; }
.pagination li.active span, .pager__item.is-active span, .pager__item--active span {
  color: #6a6f75; border-color: transparent;
}
/* "X of Y" label on active page */
.pagination li.active span > span { font-weight: 400; }
@media (min-width: 760px) {
  .pagination li.active span > span,
  .pager__item.is-active span > span {
    border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px;
    overflow: hidden; padding: 0; position: absolute; width: 1px;
  }
}

/* Prev/Next links */
.pagination li:first-child, .pager__item--previous { display: inline-block; left: 0; position: absolute; text-transform: uppercase; }
.pagination li:last-child, .pager__item--next { display: inline-block; position: absolute; right: 0; text-transform: uppercase; }

/* Gap/ellipsis */
.pagination li.gap span, .pager__item--ellipsis span {
  border-color: transparent; padding-left: 10px; padding-right: 10px;
}
@media (max-width: 759px) {
  .pagination li.gap, .pager__item--ellipsis { display: none; }
}

/* ══════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════ */
.footer {
  border-top: 1px solid rgba(69,69,71,0.2);
  padding: 30px 15px; text-align: center;
  font-size: 13px; color: #77777f;
}
.footer a { color: #77777f; }
.footer a:hover { color: #454547; text-decoration: underline; }
.footer p { margin: 5px 0; }

/* ══════════════════════════════════════════
   ARTICLE (evergreen content)
   ══════════════════════════════════════════ */
.article__heading { padding: 30px 0 0; }
.article__topics { margin-bottom: 12px; }
.article__topic-tag {
  display: inline-block; background: #1b5479; color: #fff;
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1px; padding: 4px 12px; border-radius: 2px;
  margin-right: 6px; text-decoration: none;
}
.article__topic-tag:hover { background: #164361; color: #fff; text-decoration: none; }
.article__title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 32px; font-weight: 700; line-height: 1.25;
  color: #454547; margin: 0 0 10px;
}
@media (min-width: 760px) { .article__title { font-size: 36px; } }
.article__date { font-size: 14px; color: rgba(69,69,71,0.7); font-style: italic; }

.article__body {
  font-size: 17px; line-height: 1.75; padding-top: 25px;
}
.article__body p { margin: 0 0 18px; }
.article__body a { color: #1b5479; text-decoration: underline; }
.article__body a:hover { color: #417a9f; }
.article__body h2 {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 24px; font-weight: 700; color: #454547;
  margin: 40px 0 15px; line-height: 1.3;
}
.article__body h3 {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 20px; font-weight: 700; color: #454547;
  margin: 30px 0 10px;
}
.article__body ul, .article__body ol {
  margin: 0 0 18px; padding-left: 25px;
}
.article__body li { margin-bottom: 8px; }
.article__body blockquote {
  border-left: 4px solid #1b5479; margin: 20px 0;
  padding: 10px 20px; color: #555; font-style: italic;
}
.article__body code {
  background: #f4f4f4; padding: 2px 6px; border-radius: 3px;
  font-size: 0.9em;
}
.article__body pre {
  background: #f4f4f4; padding: 15px 20px; border-radius: 4px;
  overflow-x: auto; margin: 20px 0;
}
.article__body pre code { background: none; padding: 0; }
.article__body img { margin: 20px 0; display: block; border-radius: 4px; }
.article__body hr { border: 0; border-top: 1px solid rgba(69,69,71,0.2); margin: 30px 0; }

/* ══════════════════════════════════════════
   COMMENTS
   ══════════════════════════════════════════ */
.issue__comments {
  margin-top: 40px; padding-top: 30px;
  border-top: 1px solid rgba(69,69,71,0.2);
}
.issue__comments h2 {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 20px; font-weight: 700; color: #454547;
  margin: 0 0 20px; text-transform: none; letter-spacing: 0;
  border: 0; padding: 0;
}
.comment {
  padding: 20px 0; border-bottom: 1px solid rgba(69,69,71,0.1);
}
.comment:last-child { border-bottom: 0; }
.comment__meta {
  font-size: 13px; color: #77777f; margin-bottom: 8px;
}
.comment__meta .username {
  font-weight: 700; color: #454547;
}
.comment__meta time { font-style: italic; }
.comment .field--name-comment-body {
  font-size: 15px; line-height: 1.6;
}
.comment .field--name-comment-body p { margin: 0 0 10px; }

/* Comment form */
.comment-form { margin-top: 25px; }
.comment-form .form-item { margin-bottom: 15px; }
.comment-form label {
  display: block; font-size: 13px; font-weight: 700;
  color: #454547; margin-bottom: 5px; text-transform: uppercase;
  letter-spacing: 0.5px;
}
.comment-form .form-text,
.comment-form .form-textarea {
  width: 100%; padding: 10px 14px;
  border: 1px solid #ccc; border-radius: 3px;
  font-family: 'Lato', sans-serif; font-size: 15px;
  color: #454547; outline: 0;
}
.comment-form .form-textarea {
  min-height: 120px; resize: vertical;
}
.comment-form .form-text:focus,
.comment-form .form-textarea:focus {
  border-color: #1b5479;
}
.comment-form .form-submit {
  background-color: #24ab8a; color: #fff;
  font-size: 13px; font-weight: 700; text-transform: uppercase;
  padding: 11px 24px; border: 0; border-radius: 3px; cursor: pointer;
}
.comment-form .form-submit:hover { background-color: #209a7c; }
/* Hide unnecessary form elements */
.comment-form .filter-wrapper,
.comment-form .filter-help,
.comment-form .filter-guidelines,
.comment-form details.js-form-type-select { display: none; }

/* ══════════════════════════════════════════
   USER PROFILE
   ══════════════════════════════════════════ */
.profile {
  max-width: 730px; margin: 0 auto; padding: 30px 15px;
}
.profile h1 {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 28px; font-weight: 700; color: #454547; margin: 0 0 20px;
}
.profile .user-info {
  margin-bottom: 30px;
}
.profile .user-info dt {
  font-size: 13px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.5px; color: #77777f; margin-bottom: 3px;
}
.profile .user-info dd {
  margin: 0 0 15px; font-size: 16px; color: #454547;
}
.profile .user-comments h2 {
  font-family: 'Lato', sans-serif;
  font-size: 13px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.5px; color: #454547;
  border-bottom: 1px solid #ccc; padding-bottom: 10px;
  margin: 30px 0 20px;
}
.profile .user-comment-item {
  padding: 15px 0; border-bottom: 1px solid rgba(69,69,71,0.1);
}
.profile .user-comment-item .comment-link {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 16px; font-weight: 700;
}
.profile .user-comment-item .comment-date {
  font-size: 13px; color: #77777f; font-style: italic;
}
.profile .user-comment-item .comment-excerpt {
  font-size: 14px; color: #454547; margin-top: 5px;
}

/* ══════════════════════════════════════════
   LEARNING AI HUB
   ══════════════════════════════════════════ */
.learning-ai-hub { padding-bottom: 40px; }
.learning-ai-header {
  padding: 30px 0 25px;
  border-bottom: 1px solid rgba(69,69,71,0.2);
  margin-bottom: 30px;
}
.learning-ai-header h1 {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 32px; font-weight: 700; color: #454547; margin: 0 0 10px;
}
.learning-ai-intro {
  font-size: 18px; line-height: 1.5; color: rgba(69,69,71,0.7); margin: 0;
}

.learning-ai-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
@media (min-width: 760px) {
  .learning-ai-grid { grid-template-columns: 1fr 1fr; gap: 0 30px; }
}

.learning-ai-grid__item {
  border-bottom: 1px solid rgba(69,69,71,0.1);
}

.learning-ai-card {
  display: block; padding: 20px 0; color: #454547; text-decoration: none;
}
.learning-ai-card:hover { text-decoration: none; }
.learning-ai-card:hover .learning-ai-card__title { color: #1b5479; }

.learning-ai-card__topic {
  display: inline-block; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px; color: #1b5479;
  margin-bottom: 6px;
}
.learning-ai-card__title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 17px; font-weight: 700; line-height: 1.35;
  color: #454547; margin: 0 0 6px;
}
.learning-ai-card__desc {
  font-size: 14px; line-height: 1.5; color: rgba(69,69,71,0.7); margin: 0;
}

/* ══════════════════════════════════════════
   LANGUAGE SWITCHER
   ══════════════════════════════════════════ */
.lang-switcher {
  display: none;
  position: absolute; right: 0; top: 50%;
  transform: translateY(-50%);
  font-size: 0;
}
@media (min-width: 760px) {
  .lang-switcher { display: block; }
}
.lang-link {
  display: inline-block; font-size: 11px; font-weight: 700;
  color: rgba(255,255,255,0.6); padding: 3px 5px;
  text-decoration: none; text-transform: uppercase;
}
.lang-link:hover { color: #fff; text-decoration: none; }
.lang-link--active { color: #fff; }

/* ══════════════════════════════════════════
   MAGIC LOGIN (passwordless)
   ══════════════════════════════════════════ */
.magic-login { padding: 60px 0; }
.magic-login h1 {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 28px; font-weight: 700; color: #454547; margin: 0 0 10px;
}
.magic-login p { font-size: 16px; color: rgba(69,69,71,0.7); margin: 0 0 20px; }
.magic-login-error {
  background: #fce4e4; color: #c0392b; padding: 10px 15px;
  border-radius: 3px; margin-bottom: 15px; font-size: 14px;
}
.magic-login-form { max-width: 400px; }
.magic-login-input {
  display: block; width: 100%; padding: 12px 14px;
  border: 1px solid #ccc; border-radius: 3px;
  font-size: 16px; color: #454547; margin-bottom: 12px; outline: 0;
}
.magic-login-input:focus { border-color: #1b5479; }
.magic-login-code {
  display: block; width: 200px; padding: 16px 14px;
  border: 1px solid #ccc; border-radius: 3px;
  font-family: monospace; font-size: 28px; font-weight: 700;
  text-align: center; letter-spacing: 6px;
  color: #1b5479; margin-bottom: 12px; outline: 0;
}
.magic-login-code:focus { border-color: #1b5479; }
.magic-login-btn {
  background: #24ab8a; color: #fff;
  font-size: 14px; font-weight: 700; text-transform: uppercase;
  padding: 12px 24px; border: 0; border-radius: 3px; cursor: pointer;
}
.magic-login-btn:hover { background: #209a7c; }
.magic-login-resend { margin-top: 20px; font-size: 14px; }
.magic-login-resend a { color: #1b5479; }

/* ══════════════════════════════════════════
   PREFERENCES CENTER
   ══════════════════════════════════════════ */
.preferences-form { max-width: 730px; margin: 0 auto; padding: 30px 15px 60px; }
.prefs-section {
  margin-bottom: 35px;
}
.prefs-section__title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 20px; font-weight: 700; color: #454547;
  margin: 0 0 8px;
}
.prefs-section__desc {
  font-size: 15px; color: rgba(69,69,71,0.7); margin: 0 0 20px;
}
.prefs-item {
  padding: 15px 0; border-bottom: 1px solid rgba(69,69,71,0.1);
}
.prefs-item label {
  font-size: 16px; font-weight: 700; color: #454547; cursor: pointer;
}
.prefs-item .description {
  font-size: 14px; color: rgba(69,69,71,0.7); margin-top: 3px;
}
.prefs-freq {
  display: inline-block; background: #1b5479; color: #fff;
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  padding: 2px 8px; border-radius: 2px; letter-spacing: 0.5px;
  margin-left: 5px; vertical-align: middle;
}
.prefs-topics-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 8px 20px;
}
@media (max-width: 600px) { .prefs-topics-grid { grid-template-columns: 1fr; } }
.prefs-topics-grid .form-item {
  margin: 0; padding: 10px 0;
}
.prefs-topics-grid label {
  font-size: 15px; color: #454547; cursor: pointer;
}
.preferences-form .form-radios .form-item {
  padding: 10px 0;
}
.preferences-form .form-radios label {
  font-size: 15px; color: #454547; cursor: pointer;
}
/* Per-newsletter preference cards */
.prefs-tz { max-width: 300px; margin-bottom: 10px; }
.prefs-tz select { width: 100%; padding: 8px 10px; font-size: 14px; border: 1px solid #ddd; border-radius: 4px; }

.prefs-nl {
  background: #f9fafb; border: 1px solid #e8e8ec; border-radius: 8px;
  padding: 16px 18px; margin-bottom: 12px; transition: border-color 0.15s;
}
.prefs-nl--active { border-color: #24ab8a; background: #f4fdf9; }
.prefs-nl label.option { font-size: 16px; font-weight: 700; color: #454547; cursor: pointer; }
.prefs-nl .description { font-size: 13px; color: #77777f; margin-top: 2px; }

.prefs-nl__delivery { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(69,69,71,0.08); }
.prefs-nl__row { display: flex; gap: 12px; flex-wrap: wrap; }
.prefs-nl__row .form-item { flex: 1; min-width: 120px; }
.prefs-nl__row label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: #77777f; font-weight: 600; display: block; margin-bottom: 4px; }
.prefs-nl__row select { width: 100%; padding: 8px 10px; font-size: 14px; border: 1px solid #ddd; border-radius: 4px; background: #fff; }
.prefs-nl__row .description { font-size: 11px; color: #aaa; }

/* Hide delivery options when newsletter is unchecked */
.prefs-nl:not(.prefs-nl--active) .prefs-nl__delivery { display: none; }

.prefs-submit {
  background: #24ab8a; color: #fff;
  font-size: 14px; font-weight: 700; text-transform: uppercase;
  padding: 12px 30px; border: 0; border-radius: 3px; cursor: pointer;
  margin-top: 10px;
}
.prefs-submit:hover { background: #209a7c; }
.prefs-unsub-all {
  margin-top: 30px; padding-top: 20px;
  border-top: 1px solid rgba(69,69,71,0.1);
  font-size: 13px;
}
.prefs-unsub-all a { color: #77777f; }

/* ══════════════════════════════════════════
   AI WEEKLY INDEX CHARTS
   ══════════════════════════════════════════ */
/* Intro */
.ai-index-intro {
  font-size: 17px; line-height: 1.7; margin-bottom: 30px; color: #454547;
}
.ai-index-intro p:first-child {
  font-size: 19px; font-weight: 400;
}

/* This Week signals */
.ai-index-thisweek {
  background: linear-gradient(135deg, #1b5479 0%, #24ab8a 100%);
  border-radius: 8px; padding: 24px 28px; margin-bottom: 30px;
  color: #fff;
}
.ai-index-thisweek-title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 18px; font-weight: 700; margin: 0 0 16px;
  color: #fff; border: none; padding: 0;
}
.ai-index-thisweek-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
.signal-card {
  background: rgba(255,255,255,0.12); border-radius: 6px;
  padding: 14px 16px; backdrop-filter: blur(4px);
}
.signal-card .signal-label {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.8px;
  opacity: 0.75; margin-bottom: 4px; font-weight: 600;
}
.signal-card .signal-value {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 28px; font-weight: 700; line-height: 1.1; margin-bottom: 4px;
}
.signal-card .signal-detail {
  font-size: 12px; opacity: 0.8; line-height: 1.4;
}
.signal-card .signal-change { font-size: 13px; font-weight: 700; }
.signal-card .signal-change.up { color: #7dffcc; }
.signal-card .signal-change.down { color: #ffb3b3; }

/* ══════════════════════════════════════════
   ALERTS LANDING PAGE
   ══════════════════════════════════════════ */
.alerts-landing { padding: 40px 0 60px; }
.alerts-landing__hero { text-align: center; margin-bottom: 30px; }
.alerts-landing__badge {
  display: inline-block; background: #ff6b35; color: #fff;
  font-size: 11px; font-weight: 700; letter-spacing: 1.5px;
  padding: 4px 12px; border-radius: 3px; margin-bottom: 12px;
}
.alerts-landing__title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 36px; font-weight: 700; color: #1b5479; margin: 0 0 8px;
}
.alerts-landing__subtitle { font-size: 20px; color: #77777f; margin: 0; }

.alerts-landing__pitch {
  max-width: 560px; margin: 0 auto 35px;
  font-size: 17px; line-height: 1.7; color: #454547; text-align: center;
}
.alerts-landing__pitch p:first-child { font-size: 20px; font-weight: 600; }

.alerts-landing__features {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  max-width: 560px; margin: 0 auto 35px;
}
@media (max-width: 600px) { .alerts-landing__features { grid-template-columns: 1fr; } }
.alerts-landing__feature {
  background: #f5f6f8; border-radius: 6px; padding: 16px 18px;
}
.alerts-landing__feature strong {
  display: block; font-size: 14px; color: #ff6b35; margin-bottom: 4px;
}
.alerts-landing__feature span { font-size: 13px; color: #77777f; line-height: 1.5; }

.alerts-landing__signup {
  max-width: 480px; margin: 0 auto 40px; text-align: center;
}
.alerts-landing__form { display: flex; gap: 8px; }
.alerts-landing__input {
  flex: 1; padding: 14px 16px; font-size: 15px;
  border: 2px solid #ddd; border-radius: 4px; outline: none;
}
.alerts-landing__input:focus { border-color: #ff6b35; }
.alerts-landing__btn {
  background: #ff6b35; color: #fff; border: none;
  font-size: 14px; font-weight: 700; text-transform: uppercase;
  padding: 14px 24px; border-radius: 4px; cursor: pointer;
  white-space: nowrap;
}
.alerts-landing__btn:hover { background: #e55a28; }
.alerts-landing__trust { font-size: 13px; color: #999; margin-top: 10px; }
.alerts-landing__trust a { color: #1b5479; }

.alerts-landing__sample {
  max-width: 480px; margin: 0 auto;
  border: 1px solid #e0e0e0; border-radius: 8px; overflow: hidden;
}
.alerts-landing__sample-header {
  background: #f9f9f9; padding: 10px 18px; border-bottom: 1px solid #e0e0e0;
}
.alerts-landing__sample-badge {
  font-size: 10px; font-weight: 700; letter-spacing: 1px; color: #999;
}
.alerts-landing__sample-body { padding: 0; }
.alerts-landing__sample-bar { height: 4px; background: #ff6b35; }
.alerts-landing__sample-story {
  padding: 16px 18px; border-bottom: 1px solid #f0f0f0;
}
.alerts-landing__sample-story:last-child { border-bottom: none; }
.alerts-landing__sample-story strong {
  display: block; font-family: 'Merriweather', Georgia, serif;
  font-size: 15px; color: #1b5479; line-height: 1.35; margin-bottom: 3px;
}
.alerts-landing__sample-story span { font-size: 11px; color: #999; }
.alerts-landing__sample-story p { font-size: 13px; line-height: 1.5; color: #666; margin: 8px 0 0; }

/* ══════════════════════════════════════════
   NEWSLETTER LANDING PAGES
   ══════════════════════════════════════════ */
.nl-landing { padding: 40px 0 60px; max-width: 600px; margin: 0 auto; }
.nl-landing__hero { text-align: center; margin-bottom: 30px; }
.nl-landing__freq {
  display: inline-block; background: #1b5479; color: #fff;
  font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 4px 12px; border-radius: 3px; margin-bottom: 12px;
}
.nl-landing__title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 32px; font-weight: 700; color: #1b5479; margin: 0 0 8px;
}
.nl-landing__tagline { font-size: 18px; color: #77777f; margin: 0; }
.nl-landing__pitch { font-size: 17px; line-height: 1.7; color: #454547; margin-bottom: 30px; text-align: center; }
.nl-landing__signup { margin: 0 auto 35px; text-align: center; }
.nl-landing__form { display: flex; gap: 8px; max-width: 440px; margin: 0 auto; }
.nl-landing__input {
  flex: 1; padding: 14px 16px; font-size: 15px;
  border: 2px solid #ddd; border-radius: 4px; outline: none;
}
.nl-landing__input:focus { border-color: #24ab8a; }
.nl-landing__btn {
  background: #24ab8a; color: #fff; border: none;
  font-size: 14px; font-weight: 700; text-transform: uppercase;
  padding: 14px 24px; border-radius: 4px; cursor: pointer; white-space: nowrap;
}
.nl-landing__btn:hover { background: #209a7c; }
.nl-landing__trust { font-size: 13px; color: #999; margin-top: 10px; }
.nl-landing__trust a { color: #1b5479; }
.nl-landing__covers, .nl-landing__who { margin-bottom: 25px; }
.nl-landing__covers h2, .nl-landing__who h2 {
  font-family: 'Lato', sans-serif; font-size: 13px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.5px; color: #454547;
  border-bottom: 1px solid #e0e0e0; padding-bottom: 8px; margin-bottom: 12px;
}
.nl-landing__covers ul { list-style: none; padding: 0; margin: 0; }
.nl-landing__covers li {
  padding: 8px 0 8px 20px; border-bottom: 1px solid #f5f5f5;
  font-size: 15px; color: #454547; position: relative;
}
.nl-landing__covers li::before { content: '→'; position: absolute; left: 0; color: #24ab8a; font-weight: 700; }
.nl-landing__who p { font-size: 15px; color: #77777f; line-height: 1.6; }
.nl-landing__cta-bottom { text-align: center; margin-top: 30px; }
.nl-landing__back { color: #1b5479; font-size: 14px; font-weight: 600; }

/* Newsletters hub */
.nl-hub { padding: 40px 0 60px; }
.nl-hub__hero { text-align: center; margin-bottom: 35px; }
.nl-hub__title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 32px; font-weight: 700; color: #1b5479; margin: 0 0 8px;
}
.nl-hub__subtitle { font-size: 17px; color: #77777f; margin: 0; }
.nl-hub__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px; margin-bottom: 30px;
}
.nl-hub__card {
  display: block; background: #f9fafb; border: 1px solid #e8e8ec;
  border-radius: 8px; padding: 20px; text-decoration: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.nl-hub__card:hover { border-color: #24ab8a; box-shadow: 0 2px 8px rgba(36,171,138,0.12); }
.nl-hub__card--alert { border-color: #ff6b35; background: #fff8f5; }
.nl-hub__card--alert:hover { border-color: #ff6b35; box-shadow: 0 2px 8px rgba(255,107,53,0.15); }
.nl-hub__card-freq {
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
  color: #24ab8a; margin-bottom: 6px;
}
.nl-hub__card--alert .nl-hub__card-freq { color: #ff6b35; }
.nl-hub__card-title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 17px; font-weight: 700; color: #1b5479; margin: 0 0 6px;
}
.nl-hub__card-tagline { font-size: 13px; color: #77777f; margin: 0; line-height: 1.5; }
.nl-hub__cta { text-align: center; font-size: 14px; color: #999; }
.nl-hub__cta a { color: #1b5479; }

/* ══════════════════════════════════════════
   AI WEEKLY LIVE FEED
   ══════════════════════════════════════════ */
.live-feed { padding: 30px 0 60px; }
.live-feed__header { text-align: center; margin-bottom: 25px; }
.live-feed__pulse {
  display: inline-block; width: 10px; height: 10px; background: #e74c3c;
  border-radius: 50%; margin-right: 8px; animation: pulse 2s infinite;
  vertical-align: middle;
}
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
.live-feed__title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 28px; font-weight: 700; color: #1b5479;
  margin: 0; display: inline;
}
.live-feed__subtitle { font-size: 15px; color: #77777f; margin: 8px 0 0; }

.live-feed__filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 25px; justify-content: center; }
.live-feed__filter {
  background: #f5f6f8; border: 1px solid #e8e8ec; border-radius: 20px;
  padding: 6px 16px; font-size: 13px; font-weight: 600; color: #77777f;
  cursor: pointer; transition: all 0.15s;
}
.live-feed__filter:hover { border-color: #1b5479; color: #1b5479; }
.live-feed__filter.active { background: #1b5479; color: #fff; border-color: #1b5479; }

.live-feed__stories { max-width: 700px; margin: 0 auto; }
.live-feed__story {
  padding: 20px 0; border-bottom: 1px solid #f0f0f0;
  transition: opacity 0.2s;
}
.live-feed__story--hidden { display: none; }
.live-feed__story--alert { border-left: 3px solid #ff6b35; padding-left: 16px; }

.live-feed__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; font-size: 12px; }
.live-feed__source { font-weight: 700; color: #454547; }
.live-feed__time { color: #aaa; }
.live-feed__alert-badge {
  background: #ff6b35; color: #fff; font-size: 10px; font-weight: 700;
  padding: 2px 6px; border-radius: 3px; letter-spacing: 0.5px;
}
.live-feed__score {
  background: #f5f6f8; color: #77777f; font-size: 11px; font-weight: 700;
  padding: 2px 8px; border-radius: 10px;
}

.live-feed__headline {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 17px; font-weight: 700; line-height: 1.35; margin: 0 0 6px;
}
.live-feed__headline a { color: #1b5479; text-decoration: none; }
.live-feed__headline a:hover { text-decoration: underline; }

.live-feed__summary { font-size: 14px; line-height: 1.5; color: #666; margin: 0 0 8px; }

.live-feed__topics { display: flex; gap: 6px; flex-wrap: wrap; }
.live-feed__topic {
  font-size: 11px; color: #24ab8a; background: #f0faf6;
  padding: 2px 8px; border-radius: 10px;
}

.live-feed__loading, .live-feed__empty {
  text-align: center; padding: 40px; color: #999; font-size: 15px;
}

/* Subscribe alerts opt-in */
.subscribe-alerts-opt { margin-top: 8px; text-align: center; }
.subscribe-alerts-label {
  font-size: 13px; color: rgba(255,255,255,0.75); cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
}
.subscribe-alerts-label input { accent-color: #ff6b35; width: 15px; height: 15px; }
.navbar-a--live { color: #e74c3c !important; font-weight: 700; }
.navbar-a--alert { color: #ff6b35 !important; font-weight: 700; }

/* Table of contents */
.ai-index-toc {
  background: #f5f6f8; border-radius: 6px; padding: 14px 20px;
  margin-bottom: 40px; font-size: 14px; line-height: 2;
}
.ai-index-toc strong { color: #454547; margin-right: 8px; }
.ai-index-toc a {
  color: #1b5479; text-decoration: none; font-weight: 600;
}
.ai-index-toc a:hover { text-decoration: underline; }

/* Section titles */
.ai-index-section-title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 22px; font-weight: 700; color: #1b5479;
  margin: 60px 0 8px; padding-top: 30px;
  border-top: 2px solid #24ab8a;
  scroll-margin-top: 80px;
}

/* Charts */
.ai-index-charts { margin: 20px 0 40px; }
.chart-section { margin-bottom: 50px; }
.chart-container { position: relative; height: 350px; margin-bottom: 14px; }
.chart-container--large { height: 420px; }
.chart-row { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 50px; }
@media (max-width: 760px) { .chart-row { grid-template-columns: 1fr; } }
.chart-section--half .chart-container { height: 300px; }
.chart-insight {
  font-size: 14px; line-height: 1.6; color: rgba(69,69,71,0.75);
  margin: 0; padding: 0 0 0 16px;
  border-left: 3px solid #24ab8a;
}

/* Methodology */
.ai-index-methodology {
  margin-top: 60px; padding-top: 30px;
  border-top: 2px solid #24ab8a;
  scroll-margin-top: 80px;
}
.ai-index-methodology h2 {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 18px; font-weight: 700; color: #1b5479;
  margin-bottom: 15px;
}
.ai-index-methodology p {
  font-size: 14px; line-height: 1.7; color: rgba(69,69,71,0.7);
  margin-bottom: 12px;
}
.ai-index-methodology strong { color: #454547; }

/* ── Drupal cleanup ── */
.field--name-field-issue-number,
.field--name-field-publish-date,
.field--name-field-tags,
.field--name-field-newsletter,
.field--name-field-sponsor { display: none; }
.tabs { margin: 0 auto 20px; max-width: 730px; padding: 0 15px; }

/* ── Responsive ── */
@media (max-width: 759px) {
  .navbar-brand { float: none; text-align: center; padding: 15px 50px; max-width: 100%; display: block; }
  .navbar .i { text-align: center; }
  .intro p { font-size: 18px; }
  .issue__heading h1 { font-size: 22px; }
}
