/* ABH Editorial Pro — front-end styles for new section types
 * Designed to inherit the parent theme's editorial language (red word, 8x10
 * frames, chinagraph notes, big display type, asymmetric overlap).
 */

/* ---------- Video ---------- */
.abh-pro-video{position:relative;background:#000;color:#fff;overflow:hidden;min-height:64vh;display:grid}
.abh-pro-video.layout-hero{min-height:100svh}
.abh-pro-video.layout-full{min-height:84vh}
.abh-pro-video.layout-split{grid-template-columns:1.05fr .95fr;min-height:78vh}
@media(max-width:1000px){.abh-pro-video.layout-split{grid-template-columns:1fr}}
.abh-pro-video-media{position:relative;overflow:hidden}
.abh-pro-video-media iframe,.abh-pro-video-media video,.abh-pro-video-media img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.abh-pro-video-tint{position:absolute;inset:0;background:rgba(0,0,0,calc(var(--abh-video-overlay,0.45)));pointer-events:none}
.abh-pro-video.layout-hero .abh-pro-video-media,.abh-pro-video.layout-full .abh-pro-video-media{position:absolute;inset:0}
.abh-pro-video-copy{position:relative;z-index:2;padding:clamp(40px,6vw,90px) var(--pad);align-self:end;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.abh-pro-video.layout-split .abh-pro-video-copy{background:var(--abh-dark-bg,#050505);justify-content:center}
.abh-pro-video .label{color:var(--red)}
.abh-pro-video .copy{color:rgba(255,255,255,.78);max-width:780px}

/* ---------- Gallery ---------- */
.abh-pro-gallery{padding:clamp(56px,8vw,120px) var(--pad);background:var(--abh-bg,#fff)}
.abh-pro-gallery-head{margin-bottom:clamp(28px,4vw,56px)}
.abh-pro-gallery-grid{display:grid;gap:clamp(14px,1.8vw,26px)}
.abh-pro-gallery.layout-grid-3 .abh-pro-gallery-grid{grid-template-columns:repeat(3,1fr)}
.abh-pro-gallery.layout-grid-4 .abh-pro-gallery-grid{grid-template-columns:repeat(4,1fr)}
.abh-pro-gallery.layout-masonry .abh-pro-gallery-grid{column-count:3;column-gap:clamp(14px,1.8vw,26px);display:block}
.abh-pro-gallery.layout-masonry .abh-pro-gallery-item{break-inside:avoid;margin:0 0 clamp(14px,1.8vw,26px)}
.abh-pro-gallery.layout-mosaic .abh-pro-gallery-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:120px;grid-auto-flow:dense}
.abh-pro-gallery.layout-mosaic .abh-pro-gallery-item{grid-column:span 2;grid-row:span 2}
.abh-pro-gallery.layout-mosaic .abh-pro-gallery-item:nth-child(3n){grid-column:span 3;grid-row:span 3}
.abh-pro-gallery.layout-mosaic .abh-pro-gallery-item:nth-child(7n+2){grid-column:span 2;grid-row:span 3}
.abh-pro-gallery.layout-carousel .abh-pro-gallery-grid{grid-auto-flow:column;grid-auto-columns:min(78vw,640px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}
.abh-pro-gallery.layout-carousel .abh-pro-gallery-item{scroll-snap-align:center;height:72vh}
.abh-pro-gallery-item{position:relative;background:#111;cursor:zoom-in;overflow:hidden;border:1px solid var(--line,rgba(0,0,0,.15));transition:transform .35s cubic-bezier(.16,1,.3,1)}
.abh-pro-gallery-item:hover{transform:translateY(-2px)}
.abh-pro-gallery-item img{display:block;width:100%;height:100%;object-fit:cover}
.abh-pro-gallery.layout-masonry .abh-pro-gallery-item img{height:auto}
.abh-pro-gallery-item figcaption{position:absolute;left:14px;bottom:14px;background:#fff;color:#000;padding:6px 9px;font-size:10px}
.abh-pro-gallery-item figcaption b{color:var(--red)}
@media(max-width:760px){.abh-pro-gallery.layout-grid-3 .abh-pro-gallery-grid,.abh-pro-gallery.layout-grid-4 .abh-pro-gallery-grid{grid-template-columns:repeat(2,1fr)}.abh-pro-gallery.layout-masonry .abh-pro-gallery-grid{column-count:2}.abh-pro-gallery.layout-mosaic .abh-pro-gallery-grid{grid-template-columns:repeat(2,1fr)}.abh-pro-gallery.layout-mosaic .abh-pro-gallery-item,.abh-pro-gallery.layout-mosaic .abh-pro-gallery-item:nth-child(3n),.abh-pro-gallery.layout-mosaic .abh-pro-gallery-item:nth-child(7n+2){grid-column:auto;grid-row:span 2}}

/* lightbox */
.abh-pro-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:9000;display:none;align-items:center;justify-content:center;padding:30px 60px;cursor:default}
.abh-pro-lightbox.open{display:flex}
.abh-pro-lightbox-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;max-height:100%;gap:14px;cursor:zoom-out}
.abh-pro-lightbox img{max-width:100%;max-height:84vh;object-fit:contain;display:block}
.abh-pro-lightbox figcaption{color:rgba(255,255,255,.78);font-family:var(--abh-body-font,Arial);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;text-align:center}
.abh-pro-lightbox-close,.abh-pro-lightbox-nav{position:absolute;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);cursor:pointer;width:54px;height:54px;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;transition:background .2s}
.abh-pro-lightbox-close:hover,.abh-pro-lightbox-nav:hover{background:var(--red,#d7281f);border-color:var(--red,#d7281f)}
.abh-pro-lightbox-close{top:24px;right:24px;font-size:28px}
.abh-pro-lightbox-nav.prev{left:24px;top:50%;transform:translateY(-50%)}
.abh-pro-lightbox-nav.next{right:24px;top:50%;transform:translateY(-50%)}
.abh-pro-lightbox-counter{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.78);font-family:var(--abh-body-font,Arial);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:900;background:rgba(0,0,0,.4);padding:8px 14px;border:1px solid rgba(255,255,255,.16)}
@media(max-width:680px){.abh-pro-lightbox{padding:20px}.abh-pro-lightbox-nav{width:42px;height:42px}.abh-pro-lightbox-nav.prev{left:8px}.abh-pro-lightbox-nav.next{right:8px}.abh-pro-lightbox-close{top:14px;right:14px}}

/* ---------- Split ---------- */
.abh-pro-split{display:grid;align-items:stretch;background:var(--abh-bg,#fff);grid-template-columns:var(--abh-split-cols,1fr 1fr)}
.abh-pro-split.theme-dark{background:var(--abh-dark-bg,#050505);color:var(--abh-dark-text,#fff)}
.abh-pro-split.theme-dark .copy{color:rgba(255,255,255,.72)}
.abh-pro-split.ratio-50-50{grid-template-columns:1fr 1fr}
.abh-pro-split.ratio-60-40{grid-template-columns:1.5fr 1fr}
.abh-pro-split.ratio-40-60{grid-template-columns:1fr 1.5fr}
.abh-pro-split.ratio-70-30{grid-template-columns:2.33fr 1fr}
.abh-pro-split.ratio-30-70{grid-template-columns:1fr 2.33fr}
.abh-pro-split[style*="--abh-split-cols"]{grid-template-columns:var(--abh-split-cols,1fr 1fr)!important}
.abh-pro-split.reverse .abh-pro-split-media{order:2}
.abh-pro-split-media{position:relative;min-height:60vh;background:#111;overflow:hidden}
.abh-pro-split-media img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center}
.abh-pro-split-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,5vw,84px) var(--pad)}
@media(max-width:1000px){.abh-pro-split,.abh-pro-split.ratio-60-40,.abh-pro-split.ratio-40-60,.abh-pro-split.ratio-70-30,.abh-pro-split.ratio-30-70{grid-template-columns:1fr}.abh-pro-split.reverse .abh-pro-split-media{order:0}}

/* ---------- CTA ---------- */
.abh-pro-cta{position:relative;padding:clamp(70px,10vw,160px) var(--pad);overflow:hidden;background-size:cover;background-position:center}
.abh-pro-cta.theme-light{background-color:var(--abh-bg,#fff);color:#000}
.abh-pro-cta.theme-dark{background-color:var(--abh-dark-bg,#050505);color:#fff}
.abh-pro-cta.theme-accent{background-color:var(--red,#d7281f);color:#fff}
.abh-pro-cta.theme-accent .copy,.abh-pro-cta.theme-dark .copy{color:rgba(255,255,255,.85)}
.abh-pro-cta-tint{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.6),rgba(0,0,0,.2))}
.abh-pro-cta-inner{position:relative;z-index:2;max-width:1400px;margin:0 auto;text-align:center}
.abh-pro-cta .label{color:#fff;opacity:.85}
.abh-pro-cta.theme-light .label{color:var(--red)}
.abh-pro-cta .actions{justify-content:center}
.abh-pro-cta .cta{border-color:currentColor}
.abh-pro-cta.theme-accent .cta.primary{background:#fff;color:#000;border-color:#fff}

/* ---------- Press ---------- */
.abh-pro-press{padding:clamp(56px,7vw,110px) var(--pad);background:var(--abh-bg,#fff);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.abh-pro-press-head{margin-bottom:36px;text-align:center}
.abh-pro-press-head h3{margin:0;font-family:var(--abh-display-font);font-size:clamp(24px,2.6vw,36px);text-transform:uppercase;letter-spacing:-.04em}
.abh-pro-press-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:clamp(20px,3vw,50px);align-items:center;justify-items:center}
.abh-pro-press-item{display:flex;align-items:center;justify-content:center;height:80px;filter:grayscale(1);opacity:.66;transition:opacity .25s,filter .25s}
.abh-pro-press-item:hover{filter:none;opacity:1}
.abh-pro-press-item img{max-height:60px;max-width:160px;width:auto;height:auto;object-fit:contain}
.abh-pro-press-item span{font-family:var(--abh-display-font);text-transform:uppercase;letter-spacing:-.03em;font-size:18px}

/* ---------- Marquee ---------- */
.abh-pro-marquee{overflow:hidden;padding:clamp(18px,2.4vw,32px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.abh-pro-marquee.theme-dark{background:#050505;color:#fff;border-color:rgba(255,255,255,.16)}
.abh-pro-marquee.theme-accent{background:var(--red);color:#fff;border:0}
.abh-pro-marquee-track{display:flex;gap:36px;white-space:nowrap;font-family:var(--abh-display-font);font-size:clamp(34px,5vw,72px);letter-spacing:-.04em;text-transform:uppercase;animation:abh-pro-marq var(--abh-marquee-speed,30s) linear infinite}
.abh-pro-marquee-track span{flex-shrink:0}
@keyframes abh-pro-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Inquiry ---------- */
.abh-pro-inquiry{padding:clamp(70px,9vw,140px) var(--pad);background:var(--abh-bg,#fff)}
.abh-pro-inquiry-head{max-width:1100px;margin-bottom:clamp(28px,4vw,56px)}
.abh-pro-inquiry-form{max-width:880px}
.abh-pro-inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.abh-pro-inquiry-grid .abh-pro-wide{grid-column:1/-1}
.abh-pro-inquiry-grid label{display:flex;flex-direction:column;gap:6px;font-family:var(--abh-body-font);font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:900}
.abh-pro-inquiry-grid input,.abh-pro-inquiry-grid textarea,.abh-pro-inquiry-grid select{font-family:var(--abh-body-font);font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;padding:14px 16px;border:1px solid var(--line);background:#fff;color:#000;border-radius:0}
.abh-pro-inquiry-grid input:focus,.abh-pro-inquiry-grid textarea:focus,.abh-pro-inquiry-grid select:focus{outline:2px solid var(--red);outline-offset:-2px}
.abh-pro-inquiry-form .cta{margin-top:18px;cursor:pointer;border:1px solid #000;background:#000;color:#fff;padding:0 28px;min-height:60px}
.abh-pro-inquiry-form .cta:hover{background:var(--red);border-color:var(--red)}
.abh-pro-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.abh-pro-inquiry-status{margin-top:18px;font-weight:800}
.abh-pro-inquiry-status.ok{color:var(--red)}
@media(max-width:760px){.abh-pro-inquiry-grid{grid-template-columns:1fr}}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  .abh-pro-marquee-track{animation:none}
  .abh-pro-gallery-item{transition:none}
}

/* ---------- Vertical image credit (discreet) ---------- */
.abh-pro-credit{
  position:absolute;right:10px;top:50%;
  transform:rotate(-90deg);transform-origin:right top;
  margin-right:0;margin-top:-10px;
  font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:#fff;mix-blend-mode:difference;opacity:.72;pointer-events:none;
  white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.25);z-index:6;
}
.abh-pro-credit-host{position:relative}
@media(max-width:640px){.abh-pro-credit{font-size:8px;right:6px}}

/* ---------- Editorial poster section ---------- */
.abh-pro-poster{display:grid;grid-template-columns:1fr 1fr;min-height:100svh;position:relative}
.abh-pro-poster.side-left .abh-pro-poster-image{order:0}
.abh-pro-poster.side-left .abh-pro-poster-copy{order:1}
.abh-pro-poster.side-right .abh-pro-poster-image{order:1}
.abh-pro-poster.side-right .abh-pro-poster-copy{order:0}
@media(max-width:900px){
  .abh-pro-poster{grid-template-columns:1fr;min-height:auto}
  .abh-pro-poster .abh-pro-poster-image{aspect-ratio:3/4;min-height:60vh}
  .abh-pro-poster.side-left .abh-pro-poster-image,
  .abh-pro-poster.side-right .abh-pro-poster-image{order:1}
  .abh-pro-poster.side-left .abh-pro-poster-copy,
  .abh-pro-poster.side-right .abh-pro-poster-copy{order:0}
}

.abh-pro-poster-image{position:relative;background:#0a0908;background-size:cover;background-position:center;overflow:hidden}
.abh-pro-poster-copy{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,80px);position:relative;background:#fff;color:#050505;gap:30px;min-height:100%}

.abh-pro-poster.theme-dark .abh-pro-poster-copy{background:#0a0908;color:#f4f1ea}
.abh-pro-poster.theme-red .abh-pro-poster-copy{background:#d7281f;color:#fff}
.abh-pro-poster.theme-bone .abh-pro-poster-copy{background:#efeae3;color:#1a1a1a}
.abh-pro-poster.theme-noir .abh-pro-poster-copy{background:#000;color:#fff}

/* Masthead */
.abh-pro-poster-masthead{display:flex;justify-content:space-between;align-items:center;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:900;border-top:1px solid currentColor;border-bottom:1px solid currentColor;padding:10px 0;opacity:.9}
.abh-pro-poster-masthead .ml{justify-self:start}
.abh-pro-poster-masthead .mc{flex:1;text-align:center;font-weight:600;letter-spacing:.18em}
.abh-pro-poster-masthead .mr{justify-self:end}

/* Label */
.abh-pro-poster-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:900;color:#d7281f}
.abh-pro-poster.theme-red .abh-pro-poster-label,.abh-pro-poster.theme-noir .abh-pro-poster-label,.abh-pro-poster.theme-dark .abh-pro-poster-label{color:#fff;opacity:.78}

/* Headline – stacked, expressive */
.abh-pro-poster-headline{margin:0;display:flex;flex-direction:column;gap:0;font-weight:1000;letter-spacing:-.05em;text-transform:uppercase;line-height:.85}
.abh-pro-poster.treat-display .abh-pro-poster-headline{font-family:'Archivo Black','Arial Black',Arial,sans-serif;font-size:clamp(56px,9vw,180px)}
.abh-pro-poster.treat-condensed .abh-pro-poster-headline{font-family:'Bebas Neue','Anton','Arial Narrow',sans-serif;font-size:clamp(72px,12vw,220px);letter-spacing:-.02em}
.abh-pro-poster.treat-serif .abh-pro-poster-headline{font-family:'Playfair Display','Times New Roman',serif;font-style:italic;font-weight:900;font-size:clamp(56px,9vw,170px);letter-spacing:-.02em}
.abh-pro-poster.treat-mono .abh-pro-poster-headline{font-family:'JetBrains Mono','Courier New',monospace;font-size:clamp(40px,6vw,110px);font-weight:900;letter-spacing:-.05em}

.abh-pro-poster-headline .line{display:block;position:relative}
.abh-pro-poster-headline .line + .line{margin-top:-.06em}

/* Inline treatments */
.abh-pro-poster-headline em.r{font-style:normal;color:#d7281f}
.abh-pro-poster.theme-red .abh-pro-poster-headline em.r,
.abh-pro-poster.theme-noir .abh-pro-poster-headline em.r,
.abh-pro-poster.theme-dark .abh-pro-poster-headline em.r{color:#f4f1ea}
.abh-pro-poster-headline em.o{font-style:normal;color:transparent;-webkit-text-stroke:2px currentColor}
@supports not (-webkit-text-stroke:2px currentColor){.abh-pro-poster-headline em.o{color:transparent}}

/* Subhead */
.abh-pro-poster-subhead{margin:0;font-size:clamp(15px,1.3vw,20px);line-height:1.4;font-weight:600;max-width:600px}

/* Body small print */
.abh-pro-poster-body{font-size:13px;line-height:1.55;font-weight:500;max-width:560px;opacity:.84;column-count:1}
@media(min-width:1300px){.abh-pro-poster-body{column-count:2;column-gap:22px;max-width:none}}

/* Footer line */
.abh-pro-poster-footer{display:flex;justify-content:space-between;align-items:flex-end;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;border-top:1px solid currentColor;padding-top:14px;opacity:.92;margin-top:auto}
.abh-pro-poster-footer .ino{font-family:inherit;font-weight:900;font-size:14px}

/* ---------- Editorial page — secondary headline + extra blocks ---------- */
.abh-pro-poster-headline-secondary{font-size:.55em!important;opacity:.92;margin-top:-0.04em}
.abh-pro-poster-headline-secondary .line + .line{margin-top:-.04em}
.abh-pro-poster-block{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:1px solid currentColor}
.abh-pro-poster-block + .abh-pro-poster-block{margin-top:0}
.abh-pro-poster-block-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:900;color:#d7281f;display:inline-block}
.abh-pro-poster.theme-red .abh-pro-poster-block-label,.abh-pro-poster.theme-noir .abh-pro-poster-block-label,.abh-pro-poster.theme-dark .abh-pro-poster-block-label{color:#fff;opacity:.78}
.abh-pro-poster-block-heading{margin:0;font-family:inherit;font-weight:1000;letter-spacing:-.04em;text-transform:uppercase;line-height:.92;font-size:clamp(24px,2.6vw,42px)}
.abh-pro-poster-block-heading .line{display:block}
.abh-pro-poster-block-heading em.r{font-style:normal;color:#d7281f}
.abh-pro-poster.theme-red .abh-pro-poster-block-heading em.r,
.abh-pro-poster.theme-noir .abh-pro-poster-block-heading em.r,
.abh-pro-poster.theme-dark .abh-pro-poster-block-heading em.r{color:#f4f1ea}
.abh-pro-poster-block-copy{font-size:14px;line-height:1.55;font-weight:500;max-width:620px;opacity:.86}

/* ---------- Subtle UI polish across plugin sections ---------- */
.abh-pro-press-item img,.abh-pro-press-item span{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.abh-pro-press-item:hover img,.abh-pro-press-item:hover span{transform:translateY(-2px)}
.abh-pro-cta .cta{transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.abh-pro-cta .cta:hover{transform:translateY(-1px)}
.abh-pro-gallery-item{will-change:transform}
.abh-pro-gallery-item img{transition:transform .6s cubic-bezier(.16,1,.3,1)}
.abh-pro-gallery-item:hover img{transform:scale(1.03)}
.abh-pro-poster-headline .line,.abh-pro-poster-headline-secondary .line{will-change:transform,opacity}
@media(prefers-reduced-motion:reduce){
  .abh-pro-press-item img,.abh-pro-press-item span,.abh-pro-cta .cta,.abh-pro-gallery-item img{transition:none!important;transform:none!important}
}



/* v1.1.61, robust Split image/text ratio handling. The backend value is IMAGE / TEXT. */
.abh-pro-split{
  display:flex!important;
  align-items:stretch!important;
  grid-template-columns:none!important;
  min-height:100svh;
}
.abh-pro-split .abh-pro-split-media{
  flex:0 0 var(--abh-img-pct,50%)!important;
  width:var(--abh-img-pct,50%)!important;
  min-width:0;
  min-height:100svh;
}
.abh-pro-split .abh-pro-split-copy{
  flex:0 0 var(--abh-txt-pct,50%)!important;
  width:var(--abh-txt-pct,50%)!important;
  min-width:0;
}
.abh-pro-split.reverse .abh-pro-split-media{order:2!important;}
.abh-pro-split.reverse .abh-pro-split-copy{order:1!important;}
@media(max-width:1000px){
  .abh-pro-split{display:flex!important;flex-direction:column!important;min-height:auto;}
  .abh-pro-split .abh-pro-split-media,
  .abh-pro-split .abh-pro-split-copy{flex:0 0 auto!important;width:100%!important;}
  .abh-pro-split .abh-pro-split-media{min-height:58svh;}
  .abh-pro-split.reverse .abh-pro-split-media{order:0!important;}
  .abh-pro-split.reverse .abh-pro-split-copy{order:1!important;}
}

/* v1.1.64, Split image/text copy impact. Keeps the image ratio correct, but lets the heading stay editorial and bigger.
   The normal section Heading scale setting now works here via --abh-split-heading-scale. */
.abh-pro-split .abh-pro-split-copy{
  box-sizing:border-box!important;
  overflow:hidden!important;
  padding-left:clamp(24px,3.2vw,62px)!important;
  padding-right:clamp(24px,3.2vw,62px)!important;
}
.abh-pro-split .abh-pro-split-copy .big{
  max-width:100%!important;
  width:100%!important;
  box-sizing:border-box!important;
  font-size:calc(clamp(54px,6.4vw,118px) * var(--abh-split-heading-scale,1))!important;
  line-height:.82!important;
  letter-spacing:-.075em!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
  margin:0!important;
}
.abh-pro-split[style*="--abh-txt-pct:30"] .abh-pro-split-copy{
  padding-left:clamp(22px,2.8vw,54px)!important;
  padding-right:clamp(22px,2.8vw,54px)!important;
}
.abh-pro-split[style*="--abh-txt-pct:30"] .abh-pro-split-copy .big,
.abh-pro-split[style*="--abh-txt-pct:30%"] .abh-pro-split-copy .big{
  font-size:calc(clamp(46px,5.15vw,96px) * var(--abh-split-heading-scale,1))!important;
  line-height:.84!important;
}
.abh-pro-split .abh-pro-split-copy .copy{
  max-width:100%!important;
  overflow-wrap:break-word!important;
}
@media(max-width:1000px){
  .abh-pro-split .abh-pro-split-copy .big{
    font-size:calc(clamp(46px,15vw,86px) * var(--abh-split-heading-scale,1))!important;
    line-height:.86!important;
  }
}


/* v210, responsive dynamic scaling and image stability across smaller laptops */
:root{--abh-dynamic-screen:100svh;--abh-dynamic-pad:clamp(24px,4.2vw,72px)}
@supports(height:100dvh){:root{--abh-dynamic-screen:100dvh}}
.abh-pro-page img,.abh-pro-section img,.abh-backstage-section img{max-width:100%;}
.abh-pro-poster,.abh-pro-split,.abh-backstage-section{min-height:var(--abh-dynamic-screen)}
@media(min-width:901px){
  .abh-pro-poster,.abh-pro-split,.abh-backstage-section{height:var(--abh-dynamic-screen)}
  .abh-pro-poster-copy{padding:var(--abh-dynamic-pad)}
}
@media(min-width:901px) and (max-height:820px){
  :root{--abh-dynamic-pad:clamp(22px,3.2vw,54px)}
  .abh-pro-poster-copy{gap:clamp(14px,2.1vh,24px)}
  .abh-pro-poster-masthead{padding:7px 0;font-size:10px}
  .abh-pro-poster-footer{padding-top:10px;font-size:10px}
  .abh-pro-poster-body,.abh-pro-poster-block-copy{font-size:12px;line-height:1.42}
  .abh-pro-poster-subhead{font-size:clamp(13px,1.05vw,17px)}
  .abh-pro-poster.treat-display .abh-pro-poster-headline{font-size:clamp(48px,8vw,132px)}
  .abh-pro-poster.treat-condensed .abh-pro-poster-headline{font-size:clamp(58px,10.4vw,158px)}
  .abh-pro-poster.treat-serif .abh-pro-poster-headline{font-size:clamp(48px,7.8vw,126px)}
  .abh-pro-poster.treat-mono .abh-pro-poster-headline{font-size:clamp(36px,5.4vw,88px)}
  .abh-pro-split .abh-pro-split-copy{padding-top:clamp(22px,3.8vh,48px)!important;padding-bottom:clamp(22px,3.8vh,48px)!important}
  .abh-pro-split .abh-pro-split-copy .big{font-size:calc(clamp(44px,5.4vw,94px) * var(--abh-split-heading-scale,1))!important}
  .abh-backstage-section .abh-bs-copy{padding:clamp(26px,3.8vw,52px)!important}
}
@media(min-width:901px) and (max-width:1280px){
  .abh-pro-poster.treat-display .abh-pro-poster-headline{font-size:clamp(50px,8.5vw,142px)}
  .abh-pro-poster.treat-condensed .abh-pro-poster-headline{font-size:clamp(62px,10.8vw,170px)}
  .abh-pro-split .abh-pro-split-copy .big{font-size:calc(clamp(48px,5.8vw,100px) * var(--abh-split-heading-scale,1))!important}
}
@media(max-width:900px){
  .abh-pro-poster,.abh-pro-split,.abh-backstage-section{height:auto!important;min-height:auto!important}
  .abh-pro-poster-copy{padding:clamp(24px,7vw,52px)}
}
@media(prefers-reduced-motion:reduce){
  .abh-pro-poster-headline .line,.abh-pro-poster-headline-secondary .line{will-change:auto!important}
}

/* v228 RWD orientation safety, built from stable v225.
   Targeted only at responsive behaviour, image containment and rotated mobile/iPad logic. */
:root{
  --abh-visual-vh:100svh;
  --abh-rwd-pad:clamp(18px,4vw,72px);
}
@supports(height:100dvh){:root{--abh-visual-vh:100dvh}}

/* Flexible images, keep intrinsic ratio unless a section explicitly crops. */
img{max-width:100%;}
.abh-pro-page img,
.abh-pro-section img,
.abh-backstage-section img,
.frames img,
.reportage-stop img,
.reportage-stack img,
.overlap-wrap img{
  image-rendering:auto;
}

/* Ensure key legacy sections cannot disappear on mobile because of inherited desktop transforms. */
@media (max-width:780px){
  .reportage-stop,
  .reportage-stack,
  .overlap-wrap,
  .frames,
  .abh-pro-poster,
  .abh-pro-split,
  .abh-backstage-section{
    visibility:visible!important;
    opacity:1!important;
  }
}

/* Mobile and iPad landscape: desktop-lite, not portrait-mobile stack. */
@media (orientation:landscape) and (max-height:560px) and (max-width:1180px){
  html,body{overflow-x:hidden!important;}
  .abh-pro-page,.abh-page,main{max-width:100vw!important;overflow-x:hidden!important;}

  /* Keep one-screen editorial sections stable in rotated Safari. */
  .abh-pro-poster,
  .abh-backstage-section{
    min-height:var(--abh-visual-vh)!important;
    height:var(--abh-visual-vh)!important;
    max-height:none!important;
  }

  /* Poster sections: keep a split where possible, with smaller type and contained media. */
  .abh-pro-poster{
    display:grid!important;
    grid-template-columns:minmax(0,52%) minmax(0,48%)!important;
    overflow:hidden!important;
  }
  .abh-pro-poster.side-left .abh-pro-poster-image{order:0!important;}
  .abh-pro-poster.side-left .abh-pro-poster-copy{order:1!important;}
  .abh-pro-poster.side-right .abh-pro-poster-image{order:1!important;}
  .abh-pro-poster.side-right .abh-pro-poster-copy{order:0!important;}
  .abh-pro-poster .abh-pro-poster-image{
    min-height:0!important;
    height:100%!important;
    aspect-ratio:auto!important;
  }
  .abh-pro-poster-copy{
    min-height:0!important;
    height:100%!important;
    padding:clamp(18px,3.4vw,42px)!important;
    gap:clamp(10px,2vh,18px)!important;
    overflow:hidden!important;
  }
  .abh-pro-poster.treat-display .abh-pro-poster-headline{font-size:clamp(40px,7.4vw,104px)!important;line-height:.84!important;}
  .abh-pro-poster.treat-condensed .abh-pro-poster-headline{font-size:clamp(48px,9vw,124px)!important;line-height:.82!important;}
  .abh-pro-poster.treat-serif .abh-pro-poster-headline{font-size:clamp(40px,7vw,98px)!important;}
  .abh-pro-poster-body,.abh-pro-poster-block-copy{font-size:clamp(10px,1.8vw,12px)!important;line-height:1.35!important;}

  /* 8x10 frame sections: keep a horizontal row in landscape, not a vertical mobile stack. */
  .frames{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:clamp(12px,2.4vw,22px)!important;
    min-height:var(--abh-visual-vh)!important;
    height:var(--abh-visual-vh)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    padding:clamp(16px,3vw,34px)!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .frames .frame{
    flex:0 0 clamp(190px,27vw,330px)!important;
    width:clamp(190px,27vw,330px)!important;
    min-width:clamp(190px,27vw,330px)!important;
    height:auto!important;
    margin:0!important;
    scroll-snap-align:center!important;
  }
  .frames .frame-img{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:3 / 4!important;
  }
  .frames .frame-img>img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  /* Reportage / Access sections: keep visible and fit into a desktop-lite split. */
  .reportage-stop,
  .reportage-stack{
    display:grid!important;
    min-height:var(--abh-visual-vh)!important;
    height:var(--abh-visual-vh)!important;
    overflow:hidden!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .reportage-stop .music-grid,
  .abh-music-performance-section .music-grid,
  .reportage-stack-images{
    max-height:calc(var(--abh-visual-vh) - 32px)!important;
    overflow:hidden!important;
  }

  /* Backstage entry keeps its approved split in rotated phones/tablets. */
  .abh-backstage-section{
    grid-template-columns:minmax(0,60%) minmax(260px,40%)!important;
  }
  .abh-backstage-section .abh-bs-copy{
    min-height:0!important;
    height:100%!important;
    padding:clamp(20px,3.6vw,46px)!important;
  }
  .abh-backstage-section .abh-bs-headline{
    font-size:clamp(58px,9.5vw,118px)!important;
    line-height:.82!important;
  }
  .abh-backstage-section .abh-bs-subhead{font-size:clamp(26px,4vw,48px)!important;}
  .abh-backstage-section .abh-bs-body{font-size:clamp(11px,1.8vw,14px)!important;line-height:1.35!important;}
  .abh-backstage-section .abh-bs-hero{
    min-height:0!important;
    height:100%!important;
    border-top:0!important;
    border-left:1px solid rgba(255,255,255,.14)!important;
  }

  /* Backstage stage two and three stay desktop-like in landscape orientation. */
  .abh-backstage-section .abh-bs-gallery-wall{
    column-count:4!important;
    column-gap:clamp(16px,2.6vw,32px)!important;
    padding:clamp(34px,5vw,70px) clamp(30px,5vw,72px)!important;
  }
  .abh-backstage-section .abh-bs-viewer{
    grid-template-columns:60% 40%!important;
    grid-template-rows:none!important;
  }
  .abh-backstage-section .abh-bs-viewer-wall{
    display:block!important;
    column-count:3!important;
    column-gap:16px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-right:1px solid rgba(255,255,255,.14)!important;
    border-bottom:0!important;
    padding:18px!important;
  }
  .abh-backstage-section .abh-bs-viewer-thumb{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    display:block!important;
    margin:0 0 14px!important;
    break-inside:avoid!important;
  }
  .abh-backstage-section .abh-bs-viewer-thumb img{
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain!important;
  }
  .abh-backstage-section .abh-bs-selected-stage{padding:clamp(14px,2vw,26px)!important;}
}

/* True portrait mobile keeps a simple vertical experience, but with safer images. */
@media (orientation:portrait) and (max-width:780px){
  .abh-backstage-section .abh-bs-gallery-wall{column-count:2!important;column-gap:14px!important;}
  .abh-backstage-section .abh-bs-gallery-frame img{width:100%!important;height:auto!important;object-fit:contain!important;}
  .abh-backstage-section .abh-bs-viewer-thumb img{height:auto!important;width:100%!important;object-fit:contain!important;}
}

/* v229 RWD refined orientation pass, layered after v228.
   Uses orientation-aware, section-specific overrides only. Desktop remains unchanged. */
:root{--abh-v229-vh:100svh;--abh-v229-header:0px;}
@supports(height:100dvh){:root{--abh-v229-vh:100dvh;}}
html.abh-v229-landscape,body.abh-v229-landscape{overflow-x:hidden!important;}

/* Keep all images visible and proportionate unless their section explicitly asks for cover. */
.abh-v229-landscape img{max-width:100%;}

/* iPhone / small tablet landscape: keep editorial desktop logic, but reduce scale and prevent overlaps. */
@media (orientation:landscape) and (max-height:650px) and (max-width:1280px){
  html,body{overflow-x:hidden!important;}
  .site,.site-main,main,.entry-content{max-width:100vw!important;overflow-x:hidden!important;}

  /* 8x10 frame sections stay as a single horizontal strip in rotated phones. */
  body.abh-v229-landscape .frames,
  html.abh-v229-landscape .frames{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:clamp(12px,2.2vw,22px)!important;
    height:var(--abh-v229-vh)!important;
    min-height:var(--abh-v229-vh)!important;
    max-height:var(--abh-v229-vh)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:clamp(14px,2.2vw,26px)!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.abh-v229-landscape .frames .frame,
  html.abh-v229-landscape .frames .frame{
    flex:0 0 clamp(160px,24vw,280px)!important;
    width:clamp(160px,24vw,280px)!important;
    min-width:clamp(160px,24vw,280px)!important;
    height:auto!important;
    margin:0!important;
    scroll-snap-align:center!important;
  }
  body.abh-v229-landscape .frames .frame-img,
  html.abh-v229-landscape .frames .frame-img{aspect-ratio:3/4!important;height:auto!important;min-height:0!important;}
  body.abh-v229-landscape .frames .frame-img img,
  html.abh-v229-landscape .frames .frame-img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}

  /* Poster/split sections: desktop-lite split without cropped type. */
  body.abh-v229-landscape .abh-pro-poster,
  html.abh-v229-landscape .abh-pro-poster{
    height:var(--abh-v229-vh)!important;
    min-height:var(--abh-v229-vh)!important;
    max-height:var(--abh-v229-vh)!important;
    display:grid!important;
    grid-template-columns:minmax(0,52%) minmax(0,48%)!important;
    overflow:hidden!important;
  }
  body.abh-v229-landscape .abh-pro-poster.side-left .abh-pro-poster-image{order:0!important;}
  body.abh-v229-landscape .abh-pro-poster.side-left .abh-pro-poster-copy{order:1!important;}
  body.abh-v229-landscape .abh-pro-poster.side-right .abh-pro-poster-image{order:1!important;}
  body.abh-v229-landscape .abh-pro-poster.side-right .abh-pro-poster-copy{order:0!important;}
  body.abh-v229-landscape .abh-pro-poster-image,
  html.abh-v229-landscape .abh-pro-poster-image{height:100%!important;min-height:0!important;aspect-ratio:auto!important;overflow:hidden!important;}
  body.abh-v229-landscape .abh-pro-poster-copy,
  html.abh-v229-landscape .abh-pro-poster-copy{height:100%!important;min-height:0!important;padding:clamp(16px,3.2vw,38px)!important;gap:clamp(8px,1.9vh,18px)!important;overflow:hidden!important;}
  body.abh-v229-landscape .abh-pro-poster-headline,
  html.abh-v229-landscape .abh-pro-poster-headline{font-size:clamp(38px,7.2vw,96px)!important;line-height:.84!important;letter-spacing:-.06em!important;}
  body.abh-v229-landscape .abh-pro-poster.treat-condensed .abh-pro-poster-headline,
  html.abh-v229-landscape .abh-pro-poster.treat-condensed .abh-pro-poster-headline{font-size:clamp(42px,8.2vw,112px)!important;line-height:.82!important;}
  body.abh-v229-landscape .abh-pro-poster-body,
  body.abh-v229-landscape .abh-pro-poster-block-copy,
  html.abh-v229-landscape .abh-pro-poster-body,
  html.abh-v229-landscape .abh-pro-poster-block-copy{font-size:clamp(10px,1.7vw,12px)!important;line-height:1.32!important;max-width:100%!important;}

  /* Music / Performance: preserve the desktop card logic on rotated phones, but stop text and image fighting. */
  body.abh-v229-landscape .abh-music-performance-section.reportage-stop,
  body.abh-v229-landscape .reportage-stop:has(.music-grid),
  html.abh-v229-landscape .abh-music-performance-section.reportage-stop,
  html.abh-v229-landscape .reportage-stop:has(.music-grid){
    height:var(--abh-v229-vh)!important;
    min-height:var(--abh-v229-vh)!important;
    max-height:var(--abh-v229-vh)!important;
    display:grid!important;
    grid-template-columns:minmax(0,55%) minmax(260px,45%)!important;
    align-items:center!important;
    padding:clamp(16px,2.8vw,34px)!important;
    overflow:hidden!important;
    background:#f7f7f5!important;
  }
  body.abh-v229-landscape .abh-music-performance-section .reportage-title,
  body.abh-v229-landscape .reportage-stop:has(.music-grid) .reportage-title,
  body.abh-v229-landscape .abh-music-performance-section .reportage-copy,
  body.abh-v229-landscape .reportage-stop:has(.music-grid) .reportage-copy,
  body.abh-v229-landscape .abh-music-performance-section .reportage-stack-copy,
  body.abh-v229-landscape .reportage-stop:has(.music-grid) .reportage-stack-copy,
  html.abh-v229-landscape .abh-music-performance-section .reportage-title,
  html.abh-v229-landscape .reportage-stop:has(.music-grid) .reportage-title,
  html.abh-v229-landscape .abh-music-performance-section .reportage-copy,
  html.abh-v229-landscape .reportage-stop:has(.music-grid) .reportage-copy,
  html.abh-v229-landscape .abh-music-performance-section .reportage-stack-copy,
  html.abh-v229-landscape .reportage-stop:has(.music-grid) .reportage-stack-copy{
    grid-column:1!important;
    max-width:100%!important;
    width:100%!important;
    padding:0 clamp(12px,2vw,26px) 0 0!important;
    position:relative!important;
    z-index:4!important;
  }
  body.abh-v229-landscape .abh-music-performance-section h2,
  body.abh-v229-landscape .reportage-stop:has(.music-grid) h2,
  html.abh-v229-landscape .abh-music-performance-section h2,
  html.abh-v229-landscape .reportage-stop:has(.music-grid) h2{
    font-size:clamp(38px,6.6vw,84px)!important;
    line-height:.84!important;
    max-width:100%!important;
    margin:0 0 clamp(8px,1.8vh,16px)!important;
    position:relative!important;
    z-index:4!important;
  }
  body.abh-v229-landscape .abh-music-performance-section .reportage-copy p,
  body.abh-v229-landscape .reportage-stop:has(.music-grid) .reportage-copy p,
  body.abh-v229-landscape .abh-music-performance-section .reportage-stack-copy p,
  body.abh-v229-landscape .reportage-stop:has(.music-grid) .reportage-stack-copy p,
  html.abh-v229-landscape .abh-music-performance-section .reportage-copy p,
  html.abh-v229-landscape .reportage-stop:has(.music-grid) .reportage-copy p,
  html.abh-v229-landscape .abh-music-performance-section .reportage-stack-copy p,
  html.abh-v229-landscape .reportage-stop:has(.music-grid) .reportage-stack-copy p{
    font-size:clamp(10px,1.55vw,12px)!important;
    line-height:1.32!important;
    max-width:52vw!important;
  }
  body.abh-v229-landscape .abh-music-smart-v189,
  html.abh-v229-landscape .abh-music-smart-v189{
    position:relative!important;
    grid-column:2!important;
    grid-row:1 / span 3!important;
    top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;
    transform:none!important;
    width:min(41vw,520px)!important;
    height:calc(var(--abh-v229-vh) - clamp(32px,5vw,64px))!important;
    min-height:0!important;
    max-height:calc(var(--abh-v229-vh) - clamp(32px,5vw,64px))!important;
    margin:0 0 0 auto!important;
    display:block!important;
    z-index:8!important;
  }
  body.abh-v229-landscape .abh-music-smart-v189.is-landscape,
  html.abh-v229-landscape .abh-music-smart-v189.is-landscape{width:min(48vw,620px)!important;height:calc(var(--abh-v229-vh) - clamp(32px,5vw,64px))!important;}

  /* Access / Reportage sections: force visibility and use a safer desktop-lite composition. */
  body.abh-v229-landscape .reportage-stop,
  body.abh-v229-landscape .reportage-stack,
  html.abh-v229-landscape .reportage-stop,
  html.abh-v229-landscape .reportage-stack{visibility:visible!important;opacity:1!important;min-height:var(--abh-v229-vh)!important;max-height:none!important;overflow:hidden!important;}
  body.abh-v229-landscape .reportage-stop:not(:has(.music-grid)),
  html.abh-v229-landscape .reportage-stop:not(:has(.music-grid)){
    display:grid!important;
    grid-template-columns:minmax(0,52%) minmax(0,48%)!important;
    align-items:center!important;
    height:var(--abh-v229-vh)!important;
    padding:clamp(16px,3vw,42px)!important;
  }

  /* Backstage keeps approved split and media browser in landscape. */
  body.abh-v229-landscape .abh-backstage-section,
  html.abh-v229-landscape .abh-backstage-section{height:var(--abh-v229-vh)!important;min-height:var(--abh-v229-vh)!important;grid-template-columns:minmax(0,60%) minmax(280px,40%)!important;}
  body.abh-v229-landscape .abh-backstage-section .abh-bs-copy,
  html.abh-v229-landscape .abh-backstage-section .abh-bs-copy{height:100%!important;min-height:0!important;padding:clamp(20px,3.4vw,46px)!important;}
  body.abh-v229-landscape .abh-backstage-section .abh-bs-hero,
  html.abh-v229-landscape .abh-backstage-section .abh-bs-hero{height:100%!important;min-height:0!important;}
  body.abh-v229-landscape .abh-backstage-section .abh-bs-gallery-wall,
  html.abh-v229-landscape .abh-backstage-section .abh-bs-gallery-wall{column-count:4!important;column-gap:clamp(18px,2.6vw,34px)!important;padding:clamp(36px,5vw,70px)!important;}
}

/* iPad/tablet landscape gets a fuller desktop treatment. */
@media (orientation:landscape) and (min-height:651px) and (max-width:1366px){
  body.abh-v229-landscape .abh-pro-poster,
  html.abh-v229-landscape .abh-pro-poster{display:grid!important;grid-template-columns:minmax(0,52%) minmax(0,48%)!important;}
  body.abh-v229-landscape .frames,
  html.abh-v229-landscape .frames{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:clamp(18px,2.2vw,30px)!important;}
}

