:root{--ink:#21113f;--purple:#38176e;--pink:#ff1489;--blue:#087dce;--green:#02c943;--light:#f4faff;--text:#342747;--radius:23px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:'Nunito',system-ui,sans-serif;color:var(--ink);background:white}button,input,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1150px,calc(100% - 42px));margin:auto}.skip-link{position:absolute;top:-60px;left:10px;background:#fff;padding:12px;z-index:999}.skip-link:focus{top:10px}.site-header{height:83px;background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px #130a3512}.nav-inner{height:100%;display:flex;align-items:center;gap:28px}.brand{width:94px;height:94px;align-self:flex-start;flex:none;position:relative;z-index:3;border-radius:50%;border:5px solid white;overflow:hidden;box-shadow:0 6px 18px #160d3e22}.brand img,.footer-brand img{width:100%;height:100%;object-fit:cover}.nav-links{display:flex;align-items:center;justify-content:center;gap:24px;flex:1;font-size:13px;font-weight:900}.nav-links a:hover{color:var(--pink)}.nav-cta{white-space:nowrap}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;font-weight:1000;font-size:14px;line-height:1.2;padding:14px 25px;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 16px #140b3620}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 20px #140b3635}.btn-pink{background:var(--pink);color:white}.btn-green{background:#00c847;color:#fff}.btn-blue{background:var(--blue);color:#fff}.btn-purple{background:#512392;color:#fff}.btn-white{background:#fff;color:var(--pink)}.hero{min-height:515px;background:#150736;overflow:hidden;position:relative;display:flex;align-items:center;color:#fff}.hero-photo{position:absolute;inset:0 0 0 34%;background:url('assets/hero-illustrative.webp') center/cover no-repeat;filter:saturate(1.1)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#1a083e 0%,#1a083df7 25%,#1c0b4bbb 48%,#1c09365c 76%,#1c0934a0 100%)}.hero-bubble{position:absolute;width:270px;height:270px;border-radius:45%;background:var(--pink);opacity:.9;filter:blur(2px)}.hero-bubble.one{bottom:-180px;left:-120px;transform:rotate(32deg)}.hero-bubble.two{top:-205px;right:-95px;background:var(--blue)}.hero-content{position:relative;z-index:2;padding:68px 0 88px}.eyebrow,.section-kicker{font-size:12px;font-weight:1000;letter-spacing:2px;color:var(--pink);text-transform:uppercase}.hero .eyebrow{color:#fff}.hero h1{margin:18px 0 20px;font-size:clamp(38px,5.6vw,70px);line-height:1.09;letter-spacing:-2px;font-weight:1000}.ribbon{display:table;padding:0px 19px 3px;margin:4px 0;transform:rotate(-3deg);border-radius:35px}.ribbon.blue{background:var(--blue)}.ribbon.pink{background:var(--pink);margin-left:16px;transform:rotate(-1deg)}.ribbon.white{background:white;color:#1e103c;transform:rotate(-4deg);margin-left:6px}.hero-sub{font-size:19px;line-height:1.36;max-width:425px}.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 27px;font-weight:900;font-size:13px}.hero-tags span{border-right:1px solid #ffffff77;padding-right:12px}.hero-tags span:last-child{border:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-script{font-family:'Pacifico',cursive;font-size:28px;text-align:center;position:absolute;right:5%;bottom:58px;transform:rotate(-10deg);line-height:1.4;z-index:2;text-shadow:0 3px 7px #0008}.trust-wrap{position:relative;z-index:3;margin-top:-33px}.trust-bar{background:#fff;border-radius:22px;box-shadow:0 18px 30px #15204a18;display:grid;grid-template-columns:repeat(4,1fr);padding:18px 20px}.trust-bar>div{display:flex;justify-content:center;align-items:center;gap:13px;border-right:1px solid #ded9e4}.trust-bar>div:last-child{border:0}.trust-bar b{font-size:38px;line-height:1;color:var(--pink);font-weight:700}.trust-bar strong,.trust-bar small{display:block}.trust-bar strong{font-size:17px;font-weight:1000}.trust-bar small{font-size:12px}.section{padding:88px 0}.shows-section{background:radial-gradient(circle at 6% 85%,#fbd9ef 0,transparent 25%),radial-gradient(circle at 93% 92%,#d1edff 0,transparent 25%),#f7fbff;padding-top:75px}.section-heading{text-align:center;margin-bottom:35px}.section-heading h2,.about-content h2,.videos-layout h2,.faq-layout h2,.closing h2{font-weight:1000;font-size:clamp(29px,3.7vw,46px);line-height:1.08;letter-spacing:-1.5px;margin:10px 0}.section-heading em,.about-content em,.videos-layout em,.faq-layout em,.closing em,.quote-dialog em{font-style:normal;color:var(--pink)}.section-heading p:not(.section-kicker){max-width:720px;margin:8px auto;color:var(--text)}.show-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.show-card{border-radius:20px;overflow:hidden;background:white;box-shadow:0 12px 28px #100d3120;transition:transform .25s}.show-card:hover{transform:translateY(-5px)}.show-card>img{width:100%;height:220px;object-fit:cover;object-position:center}.show-card-body{min-height:240px;position:relative;padding:25px 25px 22px;background:linear-gradient(130deg,#fff,#e6f5ff);display:flex;flex-direction:column}.bride .show-card-body{background:linear-gradient(130deg,#fff,#ffe0f0)}.birthday .show-card-body{background:linear-gradient(130deg,#fff,#eee2ff)}.show-icon{position:absolute;top:-31px;left:22px;background:white;border-radius:50%;font-size:32px;width:63px;height:63px;display:grid;place-items:center;box-shadow:0 3px 8px #1112}.show-card h3{font-size:26px;letter-spacing:-1px;margin:8px 0;color:#0467b6;font-weight:1000}.bride h3{color:var(--pink)}.birthday h3{color:#48208c}.show-card p{line-height:1.4;font-size:14px;margin:0 0 18px}.show-card .btn{margin-top:auto;align-self:flex-start;padding:11px 25px}.about-section{background:linear-gradient(120deg,#1a0b3b,#431775 58%,#21073d);color:#fff;padding:74px 0;overflow:hidden}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:68px}.about-photo{position:relative;transform:rotate(-4deg);border:8px solid #fff;border-radius:25px;box-shadow:0 14px 30px #0005}.about-photo img{height:315px;width:100%;object-fit:cover}.about-photo span{position:absolute;bottom:-25px;right:-22px;transform:rotate(5deg);background:var(--pink);padding:13px 20px;border-radius:30px;font-weight:1000}.about-content h2{font-size:clamp(30px,3.5vw,45px)}.about-content p:not(.section-kicker){line-height:1.6;font-size:17px;max-width:630px}.feature-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.feature-list span{background:#ffffff1a;border:1px solid #ffffff50;padding:12px 14px;border-radius:14px;font-weight:900;font-size:13px}.video-section{background:#1c0b3e;color:white}.videos-layout{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:42px}.videos-layout>div:first-child p:not(.section-kicker){line-height:1.55}.btn-outline-white{border:2px solid white;color:white;box-shadow:none;margin-top:12px}.video-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.video-tile{height:280px;background:linear-gradient(#140b1b08,#1b0c32c9),url('assets/baby-shower.webp') center/cover;border:3px solid #ffffff80;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:45px}.video-tile.v2{background-image:linear-gradient(#140b1b08,#1b0c32c9),url('assets/despedida.webp')}.video-tile.v3{background-image:linear-gradient(#140b1b08,#1b0c32c9),url('assets/cumpleanos.webp')}.video-tile span{font-size:24px;display:grid;place-items:center;width:65px;height:65px;border-radius:50%;border:3px solid #fff;background:#0005}.video-tile b{font-size:20px;text-shadow:0 3px 3px #000}.gallery-section{background:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery-grid img{width:100%;height:230px;object-fit:cover;border:6px solid #fff;border-radius:15px;box-shadow:0 5px 20px #110b3127}.gallery-grid img:nth-child(1){transform:rotate(-3deg)}.gallery-grid img:nth-child(2){transform:rotate(3deg)}.gallery-grid img:nth-child(3){transform:rotate(-2deg)}.gallery-grid img:nth-child(4){transform:rotate(3deg)}.image-note{text-align:center;color:#6d6479;font-size:12px;margin-top:31px}.testimonials-section{background:#f0f8ff}.testimonials-prompt{margin:auto;display:flex;align-items:center;gap:25px;background:#fff;border-radius:22px;padding:30px;max-width:850px;box-shadow:0 12px 25px #1a0d3310}.testimonials-prompt>span{font-size:48px}.testimonials-prompt p{flex:1;line-height:1.5}.steps-section{background:white}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.steps-grid>div{text-align:center;padding:20px;position:relative}.step-number{position:absolute;top:12px;left:20px;background:var(--blue);border-radius:50%;color:#fff;width:30px;height:30px;display:grid;place-items:center;font-weight:1000}.steps-grid>div:nth-child(2) .step-number{background:var(--pink)}.steps-grid>div:nth-child(3) .step-number{background:#5b229c}.steps-grid>div:nth-child(4) .step-number{background:var(--blue)}.step-icon{font-size:48px}.steps-grid h3{font-size:18px;margin:10px 0 6px;font-weight:1000}.steps-grid p{font-size:14px;line-height:1.5;margin:0;color:var(--text)}.faq-section{background:#f5f8ff}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-layout>div:first-child>p:not(.section-kicker){line-height:1.5}.faqs details{background:#fff;border-radius:15px;padding:19px 23px;margin-bottom:12px;box-shadow:0 4px 13px #17092c0c}.faqs summary{font-weight:1000;cursor:pointer}.faqs details p{font-size:14px;line-height:1.6}.closing{background:radial-gradient(circle at 93% 13%,#ef168c 0%,transparent 24%),linear-gradient(115deg,#241044,#70278f 57%,#1c0d40);color:white;overflow:hidden}.closing-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.closing-inner h2{font-size:clamp(29px,4vw,49px)}.closing-inner em{color:#ffe137}.closing-inner>img{width:235px;height:235px;object-fit:cover;border:10px solid #ffffff40;border-radius:50%;transform:rotate(10deg)}.closing p:not(.section-kicker){margin:12px 0 24px}.footer{background:white;padding:30px 0 15px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;font-weight:800}.footer-brand img{width:65px;height:65px;border-radius:50%}.footer-inner a:last-child{color:#bf1479}.footer-bottom{text-align:center;font-size:12px;color:#6c6477;border-top:1px solid #eee;padding-top:14px}.floating-quote{position:fixed;bottom:23px;right:22px;z-index:40;border:0;background:#02c64b;color:#fff;padding:16px 22px;border-radius:999px;box-shadow:0 9px 30px #003d1890;font-weight:1000;display:none}.quote-dialog{border:0;border-radius:24px;padding:0;width:min(490px,calc(100% - 24px));max-height:94vh;box-shadow:0 30px 80px #0007;color:var(--ink)}.quote-dialog::backdrop{background:#180a3dc9;backdrop-filter:blur(5px)}.quote-dialog form{padding:35px;overflow:auto;max-height:94vh}.quote-dialog h2{font-size:32px;margin:6px 0}.quote-dialog p:not(.section-kicker){font-size:14px;line-height:1.5}.quote-dialog label{font-size:13px;font-weight:1000;display:block;margin:13px 0 5px}.quote-dialog input,.quote-dialog select{width:100%;border:1px solid #d5cfdf;border-radius:10px;padding:12px;background:#fff;color:var(--ink)}.quote-dialog :is(input,select):focus{outline:3px solid #ff148945}.quote-submit{margin-top:23px;width:100%}.dialog-close{border:0;background:#f3edf5;border-radius:50%;width:35px;height:35px;position:absolute;top:13px;right:14px;font-size:24px}.form-hint{color:#6c607b}.dialog-facebook{display:block;text-align:center;color:#79339d;font-size:13px;font-weight:900;margin-top:14px}@media(max-width:1050px){.nav-links{gap:12px;font-size:12px}.hero-script{display:none}.show-card>img{height:170px}.about-grid{gap:38px}}@media(max-width:760px){.container{width:min(100% - 32px,530px)}.site-header{height:72px}.brand{width:78px;height:78px}.menu-toggle{display:block;border:0;background:#f6eff8;color:#361358;border-radius:9px;padding:8px 12px;font-size:24px;margin-left:auto}.nav-cta{font-size:12px;padding:11px 14px}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;box-shadow:0 10px 25px #1c0b3e30;padding:16px;flex-direction:column;align-items:stretch;gap:4px}.nav-links.open{display:flex}.nav-links a{padding:10px;border-bottom:1px solid #f3edf7}.hero{min-height:615px}.hero-photo{inset:0;background-position:55% center;opacity:.55}.hero-shade{background:linear-gradient(90deg,#1a083bea,#1a083d90),linear-gradient(0deg,#1a083de8,transparent)}.hero-content{padding:65px 0 85px}.hero h1{font-size:clamp(38px,9vw,58px)}.hero-sub{font-size:17px}.hero-tags{font-size:12px}.hero-tags span{border:0}.trust-bar{grid-template-columns:repeat(2,1fr);gap:18px;padding:17px 12px}.trust-bar>div:nth-child(even){border:0}.trust-bar b{font-size:28px}.trust-bar strong{font-size:14px}.trust-bar small{font-size:11px}.section{padding:65px 0}.show-grid,.about-grid,.videos-layout,.faq-layout{grid-template-columns:1fr}.show-grid{max-width:470px;margin:auto}.show-card>img{height:215px}.about-grid{gap:50px}.about-photo{max-width:410px;margin:0 auto}.about-photo img{height:260px}.videos-layout{gap:25px}.video-tiles{gap:9px}.video-tile{height:180px}.video-tile b{font-size:13px}.video-tile span{width:42px;height:42px;font-size:18px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid img{height:170px}.steps-grid{grid-template-columns:repeat(2,1fr);gap:8px}.testimonials-prompt{flex-direction:column;text-align:center}.faq-layout{gap:15px}.closing-inner>img{width:120px;height:120px}.floating-quote{display:block}.footer-inner{flex-wrap:wrap;justify-content:center;text-align:center}}@media(max-width:450px){.nav-inner{gap:8px}.nav-cta{font-size:11px;padding:10px 11px}.hero-actions .btn{width:100%}.hero{min-height:650px}.hero h1{font-size:40px}.ribbon{padding:3px 13px}.hero-tags{gap:2px}.video-tile{height:150px}.video-tile b{font-size:11px}.gallery-grid img{height:130px}.closing-inner>img{display:none}.steps-grid>div{padding:15px 5px}.footer-inner p{width:100%;margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Albumes publicos de Jass Eventos */
.album-public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.album-public-card{display:flex;flex-direction:column;align-items:stretch;gap:9px;text-align:left;background:white;color:#241449;border:1px solid #ece6f2;border-radius:20px;overflow:hidden;padding:0 0 18px;cursor:pointer;box-shadow:0 8px 22px #1a0b3b12;transition:transform .18s,box-shadow .18s}
.album-public-card:hover,.album-public-card:focus-visible{transform:translateY(-5px);box-shadow:0 18px 28px #1a0b3b20;outline:2px solid #ec1680}
.album-public-card>img,.album-placeholder{width:100%;height:190px;object-fit:cover}.album-placeholder{display:grid;place-items:center;background:#e8def4;font-size:54px}
.album-public-card>strong,.album-public-card>span,.album-public-card>small{margin:0 17px}.album-public-card>strong{font-size:19px}.album-public-card>span{color:#675a7b}.album-public-card>small{color:#ea117c}
.public-album-modal{width:min(940px,95vw);max-height:90vh;overflow:auto;border:0;border-radius:20px;padding:24px;background:white;color:#261447}
.public-album-modal::backdrop{background:#100824bf}.public-album-modal h2{margin:0 0 6px}.album-close{float:right;cursor:pointer;border:0;border-radius:10px;padding:10px 15px}
.album-public-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:22px}.album-public-media img,.album-public-media video{width:100%;border-radius:12px;max-height:350px;object-fit:cover}

/* Navegación por páginas independientes */
body.route-ready [data-page]:not(.page-active){display:none!important}
.nav-links a.current{color:#ed0b7c;font-weight:900}
.nav-links a.current::after{content:'';display:block;height:3px;background:#ed0b7c;border-radius:5px;margin-top:4px}
[data-page].page-active{animation:page-in .2s ease-out}
@keyframes page-in{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){[data-page].page-active{animation:none}}

/* Identidad y documentos legales */
.about-principles{padding-top:45px;padding-bottom:65px}
.principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px}
.principle-card{background:#fff;color:#29144c;padding:28px;border-radius:22px;box-shadow:0 8px 28px #15092816;border:1px solid #eee7f2}
.principle-card>span{font-size:35px}.principle-card h3{font-size:25px;margin:12px 0}.principle-card p,.principle-card li{line-height:1.7}.principle-card ul{padding-left:20px}
.legal-page{background:#faf8fd;min-height:65vh}.legal-content{max-width:900px;margin:auto;background:white;border-radius:22px;padding:clamp(22px,4vw,54px);box-shadow:0 12px 30px #160b3710}
.legal-content h1{font-size:clamp(30px,4vw,48px);margin:0 0 18px;color:#29144c}.legal-content h2{font-size:22px;margin:28px 0 10px;color:#29144c}.legal-content p{line-height:1.8}.legal-content .legal-updated{font-size:14px;color:#6b6280}
.footer-legal-link{color:inherit;text-decoration:underline;margin-right:18px}
@media(max-width:850px){.principles-grid{grid-template-columns:1fr}}

/* Jass Eventos · pulido visual de las seis secciones */
:root{--shadow-soft:0 12px 38px rgba(37,14,73,.10);--shadow-hover:0 22px 50px rgba(37,14,73,.18)}
body{background:#fcfbff;-webkit-font-smoothing:antialiased}
.site-header{height:88px;border-bottom:1px solid #f1e9f5;box-shadow:0 4px 26px rgba(25,8,57,.075);backdrop-filter:blur(12px)}
.nav-links{gap:clamp(12px,2vw,27px);font-size:14px}
.nav-links a{position:relative;padding:8px 0;transition:color .2s ease}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:1px;height:3px;border-radius:20px;background:var(--pink);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.nav-links a:hover::after,.nav-links a.current::after{transform:scaleX(1);margin-top:0;display:block}
.nav-links a:focus-visible,.btn:focus-visible,.album-public-card:focus-visible,.show-card button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.btn{letter-spacing:.1px;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.btn:hover{transform:translateY(-3px) scale(1.015)}
.btn:active{transform:translateY(0) scale(.985)}
.section-heading{max-width:850px;margin-left:auto;margin-right:auto}
.section-heading h2{letter-spacing:-1.8px}
.section-heading p:not(.section-kicker){font-size:17px;line-height:1.7}
.hero{min-height:min(690px,78vh)}
.hero-content{padding-top:90px;padding-bottom:105px}
.hero h1{max-width:780px}
.hero-sub{font-size:20px;line-height:1.5}
.hero-photo{transform:scale(1.03);animation:hero-drift 14s ease-in-out infinite alternate}
.hero-shade{background:linear-gradient(90deg,#19083feF 0%,#19083fe8 27%,#200d50c2 50%,#1d0a45aa 100%)}
.hero-tags span{border-color:#ffffff50}
.trust-bar{box-shadow:var(--shadow-soft);border:1px solid #ece7f4}
.section{padding-top:clamp(68px,7vw,105px);padding-bottom:clamp(68px,7vw,105px)}
.show-card,.principle-card,.album-public-card{box-shadow:var(--shadow-soft);transition:transform .26s cubic-bezier(.2,.8,.2,1),box-shadow .26s ease,border-color .26s ease}
.show-card:hover,.principle-card:hover,.album-public-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-hover);border-color:#f8b9dd}
.show-card>img{height:250px;transition:transform .5s ease,filter .5s ease}
.show-card:hover>img{transform:scale(1.025);filter:saturate(1.12)}
.show-card-body{min-height:265px;padding:29px 27px 26px}
.show-card p{font-size:15px;line-height:1.6}
.about-section{background:radial-gradient(circle at 90% 3%,#6630a0 0,transparent 37%),linear-gradient(115deg,#170732,#351161 70%,#1e083f)}
.about-photo{transition:transform .35s ease}
.about-photo:hover{transform:rotate(-1deg) translateY(-5px)}
.principle-card{border-top:4px solid #ec1680}
.principle-card:nth-child(2){border-top-color:#0c87d5}
.principle-card:nth-child(3){border-top-color:#8648c2}
.principle-card h3{font-weight:1000}
.faqs details{background:#fff;border:1px solid #e8e0ef;border-radius:15px;margin-bottom:11px;box-shadow:0 5px 18px #1f0a4210;transition:border-color .2s ease,box-shadow .2s ease}
.faqs details[open]{border-color:#e955a9;box-shadow:0 10px 27px #481b6d18}
.faqs summary{cursor:pointer}
.gallery-section{background:radial-gradient(circle at 0% 0%,#fff0f8,transparent 34%),#fbfaff}
.album-public-card>img{height:220px;transition:transform .4s ease}
.album-public-card:hover>img{transform:scale(1.025)}
.album-public-card>strong{font-size:21px;line-height:1.35}
.album-public-card>small{font-weight:900}
.legal-content{border:1px solid #f0e7f3}
.footer-legal-link:hover,.footer a:hover{color:#ff8bc8}
@keyframes hero-drift{from{transform:scale(1.03) translateX(0)}to{transform:scale(1.095) translateX(-1.2%)}}
@media(max-width:850px){.hero{min-height:560px}.hero-content{padding-top:76px;padding-bottom:90px}.hero-photo{inset:0}.hero-shade{background:linear-gradient(90deg,#19083fed,#19083fd9 55%,#1d0a45a0)}.site-header{height:78px}.nav-links{gap:13px}}
@media(max-width:580px){.hero{min-height:580px}.hero h1{font-size:clamp(37px,9vw,53px)}.hero-sub{font-size:17px}.hero-tags{font-size:12px}.trust-bar{border-radius:18px}.show-card>img{height:215px}.section-heading p:not(.section-kicker){font-size:15px}}
@media(prefers-reduced-motion:reduce){.hero-photo{animation:none}.show-card,.principle-card,.album-public-card,.btn,.about-photo{transition:none}}

/* Shows — opción A aprobada: atmósfera rosa, azul y lavanda claramente visible */
.shows-section{
 position:relative;isolation:isolate;overflow:hidden;
 background:
 radial-gradient(ellipse 54% 74% at -4% 8%,rgba(255,130,199,.45) 0%,rgba(255,176,218,.31) 36%,transparent 83%),
 radial-gradient(ellipse 54% 76% at 105% 83%,rgba(106,176,255,.43) 0%,rgba(157,204,255,.28) 41%,transparent 86%),
 radial-gradient(ellipse 72% 45% at 49% 108%,rgba(205,163,247,.25),transparent 83%),
 linear-gradient(115deg,#fff8ff 0%,#fafaff 49%,#f0f7ff 100%);
 padding-top:80px;padding-bottom:90px;
}
.shows-section::before{
 content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:1;
 background:
 radial-gradient(circle at 12% 31%,rgba(244,145,204,.25) 0 16px,transparent 17px),
 radial-gradient(circle at 24% 72%,rgba(250,177,229,.23) 0 10px,transparent 11px),
 radial-gradient(circle at 84% 22%,rgba(124,186,252,.25) 0 29px,transparent 30px),
 radial-gradient(circle at 91% 58%,rgba(174,207,255,.20) 0 13px,transparent 14px),
 radial-gradient(circle at 76% 89%,rgba(190,148,240,.23) 0 20px,transparent 21px);
}
.shows-section::after{
 content:"";position:absolute;bottom:-95px;left:50%;transform:translateX(-50%);
 width:85%;height:240px;pointer-events:none;z-index:0;
 background:radial-gradient(ellipse at center,rgba(174,131,220,.18),transparent 70%);
 filter:blur(23px);
}
.shows-section .container{position:relative;z-index:1}
.shows-section .show-card{box-shadow:0 19px 40px rgba(41,20,76,.14)}
@media(max-width:640px){
 .shows-section{padding-top:65px;padding-bottom:78px;background:
 radial-gradient(ellipse 100% 36% at -12% 4%,rgba(255,144,205,.38),transparent 86%),
 radial-gradient(ellipse 104% 45% at 110% 100%,rgba(109,188,255,.37),transparent 89%),
 linear-gradient(135deg,#fff8ff,#f3f7ff)}
}

/* Galería — diseño 3 aprobado: presentación editorial y recuerdos */
.gallery-section{position:relative;isolation:isolate;overflow:hidden;min-height:70vh;background:
 radial-gradient(ellipse 45% 48% at 0% 4%,rgba(255,177,221,.44),transparent 83%),
 radial-gradient(ellipse 45% 60% at 100% 20%,rgba(190,169,254,.34),transparent 86%),
 radial-gradient(ellipse 42% 40% at 88% 100%,rgba(156,201,255,.29),transparent 86%),
 linear-gradient(120deg,#fffaff 0%,#f9faff 57%,#f5f7ff 100%)}
.gallery-section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;background:
 radial-gradient(circle at 5% 30%,#ec7ec9 0 6px,transparent 7px),
 radial-gradient(circle at 93% 44%,#bfa9f3 0 10px,transparent 11px),
 radial-gradient(circle at 13% 87%,#9bc9f7 0 9px,transparent 10px)}
.gallery-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:36px}
.gallery-intro>div:first-child{max-width:850px}
.gallery-intro h2{font-size:clamp(36px,5vw,65px);letter-spacing:-2.7px;line-height:1.06;margin:13px 0 15px}
.gallery-intro h2 em{font-style:normal;color:var(--pink)}
.gallery-intro p:not(.section-kicker){font-size:17px;line-height:1.55;color:#554669;max-width:740px}
.gallery-intro-art{display:flex;gap:18px;align-items:center;justify-content:center;color:#e92891;font-size:42px;transform:rotate(-10deg);opacity:.65}
.gallery-intro-art span:nth-child(2){color:#8e76d4;transform:translateY(-30px)}
.gallery-intro-art span:nth-child(3){color:#278fd4;transform:translateY(15px)}
.gallery-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gallery-featured-grid .album-public-card{display:block;text-align:left;padding:0;border:1px solid #eee7f6;border-radius:21px;background:white;overflow:hidden;box-shadow:0 16px 40px #27114d18}
.gallery-card-cover{position:relative;overflow:hidden;background:#f4e7f5}
.gallery-card-cover img,.gallery-card-cover .album-placeholder{display:block;width:100%;height:250px;object-fit:cover;transition:transform .35s ease}
.gallery-featured-grid .album-public-card:hover .gallery-card-cover img{transform:scale(1.045)}
.gallery-count{position:absolute;right:12px;bottom:13px;background:#21113fda;color:white;border-radius:30px;padding:7px 11px;font-weight:900;font-size:12px}
.gallery-card-body{padding:22px}
.gallery-card-body h3{margin:0 0 8px;font-size:23px;line-height:1.18;color:#22123e}
.gallery-date{color:#755b89;font-size:13px;font-weight:800}
.gallery-card-body p{color:#564a68;line-height:1.55;font-size:14px;min-height:88px;margin:15px 0 9px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.gallery-signature{font-size:13px;color:#734d96;font-weight:900}
.gallery-more{margin-top:48px}.gallery-more-heading{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap;margin-bottom:20px}
.gallery-more-heading h3{font-size:23px;margin:0}.gallery-more-heading p{margin:0;color:#665573}
.gallery-more-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.gallery-more-card{border:0;border-radius:15px;overflow:hidden;background:white;padding:0 0 10px;text-align:left;box-shadow:0 8px 22px #21113f15}
.gallery-more-card img{width:100%;height:125px;object-fit:cover}.gallery-more-card strong{font-size:13px;display:block;padding:9px}
.gallery-empty{grid-column:1/-1;text-align:center;padding:55px 22px;border:1px dashed #d9c9eb;border-radius:22px;background:#ffffffa9}
.gallery-empty-icon{font-size:42px}.gallery-empty h3{font-size:24px;margin:9px 0}.gallery-empty p{max-width:560px;margin:auto;line-height:1.6;color:#625475}
@media(max-width:860px){.gallery-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-more-items{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.gallery-intro-art{display:none}.gallery-intro h2{font-size:38px}.gallery-featured-grid{grid-template-columns:1fr}.gallery-more-items{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card-body p{min-height:0}.gallery-section{padding-top:60px}}

/* Galería: fidelidad al mockup tres aprobado */
.gallery-section{padding-top:55px;padding-bottom:90px}
.gallery-intro{margin-bottom:29px;min-height:150px}
.gallery-intro>div:first-child{max-width:750px}
.gallery-intro-art{flex:0 0 290px;display:flex;align-items:center;flex-direction:column;gap:6px;transform:none;opacity:1;color:#382368;font-size:22px;text-align:center}
.gallery-intro-art p{margin:0;font-family:'Pacifico',cursive;line-height:1.35;font-size:26px;transform:rotate(-9deg);font-weight:400;color:#43377b}
.gallery-intro-art>span{color:#f31884;font-size:25px;line-height:1}
.gallery-intro-art .gallery-explore{color:#fff;font:900 14px 'Nunito',sans-serif;margin-top:9px;padding:14px 25px;white-space:nowrap}
.gallery-featured-grid .gallery-example-card{cursor:default;transform:none}
.gallery-featured-grid .gallery-example-card:hover{transform:none}
.gallery-featured-grid .gallery-example-card .gallery-card-cover img{height:270px}
.gallery-featured-grid .gallery-example-card:hover .gallery-card-cover img{transform:none}
.gallery-featured-grid .gallery-example-card .gallery-card-body p{min-height:74px}
.gallery-sample-tile{padding:0;pointer-events:none}
.gallery-preview-strip .gallery-more-items{grid-template-columns:repeat(5,minmax(0,1fr))}
.gallery-preview-strip .gallery-more-heading h3::before{content:'—';color:#f31884;margin-right:12px}
@media(max-width:860px){.gallery-intro-art{flex-basis:210px}.gallery-intro-art p{font-size:20px}}
@media(max-width:600px){.gallery-intro-art{display:flex;flex-basis:auto;width:100%;margin-top:12px}.gallery-intro{flex-direction:column;align-items:stretch}.gallery-intro-art p{font-size:20px}.gallery-preview-strip .gallery-more-items{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Galería: composición fiel al mockup aprobado, sin superposición de texto */
.gallery-intro{align-items:center;min-height:178px;gap:35px}
.gallery-intro>div:first-child{flex:1;min-width:0}
.gallery-intro-art{position:relative;flex:0 0 390px;width:390px;min-height:180px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding:8px 130px 8px 8px;text-align:left;transform:none}
.gallery-art-copy{position:relative;width:100%;z-index:2}
.gallery-intro-art .gallery-art-copy p{font:400 25px/1.22 'Pacifico',cursive;transform:rotate(-7deg);margin:0;color:#3c367c;white-space:nowrap;letter-spacing:0}
.gallery-art-swoosh{display:block;width:125px;height:14px;margin:8px 0 0 15px;border-bottom:4px solid #f31687;border-radius:50%;transform:rotate(-10deg)}
.gallery-intro-art .gallery-explore{z-index:2;margin:0;white-space:nowrap;font:900 13px 'Nunito',sans-serif;padding:13px 19px}
.gallery-mic{position:absolute;right:-13px;top:-17px;width:125px;height:205px;transform:rotate(18deg);opacity:.42;z-index:0;pointer-events:none;filter:drop-shadow(0 5px 10px #a87fdd2b)}
.gallery-art-sparkle{position:absolute;pointer-events:none;z-index:1;font-family:system-ui,sans-serif;line-height:1}
.sparkle-one{top:8px;left:-28px;color:#ee3993;font-size:28px}
.sparkle-two{right:10px;bottom:10px;color:#c895ee;font-size:34px}
.sparkle-three{right:119px;top:4px;color:#e992c8;font-size:29px}
@media(max-width:970px){.gallery-intro-art{flex-basis:320px;width:320px;padding-right:94px}.gallery-mic{width:104px;right:-12px}.gallery-intro-art .gallery-art-copy p{font-size:20px}.gallery-intro-art .gallery-explore{font-size:12px;padding:12px 15px}}
@media(max-width:700px){.gallery-intro{flex-direction:column;align-items:stretch;gap:14px}.gallery-intro-art{width:min(100%,390px);flex-basis:auto;min-height:160px;padding:14px 125px 15px 10px;margin:0 auto}.gallery-intro-art .gallery-art-copy p{font-size:21px}.gallery-mic{width:105px;top:-10px;right:0}.sparkle-three{right:110px}}
@media(max-width:390px){.gallery-intro-art{padding-right:95px}.gallery-intro-art .gallery-art-copy p{font-size:17px}.gallery-mic{width:85px}.gallery-intro-art .gallery-explore{font-size:11px;padding:10px}}

/* GALERÍA V3 — reconstrucción del mockup aprobado */
.gallery-v3{padding:42px 0 85px;min-height:760px;background:radial-gradient(ellipse 36% 55% at -8% 14%,#ffd2ea 0%,transparent 90%),radial-gradient(ellipse 33% 65% at 104% 12%,#e5c9ff 0%,transparent 88%),radial-gradient(ellipse 44% 40% at 75% 100%,#dce8ff 0%,transparent 85%),linear-gradient(115deg,#fff9fe,#fafaff 58%,#f5f4ff)}
.gallery-shell{width:min(1450px,calc(100% - 64px));margin:auto;position:relative}
.gallery-hero-v3{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(350px,.85fr);gap:20px;align-items:center;min-height:205px;margin-bottom:25px}
.gallery-hero-text{position:relative;z-index:2}.gallery-hero-text h1{font-size:clamp(43px,5.1vw,73px);letter-spacing:-3px;line-height:1.03;margin:15px 0 14px;font-weight:1000}.gallery-hero-text h1 em{color:#f40982;font-style:normal}
.gallery-hero-text>p:last-child{max-width:790px;font-size:17px;line-height:1.55;color:#5c5072}
.gallery-hero-art{min-height:200px;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:5px 165px 10px 10px;gap:18px}
.gallery-script{font:400 27px/1.23 'Pacifico',cursive;color:#393476;transform:rotate(-8deg);white-space:nowrap;position:relative;z-index:2}
.gallery-script-line{position:absolute;display:block;bottom:-14px;left:6px;width:170px;height:15px;border-bottom:5px solid #f20b88;border-radius:50%;transform:rotate(-7deg)}
.gallery-hero-art .gallery-explore{margin:11px 0 0;font-size:14px;white-space:nowrap;position:relative;z-index:2}
.gallery-microphone-v3{position:absolute;right:5px;top:-20px;width:195px;height:265px;transform:rotate(18deg);color:#c7a4ea;opacity:.57;pointer-events:none;filter:drop-shadow(1px 3px 9px #b28bdd40)}
.gallery-deco{position:absolute;pointer-events:none;color:#ea168e;font-size:35px;line-height:1}.gallery-deco-star{top:13px;left:-14px}.gallery-deco-note{right:15px;bottom:5px;color:#bc80de}.gallery-deco-heart{right:155px;top:6px;color:#ea94cc}
.gallery-v3 .gallery-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-v3 .album-public-card{border-radius:20px;overflow:hidden;box-shadow:0 16px 38px #2c14401c;border:1px solid #eee9f6;background:white;transition:transform .22s,box-shadow .22s;width:100%;text-align:left}
.gallery-v3 .album-public-card:hover{transform:translateY(-5px);box-shadow:0 23px 45px #2c14402e}
.gallery-v3 .gallery-card-cover img{height:265px;object-fit:cover;width:100%;display:block}
.gallery-v3 .gallery-card-body{padding:21px 24px 25px}
.gallery-v3 .gallery-card-body h3{font-size:24px;margin:0 0 10px;line-height:1.2}
.gallery-v3 .gallery-card-body p{min-height:74px;font-size:15px;line-height:1.5}
.gallery-v3 .gallery-date{font-size:14px;color:#756388}
.gallery-v3 .gallery-signature{display:block;margin-top:10px;font-size:13px}
.gallery-v3 .gallery-count{font-size:13px;padding:8px 12px}
.gallery-filmstrip{margin-top:44px}
.gallery-filmstrip .gallery-more-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:18px}
.gallery-filmstrip .gallery-more-heading h2{font-size:25px;margin:0 0 6px;color:#241344}.gallery-filmstrip .gallery-more-heading h2::before{content:"—";color:#fc158c;margin-right:13px}
.gallery-filmstrip .gallery-more-heading p{font-size:14px;color:#665977;margin:0}
.gallery-strip-controls{display:flex;gap:10px;flex-shrink:0}.gallery-strip-controls button{width:43px;height:43px;border:1px solid #dfd6ed;border-radius:50%;background:#fff;font-size:29px;color:#302150}.gallery-strip-controls button:last-child{background:#fa118a;color:#fff;border-color:#fa118a}
.gallery-filmstrip .gallery-more-items{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:0 0 12px}
.gallery-filmstrip .gallery-more-card{flex:0 0 185px;min-width:0;scroll-snap-align:start}.gallery-filmstrip .gallery-more-card img{height:115px}
.gallery-v3 .image-note{font-size:12px;opacity:.7;margin-top:20px;text-align:center}
@media(max-width:1000px){.gallery-hero-v3{grid-template-columns:1fr 310px}.gallery-hero-art{padding-right:115px}.gallery-script{font-size:20px}.gallery-microphone-v3{width:145px;right:-8px}.gallery-hero-art .gallery-explore{font-size:12px}.gallery-v3 .gallery-card-cover img{height:220px}}
@media(max-width:700px){.gallery-shell{width:min(100% - 30px,1450px)}.gallery-hero-v3{grid-template-columns:1fr;gap:4px}.gallery-hero-text h1{font-size:clamp(39px,9vw,55px)}.gallery-hero-art{width:min(100%,390px);min-height:165px;padding-right:145px}.gallery-script{font-size:21px}.gallery-microphone-v3{width:150px;top:-12px}.gallery-v3 .gallery-featured-grid{grid-template-columns:1fr}.gallery-v3 .gallery-card-cover img{height:260px}.gallery-filmstrip .gallery-more-card{flex-basis:140px}.gallery-filmstrip .gallery-more-card img{height:95px}}
@media(prefers-reduced-motion:reduce){.gallery-v3 .album-public-card{transition:none}}

/* Ilustración editorial: micrófono y chispas del mockup aprobado */
.gallery-v3 .gallery-microphone-v3{width:235px;height:305px;right:-17px;top:-43px;transform:rotate(19deg);color:#b897e7;opacity:.73;filter:drop-shadow(0 4px 12px #ae84d72b)}
.gallery-v3 .gallery-hero-art{overflow:visible;isolation:isolate}
.gallery-v3 .gallery-script{z-index:3}
.gallery-v3 .gallery-explore{z-index:3}
.gallery-spark{position:absolute;width:44px;height:44px;pointer-events:none;z-index:1}
.gallery-spark-pink{left:-55px;top:54px;transform:rotate(18deg)}
.gallery-spark-blue{left:-28px;bottom:13px;width:32px;height:32px;transform:rotate(-18deg)}
.gallery-v3 .gallery-deco-heart{right:175px;top:8px;font-size:29px;color:#f05ab0}
.gallery-v3 .gallery-deco-star{left:30px;top:-5px;font-size:24px;color:#b88adf}
.gallery-v3 .gallery-deco-note{right:0;bottom:-5px;font-size:32px;color:#de86d5}
.gallery-deco-note-two{right:200px;bottom:6px;color:#f29ad0;font-size:22px}
@media(max-width:1000px){.gallery-v3 .gallery-microphone-v3{width:170px;height:250px;right:-12px;top:-20px}.gallery-spark-pink{left:-25px}}
@media(max-width:700px){.gallery-v3 .gallery-microphone-v3{width:150px;height:225px;right:0;top:-10px}.gallery-spark-pink{left:0;top:15px;width:23px;height:23px}.gallery-spark-blue{left:20px;bottom:0;width:22px;height:22px}}

/* Nosotros: dirección visual editorial con profundidad y tarjetas equilibradas */
.about-section{position:relative;isolation:isolate;background:radial-gradient(ellipse 38% 48% at 91% 6%,rgba(132,67,192,.45),transparent 83%),radial-gradient(ellipse 43% 50% at -7% 82%,rgba(102,40,158,.27),transparent 85%),linear-gradient(120deg,#180a33 0%,#2b1051 50%,#471b77 100%);padding:86px 0 112px}
.about-section::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.38;background:radial-gradient(circle at 8% 17%,#fb6eb1 0 5px,transparent 6px),radial-gradient(circle at 91% 37%,#9b9afc 0 6px,transparent 7px),radial-gradient(circle at 84% 90%,#ef9ee0 0 4px,transparent 5px)}
.about-section .container{position:relative;z-index:1}
.about-grid{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(35px,6vw,95px);max-width:1110px}
.about-photo{max-width:465px;margin:10px auto 20px;border-radius:28px;border:9px solid white;transform:rotate(-3deg);box-shadow:0 25px 65px #10032180}
.about-photo img{height:390px;object-position:center 32%;border-radius:18px}
.about-photo::after{content:"✦";position:absolute;right:-35px;top:-32px;color:#fd66b5;font-size:50px;text-shadow:0 0 18px #f686c880}
.about-photo span{bottom:-19px;right:-32px;white-space:nowrap;box-shadow:0 10px 25px #0b042c55}
.about-content .section-kicker{color:#ff80c4}
.about-content h2{font-size:clamp(36px,4vw,56px);line-height:1.13;letter-spacing:-2px;margin:13px 0 22px}
.about-content p:not(.section-kicker){font-size:18px;line-height:1.75;color:#f2ebfc}
.feature-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.feature-list span{border:1px solid #d8baf866;background:#ffffff13;backdrop-filter:blur(8px);padding:10px 14px;border-radius:999px;font-weight:800;transition:background .2s,transform .2s}
.feature-list span:hover{background:#ffffff2a;transform:translateY(-3px)}
.about-principles{padding-top:90px;padding-bottom:0}
.about-principles .section-heading{margin-bottom:38px}
.about-principles .section-heading h2{font-size:clamp(31px,4vw,48px)}
.about-principles .section-kicker{color:#ffa2d4}
.principles-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:24px}
.principle-card{background:linear-gradient(145deg,#fff,#fcfaff);border:1px solid #e9e1f0;border-top:5px solid #ec1680;border-radius:23px;padding:32px 29px;box-shadow:0 21px 50px #13032b4d;min-height:370px;position:relative;overflow:hidden}
.principle-card::before{content:"";position:absolute;width:150px;height:150px;top:-93px;right:-75px;border-radius:50%;background:#ffe5f3}
.principle-card:nth-child(2)::before{background:#e3f3ff}.principle-card:nth-child(3)::before{background:#eee4ff}
.principle-card>span{display:grid;place-items:center;width:69px;height:69px;background:#fff0f8;border-radius:20px;font-size:35px;position:relative}
.principle-card:nth-child(2)>span{background:#e8f4ff}.principle-card:nth-child(3)>span{background:#f1e8ff}
.principle-card h3{font-size:27px;margin:23px 0 11px;color:#21113f}
.principle-card p,.principle-card li{font-size:15px;line-height:1.75;color:#534768}
.principle-card li+li{margin-top:5px}
@media(max-width:850px){.about-grid{grid-template-columns:1fr;gap:45px}.about-photo{max-width:420px}.principles-grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}.principle-card{min-height:0}.about-content{text-align:center}.feature-list{justify-content:center}}
@media(max-width:540px){.about-section{padding:65px 0 85px}.about-photo{max-width:calc(100% - 28px)}.about-photo img{height:300px}.about-photo span{right:-14px;font-size:12px}.about-content h2{font-size:34px}.about-content p:not(.section-kicker){font-size:16px}.about-principles{padding-top:65px}.principle-card{padding:26px 23px}}
@media(prefers-reduced-motion:reduce){.feature-list span{transition:none}}

/* FAQ V3 — tercera propuesta aprobada */
.faq-v3{position:relative;overflow:hidden;isolation:isolate;padding:76px 0 88px;background:radial-gradient(ellipse 30% 45% at 0 1%,#f8d9fb 0,transparent 90%),radial-gradient(ellipse 45% 65% at 101% 50%,#e8d9ff 0,transparent 88%),linear-gradient(130deg,#fbfaff,#f1f4ff 60%,#fbe9fc)}
.faq-v3::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 40% 19%,#f2189b 0 5px,transparent 6px),radial-gradient(circle at 97% 25%,#bc81ed 0 7px,transparent 8px),radial-gradient(circle at 2% 72%,#d29ee8 0 5px,transparent 6px);opacity:.7}
.faq-v3-layout{display:grid;grid-template-columns:.95fr 1.15fr;gap:clamp(30px,6vw,95px);align-items:start}
.faq-v3-intro{position:relative;min-height:575px;padding-top:30px}
.faq-v3-intro h1{font-size:clamp(48px,5.6vw,76px);line-height:1.01;letter-spacing:-3px;font-weight:1000;margin:15px 0 20px;position:relative;z-index:1}
.faq-v3-intro h1 em,.faq-bottom-cta h2 em{font-style:normal;color:#fa1188}
.faq-v3-intro>p:not(.section-kicker){font-size:17px;max-width:410px;line-height:1.65;position:relative;z-index:1}
.faq-benefits{position:relative;z-index:2;display:grid;gap:10px;max-width:390px;margin-top:28px}
.faq-benefits>div{display:flex;align-items:center;gap:15px;border-radius:35px;padding:10px 17px;background:#ffffffb5;border:1px solid #ffffffb9;box-shadow:0 8px 25px #2613440c}
.faq-benefits>div:nth-child(1){background:#ffe7f7d9}.faq-benefits>div:nth-child(2){background:#e7fbf6d9}.faq-benefits>div:nth-child(3){background:#f3e5ffd9}
.faq-benefits span{width:47px;height:47px;flex:0 0 47px;display:grid;place-items:center;border-radius:50%;background:#f8c5ef;color:#c81187;font-size:24px}
.faq-benefits>div:nth-child(2) span{background:#b5f4e1;color:#05875e}.faq-benefits>div:nth-child(3) span{background:#e4c9ff;color:#6e34b7}
.faq-benefits p{margin:0}.faq-benefits strong,.faq-benefits small{display:block}.faq-benefits strong{font-size:15px}.faq-benefits small{font-size:12px;color:#655675}
.faq-question-art{position:absolute;right:-18px;top:52px;color:#ffffff7d;font-size:400px;line-height:1;transform:rotate(11deg);font-weight:1000;-webkit-text-stroke:5px #f2209b8c;text-shadow:14px 16px 0 #baa1f042;opacity:.65;pointer-events:none;z-index:0}
.faq-doodle{position:absolute;color:#f20e8a;font-size:38px;z-index:1}.faq-doodle.d1{right:10px;top:7px}.faq-doodle.d2{right:0;bottom:25px;color:#7646c3}
.faq-v3 .faqs details{border:1px solid #eee7fb;border-radius:20px;background:#fff;box-shadow:0 12px 31px #25105113;padding:0;margin:0 0 13px;overflow:hidden}
.faq-v3 .faqs details[open]{border-color:#e5c6ff;background:#f8f1ff;box-shadow:0 12px 35px #7c41bf22}
.faq-v3 .faqs summary{list-style:none;position:relative;display:flex;align-items:center;gap:18px;padding:21px 56px 21px 22px;font-size:17px;color:#271343;font-weight:1000;min-height:68px}
.faq-v3 .faqs summary::-webkit-details-marker{display:none}
.faq-v3 .faqs summary::before{content:"›";display:grid;place-items:center;width:37px;height:37px;flex:0 0 37px;background:#f0e9fb;color:#281145;border-radius:50%;font-size:30px;font-weight:600;line-height:1;transition:transform .2s}
.faq-v3 .faqs details[open] summary::before{transform:rotate(90deg);background:#f3168e;color:white}
.faq-v3 .faqs summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:25px;font-weight:500;color:#5f319c}
.faq-v3 .faqs details[open] summary::after{content:"−"}
.faq-v3 .faqs details p{font-size:15px;line-height:1.75;color:#53436c;padding:4px 26px 23px 77px;margin:0}
.faq-bottom-cta{display:flex;align-items:center;gap:24px;margin-top:44px;padding:26px 32px;border-radius:25px;background:linear-gradient(110deg,#321465,#511181 63%,#e4199f);color:white;box-shadow:0 19px 45px #270c5745}
.faq-chat-icon{font-size:39px;border:2px solid #ffffff7d;border-radius:50%;width:76px;height:76px;display:grid;place-items:center;flex:0 0 76px}
.faq-bottom-cta>div:nth-child(2){flex:1}
.faq-bottom-cta h2{font-size:clamp(23px,2.7vw,36px);margin:0 0 7px;color:white;line-height:1.12}
.faq-bottom-cta h2 em{color:#ff72c7}
.faq-bottom-cta p{margin:0;line-height:1.55;font-size:14px;color:#fff}
.faq-bottom-cta .btn{flex-shrink:0;border:2px solid #ff73c7;box-shadow:0 7px 25px #23052d43}
@media(max-width:900px){.faq-v3-layout{grid-template-columns:1fr;gap:25px}.faq-v3-intro{min-height:0;padding:0 0 18px}.faq-question-art{font-size:265px;right:10%;top:-20px}.faq-benefits{max-width:550px}.faq-bottom-cta{flex-wrap:wrap}}
@media(max-width:600px){.faq-v3{padding:54px 0 70px}.faq-v3-intro h1{font-size:48px}.faq-v3-intro>p:not(.section-kicker){font-size:15px}.faq-question-art{font-size:195px;right:0;top:5px;opacity:.26}.faq-v3 .faqs summary{font-size:15px;padding:14px 42px 14px 13px;gap:10px}.faq-v3 .faqs summary::before{width:31px;height:31px;flex-basis:31px}.faq-v3 .faqs summary::after{right:13px}.faq-v3 .faqs details p{padding:2px 18px 18px 54px}.faq-bottom-cta{padding:24px 18px;gap:13px}.faq-chat-icon{width:51px;height:51px;flex-basis:51px;font-size:28px}.faq-bottom-cta .btn{width:100%}}

/* Contacto V3 — mockup aprobado */
.contact-v3{position:relative;overflow:hidden;min-height:720px;padding:66px 0 68px;background:radial-gradient(ellipse 35% 60% at -8% 19%,#ffcff0,transparent 86%),radial-gradient(ellipse 32% 45% at 104% 5%,#cbdffe,transparent 90%),linear-gradient(120deg,#fff9fe,#f8faff 60%,#f6efff)}
.contact-v3::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background:radial-gradient(circle at 3% 28%,#fb56ac 0 5px,transparent 6px),radial-gradient(circle at 48% 88%,#ba7df0 0 7px,transparent 8px),radial-gradient(circle at 97% 74%,#238fe2 0 6px,transparent 7px)}
.contact-v3-container{position:relative;width:min(1450px,calc(100% - 64px));margin:0 auto}
.contact-v3-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.95fr);gap:22px;align-items:stretch}
.contact-v3-left{min-width:0}
.contact-v3-head{text-align:center;padding:5px 0 42px}.contact-v3-head .section-kicker{letter-spacing:4px}.contact-v3-head h1{font-size:clamp(42px,4.7vw,65px);line-height:1.06;letter-spacing:-2.5px;margin:15px 0 12px;font-weight:1000}.contact-v3-head h1 em{color:#f70d88;font-style:normal}.contact-v3-head>p:last-child{font-size:18px}
.contact-v3-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.contact-v3-step{position:relative;background:linear-gradient(155deg,#fff,#f9f5ff);border:1px solid #ffffff;border-radius:24px;min-height:330px;padding:40px 16px 24px;text-align:center;box-shadow:0 17px 33px #30125f1c;transition:transform .22s,box-shadow .22s}
.contact-v3-step:nth-child(1){border-bottom:5px solid #1186ed}.contact-v3-step:nth-child(2){border-bottom:5px solid #f21891}.contact-v3-step:nth-child(3){border-bottom:5px solid #8c3ad9}.contact-v3-step:nth-child(4){border-bottom:5px solid #1186ed}
.contact-v3-step:hover{transform:translateY(-6px);box-shadow:0 23px 42px #30125f2d}
.contact-step-num{position:absolute;top:-16px;left:12px;border:5px solid white;border-radius:50%;width:55px;height:55px;display:grid;place-items:center;color:white;background:#0a83dc;font-size:23px;font-weight:1000;box-shadow:0 4px 16px #1f15512b}
.contact-v3-step:nth-child(2) .contact-step-num{background:#ef1686}.contact-v3-step:nth-child(3) .contact-step-num{background:#6830ac}
.contact-step-icon{display:grid;place-items:center;height:105px;font-size:66px;filter:drop-shadow(0 9px 13px #20085c30)}
.contact-v3-step h2{font-size:20px;line-height:1.18;min-height:49px;margin:15px 0 11px;font-weight:1000}.contact-v3-step p{font-size:14px;line-height:1.55;color:#504569;margin:0}
.contact-v3-showcase{position:relative;isolation:isolate;min-height:530px;overflow:hidden;border-radius:42px;padding:152px 27px 28px;color:white;background:radial-gradient(circle at 92% 6%,#e0209d 0,transparent 44%),linear-gradient(150deg,#421083 0%,#220b55 58%,#170941 100%);box-shadow:0 25px 55px #260a5d45}
.contact-v3-showcase h2{font-size:clamp(28px,3vw,45px);line-height:1.06;letter-spacing:-1.6px;max-width:300px;position:relative;z-index:2;margin:0 0 18px}.contact-v3-showcase h2 em{font-style:normal;color:#ff1691}
.contact-v3-showcase>p{max-width:290px;line-height:1.55;position:relative;z-index:2;font-size:15px;margin-bottom:23px}
.contact-bubble{position:absolute;top:34px;left:24px;transform:rotate(-9deg);border-radius:20px 20px 20px 3px;background:#fb0b8b;padding:17px 22px;font:700 21px/1.25 'Pacifico',cursive;z-index:3;box-shadow:0 7px 20px #0802223b}
.contact-mic-art{position:absolute;width:230px;height:370px;right:-59px;top:-35px;transform:rotate(7deg);filter:drop-shadow(0 10px 14px #07021d8c);z-index:1}.contact-mic-art svg{width:100%;height:100%}
.contact-spark{position:absolute;z-index:2;color:#fb61be;font-size:30px;pointer-events:none}.contact-spark.s1{top:116px;left:36%}.contact-spark.s2{top:265px;right:12px;color:#9d7afc}.contact-spark.s3{bottom:100px;right:35px;color:#ff85cf}
.contact-v3-whatsapp{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:3;background:linear-gradient(180deg,#22e97e,#00b849);border:3px solid #91ffcf;border-radius:999px;color:white;font-size:16px;font-weight:1000;padding:15px 18px;box-shadow:0 0 23px #23ee8a70}
.contact-v3-whatsapp:hover{filter:brightness(1.05);transform:translateY(-2px)}
.contact-v3-perks{position:relative;z-index:2;display:flex;gap:15px;justify-content:space-around;margin-top:26px;font-size:11px;font-weight:800}
.contact-v3-details{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 27px;margin-top:35px;padding:20px;background:#ffffffc9;border:1px solid #fff;border-radius:19px;color:#291347}
.contact-v3-details a{font-weight:900;color:#592596}.contact-v3-details a:hover{color:#f10d88;text-decoration:underline}
@media(max-width:1120px){.contact-v3-main{grid-template-columns:1fr}.contact-v3-showcase{min-height:420px;padding-top:120px}.contact-v3-showcase h2,.contact-v3-showcase>p{max-width:65%}.contact-mic-art{right:15px;width:245px}.contact-v3-whatsapp{max-width:450px}}
@media(max-width:720px){.contact-v3-container{width:min(100% - 30px,1450px)}.contact-v3-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 13px}.contact-v3-step{min-height:280px}.contact-v3-head{padding-bottom:38px}.contact-v3-showcase{padding-top:152px}.contact-v3-showcase h2,.contact-v3-showcase>p{max-width:80%}.contact-mic-art{width:190px;right:-55px}}
@media(max-width:420px){.contact-v3-step{padding:35px 10px 19px}.contact-v3-step h2{font-size:17px}.contact-step-icon{height:85px;font-size:52px}.contact-v3-showcase{padding:158px 17px 25px}.contact-v3-showcase h2{font-size:28px}.contact-v3-showcase h2,.contact-v3-showcase>p{max-width:100%}.contact-mic-art{opacity:.4}.contact-v3-perks{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.contact-v3-step{transition:none}}

/* Contacto — segunda pasada de fidelidad al mockup 3 */
.contact-v3{padding:70px 0 85px;min-height:825px;background:
radial-gradient(ellipse 43% 62% at -10% 28%,rgba(255,151,213,.43),transparent 85%),
radial-gradient(ellipse 42% 50% at 111% 6%,rgba(120,192,255,.33),transparent 85%),
linear-gradient(125deg,#fff8fe,#f9f9ff 60%,#f2eaff)}
.contact-v3-container{width:min(1650px,calc(100% - 66px));max-width:none}
.contact-v3-main{grid-template-columns:minmax(0,1.78fr) minmax(410px,.98fr);gap:32px}
.contact-v3-head{padding:14px 0 58px}
.contact-v3-head h1{font-size:clamp(50px,5.2vw,82px);margin:14px 0 14px}
.contact-v3-head>p:last-child{font-size:21px}
.contact-v3-steps{gap:18px}
.contact-v3-step{min-height:390px;border-radius:31px;padding:61px 19px 31px;background:linear-gradient(160deg,#ffffff 0%,#fffafd 72%,#f9edff 100%)}
.contact-v3-step:nth-child(1){background:linear-gradient(160deg,#fff,#f0faff)}
.contact-v3-step:nth-child(2){background:linear-gradient(160deg,#fff,#fff1f9)}
.contact-v3-step:nth-child(3){background:linear-gradient(160deg,#fff,#f7f0ff)}
.contact-v3-step:nth-child(4){background:linear-gradient(160deg,#fff,#f0faff)}
.contact-step-num{width:65px;height:65px;top:-23px;left:16px;font-size:27px}
.contact-step-icon{height:125px;font-size:77px}
.contact-v3-step h2{font-size:clamp(19px,1.5vw,25px);min-height:60px;margin:15px 0 13px}
.contact-v3-step p{font-size:clamp(14px,1.05vw,17px)}
.contact-v3-showcase{min-height:655px;padding:180px 36px 38px;border-radius:48px;background:
radial-gradient(ellipse 55% 48% at 85% 0%,rgba(255,16,166,.55),transparent 95%),
radial-gradient(ellipse 48% 44% at 100% 93%,rgba(110,37,213,.47),transparent 90%),
linear-gradient(150deg,#51118c 0%,#230c5b 60%,#170735 100%)}
.contact-v3-showcase h2{font-size:clamp(36px,3.25vw,55px);max-width:340px;line-height:1.05}
.contact-v3-showcase>p{font-size:17px;max-width:330px}
.contact-bubble{top:34px;left:32px;font-size:26px;padding:20px 25px}
.contact-mic-art{width:300px;height:490px;right:-72px;top:-55px;transform:rotate(9deg)}
.contact-v3-whatsapp{font-size:18px;padding:20px 22px}
.contact-v3-perks{font-size:12px;gap:8px}
.contact-v3-details{margin-top:34px;padding:25px 30px;font-size:16px}
@media(max-width:1150px){.contact-v3-main{grid-template-columns:1fr;gap:30px}.contact-v3-steps{gap:17px}.contact-v3-showcase{min-height:510px;padding-top:160px}.contact-v3-showcase h2,.contact-v3-showcase>p{max-width:65%}.contact-mic-art{right:10px}.contact-v3-whatsapp{max-width:460px}}
@media(max-width:720px){.contact-v3-container{width:calc(100% - 30px)}.contact-v3-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 13px}.contact-v3-step{min-height:320px;padding:51px 14px 25px}.contact-v3-head h1{font-size:clamp(39px,8vw,55px)}.contact-v3-showcase{min-height:550px;padding:158px 22px 28px}.contact-v3-showcase h2{font-size:36px}.contact-v3-showcase h2,.contact-v3-showcase>p{max-width:85%}.contact-mic-art{right:-60px;width:220px;top:-26px;opacity:.8}}
@media(max-width:420px){.contact-v3-step{min-height:300px}.contact-step-num{width:50px;height:50px;font-size:22px}.contact-step-icon{height:100px;font-size:60px}.contact-v3-step h2{font-size:18px;min-height:54px}.contact-v3-step p{font-size:13px}.contact-v3-showcase h2{font-size:31px}.contact-v3-showcase h2,.contact-v3-showcase>p{max-width:100%}.contact-mic-art{opacity:.45}.contact-v3-whatsapp{font-size:15px;padding:15px}}

/* Contacto: redes sociales oficiales */
.contact-social{margin-top:36px;padding:30px;border-radius:28px;background:linear-gradient(140deg,#ffffffea,#f7f0ffec);border:1px solid #eadff5;box-shadow:0 16px 42px #28104917}
.contact-social-heading{text-align:center;margin-bottom:24px}
.contact-social-heading h2{font-size:clamp(25px,3vw,37px);margin:8px 0 10px;color:#231044}
.contact-social-heading h2 em{font-style:normal;color:#f5128e}
.contact-social-heading>p:last-child{margin:0;color:#635674;font-size:15px}
.contact-social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.contact-social-card{min-width:0;display:flex;align-items:center;gap:14px;padding:17px 19px;border-radius:19px;background:white;border:1px solid #eae4f2;box-shadow:0 8px 22px #29124b14;transition:transform .22s,box-shadow .22s,border-color .22s}
.contact-social-card:hover{transform:translateY(-5px);box-shadow:0 16px 33px #29124b29;border-color:#e7bce5}
.contact-social-card:focus-visible{outline:3px solid #ff1489;outline-offset:3px}
.social-brand-icon{width:55px;height:55px;flex:0 0 55px;display:grid;place-items:center;border-radius:16px;color:white;background:#121212}
.social-brand-icon svg{width:29px;height:29px;display:block}
.social-instagram .social-brand-icon{background:linear-gradient(35deg,#ffbf35,#f53370 47%,#8b38cb 78%,#4b5ee7)}
.social-facebook .social-brand-icon{background:#1877f2}
.social-card-text{display:grid;min-width:0;gap:3px}.social-card-text strong{color:#241246;font-size:17px;font-weight:1000}.social-card-text small{color:#665b78;font-size:12px;overflow-wrap:anywhere}
.social-arrow{font-size:23px;color:#ed1286;margin-left:auto}
@media(max-width:850px){.contact-social-grid{grid-template-columns:1fr}.contact-social-card{max-width:620px;width:100%;margin:auto}}
@media(max-width:460px){.contact-social{padding:23px 14px}.contact-social-card{padding:14px 12px}.social-brand-icon{width:47px;height:47px;flex-basis:47px}.social-card-text strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.contact-social-card{transition:none}}

/* Centro de contacto unificado */
.contact-hub{margin-top:39px;padding:clamp(24px,3vw,40px);background:linear-gradient(145deg,#fffdfefa,#f8f0ff)}
.contact-direct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:27px auto 30px;max-width:920px}
.contact-direct-card{display:flex;gap:17px;align-items:center;background:white;padding:19px 22px;border:1px solid #e9e0f2;border-radius:20px;box-shadow:0 9px 24px #28104915;transition:transform .2s,box-shadow .2s}
.contact-direct-card:hover{transform:translateY(-4px);box-shadow:0 15px 28px #28104929}
.contact-direct-icon{width:59px;height:59px;flex:0 0 59px;border-radius:17px;background:#fce7f5;color:#e51186;font-size:29px;display:grid;place-items:center}
.contact-direct-card:nth-child(2) .contact-direct-icon{background:#e8eeff;color:#5634b6}
.contact-direct-card>span:nth-child(2){display:grid;gap:5px;min-width:0}
.contact-direct-card small{letter-spacing:1.3px;font-size:11px;color:#795d88;font-weight:1000}
.contact-direct-card strong{font-size:clamp(14px,1.35vw,19px);overflow-wrap:anywhere;color:#2a154c}
.contact-social-separator{display:flex;align-items:center;gap:18px;color:#a6288c;font-weight:1000;font-size:12px;letter-spacing:2px;margin:3px 0 25px}
.contact-social-separator:before,.contact-social-separator:after{content:"";height:1px;background:#dccae8;flex:1}
.footer-v2{background:linear-gradient(125deg,#1b0b37,#32145e 70%,#42176c);color:white;padding:64px 0 22px}
.footer-v2-grid{display:grid;grid-template-columns:1.15fr .75fr 1.15fr;gap:clamp(30px,5vw,85px)}
.footer-v2 .footer-brand{display:block;width:84px;margin-bottom:15px}.footer-v2 .footer-brand img{width:84px;height:84px;border:4px solid white;border-radius:50%}
.footer-v2-brand h2{font-size:25px;margin:5px 0 13px}.footer-v2-brand p{line-height:1.7;color:#e0d3f3;font-size:14px;max-width:350px}
.footer-v2 h3{font-size:17px;margin:0 0 18px;color:#ff83c9}
.footer-v2-links,.footer-v2-contact{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.footer-v2-links a,.footer-v2-contact>a{font-size:14px;color:#eee8f8;transition:color .2s}.footer-v2 a:hover{color:#ff90d3}
.footer-v2-whatsapp{background:#00ba55;padding:12px 18px;border-radius:999px;font-weight:1000;margin-top:8px;color:white!important}
.footer-v2-social-label{margin:16px 0 2px!important}
.footer-v2-social{display:flex;gap:13px;flex-wrap:wrap}.footer-v2-social a{font-size:13px;color:#f5e7ff}
.footer-v2-bottom{border-top:1px solid #ffffff35;margin-top:44px;padding-top:22px;display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap;font-size:12px;color:#e0d5ec}
.footer-v2-bottom>div{display:flex;gap:17px;flex-wrap:wrap}.footer-v2-bottom a{color:#e0d5ec}
@media(max-width:800px){.footer-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-v2-contact{grid-column:1/-1}.contact-direct-grid{grid-template-columns:1fr}}
@media(max-width:520px){.footer-v2-grid{grid-template-columns:1fr}.footer-v2-contact{grid-column:auto}.footer-v2{padding-top:46px}.contact-direct-card{padding:15px 12px}.contact-direct-icon{width:48px;height:48px;flex-basis:48px}}
@media(prefers-reduced-motion:reduce){.contact-direct-card{transition:none}}

/* Ajuste general de escritorio: anchos y alturas fluidas sin recortar contenido */
@media(min-width:1024px){
 :root{--desktop-gutter:clamp(32px,4vw,82px)}
 body{overflow-x:clip}
 .container{width:min(1420px,calc(100% - var(--desktop-gutter)*2))}
 .site-header .nav-inner{gap:clamp(16px,2vw,34px)}
 .site-header .nav-links{gap:clamp(12px,1.7vw,27px);font-size:clamp(12px,.95vw,15px)}
 main>[data-page].page-active{width:100%;max-width:100%}
 main>.hero.page-active{min-height:max(620px,calc(100svh - 83px))}
 main>.shows-section.page-active{min-height:calc(100svh - 83px);padding-block:clamp(70px,8vh,115px)}
 main>.gallery-v3.page-active{min-height:calc(100svh - 83px)}
 main>.about-section.page-active{min-height:calc(100svh - 83px)}
 main>.faq-v3.page-active{min-height:calc(100svh - 83px)}
 main>.contact-v3.page-active{min-height:calc(100svh - 83px)}
 .show-grid,.gallery-featured-grid,.principles-grid{gap:clamp(19px,2vw,32px)}
 .shows-section .show-card>img{height:clamp(220px,23vh,320px)}
 .shows-section .show-card-body{min-height:245px}
 .gallery-shell,.contact-v3-container{width:min(1500px,calc(100% - var(--desktop-gutter)*2))}
 .gallery-v3 .gallery-card-cover img{height:clamp(245px,27vh,365px)}
 .contact-v3-main{grid-template-columns:minmax(0,1.7fr) minmax(380px,.95fr);gap:clamp(20px,2.3vw,44px)}
 .contact-v3-step{min-height:clamp(320px,39vh,415px)}
 .faq-v3-layout{gap:clamp(35px,5vw,95px)}
 .footer-v2-grid{gap:clamp(30px,5vw,85px)}
}
@media(min-width:1024px) and (max-width:1220px){
 .contact-v3-main{grid-template-columns:1fr}
 .contact-v3-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
 .contact-v3-showcase{min-height:470px}
}
@media(min-width:1700px){
 .container{width:min(1560px,calc(100% - 112px))}
 .gallery-shell,.contact-v3-container{width:min(1630px,calc(100% - 112px))}
 .hero-content{padding-block:95px}
}
@media(max-width:1023px){
 body{overflow-x:clip}
 .container,.gallery-shell,.contact-v3-container{max-width:100%}
}

/* Contacto desktop — proporciones corregidas y micrófono sin solapar el texto */
@media(min-width:1121px){
 .contact-v3{padding-top:44px;padding-bottom:62px;min-height:auto}
 .contact-v3-main{grid-template-columns:minmax(0,1.65fr) minmax(390px,.95fr);align-items:start}
 .contact-v3-head{padding:8px 0 39px}
 .contact-v3-head h1{font-size:clamp(42px,4.25vw,62px)}
 .contact-v3-head>p:last-child{font-size:18px}
 .contact-v3-step{min-height:285px;padding:41px 14px 18px}
 .contact-step-num{width:54px;height:54px;top:-17px;font-size:22px}
 .contact-step-icon{height:91px;font-size:60px}
 .contact-v3-step h2{font-size:clamp(17px,1.35vw,21px);min-height:49px;margin:10px 0 8px}
 .contact-v3-step p{font-size:clamp(12px,.95vw,15px)}
 .contact-v3-showcase{min-height:455px;padding:165px 26px 25px}
 .contact-bubble{top:28px;left:25px;padding:14px 17px;font-size:19px}
 .contact-mic-art{width:155px;height:255px;right:-31px;top:-15px;transform:rotate(7deg);opacity:.86}
 .contact-v3-showcase h2{font-size:clamp(27px,2.45vw,35px);max-width:calc(100% - 30px);line-height:1.1;margin-bottom:12px}
 .contact-v3-showcase>p{font-size:14px;max-width:100%;line-height:1.45;margin-bottom:15px}
 .contact-v3-whatsapp{font-size:14px;padding:13px 16px}
 .contact-v3-perks{margin-top:16px;font-size:10px}
}
@media(min-width:1121px) and (max-width:1350px){
 .contact-v3-main{grid-template-columns:minmax(0,1.6fr) minmax(360px,.95fr);gap:20px}
 .contact-v3-step{padding-left:9px;padding-right:9px}
 .contact-v3-showcase{padding-top:150px}
}
@media(min-width:1024px) and (max-width:1120px){
 .contact-v3-step{min-height:290px;padding-top:43px}
 .contact-step-icon{height:92px;font-size:62px}
 .contact-v3-showcase{min-height:400px;padding-top:150px}
 .contact-mic-art{width:190px;height:290px;right:5px;top:-15px}
}

/* Música flotante: visible en todas las vistas públicas */
.music-control{position:fixed;right:20px;bottom:22px;z-index:90;display:flex;align-items:center;gap:7px;padding:7px;background:#fffefcf5;border:1px solid #efdcf0;border-radius:999px;box-shadow:0 8px 29px #1e0b4e36;max-width:calc(100vw - 30px)}
.music-toggle{display:flex;align-items:center;gap:9px;background:linear-gradient(115deg,#5c259d,#ec1185);border:0;border-radius:999px;color:white;padding:10px 16px;font-weight:900;font-size:13px;white-space:nowrap}
.music-toggle:first-letter{font-size:17px}.music-toggle.is-playing{background:linear-gradient(115deg,#149ad8,#5c259d)}
.music-toggle:focus-visible,.music-volume input:focus-visible{outline:3px solid #ff1489;outline-offset:3px}
.music-volume{display:flex;gap:5px;align-items:center;color:#512189;padding:0 6px;font-size:16px}.music-volume input{width:72px;accent-color:#eb148b}
.music-message:empty{display:none}.music-message:not(:empty){position:absolute;bottom:calc(100% + 8px);right:0;width:245px;padding:10px 14px;background:#fff;color:#342747;font-size:12px;border-radius:10px;box-shadow:0 8px 22px #1c0b4426}
.music-credit{width:100%;font-size:11px;color:#cdbbdf;margin:12px 0 0}.music-credit a{text-decoration:underline}
@media(max-width:560px){.music-control{right:12px;bottom:14px;padding:5px}.music-toggle{padding:9px 12px}.music-volume input{width:50px}}
@media(prefers-reduced-motion:reduce){.music-toggle{transition:none}}

/* Cuarto show: Posadas */
@media(min-width:1024px){.shows-section .show-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.posadas-art{height:clamp(220px,23vh,320px);display:flex;align-items:center;justify-content:center;gap:12px;overflow:hidden;position:relative;background:radial-gradient(circle at 25% 20%,#ffd86b9a,transparent 30%),radial-gradient(circle at 78% 22%,#ff57a6a8,transparent 35%),linear-gradient(135deg,#351064,#7223b3 55%,#ed4a9b);border-radius:inherit}
.posadas-art span{position:relative;z-index:1;font-size:clamp(45px,5vw,83px);filter:drop-shadow(0 9px 10px #1b064b70)}
.posadas-art span:nth-child(2){font-size:30px;transform:translateY(-55px)}
.posadas-art::before,.posadas-art::after{content:"✦  ✧  ✦";position:absolute;color:#ffe0ad;font-size:28px;letter-spacing:28px;top:25px;left:15px;opacity:.9}
.posadas-art::after{top:auto;bottom:19px;left:auto;right:-16px;font-size:19px}
.show-card.posadas .show-card-body{background:linear-gradient(145deg,#fff7e9,#ffebf6)}
.show-card.posadas h3{color:#7622a2}
@media(max-width:1023px) and (min-width:640px){.shows-section .show-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Foto de Posadas: llenar el recuadro sin deformar la imagen */
.posadas-photo{position:relative;display:block;background:linear-gradient(135deg,#381467,#dd1582)}
.posadas-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:2}
.posadas-photo:has(img:not([style*='display: none']))::before,.posadas-photo:has(img:not([style*='display: none']))::after{display:none}
.posadas-fallback{position:absolute!important;inset:0;display:grid;place-items:center;font-size:60px!important}

/* Shows: insignias ilustradas según mockup aprobado */
.shows-section .show-grid{align-items:stretch}
.shows-section .show-card{position:relative;overflow:visible;border-radius:27px;box-shadow:0 18px 37px #24114720;transition:transform .22s,box-shadow .22s}
.shows-section .show-card:hover{transform:translateY(-6px);box-shadow:0 25px 46px #2411472d}
.shows-section .show-card>img,.shows-section .posadas-photo{border-radius:27px 27px 0 0}
.shows-section .show-card-body{position:relative;border-radius:0 0 27px 27px;padding-top:57px;display:flex;flex-direction:column;align-items:flex-start}
.shows-section .show-icon{position:absolute;top:-48px;left:26px;width:102px;height:102px;border:6px solid #fff;border-radius:50%;background:linear-gradient(135deg,#ffb9e1,#fa4da4);display:grid;place-items:center;box-shadow:0 8px 20px #42105d35;z-index:3;transform:none;font-size:initial}
.shows-section .show-icon svg{width:72px;height:72px;filter:drop-shadow(0 3px 4px #3c15543d)}
.shows-section .bride .show-icon{background:linear-gradient(135deg,#ff85d0,#ef168e)}
.shows-section .birthday .show-icon{background:linear-gradient(135deg,#c875ed,#6920ad)}
.shows-section .posadas .show-icon{background:linear-gradient(135deg,#66d8ae,#0d8554)}
.shows-section .show-card-body:before{content:"✦  ♡  ✧";position:absolute;right:20px;top:12px;color:#f9a2d7;letter-spacing:7px;font-size:20px}
.shows-section .posadas .show-card-body:before{content:"✦  ❄  ✦";color:#f75c85}
.shows-section .show-card h3{font-size:clamp(23px,2.05vw,31px);line-height:1.12;min-height:2.3em;margin:0 0 13px}
.shows-section .show-card-body p{flex:1;line-height:1.6;margin-bottom:22px}
.shows-section .show-card-body .btn{width:100%;padding:15px 12px}
.shows-section .posadas .show-card-body .btn{background:#ef1761;color:#fff}
@media(max-width:640px){.shows-section .show-icon{height:87px;width:87px;top:-40px}.shows-section .show-icon svg{width:60px;height:60px}.shows-section .show-card-body{padding-top:50px}.shows-section .show-card h3{min-height:0}}
@media(prefers-reduced-motion:reduce){.shows-section .show-card{transition:none}}
