/* Shared advertising stage; each campaign keeps its own visual identity. */
.culture-ad-reel { margin: 34px 0 26px; min-width: 0; scroll-margin-top: 20px; }
.ad-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:6px; }
.ad-toolbar[hidden] { display:none; }
.ad-kicker { color:#516357; font-size:.65rem; font-weight:650; letter-spacing:.13em; text-transform:uppercase; }
.ad-controls { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; min-width:0; max-width:100%; gap:8px; }
.ad-controls button { display:inline-grid; place-items:center; flex:0 0 auto; width:44px; min-height:44px; padding:0; border:0; border-radius:50%; background:transparent; color:#193c36; font-family:inherit; font-size:1.15rem; font-weight:500; line-height:1; cursor:pointer; }
.ad-controls .ad-rotation { width:auto; min-width:64px; padding:8px; border-radius:4px; font-family:inherit; font-size:.66rem; line-height:1.4; letter-spacing:.03em; text-transform:uppercase; }
.ad-controls button:hover { background:#193c3610; }
.ad-counter { flex:0 0 auto; min-width:60px; font-size:.7rem; text-align:center; font-variant-numeric:tabular-nums; letter-spacing:.09em; color:#435b4f; }
.ad-stage { min-width:0; }
.is-enhanced .ad-stage { display:grid; box-shadow:0 22px 46px -25px #122a3c70; }
.ad-slide { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-width:0; margin:0 0 24px; background:#eee9df; color:#272330; isolation:isolate; }
.is-enhanced .ad-slide { grid-area:1 / 1; margin:0; visibility:hidden; pointer-events:none; }
.is-enhanced .ad-slide.is-active { visibility:visible; pointer-events:auto; }
.ad-copy { position:relative; z-index:1; align-self:center; min-width:0; padding:24px 32px; overflow-wrap:anywhere; }
.beats-page .ad-copy h2:not(.sr-only) { margin:0 0 14px; color:inherit; font-size:clamp(2rem,3.2vw,3rem) !important; line-height:1 !important; letter-spacing:-.055em !important; text-transform:uppercase; text-align:left; text-wrap:balance; overflow-wrap:break-word; }
.beats-page .ad-eyebrow { margin:0 0 14px; color:inherit; font-size:.64rem; font-weight:650; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; }
.beats-page .ad-message { margin:0; max-width:35ch; color:inherit; font-size:.88rem; line-height:1.5; }
.ad-cta { display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px; min-height:44px; max-width:100%; margin-top:12px; padding:4px 0; color:inherit; font-size:.7rem; font-weight:650; line-height:1.5; letter-spacing:.045em; text-transform:uppercase; text-decoration:none; overflow-wrap:break-word; }
.ad-cta > [aria-hidden] { font-size:1.1rem; }
.ad-cta:hover { text-decoration:underline; text-underline-offset:5px; }
.ad-controls button:focus-visible,.ad-slide a:focus-visible,.culture-qa a:focus-visible { outline:3px solid currentColor; outline-offset:5px; }
.ad-visual { position:relative; align-self:center; min-width:0; margin:0; }
.ad-visual img { display:block; width:100%; height:auto; }
.beats-page .ad-visual figcaption { margin:0; padding:6px 0; font-size:.68rem; line-height:1.5; }
.ad-talent { color:#f8f5f5; background:#101019; }
.beats-page .ad-talent h2:not(.sr-only) { font-size:clamp(2.4rem,4.3vw,3.6rem) !important; }
.ad-talent h2 span { color:#ff8db6; }
.ad-talent .ad-eyebrow,.ad-talent .ad-cta { color:#ffacc9; }
.ad-talent-art { position:relative; align-self:stretch; display:flex; flex-direction:column; justify-content:flex-end; min-height:292px; padding:30px; overflow:hidden; background:radial-gradient(ellipse at 65% 35%,#9b1647 0,#50112d 40%,#191120 76%); color:#ff81b3; }
.ad-star { position:absolute; top:-28px; right:-12px; font-size:310px; line-height:1; font-family:Georgia,serif; transform:rotate(-12deg); color:#ef397b; text-shadow:0 20px 50px #05040d80; }
.ad-art-word { position:relative; z-index:1; font-size:clamp(1.65rem,3.5vw,2.8rem); font-weight:700; line-height:.95; letter-spacing:-.06em; color:#fff2f7; }
.ad-solace { background:#e9dfd7; color:#492c36; }
.ad-solace-logo { display:block; width:min(100%,205px); height:auto; margin-bottom:18px; }
.ad-offer { display:inline-grid; gap:6px; max-width:100%; color:inherit; text-decoration:none; }
.ad-offer:hover .ad-code { text-decoration:underline; text-underline-offset:4px; }
.ad-discount { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; color:#492c36; line-height:1; }
.ad-discount strong { white-space:nowrap; font-size:clamp(3.8rem,6.5vw,5.8rem); font-weight:500; letter-spacing:-.075em; }
.ad-discount strong span { font-size:.47em; }
.ad-discount > span { font-size:.9rem; text-transform:uppercase; }
.ad-code { font-size:.7rem; line-height:1.5; text-transform:uppercase; letter-spacing:.08em; }
.ad-code strong { margin-left:5px; font-size:.9rem; letter-spacing:.12em; }
.beats-page .ad-fineprint { margin:6px 0 0; font-size:.72rem; line-height:1.5; color:#5d434a; }
.ad-ambassador { margin-top:12px; }
.ad-inquiry { display:block; margin-top:4px; font-weight:400; font-size:.72rem; letter-spacing:0; text-transform:none; }
.ad-fashion { display:flex; justify-content:center; align-items:center; align-self:stretch; background:radial-gradient(ellipse at center,#e9dfd6 0,#f0eae6 70%); }
.ad-fashion img { width:auto; max-width:100%; height:330px; object-fit:contain; object-position:center; }
.ad-rover { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr) 165px; color:#f4f4ff; background:#25273b; }
.ad-rover .ad-copy { padding:24px 24px 24px 28px; }
.ad-rover-brand { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.ad-rover-brand img { display:block; width:48px; height:48px; border-radius:3px; }
.beats-page .ad-rover-brand .ad-eyebrow { margin:0; }
.beats-page .ad-rover h2:not(.sr-only) { font-size:clamp(1.8rem,2.7vw,2.5rem) !important; margin-bottom:12px; }
.ad-rover .ad-cta { color:#e1e4ff; margin-top:8px; }
.ad-app { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:14px; align-self:center; margin:20px 22px 20px 12px; color:#f4f4ff; text-decoration:none; }
.ad-app img { display:block; object-fit:contain; }
.ad-app .ad-app-badge { width:131px; height:auto; max-width:100%; }
.ad-app .ad-app-qr { width:123px; height:123px; max-width:none; }
.ad-fleet { margin:20px 0; background:#25273b; }
.ad-fleet img { max-height:265px; object-fit:contain; box-shadow:0 24px 34px -18px #080b24; }
.beats-page .ad-fleet figcaption { color:#d6d7e4; }
.ad-retreat { background:#e5e6d9; color:#233b2d; }
.ad-retreat .ad-copy { padding-right:20px; }
.ad-cabin { width:min(calc(100% - 48px),305px); margin:18px 24px; justify-self:center; transform:rotate(2deg); }
.ad-cabin img { max-height:292px; object-fit:contain; box-shadow:0 14px 28px -10px #20332165; }
.beats-page .ad-cabin figcaption { color:#40513e; }
.beats-page .beats-catalog .beats-authorship { margin:14px 0 0; }
.beats-page .culture-promo-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
.beats-page .culture-film { grid-column:1; padding:8px 0; }
.beats-page .culture-film .culture-brand-layout { display:block; }
.beats-page .culture-film h2:not(.sr-only) { font-size:1.4rem !important; }
.beats-page .culture-qa { grid-column:1; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(160px,.6fr); position:relative; isolation:isolate; padding:26px 32px; background:#151518; color:#fff; box-shadow:0 20px 35px -26px #27000099; overflow:visible; }
.beats-page .culture-qa .culture-feature-meta { grid-column:1; color:#ffaaaa; margin-bottom:12px; }
.beats-page .culture-qa .culture-brand-layout { grid-column:1; }
.beats-page .culture-qa .culture-feature-copy { max-width:52ch; }
.beats-page .culture-qa h2:not(.sr-only) { margin:0 0 12px; color:#fff; font-size:clamp(1.8rem,3.4vw,2.8rem) !important; line-height:1; }
.beats-page .culture-qa p { color:#f5eaea; font-size:.88rem; line-height:1.5; }
.beats-page .culture-qa .culture-feature-actions { grid-column:1; gap:8px 24px; margin-top:12px; }
.beats-page .culture-qa .culture-feature-link { color:#ffaaaa; border:0; }
.qa-brand-art { grid-column:2; grid-row:1 / span 3; position:relative; overflow:hidden; align-self:stretch; margin:-26px -32px -26px 28px; display:grid; place-items:center; background:radial-gradient(ellipse at 75% 30%,#ef3131,#c90000 48%,#590000); }
.qa-brand-art span { font-family:Georgia,serif; font-size:clamp(10rem,20vw,16rem); line-height:1; color:#fff; transform:rotate(-12deg); text-shadow:0 16px 30px #60000088; }
@media(max-width:1000px) and (min-width:661px) {
 .ad-rover { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 145px; }
 .ad-rover .ad-copy { padding:22px 18px; }
 .beats-page .ad-rover h2:not(.sr-only) { font-size:1.7rem !important; }
 .ad-rover-brand { flex-wrap:wrap; gap:8px; }
 .ad-fleet { margin:16px 0; }
 .ad-app { margin:16px 12px; }
}
@media(max-width:800px) {
 .ad-copy { padding:24px; }
 .ad-talent-art { padding:24px; }
 .ad-fashion img { height:320px; }
 .ad-cabin { margin:18px; width:calc(100% - 36px); }
}
@media(max-width:660px) {
 .culture-ad-reel { margin-top:22px; }
 .ad-slide { grid-template-columns:minmax(0,1fr); grid-template-rows:min-content 1fr; align-content:center; }
 .ad-copy { padding:22px 24px; }
 .ad-visual,.ad-talent-art { grid-row:1; }
 .ad-fashion,.ad-fashion img { height:205px; }
 .ad-solace .ad-copy { display:flex; flex-wrap:wrap; gap:0 16px; align-items:center; }
 .ad-solace-logo { margin:5px 0 0; width:130px; max-width:100%; flex:0 1 130px; }
 .ad-offer { flex:1 1 7rem; }
 .ad-discount strong { font-size:3.8rem; }
 .ad-discount > span { font-size:.72rem; }
 .ad-code { font-size:.65rem; }
 .ad-code strong { font-size:.8rem; }
 .ad-solace .ad-fineprint { flex-basis:100%; margin-top:10px; font-size:.72rem; }
 .ad-ambassador { flex-basis:100%; margin-top:12px; }
 .ad-rover { display:flex; flex-wrap:wrap; align-content:center; justify-content:center; }
 .ad-fleet { order:-1; flex-basis:100%; margin:0; }
 .ad-fleet img { box-shadow:none; }
 .beats-page .ad-fleet figcaption { padding:6px 24px 0; }
 .ad-rover .ad-copy { flex:1 1 8em; padding:18px 8px 22px 24px; }
 .ad-rover-brand { flex-wrap:wrap; gap:8px; }
 .beats-page .ad-rover h2:not(.sr-only) { font-size:1.65rem !important; }
 .beats-page .ad-rover .ad-message { font-size:.8rem; }
 .ad-rover .ad-cta { font-size:.65rem; }
 .ad-app { flex:0 0 123px; margin:16px 13px; gap:12px; }
 .ad-app .ad-app-badge { width:123px; }
 .ad-cabin { width:190px; margin:18px auto 4px; transform:rotate(2deg); }
 .ad-cabin img { max-height:180px; }
 .ad-talent-art { min-height:190px; padding:22px 24px; }
 .ad-star { font-size:255px; top:-40px; right:-6px; }
 .ad-art-word { font-size:2rem; }
 .beats-page .ad-talent h2:not(.sr-only) { font-size:2.5rem !important; }
 .beats-page .culture-qa { grid-template-columns:minmax(0,1fr); padding:24px; }
 .beats-page .culture-qa .culture-feature-meta,.beats-page .culture-qa .culture-brand-layout,.beats-page .culture-qa .culture-feature-actions { grid-column:1; }
 .qa-brand-art { display:none; }
 .beats-page .culture-qa { background:radial-gradient(ellipse at 100% 0,#750000,transparent 72%),#151518; }
}
@media(max-width:359px) {
 .ad-copy { padding-inline:20px; }
 .ad-solace .ad-copy { gap:10px 12px; }
 .ad-solace-logo { margin-top:8px; }
 .ad-discount strong { font-size:3.5rem; }
 .ad-rover .ad-copy { flex-basis:100%; padding:18px 20px 0; }
 .ad-rover-brand { flex-wrap:nowrap; }
 .ad-app { flex:0 1 calc(100% - 40px); min-width:0; flex-direction:row; margin:16px 20px 22px; gap:20px; flex-wrap:wrap; }
 .ad-app .ad-app-badge { width:120px; }
}
@media(forced-colors:active) {
 .is-enhanced .ad-stage { box-shadow:none; outline:1px solid CanvasText; }
 .ad-slide,.ad-fashion,.ad-fleet,.ad-cabin,.beats-page .culture-qa { background:Canvas; color:CanvasText; }
 .ad-copy h2,.ad-copy p,.ad-copy a,.ad-visual figcaption,.culture-qa h2,.culture-qa p,.culture-qa a,.ad-offer { color:CanvasText !important; }
 .ad-talent-art,.qa-brand-art { background:Canvas; }.ad-art-word { color:CanvasText; }.ad-star,.qa-brand-art span { color:GrayText; text-shadow:none; }
 .ad-rover-brand img,.ad-app img,.ad-solace-logo { forced-color-adjust:none; background:white; }
}
