/* SEIP dev22.4 — Two-column editorial refinement. Scoped to generated posts only. */
body.seip-premium-editorial {
  --seip-ink: #171717;
  --seip-muted: #686868;
  --seip-line: #d8d5cf;
  --seip-paper: #ffffff;
  --seip-soft: #f4f2ed;
  --seip-accent: #e3aa13;
  --seip-blue: #172d45;
  background: var(--seip-paper);
  color: var(--seip-ink);
}
.seip-reading-progress {
  position: fixed; z-index: 99999; left: 0; right: 0; top: 0; height: 3px;
  background: var(--seip-accent); transform: scaleX(0); transform-origin: 0 50%;
  transition: transform .08s linear; pointer-events: none;
}
body.seip-premium-editorial .site-main,
body.seip-premium-editorial main { overflow: visible; }
body.seip-premium-editorial .entry-header,
body.seip-premium-editorial .post-header {
  max-width: 1200px; margin: 0 auto; padding:0 24px; text-align:center;
}
body.seip-premium-editorial .entry-title,
body.seip-premium-editorial h1.entry-title,
body.seip-premium-editorial .post-title {
  max-width: 920px; margin: .48em auto .28em; text-align:center;
  font-family: Georgia, 'Times New Roman', Times, serif;
  font-size: clamp(1.9rem, 4.25vw, 3.87rem); line-height: 1.02; letter-spacing: -.035em;
  font-weight: 700; text-wrap: balance; color: var(--seip-ink);
}
body.seip-premium-editorial .post-thumbnail,
body.seip-premium-editorial .featured-image,
body.seip-premium-editorial .wp-post-image {
  margin-left: auto; margin-right: auto; margin-bottom: 1.1rem;
}
body.seip-premium-editorial .post-thumbnail img,
body.seip-premium-editorial .featured-image img,
body.seip-premium-editorial img.wp-post-image {
  display: block; width: min(1180px, 100%); max-height: 720px; object-fit: cover;
}
.seip-editorial-report {
  max-width: 760px; margin: 0 auto; padding: 1.8rem 24px 5.5rem;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  font-size: clamp(1.04rem, 1.32vw, 1.18rem); line-height: 1.78;
  color: var(--seip-ink);
}
.seip-language-divider {
  width: min(840px, calc(100% - 48px)); margin: 0 auto 1rem; display: flex;
  align-items: center; gap: 1.2rem; color: var(--seip-blue);
}
.seip-language-divider::before,
.seip-language-divider::after { content: ''; height: 1px; flex: 1 1 auto; background: var(--seip-line); }
.seip-language-divider span {
  flex: 0 0 auto; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  font-size: .68rem; line-height: 1; font-weight: 900; letter-spacing: .2em; text-transform: uppercase;
}
.seip-editorial-report.seip-english-version { padding-top: 2rem; }
.seip-editorial-report .seip-english-title {
  margin: .45rem auto 1.25rem; padding: 0; max-width: 900px; text-align: center;
  font-size: clamp(2.25rem, 5.2vw, 4.35rem); line-height: 1.01; letter-spacing: -.04em;
}
.seip-editorial-report .seip-english-title::before { display: none; }
.seip-editorial-report .seip-article-kicker {
  margin: 0 0 .65rem; text-align: center; font-size: .72rem; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase; color: var(--seip-blue);
}
.seip-editorial-report .seip-article-meta {
  display: flex; justify-content: center; gap: .8rem; flex-wrap: wrap;
  margin: 0 auto 1.5rem; font-size: .76rem; letter-spacing: .05em; color: var(--seip-muted);
}
.seip-editorial-report .seip-lead {
  font-family: Georgia, 'Times New Roman', Times, serif;
  font-size: clamp(1.35rem, 2.4vw, 1.82rem); line-height: 1.42;
  font-weight: 400; color: #262626; margin: 0 auto 2.35rem;
}
.seip-editorial-report p { margin: 0 0 1.45em; }
.seip-editorial-report h2 {
  position: relative; margin: 3.15rem 0 1.1rem; padding-top: 1rem;
  font-family: Georgia, 'Times New Roman', Times, serif;
  font-size: clamp(1.75rem, 3vw, 2.55rem); line-height: 1.08; letter-spacing: -.025em;
  font-weight: 700; color: var(--seip-ink);
}
.seip-editorial-report h2::before {
  content: ''; position: absolute; top: 0; left: 0; width: 42px; height: 3px; background: var(--seip-accent);
}
.seip-editorial-report .seip-component {
  box-sizing: border-box;
}
.seip-editorial-report .seip-component-eyebrow,
.seip-editorial-report .seip-summary-label {
  margin: 0 0 1.1rem; font-size: .68rem; font-weight: 900; letter-spacing: .18em;
  text-transform: uppercase; color: var(--seip-blue);
}
.seip-editorial-report .seip-executive-summary {
  width: min(840px, calc(100vw - 40px)); margin: 2.65rem 50% 3.55rem;
  transform: translateX(-50%); border: 0;
  border-top: 3px solid var(--seip-accent); padding: 1.55rem 0 1.65rem;
  background: #fff;
}
.seip-editorial-report .seip-summary-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch; gap: 0; border: 0;
  background: transparent;
}
/* Hide legacy third-column markup in articles generated before dev22.4. */
.seip-editorial-report .seip-executive-summary .seip-summary-watch,
.seip-editorial-report .seip-executive-summary .seip-summary-item:nth-child(n+3) { display: none !important; }
.seip-editorial-report .seip-summary-item {
  min-height: 0; padding: 1.55rem 1.7rem 1.7rem; display: flex;
  flex-direction: column; border-bottom: 0;
}
.seip-editorial-report .seip-summary-item + .seip-summary-item {
  border-left: 1px solid var(--seip-line);
}
.seip-editorial-report .seip-summary-item strong {
  display: block; margin-bottom: .75rem; font-size: .69rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--seip-muted);
}
.seip-editorial-report .seip-summary-item p {
  margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 1.03rem; line-height: 1.48;
}
.seip-editorial-report .seip-strategic-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem 2rem;
  margin: 1.55rem 0 2.6rem; background: transparent; border: 0;
}
.seip-editorial-report .seip-strategic-card { background: transparent; padding: 0 0 1rem; border: 0; border-bottom: 1px solid var(--seip-line); min-height: 100%; }
.seip-editorial-report .seip-strategic-card h3 {
  margin: 0 0 .5rem; font-family: Georgia, serif; font-size: 1.2rem; line-height: 1.2;
}
.seip-editorial-report .seip-strategic-card p { margin: 0; font-size: .94rem; line-height: 1.55; color: #353535; }
.seip-editorial-report .seip-watch-block {
  margin: 3.15rem 0; padding: 0; background: transparent; color: var(--seip-ink);
}
.seip-editorial-report .seip-watch-block h2 { color: var(--seip-ink); margin-top: 0; }
.seip-editorial-report .seip-watch-block h2::before { background: var(--seip-accent); }
.seip-editorial-report .seip-watch-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .7rem 1.8rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.seip-editorial-report .seip-watch-grid li { position: relative; padding-left: 1.15rem; margin: 0; font-size: .93rem; line-height: 1.55; }
.seip-editorial-report .seip-watch-grid li::before { content: '→'; position: absolute; left: 0; color: var(--seip-accent); }
.seip-editorial-report .seip-stonegal-insight {
  width: min(840px, calc(100vw - 40px)); margin: 4rem 50%; transform: translateX(-50%);
  padding: clamp(2rem, 4vw, 3.25rem); background: var(--seip-soft);
  border: 0; border-top: 3px solid var(--seip-accent);
  box-shadow: none;
}
.seip-editorial-report .seip-stonegal-insight .seip-component-eyebrow {
  margin-bottom: .8rem;
}
.seip-editorial-report .seip-stonegal-insight h2 { margin-top: 0; padding-top: 0; }
.seip-editorial-report .seip-stonegal-insight h2::before { display: none; }
.seip-editorial-report .seip-stonegal-insight p:last-child {
  margin-bottom: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 1.24rem; line-height: 1.62;
}
.seip-editorial-report figure.seip-story-image {
  width: min(1040px, calc(100vw - 40px)); margin: 3.35rem 50%; transform: translateX(-50%);
}
.seip-editorial-report figure.seip-story-image img { width: 100%; height: auto; display: block; }
.seip-editorial-report figure.seip-story-image figcaption {
  margin-top: .55rem; padding-top: .55rem; border-top: 1px solid var(--seip-line);
  font-size: .74rem; line-height: 1.5; color: var(--seip-muted); text-align: left;
}
.seip-editorial-report .seip-sources {
  margin-top: 4rem; padding-top: 1.35rem; border-top: 1px solid var(--seip-ink);
  font-size: .82rem; line-height: 1.55;
}
.seip-editorial-report .seip-sources h3 { margin: 0 0 1rem; font-family: Georgia, serif; font-size: 1.35rem; }
.seip-editorial-report .seip-source-list { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.seip-editorial-report .seip-source-list a {
  display: inline-flex; padding: .42rem .7rem; border: 1px solid var(--seip-line);
  color: var(--seip-blue); text-decoration: none; background: #fff;
}
.seip-editorial-report .seip-source-list a:hover { border-color: var(--seip-blue); }
.seip-editorial-report .seip-verification-note { color: var(--seip-muted); font-size: .72rem; }
@media (max-width: 760px) {
  .seip-editorial-report { padding-left: 20px; padding-right: 20px; font-size: 1.02rem; }
  body.seip-premium-editorial .entry-title,
  body.seip-premium-editorial h1.entry-title,
  body.seip-premium-editorial .post-title { font-size: clamp(2rem, 10vw, 3.05rem); line-height: 1.05; }
  .seip-editorial-report .seip-summary-grid,
  .seip-editorial-report .seip-strategic-grid,
  .seip-editorial-report .seip-watch-grid { grid-template-columns: 1fr; }
  .seip-editorial-report .seip-summary-item { padding: 1rem 0; }
  .seip-editorial-report .seip-summary-item + .seip-summary-item { border-left: 0; border-top: 1px solid var(--seip-line); padding-left: 0; margin-top: .35rem; }
  .seip-editorial-report .seip-stonegal-insight,
  .seip-editorial-report figure.seip-story-image,
  .seip-editorial-report .seip-executive-summary { width: calc(100vw - 24px); }
}
@media print {
  .seip-reading-progress { display: none; }
  .seip-editorial-report .seip-executive-summary,
  .seip-editorial-report .seip-stonegal-insight,
  .seip-editorial-report figure.seip-story-image { width: 100%; margin-left: 0; transform: none; }
}

/* dev22.4 component responsiveness */
@media (max-width: 860px) {
  .seip-editorial-report .seip-summary-grid { grid-template-columns: 1fr; }
  .seip-editorial-report .seip-summary-item { min-height: 0; }
  .seip-editorial-report .seip-summary-item + .seip-summary-item {
    border-left: 0; border-top: 1px solid var(--seip-line);
  }
  .seip-editorial-report .seip-executive-summary,
  .seip-editorial-report .seip-stonegal-insight {
    width: calc(100vw - 24px);
    padding-left: 1.15rem; padding-right: 1.15rem;
  }
}

/* dev24.3 — Visual Composition Engine
 * Secondary images use a controlled editorial scale and are always rendered
 * between complete narrative sections. This also repairs figures that were
 * previously trapped inside the two-column Strategic Keys grid. */
.seip-editorial-report figure.seip-story-image.seip-composition-feature {
  width: min(1040px, calc(100vw - 40px));
}
.seip-editorial-report figure.seip-story-image.seip-composition-body {
  width: min(760px, calc(100vw - 40px));
}
.seip-editorial-report figure.seip-story-image.seip-composition-detail {
  width: min(560px, calc(100vw - 40px));
}
.seip-editorial-report figure.seip-story-image img {
  max-width: none;
  object-fit: cover;
}
.seip-editorial-report figure.seip-story-image.seip-composition-feature img {
  aspect-ratio: 16 / 9;
}
.seip-editorial-report figure.seip-story-image.seip-composition-body img {
  aspect-ratio: 3 / 2;
}
.seip-editorial-report figure.seip-story-image.seip-composition-feature img,
.seip-editorial-report figure.seip-story-image.seip-composition-body img {
  object-position: center;
}
@media (max-width: 760px) {
  .seip-editorial-report figure.seip-story-image.seip-composition-feature,
  .seip-editorial-report figure.seip-story-image.seip-composition-body,
  .seip-editorial-report figure.seip-story-image.seip-composition-detail {
    width: calc(100vw - 24px);
  }
  .seip-editorial-report figure.seip-story-image.seip-composition-detail img {
    max-height: none;
  }
}

/* dev31.4 — independent 4:5 social/mobile art direction.
 * The <picture> is emitted only after Social Desk has created the approved
 * portrait asset, so legacy articles retain their current featured image. */
body.seip-premium-editorial .seip-responsive-hero {
  display: block !important;
  width: 100% !important;
}
@media (max-width: 760px) {
  body.seip-premium-editorial .seip-responsive-hero {
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #e9e4d9;
  }
  body.seip-premium-editorial .seip-responsive-hero img,
  body.seip-premium-editorial .post-thumbnail .seip-responsive-hero img,
  body.seip-premium-editorial .featured-image .seip-responsive-hero img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: center !important;
  }
}


/* dev24.7 — Secondary image HTML/grid repair
 * Manual images now remain inside the article reading grid. Earlier versions
 * broke them out with margin-left:50% + translateX(-50%), producing a false
 * left axis and apparent malformed HTML. Preserve the original image ratio. */
.seip-editorial-report figure.seip-story-image,
.seip-editorial-report figure.seip-story-image.seip-composition-feature,
.seip-editorial-report figure.seip-story-image.seip-composition-body {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 3rem 0;
  transform: none;
}
.seip-editorial-report figure.seip-story-image.seip-composition-detail {
  box-sizing: border-box;
  width: 72%;
  max-width: 100%;
  margin: 3rem auto;
  transform: none;
}
.seip-editorial-report figure.seip-story-image img,
.seip-editorial-report figure.seip-story-image.seip-composition-feature img,
.seip-editorial-report figure.seip-story-image.seip-composition-body img,
.seip-editorial-report figure.seip-story-image.seip-composition-detail img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  aspect-ratio: auto;
  object-fit: contain;
}
.seip-editorial-report figure.seip-story-image figcaption {
  width: 100%;
  box-sizing: border-box;
}
@media (max-width: 760px) {
  .seip-editorial-report figure.seip-story-image,
  .seip-editorial-report figure.seip-story-image.seip-composition-feature,
  .seip-editorial-report figure.seip-story-image.seip-composition-body,
  .seip-editorial-report figure.seip-story-image.seip-composition-detail {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    transform: none;
  }
}


/* dev29.1.4 — Edge-to-edge cover and stronger mobile article hierarchy. */
body.seip-premium-editorial .post-thumbnail,
body.seip-premium-editorial .featured-image,
body.seip-premium-editorial figure.post-thumbnail,
body.seip-premium-editorial .entry-media,
body.seip-premium-editorial .post-featured-image {
  box-sizing: border-box;
  width: min(1320px, calc(100vw - 32px));
  max-width: none;
  margin: 1rem 50% 1.4rem;
  transform: translateX(-50%);
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
}
body.seip-premium-editorial .post-thumbnail img,
body.seip-premium-editorial .featured-image img,
body.seip-premium-editorial figure.post-thumbnail img,
body.seip-premium-editorial .entry-media img,
body.seip-premium-editorial .post-featured-image img,
body.seip-premium-editorial img.wp-post-image {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0 !important;
  outline: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
  object-fit: contain;
}
body.seip-premium-editorial .entry-header,
body.seip-premium-editorial .post-header {
  width: min(1040px, calc(100vw - 40px));
  max-width: none;
}
body.seip-premium-editorial .entry-title,
body.seip-premium-editorial h1.entry-title,
body.seip-premium-editorial .post-title {
  max-width: 940px;
  font-size: clamp(2.2rem, 4.7vw, 4.9rem);
  line-height: .98;
}
@media (max-width: 760px) {
  body.seip-premium-editorial .post-thumbnail,
  body.seip-premium-editorial .featured-image,
  body.seip-premium-editorial figure.post-thumbnail,
  body.seip-premium-editorial .entry-media,
  body.seip-premium-editorial .post-featured-image {
    width: 100vw;
    margin-top: .45rem;
    margin-bottom: 1.05rem;
  }
  body.seip-premium-editorial .entry-header,
  body.seip-premium-editorial .post-header {
    width: calc(100vw - 28px);
  }
  body.seip-premium-editorial .entry-title,
  body.seip-premium-editorial h1.entry-title,
  body.seip-premium-editorial .post-title {
    margin-top: .32em;
    font-size: clamp(2.25rem, 11.2vw, 3.55rem);
    line-height: .96;
    letter-spacing: -.045em;
    text-wrap: pretty;
  }
  .seip-editorial-report {
    padding-top: 1.15rem;
    padding-left: 18px;
    padding-right: 18px;
  }
}


/* dev29.1.7 — Full-bleed image without shifting the article header.
 * Only the OUTERMOST media wrapper breaks out to the viewport. Links and images
 * remain in normal flow, preventing nested 100vw offsets from moving the title. */
body.seip-premium-editorial .post-thumbnail,
body.seip-premium-editorial .featured-image,
body.seip-premium-editorial figure.post-thumbnail,
body.seip-premium-editorial .entry-media,
body.seip-premium-editorial .post-featured-image {
  display: block !important;
  position: relative !important;
  width: 100vw !important;
  max-width: none !important;
  margin-top: 0 !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 1.5rem !important;
  margin-left: calc(50% - 50vw) !important;
  padding: 0 !important;
  transform: none !important;
  overflow: hidden !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
body.seip-premium-editorial .post-thumbnail > a,
body.seip-premium-editorial .featured-image > a {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
body.seip-premium-editorial img.wp-post-image,
body.seip-premium-editorial .post-thumbnail img,
body.seip-premium-editorial .featured-image img,
body.seip-premium-editorial figure.post-thumbnail img,
body.seip-premium-editorial .entry-media img,
body.seip-premium-editorial .post-featured-image img {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  object-fit: cover !important;
}
body.seip-premium-editorial .entry-header,
body.seip-premium-editorial .post-header,
body.seip-premium-editorial article,
body.seip-premium-editorial .site-main,
body.seip-premium-editorial main {
  overflow: visible !important;
}
@media (max-width: 760px) {
  body.seip-premium-editorial .post-thumbnail,
  body.seip-premium-editorial .featured-image,
  body.seip-premium-editorial figure.post-thumbnail,
  body.seip-premium-editorial .entry-media,
  body.seip-premium-editorial .post-featured-image,
  body.seip-premium-editorial .post-thumbnail > a,
  body.seip-premium-editorial .featured-image > a {
    margin-bottom: 1rem !important;
  }
}

/* dev29.1.9 — Exact viewport-centred title.
 * Standard full-bleed breakout: the header expands symmetrically from the
 * theme column to the viewport without left/transform offsets. */
body.seip-premium-editorial .entry-header,
body.seip-premium-editorial .post-header {
  box-sizing: border-box !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  transform: none !important;
  text-align: center !important;
}
body.seip-premium-editorial .entry-title,
body.seip-premium-editorial h1.entry-title,
body.seip-premium-editorial .post-title {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
  transform: none !important;
}
@media (max-width: 760px) {
  body.seip-premium-editorial .entry-header,
  body.seip-premium-editorial .post-header {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* Final cascade: portrait hero wins over the legacy featured-image rules. */
@media (max-width: 760px) {
  body.seip-premium-editorial .seip-responsive-hero {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    overflow: hidden !important;
    background: #e9e4d9;
  }
  body.seip-premium-editorial .seip-responsive-hero img,
  body.seip-premium-editorial .post-thumbnail .seip-responsive-hero img,
  body.seip-premium-editorial .featured-image .seip-responsive-hero img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: center !important;
  }
}
