/* Site-wide sizing. The home-page composition is the reference. */
:root{--site-width:1440px;--site-gutter:4vw;--site-inset:max(var(--site-gutter),calc((100% - var(--site-width))/2));--section-space:64px;--layout-gap:64px;--hero-image-height:620px;--heading-hero:clamp(38px,4.2vw,64px);--heading-section:clamp(32px,4vw,52px)}
.membership-intro,.si-visual-hero{padding:var(--section-space) var(--site-inset);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--layout-gap);align-items:center;text-align:start;min-height:0}
.membership-intro h1,.si-visual-hero .si-hero-copy h1{font-size:var(--heading-hero);font-weight:600;letter-spacing:-.045em;line-height:1.08;margin:0 0 36px;max-width:740px}
.membership-household,.si-visual-hero .si-hero-photo{height:var(--hero-image-height);min-height:0;margin:0;border-radius:28px;overflow:hidden}
.si-visual-hero .si-hero-imagery{max-width:none}
.membership-household img,.si-visual-hero .si-hero-photo img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.si-visual-hero .si-hero-photo img{object-position:center}
.journey-inner{max-width:var(--site-width)}
.journey-section,.product-overview,.catalogue-purpose{padding:var(--section-space) var(--site-inset)}
.journey-section h2,.product-overview>h2,.catalogue-purpose h2{font-size:var(--heading-section)}
.journey-hero:not(.si-visual-hero){padding-inline:var(--site-inset)}
.journey-hero:not(.si-visual-hero)>h2{font-size:var(--heading-hero)}
.catalogue-nav{max-width:var(--site-width);padding-inline:0;width:calc(100% - 2 * var(--site-gutter))}
@media(max-width:900px){:root{--site-gutter:24px;--section-space:36px;--layout-gap:36px;--hero-image-height:440px;--heading-hero:clamp(34px,7vw,48px)}.membership-intro,.si-visual-hero{grid-template-columns:1fr;text-align:center}.membership-intro h1,.si-visual-hero .si-hero-copy h1{margin-inline:auto}.membership-household,.si-visual-hero .si-hero-imagery{width:100%;max-width:720px;margin-inline:auto}.si-hero-copy .journey-actions{justify-content:center}.si-hero-copy .membership-disclosure{margin-inline:auto!important}}
@media(max-width:700px){:root{--section-space:32px;--layout-gap:28px;--heading-hero:36px;--hero-image-height:clamp(240px,66.67vw,440px)}.membership-intro h1,.si-visual-hero .si-hero-copy h1{margin-bottom:28px}}

/* Mobile product tiles run edge to edge; titles have no side inset. */
@media(max-width:700px){
.home-hardware-pair,.catalogue-home .product-pair{padding-inline:0}
.home-hardware-pair .feature-copy,.catalogue-home .product-tile .feature-copy{padding-inline:0}
.catalogue-home .feature h2,.catalogue-home .product-tile h2{width:100%;max-width:none;margin-inline:0;padding-inline:0}
.home-hardware-pair .feature-actions,.catalogue-home .product-tile .feature-actions{padding-inline:20px;flex-wrap:wrap}
}

/* Max chapters use the same content grid; wide films must not crop the subject. */
.product-page{--content-width:var(--site-width);--page-inset:var(--site-inset)}
.product-page .section-pad{padding:var(--section-space) var(--site-inset)}
.product-page .chapter h2{font-size:var(--heading-section)}
@media(min-width:901px){
.product-page .max-film{width:100%;margin-inline:0}
.product-page .max-film .cinema-stage{height:auto;min-height:0;max-height:none}
.product-page .max-film video,.product-page .max-film .cinema-stage video{width:100%;height:auto;max-height:var(--hero-image-height);aspect-ratio:3/2;object-fit:contain;object-position:center;mask-image:none;-webkit-mask-image:none}
.product-page .max-film figcaption,.product-page .max-film .cinema-stage figcaption{padding-inline:0!important}
.product-page .max-film .cinema-toggle{inset-inline-end:20px}
}

/* Blend the source frame itself, rather than fading through the subject. */
.product-page .max-film,.product-page .max-film .cinema-stage{background:#000;border:0;border-radius:0;box-shadow:none}
.product-page .max-film video,.product-page .max-film .cinema-stage video{mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 2%,#000 88%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 2%,#000 88%,transparent);-webkit-mask-composite:source-in}
@media(min-width:901px){.product-page .max-film video,.product-page .max-film .cinema-stage video{width:min(100%,calc(var(--hero-image-height) * 1.5));margin-inline:auto}}

.catalogue-home .membership-intro{margin-bottom:12px}
@media(max-width:700px){.catalogue-home .membership-intro{margin-bottom:10px}}

/* One footer component, with a dark theme for dark product pages. */
.catalogue-footer{padding:45px var(--site-inset);background:#f5f5f7;color:#6e6e73;font-size:12px;line-height:1.6}
.catalogue-footer>a:first-child{display:inline-flex;align-items:center;width:36px;height:36px}
.catalogue-footer>a:first-child img{width:36px;height:36px;max-width:36px;object-fit:contain}
.catalogue-footer nav{display:flex;flex-wrap:wrap;gap:30px;margin:30px 0 22px}
.catalogue-footer nav a{min-height:44px;display:flex;align-items:center}
.catalogue-footer>div{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid #d2d2d7;margin-top:25px;padding-top:20px}
.catalogue-footer>div span{margin-inline-start:auto}
.catalogue-footer .footer-note{font-size:12px;color:inherit;margin:22px 0 0;max-width:760px}
.product-page .catalogue-footer,.si-journey .catalogue-footer{background:#000;color:#a1a1a6}
.product-page .catalogue-footer nav,.si-journey .catalogue-footer nav{color:#e8e8ed}
.product-page .catalogue-footer>div,.si-journey .catalogue-footer>div{border-color:#ffffff26}
.product-page .catalogue-footer>a:first-child img,.si-journey .catalogue-footer>a:first-child img{filter:invert(1)}
@media(max-width:700px){.catalogue-footer{padding-block:35px}.catalogue-footer>div span{margin-inline-start:0;flex-basis:100%}}

/* The logo and utilities align exactly with section and footer content. */
:root{--nav-gutter:var(--site-inset)}
header.catalogue-nav,header.global-nav,body.configure-page header.global-nav{width:100%;max-width:none;margin:0;padding-inline:var(--site-inset);background:#fff;color:#1d1d1f}
header.catalogue-nav nav,header.global-nav nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:600}
header.catalogue-nav nav a,header.global-nav nav a{display:inline-flex;align-items:center;min-height:44px}
body .product-nav,body .journey-nav,body.configure-page .product-nav.light,body .config-bottom-bar{padding-inline:var(--site-inset)}
.product-page header.catalogue-nav,.product-page header.global-nav,.si-journey header.catalogue-nav{background:#000;color:#e8e8ed}
.product-page header.catalogue-nav>a:first-child img,.si-journey header.catalogue-nav>a:first-child img{filter:invert(1)}
.product-page header.catalogue-nav nav a,.product-page header.global-nav nav a{color:#e8e8ed}
@media(max-width:600px){header.catalogue-nav nav,header.global-nav nav{gap:12px;font-size:11px}}
