/* Campaign pages share After Sun's typography and square, quiet product presentation. */
main.bsas-landing { --landing-edge: max(20px, calc((100vw - 1240px) / 2)); max-width: none; margin: 0; padding: 0; overflow-wrap: anywhere; }
.bsas-landing h1, .bsas-landing h2, .bsas-landing h3 { margin: 0; font-family: var(--heading); font-weight: 400; text-transform: uppercase; }
.bsas-landing h1 { font-size: clamp(48px, 5.2vw, 84px); line-height: 1.08; letter-spacing: -.015em; }
.bsas-landing h2 { font-size: clamp(30px, 3vw, 44px); line-height: 1.16; }
.bsas-landing p { line-height: 1.75; }
.bsas-landing-eyebrow { margin: 0 0 18px; color: var(--gold); font: 600 12px/1.4 var(--ui); letter-spacing: .025em; text-transform: uppercase; }
.bsas-landing-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; background: var(--soft); padding-left: var(--landing-edge); gap: clamp(30px, 5vw, 80px); }
.bsas-landing-hero-copy { padding-block: 64px; max-width: 640px; }
.bsas-landing-lead { max-width: 560px; margin: 24px 0 30px; font-size: 17px; }
.bsas-landing-lead p { margin: 0 0 14px; }
.bsas-landing-hero-image { display: flex; align-items: center; justify-content: center; width: 100%; background: var(--soft); }
.bsas-landing-hero-image img { display: block; width: 100%; height: auto; max-height: 680px; object-fit: contain; object-position: center; }
.bsas-landing-hero--text { display: block; padding-right: var(--landing-edge); }
.bsas-landing-hero--text .bsas-landing-hero-copy { max-width: 880px; }
.bsas-landing-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; min-height: 52px; padding: 14px 24px; background: var(--red); color: var(--ink); font: 600 15px/1.4 var(--ui); text-transform: uppercase; }
.bsas-landing-button:hover { background: var(--red-button); color: #fff; }
.bsas-landing svg { flex: 0 0 auto; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.bsas-landing a:focus-visible { outline: 2px solid var(--red-button); outline-offset: 5px; }
.bsas-landing-section { padding: clamp(44px, 5vw, 76px) var(--landing-edge); border-bottom: 1px solid var(--line); }
.bsas-landing-section-copy { max-width: 720px; }
.bsas-landing-section-copy h2 { max-width: 670px; margin-bottom: 20px; }
.bsas-landing-section-copy p { margin: 0 0 16px; font-size: 16px; }
.bsas-landing-section-copy p:last-child { margin-bottom: 0; }
.bsas-landing-section--photo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(30px, 6vw, 100px); }
.bsas-landing-section figure { margin: 0; min-width: 0; }
.bsas-landing-section figure img { display: block; width: 100%; max-height: 560px; object-fit: contain; }
.bsas-landing-section--pair { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, .95fr); align-items: stretch; gap: 0; }
.bsas-landing-pair-photo { position: relative; min-height: 438px; overflow: hidden; }
.bsas-landing-section .bsas-landing-pair-photo img { position: absolute; inset: 0; height: 100%; max-height: none; object-fit: cover; object-position: 50% 60%; }
.bsas-landing-pair-photo figcaption { position: absolute; left: 19px; right: 12px; bottom: 17px; color: #fff; font: 600 12px/1.4 var(--ui); text-transform: uppercase; letter-spacing: .04em; text-shadow: 0 1px 5px #111; }
.bsas-landing-pair-product { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 23px 13px 20px; background: #fff; }
.bsas-landing-section .bsas-landing-pair-product img { width: 100%; aspect-ratio: 4 / 5; max-height: 348px; object-fit: contain; }
.bsas-landing-pair-product figcaption { margin-top: 6px; text-align: center; font: 500 12px/1.4 var(--ui); text-transform: uppercase; }
.bsas-landing-pair-copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 40px 24px 32px 12px; }
.bsas-landing-pair-copy h2 { max-width: 8ch; font-size: clamp(31px, 3.3vw, 47px); margin-bottom: 17px; }
.bsas-landing-pair-copy p { max-width: 270px; font-size: 14px; color: var(--muted); }
.bsas-landing-pair-copy .bsas-landing-eyebrow { color: var(--red); font-size: 12px; margin-bottom: 16px; }
.bsas-landing-pair-button { width: auto; margin-top: 8px; min-height: 48px; padding: 11px 12px; border: 1px solid var(--ink); background: transparent; font-size: 12px; gap: 19px; }
.bsas-landing-pair-button:hover { background: var(--ink); color: #fff; }
.bsas-landing-selection { padding: clamp(44px, 5vw, 76px) var(--landing-edge); scroll-margin-top: 24px; }
.bsas-landing-selection-heading { margin-bottom: 36px; }
.bsas-landing-selection > h2 { margin-bottom: 36px; }
.bsas-landing-selection-heading .bsas-landing-eyebrow { margin-bottom: 12px; }
.bsas-landing-selection-heading > p:last-child { color: var(--muted); margin: 16px 0 0; }
.bsas-landing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 24px; }
.bsas-landing-card { min-width: 0; }
.bsas-landing-card > a { display: block; }
.bsas-landing-card-image { background: var(--soft); aspect-ratio: 4 / 5; overflow: hidden; margin-bottom: 20px; }
.bsas-landing-card-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.bsas-landing-product .bsas-landing-card-image { background: #fff; }
.bsas-landing-card h3 { font-size: 25px; line-height: 1.2; margin-bottom: 14px; }
.bsas-landing-price { font-size: 17px; margin-bottom: 16px; }
.bsas-landing-price del { color: var(--muted); }
.bsas-landing-price ins { text-decoration: none; }
.bsas-landing-text-link { display: inline-flex; align-items: center; gap: 18px; padding-block: 8px; border-bottom: 1px solid var(--red); font: 600 14px/1.4 var(--ui); text-transform: uppercase; }
.bsas-landing-grid--single { display: block; max-width: 840px; }
.bsas-landing-grid--single .bsas-landing-card > a { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 44px; }
.bsas-landing-grid--single .bsas-landing-card-image { margin-bottom: 0; }
.bsas-landing-grid--single h3 { font-size: 32px; }
.bsas-landing-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 32px var(--landing-edge); background: var(--soft); border-top: 1px solid var(--line); }
.bsas-landing-bottom > span { font: 400 25px/1.3 var(--heading); text-transform: uppercase; }
.bsas-landing-bottom a { display: inline-flex; align-items: center; gap: 24px; font: 600 14px/1.4 var(--ui); text-transform: uppercase; }
@media (min-width: 1440px) { .bsas-landing-hero { padding-right: var(--landing-edge); } }
@media (max-width: 900px) { .bsas-landing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 950px) {
    .bsas-landing-section--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bsas-landing-pair-photo { min-height: 350px; }
    .bsas-landing-section .bsas-landing-pair-product img { max-height: 310px; }
    .bsas-landing-pair-copy { grid-column: 1 / -1; padding: 28px; }
    .bsas-landing-pair-copy h2 { max-width: 100%; }
    .bsas-landing-pair-copy p { max-width: 560px; }
}
@media (max-width: 767px) {
    .bsas-landing-hero { display: flex; flex-direction: column; padding: 0; gap: 0; align-items: stretch; }
    .bsas-landing-hero-image { order: -1; }
    .bsas-landing-hero-image img { height: auto; max-height: 520px; }
    .bsas-landing-hero-copy { padding: 32px 20px 44px; }
    .bsas-landing h1 { font-size: clamp(37px, 10vw, 53px); }
    .bsas-landing-lead { font-size: 15px; margin: 20px 0 26px; }
    .bsas-landing-button { width: 100%; }
    .bsas-landing-section--photo { grid-template-columns: 1fr; gap: 28px; }
    .bsas-landing-section-copy p { font-size: 15px; }
    .bsas-landing-grid { gap: 30px 16px; }
    .bsas-landing-card h3 { font-size: 21px; }
    .bsas-landing-card-image { margin-bottom: 14px; }
    .bsas-landing-text-link { font-size: 12px; gap: 8px; }
    .bsas-landing-grid--single .bsas-landing-card > a { grid-template-columns: 1fr; gap: 24px; }
    .bsas-landing-grid--single .bsas-landing-card-image { max-width: 340px; width: 100%; margin-inline: auto; }
    .bsas-landing-grid--single h3 { font-size: 28px; }
    .bsas-landing-bottom { flex-direction: column; align-items: flex-start; gap: 22px; }
}
@media (max-width: 560px) {
    .bsas-landing-pair-photo { min-height: 295px; }
    .bsas-landing-pair-photo figcaption { left: 12px; bottom: 14px; font-size: 10px; }
    .bsas-landing-pair-product { padding: 13px 6px; }
    .bsas-landing-section .bsas-landing-pair-product img { max-height: 265px; }
    .bsas-landing-pair-product figcaption { font-size: 10px; }
    .bsas-landing-pair-copy { padding: 24px 0 0; }
    .bsas-landing-pair-copy h2 { font-size: 40px; }
    .bsas-landing-pair-copy .bsas-landing-pair-button { width: auto; margin-top: 3px; }
}
