.smart-post-page { background: #fff; }
.smart-post-hero { background: var(--mist); }
.smart-post-hero .container { max-width: 980px; padding-block: clamp(48px, 7vw, 92px) clamp(58px, 8vw, 108px); }
.smart-post-back { display: inline-flex; gap: 8px; align-items: center; margin-bottom: clamp(38px, 6vw, 64px); color: var(--slate); font-size: .92rem; font-weight: 600; }
.smart-post-back:hover { color: var(--purple); }
.smart-post-category, .smart-post-footer-eyebrow { margin: 0 0 14px; color: var(--purple-light); font-size: .92rem; font-weight: 700; }
.smart-post-hero h1 { max-width: 940px; margin: 0; font-size: clamp(2.65rem, 5.5vw, 5rem); font-weight: 600; line-height: .99; letter-spacing: -.06em; }
.smart-post-excerpt { max-width: 780px; margin: 24px 0 0; color: var(--slate); font-size: clamp(1.08rem, 1.7vw, 1.3rem); line-height: 1.55; }
.smart-post-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; color: var(--slate); font-size: .92rem; }
.smart-post-featured { max-width: 1100px; margin-top: clamp(52px, 7vw, 86px); margin-bottom: 0; }
.smart-post-featured img { display: block; width: 100%; height: auto; max-height: 680px; object-fit: cover; }
.smart-post-content { --article-width: 760px; padding-block: clamp(60px, 8vw, 108px); font-size: 1.08rem; line-height: 1.72; }
.smart-post-content > * { width: min(100%, var(--article-width)); margin-right: auto; margin-left: auto; }
.smart-post-content > :first-child { margin-top: 0; }
.smart-post-content > :last-child { margin-bottom: 0; }
.smart-post-content :where(p, ul, ol) { margin-top: 0; margin-bottom: 1.45em; }
.smart-post-content :where(ul, ol) { padding-left: 1.35em; }
.smart-post-content li { margin-bottom: .55em; padding-left: .25em; }
.smart-post-content h2 { margin-top: 2.15em; margin-bottom: .65em; color: var(--ink); font-size: clamp(1.8rem, 3vw, 2.65rem); line-height: 1.12; letter-spacing: -.035em; }
.smart-post-content h3 { margin-top: 1.8em; margin-bottom: .6em; color: var(--ink); font-size: clamp(1.4rem, 2.2vw, 1.85rem); line-height: 1.2; letter-spacing: -.02em; }
.smart-post-content h4 { margin-top: 1.6em; margin-bottom: .55em; font-size: 1.2rem; }
.smart-post-content a { color: var(--purple); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.smart-post-content a:hover { color: #2f0050; }
.smart-post-content strong { color: var(--ink); }
.smart-post-content .has-small-font-size { font-size: 1rem !important; }
.smart-post-content .has-medium-font-size { font-size: 1.3rem !important; line-height: 1.5; }
.smart-post-content .alignwide { width: min(100%, 1060px); max-width: 1060px; }
.smart-post-content .alignfull { width: calc(100vw - (var(--frame-gutter) * 2)); max-width: var(--frame-max); margin-left: 50%; transform: translateX(-50%); }
.smart-post-content :where(.wp-block-image, .wp-block-gallery, .wp-block-embed, .wp-block-video, .wp-block-cover) { margin-top: clamp(36px, 5vw, 58px); margin-bottom: clamp(36px, 5vw, 58px); }
.smart-post-content .wp-block-image a { display: block; max-width: 100%; }
.smart-post-content .wp-block-image img { display: block; width: auto; max-width: 100%; height: auto; border-radius: 0; }
.smart-post-content figcaption { margin-top: 10px; color: var(--slate); font-size: .85rem; line-height: 1.45; text-align: left; }
.smart-post-content .wp-block-embed__wrapper { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #111; }
.smart-post-content .wp-block-embed__wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.smart-post-content > iframe[src*="youtube.com"],
.smart-post-content > iframe[src*="youtube-nocookie.com"],
.smart-post-content > iframe[src*="player.vimeo.com"] { display: block; width: min(100%, 900px); max-width: 100%; height: auto; aspect-ratio: 16 / 9; margin: clamp(36px, 5vw, 58px) auto; border: 0; background: #111; }
.smart-post-content blockquote { padding: 8px 0 8px 26px; border-left: 4px solid var(--purple); color: var(--slate); font-size: 1.25rem; line-height: 1.55; }
.smart-post-content blockquote cite { display: block; margin-top: 12px; color: var(--ink); font-size: .88rem; font-style: normal; font-weight: 600; }
.smart-post-content .wp-block-pullquote { padding-block: 32px; border-block: 4px solid var(--purple); text-align: left; }
.smart-post-content pre, .smart-post-content code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.smart-post-content code { padding: .12em .3em; background: var(--mist); font-size: .9em; }
.smart-post-content pre { overflow-x: auto; padding: 22px; background: #17151a; color: #fff; font-size: .9rem; line-height: 1.6; }
.smart-post-content pre code { padding: 0; background: transparent; color: inherit; }
.smart-post-content .wp-block-table { overflow-x: auto; }
.smart-post-content table { width: 100%; border-collapse: collapse; font-size: .96rem; }
.smart-post-content th, .smart-post-content td { padding: 13px 14px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.smart-post-content th { background: var(--mist); color: var(--purple); }
.smart-post-content hr { margin-top: 48px; margin-bottom: 48px; border: 0; border-top: 1px solid var(--line); }
.smart-post-content .wp-block-button__link { display: inline-flex; min-height: 44px; align-items: center; padding: 10px 18px; border-radius: 4px; background: var(--purple); color: #fff; font-weight: 600; text-decoration: none; }
.smart-post-content .wp-block-button__link:hover { background: #2f0050; color: #fff; }
.smart-post-content .wp-block-columns { gap: clamp(24px, 4vw, 48px); }
.smart-post-content .wp-block-details { padding-block: 16px; border-bottom: 1px solid var(--line); }
.smart-post-content .wp-block-details summary { color: var(--ink); font-weight: 600; cursor: pointer; }
.smart-post-pages { margin-top: 42px; }
.smart-post-footer { background: var(--mist); }
.smart-post-footer > .container { max-width: 980px; padding-block: clamp(56px, 8vw, 92px); }
.smart-post-support { padding-bottom: clamp(42px, 6vw, 66px); border-bottom: 1px solid #ccd5df; }
.smart-post-support h2 { max-width: 720px; margin: 0 0 26px; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 600; line-height: 1.05; letter-spacing: -.05em; }
.smart-post-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-top: clamp(38px, 5vw, 58px); }
.smart-post-navigation a { min-width: 0; padding-top: 18px; border-top: 3px solid var(--purple); }
.smart-post-navigation span { display: block; margin-bottom: 8px; color: var(--purple-light); font-size: .82rem; font-weight: 700; }
.smart-post-navigation strong { display: block; overflow-wrap: anywhere; font-size: 1.05rem; line-height: 1.35; }
@media (max-width: 720px) {
  .smart-post-navigation { grid-template-columns: 1fr; }
  .smart-post-content { font-size: 1rem; }
  .smart-post-content .wp-block-columns { display: block; }
  .smart-post-content .wp-block-column + .wp-block-column { margin-top: 28px; }
}
