/* Light & Space: collections, materials and the Wellforces distributor. */
.range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 28px}.range-tile{display:block;min-width:0}.range-tile-image{position:relative;background:#e6e6e0;aspect-ratio:1.12;overflow:hidden}.range-tile-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:30px;transition:transform .5s}.range-tile:hover img{transform:scale(1.04)}.range-tile-image>span{position:absolute;top:15px;left:18px;font-size:14px}.range-tile-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.range-tile-caption h3{font-size:clamp(24px,2.2vw,34px);letter-spacing:-.035em;margin:0}.range-tile-caption>span{font-size:24px}.range-tile>p{margin:12px 0 0;color:var(--muted)}.range-directory{padding-top:12px}.all-collection-link{margin-top:90px;border-top:1px solid var(--line);padding-top:60px}.all-collection-link h2{font-size:40px}.range-hero{display:grid;grid-template-columns:1fr 1fr;min-height:680px}.range-hero-copy{padding:80px 5vw 65px 6vw;align-self:center}.range-hero h1{font-family:Italiana,Georgia,serif;font-size:clamp(52px,5.6vw,88px);line-height:1.07;letter-spacing:-.035em}.range-hero-copy .lede{font-size:18px;max-width:550px}.range-hero-photo{background:#e4e5df;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:55px}.range-hero-photo img{width:100%;max-height:540px;object-fit:contain;mix-blend-mode:multiply}.range-hero-photo>a{position:absolute;bottom:24px;left:30px;right:30px;font-size:14px}.range-distributor{font-size:14px;margin-top:24px;color:var(--muted)}.range-distributor a{text-decoration:underline;text-underline-offset:4px}.range-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);padding:0 6vw}.range-facts>div{padding:32px 30px 20px 0}.range-facts>div+div{border-left:1px solid var(--line);padding-left:30px}.range-facts .eyebrow{margin-bottom:10px}.range-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}.range-product{min-width:0}.range-product>div{aspect-ratio:1;background:#e7e8e2;overflow:hidden}.range-product img{width:100%;height:100%;object-fit:contain;padding:20px;mix-blend-mode:multiply}.range-product .eyebrow{margin:20px 0 10px}.range-product h3{font-size:24px;line-height:1.2;letter-spacing:-.02em;margin-bottom:14px}.range-product>span{font-size:14px;color:var(--muted)}.range-products>.text-link{display:inline-block;margin-top:40px}.range-products>p{margin-top:40px;max-width:780px}.marine-note{margin-top:85px;max-width:900px;border-top:1px solid var(--line);padding-top:50px}.marine-note p{max-width:740px}.marine-note h2{font-size:48px}.marine-note .small-note{margin-top:24px}.distributor-band{display:flex;justify-content:space-between;align-items:center;gap:45px;background:#242823;color:#f4f4f0;padding:70px 6vw}.distributor-band h2{font-size:clamp(40px,4.3vw,65px)}.distributor-band>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.distributor-band .solid-button{background:#f4f4f0;color:#242823}.piano-space{background:#e4e5df}.piano-space img{object-fit:contain!important;mix-blend-mode:multiply}.eyebrow{font-size:13px}.footer-bottom{font-size:14px}.catalog-mast nav,.product-page .masthead nav{font-size:14px;display:flex;gap:24px}.catalog-type,.catalog-card p,.spec-note,.gallery-stage figcaption,.dealer-link small{font-size:14px}.product-copy h1{font-size:clamp(40px,4vw,66px);line-height:1.08;overflow-wrap:anywhere}.product-copy .model-label select{max-width:100%;width:100%;text-overflow:ellipsis}.catalog-heading h1{font-size:clamp(42px,4vw,70px)}.product-copy,.catalog-main{min-width:0}.retail-partners{padding:24px 0}.dealer-link{padding:18px 0}.catalog-card h2{line-height:1.2}.catalog-query-label input{font-size:16px}.catalog-sidebar{font-size:14px}.catalog-filters select{font-size:14px}.contact-email{font-size:clamp(27px,3vw,46px);overflow-wrap:anywhere}.gallery-stage figure img{object-fit:contain}.range-hero-photo.marine-photo{padding:0;background:#202722}.range-hero-photo.marine-photo img{height:100%;max-height:none;min-height:680px;object-fit:cover;mix-blend-mode:normal}.range-hero-photo.marine-photo>a{background:#171918d9;color:white;padding:12px}.section-heading{gap:30px}.hero-copy h1{line-height:1.03}
@media(min-width:1500px){.range-grid{gap:60px 36px}.range-hero-copy{padding-left:max(6vw,calc((100vw - 1450px)/2))}}
@media(max-width:1000px){.range-grid,.range-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.range-hero-copy{padding:60px 5vw}.range-hero-photo{padding:35px}.range-hero{min-height:600px}.range-hero-photo.marine-photo img{min-height:600px}.catalog-mast nav,.product-page .masthead nav{gap:14px}}
@media(max-width:700px){.range-hero{grid-template-columns:1fr}.range-hero-copy{padding:48px 24px 35px}.range-hero h1{font-size:52px}.range-hero-photo{min-height:360px;padding:35px 35px 70px}.range-hero-photo img{max-height:330px}.range-hero-photo.marine-photo img{min-height:400px;max-height:460px}.range-facts{grid-template-columns:1fr;padding:0 24px}.range-facts>div,.range-facts>div+div{border-left:0;padding:22px 0 10px}.range-facts>div+div{border-top:1px solid var(--line)}.range-grid,.range-product-grid{gap:32px 16px}.range-tile-image{aspect-ratio:1}.range-tile-image img{padding:18px}.range-tile-caption h3{font-size:22px}.range-tile>p{font-size:14px}.range-product h3{font-size:21px}.range-product img{padding:10px}.distributor-band{flex-direction:column;align-items:flex-start;padding:50px 24px}.section-heading{align-items:flex-start;flex-direction:column}.range-directory{padding-top:0}.all-collection-link{margin-top:55px}.marine-note h2{font-size:38px}.catalog-mast nav,.product-page .masthead nav{flex-wrap:wrap;font-size:14px;gap:6px 16px}.catalog-mast,.product-page .masthead{height:auto;min-height:90px;gap:16px;padding-block:18px}.product-page .masthead .brand{max-width:42%}.contact-email{font-size:30px}.range-tile-caption>span{font-size:20px}.hero-copy>p{max-width:290px}.range-product .eyebrow{font-size:12px}}
@media(max-width:390px){.range-grid,.range-product-grid{grid-template-columns:1fr}.range-tile-image{aspect-ratio:1.2}.range-hero h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){.range-tile-image img{transition:none}}
.kc-systems{display:flex;flex-wrap:wrap;gap:28px;margin-top:45px}.marine-control-image{width:100%;height:auto;max-height:400px;object-fit:contain;margin-bottom:45px}.range-products .range-product-grid:has(>.range-product:only-child){grid-template-columns:minmax(240px,420px)}
/* Let the hero grow with its content: CTA and caption have separate rows. */
.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;column-gap:48px;row-gap:48px;height:auto;min-height:max(780px,100svh);max-height:none;padding:170px 6vw 28px}
.hero-copy{grid-column:1;grid-row:1;align-self:center;min-width:0;max-width:850px;padding:0}
.hero-index{grid-column:1 / -1;grid-row:2;position:relative;inset:auto;align-self:end;margin:0;flex-wrap:wrap;font-size:12px}
.aperture-control{grid-column:2;grid-row:1;position:relative;inset:auto;align-self:center;justify-self:end;max-width:100%}
@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto auto;row-gap:32px;padding-top:155px}.hero-copy{padding:0}.aperture-control{grid-column:1;grid-row:2;justify-self:start}.hero-index{grid-row:3}}
@media(max-width:700px){.hero{min-height:100svh;padding:135px 24px 24px;row-gap:30px}.hero-copy{padding:0}.hero h1{font-size:clamp(64px,12vw,105px)}.hero-index{font-size:11px;gap:14px}.aperture-control{font-size:13px}}
/* Bound product images to the actual card frame, not their intrinsic square size. */
.catalog-photo,.range-product>div,.range-tile-image{position:relative;min-width:0;min-height:0}
.catalog-photo img,.range-product>div>img,.range-tile-image>img{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center;padding:clamp(12px,1.4vw,24px);transform:none}
.catalog-card:hover .catalog-photo img,.range-tile:hover .range-tile-image img{transform:none}
