/* TASK-032: local catalogue components, based on kit v2. */
html.prod [data-sample]{display:none!important}
.catalog2 h1{letter-spacing:0!important;overflow-wrap:normal}
.catalog2 .page-hero--photo .page-hero-main{padding:48px var(--gutter)}
.catalog2 .page-hero h1{font-size:clamp(34px,3.45vw,58px);line-height:1.15;max-width:19ch}
.catalog2 .page-intro{font-size:16px;line-height:1.6;max-width:56ch;margin-top:24px}
.catalog2 .page-hero-media{margin:0;position:relative;min-height:440px;overflow:hidden}
.catalog2 .page-hero-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;max-height:none!important}
.catalog2 .page-hero-media figcaption{position:absolute;bottom:0;left:0;right:0;padding:16px 24px;background:#121417d9;color:#f3f1eb;font-size:13px}
.catalog2 .hero-actions{gap:16px;margin-top:28px}
.catalog2 .section{padding-block:clamp(64px,7.6vw,112px)}
.catalog2 .section-heading{align-items:end;margin-bottom:44px;gap:40px}
.catalog2 .section-heading h2{font-size:clamp(30px,3.3vw,50px);max-width:22ch}
.catalog2 .section-heading>p{max-width:43ch;font-size:15px}
.catalog2 .eyebrow{margin-bottom:18px}
.catalog2 .breadcrumbs{font-size:13px}
.route-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin-top:36px}
.route-strip a,.route-strip button{padding:20px 10px 20px 0;text-align:left;font-size:14px;background:transparent;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}
.route-strip a:after,.route-strip button:after{content:'↗';color:var(--glow)}
.catalog2 .card-grid{gap:28px}
.catalog2 .kit-card{border:0;background:transparent}
.catalog2 .kit-card .card-copy{padding:22px 0 28px;border-bottom:1px solid var(--line)}
.catalog2 .kit-card .card-copy h3{font-size:clamp(22px,2vw,30px);line-height:1.22}
.catalog2 .kit-card .card-media{aspect-ratio:4/3;overflow:hidden;position:relative;background:#deded8}
.catalog2 .kit-card .card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.catalog2 .kit-card:hover .card-media img{transform:scale(1.035)}
.catalog2 .card-copy p{font-size:14px;line-height:1.6}
.catalog2 .card-meta{font-size:13px;color:var(--muted)}
.catalog2 .card-link{font-size:14px}
.card-media svg{width:100%;height:100%;padding:36px;color:#384e68}
.card-media .media-type{position:absolute;bottom:12px;left:14px;font-size:13px;background:#f5f4ef;padding:4px 8px;color:#343b43}
.catalog2 .catalog-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.scenario-card{padding:26px 0;border-bottom:1px solid var(--line);min-width:0;display:grid;align-content:start;gap:14px}
.scenario-card h3{font-size:22px;line-height:1.3;overflow-wrap:anywhere}
.scenario-card p{font-size:14px;line-height:1.5}
.scenario-card .card-meta{color:var(--glow)}
.section--light .scenario-card .card-meta{color:var(--blue)}
.scenario-card a:last-child{font-size:14px;display:flex;justify-content:space-between}
.scenario-card a:last-child:after{content:'↗'}
.catalog2 .filter-panel{margin-bottom:32px}
.catalog2 .filter-fields{grid-template-columns:2fr 1fr 1fr}
.catalog2 .filter-fields label{font-size:14px}
.catalog2 .filter-chip{font-size:14px}
.catalog2 [data-filter-list][data-mode=room] .catalog-results{grid-template-columns:repeat(2,minmax(0,1fr))}
.conditions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;border-top:1px solid var(--line)}
.conditions article{padding:28px 0 12px;min-width:0}
.conditions h3{font-size:23px;margin:20px 0 16px}
.conditions p{font-size:15px}
.condition-symbol{height:54px;width:70px;color:var(--glow)}
.section--light .condition-symbol{color:var(--blue)}
.condition-symbol svg{width:100%;height:100%}
.condition-note{border-top:1px solid var(--line);padding-top:24px;margin-top:36px;display:flex;justify-content:space-between;gap:30px;font-size:14px}
.diagram-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;margin-top:48px}
.diagram-panel svg{width:100%;max-height:320px;color:#9bbef0;background:#1b2027;padding:24px}
.diagram-panel p{max-width:42ch;font-size:15px}
.diagram-panel figcaption{font-size:13px;margin-top:12px}
.catalog2 .case-open+.case-open{margin-top:80px;padding-top:70px;border-top:1px solid var(--line)}
.catalog2 .case-open .case-main-photo{aspect-ratio:5/4;background:#e9e9e3;display:grid;place-items:center}
.catalog2 .case-open .case-main-photo img{object-fit:contain;height:100%;width:100%}
.catalog2 .case-open.is-photo .case-main-photo{aspect-ratio:4/5}
.catalog2 .case-open.is-photo .case-main-photo img{object-fit:cover}
.catalog2 .case-summary h3{font-size:clamp(28px,2.8vw,42px)}
.catalog2 .case-summary>p{font-size:15px}
.catalog2 .spec-table{font-size:14px}
.catalog2 .spec-table td,.catalog2 .spec-table th{padding:15px 12px}
.catalog2 .case-passport th{width:52%}
.catalog2 .case-open .case-thumbnails{margin-top:12px}
.catalog2 .spec-table-wrap{max-width:100%;min-width:0}
.composition{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.composition article{border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;gap:16px}
.composition h3{font-size:22px}
.composition p{font-size:14px}
.composition .condition-symbol{width:100%;height:80px}
.option-button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:14px 16px;border:1px solid var(--line);background:transparent;text-align:left;font-size:14px;line-height:1.4;margin-top:auto;min-height:54px}
.option-button:after{content:'+';font-size:22px}
.option-button[aria-pressed=true]{border-color:var(--glow);background:#1e56a01c}
.option-button[aria-pressed=true]:after{content:'✓'}
.section--light .option-button[aria-pressed=true]{border-color:var(--blue)}
.selection-line{padding:22px 0;margin-top:30px;border-top:1px solid var(--line);font-size:14px}
.material-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.material-group h3{font-size:26px;margin-bottom:22px}
.material-group{min-width:0}
.material-swatch{display:block;width:100%;height:80px;margin-bottom:16px;background:repeating-linear-gradient(90deg,#82745f 0 3px,#a9967b 4px 9px)}
.material-swatch.metal{background:linear-gradient(120deg,#343a40,#8a8e91,#41494f)}
.material-swatch.composite{background:repeating-linear-gradient(0deg,#665b50 0 4px,#74695a 4px 6px)}
.material-swatch.ral{background:linear-gradient(90deg,#34404a 33%,#c2c3be 33% 66%,#343639 66%)}
.budget-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
.budget-controls{display:grid;gap:24px;align-content:start}
.budget-controls label{display:grid;gap:10px;font-size:14px}
.budget-controls input,.budget-controls select{width:100%;min-width:0;min-height:50px;padding:12px;background:transparent;border:1px solid var(--line);color:var(--ink);font:inherit}
.budget-controls input[type=range]{padding:0;min-height:26px;accent-color:var(--blue)}
.budget-controls input[type=checkbox]{min-height:20px;width:20px;height:20px;padding:0;margin:0;flex:0 0 20px;align-self:flex-start}
.budget-controls .consent{display:flex;align-items:start}
.budget-output{padding:36px;background:#1b2027;color:#f3f1eb;display:grid;gap:22px;align-content:start}
.budget-output strong{font-family:var(--title);font-size:clamp(28px,3.4vw,48px);font-weight:500;line-height:1.2}
.budget-output p{font-size:14px;color:#bbc0c7}
.budget-output .eyebrow{color:#9bbef0}
.catalog2 .timeline h3{font-size:25px}
.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:48px;border-top:1px solid var(--line)}
.trust-grid article{padding-top:24px}
.trust-grid h3{font-size:21px;margin-bottom:16px}
.trust-grid p{font-size:14px}
.person-line{display:flex;gap:24px;align-items:center;margin-top:48px;border-top:1px solid var(--line);padding-top:32px}
.person-line .initials{width:64px;height:64px;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--title);font-size:24px;flex-shrink:0}
.person-line p{font-size:14px}
.catalog2 .video-teaser{margin-top:60px}
.catalog2 .video-teaser h3{font-size:32px}
.catalog2 .video-thumb{max-height:400px}
.catalog2 .related-links{margin-top:36px}
.catalog2 .related-links a{font-size:19px}
.catalog2 .related-links span{font-size:14px}
.catalog2 .accordion{margin-bottom:36px}
.catalog2 .accordion summary{font-size:clamp(18px,1.6vw,23px)}
.catalog2 .accordion details p{font-size:15px;max-width:78ch}
.catalog2 .request-summary{margin-top:24px}
.catalog2 .request-summary h4{font-size:18px;margin:0 0 16px}
.catalog2 .brief-card .request-summary p{color:var(--muted)}
.catalog2 .brief-card input,.catalog2 .brief-card select,.catalog2 .brief-card textarea{font-size:16px}
.catalog2 .brief-card .form-grid{margin-bottom:24px}
.catalog2 .brief-card details{border-top:1px solid var(--line);padding:20px 0}
.catalog2 .brief-card details>summary{cursor:pointer;font-size:17px;font-weight:500}
.catalog2 .brief-card details>.form-grid,.catalog2 .brief-card details>label{margin-top:24px}
.catalog2 .brief-card label{gap:8px}
.catalog2 .brief-card .consent{font-size:14px}
.brief-intro{max-width:46ch}
.brief-intro p{margin-top:22px}
.brief-intro h3{font-size:28px}
.request-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(30px,6vw,90px);align-items:start}
.request-layout .brief-intro{position:sticky;top:130px}
.request-layout .brief-card{margin:0}
.quick-link{margin-top:20px;font-size:14px;text-decoration:underline;text-underline-offset:4px;display:inline-block}
.catalog2 .tool-banner{margin-top:36px}
.catalog2 .tool-banner h3{font-size:clamp(28px,3vw,44px)}
.catalog2 .tool-banner-art svg{width:100%;max-height:260px}
.helper-result{border-top:1px solid #222b3335;margin-top:28px;padding-top:24px}
.helper-result h3{font-size:26px;margin-bottom:20px}
.helper-result a{display:block;padding:16px 0;border-bottom:1px solid #222b3335;color:#1e56a0;font-size:17px}
.helper-result p{font-size:14px;margin-top:8px}
.helper-result small{display:block;font-size:14px;color:#626870;margin-top:8px}
.helper-switch{display:grid;gap:20px}
.choice-tile .choice-icon{flex-shrink:0}
.local-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.local-terms h3{font-size:27px;margin-bottom:18px}
.local-terms p{font-size:15px}
.local-terms article{border-top:1px solid var(--line);padding-top:24px}
.page-toc{display:flex;gap:12px 28px;flex-wrap:wrap;margin-top:28px;font-size:14px}
.page-toc a{text-decoration:underline;text-underline-offset:5px}
.catalog2 .document-list small{font-size:13px}
.catalog2 .faq-related{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:36px 0}
.catalog2 .faq-related a{padding:24px 0;border-top:1px solid var(--line);font-size:20px}
.catalog2 .legacy-links{margin-top:36px;border-top:1px solid var(--line);padding-top:24px}
.catalog2 .legacy-links summary{font-size:20px;cursor:pointer}
.catalog2 .legacy-links .related-links{grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog2 .legacy-links .related-links a{font-size:15px}
.no-js-note{padding:24px var(--gutter);background:var(--paper);color:#242930;font-size:14px}
@media(min-width:1000px){.catalog2[data-page-type=product] .page-hero--photo,.catalog2[data-page-type=stair-solution] .page-hero--photo{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
@media(max-width:1100px){.composition{grid-template-columns:repeat(3,minmax(0,1fr))}.conditions{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-layout{gap:32px}.catalog2 .section-heading{display:grid;grid-template-columns:1fr}.catalog2 .section-heading>p{max-width:62ch}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.catalog2 .catalog-results,.catalog2 [data-filter-list][data-mode=room] .catalog-results{grid-template-columns:1fr}.catalog2 .filter-fields{grid-template-columns:1fr}.catalog2 .page-hero--photo .page-hero-main{padding:38px var(--gutter) 42px}.catalog2 .page-hero-media{min-height:300px}.catalog2 .page-hero h1{font-size:clamp(32px,7.8vw,48px);max-width:22ch}.catalog2 .page-intro{font-size:15px}.route-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.route-strip a,.route-strip button{font-size:14px;padding:18px 12px 18px 0}.catalog2 .section-heading{gap:24px}.catalog2 .section-heading h2{font-size:32px}.conditions,.material-groups,.budget-layout,.diagram-panel,.request-layout,.local-terms{grid-template-columns:1fr}.conditions{gap:0}.conditions article{border-bottom:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:54px 1fr;gap:0 24px}.conditions article h3{margin:0 0 16px}.conditions article p{grid-column:2}.condition-symbol{width:54px}.composition{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.composition h3{font-size:21px}.condition-note{display:block}.condition-note a{margin-top:20px}.request-layout .brief-intro{position:static}.catalog2 .case-open+.case-open{margin-top:56px;padding-top:48px}.catalog2 .case-open .case-main-photo{aspect-ratio:4/3}.catalog2 .case-open.is-photo .case-main-photo{aspect-ratio:4/5}.budget-output{padding:26px}.catalog2 .legacy-links .related-links{grid-template-columns:1fr}.catalog2 .faq-related{grid-template-columns:1fr}.catalog2 .person-line{align-items:start}.catalog2 .section-heading{margin-bottom:32px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.catalog-group-heading{grid-column:1/-1;padding-top:32px;font-size:28px!important;color:var(--ink)}
.section-subtitle{margin:72px 0 36px;font-size:30px}
.catalog2 .form-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);pointer-events:none}
.catalog2 .helper-result{color:#1b2027}
.route-strip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
@media(max-width:599px){.catalog2 .trust-grid,.catalog2 .related-links{grid-template-columns:1fr}.catalog2 .trust-grid{gap:0}.catalog2 .trust-grid article+article{border-top:1px solid var(--line);margin-top:24px}.catalog2 .trust-grid article{padding-top:24px}.catalog2 .route-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.catalog2 .page-hero-media>a{position:absolute;inset:0;display:block}
.diagram-zoom{display:block;position:relative}
.diagram-zoom:after{content:'↗';position:absolute;right:16px;top:16px;color:#9bbef0;font-size:24px}

/* TASK-038: kit page-head and the first visible content block form one compact opening. */
.catalog2 .page-head h1 { overflow-wrap: anywhere; }
.catalog2 .section.catalog-content-start { padding-top: clamp(32px, 3.4vw, 48px); }
.catalog2 .catalog-context { max-width: 76ch; margin-top: 32px; font-size: 15px; line-height: 1.65; }
.catalog2 .catalog-detail-media { max-width: 860px; margin-top: 32px; }
.catalog2 .catalog-detail-media > a { display: block; position: relative; }
.catalog2 .catalog-detail-media img { width: 100%; height: auto; max-height: 380px; aspect-ratio: 16/9; object-fit: cover; }
.catalog2 .mobile-bar { grid-template-columns: 1fr; }
/* The category opens with its filter and first scenario, including on a phone. */
.catalog2[data-page-type="catalog-category"] .catalog-content-start .section-heading { margin-bottom: 24px; gap: 16px; }
.catalog2[data-page-type="catalog-category"] .catalog-content-start .section-heading h2 { max-width: none; }
.catalog2[data-page-type="catalog-category"] .catalog-content-start .filter-panel { padding-block: 16px; margin-bottom: 20px; }
.catalog2[data-page-type="catalog-category"] .catalog-content-start .filter-panel details { margin-top: 0; }
.catalog2[data-page-type="catalog-category"] .catalog-content-start .filter-result { margin-top: 12px; }
.catalog2[data-page-type="catalog-category"] .catalog-content-start .active-filters:empty { display: none; }
.catalog2[data-page-type="catalog-category"] .catalog-content-start .section-heading > p { margin: 0; }
.catalog2[data-page-type="catalog-category"] .catalog-content-start .filter-result { gap: 8px 16px; }
.catalog2[data-page-type="catalog-category"] .catalog-content-start .filter-result .button { padding-inline: 0; }
.catalog2[data-page-type="catalog-category"] .catalog-content-start .filter-result .button:after { display: none; }
