:root {
  --sm-accent: #e11d2e;
  --sm-ink: #17191c;
  --sm-muted: #747a82;
  --sm-line: #e5e7eb;
  --sm-surface: #f5f6f7;
  --sm-dark: #17191c;
  --sm-content: 1180px;
  --sm-radius: 3px;
  --sm-shadow: 0 12px 32px rgba(20, 24, 29, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  color: var(--sm-ink);
  background: #fff;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}
a { transition: color .2s ease, background-color .2s ease, opacity .2s ease; }
a:hover { text-decoration-thickness: 2px; }
.wp-site-blocks { padding-top: 0; }
.wp-block-group.alignfull { margin-block-start: 0; }
.wp-block-post-featured-image { margin: 0; overflow: hidden; }
.wp-block-post-featured-image img,
.wp-block-image img { transition: transform .45s ease; }
.sm-card:hover .wp-block-post-featured-image img,
.sm-feature:hover .wp-block-post-featured-image img { transform: scale(1.045); }

/* Header */
.sm-topbar {
  min-height: 34px;
  color: #d8dade;
  background: var(--sm-dark);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sm-topbar > .wp-block-group { min-height: 34px; }
.sm-topbar a { color: #d8dade; text-decoration: none; }
.sm-topbar a:hover { color: #fff; }
.sm-topbar .wp-block-social-links { gap: 10px; }
.sm-topbar .wp-block-social-links .wp-social-link { background: transparent; color: #aeb3ba; }
.sm-branding {
  padding: 28px 20px 24px;
  border-bottom: 1px solid var(--sm-line);
}
.sm-branding .wp-block-site-title {
  margin: 0;
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1;
}
.sm-branding .wp-block-site-title a { color: var(--sm-ink); text-decoration: none; }
.sm-branding .wp-block-site-tagline {
  margin: 8px 0 0;
  color: var(--sm-muted);
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.sm-main-nav {
  border-bottom: 1px solid var(--sm-line);
  background: #fff;
}
.sm-main-nav .wp-block-navigation {
  min-height: 52px;
  justify-content: center;
}
.sm-main-nav .wp-block-navigation-item__content {
  padding: 17px 15px;
  color: var(--sm-ink);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .065em;
  text-decoration: none;
  text-transform: uppercase;
}
.sm-main-nav .wp-block-navigation-item__content:hover,
.sm-main-nav .current-menu-item > .wp-block-navigation-item__content {
  color: var(--sm-accent);
}
.sm-main-nav .wp-block-search {
  width: 190px;
  margin-left: 20px;
}
.sm-main-nav .wp-block-search__input {
  border: 1px solid var(--sm-line);
  border-radius: 2px;
  font-size: 12px;
}
.sm-main-nav .wp-block-search__button {
  border: 0;
  color: #fff;
  background: var(--sm-accent);
}
.sm-static-nav {
  min-width: 0;
}
.sm-static-nav p {
  margin: 0;
}
.sm-static-nav a {
  display: block;
  padding: 17px 15px;
  color: var(--sm-ink);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .065em;
  text-decoration: none;
  text-transform: uppercase;
}
.sm-static-nav a:hover {
  color: var(--sm-accent);
}
.sm-trending {
  border-bottom: 1px solid var(--sm-line);
  background: #fafafa;
}
.sm-trending .sm-shell {
  min-height: 36px;
}
.sm-trending p {
  margin: 0;
  font-size: 11px;
}
.sm-trending-label {
  padding: 3px 9px;
  color: #fff;
  background: var(--sm-accent);
  font-size: 10px !important;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sm-trending-links {
  display: flex;
  gap: 11px;
  color: var(--sm-muted);
}
.sm-trending-links a {
  color: var(--sm-muted);
  text-decoration: none;
}
.sm-trending-links a:hover {
  color: var(--sm-accent);
}
.sm-ad-slot {
  display: flex;
  min-height: 74px;
  align-items: center;
  justify-content: center;
  margin: 30px auto 0;
  border: 1px solid #f0f1f2;
  background: #fcfcfc;
}
.sm-ad-slot p {
  margin: 0;
  color: #c2c5c8;
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* Shared magazine layout */
.sm-shell {
  max-width: var(--sm-content);
  margin-inline: auto;
  padding-inline: 20px;
}
.sm-section-head {
  display: flex;
  align-items: center;
  gap: 15px;
  margin: 48px 0 20px;
  border-bottom: 2px solid var(--sm-ink);
}
.sm-section-head h1,
.sm-section-head h2 {
  position: relative;
  margin: 0 0 -2px;
  padding-bottom: 10px;
  border-bottom: 3px solid var(--sm-accent);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.sm-section-head p {
  margin: 0 0 10px auto;
  color: var(--sm-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sm-grid {
  gap: 26px;
}
.sm-card {
  min-width: 0;
  border-bottom: 1px solid var(--sm-line);
  padding-bottom: 20px;
}
.sm-card .wp-block-post-featured-image,
.sm-feature .wp-block-post-featured-image {
  aspect-ratio: 1.52;
  background: var(--sm-surface);
}
.sm-card .wp-block-post-featured-image img,
.sm-feature .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sm-card .wp-block-post-title {
  margin: 14px 0 7px;
  font-size: 19px;
  line-height: 1.25;
}
.sm-card .wp-block-post-title a,
.sm-feature .wp-block-post-title a {
  color: var(--sm-ink);
  text-decoration: none;
}
.sm-card .wp-block-post-title a:hover,
.sm-feature .wp-block-post-title a:hover { color: var(--sm-accent); }
.sm-meta {
  color: var(--sm-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.sm-card .wp-block-post-excerpt {
  margin: 8px 0 0;
  color: #60666d;
  font-size: 13px;
  line-height: 1.55;
}
.sm-card .wp-block-post-excerpt__more-link { color: var(--sm-accent); }
.sm-featured-grid {
  display: block;
}
.sm-featured-grid .wp-block-post-template {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, 1fr);
  gap: 26px 28px;
}
.sm-featured-grid .wp-block-post-template > .sm-feature:first-child {
  grid-row: span 2;
}
.sm-featured-grid .wp-block-post-template > .sm-feature:first-child .wp-block-post-title {
  font-size: clamp(25px, 3.3vw, 38px);
}
.sm-featured-grid .wp-block-post-template > .sm-feature:not(:first-child) .wp-block-post-title { font-size: 19px; }
.sm-feature-stack { display: grid; gap: 20px; }
.sm-feature-stack .sm-feature {
  display: grid;
  grid-template-columns: 145px 1fr;
  gap: 15px;
  align-items: start;
  padding-bottom: 19px;
  border-bottom: 1px solid var(--sm-line);
}
.sm-feature-stack .wp-block-post-featured-image { aspect-ratio: 1.2; }
.sm-feature-stack .wp-block-post-title { margin: 0 0 7px; }

/* Article and archive */
.sm-article-wrap {
  display: grid;
  grid-template-columns: minmax(0, 780px) 280px;
  gap: 72px;
  max-width: 1120px;
  margin: 56px auto;
  padding-inline: 20px;
}
.sm-article-header .wp-block-post-title {
  margin: 0 0 14px;
  font-size: clamp(34px, 5vw, 58px);
  letter-spacing: -.045em;
  line-height: 1.05;
}
.sm-article-header .wp-block-post-featured-image {
  margin: 30px 0 34px;
}
.sm-article-header .wp-block-post-featured-image img {
  width: 100%;
  max-height: 570px;
  object-fit: cover;
}
.sm-content {
  font-size: 18px;
  line-height: 1.85;
}
.sm-content > p:first-child { font-size: 21px; line-height: 1.65; }
.sm-content h2, .sm-content h3 {
  margin-top: 2em;
  line-height: 1.2;
}
.sm-content blockquote {
  margin: 2em 0;
  padding: 5px 25px;
  border-left: 4px solid var(--sm-accent);
  color: #555b61;
  font-family: Georgia, serif;
  font-size: 24px;
  font-style: italic;
}
.sm-sidebar {
  border-top: 3px solid var(--sm-ink);
}
.sm-sidebar h2 {
  margin: 0;
  padding: 14px 0 11px;
  border-bottom: 2px solid var(--sm-accent);
  font-size: 14px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.sm-sidebar .wp-block-post-template { gap: 18px; }
.sm-sidebar .sm-side-post {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 12px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--sm-line);
}
.sm-sidebar .sm-side-post .wp-block-post-featured-image { aspect-ratio: 1; }
.sm-sidebar .sm-side-post .wp-block-post-title {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
}
.sm-sidebar .sm-side-post .sm-meta { display: block; margin-top: 5px; font-size: 9px; }
.sm-pagination { margin-top: 35px; }
.sm-pagination .wp-block-query-pagination-numbers { display: flex; gap: 7px; }
.sm-pagination a, .sm-pagination .page-numbers {
  padding: 9px 13px;
  border: 1px solid var(--sm-line);
  color: var(--sm-ink);
  font-size: 12px;
  text-decoration: none;
}
.sm-pagination .current, .sm-pagination a:hover { color: #fff; background: var(--sm-accent); border-color: var(--sm-accent); }

/* Full-width SmartMag single post: no sidebar, centered editorial column. */
.sm-full-article-wrap {
  width: 100%;
  max-width: none !important;
  margin: 0;
  padding: 0 20px;
}
.sm-article-ad {
  display: flex;
  width: min(100%, 800px);
  min-height: 76px;
  align-items: center;
  justify-content: center;
  margin: 30px auto 0;
  border: 1px solid #f0f1f2;
  background: #fcfcfc;
}
.sm-article-ad p {
  margin: 0;
  color: #c2c5c8;
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.sm-full-article {
  width: min(100%, 860px);
  margin: 65px auto 90px;
}
.sm-full-article-header {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}
.sm-full-category {
  display: block;
  margin-bottom: 21px;
  color: var(--sm-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.sm-full-category a {
  color: inherit;
  text-decoration: none;
}
.sm-full-title {
  margin: 0;
  color: var(--sm-accent);
  font-family: Arial, "Segoe UI", sans-serif;
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.28;
  text-wrap: balance;
}
.sm-full-meta {
  gap: 12px;
  margin-top: 24px;
  color: #8a8f95;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.sm-full-meta > * {
  margin: 0;
}
.sm-full-meta > * + *::before {
  margin-inline-end: 12px;
  color: #c5c7ca;
  content: "•";
}
.sm-full-featured {
  width: 100%;
  margin: 42px auto 36px;
  overflow: hidden;
  background: var(--sm-surface);
}
.sm-full-featured img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 620px;
  object-fit: cover;
}
.sm-full-content {
  width: min(100%, 800px);
  margin-inline: auto;
  color: #17191c;
  font-family: Arial, "Segoe UI", sans-serif;
  font-size: 20px;
  line-height: 1.95;
  text-align: center;
}
.sm-full-content > p:first-child {
  margin-top: 0;
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 700;
  line-height: 1.7;
}
.sm-full-content p {
  margin-block: 1.45em;
}
.sm-full-content h2,
.sm-full-content h3,
.sm-full-content h4 {
  margin: 2em 0 .7em;
  color: var(--sm-ink);
  line-height: 1.35;
}
.sm-full-content h2 { font-size: 30px; }
.sm-full-content h3 { font-size: 25px; }
.sm-full-content a {
  color: var(--sm-accent);
  text-underline-offset: 3px;
}
.sm-full-content img,
.sm-full-content figure {
  max-width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center;
}
.sm-full-content img {
  display: block;
  height: auto;
}
.sm-full-content figure,
.sm-full-content .wp-block-image,
.sm-full-content figure.alignleft,
.sm-full-content figure.alignright,
.sm-full-content figure.aligncenter,
.sm-full-content .alignleft,
.sm-full-content .alignright,
.sm-full-content .aligncenter {
  float: none !important;
  clear: both;
  width: fit-content;
  max-width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
}
.sm-full-content .wp-block-image img,
.sm-full-content figure.alignleft img,
.sm-full-content figure.alignright img,
.sm-full-content figure.aligncenter img {
  float: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
.sm-full-content figure figcaption {
  color: var(--sm-muted);
  font-size: 12px;
  line-height: 1.5;
}
.sm-full-content blockquote {
  width: min(100%, 700px);
  margin: 2em auto;
  padding: 10px 25px;
  border: 0;
  border-inline-start: 4px solid var(--sm-accent);
  color: #555b61;
  font-family: Georgia, serif;
  font-size: 25px;
  font-style: italic;
  line-height: 1.6;
}
.sm-full-content ul,
.sm-full-content ol {
  width: min(100%, 680px);
  margin-inline: auto;
  text-align: start;
}
.sm-full-separator {
  width: min(100%, 800px);
  margin: 50px auto 20px;
  border-color: var(--sm-line);
}
.sm-full-tags {
  width: min(100%, 800px);
  margin-inline: auto;
  color: var(--sm-muted);
  font-size: 11px;
  text-align: center;
}
.sm-full-tags a {
  color: var(--sm-muted);
  text-decoration: none;
}
.sm-full-tags a:hover { color: var(--sm-accent); }

/* WordPress can keep an old alignright/float style on images after the
   editor button is changed. The article template owns the image alignment,
   so neutralize those legacy inline/class rules across every nested block. */
.sm-full-article img:not(.avatar):not(.custom-logo),
.sm-full-article picture,
.sm-full-article video {
  position: static !important;
  float: none !important;
  display: block;
  max-width: 100%;
  height: auto;
  margin-right: auto !important;
  margin-left: auto !important;
}
.sm-full-article figure,
.sm-full-article .wp-block-image,
.sm-full-article .alignleft,
.sm-full-article .alignright,
.sm-full-article .aligncenter,
.sm-full-article [style*="float"],
.sm-full-article [style*="text-align"] {
  float: none !important;
  clear: both;
  width: fit-content;
  max-width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}
.sm-full-article .wp-block-image img,
.sm-full-article p > img,
.sm-full-article div > img,
.sm-full-article a > img {
  float: none !important;
  display: block;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Compatibility with saved Site Editor templates and older post-content
   wrappers that do not keep the custom sm-full-content class. */
.single-post .sm-full-article .wp-block-image,
.single-post .sm-full-article .wp-block-image.alignleft,
.single-post .sm-full-article .wp-block-image.alignright,
.single-post .sm-full-article .wp-block-image.aligncenter,
.single-post .wp-block-post-content .wp-block-image,
.single-post .wp-block-post-content .wp-block-image.alignleft,
.single-post .wp-block-post-content .wp-block-image.alignright,
.single-post .wp-block-post-content .wp-block-image.aligncenter,
.single-post .entry-content .wp-block-image,
.single-post .entry-content .wp-block-image.alignleft,
.single-post .entry-content .wp-block-image.alignright,
.single-post .entry-content .wp-block-image.aligncenter {
  position: static !important;
  float: none !important;
  clear: both !important;
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}
.single-post .sm-full-article .wp-block-image > img,
.single-post .wp-block-post-content .wp-block-image > img,
.single-post .entry-content .wp-block-image > img {
  position: static !important;
  float: none !important;
  display: block !important;
  width: auto;
  max-width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Desktop-only leftovers from WordPress alignment styles. Mobile themes
   often reset these automatically, which is why the same image can appear
   centered on a phone but right-aligned on a desktop. */
@media (min-width: 783px) {
  .single-post .sm-full-article .alignleft,
  .single-post .sm-full-article .alignright,
  .single-post .sm-full-article .aligncenter,
  .single-post .sm-full-article .wp-block-image,
  .single-post .sm-full-article figure,
  .single-post .wp-block-post-content .wp-block-image,
  .single-post .entry-content .wp-block-image {
    position: static !important;
    inset: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }
  .single-post .sm-full-article .wp-block-image img,
  .single-post .sm-full-article figure img,
  .single-post .wp-block-post-content .wp-block-image img,
  .single-post .entry-content .wp-block-image img {
    position: static !important;
    inset: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    float: none !important;
    display: block !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* Footer */
.sm-footer {
  margin-top: 80px;
  padding: 52px 20px 23px;
  color: #aeb3ba;
  background: var(--sm-dark);
}
.sm-footer .wp-block-site-title { margin: 0; color: #fff; font-size: 28px; }
.sm-footer a { color: #dfe2e5; text-decoration: none; }
.sm-footer a:hover { color: #fff; }
.sm-footer .wp-block-navigation { gap: 17px; }
.sm-footer .wp-block-navigation-item__content { font-size: 12px; }
.sm-footer-bottom {
  margin-top: 42px;
  padding-top: 17px;
  border-top: 1px solid #35393e;
  font-size: 11px;
}

/* Mobile */
@media (max-width: 782px) {
  .sm-topbar .sm-shell > .wp-block-group { justify-content: center; }
  .sm-topbar .sm-topbar-date { display: none; }
  .sm-branding { padding-block: 22px; text-align: center; }
  .sm-main-nav .wp-block-navigation { min-height: 48px; justify-content: flex-start; }
  .sm-main-nav .wp-block-navigation__responsive-container-open { display: block; margin-left: auto; }
  .sm-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .sm-main-nav .wp-block-search { display: none; }
  .sm-static-nav { display: none; }
  .sm-shell { padding-inline: 16px; }
  .sm-trending-links { overflow: hidden; white-space: nowrap; }
  .sm-section-head { margin-top: 34px; }
  .sm-featured-grid .wp-block-post-template { display: block; }
  .sm-featured-grid .sm-feature:first-child { margin-bottom: 24px; }
  .sm-feature-stack .sm-feature { grid-template-columns: 115px 1fr; }
  .sm-article-wrap { display: block; margin-top: 34px; padding-inline: 16px; }
  .sm-sidebar { margin-top: 55px; }
  .sm-content { font-size: 17px; }
  .sm-content > p:first-child { font-size: 19px; }
  .sm-full-article-wrap { padding-inline: 14px; }
  .sm-article-ad { min-height: 54px; margin-top: 18px; }
  .sm-full-article { margin: 40px auto 60px; }
  .sm-full-title { font-size: clamp(29px, 8.4vw, 43px); line-height: 1.38; }
  .sm-full-meta { margin-top: 16px; font-size: 9px; }
  .sm-full-featured { margin-top: 30px; margin-bottom: 26px; }
  .sm-full-content { font-size: 18px; line-height: 1.85; }
  .sm-full-content > p:first-child { font-size: 21px; line-height: 1.65; }
  .sm-full-content h2 { font-size: 26px; }
  .sm-full-content h3 { font-size: 22px; }
  .sm-full-content blockquote { padding-inline: 17px; font-size: 21px; }
  .sm-footer { margin-top: 55px; }
}