.cms-partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid rgba(7,29,52,.14);margin-top:clamp(30px,5vw,70px)}.cms-partner{min-height:150px;padding:26px;border-right:1px solid rgba(7,29,52,.14);border-bottom:1px solid rgba(7,29,52,.14);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;text-decoration:none;color:inherit;transition:transform .25s,background .25s}.cms-partner:hover{background:#eef7ff;transform:translateY(-5px)}.cms-partner img{max-width:130px;max-height:62px;object-fit:contain;filter:grayscale(1);transition:.25s}.cms-partner:hover img{filter:none;transform:scale(1.06)}.cms-partner span{font:700 10px Montserrat;letter-spacing:.12em}.cms-product-card{flex:0 0 min(270px,72vw);scroll-snap-align:start;padding:24px;background:#071e36;color:#fff;display:grid;justify-items:center;min-height:390px}.cms-product-card img{width:100%;height:290px;object-fit:contain;transition:.3s}.cms-product-card:hover img{transform:translateY(-8px) rotate(-1deg)}.cms-product-card h3{margin:14px 0 3px;font-size:17px}.cms-product-card p{margin:0;color:#7edbff;font-size:11px}.cms-feed{max-width:1360px;margin:0 auto;padding:clamp(30px,5vw,80px) clamp(20px,5vw,70px);display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.cms-feed-card{background:#fff;border:1px solid #dbe5ef;min-height:260px;display:grid;grid-template-columns:minmax(150px,.7fr) 1fr;overflow:hidden;transition:.25s}.cms-feed-card:hover{transform:translateY(-6px);box-shadow:0 25px 55px rgba(1,25,53,.12)}.cms-feed-card img{width:100%;height:100%;object-fit:cover}.cms-feed-card div{padding:30px}.cms-feed-card small{color:#087cf5;font:800 9px Montserrat;letter-spacing:.15em}.cms-feed-card h2{font:800 clamp(22px,3vw,38px) Montserrat;letter-spacing:-.04em;margin:13px 0}.cms-feed-card p{font:400 14px/1.7 Montserrat;color:#64778a}@media(max-width:760px){.cms-feed{grid-template-columns:1fr}.cms-feed-card{grid-template-columns:1fr}.cms-feed-card img{height:220px}.cms-partner-grid{grid-template-columns:repeat(2,1fr)}.cms-partner{min-height:120px;padding:18px}}
.cms-feed-card{text-decoration:none;color:inherit}

/* P05: never reveal static/stale products before CMS succeeds. */
[data-product-content][hidden],.product-experience[hidden],[data-product-load-status][hidden],[data-cms-variant-image][hidden],[data-cms-original-only][hidden],[data-cms-coming-only][hidden]{display:none!important}
[data-product-load-status]{padding-block:2rem;min-height:4rem}

/* P05 visual fit: fixed presentation boxes, intrinsic artwork ratio preserved.
   Keep decoration, copy, selectors and RTL order in their existing layout. */
.product-stage[data-product] .product-stage-visual{height:clamp(240px,50svh,620px);min-height:0}
.product-stage[data-product] .product-stage-visual > .product-can{
  left:15%;right:auto;bottom:12%;width:70%;height:76%;
  max-width:70%;max-height:min(56svh,520px);object-fit:contain;object-position:center;
}
.hero .product-single > img{
  width:76%;height:76%;max-width:76%;max-height:min(58svh,600px);
  object-fit:contain;object-position:center;flex:none;align-self:center;
}
/* Preserve the five-can fan; offsets now follow its available width. */
.hero .product-lineup{transform:none}
.hero .product-lineup > .lineup-can{
  bottom:12%;width:28%;height:68%;max-width:28%;max-height:560px;
  object-fit:contain;object-position:center bottom;
}
.hero .product-lineup > .c1{left:20%;transform:translateX(-50%) scale(.78) rotate(-8deg)}
.hero .product-lineup > .c2{left:35%;transform:translateX(-50%) scale(.9) rotate(-4deg)}
.hero .product-lineup > .c3{left:50%;height:76%;transform:translateX(-50%)}
.hero .product-lineup > .c4{left:65%;transform:translateX(-50%) scale(.9) rotate(4deg)}
.hero .product-lineup > .c5{left:80%;transform:translateX(-50%) scale(.78) rotate(8deg)}
/* Retain the signature angle, but reserve room for its rotated bounds. */
.hero .signature-can{bottom:70px;height:min(62svh,66%);overflow:visible;display:flex;align-items:center;justify-content:center}
.hero .signature-can > img{
  display:block;margin:auto;width:68%;height:80%;max-width:68%;
  object-fit:contain;object-position:center;
}
.series .product-visual > #product-image{
  position:absolute;left:15%;top:32px;width:70%;height:calc(100% - 180px);
  max-width:70%;max-height:min(54svh,520px);object-fit:contain;object-position:center;
}

/* Public responsive layout: content determines height; artwork stays intrinsic.
   Loaded after page styles so all public templates share the same constraints. */
main :is(h1,h2,h3),footer a{overflow-wrap:anywhere}
:is(.hero-copy,.signature-panel,.product-stage-copy,.about-hero-copy,.global-hero-copy,.contact-hero-copy,.journal-copy,.news-copy,.news-detail-copy,.fields>*,.footer-top>*,.site-footer>*,.cms-feed-card>*){min-inline-size:0}
:is(.fields input,.fields select,.fields textarea,.dealer-form input,.dealer-form select,.dealer-form textarea){min-inline-size:0;max-inline-size:100%}
:is(.hero-actions,.signature-actions,.news-cta,.article-meta){flex-wrap:wrap;row-gap:16px}
.cms-feed{grid-template-columns:repeat(2,minmax(0,1fr))}
.cms-feed-card{grid-template-columns:minmax(0,.7fr) minmax(0,1fr)}
.cms-partner-grid{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}
.cms-partner img{max-inline-size:100%}
.quote-drawer{max-block-size:100dvh;overscroll-behavior:contain}

/* Overlay slides in one grid cell: the tallest translation reserves space
   without a height jump when the active slide changes. Decorations stay put. */
.hero:has(.hero-slides){height:auto;min-height:calc(100svh - var(--motion-header,88px))}
.hero .hero-slides{position:relative;inset:auto;display:grid}
.hero .hero-slide{position:relative;inset:auto;grid-area:1/1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(16px,3vw,48px);min-height:calc(100svh - var(--motion-header,88px));padding:clamp(28px,5svh,64px) clamp(22px,7vw,132px) 90px}
.hero :is(.hero-copy,.scene-series .hero-copy,.signature-panel){position:relative;inset:auto;transform:none;width:100%;grid-column:1;grid-row:1;min-width:0}
.hero :is(.hero-product,.signature-can){position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;min-height:0;height:clamp(260px,64svh,680px)}
.hero .product-lineup{padding:0}
.product-stage{padding-bottom:0}
.product-stage .product-selector{position:relative;inset:auto}
.product-stage>.motion-scroll{position:relative;inset:auto;margin:8px auto;padding:8px}
.product-stage-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.product-stage .product-choice{min-width:0}
.product-stage .product-choice b{white-space:normal;overflow-wrap:anywhere}
:is(.about-product,.global-hero-product,.dealer-cover-visual){min-height:0;height:clamp(300px,60svh,640px)}
:is(.about-product,.global-hero-product)>img{max-width:90%;max-height:88%;object-fit:contain}
[dir=rtl] main :is(h1,h2,h3){letter-spacing:normal;line-height:1.25}

@media(max-width:1180px){
  .site-header,.corporate-page .nav{grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(6px,1.4vw,12px)}
  .site-header .brand{min-width:0}
  .site-header .brand :is(img,.brand-artwork){max-width:100%;object-fit:contain}
  .site-header :is(.main-nav,.nav-links){max-height:calc(100dvh - 76px);overscroll-behavior:contain}
  .site-header :is(.menu-btn,.menu-toggle){min-width:44px;min-height:44px}
}
@media(min-width:761px) and (max-height:850px){
  .hero :is(.hero-copy h1,.hero-copy h2,.signature-panel h2){font-size:clamp(2.5rem,min(6.35vw,10svh),7.15rem)}
  :is(.about-hero-grid,.global-hero-grid){padding-block:clamp(28px,5svh,60px)}
  .contact-hero,.contact-hero-grid{min-height:calc(100svh - var(--motion-header,88px))}
  .contact-hero-copy{padding-top:32px}
}
@media(max-width:900px){
  .cms-feed{grid-template-columns:minmax(0,1fr)}
  .contact-hero-grid{padding-block:clamp(40px,8vw,72px)}
}
@media(max-width:760px){
  .hero .hero-slide{grid-template-columns:minmax(0,1fr);gap:20px;min-height:0;padding:32px 22px 90px}
  .hero :is(.hero-copy,.scene-series .hero-copy,.signature-panel){grid-column:1;grid-row:1}
  .hero :is(.hero-product,.signature-can){grid-column:1;grid-row:2;height:clamp(240px,48svh,440px)}
  .hero :is(.hero-copy h1,.hero-copy h2,.signature-panel h2){font-size:clamp(2rem,9vw,4rem)}
  .product-stage-grid{grid-template-columns:minmax(0,1fr)}
  .cms-feed-card{grid-template-columns:minmax(0,1fr)}
  .cms-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-cta{gap:16px}
  .dealer-map-legend{left:16px;right:16px;bottom:76px;gap:12px;flex-wrap:wrap}
  .dealer-map-visual :is(.dealer-world,.dealer-routes){width:100%;left:0}
  .journal-cover{min-height:clamp(260px,60vw,360px)}
}
@media(max-width:480px){
  .locator-filters{grid-template-columns:minmax(0,1fr)}
  .fields{grid-template-columns:minmax(0,1fr)}
  .news-copy h2{font-size:clamp(1.75rem,9vw,2.625rem)}
}

/* One canonical format occupies one track, regardless of the translated label. */
.hero-format-switch,.format-list{grid-template-columns:minmax(0,1fr)}
.format-list button:only-child{padding-inline:18px;border-inline:0}
[dir=rtl] .format-list button:only-child{padding-inline:18px;border-inline:0}
.family-controls[hidden]{display:none!important}

/* Compact layouts share a product stage, not a viewport-height percentage of
   another percentage. Original's approved file includes transparent side space;
   intrinsic width avoids shrinking its visible can to fit a narrow image box. */
@media(max-width:920px){
  .family-lineup{--can-height:clamp(230px,65vw,340px);align-items:start;padding-top:20px;gap:20px}
  .family-lineup figure{min-width:0;display:grid;grid-template-rows:calc(var(--can-height) + 18px) auto;justify-items:center;align-items:end}
  .family-lineup figure img{height:var(--can-height);width:auto;max-width:none;object-fit:contain;object-position:center bottom;transform:none}
  .family-lineup figure img[src$="/can-front.webp"]{height:calc(var(--can-height) * 1.047);margin-bottom:-6px}
  .family-lineup figure:hover img{transform:translateY(-9px)}
  .family-lineup figcaption{width:100%;align-self:start;min-height:76px}
  .family-controls{flex-wrap:wrap;gap:16px}
  .family-controls>span{max-width:none;flex:1 1 150px}
  .family-controls>div{flex:none;margin-inline-start:auto}
  .series .product-visual{height:clamp(420px,110vw,600px);min-height:0;max-height:none}
  .series .product-visual > #product-image{left:0;top:4%;width:100%;height:82%;max-width:100%;max-height:none;object-fit:contain;object-position:center}
  .series .product-visual > #product-image[src$="/can-front.webp"]{height:86%}
  .series .product-floor{width:46%;bottom:9%}
  .series .product-light{width:100%;height:auto;aspect-ratio:1;flex:none}
  .series .product-option{min-width:88px;min-height:90px;padding:16px 10px;row-gap:14px}
  .series .product-option span{font-size:clamp(.65rem,1.7vw,.85rem);overflow-wrap:normal}
  .series .product-selector{grid-template-columns:repeat(5,minmax(88px,1fr));scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
  .series .product-option{scroll-snap-align:center}
}

@media(max-width:760px){
  .hero:has(.hero-slides){min-height:0}
  .hero .hero-slide{padding:30px 22px 90px;gap:12px;align-content:start}
  .hero .hero-slide.scene-series{padding-bottom:126px}
  .hero :is(.hero-product,.signature-can){height:clamp(360px,110vw,520px)}
  .hero .product-single > img{width:100%;height:96%;max-width:100%;max-height:none;object-fit:contain}
  .hero .product-single .ghost-type{left:50%;bottom:5%;top:auto;width:max-content;max-width:none;font-size:clamp(5rem,24vw,11rem);line-height:.8;letter-spacing:-.075em;transform:translateX(-50%);white-space:nowrap}
  .hero .product-single .orbit-one{width:100%;height:auto;aspect-ratio:1;flex:none}
  .hero .product-single .orbit-two{width:115%;height:48%;flex:none}
  .hero .can-shadow{width:48%;bottom:3%;height:24px}
  .hero .product-lineup{height:clamp(300px,92vw,470px);align-self:center}
  .hero .product-lineup > .lineup-can{bottom:6%;width:32%;height:84%;max-width:none;max-height:none}
  .hero .product-lineup > .c3{width:62%;height:94%}
  .hero .coming-badge{inset:auto 22px 82px auto;max-width:calc(100% - 44px);margin:0}
  .hero .hero-arrow{top:auto;bottom:22px;width:44px;height:44px}
  .hero .hero-arrow.prev{left:auto;right:76px}
  .hero .hero-arrow.next{right:22px}
  .hero .scroll-cue{left:22px;bottom:24px;min-height:44px;max-width:calc(100% - 158px);text-align:start;letter-spacing:.08em;color:var(--navy)}
  .hero .scroll-cue .mouse{border-color:currentColor;flex:none}
  .hero:has(.scene-series.is-active) .scroll-cue,.hero:has(.scene-signature.is-active) .scroll-cue{color:#fff}
  .hero:has(.scene-series.is-active) .scroll-cue .mouse i,.hero:has(.scene-signature.is-active) .scroll-cue .mouse i{background:currentColor}
  .hero .signature-can > img{width:80%;height:90%;max-width:80%}
  .product-stage[data-product] .product-stage-visual{height:clamp(380px,110vw,560px);width:100%;margin-top:20px}
  .product-stage[data-product] .product-stage-visual > .product-can{left:0;right:auto;bottom:6%;width:100%;height:88%;max-width:100%;max-height:none;object-fit:contain;object-position:center}
  .product-stage[data-product] .product-stage-visual > .product-can[src$="/can-front.webp"]{height:92%}
  .product-stage .product-orbits{width:100%;max-width:500px;top:50%;aspect-ratio:1}
  .product-stage .product-stage-beam{top:auto;bottom:clamp(230px,55vw,330px);right:-15%;width:110%;height:clamp(65px,19vw,110px)}
  .product-stage .product-choice{flex:0 0 38%;scroll-snap-align:start}
  .product-stage .product-selector{scroll-padding-inline:8px;overscroll-behavior-inline:contain}
  .family-lineup{overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
  .family-lineup figure{flex:0 0 46%}
  .format-products{--ring-size:min(70vw,410px);height:clamp(390px,115vw,550px);align-items:center}
  .format-products .format-ring{left:50%;top:50%;width:var(--ring-size);height:var(--ring-size);aspect-ratio:1;flex:none;box-shadow:0 0 0 22px rgba(0,123,255,.035),0 0 0 44px rgba(0,123,255,.025)}
  .format-products .format-can{left:0;right:auto;bottom:6%;width:100%;height:88%;max-width:100%;object-fit:contain;object-position:center}
  .format-products .format-can[src$="/can-front.webp"]{height:92%}
  .format-products:before{left:0;width:100%;height:clamp(32px,10vw,54px)}
  .news-cta a,.product-cta a{max-width:100%;white-space:normal;overflow-wrap:break-word}
  :is(.fields,.dealer-form,.quote-drawer,.contact-premium-form) :is(input,select,textarea){font-size:16px}
}
