/* Product-page composition; shared identity, type and material header retained. */
.caravan-page .caravan-hero { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.85fr); gap: clamp(2rem,6vw,5rem); align-items: center; }
.caravan-page .caravan-hero h1 { margin: .5rem 0 1rem; font-size: clamp(3rem,6vw,5rem); }
.caravan-page .caravan-promise { font-size: clamp(1.75rem,3vw,2.75rem); line-height: 1.25; letter-spacing: -.03em; margin: 0 0 1.5rem; font-weight: 550; }
.caravan-page .caravan-promise em { font-style: normal; font-weight: 400; }
.caravan-page .caravan-hero .lede { font-size: 1.25rem; color: #0b2347; }
.caravan-page .caravan-principles { padding: clamp(1.5rem,3vw,2.5rem); background: #0b2347; color: #fffdf8; border-top: 4px solid #a48b58; }
.caravan-page .caravan-principles h2 { font-size: clamp(1.75rem,2.5vw,2.25rem); color: inherit; }
.caravan-page .caravan-principles :is(.eyebrow,.quiet) { color: #e0d5bf; }
.caravan-page .caravan-principles dl { margin: 1.75rem 0; }
.caravan-page .caravan-principles dl > div { border-top: 1px solid #ffffff38; padding: 1rem 0; }
.caravan-page .caravan-principles dt { font-weight: 600; }
.caravan-page .caravan-principles dd { margin: .35rem 0 0; line-height: 1.6; color: #e0d5bf; }
.caravan-page .caravan-section-intro { max-width: 52rem; margin-bottom: 2rem; }
.caravan-page .caravan-section-intro .lede { font-size: 1.125rem; }
.caravan-page .caravan-spaces { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid #cbb67b; }
.caravan-page .caravan-spaces > li { padding: 2rem; border-right: 1px solid #d5d4cd; }
.caravan-page .caravan-spaces > li:first-child { padding-left: 0; }
.caravan-page .caravan-spaces > li:last-child { padding-right: 0; border-right: 0; }
.caravan-page .caravan-step { display: block; color: #76613b; font-size: 1rem; margin-bottom: 1.5rem; }
.caravan-page .caravan-spaces h3 { font-size: 2rem; margin-top: .5rem; }
.caravan-page .caravan-spaces p:last-child { margin-bottom: 0; }
.caravan-page .caravan-example { padding: clamp(1.5rem,4vw,3rem); background: #ece8df; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem,5vw,4rem); }
.caravan-page .caravan-example ol { margin: 0; padding-left: 1.4rem; }
.caravan-page .caravan-example li { padding-left: .5rem; margin-bottom: 1.5rem; }
.caravan-page .caravan-example li:last-child { margin-bottom: 0; }
.caravan-page .caravan-example h3 { font-size: 1.125rem; margin-top: 0; }
.caravan-page .caravan-agent-notes { margin-top: 1.5rem; }
.caravan-page .caravan-questions { border-top: 1px solid #d5d4cd; }
.caravan-page .caravan-questions details { border-bottom: 1px solid #d5d4cd; padding: 0 0 1rem; }
.caravan-page .caravan-questions summary { padding: 1.25rem 0 .25rem; min-height: 48px; cursor: pointer; font-size: 1.125rem; font-weight: 600; }
.caravan-page .caravan-questions p { max-width: 65ch; }
.caravan-page .caravan-access { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem,5vw,4rem); padding-bottom: 1rem; }
.caravan-page .caravan-domain { overflow-wrap: anywhere; }
.caravan-page [aria-disabled="true"] { color: #505862; cursor: default; }
.caravan-page .quiet { font-size: .875rem; }
.caravan-page .caravan-questions summary:focus-visible { outline: 3px solid #175db0; outline-offset: 4px; }
@media (max-width: 800px) {
 .caravan-page :is(.caravan-hero,.caravan-example,.caravan-access,.caravan-spaces) { grid-template-columns: minmax(0,1fr); }
 .caravan-page .caravan-spaces > li,.caravan-page .caravan-spaces > li:first-child,.caravan-page .caravan-spaces > li:last-child { display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: 1rem; padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid #d5d4cd; }
 .caravan-page .caravan-spaces > li:last-child { border-bottom: 0; }
 .caravan-page .caravan-step { padding-top: .25rem; }
 .caravan-page .caravan-spaces .eyebrow { margin-top: 0; }
 .caravan-page .caravan-hero .actions { align-items: flex-start; }
}
@media (forced-colors: active) {
 .caravan-page :is(.caravan-principles,.caravan-example) { background: Canvas; color: CanvasText; border: 1px solid CanvasText; }
 .caravan-page .caravan-principles :is(.eyebrow,.quiet,dd),.caravan-page .caravan-step { color: CanvasText; }
}

/* A page grid gives only the KV the full available width, excluding scrollbars. */
.caravan-page main.wrap.interior { display: grid; width: 100%; grid-template-columns: minmax(24px,1fr) minmax(0,1240px) minmax(24px,1fr); }
.caravan-page main.wrap.interior > * { grid-column: 2; min-width: 0; }
.caravan-page main.wrap.interior > .caravan-key-visual { grid-column: 1 / -1; width: 100%; max-width: none; margin: 1rem 0; }
.caravan-page .caravan-key-visual picture { display: block; }
.caravan-page .caravan-key-visual img { display: block; width: 100%; height: auto; }
@media (max-width: 800px) { .caravan-page main.wrap.interior { grid-template-columns: 16px minmax(0,1fr) 16px; } }

/* Equal outer breathing room between the two aligned KV dividers.
   The transparent artwork already has balanced internal top/bottom padding. */
.caravan-page .caravan-key-visual + #who-it-is-for { margin-top: 0; padding-top: var(--section-heading-copy-gap, 1.5rem); }

/* Original KV brand lockup takes the page-heading position. */
.caravan-page .caravan-hero .caravan-brand-heading { line-height: 1; }
.caravan-page .caravan-brand-heading img { display: block; width: clamp(13rem, 25vw, 19rem); max-width: 100%; height: auto; }

/* Give desktop artwork a modest bleed while retaining clear viewport margins. */
@media (min-width: 801px) {
 .caravan-page main.wrap.interior > .caravan-key-visual { width: min(calc(100% - 3rem), 90rem); margin-inline: auto; }
}
