/* Approved editorial layouts, scoped to the blog. Existing site chrome is reused. */
.ad-blog { color: var(--ad-brown); padding-bottom: 70px; }
.ad-blog :is(h1,h2,h3) { font-family: var(--ad-font-display); font-weight: 400; line-height: 1.12; text-wrap: balance; color: inherit; }
.ad-blog h1 { font-size: clamp(44px,5.5vw,76px); letter-spacing: -.035em; margin: 0; }
.ad-blog h2 { font-size: 42px; letter-spacing: -.025em; }
.ad-blog h3 { font-size: 29px; letter-spacing: -.02em; }
.ad-blog a { text-underline-offset: 5px; }
.ad-blog :is(a,button,summary):focus-visible { outline: 2px solid var(--ad-brown); outline-offset: 5px; }
.ad-blog ::selection { background: var(--ad-mint); color: var(--ad-brown); }
.ad-blog-intro { padding-block: 64px 55px; }
.ad-blog-intro h1 { max-width: 900px; font-size: clamp(48px,6.2vw,84px); }
.ad-blog-intro > p { font-size: 19px; line-height: 1.65; margin: 25px 0 0; max-width: 630px; }
.ad-blog-featured { display: grid; grid-template-columns: 1.18fr 1fr; background: #e9d5cd; }
.ad-blog-feature-image { display: block; overflow: hidden; min-height: 475px; border: 1px solid rgba(70,57,33,.28); }
body.canvas .ad-blog-feature-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ad-blog-feature-copy { padding: 48px; align-self: center; min-width: 0; }
.ad-blog-feature-copy h2 { font-size: 49px; margin: 0 0 24px; overflow-wrap: anywhere; }
.ad-blog-feature-copy h2 a,.ad-blog-story h3 a { text-decoration: none; }
.ad-blog-feature-copy h2 a:hover,.ad-blog-story h3 a:hover { text-decoration: underline; }
.ad-blog-feature-copy .ad-blog-excerpt { font-size: 17px; line-height: 1.65; max-width: 430px; }
.ad-blog-featured--text { grid-template-columns: 1fr; }
.ad-blog-featured--text .ad-blog-feature-copy { max-width: 900px; }
.ad-blog-featured--text .ad-blog-excerpt { max-width: 650px; }
.ad-blog-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; font-size: 13px; line-height: 1.5; margin: 0 0 22px; }
.ad-blog-meta time { color: #675a49; }
.ad-blog-meta a + time { border-left: 1px solid #ab9a86; padding-left: 16px; }
.ad-blog-meta a { text-decoration: none; }
.ad-blog-meta a:hover { text-decoration: underline; }
.ad-blog .ad-blog-link { display: inline-flex; align-items: center; gap: 15px; padding: 7px 0; margin: 0; background: transparent; color: var(--ad-brown); border: 0; border-radius: 0; box-shadow: none; font: 600 14px/1.6 var(--ad-font-body); text-decoration: none; cursor: pointer; }
.ad-blog .ad-blog-link:hover { text-decoration: underline; }
.ad-blog-link .fa-solid { font-size: 16px; }
.ad-blog-excerpt p { margin: 0 0 20px; }
.ad-blog-latest { padding-block: 80px 20px; }
.ad-blog-section-top { display: flex; align-items: baseline; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.ad-blog-section-top h2 { margin: 0; }
.ad-blog-section-top p { color: var(--ad-muted); margin: 0; font-size: 16px; }
.ad-blog-filters { display: flex; gap: 10px; flex-wrap: wrap; border-top: 1px solid var(--ad-line); padding-top: 24px; margin-bottom: 38px; }
.ad-blog-filters a { padding: 9px 20px; border: 1px solid var(--ad-line); border-radius: 30px; font-size: 14px; text-decoration: none; }
.ad-blog-filters a[aria-current] { background: var(--ad-brown); color: white; border-color: var(--ad-brown); }
.ad-blog-filters a:hover:not([aria-current]) { background: #e9e2d8; }
.ad-blog-stories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.ad-blog-story { min-width: 0; }
.ad-blog-story-image { display: block; overflow: hidden; margin-bottom: 22px; background: #e8e0d4; aspect-ratio: 1.3; border: 1px solid var(--ad-line); }
body.canvas .ad-blog-story-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .4s ease; }
.ad-blog-story-image:hover img { transform: scale(1.025); }
.ad-blog-story .ad-blog-meta { margin-bottom: 13px; }
.ad-blog-story h3 { margin: 0 0 14px; overflow-wrap: anywhere; }
.ad-blog-story .ad-blog-excerpt { color: var(--ad-muted); font-size: 15px; line-height: 1.7; }
.ad-blog .pagination { margin-top: 40px; }
.ad-blog .nav-links { display: flex; flex-wrap: wrap; gap: 10px; }
.ad-blog .page-numbers { padding: 8px 15px; border: 1px solid var(--ad-line); border-radius: 25px; font-size: 15px; }
.ad-blog .page-numbers.current { background: var(--ad-brown); color: white; }
.ad-blog-back { padding-top: 34px; text-align: center; }
.ad-blog-article-heading { max-width: 950px; text-align: center; padding-block: 37px 45px; }
.ad-blog-article-heading h1 { overflow-wrap: anywhere; }
.ad-blog-standfirst { font-size: 21px; line-height: 1.5; margin: 26px 0; }
.ad-blog-standfirst p { margin: 0; }
.ad-blog-byline { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 20px; font-size: 13px; margin-top: 28px; }
.ad-blog-byline > :not(:first-child) { padding-left: 20px; border-left: 1px solid var(--ad-line); }
.ad-blog-article-hero { margin-top: 0; margin-bottom: 64px; }
body.canvas .ad-blog-article-hero > img { display: block; width: 100%; height: auto; max-height: 620px; object-fit: cover; border: 1px solid var(--ad-line); }
.ad-blog figcaption { font-size: 12px; color: var(--ad-muted); margin-top: 12px; }
.ad-blog-reading { display: grid; grid-template-columns: 230px minmax(0,700px); gap: 75px; justify-content: center; }
.ad-blog-reading--no-toc { grid-template-columns: minmax(0,700px); }
body.single-post .site-canvas { overflow: clip; }
.ad-blog-contents { align-self: start; position: sticky; top: 40px; font-size: 14px; }
body.admin-bar .ad-blog-contents { top: 72px; }
.ad-blog-contents summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; font-weight: 600; margin: 4px 0 18px; cursor: pointer; list-style: none; }
.ad-blog-contents summary::-webkit-details-marker { display: none; }
.ad-blog-contents details:not([open]) summary i { transform: rotate(-90deg); }
.ad-blog-contents nav { display: flex; flex-direction: column; border-top: 1px solid var(--ad-line); padding-top: 15px; gap: 14px; margin-bottom: 30px; }
.ad-blog-contents nav a { text-decoration: none; overflow-wrap: anywhere; }
.ad-blog-contents nav a:hover { text-decoration: underline; }
.ad-blog-body-column { min-width: 0; }
.ad-blog-prose { font-size: 18px; line-height: 1.85; overflow-wrap: anywhere; }
.ad-blog-prose > p:first-child { font-size: 22px; line-height: 1.65; }
.ad-blog-prose h2 { font-size: 36px; margin: 48px 0 20px; scroll-margin-top: 60px; }
.ad-blog-prose h3 { font-size: 29px; margin: 36px 0 16px; }
.ad-blog-prose p { font-size: inherit; line-height: inherit; margin: 0 0 24px; }
.ad-blog-prose :is(ul,ol) { padding-left: 24px; }
.ad-blog-prose li { margin-bottom: 8px; }
.ad-blog-prose blockquote { font-family: var(--ad-font-display); font-size: 34px; line-height: 1.3; margin: 38px 0; padding: 32px 0; border: 0; border-block: 1px solid var(--ad-line); }
.ad-blog-prose blockquote p:last-child { margin-bottom: 0; }
.ad-blog-prose :is(img,video,iframe) { max-width: 100%; }
.ad-blog-prose table { display: block; max-width: 100%; overflow-x: auto; }
.ad-blog-prose .wp-caption { max-width: 100%; }
/* CDE containers are relative to the article column, including full-width layouts. */
.ad-blog-prose .container { width: 100%; max-width: 100%; margin-inline: 0; padding-inline: 0; }
.ad-blog-prose .flex-elm { --cde-padding: 32px; --cde-mobile-padding: 24px; --cde-edge-padding: 28px; --cde-mobile-edge-padding: 20px; }
.ad-blog-prose .flex-elm.first { margin-top: 0; }
.ad-blog-prose .flex-elm.last { margin-bottom: 0; }
.ad-blog-prose .cde-richtext > :first-child { margin-top: 0; }
.ad-blog-prose .cde-richtext > :last-child { margin-bottom: 0; }
.ad-blog-prose .flex-elm.is-fullbleed { width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; }
.ad-blog-article-end { margin-top: 50px; padding-top: 24px; border-top: 1px solid var(--ad-line); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; }
.ad-blog-article-end p { margin: 0; }
.ad-blog-article-end [role=status] { width: 100%; font-size: 13px; }
.ad-blog-related { padding-top: 85px; }
.ad-blog-related .ad-blog-stories { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ad-blog-related .ad-blog-story { display: grid; grid-template-columns: 180px 1fr; column-gap: 24px; align-content: start; }
.ad-blog-related .ad-blog-story:not(:has(.ad-blog-story-image)) { display: block; }
.ad-blog-related .ad-blog-story-image { grid-row: 1/5; margin: 0; aspect-ratio: 1; }
.ad-blog-related .ad-blog-story h3 { font-size: 27px; }
.ad-blog-related .ad-blog-excerpt { display: none; }
.ad-blog-related .ad-blog-meta { font-size: 12px; gap: 8px; }
.ad-blog-related .ad-blog-meta time { padding-left: 8px; }
@media(max-width:1000px) {
 .ad-blog-feature-copy { padding: 30px; }
 .ad-blog-feature-copy h2 { font-size: 38px; }
 .ad-blog-feature-image { min-height: 420px; }
 .ad-blog-stories { gap: 22px; }
 .ad-blog-story h3 { font-size: 25px; }
 .ad-blog-reading { grid-template-columns: 175px minmax(0,1fr); gap: 35px; }
 .ad-blog-reading--no-toc { grid-template-columns: minmax(0,700px); }
 .ad-blog-related .ad-blog-story { display: block; }
 .ad-blog-related .ad-blog-story-image { aspect-ratio: 1.6; margin-bottom: 20px; }
}
@media(max-width:700px) {
 .ad-blog { padding-bottom: 50px; }
 .ad-blog-intro { padding-block: 45px 32px; }
 .ad-blog-intro h1 { font-size: 48px; }
 .ad-blog-intro > p { font-size: 16px; margin-top: 20px; }
 .ad-blog-featured { grid-template-columns: 1fr; }
 .ad-blog-feature-image { min-height: 0; aspect-ratio: 1.3; }
 .ad-blog-feature-copy { padding: 29px 25px 32px; }
 .ad-blog-feature-copy h2 { font-size: 36px; }
 .ad-blog-feature-copy .ad-blog-excerpt { font-size: 16px; }
 .ad-blog-latest { padding-top: 55px; }
 .ad-blog-section-top { display: block; margin-bottom: 22px; }
 .ad-blog-section-top h2 { font-size: 34px; }
 .ad-blog-section-top p { font-size: 14px; margin-top: 10px; }
 .ad-blog-filters { gap: 8px; margin-bottom: 28px; }
 .ad-blog-filters a { font-size: 13px; padding: 9px 14px; }
 .ad-blog-stories { grid-template-columns: 1fr; gap: 38px; }
 .ad-blog-story-image { aspect-ratio: 1.5; }
 .ad-blog-story h3 { font-size: 30px; }
 .ad-blog-back { padding-top: 25px; }
 .ad-blog-article-heading { padding-block: 25px 32px; }
 .ad-blog-article-heading h1 { font-size: 43px; }
 .ad-blog-standfirst { font-size: 18px; }
 .ad-blog-byline { font-size: 12px; gap: 8px 12px; }
 .ad-blog-byline > :not(:first-child) { padding-left: 12px; }
 .ad-blog-article-hero { margin-bottom: 32px; }
 .ad-blog-reading { display: block; }
 .ad-blog-contents { position: static; background: #ebe5dd; padding: 16px 20px; margin-bottom: 32px; }
 .ad-blog-contents summary { margin: 0; }
 .ad-blog-contents nav { margin: 16px 0 0; gap: 8px; }
 .ad-blog-contents > .ad-blog-link { display: none; }
 .ad-blog-prose { font-size: 17px; line-height: 1.8; }
 .ad-blog-prose > p:first-child { font-size: 20px; }
 .ad-blog-prose h2 { font-size: 32px; margin-top: 38px; }
 .ad-blog-prose blockquote { font-size: 29px; }
 .ad-blog-related { padding-top: 55px; }
 .ad-blog-related .ad-blog-stories { grid-template-columns: 1fr; }
 .ad-blog-related .ad-blog-section-top .ad-blog-link { margin-top: 10px; }
}
@media(prefers-reduced-motion:reduce) { .ad-blog-story-image img { transition: none; } }
/* Override Canvas's generic article separators within the editorial grid. */
.ad-blog article { border: 0; padding: 0; margin: 0; }
.ad-blog-feature-image { position: relative; }
body.canvas .ad-blog-feature-image img { position: absolute; inset: 0; }
.ad-blog-prose .flex-elm.is-fullwidth.has-bgcolor:not(.col-none) .container { padding-inline: 28px; }
@media(max-width:700px) { .ad-blog-prose .flex-elm.is-fullwidth.has-bgcolor:not(.col-none) .container { padding-inline: 20px; } }
