[hidden]{display:none!important}
.whatsapp-float{position:fixed;right:28px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:20;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:14px 20px;background:var(--purple);color:white;border:1px solid #ffffff55;border-radius:30px;font-size:13px;font-weight:650;box-shadow:0 5px 20px #24133425;transition:transform .2s,background .2s}
.whatsapp-float svg{width:24px;height:24px;flex-shrink:0}.whatsapp-float:hover{background:#3e1685;transform:translateY(-2px)}.whatsapp-float:active{transform:scale(.97)}
body[data-page="servicios"] footer,body[data-page="catalogo"] footer{padding-bottom:110px}
@media(max-width:640px){.whatsapp-float{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));padding:12px 17px;font-size:12px;min-height:48px}}
main{min-height:calc(100svh - 225px)}
nav a{position:relative;padding:10px 0;white-space:nowrap;transition:color .2s}
nav a::after{content:'';position:absolute;left:0;right:0;bottom:1px;height:2px;background:var(--purple);transform:scaleX(0);transition:transform .2s}
nav a[aria-current="page"]{color:var(--purple);font-weight:700}
nav a[aria-current="page"]::after{transform:scaleX(1)}
.studio-image{min-height:0;display:block;background:transparent;align-self:center}
.studio-image img{width:100%;height:auto;object-fit:contain}
.contact{margin-top:65px;margin-bottom:65px}
main>section:focus{outline:none}
.page-enter{animation:page-in .45s ease both}
.reveal{opacity:0;transform:translateY(15px);transition:opacity .5s ease var(--delay,0ms),transform .5s ease var(--delay,0ms)}
.reveal.revealed{opacity:1;transform:translateY(0)}
.photo img{transition:transform .45s ease}
.photo:hover img{transform:scale(1.025)}
.photo span{transition:transform .2s}
.photo:hover span{transform:rotate(45deg)}
.button{transition:background .2s,transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 5px 14px #5724ad16}
.button:active{transform:translateY(0)}
.service>a{transition:transform .2s}.service:hover>a{transform:translate(3px,-3px)}
.service{grid-template-columns:35px 1fr}
.service>.service-button{grid-column:2;justify-self:start;display:inline-flex;align-items:center;min-height:42px;margin-top:8px;padding:11px 17px;border:1px solid #d5c2eb;border-radius:6px;background:#fcfaf7;color:var(--purple);font-size:12px;font-weight:650;line-height:1.4;transition:background .2s,color .2s,border-color .2s}
.service:hover>.service-button{transform:none}
.service>.service-button:hover{background:var(--purple);color:white;border-color:var(--purple)}
.services{gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.service{position:relative;display:grid;grid-template-columns:1fr auto;gap:20px 10px;padding:25px;background:var(--paper);border:1px solid #e0d7e9;border-radius:8px;transition:border-color .2s,box-shadow .2s}
.service:hover{border-color:#b998da;box-shadow:0 5px 20px #5724ad08}
.service-symbol{width:58px;height:58px;display:grid;place-items:center;background:#eee6f8;color:var(--purple);border-radius:3px 17px 3px 17px}
.service-symbol svg{width:40px;height:40px}.icon-accent{fill:#f5b936;stroke:none}
.service-number{align-self:start;justify-self:end;font-size:10px;letter-spacing:1px}
.service-copy{grid-column:1/-1}.service h3{font-size:18px;line-height:1.4;min-height:50px}.service p{min-height:66px}
.service>.service-button{grid-column:1/-1;justify-self:stretch;justify-content:space-between;margin-top:0;background:var(--purple);color:white;border-color:var(--purple);font-size:13px;min-height:46px;padding:12px 16px}
.service>.service-button:hover{background:#3e1685}.catalog-mark{font-size:20px;font-weight:400;line-height:1}
.catalog{padding-top:45px;padding-bottom:75px}.catalog-back{display:inline-block;font-size:12px;color:var(--purple);border-bottom:1px solid #c8b1e0;padding-bottom:4px;margin-bottom:40px}
.catalog-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:35px}.catalog-heading h2{max-width:800px}.catalog-intro{font-size:15px;line-height:1.7;color:var(--muted);margin:18px 0 0}.service-symbol.large{flex-shrink:0;width:95px;height:95px;border-radius:4px 25px 4px 25px}.large svg{width:65px;height:65px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product-card{padding:25px;border:1px solid var(--line);border-radius:7px;display:flex;flex-direction:column;align-items:start;background:#fffdfa}.product-index{font-size:10px;color:#9680aa;letter-spacing:2px;margin-bottom:22px}.product-card h3{font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-.5px;line-height:1.4;margin:0 0 12px}.product-card p{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 25px}.product-quote{display:inline-flex;align-items:center;min-height:42px;margin-top:auto;padding:10px 14px;background:#eee6f8;border-radius:5px;font-size:12px;font-weight:600;color:var(--purple);transition:background .2s}.product-quote:hover{background:#e0d1f1}
.catalog-examples{margin-top:65px;border-top:1px solid var(--line);padding-top:40px}.catalog-examples h2{font-size:34px;margin-bottom:30px}.catalog-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.catalog-gallery .work:first-child{grid-row:auto}.catalog-gallery .work .photo img{height:320px}.catalog-note{margin-top:35px;padding:25px 28px;background:#f0e9f7;border-left:3px solid var(--purple);border-radius:0 5px 5px 0}.catalog-note p{margin:0 0 8px;font-weight:600;font-size:17px}.catalog-note span{font-size:13px;line-height:1.7;color:var(--muted)}
@media(max-width:1000px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{gap:15px}.product-card{padding:20px}}
@media(max-width:640px){.services{grid-template-columns:1fr;gap:16px}.service{grid-template-columns:58px 1fr auto;gap:16px;padding:22px}.service-symbol{grid-column:1;grid-row:1}.service-number{grid-column:3;grid-row:1}.service-copy{grid-column:1/-1}.service h3{min-height:0;font-size:19px}.service p{min-height:0}.service>.service-button{grid-column:1/-1}.catalog{padding-top:30px;padding-bottom:45px}.catalog-heading{align-items:start}.catalog-heading h2{font-size:34px}.service-symbol.large{width:52px;height:52px}.large svg{width:37px;height:37px}.catalog-heading .eyebrow{font-size:9px;letter-spacing:1px}.catalog-intro{font-size:13px}.product-grid{grid-template-columns:1fr}.product-card{padding:23px}.product-index{margin-bottom:15px}.product-card h3{font-size:19px}.catalog-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.catalog-gallery .work:first-child{grid-column:1/-1}.catalog-gallery .work .photo img{height:230px}.catalog-gallery .work:first-child .photo img{height:420px}.catalog-note{padding:22px}}
dialog[open]{animation:dialog-in .25s ease both}
dialog[open]::backdrop{animation:backdrop-in .25s ease both}
@keyframes page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-in{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:1000px){header{height:auto;min-height:100px;flex-wrap:wrap;gap:12px}header nav{order:3;width:100%;justify-content:center;gap:28px;display:flex}}
@media(max-width:640px){header{height:auto;padding:14px 20px 10px;gap:12px}header nav{display:flex;overflow-x:auto;justify-content:space-between;gap:19px;font-size:12px;padding-bottom:4px}nav a{padding:7px 0}.studio-image{min-height:0}.contact{margin-top:40px;margin-bottom:40px}main{min-height:calc(100svh - 240px)}}
@media(prefers-reduced-motion:reduce){.page-enter,dialog[open],dialog[open]::backdrop{animation:none}.reveal{opacity:1;transform:none}.photo:hover img,.photo:hover span,.button:hover,.service:hover>a{transform:none}}
