.product-card:not(.expanded){display:flex;flex-direction:column}.product-card:not(.expanded) .product-copy{flex:1;display:flex;flex-direction:column}.product-card:not(.expanded) .card-actions{margin-top:auto}.product-card:not(.expanded) .product-copy>p:not(.duration):not(.footnote){min-height:62px}.product-visual{height:215px;padding-top:25px}.product-visual .main-product{height:175px;width:84%;margin:0 auto;object-fit:contain}.product-frame{display:flex!important;align-items:center;justify-content:center;position:relative;overflow:visible}.product-crop{position:relative;display:block;overflow:hidden}.product-crop img{position:absolute;object-fit:initial!important;margin:0!important;transform:none!important}.expanded-head .product-frame{width:100%;height:190px;align-self:center}.product-years{display:block;font-size:1.15em;margin-bottom:6px}.duration{font-size:12px;color:#454545;min-height:18px}.content-thumb{width:60px;height:55px;object-fit:contain}.country-flag{width:32px;height:22px;object-fit:contain;margin-bottom:16px}.office-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px}.office-facade{width:100%;height:240px;object-fit:cover}.system-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.system-card{margin-bottom:32px}.preserve-lines{white-space:pre-line}.project-info{max-height:calc(100dvh - 165px);overflow:auto}.related-product small{white-space:normal}.related-products{grid-template-columns:repeat(3,minmax(0,1fr))}.system-card>.related-products{margin:28px 0}.project-tile:hover>img{transform:scale(1.15)}.project-tile>img{transition:transform .5s ease}.content-list{margin-top:20px}
.home-page{max-width:1180px}.home-hero{min-height:550px;gap:20px}.home-hero .eyebrow{font-size:13px;letter-spacing:0;text-transform:none}.home-hero h1{font-size:clamp(44px,5.7vw,76px);font-weight:900;line-height:.98;letter-spacing:-.055em}.home-hero sup{font-size:.33em;vertical-align:top}.home-hero mark{background:#fff6a0}.hero-composition{height:500px;position:relative}.hero-worker{width:95%;height:95%;object-fit:contain;margin-left:auto}.hero-bucket{position:absolute;width:65%;height:60%;object-fit:contain;bottom:-3%;left:-14%;filter:drop-shadow(0 15px 12px #0002);animation:float-bucket 6s ease-in-out infinite}.hero-badge{position:absolute;display:flex;gap:6px;align-items:center;padding:10px 13px;border-radius:30px;background:white;box-shadow:0 6px 20px #0002;font-size:10px;font-weight:bold;z-index:2;transition:transform .2s}.hero-badge:hover{transform:translateY(-4px)}.hero-badge img{width:22px;height:22px;object-fit:contain}.pedestrian{top:3%;left:17%}.wet{top:40%;left:-8%}.traffic{bottom:5%;right:0}.wet-section{margin:30px 0 55px}.wet-section header h2,.home-presence h2,.challenge-section>h2{font-size:23px;color:#929396;letter-spacing:-.02em;margin-bottom:5px}.wet-section header p{font-size:12px;font-weight:bold;color:#444}.center{text-align:center}.wet-panel{background:#3e3e3e;border-radius:25px;padding:35px;color:#fff}.wet-panel h3{text-align:center;font-size:21px;letter-spacing:0}.wet-panel>p{font-size:10px;color:#ddd}.wet-panel strong{color:#fae916}.roof-layout{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:15px}.roof-layout p{color:#eee;font-size:12px}.roof-layout>img{max-height:340px;width:100%;object-fit:contain}.roof-layout ul{list-style:none;padding:0;margin:0;font-size:12px;font-weight:bold;display:grid;gap:45px}.roof-layout li{border-top:1px solid #aaa;padding-top:10px}.home-presence{text-align:center;margin-bottom:60px}.home-presence>p{font-size:12px;color:#333}.country-links{display:flex;justify-content:center;gap:25px;font-size:10px;color:#888;margin:22px 0 45px}.home-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;text-align:left}.home-benefits a{display:flex;align-items:center;gap:14px}.home-benefits img{width:60px;height:60px;object-fit:contain}.home-benefits h3{font-size:12px;letter-spacing:0;margin:0 0 4px}.home-benefits p{font-size:10px;margin:0}.challenge-section{background:#f7f7f7;border-radius:30px;padding:42px 25px;text-align:center}.challenge-section>.center{font-size:11px;font-weight:bold;color:#555}.challenge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:28px;text-align:left}.challenge-card{background:white;border-radius:18px;overflow:hidden;box-shadow:0 5px 12px #0001}.challenge-photo{position:relative;height:190px;display:block;overflow:hidden}.challenge-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.challenge-photo:hover img{transform:scale(1.08)}.challenge-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#000b)}.challenge-photo h3{position:absolute;bottom:14px;left:14px;right:14px;color:white;z-index:1;font-size:17px;letter-spacing:0;margin:0}.challenge-card>div{padding:18px}.challenge-card p{font-size:11px;min-height:45px}.technology-section{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px;margin:75px 0}.technology-section h2{font-size:40px}.technology-section h3{font-size:22px}.technology-section>img{width:100%;height:330px;object-fit:contain}.technology-section .molecule{height:130px;object-fit:contain;margin-top:20px}.dubai-section{background:#111;color:white;display:grid;grid-template-columns:1fr 1.4fr;align-items:center;padding:40px;border-radius:24px;overflow:hidden}.dubai-section h2{font-size:48px;line-height:.95}.dubai-section p{color:#ccc}.dubai-section>img{width:100%;max-height:340px;object-fit:contain}.home-contact{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;margin:65px 0}.home-contact img{border-radius:20px;width:100%;max-height:350px;object-fit:cover}.home-contact h2{font-size:40px}.revealed{animation:reveal-in .65s ease both}@keyframes reveal-in{from{opacity:.5;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes float-bucket{50%{transform:translateY(-10px) rotate(-2deg)}}
@media(max-width:900px){.home-benefits{grid-template-columns:repeat(2,1fr)}.challenge-grid{grid-template-columns:repeat(2,1fr)}.hero-composition{height:400px}.hero-badge{font-size:8px}.country-links{gap:14px}.technology-section{gap:15px}.technology-section h2{font-size:29px}.technology-section h3{font-size:17px}.project-info{max-height:none;overflow:visible}}
@media(max-width:600px){.home-hero{display:flex;flex-direction:column;align-items:stretch}.home-hero>div:first-child{order:0}.hero-composition{height:350px;margin:15px 10px 35px}.hero-worker{height:100%}.hero-bucket{left:-5%}.wet{left:0}.roof-layout{grid-template-columns:1fr}.roof-layout>img{grid-row:1}.roof-layout ul{grid-template-columns:repeat(3,1fr);gap:12px;font-size:9px}.wet-panel{padding:22px}.wet-panel h3{font-size:17px}.home-benefits{gap:20px 12px}.home-benefits a{gap:8px}.home-benefits img{width:40px;height:40px}.home-benefits h3{font-size:10px}.country-links{flex-wrap:wrap;gap:10px;font-size:9px}.challenge-section{padding:28px 15px}.challenge-grid{gap:12px}.challenge-photo{height:160px}.challenge-photo h3{font-size:13px;left:10px;right:10px}.challenge-card>div{padding:12px}.challenge-card .button{font-size:8px;padding:9px}.technology-section{grid-template-columns:1fr 1fr}.technology-section>div:last-child{grid-column:1/-1}.technology-section>img{height:250px}.dubai-section{grid-template-columns:1fr;padding:25px}.dubai-section h2{font-size:38px}.home-contact{grid-template-columns:1fr;gap:25px}.home-contact h2{font-size:34px}.related-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.related-product{display:flex;flex-direction:column;align-items:flex-start;font-size:10px;min-width:0}.related-product img{height:70px;max-width:100%;object-fit:contain}.related-product small{font-size:9px}.content-list .category-row{flex-wrap:wrap}.expanded-head .product-frame{height:145px;transform:none}.product-visual .main-product{height:175px}}
@media(prefers-reduced-motion:reduce){.hero-bucket,.revealed{animation:none!important}.project-tile>img,.challenge-photo img{transition:none}}
.project-info{max-height:none;overflow:visible}.project-info h1{font-size:32px}.project-info h3{font-size:18px}.project-info .related-products{margin:12px 0}.related-product .product-frame{width:100%;height:90px}.related-product .product-crop img{height:auto}.sidebar{max-height:calc(100dvh - 160px);overflow-y:auto}@media(max-width:600px){.sidebar{max-height:65dvh}.related-product .product-frame{height:70px}}
/* Catálogo: acercamiento de producto al hover y acciones más legibles. */
@media(hover:hover){.product-card:not(.expanded) .product-visual>.main-product{transition:transform .3s ease;transform-origin:center}.product-card:not(.expanded):hover .product-visual>.main-product{transform:scale(1.15)}}
.product-card:not(.expanded) .card-actions .button{font-size:12px;padding:11px 14px;gap:7px}
@media(max-width:480px){.product-card:not(.expanded) .card-actions .button{font-size:11px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.product-card:not(.expanded) .product-visual>.main-product{transition:none}}
.product-specs{display:flex;gap:28px;align-items:flex-start;margin:16px 0 22px}.product-colors{min-width:0}.product-duration{min-width:72px}.product-specs .swatch-label{display:block;margin:0 0 9px}.product-specs .swatches{margin:0}.product-copy .product-duration .duration{margin:0;min-height:0;font-size:13px;line-height:20px}
.product-card .card-actions .button{font-size:13px;padding:12px 17px;gap:7px;min-height:40px}
@media(max-width:480px){.product-specs{gap:14px;flex-wrap:wrap}.product-card .card-actions .button{font-size:12px;padding:11px 12px}}
/* Descripciones del catálogo legibles en ambas presentaciones. */
.product-card .product-copy>h3+p,.product-card.expanded .product-copy>h3+p{font-size:14px;line-height:1.55}
@media(max-width:480px){.product-card .product-copy>h3+p,.product-card.expanded .product-copy>h3+p{font-size:13px;line-height:1.5}}
/* Sustratos del producto desplegado: cuadrícula amplia y menos separación. */
.product-card.expanded .substrate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:0 0 24px;text-align:center}
.product-card.expanded .substrate-grid>div{min-width:0;padding:0}
.product-card.expanded .substrate-grid img{display:block;width:100%;height:145px;object-fit:contain;margin:0 auto 5px}
.product-card.expanded .substrate-grid span{display:block;font-size:11px;line-height:1.35}
@media(max-width:480px){.product-card.expanded .substrate-grid img{height:125px}}
/* Encabezado desplegado aprovecha todo el ancho disponible. */
.product-card.expanded .expanded-head .headline{max-width:none;width:100%;min-width:0;white-space:normal;word-break:normal;overflow-wrap:normal;font-size:clamp(19px,1.6vw,26px);line-height:1.3;padding-right:28px}
.product-card.expanded .benefits{font-size:13px;line-height:1.55;padding-left:18px}
.product-card.expanded .detail-aside>h4{font-size:12px}
@media(max-width:600px){.product-card.expanded .expanded-head .headline{font-size:16px;padding-right:14px}.product-card.expanded .benefits{font-size:13px}}
.variant-image-zoom{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;border-radius:8px}.variant-image-zoom img{display:block;width:100%;object-fit:contain}.variant-image-zoom:focus-visible{outline:3px solid #fae916;outline-offset:4px}
.product-coverage{flex:1;min-width:90px}.product-copy .product-coverage p{font-size:13px;line-height:1.5;min-height:0;margin:0;overflow-wrap:break-word}.product-specs{flex-wrap:wrap}
.product-tags{position:absolute;top:14px;left:14px;right:48px;z-index:3;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.product-tags>.tag{position:static!important;display:inline-flex;max-width:100%;white-space:normal}.product-tags>.tag+ .tag{background:#fff;color:#454545;border:1px solid var(--line-color)}
@media(max-width:480px){.product-tags{top:8px;left:8px;gap:4px;right:12px}.expanded-head .product-tags{right:42px}}
/* Proyectos: bandera pequeña independiente del texto y galería a ancho uniforme. */
.project-tile>.country-flag{position:absolute;inset:16px 16px auto auto;width:26px;height:18px;max-width:26px;object-fit:contain;margin:0;z-index:3;border-radius:1px;transform:none!important;filter:drop-shadow(0 1px 3px #0005)}
.project-tile .project-title{z-index:2}.project-tile .project-title h3{font-family:Montserrat,Inter,sans-serif;font-size:clamp(22px,2vw,32px);font-weight:750;line-height:1.15;margin:0 0 8px;color:#fff}.project-tile .project-title p{font-family:Montserrat,Inter,sans-serif;font-size:clamp(15px,1.4vw,21px);font-weight:650;line-height:1.3;margin:0;color:#fff}
.project-photos{min-width:0;display:flex;flex-direction:column;gap:20px;align-items:stretch}.project-photos>.tech-image{display:block;width:100%;max-width:none;padding:0;margin:0;border:0}.project-photos>.tech-image>img{display:block;width:100%;height:auto;max-height:none;max-width:none;object-fit:contain;margin:0}
@media(max-width:600px){.project-tile>.country-flag{width:22px;height:15px;top:12px;right:12px}.project-photos{gap:14px}}
.product-card[data-product-shape="sausage"] .product-visual>.main-product{width:94%}
.product-card[data-product-shape="sausage"] .product-frame .product-crop{width:100%;height:auto!important;max-width:100%}
.product-card[data-product-shape="sausage"] .expanded-head .main-product{width:100%}
.projects-grid .project-tile{border-radius:9px}
