/* CMX Flex 3.0 - Category Explorer and advanced presentation layer. */

/* Brand/header utility */
.cmx-brand-stack{display:flex;align-items:center;gap:10px;min-width:0}
.cmx-brand-stack__mobile,.cmx-brand-stack__sticky{display:none}
.cmx-brand-tagline{max-width:220px;color:var(--color-text-muted);font-size:.76rem;line-height:1.25}
.cmx-header__utility{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.82rem;color:var(--color-text-muted)}
.cmx-header__utility a{color:inherit;text-decoration:none}.cmx-header__utility a:hover{color:var(--cmx-menu-hover)}
.cmx-header__utility--left{justify-content:flex-start}.cmx-header__utility--center{justify-content:center}.cmx-header__utility--right{justify-content:flex-end}
body.cmx-scrolled .cmx-brand-stack.has-sticky-logo .cmx-brand-stack__main,body.cmx-scrolled .cmx-brand-stack.has-sticky-logo .cmx-brand-stack__mobile{display:none}
body.cmx-scrolled .cmx-brand-stack.has-sticky-logo .cmx-brand-stack__sticky{display:inline-flex}

/* Menu presets */
.cmx-menu-preset-underline .cmx-nav__list>li>a{position:relative;padding-block:10px}
.cmx-menu-preset-underline .cmx-nav__list>li>a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--cmx-menu-active);transition:right .2s ease}
.cmx-menu-preset-underline .cmx-nav__list>li>a:hover:after,.cmx-menu-preset-underline .cmx-nav__list>.current-menu-item>a:after,.cmx-menu-preset-underline .cmx-nav__list>.current_page_item>a:after{right:0}
.cmx-menu-preset-minimal .cmx-nav__list a{font-weight:500}.cmx-menu-preset-minimal .cmx-nav{background:transparent}
.cmx-menu-preset-pill .cmx-nav__list>li>a{padding:8px 12px;border-radius:999px}.cmx-menu-preset-pill .cmx-nav__list>li>a:hover,.cmx-menu-preset-pill .cmx-nav__list>.current-menu-item>a,.cmx-menu-preset-pill .cmx-nav__list>.current_page_item>a{background:color-mix(in srgb,var(--cmx-menu-active) 11%,transparent)}
.cmx-menu-preset-solid .cmx-nav{padding:6px 10px;border-radius:14px;background:var(--cmx-menu-bg)}.cmx-menu-preset-solid .cmx-nav__list>li>a{padding:8px 10px;border-radius:9px}.cmx-menu-preset-solid .cmx-nav__list>.current-menu-item>a,.cmx-menu-preset-solid .cmx-nav__list>.current_page_item>a{background:var(--cmx-menu-active);color:#fff}

/* Breadcrumbs */
.cmx-breadcrumb-row{padding-top:18px}.cmx-breadcrumb{font-size:.82rem;color:var(--color-text-muted)}
.cmx-breadcrumb ol{display:flex;align-items:center;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.cmx-breadcrumb li{display:flex;align-items:center;gap:8px}.cmx-breadcrumb li:not(:last-child):after{content:"/";opacity:.45}.cmx-breadcrumb a{color:inherit;text-decoration:none}.cmx-breadcrumb a:hover{color:var(--color-accent)}
.cmx-pagehero .cmx-breadcrumb{color:inherit;opacity:.74}.cmx-pagehero .cmx-breadcrumb a{color:inherit}

/* Hero 2 / split and term hero */
.cmx-pagehero__inner{width:100%}.cmx-pagehero--style-split .cmx-pagehero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);gap:clamp(28px,5vw,72px);align-items:center}
.cmx-pagehero--style-split .cmx-pagehero__content{max-width:760px}.cmx-pagehero__media{min-width:0}.cmx-pagehero__media img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:calc(var(--cmx-card-radius) + 4px);box-shadow:0 24px 64px rgba(0,0,0,.18)}
.cmx-pagehero--archive{height:var(--cmx-term-hero-height,220px);position:relative;background-image:linear-gradient(90deg,color-mix(in srgb,var(--cmx-hero-bg) 94%,transparent),color-mix(in srgb,var(--cmx-hero-bg) 72%,transparent)),var(--cmx-term-hero-image,none);background-size:cover;background-position:center}
.cmx-pagehero--archive.has-background-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.08),transparent);pointer-events:none}.cmx-pagehero--archive .cmx-pagehero__inner{position:relative;z-index:1}

/* Fixed-height Hero layout: keep title, intro and media inside the requested band. */
.cmx-hero--fixed{height:var(--cmx-hero-fixed-height);padding-block:var(--cmx-hero-pad-y)}
.cmx-hero--fixed .cmx-pagehero__inner,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__inner{height:100%;min-height:0}
.cmx-pagehero--style-split.cmx-hero--fixed .cmx-pagehero__content,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__content{display:flex;min-width:0;min-height:0;max-height:100%;flex-direction:column;justify-content:center;overflow:hidden}
.cmx-pagehero--style-split.cmx-hero--fixed .cmx-pagehero__title,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__title{line-height:1.04;text-wrap:balance}
.cmx-pagehero--style-split.cmx-hero--fixed .cmx-pagehero__intro,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4}
.cmx-pagehero--style-split.cmx-hero--fixed .cmx-pagehero__media,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__media{height:100%;min-height:0;max-height:100%;overflow:hidden}
.cmx-pagehero--style-split.cmx-hero--fixed .cmx-pagehero__media img,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__media img{display:block;width:100%;height:100%;max-height:none;object-fit:cover}
.cmx-pagehero--archive .cmx-pagehero__inner{height:100%;min-height:0;display:flex;align-items:center}.cmx-pagehero--archive .cmx-pagehero__content{max-height:100%;overflow:hidden}

/* Layout engine */
.cmx-layout-slot{width:100%}.cmx-layout-slot__inner{width:min(100% - (var(--cmx-container-padding) * 2),var(--container-max));margin-inline:auto}.cmx-layout-slot__inner>*:first-child{margin-top:0}.cmx-layout-slot__inner>*:last-child{margin-bottom:0}
.cmx-layout-slot--after_header,.cmx-layout-slot--after_hero,.cmx-layout-slot--content_top,.cmx-layout-slot--content_bottom,.cmx-layout-slot--before_footer{margin-block:clamp(18px,3vw,40px)}
.cmx-page-layout-full-app .cmx-layer-frame--content,.cmx-page-layout-full-app .cmx-layout-slot__inner{max-width:none;padding-left:12px;padding-right:12px}
.cmx-page-layout-centered-app .cmx-layer-frame--content,.cmx-page-layout-centered-app .cmx-layout-slot__inner{max-width:min(1160px,calc(100% - 32px));margin-left:auto;margin-right:auto}
.cmx-page-layout-shortcode-canvas .cmx-section{padding-block:0}.cmx-page-layout-shortcode-canvas .cmx-layer-frame--content,.cmx-page-layout-shortcode-canvas .cmx-layout-slot__inner{max-width:none;padding-inline:0}.cmx-page-layout-landing-stack .cmx-layout-slot{padding-block:28px}.cmx-page-layout-landing-stack .cmx-content-shell{max-width:1100px}.cmx-page-layout-two-zone .cmx-layout-slot--content_top{padding-block:28px;background:color-mix(in srgb,var(--color-primary) 7%,transparent)}.cmx-page-layout-two-zone .cmx-content-shell{max-width:1180px}

/* Content surface */
.cmx-content-shell{color:var(--cmx-content-text)}.cmx-content-shell>h1,.cmx-content-shell>h2,.cmx-content-shell>h3,.cmx-content-shell>h4,.cmx-content-shell>h5,.cmx-content-shell>h6{color:var(--cmx-content-heading)}
.cmx-content-shell blockquote{margin-inline:0;padding:18px 22px;border-left:3px solid var(--color-accent);background:color-mix(in srgb,var(--cmx-content-surface) 94%,var(--color-accent));border-radius:0 12px 12px 0;color:var(--cmx-content-text)}
.cmx-content-shell--dropcap>p:first-of-type:first-letter{float:left;font-family:var(--font-display);font-size:4.2em;line-height:.78;margin:.12em .12em 0 0;font-weight:700;color:var(--color-accent)}

/* Category Explorer */
.cmx-explorer{position:relative;min-width:0}.cmx-explorer__toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 10px;padding:0 0 12px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 72%,transparent)}.cmx-explorer__toolbar--search-only{justify-content:flex-end}.cmx-explorer__toolbar--filter-only{justify-content:flex-start}.cmx-explorer__summary{display:flex;justify-content:space-between;gap:16px;min-height:22px;margin:0 0 20px;color:var(--color-text-muted);font-size:.78rem;line-height:1.4}
.cmx-explorer-content-search,.cmx-explorer-filter-search,.cmx-explorer-select{display:block;min-width:0}.cmx-explorer-content-search{width:min(100%,300px);margin-left:auto}.cmx-explorer-filter-search,.cmx-explorer-select{width:min(100%,360px)}.cmx-explorer-content-search input,.cmx-explorer-filter-search input,.cmx-explorer-select select{width:100%;min-height:40px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--color-border) 88%,transparent);background:color-mix(in srgb,var(--color-surface) 96%,var(--color-bg));color:var(--color-text);border-radius:10px;box-shadow:0 1px 0 rgba(15,23,42,.02);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.cmx-explorer-content-search input:focus,.cmx-explorer-filter-search input:focus,.cmx-explorer-select select:focus{outline:0;border-color:color-mix(in srgb,var(--color-primary) 54%,var(--color-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent);background:var(--color-surface)}
.cmx-explorer-filters{min-width:0;flex:1}.cmx-explorer-filters--dropdown{flex:0 1 360px}.cmx-explorer-filter-list{display:grid;grid-template-columns:repeat(var(--cmx-filter-cols,4),minmax(0,1fr));gap:8px;max-height:var(--cmx-filter-max-height,260px);overflow:auto;padding:1px}
.cmx-explorer-filter{position:relative;min-width:0}.cmx-explorer-filter input{position:absolute;opacity:0;pointer-events:none}.cmx-explorer-filter span{display:flex;align-items:center;justify-content:center;min-height:40px;padding:7px 11px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);color:var(--color-text);font-size:.84rem;line-height:1.25;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.cmx-explorer-filter span:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--color-accent) 48%,var(--color-border))}.cmx-explorer-filter input:focus-visible+span{outline:2px solid var(--color-accent);outline-offset:2px}.cmx-explorer-filter input:checked+span{border-color:var(--color-primary);background:var(--color-primary);color:#fff}
.cmx-explorer-filters--chips .cmx-explorer-filter-list{display:flex;flex-wrap:wrap;max-height:none;overflow:visible}.cmx-explorer-filters--chips .cmx-explorer-filter span{border-radius:999px;min-height:38px}
.cmx-explorer-filters--checkboxes .cmx-explorer-filter span{justify-content:flex-start;padding-left:34px}.cmx-explorer-filters--checkboxes .cmx-explorer-filter span:before{content:"";position:absolute;left:11px;width:14px;height:14px;border:1.5px solid currentColor;border-radius:4px;opacity:.7}.cmx-explorer-filters--checkboxes .cmx-explorer-filter input:checked+span:after{content:"";position:absolute;left:15px;top:50%;width:6px;height:3px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-65%) rotate(-45deg)}
.cmx-explorer-filters--sticky{position:sticky;top:var(--cmx-filter-sticky-top,92px);z-index:12;padding:10px;background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:14px}.cmx-explorer-filters--floating{position:fixed;z-index:90;width:min(430px,calc(100vw - 32px));max-height:min(70vh,620px);overflow:auto;padding:12px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 20px 54px rgba(15,23,42,.18)}.cmx-explorer-filters--floating.cmx-explorer-filters--corner-right-bottom{right:var(--cmx-filter-float-offset,24px);bottom:var(--cmx-filter-float-offset,24px)}.cmx-explorer-filters--floating.cmx-explorer-filters--corner-left-bottom{left:var(--cmx-filter-float-offset,24px);bottom:var(--cmx-filter-float-offset,24px)}.cmx-explorer-filters--floating.cmx-explorer-filters--corner-right-top{right:var(--cmx-filter-float-offset,24px);top:var(--cmx-filter-float-offset,24px)}.cmx-explorer-filters--floating.cmx-explorer-filters--corner-left-top{left:var(--cmx-filter-float-offset,24px);top:var(--cmx-filter-float-offset,24px)}
.cmx-explorer-grid{display:grid;grid-template-columns:repeat(var(--cmx-explorer-cols,3),minmax(0,1fr));gap:clamp(16px,2.2vw,28px)}
.cmx-explorer-card{min-width:0;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.cmx-explorer-card:hover{transform:translateY(-3px);box-shadow:0 15px 38px rgba(15,23,42,.11);border-color:color-mix(in srgb,var(--color-accent) 30%,var(--color-border))}
.cmx-explorer-card__media{display:block;overflow:hidden;background:color-mix(in srgb,var(--color-surface) 85%,var(--color-border));aspect-ratio:16/10}.cmx-explorer-card__media img{display:block;width:100%;height:var(--cmx-card-image-height,var(--cmx-archive-thumb-height));min-height:100%;object-fit:cover;object-position:var(--cmx-card-image-position,center);transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease}.cmx-explorer-card:hover .cmx-explorer-card__media img{transform:scale(1.025)}
.cmx-explorer-card__body{padding:clamp(16px,2vw,22px)}.cmx-explorer-card__term{margin-bottom:8px}.cmx-explorer-card__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--cmx-title-lines,3);overflow:hidden;margin:0;font-size:clamp(1.05rem,1.4vw,1.34rem);line-height:1.25}.cmx-explorer-card__title a{color:inherit;text-decoration:none}.cmx-explorer-card__excerpt{margin:11px 0 0;color:var(--color-text-muted);font-size:.92rem;line-height:1.65}.cmx-explorer-card__meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;color:var(--color-text-muted);font-size:.75rem}.cmx-explorer-card__meta span+span:before{content:"·";margin-right:10px}
/* Profiles deliberately look unlike legacy Full Width layouts. */
.cmx-explorer-grid--editorial{grid-template-columns:1fr}.cmx-explorer-grid--editorial .cmx-explorer-card{display:grid;grid-template-columns:minmax(220px,.4fr) minmax(0,.6fr);align-items:stretch}.cmx-explorer-grid--editorial .cmx-explorer-card__media{aspect-ratio:auto;min-height:220px}.cmx-explorer-grid--editorial .cmx-explorer-card__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(22px,4vw,42px)}.cmx-explorer-grid--editorial .cmx-explorer-card__title{font-size:clamp(1.35rem,2.5vw,2rem)}
.cmx-explorer-grid--centered .cmx-explorer-card{text-align:center}.cmx-explorer-grid--centered .cmx-explorer-card__body{padding:clamp(22px,3vw,34px)}.cmx-explorer-grid--centered .cmx-explorer-card__meta{justify-content:center}.cmx-explorer-grid--centered .cmx-explorer-card__term{margin-inline:auto}
.cmx-explorer-grid--media .cmx-explorer-card{position:relative;min-height:340px;background:#111}.cmx-explorer-grid--media .cmx-explorer-card__media{position:absolute;inset:0;aspect-ratio:auto}.cmx-explorer-grid--media .cmx-explorer-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.05) 70%)}.cmx-explorer-grid--media .cmx-explorer-card__media img{height:100%;min-height:100%}.cmx-explorer-grid--media .cmx-explorer-card__body{position:absolute;left:0;right:0;bottom:0;z-index:2;color:#fff}.cmx-explorer-grid--media .cmx-explorer-card__term,.cmx-explorer-grid--media .cmx-explorer-card__excerpt,.cmx-explorer-grid--media .cmx-explorer-card__meta{color:rgba(255,255,255,.78)}.cmx-explorer-grid--media .cmx-explorer-card__title{color:#fff}
.cmx-explorer-grid--minimal{grid-template-columns:1fr;gap:0;border-top:1px solid var(--color-border)}.cmx-explorer-grid--minimal .cmx-explorer-card{display:grid;grid-template-columns:120px minmax(0,1fr);border:0;border-bottom:1px solid var(--color-border);border-radius:0;box-shadow:none;background:transparent}.cmx-explorer-grid--minimal .cmx-explorer-card:hover{transform:none;box-shadow:none}.cmx-explorer-grid--minimal .cmx-explorer-card__media{margin-block:14px;border-radius:10px;aspect-ratio:1/1}.cmx-explorer-grid--minimal .cmx-explorer-card__body{padding:18px 0 18px 20px}.cmx-explorer-grid--minimal .cmx-explorer-card__excerpt{display:none}
.cmx-explorer-pagination{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:30px}.cmx-explorer-pagination button{min-width:40px;min-height:40px;padding:7px 11px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);color:var(--color-text);cursor:pointer}.cmx-explorer-pagination button:hover,.cmx-explorer-pagination .is-current{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.cmx-explorer-empty{padding:36px;border:1px dashed var(--color-border);border-radius:14px;text-align:center;color:var(--color-text-muted)}

/* Explorer modal */
html.cmx-explorer-modal-open,html.cmx-modal-open{overflow:hidden}.cmx-explorer-modal[hidden]{display:none}.cmx-explorer-modal{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;padding:20px}.cmx-explorer-modal__backdrop{position:absolute;inset:0;background:rgba(2,6,23,.62);backdrop-filter:blur(5px)}.cmx-explorer-modal__dialog{position:relative;z-index:1;width:min(920px,100%);max-height:min(88vh,920px);display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);border-radius:20px;background:var(--cmx-content-surface);box-shadow:0 30px 90px rgba(0,0,0,.28)}.cmx-explorer-modal__head,.cmx-explorer-modal__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--color-border)}.cmx-explorer-modal__head h2{margin:3px 0 0}.cmx-explorer-modal__foot{border-top:1px solid var(--color-border);border-bottom:0;justify-content:flex-end}.cmx-explorer-modal__close{width:42px;height:42px;display:grid;place-items:center;flex:none;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-text);cursor:pointer}.cmx-explorer-modal__content{overflow:auto;padding:clamp(20px,4vw,42px)}.cmx-explorer-modal__status{padding:0 22px;color:var(--color-text-muted);font-size:.82rem}

/* Page video */
.cmx-page-video{--cmx-video-radius:16px;width:100%;margin-block:clamp(20px,3vw,36px)}.cmx-page-video--width-content{max-width:var(--container-prose)}.cmx-page-video--width-wide{max-width:1120px}.cmx-page-video--width-full{max-width:none}.cmx-page-video--align-left{margin-right:auto}.cmx-page-video--align-center{margin-inline:auto}.cmx-page-video--align-right{margin-left:auto}.cmx-page-video__viewport{position:relative;overflow:hidden;border-radius:var(--cmx-video-radius);background:#050505}.cmx-page-video--ratio-16-9 .cmx-page-video__viewport{aspect-ratio:16/9}.cmx-page-video--ratio-4-3 .cmx-page-video__viewport{aspect-ratio:4/3}.cmx-page-video--ratio-1-1 .cmx-page-video__viewport{aspect-ratio:1}.cmx-page-video--ratio-9-16 .cmx-page-video__viewport{aspect-ratio:9/16;max-height:80vh}.cmx-page-video--ratio-21-9 .cmx-page-video__viewport{aspect-ratio:21/9}.cmx-page-video iframe,.cmx-page-video__facade,.cmx-page-video__facade img{position:absolute;inset:0;width:100%;height:100%;border:0}.cmx-page-video__facade{padding:0;cursor:pointer;background:#000}.cmx-page-video__facade img{object-fit:cover}.cmx-page-video__facade:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.25),transparent)}.cmx-page-video__play{position:absolute;left:50%;top:50%;z-index:2;width:64px;height:64px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(0,0,0,.25)}.cmx-page-video__play:after{content:"";position:absolute;left:26px;top:20px;border-left:18px solid #111;border-top:12px solid transparent;border-bottom:12px solid transparent}.cmx-page-video--shadow-soft .cmx-page-video__viewport{box-shadow:0 16px 42px rgba(15,23,42,.14)}.cmx-page-video--shadow-strong .cmx-page-video__viewport{box-shadow:0 28px 70px rgba(15,23,42,.24)}.cmx-page-video--frame-outline .cmx-page-video__viewport{border:1px solid var(--color-border);padding:5px}.cmx-page-video--frame-device{padding:9px;border-radius:calc(var(--cmx-video-radius) + 8px);background:#141414;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.cmx-page-video--frame-glass{padding:8px;border:1px solid rgba(255,255,255,.34);border-radius:calc(var(--cmx-video-radius) + 8px);background:color-mix(in srgb,var(--color-surface) 60%,transparent);backdrop-filter:blur(12px)}.cmx-page-video--frame-cinema{padding:10px 10px 30px;border-radius:calc(var(--cmx-video-radius) + 4px);background:#0b0b0c}.cmx-page-video--frame-soft{padding:7px;border-radius:calc(var(--cmx-video-radius) + 7px);background:color-mix(in srgb,var(--color-border) 48%,var(--color-surface))}

/* Progressive image treatment */
.cmx-progressive-image{opacity:.82;filter:saturate(.92);transition:opacity .36s ease,filter .36s ease,transform .45s cubic-bezier(.2,.7,.2,1)}.cmx-progressive-image.is-loaded{opacity:1;filter:none}

/* Related and previous/next */
.cmx-related{margin-top:clamp(34px,6vw,68px);padding-top:clamp(20px,3.2vw,30px);border-top:1px solid color-mix(in srgb,var(--color-border) 82%,transparent)}.cmx-related__grid{display:grid;grid-template-columns:repeat(var(--cmx-related-cols,3),minmax(0,1fr));gap:18px;align-items:stretch}.cmx-related-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-border) 88%,transparent);border-radius:16px;background:color-mix(in srgb,var(--cmx-card-surface,var(--color-surface)) 94%,#fff 6%);box-shadow:0 10px 28px rgba(15,23,42,.05)}.cmx-related-card__media{display:block;aspect-ratio:16/9;overflow:hidden}.cmx-related-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.cmx-related-card:hover .cmx-related-card__media img,.cmx-related-card:focus-within .cmx-related-card__media img{transform:scale(1.02)}.cmx-related-card__body{display:flex;flex:1 1 auto;flex-direction:column;justify-content:flex-start;padding:15px 16px 16px}.cmx-related-card .cmx-eyebrow{display:block;margin-bottom:8px;font-size:.68rem;letter-spacing:.11em;color:var(--color-text-muted)}.cmx-related-card h3{margin:0;font-size:.94rem;line-height:1.38}.cmx-related-card h3 a{color:inherit;text-decoration:none}.cmx-postnav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:clamp(18px,3vw,26px);padding-block:10px 12px;border-top:0}.cmx-postnav__item{min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.cmx-postnav__item span{display:block;margin-bottom:6px;color:var(--color-text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.11em}.cmx-postnav__item a{display:block;color:var(--color-text);font-family:var(--font-display);font-weight:700;text-decoration:none;overflow-wrap:anywhere;line-height:1.28}.cmx-postnav__next{text-align:right}

/* Advanced table themes */
.cmx-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--cmx-table-radius)}.cmx-table-scroll>table{min-width:600px}.cmx-table-style-soft table{box-shadow:0 9px 30px rgba(15,23,42,.06)}.cmx-table-style-grid table{border-collapse:collapse}.cmx-table-style-grid table th,.cmx-table-style-grid table td{border-style:solid}.cmx-table-style-minimal table{border:0;border-radius:0}.cmx-table-style-minimal table th,.cmx-table-style-minimal table td{border-width:0 0 var(--cmx-table-border-width) 0}.cmx-table-style-minimal table thead th{background:transparent;color:var(--cmx-content-heading);border-bottom-width:2px}

@media (max-width:980px){
  .cmx-pagehero--style-split .cmx-pagehero__inner{grid-template-columns:1fr}.cmx-pagehero--style-split .cmx-pagehero__media{max-width:720px}
  .cmx-pagehero--style-split.cmx-hero--fixed,.cmx-front-hero.cmx-hero--fixed{height:auto;min-height:var(--cmx-hero-fixed-height);padding-block:clamp(34px,7vw,64px)}
  .cmx-pagehero--style-split.cmx-hero--fixed .cmx-pagehero__inner,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__inner{height:auto}
  .cmx-pagehero--style-split.cmx-hero--fixed .cmx-pagehero__media,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__media{height:auto;max-height:none}
  .cmx-pagehero--style-split.cmx-hero--fixed .cmx-pagehero__media img,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__media img{height:auto;aspect-ratio:16/10}
  .cmx-explorer-filter-list{grid-template-columns:repeat(min(3,var(--cmx-filter-cols,3)),minmax(0,1fr))}
  .cmx-explorer-grid{grid-template-columns:repeat(min(2,var(--cmx-explorer-cols,2)),minmax(0,1fr))}
  .cmx-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmx-header__utility{display:none}
}

@media (max-width:760px){
  .cmx-brand-stack.has-mobile-logo .cmx-brand-stack__main{display:none}.cmx-brand-stack.has-mobile-logo .cmx-brand-stack__mobile{display:inline-flex}body.cmx-scrolled .cmx-brand-stack.has-sticky-logo .cmx-brand-stack__mobile{display:none}
  .cmx-brand-tagline{display:none}.cmx-explorer__toolbar{display:block}.cmx-explorer-content-search{width:100%;margin:10px 0 0;max-width:none}.cmx-explorer__toolbar--search-only .cmx-explorer-content-search{margin-top:0}.cmx-explorer-filters--sticky{top:var(--cmx-filter-sticky-top,74px)}.cmx-explorer-filters--floating{left:auto!important;right:14px!important;top:auto!important;bottom:88px!important;width:min(390px,calc(100vw - 28px))}
  .cmx-explorer-filter-list,.cmx-explorer-grid,.cmx-related__grid{grid-template-columns:1fr}.cmx-explorer-filters--chips .cmx-explorer-filter-list{display:flex}.cmx-explorer-grid--editorial .cmx-explorer-card{grid-template-columns:1fr}.cmx-explorer-grid--editorial .cmx-explorer-card__media{min-height:0;aspect-ratio:16/9}.cmx-explorer-grid--minimal .cmx-explorer-card{grid-template-columns:88px minmax(0,1fr)}
  .cmx-postnav{grid-template-columns:1fr}.cmx-postnav__next{text-align:left}.cmx-explorer-modal{padding:8px}.cmx-explorer-modal__dialog{max-height:94vh;border-radius:15px}.cmx-explorer-modal__head,.cmx-explorer-modal__foot{padding:14px 16px}.cmx-explorer-modal__content{padding:20px 16px}
}

@media (prefers-reduced-motion:reduce){.cmx-explorer-card,.cmx-explorer-card__media img,.cmx-progressive-image,.cmx-menu-preset-underline .cmx-nav__list>li>a:after{transition:none!important}}

/* Width classes are supported both on wrappers and directly on the content shell. */
.cmx-content-shell.cmx-content--normal{max-width:var(--container-prose);margin-inline:auto}.cmx-content-shell.cmx-content--wide{max-width:1100px;margin-inline:auto}.cmx-content-shell.cmx-content--full{max-width:none}.cmx-content-shell.cmx-content--narrow{max-width:min(640px,var(--container-prose));margin-inline:auto}
.cmx-pagination--links{margin-top:30px}.cmx-pagination--links .page-numbers{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.cmx-pagination--links a,.cmx-pagination--links span{display:grid;place-items:center;min-width:40px;min-height:40px;padding:7px 11px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);color:var(--color-text);text-decoration:none}.cmx-pagination--links .current{border-color:var(--color-primary);background:var(--color-primary);color:#fff}
.cmx-explorer.is-loading .cmx-explorer-pagination button{pointer-events:none;opacity:.55}.cmx-explorer.is-loading .cmx-explorer__results{opacity:.68;transition:opacity .16s ease}

/* CMX Flex 3.5 - five Hero styles */
.cmx-pagehero--style-editorial .cmx-pagehero__inner,
.cmx-pagehero--style-split .cmx-pagehero__inner,
.cmx-front-hero--style-editorial .cmx-front-hero__inner,
.cmx-front-hero--style-split .cmx-front-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(300px,.94fr);
  gap:clamp(30px,5vw,76px);
  align-items:center;
}
.cmx-pagehero--style-editorial .cmx-pagehero__content,
.cmx-front-hero--style-editorial .cmx-front-hero__content{max-width:720px}
.cmx-pagehero--style-editorial .cmx-pagehero__title,
.cmx-front-hero--style-editorial .cmx-front-hero__title{
  font-family:var(--font-display);
  font-size:var(--cmx-hero-title-size);
  line-height:.98;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.cmx-pagehero--style-editorial .cmx-pagehero__intro,
.cmx-front-hero--style-editorial .cmx-front-hero__text{max-width:60ch;font-size:clamp(.98rem,1.35vw,1.18rem);line-height:1.62;opacity:.88}
.cmx-pagehero--style-editorial .cmx-pagehero__media,
.cmx-front-hero--style-editorial .cmx-front-hero__media{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:clamp(12px,1.4vw,22px);
  box-shadow:0 26px 70px rgba(0,0,0,.24);
}
.cmx-pagehero--style-editorial .cmx-pagehero__media img,
.cmx-front-hero--style-editorial .cmx-front-hero__media img{display:block;width:100%;height:100%;object-fit:cover}
.cmx-hero-meta{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin-top:20px;font-size:.78rem;opacity:.82}
.cmx-hero-meta span+span:before{content:"•";margin-right:18px;opacity:.55}

.cmx-pagehero--style-cover,
.cmx-front-hero--style-cover{position:relative;isolation:isolate;background:var(--cmx-hero-bg,var(--color-primary))}
.cmx-pagehero--style-cover:after,
.cmx-front-hero--style-cover:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(2,10,8,.78) 0%,rgba(2,10,8,.58) 48%,rgba(2,10,8,.28) 100%);pointer-events:none}
.cmx-pagehero--style-cover .cmx-pagehero__inner,
.cmx-front-hero--style-cover .cmx-front-hero__inner{position:relative;z-index:2;display:flex;align-items:center;min-height:100%}
.cmx-pagehero--style-cover .cmx-pagehero__content,
.cmx-front-hero--style-cover .cmx-front-hero__content{position:relative;z-index:3;max-width:760px}
.cmx-pagehero--style-cover .cmx-pagehero__media,
.cmx-front-hero--style-cover .cmx-front-hero__media{position:absolute;z-index:0;inset:0;overflow:hidden;border-radius:0;box-shadow:none}
.cmx-pagehero--style-cover .cmx-pagehero__media img,
.cmx-front-hero--style-cover .cmx-front-hero__media img{width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0;box-shadow:none}
.cmx-pagehero--style-cover .cmx-page-video,
.cmx-front-hero--style-cover .cmx-page-video,
.cmx-pagehero--style-cover .cmx-page-video__viewport,
.cmx-front-hero--style-cover .cmx-page-video__viewport{width:100%;height:100%;max-width:none;margin:0;border-radius:0}
.cmx-pagehero--style-cover .cmx-page-video iframe,
.cmx-front-hero--style-cover .cmx-page-video iframe{width:100%;height:100%}

.cmx-pagehero--style-minimal,
.cmx-front-hero--style-minimal{
  background:var(--cmx-content-surface,var(--color-surface));
  color:var(--cmx-content-heading,var(--color-text));
  border-block:1px solid var(--color-border);
  box-shadow:none;
}
.cmx-pagehero--style-minimal{padding-block:clamp(26px,4vw,52px)}
.cmx-front-hero--style-minimal{padding-block:clamp(34px,5vw,64px)}
.cmx-pagehero--style-minimal .cmx-pagehero__inner,
.cmx-front-hero--style-minimal .cmx-front-hero__inner{display:block}
.cmx-pagehero--style-minimal .cmx-pagehero__content,
.cmx-front-hero--style-minimal .cmx-front-hero__content{max-width:min(900px,100%)}
.cmx-pagehero--style-minimal .cmx-pagehero__title,
.cmx-front-hero--style-minimal .cmx-front-hero__title{font-size:var(--cmx-hero-title-size);line-height:1.05}
.cmx-pagehero--style-minimal .cmx-pagehero__intro,
.cmx-front-hero--style-minimal .cmx-front-hero__text{color:var(--cmx-content-muted,var(--color-text-muted));opacity:1}
.cmx-pagehero--style-minimal .cmx-eyebrow,
.cmx-front-hero--style-minimal .cmx-eyebrow{color:var(--color-accent)}

/* Archive variants use the same five-style contract. */
.cmx-pagehero--archive.cmx-pagehero--style-split .cmx-pagehero__inner,
.cmx-pagehero--archive.cmx-pagehero--style-editorial .cmx-pagehero__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);
  gap:clamp(24px,4vw,58px);
  align-items:center;
}
.cmx-pagehero--archive.cmx-pagehero--style-split .cmx-pagehero__media,
.cmx-pagehero--archive.cmx-pagehero--style-editorial .cmx-pagehero__media{height:calc(100% - 28px);overflow:hidden}
.cmx-pagehero--archive.cmx-pagehero--style-split .cmx-pagehero__media img,
.cmx-pagehero--archive.cmx-pagehero--style-editorial .cmx-pagehero__media img{height:100%;max-height:none;object-fit:cover}
.cmx-pagehero--archive.cmx-pagehero--style-cover .cmx-pagehero__inner{display:flex}
.cmx-pagehero--archive.cmx-pagehero--style-minimal{height:auto;min-height:0;background:var(--cmx-content-surface);color:var(--cmx-content-heading)}

/* Fixed height now applies to all media Hero styles. */
.cmx-pagehero--style-editorial.cmx-hero--fixed .cmx-pagehero__content,
.cmx-pagehero--style-cover.cmx-hero--fixed .cmx-pagehero__content,
.cmx-front-hero--style-editorial.cmx-hero--fixed .cmx-front-hero__content,
.cmx-front-hero--style-cover.cmx-hero--fixed .cmx-front-hero__content{
  display:flex;min-width:0;min-height:0;max-height:100%;flex-direction:column;justify-content:center;overflow:hidden
}
.cmx-pagehero--style-editorial.cmx-hero--fixed .cmx-pagehero__media,
.cmx-front-hero--style-editorial.cmx-hero--fixed .cmx-front-hero__media{height:100%;min-height:0;max-height:100%}
.cmx-pagehero--style-editorial.cmx-hero--fixed .cmx-pagehero__intro,
.cmx-front-hero--style-editorial.cmx-hero--fixed .cmx-front-hero__text,
.cmx-pagehero--style-cover.cmx-hero--fixed .cmx-pagehero__intro,
.cmx-front-hero--style-cover.cmx-hero--fixed .cmx-front-hero__text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4}

/* Editorial left panel / automatic table of contents */
.cmx-article-layout{min-width:0}
.cmx-article-layout.has-left-panel{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:clamp(30px,4vw,58px);align-items:start}
.cmx-article-layout__content{min-width:0}.cmx-article-layout__navigation{min-width:0;width:100%}.cmx-article-layout__navigation-inner{width:100%}.cmx-article-layout__navigation-inner.cmx-content--normal{max-width:var(--container-prose);margin-inline:auto}.cmx-article-layout__navigation-inner.cmx-content--wide{max-width:1100px;margin-inline:auto}.cmx-article-layout__navigation-inner.cmx-content--narrow{max-width:min(640px,var(--container-prose));margin-inline:auto}.cmx-article-layout__navigation-inner.cmx-content--full{max-width:none}.cmx-article-layout.has-left-panel>.cmx-article-layout__navigation{grid-column:2}.cmx-article-layout.has-left-panel>.cmx-article-layout__comments{grid-column:2}
.cmx-article-panel{min-width:0;font-family:var(--cmx-content-body-font);font-size:var(--cmx-content-font-size);color:var(--cmx-content-text)}
.cmx-article-panel.is-sticky .cmx-article-panel__inner{position:sticky;top:calc(var(--cmx-header-height,72px) + 24px)}
.cmx-article-panel__inner{box-sizing:border-box;display:flex;flex-direction:column;gap:18px;padding:var(--cmx-content-pad-top) var(--cmx-content-pad-x) var(--cmx-content-pad-bottom)}
.cmx-article-panel__title{margin:0;color:var(--color-primary);font-size:.78em;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.cmx-article-panel__toc[hidden]{display:none}
.cmx-article-panel__toc ol{list-style:none;margin:0;padding:0;counter-reset:cmx-toc;display:flex;flex-direction:column;gap:8px}
.cmx-article-panel__toc-item{counter-increment:cmx-toc;position:relative;padding-left:24px;font-size:.86em;line-height:1.4}
.cmx-article-panel__toc-item:before{content:counter(cmx-toc) ".";position:absolute;left:0;top:0;color:var(--color-text-muted);font-variant-numeric:tabular-nums}
.cmx-article-panel__toc-item--h3{padding-left:34px;font-size:.8em;opacity:.84}
.cmx-article-panel__toc a{color:var(--color-text-muted);text-decoration:none}
.cmx-article-panel__toc a:hover,.cmx-article-panel__toc a:focus{color:var(--color-primary)}
.cmx-article-panel__note{margin:8px 0 0;padding:16px 16px 16px 18px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 8px 24px rgba(15,23,42,.05)}
.cmx-article-panel__note>span{display:block;height:24px;color:var(--color-primary);font-family:Georgia,serif;font-size:2rem;line-height:1}
.cmx-article-panel__note p{margin:4px 0 0;color:var(--color-text-muted);font-size:.92em;line-height:1.58}
.cmx-content-shell h2[id],.cmx-content-shell h3[id]{scroll-margin-top:110px}

@media (max-width:1080px){
  .cmx-article-layout.has-left-panel{grid-template-columns:1fr;gap:24px}
  .cmx-article-layout.has-left-panel>.cmx-article-layout__comments{grid-column:1}
  .cmx-article-panel.is-sticky .cmx-article-panel__inner{position:static}
  .cmx-article-panel__inner{border:1px solid var(--color-border);border-radius:14px;background:color-mix(in srgb,var(--color-surface) 96%,var(--color-primary))}
  .cmx-article-panel__toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
}
@media (max-width:980px){
  .cmx-pagehero--style-editorial .cmx-pagehero__inner,
  .cmx-front-hero--style-editorial .cmx-front-hero__inner,
  .cmx-pagehero--archive.cmx-pagehero--style-editorial .cmx-pagehero__inner,
  .cmx-pagehero--archive.cmx-pagehero--style-split .cmx-pagehero__inner{grid-template-columns:1fr}
  .cmx-pagehero--style-cover.cmx-hero--fixed,.cmx-pagehero--style-editorial.cmx-hero--fixed,
  .cmx-front-hero--style-cover.cmx-hero--fixed,.cmx-front-hero--style-editorial.cmx-hero--fixed{height:auto;min-height:var(--cmx-hero-fixed-height);padding-block:clamp(34px,7vw,64px)}
  .cmx-pagehero--style-editorial.cmx-hero--fixed .cmx-pagehero__media,
  .cmx-front-hero--style-editorial.cmx-hero--fixed .cmx-front-hero__media{height:auto;max-height:none}
  .cmx-pagehero--style-editorial.cmx-hero--fixed .cmx-pagehero__media img,
  .cmx-front-hero--style-editorial.cmx-hero--fixed .cmx-front-hero__media img{height:auto;aspect-ratio:16/10}
}
@media (max-width:680px){.cmx-article-panel__toc ol{grid-template-columns:1fr}}
/* Cover media intentionally spans the whole Hero band rather than only the inner container. */
.cmx-pagehero--style-cover .cmx-pagehero__inner,
.cmx-front-hero--style-cover .cmx-front-hero__inner{position:static}
.cmx-pagehero--archive.cmx-pagehero--style-cover:after{z-index:1;background:linear-gradient(90deg,rgba(2,10,8,.80) 0%,rgba(2,10,8,.58) 50%,rgba(2,10,8,.30) 100%)}


/* CMX Flex 3.6 - redesigned Hero family and universal layer spacing. */
.cmx-layout-slot--after_header,.cmx-layout-slot--after_hero,.cmx-layout-slot--content_top,.cmx-layout-slot--content_bottom,.cmx-layout-slot--before_footer{margin-block:0}

/* 1. Cinematic Cover: media fills the band, with a strong directional overlay. */
.cmx-pagehero--style-cinematic,.cmx-front-hero--style-cinematic{position:relative;isolation:isolate;overflow:hidden}
.cmx-pagehero--style-cinematic:before,.cmx-front-hero--style-cinematic:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(2,8,7,.82) 0%,rgba(2,8,7,.60) 48%,rgba(2,8,7,.25) 100%);pointer-events:none}
.cmx-pagehero--style-cinematic .cmx-pagehero__inner,.cmx-front-hero--style-cinematic .cmx-front-hero__inner{position:static;display:flex;align-items:center;min-height:100%}
.cmx-pagehero--style-cinematic .cmx-pagehero__content,.cmx-front-hero--style-cinematic .cmx-front-hero__content{position:relative;z-index:2;max-width:min(760px,68%)}
.cmx-pagehero--style-cinematic .cmx-pagehero__media,.cmx-front-hero--style-cinematic .cmx-front-hero__media{position:absolute;inset:0;z-index:0;overflow:hidden}
.cmx-pagehero--style-cinematic .cmx-pagehero__media img,.cmx-front-hero--style-cinematic .cmx-front-hero__media img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0;box-shadow:none}

/* 2. Duo Media: strong two-column composition with balanced text/media. */
.cmx-pagehero--style-duo .cmx-pagehero__inner,.cmx-front-hero--style-duo .cmx-front-hero__inner{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(300px,.98fr);gap:clamp(28px,5vw,72px);align-items:center}
.cmx-pagehero--style-duo .cmx-pagehero__content,.cmx-front-hero--style-duo .cmx-front-hero__content{max-width:760px}
.cmx-pagehero--style-duo .cmx-pagehero__media,.cmx-front-hero--style-duo .cmx-front-hero__media{height:min(100%,520px);overflow:hidden;border-radius:clamp(12px,1.4vw,22px);box-shadow:0 22px 60px rgba(0,0,0,.22)}
.cmx-pagehero--style-duo .cmx-pagehero__media img,.cmx-front-hero--style-duo .cmx-front-hero__media img{display:block;width:100%;height:100%;object-fit:cover}

/* 3. Framed Editorial: an editorial card floating inside the Hero surface. */
.cmx-pagehero--style-framed,.cmx-front-hero--style-framed{background:color-mix(in srgb,var(--cmx-hero-bg) 88%,#000)}
.cmx-pagehero--style-framed .cmx-pagehero__inner,.cmx-front-hero--style-framed .cmx-front-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.88fr);gap:clamp(26px,4vw,58px);align-items:center;background:color-mix(in srgb,var(--cmx-hero-bg) 72%,#fff 8%);border:1px solid rgba(255,255,255,.16);border-radius:clamp(16px,2vw,28px);box-shadow:0 24px 68px rgba(0,0,0,.20);padding-top:clamp(24px,3.5vw,48px);padding-bottom:clamp(24px,3.5vw,48px)}
.cmx-pagehero--style-framed .cmx-pagehero__media,.cmx-front-hero--style-framed .cmx-front-hero__media{overflow:hidden;border-radius:clamp(12px,1.4vw,20px)}
.cmx-pagehero--style-framed .cmx-pagehero__media img,.cmx-front-hero--style-framed .cmx-front-hero__media img{display:block;width:100%;height:100%;object-fit:cover}

/* 4. Centered Statement: centered text over image/solid surface. */
.cmx-pagehero--style-centered,.cmx-front-hero--style-centered{position:relative;isolation:isolate;overflow:hidden;text-align:center}
.cmx-pagehero--style-centered:before,.cmx-front-hero--style-centered:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(2,8,7,.48),rgba(2,8,7,.72));pointer-events:none}
.cmx-pagehero--style-centered .cmx-pagehero__inner,.cmx-front-hero--style-centered .cmx-front-hero__inner{position:static;display:flex;justify-content:center;align-items:center;min-height:100%}
.cmx-pagehero--style-centered .cmx-pagehero__content,.cmx-front-hero--style-centered .cmx-front-hero__content{position:relative;z-index:2;max-width:920px;margin-inline:auto}
.cmx-pagehero--style-centered .cmx-pagehero__intro,.cmx-front-hero--style-centered .cmx-front-hero__text{margin-inline:auto}
.cmx-pagehero--style-centered .cmx-pagehero__media,.cmx-front-hero--style-centered .cmx-front-hero__media{position:absolute;inset:0;z-index:0}
.cmx-pagehero--style-centered .cmx-pagehero__media img,.cmx-front-hero--style-centered .cmx-front-hero__media img{display:block;width:100%;height:100%;object-fit:cover}

/* 5. Clean Band: typography-first, no Hero media. */
.cmx-pagehero--style-clean,.cmx-front-hero--style-clean{background:var(--cmx-hero-bg);box-shadow:none}
.cmx-pagehero--style-clean .cmx-pagehero__inner,.cmx-front-hero--style-clean .cmx-front-hero__inner{display:block}
.cmx-pagehero--style-clean .cmx-pagehero__content,.cmx-front-hero--style-clean .cmx-front-hero__content{max-width:min(900px,100%)}

/* Archive variants use the same presentation language. */
.cmx-pagehero--archive.cmx-pagehero--style-duo .cmx-pagehero__inner,
.cmx-pagehero--archive.cmx-pagehero--style-framed .cmx-pagehero__inner{height:100%}
.cmx-pagehero--archive.cmx-pagehero--style-cinematic .cmx-pagehero__media,
.cmx-pagehero--archive.cmx-pagehero--style-centered .cmx-pagehero__media{position:absolute;inset:0}

/* Exact-height behavior for the new media styles. */
.cmx-pagehero--style-duo.cmx-hero--fixed .cmx-pagehero__inner,
.cmx-pagehero--style-framed.cmx-hero--fixed .cmx-pagehero__inner,
.cmx-front-hero--style-duo.cmx-hero--fixed .cmx-front-hero__inner,
.cmx-front-hero--style-framed.cmx-hero--fixed .cmx-front-hero__inner{height:100%;min-height:0}
.cmx-pagehero--style-duo.cmx-hero--fixed .cmx-pagehero__content,
.cmx-pagehero--style-framed.cmx-hero--fixed .cmx-pagehero__content,
.cmx-front-hero--style-duo.cmx-hero--fixed .cmx-front-hero__content,
.cmx-front-hero--style-framed.cmx-hero--fixed .cmx-front-hero__content,
.cmx-pagehero--style-cinematic.cmx-hero--fixed .cmx-pagehero__content,
.cmx-front-hero--style-cinematic.cmx-hero--fixed .cmx-front-hero__content,
.cmx-pagehero--style-centered.cmx-hero--fixed .cmx-pagehero__content,
.cmx-front-hero--style-centered.cmx-hero--fixed .cmx-front-hero__content{display:flex;min-width:0;min-height:0;max-height:100%;flex-direction:column;justify-content:center;overflow:hidden}
.cmx-pagehero--style-duo.cmx-hero--fixed .cmx-pagehero__media,
.cmx-pagehero--style-framed.cmx-hero--fixed .cmx-pagehero__media,
.cmx-front-hero--style-duo.cmx-hero--fixed .cmx-front-hero__media,
.cmx-front-hero--style-framed.cmx-hero--fixed .cmx-front-hero__media{height:100%;min-height:0;max-height:100%}

@media (max-width:980px){
  .cmx-pagehero--style-duo .cmx-pagehero__inner,.cmx-front-hero--style-duo .cmx-front-hero__inner,
  .cmx-pagehero--style-framed .cmx-pagehero__inner,.cmx-front-hero--style-framed .cmx-front-hero__inner{grid-template-columns:1fr}
  .cmx-pagehero--style-duo.cmx-hero--fixed,.cmx-pagehero--style-framed.cmx-hero--fixed,
  .cmx-front-hero--style-duo.cmx-hero--fixed,.cmx-front-hero--style-framed.cmx-hero--fixed,
  .cmx-pagehero--style-cinematic.cmx-hero--fixed,.cmx-front-hero--style-cinematic.cmx-hero--fixed,
  .cmx-pagehero--style-centered.cmx-hero--fixed,.cmx-front-hero--style-centered.cmx-hero--fixed{height:auto;min-height:var(--cmx-hero-fixed-height)}
  .cmx-pagehero--style-duo.cmx-hero--fixed .cmx-pagehero__media,.cmx-front-hero--style-duo.cmx-hero--fixed .cmx-front-hero__media,
  .cmx-pagehero--style-framed.cmx-hero--fixed .cmx-pagehero__media,.cmx-front-hero--style-framed.cmx-hero--fixed .cmx-front-hero__media{height:auto;max-height:none}
  .cmx-pagehero--style-duo .cmx-pagehero__media img,.cmx-front-hero--style-duo .cmx-front-hero__media img,
  .cmx-pagehero--style-framed .cmx-pagehero__media img,.cmx-front-hero--style-framed .cmx-front-hero__media img{height:auto;aspect-ratio:16/9}
  .cmx-pagehero--style-cinematic .cmx-pagehero__content,.cmx-front-hero--style-cinematic .cmx-front-hero__content{max-width:88%}
}

.cmx-navigation-layer--contained{max-width:var(--container-max);margin-inline:auto}.cmx-navigation-layer--full{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:var(--cmx-layer-full-padding);padding-right:var(--cmx-layer-full-padding);box-sizing:border-box}


/* CMX Flex 3.6.1 - production Hero refinements inspired by contemporary landing-page patterns. */
.cmx-pagehero,.cmx-front-hero{position:relative}
.cmx-pagehero__title,.cmx-front-hero__title{max-width:15ch;letter-spacing:-.035em;text-wrap:balance}
.cmx-pagehero__intro,.cmx-front-hero__text{max-width:58ch;text-wrap:pretty}
.cmx-pagehero .cmx-eyebrow,.cmx-front-hero .cmx-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}
.cmx-pagehero.cmx-hero--fixed,.cmx-front-hero.cmx-hero--fixed{padding-block:var(--cmx-hero-pad-y)}

/* 1. Cinematic Cover - edge-to-edge photography, left narrative rail, deep directional scrim. */
.cmx-pagehero--style-cinematic,.cmx-front-hero--style-cinematic{min-height:clamp(300px,42vw,620px);background:#10261f}
.cmx-pagehero--style-cinematic:before,.cmx-front-hero--style-cinematic:before{background:linear-gradient(90deg,rgba(5,16,13,.92) 0%,rgba(5,16,13,.74) 38%,rgba(5,16,13,.28) 72%,rgba(5,16,13,.08) 100%)}
.cmx-pagehero--style-cinematic:after,.cmx-front-hero--style-cinematic:after{content:"";position:absolute;inset:auto 0 0;z-index:1;height:42%;background:linear-gradient(0deg,rgba(0,0,0,.36),transparent);pointer-events:none}
.cmx-pagehero--style-cinematic .cmx-pagehero__content,.cmx-front-hero--style-cinematic .cmx-front-hero__content{max-width:min(760px,62%);padding-left:clamp(0px,1.5vw,24px)}
.cmx-pagehero--style-cinematic .cmx-pagehero__title,.cmx-front-hero--style-cinematic .cmx-front-hero__title{font-size:var(--cmx-hero-title-size);line-height:.96}
.cmx-pagehero--style-cinematic .cmx-pagehero__media img,.cmx-front-hero--style-cinematic .cmx-front-hero__media img{object-position:center 38%}

/* 2. Duo Media - restrained split layout with a dominant image panel instead of a narrow thumbnail. */
.cmx-pagehero--style-duo,.cmx-front-hero--style-duo{overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--cmx-hero-bg) 94%,#fff 6%),var(--cmx-hero-bg))}
.cmx-pagehero--style-duo .cmx-pagehero__inner,.cmx-front-hero--style-duo .cmx-front-hero__inner{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(34px,5vw,84px)}
.cmx-pagehero--style-duo .cmx-pagehero__content,.cmx-front-hero--style-duo .cmx-front-hero__content{padding-block:clamp(14px,2vw,30px)}
.cmx-pagehero--style-duo .cmx-pagehero__title,.cmx-front-hero--style-duo .cmx-front-hero__title{font-size:var(--cmx-hero-title-size);line-height:1}
.cmx-pagehero--style-duo .cmx-pagehero__media,.cmx-front-hero--style-duo .cmx-front-hero__media{height:clamp(250px,34vw,540px);border-radius:clamp(18px,2vw,32px);box-shadow:0 28px 80px rgba(0,0,0,.22);transform:rotate(.35deg)}
.cmx-pagehero--style-duo .cmx-pagehero__media img,.cmx-front-hero--style-duo .cmx-front-hero__media img{height:100%;object-fit:cover}
.cmx-pagehero--style-duo.cmx-hero--fixed .cmx-pagehero__media,.cmx-front-hero--style-duo.cmx-hero--fixed .cmx-front-hero__media{height:100%;min-height:190px;transform:none}

/* 3. Framed Editorial - magazine composition: fine border, tall image, no oversized inner capsule. */
.cmx-pagehero--style-framed,.cmx-front-hero--style-framed{background:linear-gradient(120deg,color-mix(in srgb,var(--cmx-hero-bg) 92%,#000 8%),var(--cmx-hero-bg))}
.cmx-pagehero--style-framed .cmx-pagehero__inner,.cmx-front-hero--style-framed .cmx-front-hero__inner{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(34px,5vw,76px);background:transparent;border:0;border-top:1px solid color-mix(in srgb,currentColor 24%,transparent);border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:0;box-shadow:none;padding-top:clamp(24px,3.2vw,44px);padding-bottom:clamp(24px,3.2vw,44px)}
.cmx-pagehero--style-framed .cmx-pagehero__content,.cmx-front-hero--style-framed .cmx-front-hero__content{position:relative;padding-left:clamp(18px,2.4vw,38px)}
.cmx-pagehero--style-framed .cmx-pagehero__content:before,.cmx-front-hero--style-framed .cmx-front-hero__content:before{content:"";position:absolute;left:0;top:.35em;width:4px;height:clamp(58px,9vw,118px);border-radius:999px;background:var(--color-accent)}
.cmx-pagehero--style-framed .cmx-pagehero__title,.cmx-front-hero--style-framed .cmx-front-hero__title{font-size:var(--cmx-hero-title-size);line-height:1}
.cmx-pagehero--style-framed .cmx-pagehero__media,.cmx-front-hero--style-framed .cmx-front-hero__media{height:clamp(260px,32vw,500px);border-radius:clamp(10px,1.2vw,18px);box-shadow:0 24px 70px rgba(0,0,0,.18)}
.cmx-pagehero--style-framed .cmx-pagehero__media img,.cmx-front-hero--style-framed .cmx-front-hero__media img{height:100%;object-fit:cover}
.cmx-pagehero--style-framed.cmx-hero--fixed .cmx-pagehero__media,.cmx-front-hero--style-framed.cmx-hero--fixed .cmx-front-hero__media{height:100%;min-height:190px}

/* 4. Centered Statement - immersive image spotlight with radial vignette and compact centered copy. */
.cmx-pagehero--style-centered,.cmx-front-hero--style-centered{min-height:clamp(320px,44vw,640px);background:#12251f}
.cmx-pagehero--style-centered:before,.cmx-front-hero--style-centered:before{background:radial-gradient(circle at 50% 42%,rgba(0,0,0,.16) 0%,rgba(0,0,0,.46) 46%,rgba(0,0,0,.78) 100%)}
.cmx-pagehero--style-centered:after,.cmx-front-hero--style-centered:after{content:"";position:absolute;inset:clamp(14px,2vw,28px);z-index:1;border:1px solid rgba(255,255,255,.24);border-radius:clamp(16px,2vw,28px);pointer-events:none}
.cmx-pagehero--style-centered .cmx-pagehero__content,.cmx-front-hero--style-centered .cmx-front-hero__content{max-width:900px;padding-inline:clamp(12px,4vw,56px)}
.cmx-pagehero--style-centered .cmx-pagehero__title,.cmx-front-hero--style-centered .cmx-front-hero__title{max-width:13ch;margin-inline:auto;font-size:var(--cmx-hero-title-size);line-height:.98}

/* 5. Clean Band - typography-first layout for pages without Hero media. */
.cmx-pagehero--style-clean,.cmx-front-hero--style-clean{overflow:hidden;background:linear-gradient(135deg,var(--cmx-hero-bg),color-mix(in srgb,var(--cmx-hero-bg) 86%,#fff 14%))}
.cmx-pagehero--style-clean:after,.cmx-front-hero--style-clean:after{content:"";position:absolute;right:-8vw;top:-16vw;width:clamp(240px,36vw,560px);aspect-ratio:1;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:50%;box-shadow:0 0 0 48px color-mix(in srgb,currentColor 4%,transparent),0 0 0 96px color-mix(in srgb,currentColor 3%,transparent);pointer-events:none}
.cmx-pagehero--style-clean .cmx-pagehero__content,.cmx-front-hero--style-clean .cmx-front-hero__content{position:relative;z-index:1;max-width:min(980px,82%)}
.cmx-pagehero--style-clean .cmx-pagehero__title,.cmx-front-hero--style-clean .cmx-front-hero__title{font-size:var(--cmx-hero-title-size);line-height:.98}

/* Image-overlay text protection is emitted dynamically only when the user enables Hero text protection. */

@media (max-width:980px){
  .cmx-pagehero--style-duo .cmx-pagehero__inner,.cmx-front-hero--style-duo .cmx-front-hero__inner,
  .cmx-pagehero--style-framed .cmx-pagehero__inner,.cmx-front-hero--style-framed .cmx-front-hero__inner{grid-template-columns:1fr;gap:26px}
  .cmx-pagehero--style-duo .cmx-pagehero__media,.cmx-front-hero--style-duo .cmx-front-hero__media,
  .cmx-pagehero--style-framed .cmx-pagehero__media,.cmx-front-hero--style-framed .cmx-front-hero__media{height:auto;min-height:0;aspect-ratio:16/9;transform:none}
  .cmx-pagehero--style-duo.cmx-hero--fixed,.cmx-front-hero--style-duo.cmx-hero--fixed,
  .cmx-pagehero--style-framed.cmx-hero--fixed,.cmx-front-hero--style-framed.cmx-hero--fixed{height:auto;min-height:var(--cmx-hero-fixed-height)}
  .cmx-pagehero--style-cinematic .cmx-pagehero__content,.cmx-front-hero--style-cinematic .cmx-front-hero__content{max-width:min(760px,82%)}
}
@media (max-width:680px){
  .cmx-pagehero,.cmx-front-hero{border-radius:min(var(--cmx-card-radius),18px)}
  .cmx-pagehero__title,.cmx-front-hero__title{max-width:none}
  .cmx-pagehero--style-cinematic,.cmx-front-hero--style-cinematic,.cmx-pagehero--style-centered,.cmx-front-hero--style-centered{min-height:360px}
  .cmx-pagehero--style-cinematic .cmx-pagehero__content,.cmx-front-hero--style-cinematic .cmx-front-hero__content{max-width:100%;padding-left:0}
  .cmx-pagehero--style-cinematic:before,.cmx-front-hero--style-cinematic:before{background:linear-gradient(0deg,rgba(5,16,13,.88) 0%,rgba(5,16,13,.62) 62%,rgba(5,16,13,.26) 100%)}
  .cmx-pagehero--style-framed .cmx-pagehero__content,.cmx-front-hero--style-framed .cmx-front-hero__content{padding-left:18px}
  .cmx-pagehero--style-clean .cmx-pagehero__content,.cmx-front-hero--style-clean .cmx-front-hero__content{max-width:100%}
}
/* Fixed-height editorial mode keeps the photograph visually substantial. */
.cmx-pagehero--style-framed.cmx-hero--fixed .cmx-pagehero__inner,
.cmx-front-hero--style-framed.cmx-hero--fixed .cmx-front-hero__inner{padding-top:14px;padding-bottom:14px}


/* CMX Flex 3.7.0 - CMX Full Width typography and page-control compatibility port. */
.cmx-pagehero.cmx-hero--fixed,.cmx-front-hero.cmx-hero--fixed{height:auto;min-height:var(--cmx-hero-fixed-height)}
.cmx-pagehero.cmx-hero--fixed .cmx-pagehero__inner,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__inner{height:auto;min-height:max(0px,calc(var(--cmx-hero-fixed-height) - (var(--cmx-hero-pad-y) * 2)))}
.cmx-pagehero.cmx-hero--fixed .cmx-pagehero__content,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__content{max-height:none;overflow:visible}
.cmx-pagehero.cmx-hero--fixed .cmx-pagehero__intro,.cmx-front-hero.cmx-hero--fixed .cmx-front-hero__text{display:block;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset}
.cmx-pagehero--style-cinematic .cmx-pagehero__title,.cmx-front-hero--style-cinematic .cmx-front-hero__title{max-width:17ch}
.cmx-layout-slot--after_header,.cmx-layout-slot--after_hero,.cmx-layout-slot--content_top,.cmx-layout-slot--content_bottom,.cmx-layout-slot--before_footer{margin-block:var(--cmx-section-gap)}

/* CMX Flex 3.7.1 - Hero title size is controlled only by the Customizer hero size variable; style presets no longer hard-code a competing size. */


/* CMX Flex 3.7.2 - Explorer/archive heroes join the shared controlled-height contract.
 * Preset min-heights can no longer mask the saved Explorer/archive height.
 * The requested value remains a minimum so long titles/descriptions are not clipped. */
.cmx-pagehero--archive.cmx-hero--fixed{height:auto;min-height:var(--cmx-hero-fixed-height)}
.cmx-pagehero--archive.cmx-hero--fixed .cmx-pagehero__content{max-height:none;overflow:visible}


/* CMX Flex 3.7.3 - parameter wiring stabilization. */
.cmx-content-shell :where(blockquote,pre,.wp-block-code,.wp-block-pullquote){background:var(--cmx-content-surface-alt)}
