.catalog-main{padding-block:1.5rem 5rem;min-height:65vh}.catalog-main h1{font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.12;letter-spacing:-.025em;margin:1rem 0 1.5rem}.catalog-main h2{font-size:1.6rem;line-height:1.25}.catalog-main h3{line-height:1.3}.catalog-main p{max-width:65ch}.catalog-breadcrumb ol{display:flex;flex-wrap:wrap;gap:.4rem 1rem;list-style:none;padding:0;font-size:.875rem;color:var(--brown)}.catalog-breadcrumb li+li:before{content:' / ';margin-right:1rem;color:var(--muted)}.catalog-intro,.catalog-product-hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin-block:2rem 4rem}.catalog-intro picture{height:28rem;background:var(--paper)}.catalog-intro img,.product-main-image img{height:100%;width:100%;object-fit:contain}.catalog-product-hero figure{margin:0;min-width:0}.product-main-image{height:30rem}.catalog-lead{font-size:1.125rem}.catalog-download{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-block:1.5rem}.catalog-download .button{font-size:.9rem;padding:.8rem 1rem}.catalog-download .button span{font-weight:400}.catalog-category-list{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem;border-top:2px solid var(--ink)}.catalog-category-list>a{position:relative;text-decoration:none;padding:1.5rem 2rem 1.5rem 0;border-bottom:1px solid var(--line)}.catalog-category-list h3{font-size:1.35rem;margin:0}.catalog-category-list p{font-size:.9rem;color:var(--muted);margin-bottom:0}.catalog-category-list span{position:absolute;right:0;top:1.5rem}.catalog-category-list>a:hover h3,.catalog-product-row a:hover,.catalog-related a:hover{color:var(--brown);text-decoration:underline}.catalog-institution{padding-top:3rem;margin-top:3rem;border-top:1px solid var(--line)}.catalog-institution>div{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.catalog-product-list{border-top:2px solid var(--ink);margin-block:2rem}.catalog-product-row{display:grid;grid-template-columns:15rem 1fr;gap:3rem;padding-block:2rem;border-bottom:1px solid var(--line);align-items:center}.catalog-product-row h2{margin-top:0}.catalog-product-row h2 a{text-decoration:none}.catalog-product-photo picture{height:14rem}.catalog-product-photo img{width:100%;height:100%;object-fit:contain}.catalog-measures{font-weight:600;color:var(--brown)}.catalog-detail-link{font-weight:700;color:var(--brown);text-underline-offset:4px;display:inline-block;min-height:2.75rem;padding-block:.55rem}.catalog-caption,.catalog-main figcaption{font-size:.875rem;color:var(--muted)}.catalog-main figcaption{text-align:center;margin-top:.6rem}.variant-choice{margin-block:1.5rem}.variant-choice label{display:block;font-weight:600;margin-bottom:.4rem}.variant-choice select{max-width:100%;min-height:2.75rem;padding:.6rem;border:1px solid var(--brown);border-radius:.25rem;background:var(--paper);color:var(--ink);font:inherit}.catalog-variants{border-top:1px solid var(--line)}.catalog-variant{display:grid;grid-template-columns:10rem 1fr;gap:2rem;align-items:center;padding-block:1.5rem;border-bottom:1px solid var(--line)}.catalog-variant picture{height:10rem}.catalog-variant img{width:100%;height:100%;object-fit:contain}.catalog-variant h3{margin-top:0}.catalog-table-wrap{overflow-x:auto;border:1px solid var(--line);margin-block:1rem 3rem}.catalog-table-wrap table{width:100%;border-collapse:collapse;min-width:35rem}.catalog-table-wrap caption{text-align:left;padding:1rem;font-size:.875rem;color:var(--muted)}.catalog-table-wrap td,.catalog-table-wrap th{padding:.8rem 1rem;text-align:left;border-top:1px solid var(--line)}.catalog-table-wrap thead{background:var(--charcoal);color:var(--paper)}.model-section{padding-block:2rem;border-bottom:1px solid var(--line)}.model-poster{height:25rem}.model-poster img{width:100%;height:100%;object-fit:contain}.catalog-related{padding-block:2rem}.catalog-related ul{display:flex;flex-wrap:wrap;gap:.7rem 2rem;padding-left:1rem}.catalog-related a{display:inline-block;padding:.5rem 0}[hidden]{display:none!important}
@media(max-width:700px){.catalog-intro,.catalog-product-hero{grid-template-columns:1fr;gap:1.5rem;margin-block:1.5rem 3rem}.catalog-intro picture{height:18rem}.catalog-product-hero figure{order:2}.product-main-image{height:22rem}.catalog-category-list,.catalog-institution>div{grid-template-columns:1fr}.catalog-product-row{grid-template-columns:6rem 1fr;gap:1rem}.catalog-product-photo picture{height:9rem}.catalog-product-row h2{font-size:1.25rem}.catalog-product-row p{font-size:.9rem}.catalog-product-row .catalog-measures{font-size:.85rem}.catalog-variant{grid-template-columns:6rem 1fr;gap:1rem}.catalog-variant picture{height:8rem}.catalog-main{padding-bottom:3rem}.model-poster{height:20rem}}

.model-canvas{display:block;width:100%;height:25rem;background:var(--charcoal);border-radius:.3rem;touch-action:none}.model-section .model-poster{margin-bottom:1rem}.model-controls{display:flex;flex-wrap:wrap;gap:.5rem;padding-block:1rem}.model-controls button{min-height:2.75rem;padding:.55rem .8rem;background:var(--paper);color:var(--ink);border:1px solid var(--brown);border-radius:.25rem;cursor:pointer}.model-controls button[aria-pressed="true"]{background:var(--yellow)}.model-controls button:disabled{opacity:.65;cursor:default}.model-section button:disabled{cursor:wait}.model-section [role="status"]{min-height:2.5em}@media(max-width:700px){.model-canvas{height:20rem}}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.catalog-main h1{max-width:none}.catalog-main{overflow-wrap:anywhere}

/* Featured model controls, scoped to the catalog viewer. */
.catalog-feature-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:auto 1fr;grid-template-areas:'copy model' 'download model';align-items:start;gap:1.5rem 2.5rem}
.catalog-feature-copy{grid-area:copy}.catalog-feature-layout>.catalog-download{grid-area:download;align-self:start;margin-top:0}.model-feature{grid-area:model;min-width:0;padding:0;border:0}.model-feature h2{margin:0 0 .5rem}.model-feature-name{font-size:1rem;font-weight:700;color:var(--brown);margin:0 0 .8rem}
.model-stage{position:relative;height:480px;background:var(--paper);border:1px solid var(--line);border-radius:.3rem;overflow:hidden}.catalog-intro .model-stage .model-poster,.model-stage .model-canvas{height:100%;width:100%;margin:0;display:block}.model-activate{position:absolute;left:50%;bottom:1.25rem;transform:translateX(-50%);white-space:nowrap}.model-activate:disabled{opacity:.85}.model-feature [role=status]{margin:.75rem 0;min-height:2.5em;font-size:.875rem;color:var(--brown)}
.model-selector input:focus-visible{outline:3px solid var(--brown);outline-offset:3px}
.model-selector{padding:0;margin:1rem 0 .5rem;border:0;min-width:0}.model-selector legend{font-weight:700;margin-bottom:.5rem}.model-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.25rem}.model-choice{min-width:0;border-bottom:1px solid var(--line)}.model-choice label{display:flex;align-items:center;gap:.5rem;min-height:64px;cursor:pointer;position:relative;padding:.3rem .2rem}.model-choice input{flex-shrink:0;width:1.1rem;height:1.1rem;accent-color:var(--brown)}.model-choice label:has(input:checked){background:var(--yellow)}.model-choice img{width:52px;height:56px;object-fit:contain;mix-blend-mode:multiply}.model-choice span{font-size:.85rem;font-weight:600}.model-choice a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;color:var(--brown);text-underline-offset:3px}.model-feature>.catalog-caption{margin-top:.5rem}.no-js [data-model-select]{display:none}.no-js .model-choice label{cursor:default}
@media(max-width:900px){.catalog-feature-layout{gap:1.5rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.model-choice label{flex-wrap:wrap}.model-choice img{width:42px;height:48px}}
@media(max-width:700px){.catalog-feature-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;grid-template-areas:'copy' 'model' 'download';gap:1.5rem}.model-stage{height:320px}.model-feature h2{font-size:1.4rem}.model-choice label{flex-wrap:nowrap}.model-choice img{width:42px;height:48px}.model-choices{gap:.5rem .8rem}.model-activate{font-size:.9rem}.model-feature .model-controls button{font-size:.85rem}}

.model-controls button:disabled{cursor:default}

.model-choice-wide{grid-column:1 / -1}
.model-feature[data-model-section="torre-escalera"] .model-poster{padding:.5rem .5rem 4.5rem}
.catalog-torre-update .model-activate{max-width:calc(100% - 2rem);white-space:normal;text-align:center}

