/* April 2026: Architectural Foundations. No shared styles or edition dependencies. */
.compass-april {
    --april-navy: #1D2952;
    --april-gold: #D4A017;
    --april-ivory: #F4F1E8;
    --april-champagne: #E0C77F;
    --april-charcoal: #1B1B1F;
    --april-blue: #343F68;
    /* Approved clearance for the shared absolute header; owned by April on every route. */
    --april-header-clearance: 110px;
    padding-block-start: var(--april-header-clearance);
    background: linear-gradient(var(--april-navy), var(--april-navy)) top / 100% var(--april-header-clearance) no-repeat, var(--april-ivory);
    color: var(--april-charcoal);
    font: 400 1.1875rem/1.8 "Assistant", Arial, sans-serif;
    overflow-wrap: break-word;
    isolation: isolate;
}
.compass-april *, .compass-april *::before, .compass-april *::after { box-sizing: border-box; }
.compass-april .wrap { width: min(1160px, calc(100% - 96px)); margin-inline: auto; }
.compass-april .reading { max-width: 760px; }
.compass-april :is(h1, h2, blockquote) { font-family: "Lora", Georgia, serif; font-weight: 500; }
.compass-april h2 { color: var(--april-navy); font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: 1.2; letter-spacing: -.035em; margin: 18px 0 38px; }
.compass-april p { margin: 0 0 1.35em; }
.compass-april a { color: inherit; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.compass-april :is(a, summary):focus-visible { outline: 3px solid currentColor; outline-offset: 6px; }
.compass-april [id], .compass-april[id] { scroll-margin-top: 120px; }
.compass-april :is(.eyebrow, .kicker, .publication-identity) { font: 600 .6875rem/1.7 "Montserrat", Arial, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.compass-april .april-hero { background: var(--april-navy); color: var(--april-ivory); border-bottom: 3px solid var(--april-gold); padding: 0; }
.compass-april .hero-layout { width: min(1600px, 100%); margin: auto; display: grid; grid-template-columns: minmax(0, 37fr) minmax(0, 63fr); align-items: start; }
.compass-april .hero-editorial { position: relative; z-index: 1; min-width: 0; padding: 16px 0 40px clamp(24px, 2.2vw, 36px); }
.compass-april .publication-identity { color: var(--april-champagne); margin: 0 0 20px; font-size: .625rem; letter-spacing: .14em; }
.compass-april .april-hero h1 { color: var(--april-ivory); width: max-content; max-width: none; white-space: nowrap; font-size: clamp(3rem, 5.555556vw, 5.5rem); line-height: 1.02; letter-spacing: -.045em; margin: 0 0 30px; }
.compass-april .april-hero h1 span:last-child { color: var(--april-gold); }
.compass-april .hero-deck { max-width: 450px; color: var(--april-ivory); font-size: clamp(1.125rem, 1.666667vw, 1.5rem); line-height: 1.5; margin-bottom: 0; }
.compass-april .hero-signature { margin-top: 28px; padding-top: 20px; position: relative; font: 500 .625rem/2.15 "Montserrat", Arial, sans-serif; letter-spacing: .17em; }
.compass-april .hero-signature::before { content: ""; position: absolute; top: 0; left: 0; width: 64px; height: 1px; background: var(--april-gold); }
.compass-april .hero-signature span { display: block; }
.compass-april .hero-art { min-width: 0; width: 117%; margin-left: -17%; margin-top: 0; align-self: end; }
.compass-april .hero-art img { display: block; width: 100%; max-width: none; height: auto; margin: 0; border: 0; box-shadow: none; }
.compass-april .april-navigation { background: var(--april-navy); color: var(--april-champagne); border-bottom: 1px solid var(--april-blue); }
.compass-april .april-navigation .wrap { display: flex; flex-wrap: wrap; gap: 12px 32px; padding-block: 19px; }
.compass-april .april-navigation a { font: 600 .6875rem/1.6 "Montserrat", Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; padding-block: 6px; }
.compass-april .intro { position: relative; padding: clamp(60px, 6.1vw, 88px) 0 clamp(64px, 6.7vw, 96px); background: var(--april-ivory); color: var(--april-navy); }
.compass-april .intro .reading { position: relative; }
.compass-april .intro .reading::before { content: ""; position: absolute; left: -32px; top: 0; bottom: 0; width: 1px; background: var(--april-champagne); opacity: .55; pointer-events: none; }
.compass-april .intro .reading::after { content: ""; position: absolute; left: -34px; top: -1.5px; width: 5px; height: 5px; border-radius: 50%; background: var(--april-gold); pointer-events: none; }
.compass-april .intro .divider { position: relative; }
.compass-april .intro .divider::before { content: ""; position: absolute; left: -32px; top: .5px; width: 32px; height: 1px; background: var(--april-champagne); opacity: .55; pointer-events: none; }
.compass-april .intro p { font-family: "Assistant", Arial, sans-serif; color: var(--april-navy); line-height: 1.8; margin-bottom: 1.4em; }
.compass-april .divider { width: 72px; height: 2px; background: var(--april-gold); margin-bottom: 32px; }
.compass-april .intro .intro-opening p { font: 500 clamp(1.5rem, 2.25vw, 1.875rem)/1.5 "Lora", Georgia, serif; font-family: "Lora", Georgia, serif !important; letter-spacing: -.015em; color: var(--april-navy); margin-bottom: clamp(28px, 3vw, 40px); }
.compass-april .intro .intro-continuation p:last-child { margin-bottom: 0; }
@media (min-width: 1101px) {
    .compass-april .intro .reading { --intro-gap: clamp(48px, 5.5vw, 80px); display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); gap: var(--intro-gap); max-width: 1160px; align-items: start; }
    .compass-april .intro .intro-opening, .compass-april .intro .intro-continuation { min-width: 0; }
    .compass-april .intro .intro-opening p { font-size: clamp(1.875rem, 2.3vw, 2rem); margin-bottom: 0; }
    .compass-april .intro .intro-continuation { padding-top: 34px; }
    .compass-april .intro .reading::before { left: calc(42% + var(--intro-gap) * .08); }
    .compass-april .intro .reading::after { left: calc(42% + var(--intro-gap) * .08 - 2px); }
    .compass-april .intro .divider { margin-left: auto; margin-right: calc(var(--intro-gap) / -2); }
    .compass-april .intro .divider::before { display: none; }
    /* Schematic branches remain inside the gutter; text geometry is unchanged. */
    .compass-april .intro .divider { background: linear-gradient(var(--april-gold), var(--april-gold)) center / 100% 1px no-repeat; }
    .compass-april .intro .intro-continuation { position: relative; }
    .compass-april .intro .intro-continuation::before { content: ""; position: absolute; left: calc(var(--intro-gap) / -2); top: 45%; width: calc(var(--intro-gap) / 2 - 12px); height: 1px; background: var(--april-gold); opacity: .65; pointer-events: none; }
    .compass-april .intro .intro-continuation::after { content: ""; position: absolute; left: calc(var(--intro-gap) / -2 - 1.5px); top: calc(45% - 1.5px); width: 4px; height: 4px; border-radius: 50%; background: var(--april-gold); pointer-events: none; }

}

@media (max-width: 900px) {
    .compass-april .intro .reading::before { left: -12px; }
    .compass-april .intro .reading::after { left: -14px; }
    .compass-april .intro .divider::before { left: -12px; width: 12px; }
}
.compass-april .feature { position: relative; padding: clamp(64px, 7vw, 100px) 0; border-top: 1px solid var(--april-champagne); }
.compass-april .chapter-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 760px) minmax(0, .4fr); }
.compass-april .chapter-prose { grid-column: 2; min-width: 0; }
.compass-april .kicker { color: var(--april-blue); margin-bottom: 24px; }
.compass-april .feature-1 { background: linear-gradient(90deg, rgba(224,199,127,.16) 1px, transparent 1px) 5% 0 / 12% 100%, var(--april-ivory); }
.compass-april .feature-1 .chapter-prose { padding-left: 34px; border-left: 1px solid var(--april-champagne); }
.compass-april .feature-2 { background: #FAF8F2; }
.compass-april .feature-2::before { content: ""; position: absolute; top: 0; left: 8%; width: 17%; height: 30px; border-left: 1px solid var(--april-champagne); border-right: 1px solid var(--april-champagne); pointer-events: none; }
.compass-april blockquote { margin: 44px 0; padding: 32px 0; border-block: 1px solid var(--april-gold); font-size: clamp(1.5rem, 2.7vw, 2.1rem); line-height: 1.5; color: var(--april-navy); }
.compass-april .feature-3 { background: var(--april-blue); color: var(--april-ivory); }
.compass-april .feature-3 h2 { color: var(--april-ivory); }
.compass-april .feature-3 .kicker { color: var(--april-champagne); }
.compass-april .check { background: var(--april-navy); color: var(--april-ivory); border: 1px solid var(--april-champagne); border-left: 3px solid var(--april-gold); padding: 30px 34px; margin: 40px 0 25px; }
.compass-april .check span { display: block; color: var(--april-champagne); font: 600 .6875rem/1.6 "Montserrat", Arial, sans-serif; letter-spacing: .2em; }
.compass-april .check p { font: 500 clamp(1.15rem, 2vw, 1.4rem)/1.6 "Lora", Georgia, serif; margin: 15px 0 0; }
.compass-april .source { font-size: .9375rem; line-height: 1.7; margin-bottom: 0; }
.compass-april .source a { text-decoration-color: var(--april-gold); }
.compass-april .closing { background: var(--april-navy); color: var(--april-ivory); padding: clamp(70px, 8vw, 112px) 0; border-top: 1px solid var(--april-gold); }
.compass-april .closing .eyebrow { color: var(--april-champagne); }
.compass-april .closing h2 { color: var(--april-ivory); max-width: 620px; font-size: clamp(2.6rem, 4.8vw, 4.25rem); margin-bottom: 38px; }
.compass-april .closing p:last-child { color: var(--april-champagne); font-family: "Lora", Georgia, serif; margin-bottom: 0; }
.compass-april .sources-section { padding: 48px 0; background: var(--april-ivory); }
.compass-april .sources-section .eyebrow { color: var(--april-blue); margin-bottom: 12px; }
.compass-april summary { cursor: pointer; font: 500 clamp(1.3rem, 2.7vw, 1.65rem)/1.5 "Lora", Georgia, serif; color: var(--april-navy); padding: 12px 0; }
.compass-april summary::marker { color: var(--april-navy); }
.compass-april details > p:first-of-type { margin-top: 24px; max-width: 760px; }
.compass-april .sources-section ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 48px; list-style: none; counter-reset: april-reference; padding: 0; margin: 30px 0; }
.compass-april .sources-section li { counter-increment: april-reference; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 18px; border-top: 1px solid var(--april-champagne); padding-top: 24px; font-size: 1rem; line-height: 1.7; }
.compass-april .sources-section li::before { content: counter(april-reference, decimal-leading-zero); grid-column: 1; grid-row: 1; color: var(--april-navy); font: 500 1.35rem/1.4 "Lora", Georgia, serif; }
.compass-april .reference-copy { grid-column: 2; min-width: 0; }
.compass-april .sources-section li a { overflow-wrap: anywhere; text-decoration-color: var(--april-gold); }
.compass-april .editorial-note { font-size: .9375rem; line-height: 1.7; font-style: italic; max-width: 800px; margin-bottom: 0; }
.compass-april .april-colophon { background: var(--april-ivory); border-top: 1px solid var(--april-champagne); padding: 32px 0; color: var(--april-navy); font: 400 .875rem/1.9 "Assistant", Arial, sans-serif; }
.compass-april .colophon-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 24px 48px; }
.compass-april .colophon-grid > div { min-width: 0; text-align: left; }
@media (min-width: 769px) {
    .compass-april .colophon-grid > div:last-child { justify-self: end; }
}
@media (max-width: 768px) {
    .compass-april .colophon-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
.compass-april .edition-footer { background: var(--april-navy); color: var(--april-ivory); padding: 30px 0; }
.compass-april .edition-footer .wrap { display: flex; flex-wrap: wrap; gap: 16px 30px; align-items: center; }
.compass-april .edition-footer p { flex: 1 1 350px; margin: 0; font: 700 .625rem/1.7 "Montserrat", Arial, sans-serif; letter-spacing: .18em; }
.compass-april .edition-footer a { font: 600 .8125rem/1.6 "Montserrat", Arial, sans-serif; letter-spacing: .08em; padding-block: 8px; }
@media (min-width: 901px) and (max-width: 1399px) {
    .compass-april .april-hero h1 { font-size: clamp(3rem, calc(7.03125vw - 22px), 4.8rem); }
}
@media (max-width: 1100px) {
    .compass-april .hero-editorial { padding-left: 24px; padding-bottom: 32px; }
    .compass-april .chapter-layout { grid-template-columns: 40px minmax(0, 1fr); }
}
/* Centre the complete editorial group against the cutaway on desktop only. */
@media (min-width: 901px) {
    .compass-april .hero-editorial { align-self: center; padding-block: 0; }
    .compass-april .april-hero h1 { letter-spacing: -.06em; margin-bottom: 42px; }
    .compass-april .hero-deck { line-height: 1.55; }
    .compass-april .hero-signature { font-size: .8125rem; line-height: 1.9; letter-spacing: .14em; }
}
/* A 4% wide-screen trim preserves breathing room beside the illuminated line. */
@media (min-width: 1400px) {
    .compass-april .april-hero h1 { font-size: clamp(3rem, 5.333333vw, 5.28rem); }
}
/* Optical balance: keep the wide headline clear of the cutaway connection line. */
@media (min-width: 1101px) {
    .compass-april .hero-editorial { margin-block-end: clamp(24px, 2.6vw, 40px); }
}
@media (max-width: 900px) {
    .compass-april .april-hero { padding-top: 24px; }
    .compass-april .hero-layout { grid-template-columns: minmax(0, 1fr); }
    .compass-april .hero-editorial { padding: 0 48px 22px; }
    .compass-april .april-hero h1 { width: auto; max-width: 100%; font-size: clamp(3.2rem, 7.4vw, 5rem); }
    .compass-april .publication-identity { margin-top: 0; }
    .compass-april .hero-deck { max-width: 620px; font-size: clamp(1.0625rem, 2.2vw, 1.25rem); line-height: 1.65; }
    .compass-april .hero-art { width: min(800px, 100%); margin-left: 0; margin-top: -12px; justify-self: end; }
    .compass-april .hero-signature { margin-top: 25px; padding-top: 18px; }
}
@media (max-width: 768px) {
    .compass-april .wrap { width: calc(100% - 48px); }
    .compass-april .hero-editorial { padding-inline: 24px; }
    .compass-april .chapter-layout { display: block; }
    .compass-april .sources-section ol { grid-template-columns: minmax(0, 1fr); }
    .compass-april .feature-1 .chapter-prose { padding-left: 24px; }
    .compass-april .check { padding: 26px; }
    .compass-april .april-navigation .wrap { gap: 12px 22px; }
}
@media (max-width: 430px) {
    .compass-april { font-size: 1.125rem; }
    .compass-april .wrap { width: calc(100% - 40px); }
    .compass-april .april-hero { padding-top: 30px; }
    .compass-april .hero-editorial { padding-inline: 20px; }
    .compass-april .april-hero h1 { font-size: clamp(2.5rem, 11.2vw, 3.1rem); }
    .compass-april .publication-identity { font-size: .5625rem; letter-spacing: .1em; }
    .compass-april .hero-signature { font-size: .5625rem; }
    .compass-april .feature-1 .chapter-prose { padding-left: 18px; }
    .compass-april .check { padding: 24px 20px; }
    .compass-april .edition-footer .wrap { align-items: flex-start; gap: 12px 24px; }
}
@media print {
    .compass-april .april-navigation, .compass-april .hero-art, .compass-april .hero-signature { display: none; }
    .compass-april :is(.april-hero, .feature-3, .check, .closing, .edition-footer) { background: white; color: #1D2952; }
    .compass-april :is(.april-hero h1, .hero-deck, .feature-3 h2, .closing h2, .check span, .closing p:last-child, .publication-identity) { color: #1D2952; }
    .compass-april .hero-layout, .compass-april .chapter-layout { display: block; }
    .compass-april .hero-editorial { padding: 0 0 30px; }
    .compass-april .wrap { width: 100%; }
    .compass-april details::details-content { content-visibility: visible; }
}

/* Chapter 01 only: reading rhythm and editorial check. */
.compass-april .feature-1 { background: linear-gradient(90deg, rgba(224,199,127,.10) 1px, transparent 1px) 5% 0 / 12% 100%, var(--april-ivory); }
.compass-april .feature-1 .chapter-prose { position: relative; }
.compass-april .feature-1 .kicker { position: relative; margin: 0 0 22px; color: var(--april-blue); }
.compass-april .feature-1 .chapter-number { position: absolute; left: -158px; top: -10px; color: var(--april-gold); font: 400 4.5rem/1 "Lora", Georgia, serif; letter-spacing: -.05em; }
.compass-april .feature-1 .chapter-number::after { content: ""; position: absolute; left: 0; top: calc(100% + 20px); width: 123px; height: 1px; background: var(--april-champagne); pointer-events: none; }
.compass-april .feature-1 .chapter-separator { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.compass-april .feature-1 h2 { font-family: "Lora", Georgia, serif !important; font-size: clamp(2.125rem, 3.5vw, 3.25rem); line-height: 1.17; letter-spacing: -.035em; margin: 0 0 38px; max-width: 720px; }
.compass-april .feature-1 .chapter-prose > p:not(.source) { font-family: "Assistant", Arial, sans-serif; line-height: 1.85; margin-bottom: 1.45em; }
.compass-april .feature-1 .check { padding: clamp(28px, 3vw, 42px); margin: 46px 0 24px; border-color: rgba(224,199,127,.65); border-left: 2px solid var(--april-gold); }
.compass-april .feature-1 .check > span { font-size: .6875rem; letter-spacing: .19em; }
.compass-april .feature-1 .check p { font-family: "Lora", Georgia, serif !important; font-size: clamp(1.1875rem, 1.7vw, 1.5rem); line-height: 1.6; margin: 20px 0 0; }
.compass-april .feature-1 .source { color: var(--april-blue); font: 400 .9375rem/1.8 "Assistant", Arial, sans-serif; margin: 0; padding-top: 4px; }
.compass-april .feature-1 .source a { text-decoration-color: var(--april-gold); text-underline-offset: 4px; }
@media (max-width: 1100px) {
    .compass-april .feature-1 .kicker { display: flex; align-items: center; gap: 20px; margin-bottom: 26px; }
    .compass-april .feature-1 .chapter-number { position: relative; left: auto; top: auto; flex: 0 0 auto; font-size: 3rem; }
    .compass-april .feature-1 .chapter-number::after { left: -35px; top: 50%; width: 20px; }
}
@media (max-width: 768px) {
    .compass-april .feature-1 .chapter-number::after { left: -25px; width: 14px; }
    .compass-april .feature-1 .check { padding: 28px 24px; margin-top: 36px; }
}
@media (max-width: 430px) {
    .compass-april .feature-1 .kicker { gap: 16px; letter-spacing: .12em; }
    .compass-april .feature-1 .chapter-number { font-size: 2.625rem; }
    .compass-april .feature-1 .chapter-number::after { left: -19px; width: 10px; }
    .compass-april .feature-1 h2 { margin-bottom: 30px; }
    .compass-april .feature-1 .check { padding: 28px 20px; }
}
/* Chapter 01: a separate two-zone entrance above the unchanged reading column. */
.compass-april .feature-1 .chapter-opener { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 760px) minmax(0, .4fr); align-items: start; margin-bottom: 52px; padding-bottom: 36px; border-bottom: 1px solid rgba(224,199,127,.45); }
.compass-april .feature-1 .chapter-opener .chapter-number { position: relative; left: auto; top: auto; grid-column: 1; justify-self: start; align-self: stretch; width: 100%; font-size: clamp(7.5rem, 10vw, 9.375rem); line-height: .95; padding-bottom: 28px; }
.compass-april .feature-1 .chapter-opener .chapter-number::after { left: 0; top: auto; bottom: 0; width: 100%; height: 1px; background: var(--april-champagne); }
.compass-april .feature-1 .chapter-heading { grid-column: 2; position: relative; min-width: 0; padding-left: 34px; border-left: 1px solid var(--april-champagne); }
.compass-april .feature-1 .chapter-heading::before { content: ""; position: absolute; left: -3px; bottom: -2px; width: 5px; height: 5px; border-radius: 50%; background: var(--april-gold); pointer-events: none; }
.compass-april .feature-1 .chapter-opener .kicker { display: block; margin: 0 0 24px; }
.compass-april .feature-1 .chapter-opener h2 { font-size: clamp(2.75rem, 4.2vw, 3.875rem); line-height: 1.12; margin: 0; max-width: none; }
@media (min-width: 769px) and (max-width: 1100px) {
    .compass-april .feature-1 .chapter-opener { grid-template-columns: minmax(130px, 20%) minmax(0, 1fr); }
}
@media (max-width: 768px) {
    .compass-april .feature-1 .chapter-opener { grid-template-columns: 80px minmax(0, 1fr); gap: 24px 22px; margin-bottom: 36px; padding-bottom: 28px; }
    .compass-april .feature-1 .chapter-heading { display: contents; }
    .compass-april .feature-1 .chapter-heading::before { display: none; }
    .compass-april .feature-1 .chapter-opener .chapter-number { grid-column: 1; grid-row: 1; width: auto; font-size: 5rem; line-height: 1; padding-bottom: 0; }
    .compass-april .feature-1 .chapter-opener .chapter-number::after { left: 0; bottom: -8px; width: 100%; }
    .compass-april .feature-1 .chapter-opener .kicker { grid-column: 2; grid-row: 1; align-self: center; margin: 0; }
    .compass-april .feature-1 .chapter-opener h2 { grid-column: 1 / -1; grid-row: 2; font-size: clamp(2.125rem, 5.7vw, 2.75rem); line-height: 1.17; }
}
@media (max-width: 430px) {
    .compass-april .feature-1 .chapter-opener { grid-template-columns: 68px minmax(0, 1fr); gap: 24px 18px; }
    .compass-april .feature-1 .chapter-opener .chapter-number { font-size: 4.25rem; }
}
/* Chapter 02 only: horizontal connections and an expanded editorial quotation. */
.compass-april .feature-2 { background: linear-gradient(90deg, rgba(224,199,127,.08) 1px, transparent 1px) 5% 0 / 12% 100%, var(--april-ivory); padding-bottom: clamp(48px, 4.5vw, 64px); }
.compass-april .feature-2::before { display: none; }
.compass-april .feature-2 .contract-opener { margin-bottom: 52px; }
.compass-april .feature-2 .contract-opener .kicker { display: grid; grid-template-columns: auto auto minmax(24px, 1fr); gap: 24px; align-items: center; margin: 0 0 28px; }
.compass-april .feature-2 .contract-number { color: var(--april-gold); font: 400 4rem/1 "Lora", Georgia, serif; letter-spacing: -.05em; }
.compass-april .feature-2 .contract-category { color: var(--april-blue); }
.compass-april .feature-2 .contract-opener .kicker::after { content: ""; height: 1px; background: var(--april-champagne); pointer-events: none; }
.compass-april .feature-2 h2 { font-family: "Lora", Georgia, serif !important; font-size: clamp(2.5rem, 4.5vw, 4.125rem); line-height: 1.14; max-width: 1000px; margin: 0; }
.compass-april .feature-2 .chapter-prose > p:not(.source) { font-family: "Assistant", Arial, sans-serif; line-height: 1.85; margin-bottom: 1.45em; }
.compass-april .feature-2 blockquote { position: relative; font-family: "Lora", Georgia, serif !important; font-size: clamp(1.875rem, 3.1vw, 2.875rem); line-height: 1.4; letter-spacing: -.025em; color: var(--april-navy); border: 0; border-top: 1px solid var(--april-champagne); padding: 34px 0 30px; margin: 48px 0 42px; }
.compass-april .feature-2 blockquote::before { content: ""; position: absolute; top: -3px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--april-gold); pointer-events: none; }
.compass-april .feature-2 blockquote::after { content: ""; position: absolute; bottom: 0; right: 0; width: 88px; height: 1px; background: var(--april-gold); pointer-events: none; }
.compass-april .feature-2 .check { padding: clamp(28px, 3vw, 42px); margin: 42px 0 22px; border: 1px solid rgba(224,199,127,.65); border-top: 2px solid var(--april-gold); }
.compass-april .feature-2 .check > span { font-size: .6875rem; letter-spacing: .19em; }
.compass-april .feature-2 .check p { font-family: "Lora", Georgia, serif !important; font-size: clamp(1.1875rem, 1.7vw, 1.5rem); line-height: 1.6; margin: 20px 0 0; }
.compass-april .feature-2 .source { color: var(--april-blue); font: 400 .9375rem/1.8 "Assistant", Arial, sans-serif; padding-top: 4px; margin: 0; }
.compass-april .feature-2 .source a { text-decoration-color: var(--april-gold); text-underline-offset: 4px; }
@media (min-width: 1101px) {
    .compass-april .feature-2 blockquote { margin-left: -100px; width: calc(100% + 100px); }
}
@media (max-width: 768px) {
    .compass-april .feature-2 .contract-opener { margin-bottom: 36px; }
    .compass-april .feature-2 .contract-opener .kicker { grid-template-columns: auto minmax(0, 1fr); gap: 18px; padding-bottom: 20px; border-bottom: 1px solid var(--april-champagne); margin-bottom: 24px; }
    .compass-april .feature-2 .contract-opener .kicker::after { display: none; }
    .compass-april .feature-2 .contract-number { font-size: 3.25rem; }
    .compass-april .feature-2 .contract-category { letter-spacing: .12em; }
    .compass-april .feature-2 h2 { font-size: clamp(2.125rem, 5.7vw, 2.75rem); }
    .compass-april .feature-2 blockquote { margin-block: 36px; padding-block: 28px; }
    .compass-april .feature-2 .check { padding: 28px 24px; margin-top: 36px; }
}
@media (max-width: 430px) {
    .compass-april .feature-2 .check { padding: 28px 20px; }
}

.compass-april .feature-2 .contract-next { display: block; white-space: nowrap; }
/* Chapter 03 only: offset information layers and the original turning-point paragraph. */
.compass-april .feature-3 { padding-bottom: clamp(48px, 4.5vw, 64px); }
.compass-april .feature-3 .intelligence-opener { display: grid; grid-template-columns: minmax(0, 1fr) 160px; column-gap: clamp(40px, 6vw, 88px); row-gap: 24px; padding: 0 24px 40px 0; margin-bottom: 48px; border-bottom: 1px solid rgba(224,199,127,.35); }
.compass-april .feature-3 .intelligence-opener .kicker { display: contents; }
.compass-april .feature-3 .intelligence-category { grid-column: 1; grid-row: 1; color: var(--april-champagne); }
.compass-april .feature-3 .intelligence-number { grid-column: 2; grid-row: 1 / 3; position: relative; align-self: center; justify-self: stretch; color: var(--april-champagne); font: 400 clamp(6rem, 8vw, 7.5rem)/1.1 "Lora", Georgia, serif; letter-spacing: -.05em; padding: 12px 0 24px; }
.compass-april .feature-3 .intelligence-number::before { content: ""; position: absolute; inset: 20px -16px -12px 20px; border-top: 1px solid rgba(224,199,127,.35); border-right: 1px solid rgba(224,199,127,.35); border-bottom: 1px solid rgba(224,199,127,.35); pointer-events: none; }
.compass-april .feature-3 .intelligence-number::after { content: ""; position: absolute; left: -28px; right: 0; bottom: 10px; height: 1px; background: var(--april-gold); pointer-events: none; }
.compass-april .feature-3 h2 { grid-column: 1; grid-row: 2; font-family: "Lora", Georgia, serif !important; color: var(--april-ivory); font-size: clamp(2.75rem, 4.2vw, 3.875rem); line-height: 1.15; letter-spacing: -.035em; margin: 0; }
.compass-april .feature-3 .chapter-prose > p:not(.source) { color: var(--april-ivory); font-family: "Assistant", Arial, sans-serif; line-height: 1.85; margin-bottom: 1.45em; }
.compass-april .feature-3 .chapter-prose > p.intelligence-insight { position: relative; font-family: "Lora", Georgia, serif !important; font-size: clamp(1.625rem, 2.5vw, 2.25rem); line-height: 1.5; letter-spacing: -.015em; padding-top: 26px; margin: 36px 0 40px; }
.compass-april .feature-3 .intelligence-insight::before { content: ""; position: absolute; top: 0; left: 0; width: 64px; height: 1px; background: var(--april-gold); pointer-events: none; }
.compass-april .feature-3 .check { padding: clamp(28px, 3vw, 42px); margin: 42px 0 22px; border: 1px solid rgba(224,199,127,.65); border-left: 2px solid var(--april-gold); }
.compass-april .feature-3 .check > span { color: var(--april-champagne); font-size: .6875rem; letter-spacing: .19em; }
.compass-april .feature-3 .check p { font-family: "Lora", Georgia, serif !important; color: var(--april-ivory); font-size: clamp(1.1875rem, 1.7vw, 1.5rem); line-height: 1.6; margin: 20px 0 0; }
.compass-april .feature-3 .source { color: var(--april-ivory); font: 400 .9375rem/1.8 "Assistant", Arial, sans-serif; padding-top: 4px; margin: 0; }
.compass-april .feature-3 .source a { text-decoration-color: var(--april-champagne); text-underline-offset: 4px; }
@media (max-width: 768px) {
    .compass-april .feature-3 .intelligence-opener { grid-template-columns: minmax(0, 1fr) 80px; gap: 26px 20px; padding: 0 12px 28px 0; margin-bottom: 36px; }
    .compass-april .feature-3 .intelligence-category { align-self: center; letter-spacing: .12em; }
    .compass-april .feature-3 .intelligence-number { grid-row: 1; font-size: 4rem; padding: 4px 0 12px; }
    .compass-april .feature-3 .intelligence-number::before { inset: 12px -10px -6px 12px; }
    .compass-april .feature-3 .intelligence-number::after { left: -12px; bottom: 0; }
    .compass-april .feature-3 h2 { grid-column: 1 / -1; font-size: clamp(2.125rem, 5.7vw, 2.75rem); }
    .compass-april .feature-3 .check { padding: 28px 24px; margin-top: 36px; }
}
@media (max-width: 430px) {
    .compass-april .feature-3 .intelligence-opener { grid-template-columns: minmax(0, 1fr) 64px; gap: 26px 18px; }
    .compass-april .feature-3 .intelligence-number { font-size: 3.5rem; }
    .compass-april .feature-3 .check { padding: 28px 20px; }
}

/* April closing only: reflective two-column finale with the approved Compass outline. */
.compass-april .closing { padding: clamp(64px, 5.3vw, 80px) 0 clamp(56px, 4.5vw, 64px); border-top: 1px solid var(--april-gold); }
.compass-april .closing .closing-grid { display: grid; grid-template-columns: minmax(0, 40fr) minmax(0, 60fr); gap: clamp(48px, 5vw, 72px); max-width: 1160px; }
.compass-april .closing-heading { position: relative; isolation: isolate; min-width: 0; }
.compass-april .closing-heading::before { content: ""; position: absolute; right: 0; bottom: 0; width: min(100%, 380px); aspect-ratio: 1; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20600%22%20fill%3D%22none%22%20stroke%3D%22%23E0C77F%22%20stroke-width%3D%221%22%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%22300%22%20r%3D%22245%22%2F%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%22300%22%20r%3D%22230%22%2F%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%22300%22%20r%3D%22155%22%2F%3E%3Cpath%20d%3D%22M300%2020V580M20%20300H580M102%20102L498%20498M102%20498L498%20102%22%2F%3E%3Cpath%20d%3D%22M300%2048L326%20244L450%20150L356%20274L552%20300L356%20326L450%20450L326%20356L300%20552L274%20356L150%20450L244%20326L48%20300L244%20274L150%20150L274%20244Z%22%2F%3E%3Cpath%20d%3D%22M300%2048L300%20300L326%20244ZM552%20300L300%20300L356%20326ZM300%20552L300%20300L274%20356ZM48%20300L300%20300L244%20274Z%22%20fill%3D%22%23E0C77F%22%20fill-opacity%3D%22.22%22%2F%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%22300%22%20r%3D%2212%22%2F%3E%3Cpath%20d%3D%22M300%2055V78M300%20522V545M55%20300H78M522%20300H545%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; opacity: .09; pointer-events: none; z-index: -1; }
.compass-april .closing .eyebrow { color: var(--april-champagne); margin-bottom: 26px; }
.compass-april .closing .eyebrow::after { content: ""; display: block; width: 64px; height: 1px; background: var(--april-gold); margin-top: 22px; }
.compass-april .closing h2 { color: var(--april-ivory); font-family: "Lora", Georgia, serif !important; font-size: clamp(3rem, 4.2vw, 3.875rem); line-height: 1.15; letter-spacing: -.035em; margin: 0; max-width: none; }
.compass-april .closing-prose { min-width: 0; }
.compass-april .closing .closing-prose > p { font-family: "Assistant", Arial, sans-serif; color: var(--april-ivory); line-height: 1.85; margin: 0 0 1.4em; }
.compass-april .closing .closing-prose > p:last-child { position: relative; color: var(--april-champagne); font-family: "Lora", Georgia, serif !important; font-size: clamp(1.5rem, 2vw, 1.875rem); line-height: 1.5; letter-spacing: -.015em; padding-top: 26px; margin: 34px 0 0; }
.compass-april .closing .closing-prose > p:last-child::before { content: ""; position: absolute; top: 0; left: 0; width: 48px; height: 1px; background: var(--april-gold); pointer-events: none; }
@media (max-width: 1024px) {
    .compass-april .closing .closing-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; max-width: 760px; }
    .compass-april .closing h2 { font-size: clamp(2.5rem, 5.8vw, 3.5rem); max-width: 640px; }
    .compass-april .closing-heading::before { width: 240px; right: 0; bottom: -20px; opacity: .065; }
}
@media (max-width: 430px) {
    .compass-april .closing { padding-block: 56px 48px; }
    .compass-april .closing .closing-grid { gap: 32px; }
    .compass-april .closing h2 { font-size: clamp(2.375rem, 10.2vw, 2.75rem); }
    .compass-april .closing-heading::before { width: 190px; bottom: 0; opacity: .055; }
    .compass-april .closing .closing-prose > p:last-child { margin-top: 30px; }
}
