/* Product photography and galleries within the original AP editorial layout. */
.product-image img,.gallery-main img{object-fit:contain}
.gallery,.product-information{min-width:0}
.gallery-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px;border-bottom:1px solid var(--line)}
.gallery-tabs button{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;padding:7px 4px 12px;background:transparent;border:0;border-bottom:3px solid transparent;font-size:9px;text-align:center;line-height:1.4;overflow:hidden}
.gallery-tabs button img{width:100%;height:64px;object-fit:contain;mix-blend-mode:multiply}
.gallery-tabs button[aria-pressed=true]{border-bottom-color:var(--red)}
.gallery-tabs button:hover{background:transparent}
.gallery-main img[src*="regal-"],.product-image img[src*="regal-"],.gallery-tabs img[src*="regal-"]{transform:scale(1.65)}

.comparison-photo{display:block;overflow:hidden;background:white;margin-bottom:18px}
.comparison-photo img{display:block;width:100%;height:180px;object-fit:contain}
.comparison-photo img[src*="regal-"]{transform:scale(1.65)}
/* Preserve the requested soft shadow edge for the newly supplied family photo. */
.family-photo{-webkit-mask-image:linear-gradient(to right,#000 89%,rgba(0,0,0,.9) 91%,rgba(0,0,0,.5) 95%,transparent 100%);mask-image:linear-gradient(to right,#000 89%,rgba(0,0,0,.9) 91%,rgba(0,0,0,.5) 95%,transparent 100%)}
@media(max-width:680px){.gallery-tabs{gap:6px}.gallery-tabs button{font-size:8px;padding:6px 3px 9px}.gallery-tabs button img{height:52px}}

/* Original cutouts on a pale grey field with AP's diagonal orange edge. */
.product-image,.comparison-photo{position:relative;isolation:isolate;background:#f0efed;overflow:hidden;border:0}
.product-image::after,.comparison-photo::after{content:"";position:absolute;inset:auto 0 0;height:36px;background:var(--red);clip-path:polygon(0 65%,100% 0,100% 100%,0 100%);z-index:0;pointer-events:none}
.product-image img,.comparison-photo img{position:relative;z-index:1;mix-blend-mode:normal}
.product-image>.micro{z-index:2}
.comparison-photo img{height:210px}
.comparison-photo::after{height:25px}

/* The comparison is one grey field with one uninterrupted orange diagonal. */
.comparison thead{background:#f0efed}
.comparison thead th{background:transparent;color:var(--ink);border-color:var(--line)}
.comparison-image-row td{padding:0;border:0}
.comparison-scene{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 0 30px;overflow:hidden}
.comparison-scene::after{content:"";position:absolute;inset:auto 0 0;height:34px;background:var(--red);clip-path:polygon(0 70%,100% 0,100% 100%,0 100%);z-index:-1;pointer-events:none}
.comparison-scene a{display:block;min-width:0;overflow:hidden;padding:0 20px}
.comparison-scene img{display:block;width:100%;height:210px;object-fit:contain}
.comparison-scene img[src*="regal-"]{transform:scale(1.65)}
/* One masked rectangle grows and rotates from a thin line into a diagonal. */
.product-image{border:0;overflow:hidden}
.product-image::after{inset:auto -10% -50px;height:100px;clip-path:none;transform-origin:50% 50%;transform:translateY(0) rotate(0deg) scaleY(.06);transition:transform .48s cubic-bezier(.22,.61,.36,1)}
.product-image img{transition:transform .48s cubic-bezier(.22,.61,.36,1)}


@media(hover:hover) and (pointer:fine){.product-image:hover::after{transform:translateY(25px) rotate(-3deg) scaleY(1)}}
.product-image:focus-visible::after{transform:translateY(25px) rotate(-3deg) scaleY(1)}
@media(prefers-reduced-motion:reduce){.product-image::after,.product-image img{transition:none}}
/* One diagonal spans the full table width, behind the product cutouts. */
.comparison-image-row{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 96 L100 75 L100 100 L0 100Z' fill='%23f57952'/%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat}
.comparison-scene{padding-bottom:0}
.comparison-scene::after{display:none}
.comparison-scene img[src*="regal-"]{transform:translateY(34px) scale(1.65)}
/* Full-width hero colour plane, with the editorial content kept in its grid. */
.hero.wrap{position:relative;isolation:isolate;max-width:none;padding-inline:0}
.hero>.eyebrow,.hero>.hero-grid,.hero>.hero-foot{width:calc(100% - 128px);max-width:1384px;margin-inline:auto}
.hero::before{content:"";position:absolute;left:0;right:0;bottom:102px;height:clamp(140px,16vw,240px);background:var(--red);clip-path:polygon(0 calc(70% + 32px),100% 32px,100% 100%,0 100%);z-index:-1;pointer-events:none}
.hero-product::before{display:none}
@media(max-width:1000px){.hero>.eyebrow,.hero>.hero-grid,.hero>.hero-foot{width:calc(100% - 64px)}}
@media(max-width:680px){.hero>.eyebrow,.hero>.hero-grid,.hero>.hero-foot{width:calc(100% - 44px)}.hero::before{bottom:98px;height:150px}}

/* Subtle rounding belongs only to the model overview image tiles. */
.product-grid .product-image{border-radius:12px}
/* Equal photographic scale and a shared baseline in the comparison. */
.comparison-scene img{height:auto;aspect-ratio:1;max-width:210px;margin-inline:auto}
.comparison-scene img[src*="regal-"]{transform:translateY(25.6%) scale(1.05)}
/* A continuous orange thread fades towards the years before the founding. */
.history-thread{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:52px 0 0;padding:0;position:relative}
.history-thread::before{content:"";position:absolute;left:-32px;right:0;top:59px;height:2px;background:linear-gradient(90deg,transparent 0,var(--red) 9%,var(--red) 100%)}
.history-thread>li{position:relative;padding-right:28px;min-width:0}
.history-thread>li:last-child{padding-right:0}
.history-thread>li::before{content:"";position:absolute;left:0;top:54px;width:12px;height:12px;border:2px solid var(--red);border-radius:50%;background:#fff;box-sizing:border-box}
.history-thread>li:last-child::before{background:var(--red)}
.history-date{font-size:clamp(24px,2.5vw,34px);line-height:1.25;letter-spacing:-.06em;margin:0 0 54px;font-weight:500}
.history-copy .micro{font-size:9px;margin-bottom:17px;color:var(--muted)}
.history-copy h3{font-size:19px;line-height:1.35;letter-spacing:-.04em;margin:0 0 14px}
.history-copy>p:not(.micro),.history-award p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 18px}
.history-copy .text-link{font-size:11px}
.history-award{margin-top:27px;padding-top:21px;border-top:1px solid var(--line)}
@media(max-width:800px){
.history-thread{display:block;margin-top:34px;padding-left:30px}
.history-thread::before{left:5px;right:auto;top:-30px;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,transparent 0,var(--red) 90px,var(--red) 100%)}
.history-thread>li{padding:0 0 42px 16px;display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px}
.history-thread>li:last-child{padding:0 0 0 16px}
.history-thread>li::before{left:-30px;top:9px}
.history-date{margin:0;font-size:25px}
.history-copy h3{font-size:21px}
}
@media(max-width:520px){.history-thread>li{display:block}.history-date{margin:0 0 22px}.history-copy .micro{margin-bottom:12px}}
.history-copy .text-link{width:100%;max-width:240px}
/* SPL dealer logo sits directly on the white page. */
.spl-visual{background:transparent;border:0;padding:0}
/* Continue the About background beneath the diagonal contact transition. */
.team-section + .tech{position:relative}
.team-section + .tech::after{content:"";position:absolute;left:0;right:0;bottom:-55px;height:55px;background:inherit;pointer-events:none}
@media(max-width:680px){.team-section + .tech::after{bottom:-25px;height:25px}}
/* Keep the About technology link quiet: one line, no colour or underline swap. */

/* Match product gallery backgrounds to the rounded overview tiles. */
.gallery-main{border-radius:12px}
.gallery-tabs button{border-radius:8px}
/* Highlight the model heading row with the AP accent. */
.comparison thead th{background:var(--red);color:#fff;border-color:rgba(255,255,255,.3)}
/* Keep the comparison photos on white, above the continuous orange diagonal. */
.comparison-image-row{background-color:#fff}
/* Align visible product silhouettes with their column labels, compensating for transparent image margins. */
.comparison-scene img{margin-inline:0;transform:translateX(-39.3%)}
.comparison-scene img[src*="monitor-"]{transform:translateX(-37.5%)}
.comparison-scene img[src*="regal-"]{transform:translate(-38.8%,25.6%) scale(1.05)}
/* Enlarge each product by 15%, retaining its baseline and adding a small right inset. */
.comparison-scene img{transform-origin:39.3% 91.7%;transform:translateX(calc(-39.3% + 24px)) scale(1.15)}
.comparison-scene img[src*="monitor-"]{transform-origin:37.5% 91%;transform:translateX(calc(-37.5% + 24px)) scale(1.15)}
.comparison-scene img[src*="regal-"]{transform-origin:39.3% 65%;transform:translate(calc(-39.3% + 24px),25.6%) scale(1.2075)}
.comparison thead th a{font-weight:700}
.comparison-scene a{overflow:visible}
.bavaria-badge{display:block;width:190px;height:auto;flex:none}
/* The supplied family cutout retains its shadow, fading gently at the right edge. */
.hero-family img{-webkit-mask-image:linear-gradient(to right,#000 89%,rgba(0,0,0,.85) 92%,rgba(0,0,0,.3) 96%,transparent 100%);mask-image:linear-gradient(to right,#000 89%,rgba(0,0,0,.85) 92%,rgba(0,0,0,.3) 96%,transparent 100%)}
@media(max-width:680px){.hero-family img{object-position:center bottom;transform:translateY(28px)}}
/* Thumbnail selection stays subtle, without an orange bar. */
.gallery-tabs button,
.gallery-tabs button[aria-pressed=true]{border-bottom-color:transparent}
.gallery-tabs button[aria-pressed=true]{background:transparent}.gallery-tabs button[aria-pressed=true] span{text-decoration-line:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:5px}

/* Brand placement and editorial press imagery. */
.hero-copy{position:relative}
.hero-copy .hero-badge{position:absolute;top:8px;right:0;width:105px;height:auto}
.site-footer{flex-wrap:wrap;align-items:flex-start}
.site-footer .footer-social{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.press-image img[src*="ifas-"]{object-fit:contain;max-width:300px;mix-blend-mode:normal}
.press-image img[src*="fidelity-highlight"]{object-fit:contain;mix-blend-mode:normal}
.orbiter-visual{display:flex;flex-direction:column;align-items:center;gap:35px}
.orbiter-logo{display:block;width:230px;max-width:65%;height:auto}
.orbiter-turntable{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:1000px){.hero-copy .hero-badge{width:80px;top:0}}
@media(max-width:680px){.hero-copy .hero-badge{position:static;width:88px;margin:0 0 24px auto}.site-footer .footer-social{justify-content:flex-start;gap:20px}.orbiter-visual{gap:24px}}

.test-seal-crop{display:block;position:relative;width:230px;max-width:100%;aspect-ratio:257/169;overflow:hidden;border-radius:22px}
.press-image .test-seal-crop img{position:absolute;width:389.105%;max-width:none;height:auto;left:-40.856%;top:-366.864%;object-fit:initial}

.test-seal-crop{margin-inline:auto}
.brand-film{position:relative;width:100%;height:clamp(280px,36vw,580px);overflow:hidden;background:#302e2d;margin-top:32px}
.brand-film iframe{position:absolute;top:50%;left:50%;width:110vw;height:61.875vw;min-width:calc(580px * 16 / 9);min-height:110%;transform:translate(-50%,-50%);border:0;pointer-events:none}
@media(max-width:680px){.brand-film{height:320px;margin-top:24px}.brand-film iframe{width:720px;height:405px;min-width:0;min-height:0}}

/* Product and test seal together; the seals stay still on hover. */
.press-image.press-product{position:relative;padding:12px}
.press-product-photo{width:68%;height:100%;margin-left:-10px}
.press-product-photo img{object-fit:contain;mix-blend-mode:normal}
.press-test-seal{position:absolute;right:15px;bottom:22px;width:36%;max-width:140px}
.press-test-seal .test-seal-crop{width:100%;border-radius:12px}
.press-test-seal .test-seal-image{display:block;width:100%;height:auto;mix-blend-mode:normal}
.press-card>a:hover .press-image img{transform:none}
.press-card>a:hover .press-product-photo img{transform:scale(1.012)}

.film-toggle{position:absolute;right:clamp(20px,4vw,64px);bottom:24px;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;border:1px solid #ffffff70;border-radius:4px;background:#242322b8;color:#fff;font:inherit;font-size:11px;cursor:pointer;transition:background .2s}
.film-toggle:hover{background:#242322e0}
.film-toggle:focus-visible{outline:2px solid #fff;outline-offset:4px}
.film-toggle:disabled{opacity:.5;cursor:wait}
.film-toggle-icon{font-size:16px;line-height:1;width:15px;text-align:center}

/* Carry the hero's orange plane into the film. */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:103px;background:var(--red);z-index:-1;pointer-events:none}
.brand-film{margin-top:0;height:clamp(390px,42vw,650px)}
.brand-film::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.2) 65%,rgba(0,0,0,.12));z-index:1;pointer-events:none}
.brand-film::after{content:"";position:absolute;left:0;right:0;top:-1px;height:clamp(55px,7vw,105px);background:var(--red);clip-path:polygon(0 0,100% 0,100% 8%,0 100%);z-index:2;pointer-events:none}
.film-claim{position:absolute;z-index:2;left:max(64px,calc((100vw - 1384px)/2));right:64px;top:50%;transform:translateY(-35%);color:#fff;pointer-events:none}
.film-claim .micro{margin:0 0 22px;letter-spacing:.14em;font-size:11px}
.film-claim h2{font-size:clamp(40px,5.6vw,88px);font-weight:500;line-height:1.09;letter-spacing:-.055em;margin:0;text-wrap:balance}
.film-toggle{z-index:3}
@media(max-width:1000px){.film-claim{left:32px;right:32px}}
@media(max-width:680px){.hero::after{height:99px}.brand-film{height:390px;margin-top:0}.brand-film iframe{width:900px;height:506.25px}.film-claim{left:22px;right:22px;transform:translateY(-35%)}.film-claim h2{font-size:clamp(30px,8vw,46px)}.film-claim .micro{font-size:9px;margin-bottom:18px}}

.hero-product figcaption{background:transparent}

.brand-film{isolation:isolate}
.brand-film::before,.brand-film::after{display:none}
.film-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.film-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000a,#0003 65%,#0002);pointer-events:none}
.film-edge{position:absolute;left:0;right:0;top:-1px;height:clamp(55px,7vw,105px);background:#fff;clip-path:polygon(0 0,100% 0,100% 8%,0 100%);z-index:1;pointer-events:none}

/* The film now follows the editorial text in Unsere Haltung. */
.hero::after{display:none}
.hero-product figcaption{background:#fff}

.hero>.eyebrow{align-items:flex-start;min-height:170px}
.hero .eyebrow .hero-badge{display:block;width:210px;height:auto;object-fit:contain;object-position:center;margin-left:auto;flex:none}
@media(max-width:680px){.hero>.eyebrow{min-height:104px}.hero .eyebrow .hero-badge{width:170px;height:auto}}
@media(min-width:681px){.hero>.eyebrow{min-height:0}.hero .eyebrow .hero-badge{position:absolute;top:18px;right:max(64px,calc((100vw - 1384px)/2));z-index:1}.hero-family{padding-top:65px}}
@media(min-width:681px) and (max-width:1000px){.hero .eyebrow .hero-badge{right:32px}}

/* Startseite: ein gemeinsames Raster für Text und Produktkacheln. */
.models .section-heading{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.models .section-heading>p{grid-column:auto}
.models .product-grid article{position:relative}
.models .product-grid .text-link::after{content:"";position:absolute;inset:0;z-index:4;cursor:pointer;border-radius:12px}
.models .product-grid .text-link:focus-visible{outline:2px solid var(--red);outline-offset:6px}
@media(hover:hover) and (pointer:fine){
.models .product-grid article:hover .product-image::after{transform:translateY(25px) rotate(-3deg) scaleY(1)}


}
@media(min-width:681px) and (max-width:1000px){.models .section-heading h2,.models .section-heading>p{grid-column:2 / span 2}}
@media(max-width:680px){.models .section-heading{grid-template-columns:1fr;gap:28px}}
/* Ein unaufdringlicher Pause-Schalter, ohne zusätzliches Play-Symbol. */
.film-toggle{right:24px;bottom:24px;width:44px;height:44px;min-height:44px;padding:0;gap:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#302e2d;box-shadow:0 2px 10px #0002;transition:background .2s,opacity .2s}
.film-toggle:hover{background:#fff}
.film-toggle-icon{display:flex;align-items:center;justify-content:center;gap:4px;width:16px;height:16px}
.film-toggle-icon::before,.film-toggle-icon::after{content:"";width:3px;height:13px;background:currentColor;border-radius:1px}
.film-toggle[aria-pressed="true"]{opacity:.7}
@media(max-width:680px){.film-toggle{right:18px;bottom:18px}}

/* Kompakterer Hero mit oben angeschnittenem Badge. */
.hero-copy{padding-top:40px}
@media(min-width:1600px){.hero-copy{padding-top:64px}}
@media(max-width:1000px){.hero-copy{padding-top:28px}}
@media(max-width:680px){.hero-copy{padding-top:24px}}

/* Bemaßungen stehen links im grauen Bereich der technischen Daten. */
#technische-daten .dimension-drawing{width:95%;margin:35px auto 0}
#technische-daten .dimension-drawing a{display:block}
#technische-daten .dimension-drawing img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;mix-blend-mode:multiply}
#technische-daten .dimension-drawing figcaption{font-size:9px;line-height:1.7;margin-top:16px;color:var(--muted)}
.gallery-tabs{border-bottom:0}

/* Herkunftsbadge innerhalb der Bildkachel, oben bündig. */
.gallery{position:relative}.gallery-badge-bar{position:absolute;top:0;right:48px;z-index:3;overflow:hidden;padding-top:24px;background:#2e2d2c}
.gallery-badge-bar img{display:block;width:124px;height:auto}
@media(max-width:680px){.gallery-badge-bar img{width:112px}}

/* Image enlargement and a consistent, quiet corner radius. */
#technik .tech-grid figure img,.profile figure img,.orbiter-visual,.orbiter-turntable,.press-image,.press-image img{border-radius:12px}
.orbiter-visual,.press-image{overflow:hidden}
#technische-daten .dimension-top{max-width:200px}
.gallery-enlarge{position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:zoom-in}
.gallery-enlarge:focus-visible{outline:2px solid var(--red);outline-offset:-5px;border-radius:12px}
[data-lightbox]{cursor:zoom-in}
.image-lightbox{position:fixed;inset:0;width:min(1100px,calc(100vw - 40px));max-width:none;height:calc(100dvh - 48px);max-height:none;margin:auto;padding:0;border:0;border-radius:12px;background:#fff;color:var(--ink);overflow:hidden}
.image-lightbox::backdrop{background:rgba(25,24,23,.72)}
.image-lightbox[open]{display:grid;grid-template-rows:60px minmax(0,1fr) 48px}
.lightbox-toolbar{display:flex;justify-content:flex-end;gap:8px;align-items:center;padding:8px 16px;border-bottom:1px solid #eee}
.lightbox-toolbar button{width:40px;height:40px;border:0;border-radius:50%;background:#f4f4f2;color:var(--ink);font:20px/1 sans-serif;cursor:pointer}
.lightbox-toolbar button:hover{background:#eaeae7}
.lightbox-toolbar button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.lightbox-stage{overflow:auto;overscroll-behavior:contain;padding:16px;text-align:center}
.lightbox-stage img{display:block;width:100%;height:100%;object-fit:contain;margin:auto;cursor:zoom-in}
.lightbox-stage.is-zoomed img{width:200%;max-width:none;height:200%;cursor:zoom-out}
.lightbox-caption{margin:0;padding:12px 20px;font-size:11px;text-align:center;line-height:1.6}
html.has-lightbox{overflow:hidden}
@media(max-width:680px){.image-lightbox{width:calc(100vw - 16px);height:calc(100dvh - 24px)}.lightbox-stage{padding:8px}.lightbox-caption{font-size:9px;padding:8px}}

.fair-spotlight{padding-top:0;padding-bottom:80px}
.fair-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:32px}
.fair-heading h2{font-size:clamp(28px,3.5vw,44px);margin:16px 0 0}
.fair-heading>p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}
.fair-spotlight .events-heading{font-size:12px;font-weight:400;margin:0 0 18px}
#upcoming-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#upcoming-events .event-row{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:start;gap:25px;border:0;border-radius:12px;padding:28px;background:var(--paper);color:var(--ink);transition:background .2s ease}
#upcoming-events .event-row:hover{background:#ecece8;text-decoration:none}
#upcoming-events time{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:104px;padding:12px 6px;border-radius:8px;background:var(--red);color:#fff;line-height:1.15}
#upcoming-events .event-day{font-size:25px;font-weight:700;letter-spacing:-.07em;white-space:nowrap}
#upcoming-events .event-month{font-size:10px;letter-spacing:.02em}
#upcoming-events h3{font-size:21px;line-height:1.25;margin:2px 0 12px}
#upcoming-events p{font-size:12px;margin:0;color:var(--muted)}
#upcoming-events .event-cta{display:block;font-size:10px;margin-top:24px}
.event-day,.event-month,.event-cta{display:none}
#upcoming-events .event-full-date,#upcoming-events .event-arrow{display:none}
.news-archive{position:relative}
.news-archive::after{content:"";position:absolute;left:0;right:0;bottom:-55px;height:55px;background:inherit;pointer-events:none}
.spl-visual img{border-radius:12px}
@media(max-width:850px){#upcoming-events{grid-template-columns:1fr}.fair-heading{align-items:start;flex-direction:column;gap:20px}}
@media(max-width:680px){.fair-spotlight{padding-bottom:55px}#upcoming-events .event-row{padding:20px;grid-template-columns:88px minmax(0,1fr);gap:18px}#upcoming-events time{grid-column:auto;min-height:94px}#upcoming-events h3{font-size:19px}.news-archive::after{bottom:-25px;height:25px}}
.button-arrow{display:inline;color:inherit;transition:color .2s ease}
a:hover .button-arrow,button:hover .button-arrow,a:focus-visible .button-arrow,button:focus-visible .button-arrow{color:var(--red)}
#upcoming-events .event-day,#upcoming-events .event-month{display:block}
/* Intro and milestones share the same four-column rhythm. */
@media(min-width:801px){.history-section .section-heading{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.history-section .section-heading>.section-label{grid-column:1;padding-right:28px}.history-section .section-heading>h2{grid-column:2 / span 2;padding-right:28px}.history-section .section-heading>p{grid-column:4}}
@media(min-width:521px) and (max-width:800px){.history-section .section-heading{margin-left:46px;grid-template-columns:130px minmax(0,1fr);gap:20px}.history-section .section-heading>.section-label{grid-column:1}.history-section .section-heading>h2,.history-section .section-heading>p{grid-column:2}}
@media(max-width:520px){.history-section .section-heading{margin-left:46px;grid-template-columns:minmax(0,1fr)}.history-section .section-heading>p{grid-column:1}}
.lightbox-stage.is-product img[src*="regal-"]{object-fit:cover}

/* The re-edited Vimeo film uses a wide 3:1 frame; JS reads its exact dimensions. */
.brand-film{height:clamp(360px,33.333vw,640px)}
.brand-film iframe{width:100vw;height:33.333vw;min-width:0;min-height:0;max-width:none}
.brand-film.is-consent-blocked iframe{visibility:hidden}
@media(max-width:680px){.brand-film{height:390px}.brand-film iframe{width:1170px;height:390px}}

/* On phones, place the origin badge between the introduction and family image. */
.hero-mobile-badge{display:none}
@media(max-width:680px){
 .hero>.eyebrow{min-height:0}
 .hero .eyebrow .hero-badge{display:none}
 .hero-grid>.hero-mobile-badge{display:block;width:150px;height:auto;margin:30px 0 0 auto}
 .hero-grid>.hero-family{justify-content:flex-start}
 .hero-grid>.hero-family>img{height:auto;transform:none;margin-top:20px}
}

/* Compact space below the header on the mobile homepage. */
@media(max-width:680px){
 .hero>.eyebrow{padding-top:0}
 .hero .hero-copy{padding-top:24px}
 .hero .hero-copy h1{margin-top:0}
}

/* Smaller origin badge in both homepage layouts. */
@media(min-width:681px){.hero .eyebrow .hero-badge{width:140px}}
@media(max-width:680px){.hero-grid>.hero-mobile-badge{width:100px}}

/* Origin badge sits flush with the lower edge of the orange hero plane. */
.hero>.hero-edge-badge{position:absolute;z-index:2;width:140px;height:auto;right:max(64px,calc((100vw - 1384px)/2));bottom:102px}
@media(min-width:681px) and (max-width:1000px){.hero>.hero-edge-badge{right:32px}}
@media(max-width:680px){.hero>.hero-edge-badge{width:100px;right:22px;bottom:98px}}

/* Match the comparison introduction to the table's 22/26/26/26 columns. */
@media(min-width:900px){
 .model-comparison>.section-heading{grid-template-columns:22% 26% 26% 26%;gap:0}
 .model-comparison>.section-heading>.section-label{grid-column:1;padding:0 20px 0 16px}
 .model-comparison>.section-heading>h2{grid-column:2 / span 2;padding:0 20px}
 .model-comparison>.section-heading>p{grid-column:4;padding:0 20px}
}
