/* Sistema común de interacción, basado en el botón del catálogo de servicios. */
:root{--ui-ease:cubic-bezier(.22,1,.36,1)}
html.lenis,html.lenis body{height:auto}html.lenis{scroll-behavior:auto!important}
.ui-action,.impacto .ui-action,.nocturno .ui-action{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:12px 22px;border-radius:999px;font-size:15px;line-height:1.3;color:#f7f5ed;border:1px solid #e9dfb620;background:linear-gradient(150deg,#f8ecc421,#ffffff03 50%,#c7bc980e);backdrop-filter:blur(14px);box-shadow:inset 0 1px 2px #fff6,inset 0 -1px 3px #e4d5ad44,0 5px 12px #0005;transition:background .4s,box-shadow .4s,transform .4s var(--ui-ease);text-decoration:none;overflow:hidden}
.ui-action:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse 65% 130% at 18% -55%,#fff2d270,transparent 76%)}
.ui-action svg{width:20px;height:20px;transition:transform .4s var(--ui-ease)}
.service-card{cursor:pointer;position:relative;transition:transform .5s var(--ui-ease),box-shadow .5s var(--ui-ease),border-color .5s;will-change:auto}
.service-card>img,.impacto .photo-service .service-photo{transition:transform .7s var(--ui-ease),filter .5s}
.service-card .ui-action{width:fit-content;pointer-events:none}
@media(hover:hover){
.ui-action:hover,.service-card:hover .ui-action{background-color:#ffffff13;color:#fff;box-shadow:inset 0 1px 2px #fffa,inset 0 -1px 3px #e4d5ad66,0 8px 22px #0006}
.ui-action:hover svg,.service-card:hover .ui-action svg{transform:translateX(4px)}
.service-card:hover{transform:translateY(-8px);box-shadow:0 22px 40px #0005;border-color:#ffffff40;z-index:2}
.service-card:hover>img,.impacto .photo-service:hover .service-photo{transform:scale(1.045)}
.gallery-photo:hover img,.project-image:hover img{transform:scale(1.035);filter:brightness(1.09) saturate(.9)}
.gallery-photo:hover,.project-card:hover{transform:translateY(-5px)}
.unified-switch button[aria-pressed=false]:hover{background:#ffffff0c;color:#fff}
.gallery-controls button:hover,.carousel-controls button:hover,.icon-button:hover{background:#ffffff15;transform:translateY(-2px);border-color:#ffffff55}
}
.service-card:focus-visible{outline:2px solid #f5e202;outline-offset:5px;transform:translateY(-5px)}
.gallery-photo,.project-card{position:relative;transition:transform .5s var(--ui-ease)}
.gallery-photo img,.project-image img{transition:transform .7s var(--ui-ease),filter .5s}
.gallery-photo{overflow:clip;border-radius:22px}
.gallery-photo:after{content:'↗';position:absolute;right:16px;top:16px;display:grid;place-items:center;width:40px;height:40px;background:#161918b3;border:1px solid #ffffff45;border-radius:50%;color:white;font-size:23px;backdrop-filter:blur(10px);pointer-events:none}
.project-image{cursor:zoom-in}.gallery-controls button,.carousel-controls button,.icon-button{transition:transform .4s var(--ui-ease),background .4s,border-color .4s}
.unified-switch,.impacto .unified-switch{position:relative;isolation:isolate;display:flex;gap:0;width:270px;max-width:100%;padding:5px;border:1px solid #b9bba529;border-radius:999px;background:#1a1c19;flex-shrink:0}
.unified-switch:before{display:none!important}.unified-switch .switch-marker{position:absolute;left:5px;top:5px;bottom:5px;width:calc((100% - 10px)/2);border-radius:999px;background:linear-gradient(145deg,#81744348,#5756413b);box-shadow:inset 0 1px #e6d94e44;transform:translateX(calc(var(--selected,0)*100%));transition:transform .55s var(--ui-ease);pointer-events:none;z-index:0}
.unified-switch button,.impacto .unified-switch button{position:relative;z-index:1;width:50%;padding:10px 16px;min-height:44px;border:0;border-radius:999px;font-size:15px;background:transparent!important;color:#acb1b5;transition:color .35s,box-shadow .35s}
.unified-switch button[aria-pressed=true],.impacto .unified-switch button[aria-pressed=true]{color:#f2e983}
.unified-switch button[aria-pressed=false]:hover{box-shadow:inset 0 0 0 1px #ffffff24}
.service-grid+.service-grid{margin-top:0}.cards-transitioning{pointer-events:none}
.cinematic,.cinematic .hero-layout{min-height:max(760px,80svh)}
select,.quote select,.field select,.gallery-refine select{appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23c4c7c5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 18px center!important;padding-right:50px!important}
.select-wrap>svg{display:none!important}
.nocturno .porsche-compare{mask-image:none;aspect-ratio:1.8;border-radius:24px;background:#171918;border:1px solid #ffffff20;box-shadow:0 24px 60px #0003;--split:50%}
.porsche-compare>img,.porsche-compare .compare-dark{object-fit:contain;object-position:center;filter:none}
.porsche-compare .glass-tint{position:absolute;inset:0;width:100%;height:100%;fill:#080e12;stroke:none;opacity:.78}
.porsche-compare .compare-handle{background:#222724d9;border:1px solid #fff8;color:#fff;backdrop-filter:blur(14px);height:54px;width:54px;box-shadow:0 5px 20px #0008}
.porsche-compare .compare-handle:before{background:#ffffff99;width:1px}
.porsche-compare .compare-label{top:22px;padding:9px 16px;border:1px solid #ffffff24;backdrop-filter:blur(12px);background:#141815b8;color:#edf0ec;letter-spacing:.02em}
.porsche-compare .compare-range{touch-action:pan-y}
.space-detail{margin:0;overflow:hidden;border-radius:24px;align-self:start}.space-detail img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.space-detail figcaption{padding:16px 4px;color:#aeb3b0}
.faq-list{position:relative}.faq-list details{overflow:hidden;box-sizing:border-box}.faq-list summary{transition:color .3s}.faq-list summary:hover{color:#e8e3b2}.faq-list summary svg{transition:transform .45s var(--ui-ease)}.faq-list details[open] summary svg{transform:rotate(45deg)}
.contact-services{margin-top:70px}.contact-faq{display:grid;grid-template-columns:1fr 1.4fr;gap:60px}.contact-faq h2{font-size:clamp(32px,4vw,56px)}
@media(max-width:700px){.cinematic{min-height:0}.cinematic .hero-layout{min-height:0}.cinematic>.hero-photo,.cinematic:after,.cinematic .hero-copy{height:80svh;min-height:580px}.cinematic .hero-copy{padding:28px 24px}.cinematic>.hero-photo{object-position:50% 74%}.contact-faq{display:block}.contact-faq h2{margin-bottom:32px}.nocturno .porsche-compare{aspect-ratio:1.5}.porsche-compare .compare-label{font-size:12px;top:12px;padding:7px 11px}.unified-switch{width:270px}.contact-services{margin-top:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.service-card:hover,.gallery-photo:hover{transform:none}}

.porsche-compare .compare-handle{left:clamp(28px,var(--split),calc(100% - 28px))}
@media(max-width:1000px){.nocturno header>.ui-action{display:none}}
@media(max-width:700px){.cinematic>.hero-photo{object-fit:contain;object-position:center 65%;background:#111}}
