/* BRU conserva su paleta clara dentro de la plataforma chocolate. */
[hidden]{display:none!important}
.banner-section{width:min(1360px,calc(100% - 48px));margin:22px auto 0}
.banner-carousel{border-radius:14px;overflow:hidden;background:#fff6f7;color:#472e25}
.banner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 24px;background:#2c1a15;color:var(--ivory)}
.banner-toolbar .eyebrow{margin:0;color:var(--muted);font-size:.75rem}
.banner-navigation{display:flex;align-items:center;gap:8px}
.banner-navigation .icon-button{width:44px;height:44px;border-color:transparent}
.banner-navigation .icon-button:hover{background:var(--brown)}
.banner-dots{display:flex;align-items:center}
.banner-dot{width:34px;min-height:44px;padding:0;display:grid;place-items:center;border:0;background:transparent}
.banner-dot span{width:7px;height:7px;border-radius:100%;background:#b4978a;transition:width .2s,background .2s}
.banner-dot[aria-current="true"] span{width:24px;border-radius:10px;background:var(--pink)}
.banner-pause{background:transparent;border:1px solid var(--line);border-radius:5px;padding:0 13px;min-height:44px;margin-left:10px;font-size:.8125rem}
.banner-viewport{touch-action:pan-y;}
.banner-slide{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);min-height:420px;align-items:stretch;animation:section-enter .3s var(--ease)}
.banner-image{width:100%;height:100%;min-height:0;object-fit:contain;background:#fff6f7;aspect-ratio:1672/941}
.banner-caption{padding:clamp(30px,3.6vw,54px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#fff4f1}
.banner-caption .eyebrow{color:#985f5b;font-size:.75rem;letter-spacing:.11em}
.banner-caption h2{font-family:var(--editorial);font-size:clamp(2.3rem,3.4vw,3.4rem);line-height:1.06;letter-spacing:-.025em;margin-bottom:20px;color:#472e25}
.banner-caption p:not(.eyebrow){font-size:1rem;line-height:1.6;color:#694c42;margin-bottom:26px}
.banner-cta{color:#fff6f7;background:#472e25;font-size:.875rem;min-height:52px;width:100%;justify-content:space-between;border:0;gap:16px}
.banner-cta:hover{background:#654236}
.banner-carousel :focus-visible{outline-color:#ae636b}
.banner-toolbar :focus-visible{outline-color:var(--pink)}
.orientation-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding-block:55px;border-bottom:1px solid var(--line)}
.orientation-intro h1{font-family:var(--editorial);font-size:clamp(2.4rem,4vw,3.75rem);line-height:1.05;margin:0;letter-spacing:-.02em}
.orientation-intro h1 span{display:block;color:var(--pink);font-size:.72em;line-height:1.25;margin-top:12px}
.orientation-intro .hero-intro{font-size:1rem;margin-bottom:22px}
.orientation-intro .eyebrow{margin-bottom:16px}
@media(min-width:1440px){.banner-slide{min-height:470px}.banner-caption h2{font-size:3.5rem}}
@media(max-width:1050px){.banner-slide{grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);min-height:380px}.banner-caption{padding:30px}.banner-caption h2{font-size:2.7rem}.orientation-intro{gap:35px}.banner-caption p:not(.eyebrow){font-size:1rem}}
@media(max-width:760px){
 .banner-section{width:100%;margin:0}.banner-carousel{border-radius:0}.banner-toolbar{padding:6px 16px;gap:8px}.banner-toolbar>.eyebrow{max-width:90px;font-size:.75rem;letter-spacing:.08em}.banner-navigation{gap:0}.banner-navigation .icon-button{width:40px}.banner-dot{width:28px}.banner-pause{padding-inline:8px;margin-left:5px;font-size:.75rem}
 .banner-slide{grid-template-columns:1fr;min-height:0}.banner-image{height:auto;max-height:none;aspect-ratio:1672/941;object-fit:contain}.banner-caption{padding:26px 24px 30px;min-height:285px}.banner-caption .eyebrow{font-size:.75rem;margin-bottom:10px}.banner-caption h2{font-size:2.5rem;line-height:1.06;margin-bottom:14px}.banner-caption p:not(.eyebrow){font-size:1rem;line-height:1.5;margin-bottom:20px;max-width:470px}.banner-cta{font-size:.9375rem;min-height:52px}
 .orientation-intro{display:block;padding-block:36px}.orientation-intro h1{font-size:2.6rem}.orientation-intro h1 span{font-size:.73em;margin-top:9px}.orientation-intro .hero-intro{margin-top:24px}.orientation-intro .button{width:100%}.section-heading .eyebrow{font-size:.75rem}.welcome-copy p:not(.module-label),.returning p:not(.eyebrow),.routes-intro>p:not(.eyebrow),.section-description,.resource-card .card-description,.help-section>p:not(.eyebrow),.guide-header p{font-size:1rem}
}
@media(max-width:360px){.banner-toolbar{padding-inline:12px}.banner-toolbar>.eyebrow{max-width:75px}.banner-dot{width:24px}.banner-navigation .icon-button{width:34px}.banner-pause{margin-left:2px;padding-inline:6px}.banner-caption{padding-inline:20px}.banner-caption h2{font-size:2.25rem}.orientation-intro h1{font-size:2.2rem}.orientation-intro .button>.icon:first-child{display:none}}
@media(prefers-reduced-motion:reduce){.banner-slide{animation:none}.banner-dot span{transition:none}}
.banner-slide.banner-image-only{display:block;min-height:0;animation:none}
.banner-image-link{display:block}
.banner-image-link:focus-visible{outline:3px solid var(--pink);outline-offset:-6px}
.banner-image-only .banner-image{display:block;width:100%;height:auto;aspect-ratio:1400/790;object-fit:contain;background:transparent}
