:root{--ink:#111214;--paper:#f4f3f0;--muted:#aaa9a5;--blue:#3653aa;--line:rgba(17,18,20,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Rethink Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.site-header{height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand img{width:92px;height:65px;object-fit:contain;object-position:left center}.desktop-nav{display:flex;gap:42px;font-size:17px}.desktop-nav a,.header-cta{transition:opacity .2s}.desktop-nav a:hover,.header-cta:hover{opacity:.55}.header-cta{justify-self:end;font-size:17px}.header-cta span{margin-left:10px}.menu-button{display:none;background:none;border:0;padding:10px}.hero{min-height:calc(100vh - 96px);padding:6vw 4vw 4vw;display:flex;flex-direction:column;justify-content:space-between}.eyebrow,.section-label{font-size:17px;font-weight:600;display:flex;align-items:center;gap:10px}.eyebrow span{width:11px;height:11px;background:var(--blue);border-radius:50%}.hero h1{font-size:clamp(62px,8.6vw,138px);line-height:.84;letter-spacing:-.065em;font-weight:500;margin:5vw 0}.hero h1 span,.section-intro h2 span,.about-copy h2 span,.contact h2 span{color:#aaa9a5}.hero-bottom{display:flex;justify-content:space-between;align-items:end}.hero-bottom p{font-size:22px;line-height:1.28;max-width:570px}.circle-link{width:68px;height:68px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:28px;transition:.2s}.circle-link:hover{background:var(--ink);color:white}.services,.process{padding:10vw 4vw}.section-intro{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:6vw}.section-intro h2{font-size:clamp(48px,6vw,96px);line-height:.95;letter-spacing:-.055em;font-weight:500}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.service-card{min-height:580px;border-radius:28px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;color:white;overflow:hidden;transition:transform .35s}.service-card:hover{transform:translateY(-8px)}.service-card--dark{background:var(--ink)}.service-card--blue{background:var(--blue)}.card-top{display:flex;justify-content:space-between;font-size:18px}.card-icon{font-size:26px}.service-card h3{font-size:clamp(55px,6vw,92px);line-height:.88;letter-spacing:-.055em;font-weight:500}.service-card p{font-size:20px;line-height:1.3;max-width:520px;margin-top:30px}.visual-break{min-height:84vh;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.04)),url("assets/metal-hero.png") center/cover;color:white;display:flex;align-items:end;padding:5vw 4vw}.visual-content img{width:65px;height:65px;object-fit:contain;filter:brightness(0) invert(1);margin-bottom:60px}.visual-content h2{font-size:clamp(58px,7vw,110px);line-height:.9;letter-spacing:-.055em;font-weight:500;margin-bottom:44px}.visual-content a{display:inline-block;border-bottom:1px solid white;padding-bottom:8px;font-size:18px}.visual-content a span{margin-left:18px}.about{background:var(--ink);color:white;padding:10vw 4vw}.section-label--light{color:#d8d8d5}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:5vw;margin-top:7vw}.years strong{font-size:clamp(120px,18vw,290px);font-weight:500;letter-spacing:-.08em;line-height:.7;color:var(--blue);display:block}.years span{font-size:24px;line-height:1.05;display:block;margin-top:45px}.about-copy h2{font-size:clamp(44px,5.1vw,82px);line-height:.98;letter-spacing:-.05em;font-weight:500}.about-copy p{font-size:23px;line-height:1.38;max-width:720px;margin:55px 0}.text-link{font-size:18px;border-bottom:1px solid white;padding-bottom:8px}.text-link span{margin-left:18px}.process-list{border-top:1px solid var(--line)}.process-list article{display:grid;grid-template-columns:1fr 1fr;padding:38px 0;border-bottom:1px solid var(--line)}.process-list h3{font-size:38px;font-weight:500}.process-list p{font-size:21px;line-height:1.4;max-width:600px}.contact{background:var(--blue);color:white;padding:8vw 4vw 5vw}.contact h2{font-size:clamp(90px,16vw,250px);line-height:.7;letter-spacing:-.075em;font-weight:500;margin:9vw 0}.contact h2 span{color:#101215}.contact-bottom{display:flex;justify-content:space-between;align-items:end}.contact-bottom p{font-size:23px;max-width:520px;line-height:1.3}.contact-button{background:white;color:var(--ink);padding:24px 28px;border-radius:100px;font-size:19px}.contact-button span{margin-left:30px}footer{padding:42px 4vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font-size:16px}footer img{width:90px;height:70px;object-fit:contain}footer p:nth-child(2){text-align:center}footer p:last-child{text-align:right}
@media(max-width:800px){.site-header{height:80px;grid-template-columns:1fr auto}.brand img{width:76px;height:55px}.desktop-nav,.header-cta{display:none}.menu-button{display:block}.menu-button span{display:block;width:28px;height:2px;background:var(--ink);margin:6px}.site-header.menu-open{position:fixed;inset:0 0 auto;background:var(--paper)}.site-header.menu-open .desktop-nav{display:flex;position:fixed;inset:80px 0 0;background:var(--paper);flex-direction:column;padding:40px 5vw;font-size:42px}.hero{min-height:calc(100svh - 80px);padding:10vw 5vw 7vw}.hero h1{font-size:15vw;line-height:.89;margin:14vw 0}.hero-bottom p{font-size:18px;max-width:75%}.circle-link{width:54px;height:54px}.services,.process,.about{padding:22vw 5vw}.section-intro{grid-template-columns:1fr;gap:48px;margin-bottom:12vw}.section-intro h2{font-size:13vw}.service-grid{grid-template-columns:1fr}.service-card{min-height:510px;padding:25px;border-radius:22px}.service-card h3{font-size:15vw}.visual-break{min-height:72vh;padding:9vw 5vw}.visual-content img{margin-bottom:40px}.about-grid{grid-template-columns:1fr;gap:90px;margin-top:16vw}.years strong{font-size:48vw}.about-copy h2{font-size:12vw}.about-copy p{font-size:20px;margin:40px 0}.process-list article{grid-template-columns:1fr;gap:22px;padding:32px 0}.process-list h3{font-size:34px}.process-list p{font-size:18px}.contact{padding:18vw 5vw 10vw}.contact h2{font-size:24vw;margin:25vw 0 16vw}.contact-bottom{align-items:stretch;flex-direction:column;gap:45px}.contact-bottom p{font-size:20px}.contact-button{text-align:center;font-size:17px;padding:20px}.contact-button span{margin-left:10px}footer{grid-template-columns:1fr;gap:25px;padding:35px 5vw}footer p:nth-child(2),footer p:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}

/* Película de evolución de marca */
.brand-film{margin-top:5vw}.brand-film__topline{display:flex;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.2);font-size:14px;text-transform:uppercase;letter-spacing:.08em}.brand-film__status{color:#aaa9a5}.brand-film__status i{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#6d8cff;box-shadow:0 0 0 6px rgba(54,83,170,.2);animation:filmPulse 1.5s ease-in-out infinite}.brand-film__stage{position:relative;height:clamp(410px,48vw,660px);overflow:hidden;background:#e8e6e0;color:var(--ink);isolation:isolate}.brand-film__stage:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(17,18,20,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(17,18,20,.07) 1px,transparent 1px);background-size:8vw 8vw;z-index:-1}.brand-film__stage:after{content:"";position:absolute;width:45vw;height:45vw;border-radius:50%;background:var(--blue);right:-20vw;bottom:-30vw;opacity:.9;z-index:-1}.brand-era{position:absolute;inset:0;display:grid;place-items:center;opacity:0;animation:brandEra 12s cubic-bezier(.77,0,.18,1) infinite}.brand-era p{position:absolute;left:28px;bottom:25px;font-size:14px;text-transform:uppercase;letter-spacing:.12em}.brand-era p span{color:var(--blue);margin-right:12px}.brand-era--two{animation-delay:3s}.brand-era--three{animation-delay:6s}.brand-era--four{animation-delay:9s}.proto-logo{display:flex;align-items:center;justify-content:center;position:relative}.proto-logo b{font-weight:600;line-height:.8}.proto-logo small{text-transform:uppercase;letter-spacing:.16em}.proto-logo--one{width:clamp(180px,24vw,350px);height:clamp(180px,24vw,350px);border:4px solid var(--ink);border-radius:50%;flex-direction:column;transform:rotate(-8deg)}.proto-logo--one b{font-size:clamp(70px,10vw,145px);letter-spacing:-.09em}.proto-logo--one small{font-size:10px}.proto-logo--two{gap:14px}.proto-logo--two i{width:clamp(45px,6vw,85px);height:clamp(80px,11vw,155px);background:var(--blue);transform:skew(-18deg)}.proto-logo--two b{font-size:clamp(60px,10vw,150px);letter-spacing:-.07em}.proto-logo--two small{position:absolute;right:0;bottom:-22px}.proto-logo--three{flex-direction:column}.proto-logo--three b{font-size:clamp(100px,18vw,270px);letter-spacing:-.12em}.proto-logo--three small{font-size:clamp(9px,1vw,14px)}.proto-logo--four{align-items:flex-end;gap:20px}.proto-logo--four b{font-size:clamp(70px,12vw,180px);letter-spacing:-.08em}.proto-logo--four i{width:clamp(45px,7vw,95px);height:clamp(45px,7vw,95px);background:var(--blue);border-radius:50% 0 50% 50%}.brand-film__counter{position:absolute;right:28px;top:24px;display:flex;align-items:flex-start;gap:7px}.brand-film__counter span{font-size:clamp(46px,6vw,85px);line-height:.8;letter-spacing:-.08em}.brand-film__counter small{font-size:9px;letter-spacing:.15em;writing-mode:vertical-rl}.brand-film__timeline{height:3px;background:rgba(255,255,255,.18);overflow:hidden}.brand-film__timeline i{display:block;height:100%;background:#6d8cff;transform-origin:left;animation:filmTimeline 12s linear infinite}.brand-film__note{margin-top:14px;color:#777;font-size:12px;letter-spacing:.04em}.about-grid{margin-top:9vw}@keyframes brandEra{0%{opacity:0;transform:scale(.72) rotate(-4deg);filter:blur(10px)}7%,20%{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}25%,100%{opacity:0;transform:scale(1.28) rotate(3deg);filter:blur(8px)}}@keyframes filmTimeline{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes filmPulse{50%{opacity:.35;transform:scale(.75)}}
@media(max-width:800px){.brand-film{margin-top:12vw}.brand-film__topline{font-size:10px}.brand-film__status{display:none}.brand-film__stage{height:115vw;max-height:520px}.brand-film__stage:before{background-size:20vw 20vw}.brand-era p{left:18px;bottom:18px}.brand-film__counter{right:18px;top:18px}.proto-logo--two{flex-direction:column}.proto-logo--two small{right:auto;bottom:-28px}.proto-logo--four{gap:12px}.about-grid{margin-top:24vw}}
@media(prefers-reduced-motion:reduce){.brand-film__status i,.brand-film__timeline i{animation:none}.brand-film__timeline i{transform:scaleX(1)}.brand-era{animation:none;display:none}.brand-era--four{display:grid;opacity:1;transform:none;filter:none}}

/* Paleta y composición de servicios */
.services{padding-top:7vw;padding-bottom:7vw}.services .section-intro{margin-bottom:3.5vw}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{position:relative;isolation:isolate;min-height:360px;padding:25px}.service-card:before{content:"";position:absolute;width:220px;height:220px;right:-105px;top:-105px;border:1px solid rgba(255,255,255,.22);border-radius:50%;z-index:-1;transition:transform .5s ease}.service-card:hover:before{transform:scale(1.25)}.service-card h3{font-size:clamp(42px,4.2vw,66px)}.service-card p{font-size:17px;margin-top:20px}.card-top{font-size:14px}.service-card--carpentry{background:#3653aa}.service-card--structures{background:#29458f}.service-card--billboards{background:#e54a18}.service-card--consulting{background:#ff5a1f;color:white}.service-card--profiles{background:#171719;color:white;grid-column:auto;min-height:360px}.service-card--profiles h3{max-width:820px}
@media(max-width:1000px) and (min-width:801px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.services{padding-top:22vw;padding-bottom:22vw}.services .section-intro{margin-bottom:12vw}.service-grid{grid-template-columns:1fr}.service-card,.service-card--profiles{min-height:510px;padding:25px}.service-card h3{font-size:15vw}.service-card p{font-size:20px}.card-top{font-size:18px}}
@media(min-width:1001px){.services{padding-top:5vw;padding-bottom:5vw}.services .section-intro{margin-bottom:3vw}.service-card,.service-card--profiles{min-height:320px}}

.service-card--structures{background:#707277}.service-card--statement{background:linear-gradient(0deg,rgba(17,18,20,.78),rgba(17,18,20,.08)),url("assets/metal-hero.png") center/cover;color:white}.service-card--statement:before{display:none}.service-card--statement .service-statement{max-width:100%;font-size:clamp(26px,2.5vw,40px);line-height:1.05;letter-spacing:-.035em;font-weight:500;text-wrap:balance}

/* Contacto directo y fotografía industrial */
.hero{position:relative;background:linear-gradient(90deg,rgba(17,18,20,.9) 0%,rgba(17,18,20,.68) 48%,rgba(17,18,20,.42) 100%),url("assets/hero-estructura-metalica-v2.jpg") center 44%/cover;color:white}.hero .eyebrow span{background:#ff5a1f}.hero h1 span{color:#ff6a2f}.hero .circle-link{border-color:white}.hero .circle-link:hover{background:white;color:var(--ink)}.hero-bottom{gap:32px}.hero-contact{display:flex;flex-direction:column;gap:10px;margin-left:auto;margin-right:2vw;font-size:16px}.hero-contact a{border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:7px}.hero-contact a span{margin-left:8px}.hero-contact address{font-style:normal;color:rgba(255,255,255,.72)}.visual-break{background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.12)),url("assets/construction-enclosure.jpg")}.service-card--statement{background-image:linear-gradient(0deg,rgba(17,18,20,.82),rgba(17,18,20,.05)),url("assets/metal-railing.jpg")}.process{background:linear-gradient(rgba(244,243,240,.94),rgba(244,243,240,.94)),url("assets/steel-structure.jpg") center/cover}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;align-items:center;gap:10px;background:#ff5a1f;color:white;padding:15px 20px;border-radius:100px;box-shadow:0 12px 35px rgba(17,18,20,.28);font-size:15px;font-weight:600;transition:transform .25s,background .25s}.whatsapp-float:hover{transform:translateY(-4px);background:#e84516}.whatsapp-float svg{width:24px;height:24px;fill:currentColor}
@media(max-width:800px){.hero{background-position:68% center}.hero h1{font-size:13vw}.hero-bottom{align-items:flex-start;flex-wrap:wrap}.hero-bottom>p{max-width:100%}.hero-contact{order:3;width:100%;margin:15px 0 0}.whatsapp-float{right:16px;bottom:16px;padding:14px}.whatsapp-float span{display:none}}

/* Carrusel continuo de empresas */
.clients{padding:8vw 0;background:#fff;overflow:hidden}.clients__heading{display:grid;grid-template-columns:1fr 2fr;align-items:start;padding:0 4vw;margin-bottom:4vw}.clients__heading h2{font-size:clamp(45px,5.5vw,86px);line-height:.94;letter-spacing:-.055em;font-weight:500}.clients__heading h2 span{color:var(--muted)}.logo-marquee{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.logo-marquee:before,.logo-marquee:after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:8vw;pointer-events:none}.logo-marquee:before{left:0;background:linear-gradient(90deg,#fff,transparent)}.logo-marquee:after{right:0;background:linear-gradient(-90deg,#fff,transparent)}.logo-marquee__track{display:flex;width:max-content;animation:logoScroll 22s linear infinite}.logo-marquee:hover .logo-marquee__track{animation-play-state:paused}.logo-set{display:flex}.logo-set figure{width:clamp(260px,29vw,460px);height:220px;margin:0;border-right:1px solid var(--line);display:grid;place-items:center;padding:38px 55px;background:#fff}.logo-set img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.78;transition:filter .3s,opacity .3s,transform .3s}.logo-set figure:hover img{filter:grayscale(0);opacity:1;transform:scale(1.04)}@keyframes logoScroll{to{transform:translateX(-50%)}}
@media(max-width:800px){.clients{padding:20vw 0}.clients__heading{grid-template-columns:1fr;gap:42px;padding:0 5vw;margin-bottom:12vw}.clients__heading h2{font-size:12vw}.logo-set figure{width:75vw;height:180px;padding:30px}}
@media(prefers-reduced-motion:reduce){.logo-marquee__track{animation-play-state:paused}}

/* Contacto destacado en el hero */
.hero-contact{min-width:310px;gap:8px!important;margin-right:1vw!important;padding:20px 24px;border:1px solid rgba(255,255,255,.4);border-radius:18px;background:rgba(17,18,20,.58);backdrop-filter:blur(10px)}.hero-contact__label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#ff7a43}.hero-contact a{font-size:clamp(25px,2.2vw,36px);line-height:1;font-weight:600;letter-spacing:-.035em;padding:5px 0 12px!important}.hero-contact address{font-size:18px;line-height:1.3;color:white!important;font-weight:500}
@media(max-width:800px){.hero-contact{min-width:0;width:100%;padding:17px 19px}.hero-contact a{font-size:29px}.hero-contact address{font-size:17px}}

/* Encuadre de logos horizontales */
.logo-marquee:before,.logo-marquee:after{width:3vw}.logo-set figure{width:clamp(320px,34vw,540px);padding:28px 36px;text-align:center}.logo-set .client-logo--edelacruz img{max-width:88%;max-height:95%;margin:auto}.logo-set .client-logo--bolivar img{max-width:96%;max-height:90%;margin:auto;object-position:center center}
@media(max-width:800px){.logo-marquee:before,.logo-marquee:after{width:14px}.logo-set figure{width:86vw;padding:24px}.logo-set .client-logo--edelacruz img,.logo-set .client-logo--bolivar img{max-width:94%}}

.logo-marquee__track{animation-duration:44s}.logo-set .client-logo--wide img{max-width:98%;max-height:82%;margin:auto}

/* Logos completos, pequeños y centrados */
.logo-set figure{width:clamp(280px,27vw,420px);height:230px;padding:40px;display:flex;align-items:center;justify-content:center;overflow:hidden}.logo-set img,.logo-set .client-logo--edelacruz img,.logo-set .client-logo--bolivar img,.logo-set .client-logo--wide img{width:auto;height:auto;max-width:76%;max-height:72%;object-fit:contain;object-position:center;transform:none;margin:auto}.logo-set figure:hover img{transform:scale(1.03)}
@media(max-width:800px){.logo-set figure{width:78vw;height:190px;padding:32px}.logo-set img,.logo-set .client-logo--edelacruz img,.logo-set .client-logo--bolivar img,.logo-set .client-logo--wide img{max-width:78%;max-height:72%}}

/* Seis empresas visibles en escritorio */
@media(min-width:1001px){.logo-set figure{width:16.6667vw;height:190px;padding:25px 18px}.logo-set img,.logo-set .client-logo--edelacruz img,.logo-set .client-logo--bolivar img,.logo-set .client-logo--wide img{max-width:84%;max-height:70%}.logo-marquee__track{animation-duration:54s}}

/* Sin rótulos pequeños decorativos */
.section-label,.eyebrow,.card-top,.hero-contact__label{display:none}.section-intro h2,.clients__heading h2{grid-column:2}.about-grid{margin-top:4vw}.contact h2{margin-top:3vw}.service-card>div:last-child{margin-top:auto}
@media(max-width:800px){.section-intro h2,.clients__heading h2{grid-column:1}.about-grid{margin-top:5vw}.contact h2{margin-top:4vw}}

.logo-marquee__track{animation-duration:24s}@media(min-width:1001px){.logo-marquee__track{animation-duration:24s}}

.logo-set img{filter:none;opacity:1}

/* Mayor presencia para logos con espacio blanco interno */
.logo-set .client-logo--edelacruz img{width:auto;height:auto;max-width:92%;max-height:82%;object-fit:contain}.logo-set .client-logo--mazuera img{width:125%;max-width:none;max-height:none}.logo-set .client-logo--bolivar img{width:108%;max-width:none;max-height:92%}
@media(max-width:800px){.logo-set .client-logo--edelacruz img{width:auto;max-width:90%;max-height:80%}.logo-set .client-logo--mazuera img{width:118%;max-width:none}.logo-set .client-logo--bolivar img{width:105%;max-width:none}}

/* Acceso a galerías desde los servicios */
.service-card--clickable{cursor:pointer}.service-card--clickable:focus-visible{outline:4px solid #fff;outline-offset:-8px}.service-card--clickable .card-icon{transition:transform .25s}.service-card--clickable:hover .card-icon{transform:translate(4px,-4px)}

/* Equipo integrado en la sección de experiencia */
.about-grid{grid-template-columns:minmax(220px,.8fr) minmax(220px,.72fr) minmax(420px,1.55fr);gap:3vw}.about-team{display:grid;grid-template-rows:1fr 1fr;gap:14px;min-height:600px}.about-team figure{margin:0;overflow:hidden;border-radius:18px;background:#27282b}.about-team img{display:block;width:100%;height:100%;object-fit:cover}.about-team figure:first-child img{object-position:center center}.about-team figure:last-child img{object-position:center 42%}
@media(max-width:1050px) and (min-width:801px){.about-grid{grid-template-columns:1fr 1fr}.about-team{min-height:540px}.about-copy{grid-column:1/-1;max-width:850px}}
@media(max-width:800px){.about-grid{grid-template-columns:1fr;gap:14vw}.about-team{grid-template-columns:1fr 1fr;grid-template-rows:none;min-height:0;height:78vw;gap:9px}.about-team figure{border-radius:14px}.about-copy{margin-top:3vw}}

/* Galería modal de cada servicio */
.service-gallery{width:min(88vw,1100px);max-width:none;height:82vh;max-height:820px;margin:auto;padding:0;border:0;border-radius:24px;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 30px 90px rgba(0,0,0,.42)}.service-gallery::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(3px)}.service-gallery__bar{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid var(--line);background:rgba(244,243,240,.94);backdrop-filter:blur(12px)}.service-gallery__bar h2{font-size:clamp(30px,3vw,48px);font-weight:500;letter-spacing:-.045em}.service-gallery__close{display:flex;align-items:center;gap:14px;padding:12px 17px;border:1px solid var(--ink);border-radius:100px;background:transparent;font:inherit;font-weight:600;cursor:pointer}.service-gallery__close span{font-size:25px;line-height:.7}.service-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:24px}.service-gallery__grid figure{height:clamp(260px,30vw,430px);margin:0;border-radius:16px;overflow:hidden;background:#ddd}.service-gallery__grid img{display:block;width:100%;height:100%;object-fit:cover}.service-gallery[open]{animation:serviceGalleryIn .28s ease-out}@keyframes serviceGalleryIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:800px){.service-gallery{width:91vw;height:78vh;border-radius:18px}.service-gallery__bar{padding:15px 16px}.service-gallery__bar h2{font-size:24px}.service-gallery__close{padding:10px 12px;font-size:12px;gap:8px}.service-gallery__grid{grid-template-columns:1fr;gap:9px;padding:12px}.service-gallery__grid figure{height:78vw;max-height:430px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){.service-gallery[open]{animation:none}}

/* Asociación gremial y servicio de señalización PMT */
.hero-summary{display:flex;flex-direction:column;align-items:flex-start;gap:22px;max-width:650px}.hero-summary>p{max-width:650px}.hero-affiliation{position:absolute;top:28px;right:4vw;z-index:2;display:flex;align-items:center;gap:14px;width:max-content;padding:10px 16px 10px 14px;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(255,255,255,.94);color:var(--ink);transition:transform .25s,background .25s}.hero-affiliation:hover{transform:translateY(-3px);background:#fff}.hero-affiliation span{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.hero-affiliation img{display:block;width:150px;height:auto}.service-card--carpentry h3,.service-card--site-advertising h3{font-size:clamp(35px,3.5vw,55px)}.service-card--site-advertising{background:#29458f;color:white}.service-card--containment{background:#707277;color:white}.service-card--pmt{background:#3653aa;color:white}.service-card--statement{grid-column:auto}.service-card--custom{grid-column:1/-1;min-height:300px;background:#171719;color:white}.service-card--custom h3{font-size:clamp(48px,5.5vw,82px)}.service-card--custom p{max-width:700px}
@media(max-width:1000px) and (min-width:801px){.service-card--statement{grid-column:auto}}
@media(max-width:800px){.hero-summary{width:100%;max-width:none;gap:18px}.hero-summary>p{font-size:18px;max-width:100%}.hero-affiliation{top:16px;right:5vw;padding:8px 11px;gap:9px}.hero-affiliation span{font-size:9px}.hero-affiliation img{width:108px}.service-card--carpentry h3,.service-card--site-advertising h3{font-size:12vw}.service-card--statement,.service-card--custom{grid-column:auto}.service-card--custom{min-height:510px}.service-card--custom h3{font-size:15vw}}

/* Documentos de experiencia */
.experience-actions{display:flex;flex-wrap:wrap;gap:12px}.experience-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 20px;border:1px solid rgba(255,255,255,.65);border-radius:100px;font-size:16px;font-weight:600;transition:background .25s,color .25s,transform .25s}.experience-button:hover{transform:translateY(-3px);background:white;color:var(--ink)}.experience-button--download{border-color:#ff5a1f;background:#ff5a1f;color:white}.experience-button span{font-size:19px}
@media(max-width:800px){.experience-actions{flex-direction:column}.experience-button{width:100%;padding:16px 19px}}

/* Servicios compactos en pantallas pequeñas */
@media(max-width:800px){.services{padding-top:16vw;padding-bottom:16vw}.services .section-intro{margin-bottom:9vw}.service-grid{gap:10px}.service-card,.service-card--profiles,.service-card--custom{min-height:340px;padding:20px;border-radius:18px}.service-card h3,.service-card--custom h3,.service-card--carpentry h3,.service-card--site-advertising h3{font-size:clamp(34px,10vw,44px);line-height:.92}.service-card p{font-size:16px;line-height:1.3;margin-top:16px}.service-card--statement .service-statement{font-size:27px}}

/* Protección disuasoria para recursos visuales */
img{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
