.header-inner { gap:24px; }
.header-inner nav { gap:19px; }
.nav-family { position:relative; }
.nav-family-trigger { display:flex; align-items:center; gap:2px; }
.nav-family-toggle { display:grid; place-items:center; width:25px; height:40px; padding:0; }
.nav-family-toggle svg { width:13px; height:13px; }
.nav-family-toggle[aria-expanded=true] svg { transform:rotate(180deg); }
.opening-dropdown { position:absolute; top:100%; left:-24px; width:310px; padding:20px 24px; background:#fff; border:1px solid var(--line); box-shadow:0 18px 40px #16372618; }
.opening-dropdown.wide { width:570px; }
.opening-dropdown.wide>div { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.header-inner nav .opening-dropdown a { display:flex; align-items:center; gap:12px; padding:10px 0; font-size:11px; white-space:normal; line-height:1.6; }
.header-inner nav .opening-dropdown a:hover { color:var(--accent); }
.header-inner nav .opening-dropdown .dropdown-overview { border-bottom:1px solid var(--line); margin-bottom:10px; padding:0 0 15px; justify-content:space-between; color:var(--green); font-weight:650; }
.opening-dropdown svg { width:15px; height:15px; }
.opening-gateways { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:42px; }
.opening-gateways>a { background:var(--soft); border-top:2px solid var(--green); padding:25px 30px; display:grid; grid-template-columns:1fr auto; gap:8px; }
.opening-gateways>a>span { grid-column:span 2; font-size:9px; color:var(--muted); }
.opening-gateways strong { font-size:28px; font-weight:500; }
.opening-gateways small { display:flex; gap:25px; align-items:center; font-size:11px; }
.opening-hero { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; padding-block:30px 70px; }
.opening-hero-copy h1 { font-size:53px; line-height:1.15; max-width:620px; }
.opening-hero-copy>p:not(.eyebrow) { font-size:15px; line-height:1.9; color:var(--muted); margin-top:25px; max-width:500px; }
.opening-hero-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin-top:30px; }
.opening-hero-tools { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; margin-top:22px; }
.opening-hero-tools a,.opening-hero-tools button { display:inline-flex; align-items:center; gap:8px; font-size:11px; line-height:1.6; padding-block:6px; color:var(--green); }
.opening-hero-tools svg { width:16px; height:16px; flex-shrink:0; }
.opening-guidance { margin-bottom:24px; max-width:700px; font-size:13px; line-height:1.9; color:var(--muted); }
.opening-hero-note { display:flex; gap:12px; align-items:center; border-top:1px solid var(--line); margin-top:40px; padding-top:20px; font-size:10px; color:var(--muted); }
.opening-hero-note svg { width:18px; height:18px; color:var(--green); }
.opening-hero-figure { margin:0; min-width:0; }
.opening-hero-figure>img { width:100%; height:390px; object-fit:contain; background:#f4f5f1; padding:12px; }
.opening-hero-figure figcaption { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:10px; line-height:1.7; padding-top:14px; color:var(--muted); }
.opening-hero-figure figcaption a { display:flex; align-items:center; gap:6px; flex-shrink:0; color:var(--green); }
.opening-hero-figure figcaption svg { width:13px; height:13px; }
.opening-category-section { padding-block:30px 100px; border-top:1px solid var(--line); }
.opening-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-bottom:22px; }
.opening-section-head h2 { font-size:32px; line-height:1.25; }
.opening-section-head .search-field { min-width:230px; }
.opening-count,.gallery-result-count { font-size:11px; color:var(--muted); margin-block:10px 25px; }
.opening-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 28px; }
.opening-card { min-width:0; }
.opening-card-photo { aspect-ratio:1.28; position:relative; background:var(--soft); overflow:hidden; }
.opening-card-photo>img { width:100%; height:100%; padding:20px; object-fit:contain; transition:transform .4s; }
.opening-card a:hover .opening-card-photo>img { transform:scale(1.035); }
.opening-card-title { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-top:18px; }
.opening-card-title h2 { font-size:20px; line-height:1.4; }
.opening-card-title>span { flex-shrink:0; font-size:10px; color:var(--muted); padding-top:4px; }
.opening-card p { font-size:12px; line-height:1.85; color:var(--muted); margin-top:10px; }
.opening-gallery-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:55px; padding-block:35px 85px; border-top:1px solid var(--line); align-items:start; }
.opening-sidebar { position:sticky; top:115px; max-height:calc(100vh - 140px); min-width:0; overflow-y:auto; padding-right:14px; scrollbar-width:thin; }
.opening-sidebar h2 { font-size:17px; margin-bottom:20px; }
.opening-sidebar nav { display:flex; flex-direction:column; }
.opening-sidebar nav a { display:flex; justify-content:space-between; gap:12px; padding:11px 10px; border-bottom:1px solid var(--line); font-size:11px; line-height:1.5; }
.opening-sidebar nav a>span { font-size:9px; color:var(--muted); padding-top:2px; }
.opening-sidebar nav a[aria-current=page] { background:var(--green); color:white; }
.opening-sidebar nav a[aria-current=page]>span { color:#d6e4d6; }
.opening-sidebar nav a:hover:not([aria-current]) { background:var(--soft); }
.sidebar-catalogs { margin-top:30px; }
.sidebar-catalogs h3 { font-size:12px; margin-bottom:12px; }
.sidebar-catalogs a { display:flex; gap:9px; align-items:center; font-size:10px; padding:12px 0; border-bottom:1px solid var(--line); }
.sidebar-catalogs svg { width:16px; height:16px; }
.opening-gallery-main { min-width:0; }
.gallery-total { font-size:11px; color:var(--muted); white-space:nowrap; padding-bottom:4px; }
.gallery-description { font-size:12px; color:var(--muted); margin-bottom:28px; line-height:1.8; }
.gallery-controls { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-block:10px 18px; border-block:1px solid var(--line); }
.gallery-controls .search-field { width:100%; max-width:320px; min-width:0; }
.gallery-series-label { display:flex; align-items:center; gap:12px; font-size:10px; flex:1; justify-content:flex-end; }
.gallery-series-label select { max-width:260px; min-width:0; width:100%; font:inherit; font-size:11px; padding:12px; border:1px solid var(--line); background:white; border-radius:0; }
.gallery-result-count { margin-block:18px; }
.opening-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 20px; }
.gallery-view { display:block; position:relative; background:#f4f5f1; aspect-ratio:.93; overflow:hidden; }
.gallery-view>img { width:100%; height:100%; padding:12px; object-fit:contain; transition:transform .3s; }
.gallery-view:hover>img { transform:scale(1.03); }
.gallery-view>span { display:grid; place-items:center; width:30px; height:30px; background:#fff; position:absolute; bottom:10px; right:10px; }
.gallery-view svg { width:15px; height:15px; }
.gallery-card-copy { padding-top:14px; }
.gallery-card h3 { font-size:13px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.gallery-card p { font-size:10px; color:var(--muted); margin-top:5px; }
.gallery-card-copy>div { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding-top:11px; margin-top:14px; }
.gallery-card-copy a { display:flex; align-items:center; gap:5px; font-size:9px; }
.gallery-card-copy a:hover { color:var(--accent); }
.gallery-card-copy svg { width:12px; height:12px; }
.gallery-enquire { color:var(--green); font-weight:600; }
.gallery-pagination { display:flex; align-items:center; justify-content:center; gap:25px; margin-top:40px; }
.gallery-bottom-note { border-top:1px solid var(--line); margin-top:48px; padding-top:24px; display:flex; gap:40px; justify-content:space-between; }
.gallery-bottom-note p { font-size:11px; color:var(--muted); max-width:560px; line-height:1.85; }
.gallery-bottom-note a { font-size:11px; display:flex; align-items:center; gap:15px; flex-shrink:0; }
.gallery-bottom-note svg { width:16px; height:16px; }
.opening-cross-link { background:var(--soft); padding-block:48px; }
.opening-cross-link>.container { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.opening-cross-link h2 { font-size:30px; line-height:1.3; }
.opening-cross-link .button { flex-shrink:0; }
.gallery-dialog { border:0; padding:24px 30px; width:min(1100px,calc(100% - 48px)); max-height:calc(100dvh - 48px); color:var(--ink); background:white; }
.gallery-dialog::backdrop { background:#112b20b8; }
.gallery-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.gallery-dialog-head .eyebrow { margin:0; }
.gallery-dialog-stage { display:grid; grid-template-columns:40px minmax(0,1fr) 40px; align-items:center; gap:15px; margin-top:10px; }
#gallery-full-image { width:100%; height:55dvh; min-height:150px; background:#fafbf8; object-fit:contain; }
.gallery-dialog-caption { display:flex; justify-content:space-between; align-items:center; gap:35px; padding-top:23px; }
.gallery-dialog-caption h2 { font-size:22px; line-height:1.5; margin-top:5px; }
.gallery-dialog-caption p { font-size:10px; color:var(--muted); }
.gallery-dialog-caption>div:last-child { display:flex; align-items:center; gap:20px; flex-shrink:0; }
.gallery-dialog-caption .button { font-size:11px; gap:15px; }
.gallery-dialog-caption .text-link { font-size:10px; gap:12px; }
.reference-summary { margin-top:25px; display:flex; align-items:center; gap:15px; padding:14px; background:#fff; border-left:2px solid var(--green); }
.reference-summary img { width:76px; height:76px; object-fit:contain; }
.reference-summary>div { flex:1; min-width:0; }
.reference-summary strong { display:block; font-size:12px; }
.reference-summary a { font-size:10px; text-decoration:underline; color:var(--muted); }
.reference-summary>button { width:30px; height:35px; }
.reference-summary>button svg { width:15px; height:15px; }
@media (min-width:1281px) and (max-width:1410px) {
 .header-inner { gap:18px; } .header-inner nav { gap:15px; }
 .header-inner nav a { font-size:10px; } .header-actions { gap:10px; }
 .header-cta { font-size:10px; padding-inline:12px; }
 .brand { font-size:19px; }
}
@media (max-width:1280px) {
 .header-inner { height:72px; }
 .header-inner #main-nav { display:none; position:absolute; left:0; right:0; top:72px; margin:0; padding:16px 32px; background:white; border-bottom:1px solid var(--line); box-shadow:0 12px 20px #142b1410; max-height:calc(100dvh - 80px); overflow:auto; }
 .header-inner #main-nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 .header-inner nav a { font-size:13px; padding:13px 0; }
 .header-inner nav a[aria-current=page]:after { bottom:6px; right:auto; width:36px; }
 .header-actions { margin-left:auto; }
 .menu-toggle { display:inline-flex; }
 .nav-family-trigger { justify-content:space-between; }
 .nav-family-trigger>a { flex:1; }
 .nav-family-toggle { width:42px; height:42px; }
 .opening-dropdown,.opening-dropdown.wide { position:static; width:100%; padding:10px 16px 17px; background:var(--soft); border:0; box-shadow:none; }
 .header-inner nav .opening-dropdown a { font-size:12px; padding-block:9px; }
 .opening-hero { gap:45px; }
 .opening-hero-copy h1 { font-size:44px; }
 .opening-gallery-layout { grid-template-columns:190px minmax(0,1fr); gap:30px; }
 .opening-sidebar { top:95px; }
 .opening-gallery { gap:27px 16px; }
 .gallery-dialog-caption>div:last-child { flex-direction:column; align-items:flex-end; gap:10px; }
}
@media (max-width:980px) {
 .opening-hero { gap:30px; }
 .opening-hero-copy h1 { font-size:36px; }
 .opening-hero-copy>p:not(.eyebrow) { font-size:13px; }
 .opening-hero-figure>img { height:340px; }
 .opening-hero-actions { gap:17px; }
 .opening-hero-actions .button { font-size:11px; padding-inline:18px; }
 .opening-card-title { display:block; }
 .opening-card-title>span { display:block; margin-top:7px; }
 .opening-card-title h2 { font-size:18px; }
 .opening-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .opening-gallery-layout { gap:27px; grid-template-columns:175px minmax(0,1fr); }
 .gallery-controls { flex-direction:column; align-items:stretch; gap:16px; }
 .gallery-controls .search-field { max-width:none; }
 .gallery-series-label { justify-content:flex-start; }
 .gallery-series-label select { max-width:none; }
 .gallery-bottom-note { display:block; }
 .gallery-bottom-note a { margin-top:18px; }
}
@media (max-width:760px) {
 .header-inner { height:67px; gap:10px; }
 .header-inner #main-nav { top:67px; padding:14px 20px 25px; }
 .opening-dropdown.wide>div { grid-template-columns:1fr; }
 .header-inner nav .opening-dropdown a { font-size:12px; }
 .opening-gateways { gap:15px; margin-bottom:28px; }
 .opening-gateways>a { padding:18px; display:flex; flex-direction:column; gap:9px; }
 .opening-gateways>a>span { font-size:7px; }
 .opening-gateways strong { font-size:25px; }
 .opening-gateways small { font-size:10px; justify-content:space-between; gap:10px; }
 .opening-hero { grid-template-columns:1fr; padding-block:15px 40px; gap:30px; }
 .opening-hero-copy h1 { font-size:36px; }
 .opening-hero-copy>p:not(.eyebrow) { margin-top:20px; font-size:13px; }
 .opening-hero-actions { margin-top:23px; gap:18px; }
 .opening-hero-actions .button { min-height:45px; font-size:10px; padding-inline:16px; }
 .opening-hero-actions .text-link { font-size:10px; gap:15px; }
 .opening-hero-note { margin-top:25px; font-size:9px; }
 .opening-hero-figure>img { height:295px; }
 .opening-hero-figure figcaption { font-size:9px; gap:13px; align-items:flex-start; }
 .opening-category-section { padding-block:28px 60px; }
 .opening-section-head { display:block; margin-bottom:20px; }
 .opening-section-head h2 { font-size:27px; line-height:1.4; }
 .opening-section-head .search-field { min-width:0; }
 .opening-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 15px; }
 .opening-card-photo { aspect-ratio:.94; }
 .opening-card-photo>img { padding:10px; }
 .opening-card-title { margin-top:14px; }
 .opening-card-title h2 { font-size:16px; line-height:1.4; }
 .opening-card-title>span { font-size:9px; }
 .opening-card p { font-size:10px; line-height:1.9; }
 .opening-gallery-layout { grid-template-columns:minmax(0,1fr); padding-block:25px 50px; gap:25px; }
 .opening-sidebar { position:static; max-height:none; padding:0; overflow:visible; }
 .opening-sidebar h2 { font-size:13px; margin-bottom:13px; }
 .opening-sidebar nav { display:flex; flex-direction:row; overflow-x:auto; gap:8px; padding-bottom:10px; scrollbar-width:thin; }
 .opening-sidebar nav a { white-space:nowrap; padding:10px 13px; border:1px solid var(--line); font-size:10px; gap:14px; flex-shrink:0; }
 .sidebar-catalogs { display:none; }
 .opening-gallery-main .opening-section-head { display:flex; gap:20px; }
 .opening-gallery-main .opening-section-head h2 { font-size:26px; }
 .gallery-total { font-size:10px; }
 .gallery-description { font-size:11px; }
 .gallery-controls { gap:12px; padding-top:15px; }
 .gallery-controls .search-field { margin-top:0; }
 .gallery-controls input,.gallery-series-label select { font-size:16px; }
 .gallery-series-label { font-size:10px; gap:20px; }
 .gallery-series-label>span { flex-shrink:0; }
 .gallery-series-label select { padding:9px 7px; }
 .gallery-result-count { font-size:10px; }
 .opening-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 15px; }
 .gallery-view { aspect-ratio:.79; }
 .gallery-view>img { padding:8px; }
 .gallery-card h3 { font-size:12px; }
 .gallery-card p { font-size:9px; }
 .gallery-card-copy>div { gap:7px; flex-wrap:wrap; }
 .gallery-card-copy a { font-size:9px; min-height:28px; }
 .gallery-pagination { gap:17px; margin-top:30px; }
 .gallery-pagination .button { font-size:10px; padding-inline:16px; }
 .gallery-pagination .text-link { font-size:10px; }
 .gallery-bottom-note { margin-top:30px; }
 .gallery-bottom-note p { font-size:10px; }
 .opening-cross-link { padding-block:35px; }
 .opening-cross-link>.container { display:block; }
 .opening-cross-link h2 { font-size:26px; }
 .opening-cross-link .button { margin-top:24px; }
 .gallery-dialog { padding:16px; width:calc(100% - 20px); max-height:calc(100dvh - 20px); }
 .gallery-dialog-head .eyebrow { font-size:8px; }
 .gallery-dialog-head .icon-button { width:30px; height:35px; }
 .gallery-dialog-stage { grid-template-columns:27px minmax(0,1fr) 27px; gap:3px; }
 .gallery-dialog-stage>.icon-button { width:27px; height:44px; }
 #gallery-full-image { height:43dvh; min-height:140px; }
 .gallery-dialog-caption { display:block; padding-top:17px; }
 .gallery-dialog-caption h2 { font-size:19px; }
 .gallery-dialog-caption p { font-size:9px; line-height:1.8; }
 .gallery-dialog-caption>div:last-child { margin-top:17px; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; }
 .gallery-dialog-caption .button { font-size:9px; min-height:42px; padding:10px; gap:7px; }
 .gallery-dialog-caption .text-link { font-size:9px; gap:5px; }
 .gallery-dialog-caption svg { width:14px; height:14px; }
 .reference-summary { padding:10px; gap:11px; }
 .reference-summary img { width:60px; height:65px; }
}
@media (max-width:370px) {
 .opening-hero-copy h1 { font-size:32px; }
 .opening-card-title h2 { font-size:14px; }
 .opening-hero-figure>img { height:260px; }
 .opening-gallery-main .opening-section-head h2 { font-size:23px; }
 .gallery-card h3 { font-size:11px; }
 .gallery-dialog-caption>div:last-child { flex-direction:column; align-items:stretch; }
}

/* Series and product-detail pages */
.opening-card-photo--system { background:#fff; }
.opening-card-photo--system>img { padding:8px; object-fit:contain; }
.detail-index-controls { border-block:1px solid var(--line); padding-block:10px 18px; }
.detail-index-controls .search-field { width:100%; max-width:320px; }
.detail-index-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 21px; }
.detail-index-card { min-width:0; }
.detail-index-photo { position:relative; display:block; aspect-ratio:.93; overflow:hidden; background:#f4f5f1; }
.detail-index-photo>img { width:100%; height:100%; object-fit:contain; padding:10px; transition:transform .3s; }
.detail-index-photo:hover>img { transform:scale(1.025); }
.detail-index-card--windows .detail-index-photo { aspect-ratio:4/3; background:#fff; }
.detail-index-card--windows .detail-index-photo>img { padding:8px; object-fit:contain; }
.detail-index-copy { padding-top:14px; }
.detail-index-copy .eyebrow { margin-bottom:7px; font-size:8px; color:var(--muted); }
.detail-index-copy h3 { font-size:14px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.detail-index-copy>p:not(.eyebrow) { min-height:18px; margin-top:5px; color:var(--muted); font-size:10px; line-height:1.6; }
.detail-index-copy .text-link { width:100%; margin-top:13px; border-top:1px solid var(--line); border-bottom:0; padding-top:11px; font-size:9px; }
.related-detail-grid { margin-top:0; }
.product-detail-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr); align-items:center; gap:80px; padding-bottom:92px; }
.product-detail-hero>figure { margin:0; min-width:0; }
.product-detail-hero>figure>img { width:100%; height:565px; padding:18px; object-fit:contain; background:#f4f5f1; }
.product-detail-hero figcaption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:13px; color:var(--muted); font-size:10px; line-height:1.6; }
.product-detail-hero figcaption a,.product-detail-view figcaption a { display:flex; align-items:center; gap:6px; color:var(--green); flex-shrink:0; }
.product-detail-hero figcaption svg,.product-detail-view figcaption svg { width:13px; height:13px; }
.product-detail-hero h1 { max-width:600px; font-size:48px; line-height:1.15; overflow-wrap:anywhere; }
.product-detail-reference { display:inline-flex; max-width:100%; margin-top:18px; padding:5px 9px; background:var(--soft); color:var(--green); font-size:10px; overflow-wrap:anywhere; }
.product-detail-hero .lead { margin-top:20px; max-width:520px; font-size:14px; }
.product-detail-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:28px; }
.product-detail-actions .button { font-size:11px; }
.product-detail-actions .text-link { font-size:10px; }
.product-detail-source { display:flex; align-items:center; gap:11px; margin-top:33px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.product-detail-source svg { width:17px; height:17px; color:var(--green); }
.product-detail-views { padding-block:82px; background:#f8f9f7; }
.product-detail-view-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 21px; }
.product-detail-view { min-width:0; margin:0; }
.product-detail-view>a { display:block; position:relative; background:#eef1ec; aspect-ratio:.98; overflow:hidden; }
.product-detail-view img { width:100%; height:100%; padding:12px; object-fit:contain; transition:transform .3s; }
.product-detail-view:hover img { transform:scale(1.025); }
.product-detail-view .round-arrow { border-radius:0; }
.product-detail-view figcaption { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-top:12px; color:var(--muted); font-size:10px; line-height:1.6; }
.product-detail-view figcaption>span { min-width:0; overflow-wrap:anywhere; }
.product-detail-confirm { padding-block:86px; border-bottom:1px solid var(--line); }
.product-detail-confirm-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }
.product-detail-confirm-grid article { position:relative; min-width:0; padding:31px 28px 10px; border-right:1px solid var(--line); }
.product-detail-confirm-grid article:first-child { padding-left:0; }
.product-detail-confirm-grid article:last-child { border-right:0; }
.product-detail-confirm-grid svg { width:24px; height:24px; color:var(--green); margin-bottom:22px; }
.product-detail-confirm-grid h3 { font-size:18px; line-height:1.4; margin-bottom:11px; }
.product-detail-confirm-grid p { color:var(--muted); font-size:12px; line-height:1.9; }
.product-detail-context { padding-block:86px; background:var(--soft); }
.product-detail-context-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:19px; }
.product-detail-context-grid figure { margin:0; min-width:0; background:#fff; }
.product-detail-context-grid img { width:100%; height:205px; padding:10px; object-fit:contain; }
.product-detail-context-grid figcaption { padding:0 12px 13px; color:var(--muted); font-size:10px; line-height:1.6; }
.product-detail-process { padding-block:86px; background:var(--green); color:#fff; }
.product-detail-process .eyebrow { color:#c7dbc9; }
.product-detail-process h2 { max-width:580px; font-size:39px; line-height:1.25; }
.product-detail-process ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; margin-top:44px; border-top:1px solid #ffffff44; }
.product-detail-process li { display:grid; grid-template-columns:auto 1fr; min-width:0; gap:18px; padding:28px 22px 4px 0; margin-right:22px; border-right:1px solid #ffffff32; }
.product-detail-process li:last-child { margin-right:0; border-right:0; }
.product-detail-process li>span { color:#c7dbc9; font-size:10px; }
.product-detail-process h3 { font-size:17px; line-height:1.4; margin-bottom:10px; }
.product-detail-process p { color:#dce9dd; font-size:11px; line-height:1.85; }

/* Scenario imagery is intentionally different from product-card imagery. */
.solution-tile>img { object-fit:cover; }
.solution-media { min-width:0; }
.solution-media-main { overflow:hidden; background:var(--soft); }
.solution-media-main>img { width:100%; height:390px; object-fit:cover; }
.solution-section .solution-media-main>img { height:390px; }

@media (max-width:980px) {
 .detail-index-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .product-detail-hero { gap:42px; grid-template-columns:minmax(0,1fr) minmax(300px,.9fr); }
 .product-detail-hero>figure>img { height:475px; }
 .product-detail-hero h1 { font-size:39px; }
 .product-detail-context-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .product-detail-process ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; }
 .product-detail-process li:nth-child(2) { margin-right:0; border-right:0; }
 .solution-section .solution-media-main>img { height:355px; }
}
@media (max-width:760px) {
 .opening-card-photo--system>img { padding:0; }
 .detail-index-controls .search-field { margin-top:0; }
 .detail-index-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px 15px; }
 .detail-index-photo { aspect-ratio:.8; }
 .detail-index-photo>img { padding:7px; }
 .detail-index-copy { padding-top:11px; }
 .detail-index-copy h3 { font-size:12px; }
 .detail-index-copy>p:not(.eyebrow) { font-size:9px; }
 .detail-index-copy .text-link { font-size:9px; gap:8px; }
 .product-detail-hero { display:flex; flex-direction:column; align-items:stretch; gap:27px; padding-bottom:52px; }
 .product-detail-hero>figure>img { height:355px; padding:10px; }
 .product-detail-hero figcaption { font-size:9px; align-items:flex-start; }
 .product-detail-hero h1 { font-size:34px; }
 .product-detail-hero .lead { font-size:13px; }
 .product-detail-actions { gap:15px; margin-top:23px; }
 .product-detail-actions .button { font-size:10px; min-height:44px; padding-inline:15px; gap:12px; }
 .product-detail-source { font-size:9px; margin-top:25px; }
 .product-detail-views,.product-detail-confirm,.product-detail-context,.product-detail-process { padding-block:55px; }
 .product-detail-view-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 15px; }
 .product-detail-view>a { aspect-ratio:.82; }
 .product-detail-view img { padding:7px; }
 .product-detail-view figcaption { font-size:9px; display:block; }
 .product-detail-view figcaption a { margin-top:7px; }
 .product-detail-confirm-grid { grid-template-columns:1fr; }
 .product-detail-confirm-grid article,.product-detail-confirm-grid article:first-child { padding:24px 0; border-right:0; border-bottom:1px solid var(--line); }
 .product-detail-confirm-grid article:last-child { border-bottom:0; }
 .product-detail-confirm-grid h3 { font-size:17px; }
 .product-detail-confirm-grid p { font-size:11px; }
 .product-detail-context-grid { grid-template-columns:1fr; gap:15px; }
 .product-detail-context-grid img { height:auto; max-height:420px; }
 .product-detail-context-grid figcaption { font-size:10px; }
 .product-detail-process h2 { font-size:30px; }
 .product-detail-process ol { grid-template-columns:1fr; gap:0; margin-top:30px; }
 .product-detail-process li,.product-detail-process li:nth-child(2) { margin:0; padding:23px 0; border-right:0; border-bottom:1px solid #ffffff32; }
 .product-detail-process li:last-child { border-bottom:0; }
 .product-detail-process h3 { font-size:16px; }
 .product-detail-process p { font-size:11px; }
 .solution-media-main>img,.solution-section .solution-media-main>img { height:285px; }
}
@media (max-width:370px) {
 .detail-index-copy h3 { font-size:11px; }
 .product-detail-hero h1 { font-size:30px; }
 .product-detail-hero>figure>img { height:310px; }
}

/* Aluminum detail layout based on the supplied Rainbow Home design. */
.al-detail { --al-ink:#213b3a; --al-muted:#63736e; --al-line:#dce5df; color:var(--al-ink); }
.al-artwork-page { --al-line:#dce5df; }
.al-artwork-page .breadcrumb { flex-wrap:wrap; }
.wooden-door-selected { margin:0 0 30px; padding:24px; background:#f7f8f5; text-align:center; }
.wooden-door-selected img { width:100%; height:350px; object-fit:contain; }
.wooden-door-selected figcaption { padding-top:16px; font-size:13px; }
.al-artwork-header { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-bottom:28px; }
.al-artwork-header .eyebrow { display:flex; align-items:center; gap:16px; margin-bottom:10px; }
.al-artwork-header h1 { font-size:28px; line-height:1.3; }
.al-artwork-header>.button { flex-shrink:0; }
.al-artwork-container { max-width:1100px; width:calc(100% - 96px); margin-inline:auto; }
.al-artwork-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 0; border-top:1px solid var(--al-line); }
.al-artwork-toolbar>div { display:flex; align-items:center; gap:24px; }
.al-artwork-toolbar a,.al-artwork-toolbar button { display:inline-flex; align-items:center; gap:7px; font-size:11px; padding-block:4px; }
.al-artwork-toolbar svg { width:15px; height:15px; }
.al-artwork-frame { margin:0; width:100%; overflow:auto; background:#f4f7fb; border:1px solid var(--al-line); }
.al-artwork-image { display:block; width:100%; max-width:none; height:auto; }
.al-artwork-frame[data-enlarged] .al-artwork-image { width:150%; min-width:1100px; }
.al-artwork-frame[data-enlarged] a { display:block; width:max-content; }
.al-artwork-frame[data-enlarged].al-artwork-width-852 img { width:1278px; }
.al-artwork-frame[data-enlarged].al-artwork-width-1017 img { width:1525px; }
.al-artwork-text { border-bottom:1px solid var(--al-line); }
.al-artwork-text summary { display:flex; align-items:center; gap:12px; padding:24px 0; cursor:pointer; list-style:none; font-size:13px; font-weight:600; }
.al-artwork-text summary::-webkit-details-marker { display:none; }
.al-artwork-text summary>svg:last-child { margin-left:auto; width:16px; height:16px; }
.al-artwork-text[open] summary>svg:last-child { transform:rotate(45deg); }
.al-artwork-transcript { padding:4px 0 30px; }
.al-artwork-transcript h2 { font-size:26px; margin-bottom:15px; }
.al-artwork-transcript>p { font-size:13px; color:var(--muted); margin-bottom:25px; }
.al-artwork-transcript>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 35px; }
.al-artwork-transcript h3 { display:flex; gap:10px; font-size:17px; line-height:1.5; }
.al-artwork-transcript h3>span { font-size:11px; color:var(--green); padding-top:3px; }
.al-artwork-transcript section>p { font-size:13px; line-height:1.85; color:var(--muted); margin-top:10px; }
.al-artwork-page .al-product-views { margin-top:0; border-top:0; }
.al-artwork-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:45px 0 65px; }
.al-artwork-cta h2 { font-size:28px; line-height:1.3; }
.al-artwork-cta p { font-size:13px; color:var(--muted); margin-top:12px; }
.al-artwork-cta .button { flex-shrink:0; }
@media(max-width:760px) {
 .al-artwork-container { width:calc(100% - 32px); }
 .al-artwork-header { display:block; padding-bottom:20px; }
 .al-artwork-header h1 { font-size:24px; }
 .al-artwork-header>.button { margin-top:18px; min-height:44px; padding:10px 15px; font-size:11px; }
 .al-artwork-toolbar { gap:10px; flex-wrap:wrap; }
 .al-artwork-toolbar>div { gap:16px; }
 .al-artwork-toolbar a,.al-artwork-toolbar button { font-size:10px; min-height:32px; }
 .al-artwork-text summary { font-size:12px; }
 .al-artwork-transcript h2 { font-size:23px; }
 .al-artwork-transcript>div { grid-template-columns:1fr; }
 .al-artwork-cta { display:block; padding:35px 0 50px; }
 .al-artwork-cta h2 { font-size:24px; }
 .al-artwork-cta .button { margin-top:20px; }
}
.al-detail figure { margin:0; }
.al-detail .breadcrumb { flex-wrap:wrap; }
.al-hero { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:64px; align-items:center; padding-bottom:64px; }
.al-hero h1 { font-size:clamp(36px,3.6vw,58px); line-height:1.08; letter-spacing:-.045em; max-width:650px; }
.al-hero .eyebrow { margin-bottom:20px; letter-spacing:.16em; }
.al-hero .al-opening-label { display:inline-flex; align-items:center; gap:16px; font-size:12px; font-weight:700; }
.al-opening-label:after { content:""; width:48px; height:1px; background:currentColor; }
.al-tagline { font-size:16px; margin-top:24px; font-weight:600; }
.al-lead { color:var(--al-muted); margin-top:15px; font-size:14px; line-height:1.85; max-width:520px; }
.al-benefits { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:32px 0; }
.al-benefits>div { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.al-benefits svg { width:26px; height:26px; stroke-width:1.25; }
.al-benefits span { max-width:84px; font-size:10px; line-height:1.5; }
.al-actions { display:flex; gap:14px; flex-wrap:wrap; }
.al-actions .button { padding-inline:19px; font-size:11px; gap:15px; }
.al-actions .button-outline { border:1px solid var(--al-ink); background:transparent; }
.al-hero-visual { background:#f1f4ef; padding:24px; min-width:0; }
.al-hero-visual>img { width:100%; height:420px; object-fit:contain; }
.al-hero-visual figcaption { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-top:23px; font-size:9px; line-height:1.5; }
.al-hero-visual figcaption>span { letter-spacing:.1em; }
.al-hero-visual figcaption a { display:flex; gap:7px; flex-shrink:0; align-items:center; }
.al-hero-visual figcaption svg { width:12px; height:12px; }
.al-section-nav { background:var(--green); color:#fff; }
.al-section-nav>div { display:flex; justify-content:space-between; gap:24px; overflow-x:auto; }
.al-section-nav a { font-size:11px; white-space:nowrap; padding:21px 0; }
.al-section-nav a:hover { color:#d6e7d7; }
.al-section { padding-block:55px; scroll-margin-top:100px; min-width:0; }
.al-section-head { display:flex; align-items:flex-start; gap:15px; margin-bottom:30px; }
.al-section-head>span { font-size:12px; line-height:1.5; border-top:2px solid var(--green); padding-top:5px; min-width:23px; }
.al-section-head h2 { font-size:25px; line-height:1.25; letter-spacing:-.03em; }
.al-section-head p { font-size:12px; color:var(--al-muted); line-height:1.75; margin-top:9px; }
.al-band { background:#f4f6f2; }
.al-note { color:var(--al-muted); font-size:11px; line-height:1.9; margin-top:23px; }
.al-body { color:var(--al-ink); font-size:12px; line-height:1.9; margin-top:22px; }
.al-config-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; max-width:950px; }
.al-config-grid figure { border:1px solid var(--al-line); padding:20px 18px 16px; background:#fff; }
.al-config-grid svg { width:100%; height:125px; }
.al-config-grid figcaption { font-size:11px; text-align:center; padding-top:10px; }
.al-product-views { margin-top:32px; border-top:1px solid var(--al-line); border-bottom:1px solid var(--al-line); }
.al-product-views summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:22px 0; cursor:pointer; font-size:13px; font-weight:600; list-style:none; }
.al-product-views summary::-webkit-details-marker { display:none; }
.al-product-views summary>span { display:flex; align-items:center; gap:14px; color:var(--al-muted); font-size:11px; font-weight:400; flex-shrink:0; }
.al-product-views summary svg { width:16px; height:16px; transition:transform .2s; }
.al-product-views[open] summary svg { transform:rotate(45deg); }
.al-product-views .product-detail-view-grid { padding:6px 0 27px; }
.al-product-views .product-detail-view>a>svg { position:absolute; right:12px; bottom:12px; width:18px; height:18px; }
.al-product-views figcaption { display:block; }
.al-product-views figcaption a { margin-top:6px; }
.al-structure-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1fr); gap:36px; align-items:start; }
.al-profile img { width:100%; height:280px; object-fit:contain; mix-blend-mode:multiply; }
.al-profile figcaption { font-size:10px; color:var(--al-muted); line-height:1.7; margin-top:16px; }
.al-spec-list article { padding:14px 0; border-top:1px solid var(--al-line); }
.al-spec-list h3 { font-size:13px; line-height:1.4; }
.al-spec-list p { font-size:11px; color:var(--al-muted); line-height:1.8; margin-top:6px; }
.al-structure-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 15px; }
.al-structure-grid img { width:100%; height:115px; object-fit:cover; }
.al-structure-grid figcaption { text-align:center; font-size:10px; line-height:1.6; margin-top:8px; }
.al-glass-grid { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:14px; }
.al-glass-grid figure { min-width:0; }
.al-glass-grid img { width:100%; height:112px; object-fit:contain; }
.al-glass-grid figcaption { text-align:center; font-size:11px; line-height:1.5; margin-top:12px; }
.al-dual { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:76px; }
.al-dual>.al-section+section { position:relative; }
.al-dual>.al-section+section:before { content:""; position:absolute; top:55px; bottom:55px; left:-38px; border-left:1px solid var(--al-line); }
.al-finish-image { width:100%; height:145px; object-fit:contain; mix-blend-mode:multiply; }
.al-finish-labels { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-top:14px; font-size:10px; }
.al-hardware-image { width:100%; height:105px; object-fit:contain; mix-blend-mode:multiply; }
.al-hardware-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:27px; }
.al-hardware-grid>div { display:flex; align-items:center; gap:11px; font-size:11px; line-height:1.55; }
.al-hardware-grid svg { width:19px; height:19px; flex-shrink:0; stroke-width:1.5; }
.al-feature-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.al-feature-row .al-section-head { gap:11px; min-height:76px; }
.al-feature-row h2 { font-size:21px; }
.al-feature-row section>img { width:100%; height:175px; object-fit:cover; }
.al-feature-row .al-body { font-size:12px; }
.al-screen-image { width:100%; height:205px; object-fit:contain; mix-blend-mode:multiply; }
.al-performance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:23px 16px; }
.al-performance-grid>div { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; font-size:10px; line-height:1.5; }
.al-performance-grid svg { width:24px; height:24px; stroke-width:1.25; }
.al-applications { display:flex; gap:13px 18px; flex-wrap:wrap; margin-top:28px; padding-top:20px; border-top:1px solid var(--al-line); }
.al-applications>span { display:flex; align-items:center; gap:6px; font-size:10px; line-height:1.5; }
.al-applications svg { width:14px; height:14px; }
.al-project { background:var(--green); color:#fff; padding-block:65px; }
.al-project>.container { display:flex; gap:64px; align-items:center; justify-content:space-between; }
.al-project .eyebrow { color:#c2d9cb; }
.al-project h2 { font-size:42px; letter-spacing:-.04em; line-height:1.15; }
.al-project h2+p { max-width:530px; font-size:13px; line-height:1.85; color:#d0e0d5; margin:20px 0 27px; }
.al-project-services { width:315px; flex-shrink:0; padding:27px 32px; border:1px solid #ffffff40; }
.al-project-services p { display:flex; align-items:center; gap:14px; padding:13px 0; font-size:12px; line-height:1.5; }
.al-project-services svg { width:25px; height:25px; stroke-width:1.25; flex-shrink:0; }
.al-detail a:focus-visible,.al-detail summary:focus-visible { outline:2px solid #b27744; outline-offset:5px; }

@media(max-width:980px) {
 .al-hero { gap:30px; }
 .al-hero-visual { padding:17px; }
 .al-hero-visual>img { height:355px; }
 .al-structure-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); }
 .al-structure-grid { grid-column:1/-1; grid-template-columns:repeat(4,minmax(0,1fr)); }
 .al-glass-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:25px 16px; }
 .al-dual { gap:46px; }
 .al-dual>.al-section+section:before { left:-23px; }
 .al-feature-row { gap:23px; }
 .al-feature-row h2 { font-size:18px; }
 .al-project-services { width:285px; padding:20px; }
}
@media(max-width:760px) {
 .al-detail .breadcrumb { font-size:9px; gap:7px; line-height:1.75; padding-block:23px; }
 .al-hero { grid-template-columns:1fr; gap:30px; padding-bottom:32px; }
 .al-hero h1 { font-size:37px; letter-spacing:-.035em; }
 .al-hero .eyebrow { font-size:9px; margin-bottom:17px; }
 .al-tagline { font-size:13px; margin-top:20px; }
 .al-lead { font-size:13px; line-height:1.8; }
 .al-benefits { margin:25px 0; gap:9px; }
 .al-benefits svg { width:23px; height:23px; }
 .al-benefits span { font-size:9px; }
 .al-actions { gap:10px; }
 .al-actions .button { font-size:10px; padding-inline:13px; gap:10px; min-height:44px; }
 .al-hero-visual>img { height:285px; }
 .al-hero-visual figcaption { font-size:8px; margin-top:15px; }
 .al-section-nav>div { gap:27px; justify-content:flex-start; }
 .al-section-nav a { padding-block:17px; font-size:10px; }
 .al-section { padding-block:35px; scroll-margin-top:80px; }
 .al-section-head { margin-bottom:23px; gap:12px; }
 .al-section-head h2 { font-size:23px; }
 .al-section-head p { font-size:12px; }
 .al-section-head>span { font-size:10px; min-width:20px; }
 .al-config-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
 .al-config-grid figure { padding:12px 9px; }
 .al-config-grid svg { height:94px; }
 .al-config-grid figcaption { font-size:10px; }
 .al-note { font-size:11px; margin-top:18px; }
 .al-product-views { margin-top:23px; }
 .al-product-views summary { font-size:11px; gap:15px; line-height:1.6; }
 .al-product-views summary>span { font-size:10px; gap:9px; }
 .al-structure-layout { grid-template-columns:1fr; gap:23px; }
 .al-profile img { height:260px; }
 .al-profile figcaption { text-align:center; }
 .al-spec-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
 .al-spec-list h3 { font-size:12px; }
 .al-structure-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
 .al-structure-grid img { height:125px; }
 .al-glass-grid { gap:23px 9px; }
 .al-glass-grid img { height:80px; }
 .al-glass-grid figcaption { font-size:9px; }
 .al-dual { grid-template-columns:1fr; gap:0; }
 .al-dual>.al-section+section:before { display:none; }
 .al-dual>.al-section+section { border-top:1px solid var(--al-line); }
 .al-finish-image { height:110px; }
 .al-finish-labels { font-size:9px; }
 .al-feature-row { grid-template-columns:1fr; gap:0; }
 .al-feature-row section+section { border-top:1px solid var(--al-line); }
 .al-feature-row .al-section-head { min-height:0; }
 .al-feature-row h2 { font-size:23px; }
 .al-feature-row section>img { height:190px; }
 .al-screen-image { height:175px; }
 .al-project { padding-block:40px; }
 .al-project>.container { display:block; }
 .al-project h2 { font-size:35px; }
 .al-project h2+p { font-size:12px; }
 .al-project-services { width:100%; margin-top:30px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; padding:18px; }
 .al-project-services p { font-size:10px; gap:10px; }
 .al-project-services svg { width:20px; height:20px; }
}
