:root{color-scheme:dark;--bg:#090812;--panel:#12101d;--ink:#f6f2fa;--muted:#b3aebe;--pink:#fc58ce;--cyan:#7cf4ed;--line:#302a3c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--cyan)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}.skip{position:fixed;top:-80px;left:20px;background:var(--cyan);color:#090812;z-index:99;padding:12px}.skip:focus{top:10px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line);background:#090812f5;position:sticky;top:0;z-index:20}.brand{font-size:24px;line-height:1.1;letter-spacing:-1px;font-weight:900}.brand b{color:var(--cyan)}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:7px;color:var(--muted)}nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav-cta{padding:12px 18px;border:1px solid var(--pink);border-radius:5px}#menu{display:none}.hero{position:relative;min-height:690px;padding:80px 6% 85px;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 75% 40%,#34103c50,transparent 60%)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--cyan);margin:0 0 24px}h1{font-size:clamp(48px,5.4vw,84px);letter-spacing:-4px;line-height:1.04;margin:0 0 28px;font-weight:850}em{font-style:normal;color:var(--pink)}.lead{color:var(--muted);font-size:17px}.actions{display:flex;align-items:center;gap:24px;margin-top:32px;font-size:13px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--pink);border:1px solid var(--pink);color:#160a19;font-weight:700;font-size:14px;padding:16px 22px;border-radius:4px;transition:transform .2s,background .2s}.button:hover{background:#ff8ee0;color:#160a19;transform:translateY(-2px)}.outline{background:transparent;color:var(--ink)}.hero-meta{font-size:9px;letter-spacing:1.5px;color:var(--muted);display:flex;gap:30px;margin-top:45px}.hero-art{position:relative;margin-right:-8%;}.hero-art img{width:100%;height:auto;display:block;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 90%,transparent)}.hero-art p{text-align:center;font-size:9px;letter-spacing:3px;color:var(--muted);margin-top:25px}.hero-bottom{position:absolute;bottom:22px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:var(--muted)}.ticker{padding:18px 0;border-block:1px solid #5c2652;background:#1d1022;white-space:nowrap;overflow:hidden;font-size:17px;letter-spacing:4px;text-align:center}.ticker b{color:var(--pink);padding:0 35px}.section{padding:100px 6%;max-width:1500px;margin:auto;border-bottom:1px solid var(--line)}h2{font-size:clamp(32px,3.8vw,54px);line-height:1.12;letter-spacing:-2px;margin:0 0 30px}h3{font-size:22px;line-height:1.2;margin:0 0 15px}p{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:65px}.intro{font-size:21px;margin-top:0;color:var(--ink)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.principles h3{font-size:16px;color:var(--cyan)}.principles p{font-size:13px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head h2{margin-bottom:0}.section-head>p,.section-head>a{font-size:13px}.services{margin-top:45px}.services article{display:grid;grid-template-columns:60px 1fr 100px;gap:25px;padding:35px 0;border-top:1px solid var(--line)}.services article>span{color:var(--pink);font-size:12px}.services p{max-width:650px;font-size:15px}.services a{font-size:12px;color:var(--cyan)}.services i{font-size:75px;line-height:1;color:var(--pink);font-style:normal;align-self:center;text-align:center}.services article+article i{color:var(--cyan)}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:45px}.price-card{padding:40px;background:var(--panel);border:1px solid var(--line);border-radius:8px;position:relative}.price-card h3{font-size:30px}.price{font-size:60px;letter-spacing:-3px;font-weight:700;color:var(--ink);line-height:1;margin:25px 0}.price small{font-size:12px;letter-spacing:1px;color:var(--muted)}.price-card ul{list-style:none;padding:20px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.price-card li{padding:7px 0}.price-card li:before{content:'↗';color:var(--cyan);margin-right:12px}.price-card .button{width:100%}.featured{border-color:var(--pink);background:linear-gradient(145deg,#29152c,#12101d)}.badge{position:absolute;top:-13px;right:25px;background:var(--pink);color:#160a19;padding:5px 12px;font-size:9px;font-weight:700;letter-spacing:1px;border-radius:3px}.price-note{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:35px}.price-note strong{color:var(--cyan);font-size:15px}.price-note p{font-size:12px;margin:0}.gear-list{display:grid;grid-template-columns:1fr 1fr;gap:25px}.gear-list article{border-top:1px solid var(--line);padding-top:18px}.gear-list small{font-size:9px;letter-spacing:2px;color:var(--pink)}.gear-list h3{font-size:18px;margin:12px 0 5px}.gear-list p{font-size:12px;margin:0}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px;margin-top:45px}.gallery figure{margin:0;min-height:265px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#8b20787a,transparent 60%),linear-gradient(140deg,#15162c,#141019);border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;justify-content:center}.gallery figure:before{content:'✦';font-size:100px;color:#fc58ce33}.gallery figure:nth-child(2){background:radial-gradient(ellipse at 70% 30%,#1e8e944a,transparent 60%),#0e161e}.gallery figure img{position:absolute;width:100%;height:100%;object-fit:cover}.gallery figcaption{position:absolute;bottom:18px;left:20px;font-size:12px}.gallery small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.video-panel{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px;padding:35px;border:1px solid var(--line);border-radius:5px}.video-panel h3{font-size:30px}.video-panel a{color:var(--cyan);font-size:13px}.video-panel #tiktok{align-self:center;min-width:0}.muted{font-size:12px;color:var(--muted)}.coverage{border-left:2px solid var(--pink);padding-left:25px;margin-top:45px}.coverage h3{font-size:18px}form{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:flex;flex-direction:column;font-size:12px;gap:8px;color:#e4dfe9}.wide{grid-column:1/-1}input,select,textarea{min-width:0;width:100%;background:#0b0a13;border:1px solid #44384f;border-radius:4px;color:var(--ink);padding:12px;min-height:47px}textarea{resize:vertical}output{font-size:30px;font-weight:700;display:block;color:var(--cyan);margin-top:25px}form>.button{margin-top:18px}.detail{grid-template-columns:repeat(4,1fr)}.check{flex-direction:row;align-items:center;gap:10px;margin-top:22px}.check input{width:18px;min-height:18px;flex-shrink:0;accent-color:var(--pink)}.phone{font-size:24px;color:var(--cyan)}footer{padding:50px 6% 90px;display:flex;justify-content:space-between;align-items:center;gap:30px}footer p,footer>a:last-child{font-size:11px}.floating{position:fixed;bottom:20px;right:25px;background:var(--cyan);color:#091616;padding:12px 19px;border-radius:30px;font-size:12px;font-weight:700;box-shadow:0 4px 25px #0008;z-index:15}.floating:hover{color:#091616;background:#b3fffa}@media(min-width:1600px){.hero{padding-inline:calc((100vw - 1320px)/2)}header{padding-inline:calc((100vw - 1320px)/2)}}@media(max-width:900px){header{height:80px}nav{gap:18px}.hero{min-height:600px;padding-top:60px}h1{letter-spacing:-2px}.hero-meta{gap:15px;flex-wrap:wrap}.split{gap:30px}.principles{grid-template-columns:1fr;gap:5px}.section{padding-block:70px}.detail{grid-template-columns:1fr 1fr}.services i{font-size:60px}.price-card{padding:28px}.price{font-size:48px}.gallery figure{min-height:210px}}@media(max-width:650px){html{scroll-padding-top:80px}#menu{display:block;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:6px 12px}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:25px 6%;background:#12101d;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:65px}.hero h1{font-size:55px}.hero-art{margin:20px -7% 0}.hero-art p{margin-top:5px}.hero-meta{margin-top:27px}.lead{font-size:15px}.hero-bottom{font-size:7px;letter-spacing:1px}.ticker{font-size:12px}.ticker b{padding:0 15px}.section{padding-block:60px}.split,.price-grid,.price-note,.video-panel{grid-template-columns:1fr}.section-head{display:block}.section-head>p,.section-head>a{display:block;margin-top:20px}.principles{grid-template-columns:1fr;gap:8px}.intro{font-size:18px}.services article{grid-template-columns:25px 1fr;gap:15px}.services i{display:none}.price-grid{gap:35px}.price-card{padding:30px}.gallery{grid-template-columns:1fr;gap:15px}.gallery figure{min-height:240px}.gallery figure:first-child{min-height:290px}.video-panel{padding:25px;gap:25px}.form-grid,.detail{grid-template-columns:1fr 1fr;gap:15px}form{padding:25px 20px}.phone{font-size:22px}.actions{gap:18px}.actions a:last-child{font-size:12px}footer{align-items:start;flex-direction:column;padding-bottom:95px}.floating{right:15px;bottom:15px}h2{letter-spacing:-1.5px}.gear-list{gap:22px 15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Family and service update — preserve the existing Synthwave foundation. */
.story{max-width:850px}.story p{font-size:17px}.story .intro{color:var(--ink);font-size:23px}.about-purpose{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:40px 0}.about-purpose article{padding:28px;background:var(--panel);border-top:1px solid var(--pink);border-radius:5px}.values-heading{margin-top:35px}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.values h4{color:var(--cyan);margin:0 0 10px}.values p{font-size:14px}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:35px}.team-card{border:1px solid #71306b;background:var(--panel);border-radius:8px;overflow:hidden;box-shadow:0 0 20px #a226af12}.team-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 23%;display:block}.team-card>div{padding:23px 18px}.team-card h3{font-size:18px;line-height:1.35;margin-bottom:8px;overflow-wrap:anywhere}.team-card p{color:var(--cyan);font-size:13px;margin:0}.service-grid{align-items:stretch;row-gap:40px}.service-card{display:flex;flex-direction:column}.service-card h3{font-size:28px;min-height:68px}.service-card h4{margin:20px 0 0;color:var(--cyan);font-size:14px}.service-card ul{padding:12px 0;margin:8px 0 0}.service-card .extra-rate{color:var(--ink);font-size:15px;margin-top:auto;padding-top:25px}.service-card .duration{color:var(--ink)}.corporate{padding:30px;border-left:2px solid var(--cyan);margin-top:45px;background:var(--panel)}.corporate a{color:var(--cyan)}.launch{background:radial-gradient(ellipse at 85% 50%,#6d1b612c,transparent 70%)}.launch>p:not(.eyebrow){max-width:850px}.launch .intro{font-size:25px}.launch .muted{margin-top:30px}.time-field{grid-column:span 2;margin:0;padding:18px;border:1px solid var(--line);border-radius:5px;min-width:0}.time-field legend{font-size:13px;padding:0 8px;color:var(--cyan)}.clock-selects{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px}.clock-selects select{padding:10px 5px}.service-interest{grid-column:span 2}.coverage ul{padding-left:20px;color:var(--muted)}
@media(max-width:1000px){.team-grid,.values{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.about-purpose{grid-template-columns:1fr;gap:20px}.team-grid{gap:15px}.team-card>div{padding:18px 12px}.team-card h3{font-size:16px}.launch .actions{flex-wrap:wrap}.service-card h3{min-height:0}.service-interest{grid-column:1/-1}.time-field{grid-column:1/-1}.hero-meta{line-height:1.7}.launch h2{font-size:32px}}@media(max-width:400px){.team-grid,.values{grid-template-columns:1fr}}

/* Fotografías de eventos: mostrar el encuadre completo. */
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gallery figure,.gallery figure:first-child{min-height:0;display:block;background:var(--panel)}.gallery figure:before{content:none}.gallery figure a{display:block;line-height:0}.gallery figure img{position:static;display:block;width:100%;height:auto;object-fit:contain}.gallery figcaption{position:static;padding:16px 20px;border-top:1px solid var(--line);font-size:13px}.gallery figure a:hover img{opacity:.94}.gallery figure a:focus-visible{outline-offset:-4px}.gallery figure a{border-radius:4px}
@media(max-width:650px){.gallery{grid-template-columns:1fr}}

/* Galería uniforme: mismo orden y fotografías completas dentro del marco. */
.gallery figure a{aspect-ratio:4/3;background:#090812;display:flex;align-items:center;justify-content:center}.gallery figure img{width:100%;height:100%;object-fit:contain}.gallery figcaption{min-height:58px}#cobertura .coverage{margin-top:0;max-width:850px}

/* Bienvenida de Día de Muertos, con cierre accesible y sin alterar el sitio. */
.seasonal-promo{color:var(--ink);background:radial-gradient(ellipse at 50% 0%,#83371f55,transparent 60%),linear-gradient(145deg,#211028,#0b0a16);border:1px solid #ffac49;border-radius:15px;box-shadow:0 0 45px #fc58ce33;max-width:560px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto;padding:38px;text-align:center}.seasonal-promo::backdrop{background:#06030bd9;backdrop-filter:blur(5px)}.promo-close{position:absolute;top:10px;right:12px;width:44px;height:44px;background:transparent;border:0;color:var(--ink);font-size:30px;border-radius:50%}.promo-decoration{font-size:40px;color:#ffad39;letter-spacing:12px;margin-bottom:15px;text-shadow:0 0 18px #ff8c4c66}.seasonal-promo .eyebrow{color:#ffbe66;font-size:10px;letter-spacing:1.4px}.seasonal-promo h2{font-size:42px;margin-bottom:20px}.seasonal-promo p{margin-block:14px}.seasonal-promo strong{color:var(--ink)}.seasonal-promo .promo-price{color:#ffbb63;font-size:62px;font-weight:800;letter-spacing:-3px;line-height:1.1;margin:20px 0}.promo-price small{font-size:14px;letter-spacing:1px}.seasonal-promo .button{width:100%;margin:12px 0}.seasonal-promo .muted{font-size:11px}.promo-close:hover{background:#ffffff12}@media(max-width:650px){.seasonal-promo{padding:32px 23px}.seasonal-promo h2{font-size:34px}.promo-decoration{font-size:32px}.seasonal-promo .promo-price{font-size:54px}}

/* Personajes vectoriales de temporada, animados con CSS. */
.spooky-page{pointer-events:none;position:fixed;inset:0;z-index:21;overflow:hidden}.floating-ghost{position:absolute;font-size:28px;filter:drop-shadow(0 0 9px #b886ff77);opacity:.8;animation:ghost-float 6s ease-in-out infinite}.ghost-one{left:12px;top:39%}.ghost-two{right:12px;top:65%;font-size:24px;animation-delay:-3s}.hanging-spider{position:absolute;right:32px;top:90px;font-size:30px;animation:spider-sway 5s ease-in-out infinite;transform-origin:50% -65px}.hanging-spider:before{content:'';height:65px;width:1px;position:absolute;bottom:95%;left:50%;background:#bfafcf88}.halloween-cast{padding:22px 6%;display:flex;align-items:center;gap:25px;background:linear-gradient(90deg,#1e1028,#0b1320);border-top:1px solid #55324e}.cast-heading{margin-right:auto}.cast-heading .eyebrow{margin-bottom:10px;color:#ffb863}.cast-heading>p:last-child{margin:0;font-size:16px}.horror-character{width:100px;flex-shrink:0;text-align:center}.horror-character svg{display:block;width:100%;height:125px;filter:drop-shadow(0 0 8px #bb55eb33)}.horror-character span{font-size:9px;letter-spacing:2px;color:var(--muted)}.freddy svg{animation:character-rock 4s ease-in-out infinite;transform-origin:50% 90%}.jason svg{animation:character-rock 5s ease-in-out infinite reverse;transform-origin:50% 90%}.freddy-hand{animation:glove-wave 3s ease-in-out infinite;transform-origin:114px 135px}@keyframes ghost-float{0%,100%{transform:translate(0,0) rotate(-7deg)}50%{transform:translate(7px,-18px) rotate(7deg)}}@keyframes spider-sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes character-rock{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-5px)}}@keyframes glove-wave{0%,100%{transform:rotate(0)}50%{transform:rotate(-12deg)}}@media(max-width:650px){.halloween-cast{flex-wrap:wrap;justify-content:center;gap:18px;padding-block:25px}.cast-heading{width:100%;margin-right:0;text-align:center}.cast-heading .eyebrow{font-size:9px}.cast-heading>p:last-child{font-size:14px}.horror-character{width:85px}.ghost-one{left:2px;font-size:20px}.ghost-two{right:2px;font-size:18px}.hanging-spider{right:12px;font-size:23px}}@media(prefers-reduced-motion:reduce){.floating-ghost,.hanging-spider,.freddy svg,.jason svg,.freddy-hand{animation:none}}

/* Personajes más grandes y telarañas suaves en las esquinas. */
.horror-character{width:145px}.horror-character svg{height:185px}.horror-character span{font-size:11px}.halloween-cast{gap:35px}.corner-web{position:absolute;top:100px;width:150px;height:150px;color:#cdb5eb;opacity:.3;pointer-events:none}.web-left{left:0}.web-right{right:0;transform:scaleX(-1)}@media(max-width:900px){.corner-web{top:80px;width:110px;height:110px}}@media(max-width:650px){.horror-character{width:115px}.horror-character svg{height:150px}.halloween-cast{gap:25px}.corner-web{width:75px;height:75px;opacity:.24}}

/* Los tres personajes bailan juntos en el apartado de temporada. */
.freddy svg{animation:halloween-dance 1.15s ease-in-out infinite;transform-origin:50% 95%}.jason svg{animation:halloween-dance 1.15s ease-in-out -.57s infinite;transform-origin:50% 95%}.animated-dj .dj-performer{animation:dj-dance 1.15s ease-in-out infinite;transform-origin:85px 150px}.dj-arm{animation:dj-wave 1.15s ease-in-out infinite;transform-origin:54px 102px}.dj-notes{animation:notes-bounce 1.15s ease-in-out infinite}.animated-dj svg{overflow:visible}.halloween-cast{flex-wrap:wrap}.cast-heading{flex:1 1 260px}.horror-character{flex:0 0 145px}@keyframes halloween-dance{0%,100%{transform:translate(0,0) rotate(-6deg)}25%{transform:translate(3px,-9px) rotate(0)}50%{transform:translate(0,0) rotate(6deg)}75%{transform:translate(-3px,-9px) rotate(0)}}@keyframes dj-dance{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}@keyframes dj-wave{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(12deg)}}@keyframes notes-bounce{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(-8px);opacity:1}}@media(max-width:650px){.halloween-cast{gap:12px}.cast-heading{flex-basis:100%}.horror-character{width:90px;flex-basis:90px}.horror-character svg{height:125px}.horror-character span{font-size:9px}}@media(prefers-reduced-motion:reduce){.freddy svg,.jason svg,.animated-dj .dj-performer,.dj-arm,.dj-notes{animation:none}}

/* Composición centrada de la campaña Halloween. */
.halloween-cast{justify-content:center;gap:30px;padding:45px 6% 30px}.halloween-cast .cast-heading{flex:0 0 100%;width:100%;margin:0 0 10px;text-align:center}.cast-heading h2{font-size:clamp(32px,4vw,54px);line-height:1.12;letter-spacing:-1.5px;margin:0 0 18px}.cast-heading h2 em{color:#ffb863}.cast-heading>p{font-size:17px;margin:0 0 18px}.cast-cta{display:inline-block;font-size:15px;font-weight:700;color:var(--cyan);padding:10px 5px;border-bottom:1px solid var(--cyan)}.cast-cta:hover{color:var(--pink);border-color:var(--pink)}@media(max-width:650px){.halloween-cast{gap:12px;padding-block:35px 25px}.cast-heading h2{font-size:32px;letter-spacing:-1px}.cast-heading>p{font-size:15px}.halloween-cast .cast-heading{margin-bottom:18px}}
