/* Content must shrink inside grid tracks instead of widening the page. */
[hidden]{display:none!important}
main,section,article,form,main div,footer>div{min-width:0}
p,li,.kicker{overflow-wrap:anywhere}
h1,h2,h3{overflow-wrap:normal;word-break:normal;hyphens:auto}
input,textarea,select{min-width:0;max-width:100%}
button{color:inherit}
.catalog-group,#all,#special{scroll-margin-top:24px}
.filters a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:999px;padding:10px 17px;font-weight:800;cursor:pointer}
.filters a.active,.filters a:hover{background:var(--ink);color:#fff}
.filters a:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.delivery li{grid-template-columns:72px minmax(0,1fr)}
/* Size the two long display headings against their actual columns. */
.video-hero{display:flex;align-items:flex-end;height:auto;min-height:clamp(620px,calc(100svh - 130px),790px)}
.hero-content{position:relative;left:auto;right:auto;bottom:auto;margin-left:max(32px,calc((100% - var(--max))/2 + 24px));width:min(1100px,calc(100% - 64px));max-width:none;padding:60px 0;container-type:inline-size}
.hero-content h1{font-size:clamp(32px,5.8vw,96px);font-size:min(6rem,10cqi);line-height:1.03;letter-spacing:-.045em;hyphens:none}
.hero-content h1 em{white-space:nowrap}
.delivery>div:first-child{container-type:inline-size}
.delivery h2{font-size:32px;font-size:min(5rem,10cqi);line-height:1.06;letter-spacing:-.04em;hyphens:none;white-space:nowrap}
@media(max-width:1050px){
  .intro,.media-block,.delivery,.request,.model-video,.product-hero{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:650px){
  .announcement{height:auto;min-height:26px;padding:6px 12px;text-align:center;font-size:.625rem;line-height:1.4}
  .hero-content{position:relative;left:auto;right:auto;bottom:auto;width:100%;max-width:none;margin-left:0;padding:52px 24px 34px}
  .video-hero{display:flex;align-items:flex-end;height:auto;min-height:calc(100svh - 110px)}
  .hero-content h1{font-size:clamp(1.5rem,7vw,3rem);font-size:min(3rem,10cqi);line-height:1.03;letter-spacing:-.045em}
  .hero-content .kicker{font-size:.6875rem;letter-spacing:.1em}
  .hero-actions{flex-wrap:wrap}
  .hero-actions .pill{font-size:.875rem;max-width:100%}
  .catalog-title h1{font-size:clamp(2.25rem,12vw,4.5rem);line-height:.98}
  .intro h2,.request h2,.request.compact h2{font-size:clamp(1.75rem,7.2vw,2.875rem);line-height:1.05;letter-spacing:-.04em}
  .delivery h2{font-size:clamp(1.375rem,6vw,2.875rem);font-size:min(2.875rem,10cqi)}
  .delivery li{grid-template-columns:32px minmax(0,1fr);gap:14px;font-size:1rem}
  .product-copy h1{font-size:clamp(2rem,10vw,3.5rem);line-height:1.02;letter-spacing:-.05em}
  .dimensions{font-size:clamp(1.125rem,5.5vw,1.5625rem)}
  .info-hero h1{font-size:clamp(1.75rem,8vw,3rem);line-height:1.08;letter-spacing:-.04em;hyphens:auto}
  .info-body h2{font-size:clamp(1.5rem,7vw,2rem);line-height:1.12}
  .benefits-heading h2,.benefits--compact .benefits-heading h2,.replacement-gallery h2{font-size:clamp(1.5rem,7vw,2.125rem);line-height:1.1}
  .replacement-gallery .gallery-head{flex-wrap:wrap}
  footer{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
