/* Aeon Ad Manager: fixed inventory stays reserved; overlays do not shift content. */
.aeon-ad-slot__content img{display:block;max-width:100%;height:auto}
.aeon-ad-frame{transition:opacity .25s ease}
/* A slot that got nothing and has no fallback of its own leaves no trace, label included. */
.aeon-ad-slot--empty:has(> .aeon-ad-slot__content:empty){display:none}
/* One label style for every slot, whatever the theme's body font. */
.aeon-ad-slot>.aeon-news-adlabel{margin-bottom:6px;font:600 10px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;opacity:.72}

/* Reveal formats (topscroll, midscroll): a clipped window onto a stage fixed to the viewport,
 * so the page slides over the creative. The slot reserves its height before the decision arrives. */
.aeon-ad-slot--topscroll,.aeon-ad-slot--midscroll{--aeon-reveal-h:70vh;position:relative;width:100vw;left:50%;margin-left:-50vw!important;margin-right:0!important;max-width:none!important;padding:0!important;background:#0f1012}
.aeon-ad-slot--topscroll{--aeon-reveal-h:72vh;width:100%;left:auto;margin-left:0!important;min-height:calc(var(--aeon-reveal-h) + 34px)!important;margin-top:0!important;margin-bottom:0!important}
.aeon-ad-slot--midscroll{min-height:calc(var(--aeon-reveal-h) + 64px)!important;margin-top:28px!important;margin-bottom:28px!important}
/* Midscroll width comes from the page script: the screen ('full') or the site's content frame ('content'), centred on the screen.
 * Until it is measured, the slot falls back to the screen width around its column's centre. */
.aeon-ad-slot--midscroll{z-index:2;left:auto;width:var(--aeon-reveal-w,100vw);margin-left:var(--aeon-reveal-x,calc(50% - 50vw))!important}
.aeon-ad-slot--midscroll .aeon-ad-reveal__stage{left:var(--aeon-reveal-left,0px);width:var(--aeon-reveal-w,100vw)}
@media (max-width:767px){.aeon-ad-slot--topscroll{--aeon-reveal-h:80vh}.aeon-ad-slot--midscroll{--aeon-reveal-h:80vh}}
@supports (height:1svh){.aeon-ad-slot--topscroll{--aeon-reveal-h:72svh}.aeon-ad-slot--midscroll{--aeon-reveal-h:70svh}@media (max-width:767px){.aeon-ad-slot--topscroll,.aeon-ad-slot--midscroll{--aeon-reveal-h:80svh}}}
.aeon-ad-slot--topscroll.aeon-ad-slot--empty,.aeon-ad-slot--midscroll.aeon-ad-slot--empty{min-height:0!important;margin:0!important}
.aeon-ad-slot--topscroll>.aeon-news-adlabel,.aeon-ad-slot--midscroll>.aeon-news-adlabel{display:none}
.aeon-ad-slot--topscroll .aeon-ad-slot__content,.aeon-ad-slot--midscroll .aeon-ad-slot__content{display:block;position:static;min-height:0;width:100%;overflow:visible}
.aeon-ad-reveal{position:relative;height:var(--aeon-reveal-h);overflow:hidden;clip-path:inset(0)}
.aeon-ad-reveal__stage{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0}
.aeon-ad-slot--topscroll .aeon-ad-reveal__stage{height:var(--aeon-reveal-h)}
@supports (height:1lvh){.aeon-ad-slot--midscroll .aeon-ad-reveal__stage{height:100lvh}}
.aeon-ad-reveal__stage .aeon-ad-backup,.aeon-ad-reveal__stage .aeon-ad-backup img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.aeon-ad-reveal__stage .aeon-ad-backup img{height:100%!important}
.aeon-ad-reveal__stage .aeon-ad-frame{position:absolute;inset:0}
/* The bars line up with the site's content edge, and never start outside what a clipping container shows. */
.aeon-ad-reveal__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;margin:0;padding:0 max(calc(var(--aeon-reveal-clip-r,0px) + 16px),calc((var(--aeon-reveal-w,100vw) - var(--aeon-ad-site-width,1310px))/2)) 0 max(calc(var(--aeon-reveal-clip-l,0px) + 16px),calc((var(--aeon-reveal-w,100vw) - var(--aeon-ad-site-width,1310px))/2));background:#0f1012;color:#e8e8e8;font:600 11px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.aeon-ad-reveal__bar--below{min-height:34px}
.aeon-ad-reveal__label{min-width:0;overflow:hidden;text-overflow:ellipsis;opacity:.82}
.aeon-ad-reveal__bar{white-space:nowrap}
@media (max-width:520px){.aeon-ad-reveal__bar{font-size:10px;letter-spacing:.06em}.aeon-ad-reveal__bar--after{justify-content:center}.aeon-ad-reveal__bar--after .aeon-ad-reveal__label{display:none}}
.aeon-ad-reveal__hint{flex:none;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;opacity:.82}
button.aeon-ad-reveal__hint{cursor:pointer;min-height:32px}
button.aeon-ad-reveal__hint:hover,button.aeon-ad-reveal__hint:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:3px}
/* Topscroll: the arrow at the foot of the scene, gone once the reader has started to scroll. */
.aeon-ad-reveal__down{position:absolute;z-index:2;left:50%;bottom:24px;display:grid;place-items:center;width:48px;height:48px;margin:0 0 0 -24px;padding:0;border:0;border-radius:50%;background:#fff;color:#111;box-shadow:0 2px 12px rgba(0,0,0,.38);cursor:pointer;animation:aeon-ad-bob 1.8s ease-in-out infinite;transition:opacity .3s ease,visibility .3s}
.aeon-ad-reveal__down svg{display:block;width:24px;height:24px}
.aeon-ad-reveal__down:focus-visible{outline:3px solid #fff;outline-offset:3px}
.aeon-ad-reveal__down.is-gone{opacity:0;visibility:hidden}
@keyframes aeon-ad-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@media (max-width:767px){.aeon-ad-reveal__down{bottom:18px;width:44px;height:44px;margin-left:-22px}}

/* Standard display: the box keeps the creative's declared ratio. */
.aeon-ad-slot--display .aeon-ad-slot__content{position:relative;width:100%;margin:0 auto;overflow:hidden}
.aeon-ad-slot--display .aeon-ad-frame{position:absolute;inset:0}
.aeon-ad-slot--display .aeon-ad-backup,.aeon-ad-slot--display .aeon-ad-backup img{display:block;width:100%;height:100%;object-fit:cover}

/* Skin: the side panels fill the space outside the site's content width (themes set --aeon-skin-content,
 * and may narrow it under html.aeon-ad-skin-on). Panel artwork is scaled to the window's height and pinned
 * to the edge next to the content, so the copy keeps its size and is never cut at the top; a wider panel
 * shows more of the outer artwork. */
.aeon-ad-slot--skin .aeon-ad-skin__side{position:fixed;top:0;width:max(0px,calc((100vw - var(--aeon-skin-content,1100px))/2));height:100vh;overflow:hidden;z-index:8}
.aeon-ad-slot--skin .aeon-ad-skin__side img{position:absolute;top:0;width:auto;min-width:100%;max-width:none;height:100%!important;object-fit:cover}
.aeon-ad-skin__side--left{left:0}
.aeon-ad-skin__side--right{right:0}
.aeon-ad-slot--skin .aeon-ad-skin__side--left img{right:0;object-position:right top}
.aeon-ad-slot--skin .aeon-ad-skin__side--right img{left:0;object-position:left top}
.aeon-ad-slot--skin>.aeon-news-adlabel{box-sizing:border-box;max-width:var(--aeon-skin-content,1100px);margin:0 auto;padding:7px 16px 6px;background:#0f1012;color:#e8e8e8;font:600 10px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;text-align:left;opacity:1;margin-bottom:0}
.aeon-ad-skin__top{display:block;max-width:var(--aeon-skin-content,1100px);margin:auto}
.aeon-ad-skin__top img{width:100%}

/* Reel expander: a row of portrait cards; a tap opens an accessible full-screen dialog. */
.aeon-ad-slot--reel .aeon-ad-reel__title{margin:0 0 10px;font:700 15px/1.3 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.aeon-ad-reel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,28%);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px}
.aeon-ad-reel::-webkit-scrollbar{display:none}
.aeon-ad-reel__card{position:relative;aspect-ratio:9/16;padding:0;border:0;border-radius:10px;overflow:hidden;background:#111;cursor:pointer;scroll-snap-align:start}
.aeon-ad-reel__card img{width:100%;height:100%!important;object-fit:cover;transition:transform .3s ease}
.aeon-ad-reel__card:hover img,.aeon-ad-reel__card:focus-visible img{transform:scale(1.03)}
.aeon-ad-reel__card:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}
/* The dialog takes its width from its height, so the slide area is exactly 9:16 and no card is cropped. */
.aeon-ad-reel__dialog{--aeon-reel-h:min(calc(100vh - 32px),940px);--aeon-reel-chrome:60px;width:min(100vw,calc((var(--aeon-reel-h) - var(--aeon-reel-chrome)) * 9 / 16));max-width:100vw;height:var(--aeon-reel-h);max-height:100vh;margin:auto;padding:0;border:0;border-radius:14px;background:#0f1012;color:#fff;overflow:hidden}
@supports (height:1dvh){.aeon-ad-reel__dialog{--aeon-reel-h:min(calc(100dvh - 32px),940px);max-height:100dvh}}
.aeon-ad-reel__dialog--cta{--aeon-reel-chrome:134px}
.aeon-ad-reel__dialog::backdrop{background:rgba(8,8,10,.82)}
.aeon-ad-reel__dialog[open]{display:flex;flex-direction:column}
.aeon-ad-reel__head{box-sizing:border-box;flex:none;height:60px;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;font:600 11px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.aeon-ad-reel__label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:.85}
.aeon-ad-reel__count{flex:none;opacity:.7;font-variant-numeric:tabular-nums}
.aeon-ad-reel__close{flex:none;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.aeon-ad-reel__track{flex:1;min-height:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.aeon-ad-reel__track::-webkit-scrollbar{display:none}
.aeon-ad-reel__slide{flex:0 0 100%;margin:0;scroll-snap-align:start}
.aeon-ad-reel__slide img{width:100%;height:100%!important;object-fit:cover}
.aeon-ad-reel__cta{box-sizing:border-box;flex:none;display:block;height:46px;margin:12px 16px 16px;padding:0 14px;border-radius:999px;background:#fff;color:#111!important;font:700 15px/46px system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;text-align:center;text-decoration:none!important}
@media (max-width:520px){.aeon-ad-reel__dialog{--aeon-reel-h:100vh;border-radius:0}.aeon-ad-reel{grid-auto-columns:40%}}
@supports (height:1dvh){@media (max-width:520px){.aeon-ad-reel__dialog{--aeon-reel-h:100dvh}}}

/* Overlays */
.aeon-ad-slot--overlay,.aeon-ad-slot--layer{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.7);display:grid;place-items:center;min-height:0!important}
.aeon-ad-slot--overlay[hidden],.aeon-ad-slot--layer[hidden],.aeon-ad-slot--sticky[hidden]{display:none!important}
.aeon-ad-slot--overlay .aeon-ad-slot__content,.aeon-ad-slot--layer .aeon-ad-slot__content{position:relative;max-width:min(90vw,700px);max-height:90vh;overflow:auto;background:#fff}
.aeon-ad-slot--sticky{position:fixed;bottom:0;left:0;right:0;z-index:9998;background:#fff;box-shadow:0 0 15px #0003;min-height:0!important}
.aeon-ad-slot__close{position:absolute;z-index:2;right:4px;top:4px;border:0;border-radius:50%;background:#fff;color:#111;min-width:44px;min-height:44px;cursor:pointer}
.aeon-ad-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
.aeon-ad-carousel__slide{min-width:100%;scroll-snap-align:start}
.aeon-ad-native{display:grid;grid-template-columns:minmax(80px,30%) 1fr;gap:12px;padding:12px;background:#f4f4f4;color:#111}
.aeon-ad-native__label{grid-column:1/-1;font-size:.75em}
.aeon-ad-native__logo{max-width:100px!important}
.aeon-ad-slot--empty.aeon-ad-slot--overlay,.aeon-ad-slot--empty.aeon-ad-slot--layer,.aeon-ad-slot--empty.aeon-ad-slot--sticky{display:none}
@media(min-width:1024px){.aeon-ad-slot--sticky{top:15vh;bottom:auto;left:auto;right:0;width:160px}}
@media(max-width:1279px){.aeon-ad-slot--skin{display:none!important}}
@media(prefers-reduced-motion:reduce){.aeon-ad-carousel{scroll-behavior:auto!important}.aeon-ad-frame,.aeon-ad-reel__card img{transition:none}.aeon-ad-reveal__down{animation:none}}
