@font-face{font-family:Lobster;src:url('/assets/fonts/lobster-latin.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:400}
@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces-latin-var.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:300 700}
@font-face{font-family:'Instrument Sans';src:url('/assets/fonts/instrument-sans-latin-var.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:400 600}
@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces-italic-vari.woff2') format('woff2');font-display:swap;font-style:italic;font-weight:300 700;unicode-range:U+56,U+61,U+69,U+72}
@font-face{font-family:Italianno;src:url('/assets/fonts/italianno-firma.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:400}
@font-face{font-family:Cinzel;src:url('/assets/fonts/cinzel-firma.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:400}
:root{--icono-ok:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%23ab884f'%3E%3Cpath%20d='M10.243%2016.314L6%2012.07l1.414-1.414l2.829%202.828l5.656-5.657l1.415%201.415l-7.071%207.07Z'/%3E%3Cpath%20fill-rule='evenodd'%20d='M1%2012C1%205.925%205.925%201%2012%201s11%204.925%2011%2011s-4.925%2011-11%2011S1%2018.075%201%2012Zm11%209a9%209%200%201%201%200-18a9%209%200%200%201%200%2018Z'%20clip-rule='evenodd'/%3E%3C/svg%3E");--icono-mal:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%238c3d1f'%3E%3Cpath%20d='M15.536%207.05L12%2010.586L8.464%207.05L7.05%208.464L10.586%2012L7.05%2015.536l1.414%201.414L12%2013.414l3.536%203.536l1.414-1.414L13.414%2012l3.536-3.536z'/%3E%3Cpath%20fill-rule='evenodd'%20d='M1%2012C1%205.925%205.925%201%2012%201s11%204.925%2011%2011s-4.925%2011-11%2011S1%2018.075%201%2012Zm11%209a9%209%200%201%201%200-18a9%209%200%200%201%200%2018Z'%20clip-rule='evenodd'/%3E%3C/svg%3E")}body[data-mood=celebration]{--icono-ok:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%23da7228'%3E%3Cpath%20d='M10.243%2016.314L6%2012.07l1.414-1.414l2.829%202.828l5.656-5.657l1.415%201.415l-7.071%207.07Z'/%3E%3Cpath%20fill-rule='evenodd'%20d='M1%2012C1%205.925%205.925%201%2012%201s11%204.925%2011%2011s-4.925%2011-11%2011S1%2018.075%201%2012Zm11%209a9%209%200%201%201%200-18a9%209%200%200%201%200%2018Z'%20clip-rule='evenodd'/%3E%3C/svg%3E")}body[data-mood=quince]{--icono-ok:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%239e7be1'%3E%3Cpath%20d='M10.243%2016.314L6%2012.07l1.414-1.414l2.829%202.828l5.656-5.657l1.415%201.415l-7.071%207.07Z'/%3E%3Cpath%20fill-rule='evenodd'%20d='M1%2012C1%205.925%205.925%201%2012%201s11%204.925%2011%2011s-4.925%2011-11%2011S1%2018.075%201%2012Zm11%209a9%209%200%201%201%200-18a9%209%200%200%201%200%2018Z'%20clip-rule='evenodd'/%3E%3C/svg%3E")}body[data-mood=wedding]{--icono-ok:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%23ab8948'%3E%3Cpath%20d='M10.243%2016.314L6%2012.07l1.414-1.414l2.829%202.828l5.656-5.657l1.415%201.415l-7.071%207.07Z'/%3E%3Cpath%20fill-rule='evenodd'%20d='M1%2012C1%205.925%205.925%201%2012%201s11%204.925%2011%2011s-4.925%2011-11%2011S1%2018.075%201%2012Zm11%209a9%209%200%201%201%200-18a9%209%200%200%201%200%2018Z'%20clip-rule='evenodd'/%3E%3C/svg%3E")}body[data-mood=kids]{--icono-ok:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%233d9c93'%3E%3Cpath%20d='M10.243%2016.314L6%2012.07l1.414-1.414l2.829%202.828l5.656-5.657l1.415%201.415l-7.071%207.07Z'/%3E%3Cpath%20fill-rule='evenodd'%20d='M1%2012C1%205.925%205.925%201%2012%201s11%204.925%2011%2011s-4.925%2011-11%2011S1%2018.075%201%2012Zm11%209a9%209%200%201%201%200-18a9%209%200%200%201%200%2018Z'%20clip-rule='evenodd'/%3E%3C/svg%3E")}body[data-mood=classic]{--icono-ok:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%238e8e8e'%3E%3Cpath%20d='M10.243%2016.314L6%2012.07l1.414-1.414l2.829%202.828l5.656-5.657l1.415%201.415l-7.071%207.07Z'/%3E%3Cpath%20fill-rule='evenodd'%20d='M1%2012C1%205.925%205.925%201%2012%201s11%204.925%2011%2011s-4.925%2011-11%2011S1%2018.075%201%2012Zm11%209a9%209%200%201%201%200-18a9%209%200%200%201%200%2018Z'%20clip-rule='evenodd'/%3E%3C/svg%3E")}:root{color-scheme:light;--ink:#171719;--paper:#f6f5f2;--muted:#696763;--muted-calido:#736b61;--line:#dedbd5;--borde-control:#928d85;--pan:0%;--accent:#d4c1a2;--accent-texto:#ab884f;--glow:#d4c1a255;--display:Fraunces,Georgia,serif;--script:Lobster,Fraunces,Georgia,serif;--sans:'Instrument Sans',system-ui,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--alto-cabecera:88px}html{scroll-padding-top:calc(var(--alto-cabecera) + 12px)}.site-header{position:sticky;top:0;height:var(--alto-cabecera);transition:height .3s var(--ease),background-color .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);border-bottom:1px solid transparent}.site-header>.wordmark{transition:font-size .3s var(--ease)}html[data-scroll=si]{--alto-cabecera:64px}html[data-scroll=si] .site-header{background-color:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom-color:var(--line);box-shadow:0 10px 24px #2a1f1410}html[data-scroll=si] .site-header>.wordmark{font-size:27px}html{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#bdb5a8 transparent}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#bdb5a8;border-radius:99px;border:3px solid var(--paper);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#9c9284;background-clip:padding-box;border:3px solid var(--paper)}::-webkit-scrollbar-corner{background:transparent}*{-webkit-tap-highlight-color:transparent}input,textarea{caret-color:var(--ink)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 40px #fffdfa inset;transition:background-color 9999s}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23575048' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:17px;padding-right:38px}body{--tinte-1:color-mix(in srgb,var(--accent) 26%,#fffdfa);--borde-tema:color-mix(in srgb,var(--accent) 56%,#2b261f);margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 var(--sans);overflow-x:hidden}body[data-mood=celebration]{--accent:#f8c9b4;--glow:#f0ad8c66;--accent-texto:#da7228}body[data-mood=quince]{--accent:#cfbef0;--glow:#b89adc65;--accent-texto:#9e7be1}body[data-mood=wedding]{--accent:#e0d1b5;--glow:#eadbbb66;--accent-texto:#ab8948}body[data-mood=kids]{--accent:#bce5e1;--glow:#9dcdd266;--accent-texto:#3d9c93}body[data-mood=classic]{--accent:#d4d4d4;--glow:#eeeeee33;--accent-texto:#8e8e8e}
button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}button:disabled{cursor:not-allowed}img{display:block;max-width:100%}img:not([src]){visibility:hidden}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #876aac;outline-offset:5px}::selection{background:var(--accent);color:var(--ink)}[hidden]{display:none!important}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);font-weight:300;font-optical-sizing:auto;font-variation-settings:'WONK' 1;letter-spacing:-.032em;line-height:1.04}h2{font-size:clamp(42px,5vw,70px);margin-bottom:24px}.accent{font-family:var(--script);font-weight:400;font-variation-settings:normal;letter-spacing:-.028em;color:var(--accent-texto);padding-bottom:.08em;display:inline-block}.hero .accent,.experience .accent,.visit .accent,.site-footer .accent{color:var(--accent)}.wordmark{font-family:var(--script);font-weight:400;line-height:1.1;letter-spacing:-.035em}
.skip{border:2px solid var(--ink);position:fixed;left:20px;top:-70px;padding:10px 20px;z-index:100;background:white}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{padding:0 5.3%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);z-index:40}.site-header>.wordmark{font-size:37px}.site-header nav{display:flex;gap:38px;align-items:center;font-size:14px}.site-header nav>a{padding:12px 0}.site-header nav>.nav-cta{background:var(--ink);color:white;padding:12px 16px 12px 23px;border-radius:6px;display:inline-flex;align-items:center}.nav-cta span{margin-left:16px;display:inline-grid;place-content:center}.nav-cta svg{width:17px;height:17px}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:50%;width:46px;height:46px;place-content:center;color:var(--ink);cursor:pointer;flex-shrink:0;transition:border-color .25s var(--ease),background-color .25s var(--ease)}.menu-toggle:hover,.icon-button:hover{border-color:#8a8176}.menu-toggle svg{width:22px;height:22px}.menu-toggle .barra{transform-box:fill-box;transform-origin:center;transition:transform .32s var(--ease),opacity .18s var(--ease)}.menu-toggle[aria-expanded=true]{background-color:var(--ink);border-color:var(--ink);color:var(--paper)}.menu-toggle[aria-expanded=true] .barra-1{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .barra-2{opacity:0;transform:scaleX(.2)}.menu-toggle[aria-expanded=true] .barra-3{transform:translateY(-5px) rotate(-45deg)}.icon-button{width:46px;height:46px;display:grid;place-content:center;border:1px solid var(--line);border-radius:50%}.icon-button svg{width:24px;height:24px}/* El menú comparte la calidez de la invitación y mantiene sus enlaces a mano. */
.mobile-menu{position:fixed;inset:var(--alto-cabecera) 0 0;height:calc(100dvh - var(--alto-cabecera));background:#211e1b;color:#f6efdf;z-index:30;padding:24px max(6%,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:22px;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s}
.mobile-menu[data-open=si]{opacity:1;visibility:visible;transform:none}
body.menu-abierto{overflow:hidden}
body.menu-abierto .mobile-builder-link,body.menu-abierto .franja-viva{opacity:0;visibility:hidden;pointer-events:none}
.menu-intro{font:300 clamp(24px,6.5vw,34px)/1.2 var(--display);margin:0;padding:4px 0 12px;color:#f6efdf}
.menu-intro span{color:var(--accent)}
.menu-lista{list-style:none;margin:0;padding:0}
.menu-lista li{border-top:1px solid #f6efdf26}
.menu-lista li:last-child{border-bottom:1px solid #f6efdf26}
.menu-lista a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;color:#f6efdf;text-decoration:none;min-height:84px}
.menu-link-text{display:grid;gap:6px}
.menu-link-text>span{font:300 clamp(26px,7vw,34px)/1.12 var(--display);letter-spacing:-.025em}
.menu-link-text small{font:400 12px/1.45 var(--sans);color:#c5b8ac}
.menu-lista a>svg{width:32px;height:32px;padding:7px;border:1px solid #f6efdf40;border-radius:50%;flex-shrink:0;transition:transform .2s var(--ease),background .2s var(--ease)}
.menu-lista a:hover>svg{transform:translateX(3px);background:#ffffff14}
.mobile-menu a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:4px}
.menu-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border-radius:12px;background:var(--accent);color:#211e1b;min-height:76px;text-decoration:none;font:600 16px/1.25 var(--sans);box-shadow:inset 0 1px 0 #ffffff60}
.menu-cta small{display:block;font:400 12px/1.4 var(--sans);margin-top:5px}
.menu-cta svg{width:24px;height:24px;flex-shrink:0}
.menu-cta:hover{background:color-mix(in srgb,var(--accent) 80%,#fff)}
.menu-contacto{display:grid;gap:2px;margin-top:auto;padding-top:16px;border-top:1px solid #f6efdf26}
.menu-contacto a{display:flex;align-items:center;gap:12px;min-height:44px;font-size:13px;color:#d8c9bb;text-decoration:none;overflow-wrap:anywhere}
.menu-contacto a:hover{color:#fff}
.menu-contacto svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}
.menu-label,.menu-close-label{font:500 12px/1 var(--sans)}
.menu-close-label{display:none}
.menu-toggle[aria-expanded=true] .menu-label{display:none}
.menu-toggle[aria-expanded=true] .menu-close-label{display:block}

/* El 88 va a mano y NO es var(--alto-cabecera): el token baja a 64px al
   scrollear (html[data-scroll=si]) y el hero creceria 24px a mitad del
   scroll. Medido. El alto del hero se calcula contra la cabecera inicial. */
.hero{position:relative;min-height:690px;height:calc(100svh - 88px);max-height:1000px;color:white;isolation:isolate;overflow:hidden;background:#332f2b}.hero-photo{position:absolute;inset:0;z-index:-2}.hero-photo picture{display:block;width:100%;height:100%}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 54%;animation:photo-arrive 1.5s ease-out both}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#13100fe0 0%,#13100f6b 52%,#13100f1a),linear-gradient(0deg,#100e0edb,transparent 48%)}.light-wash{position:absolute;inset:0;background:var(--glow);mix-blend-mode:color;transition:background .8s;z-index:1}
.hero-content{padding:8vh 7% 200px;max-width:1100px}.hero-prelude{display:flex;gap:12px;align-items:center;font-size:14px;color:#f6f0e6;margin-bottom:30px}.small-spark{display:inline-grid;place-content:center}.small-spark svg{width:22px;height:22px;color:var(--accent)}.hero h1{font-size:clamp(72px,8.4vw,134px);margin:0 0 24px;line-height:.97;text-shadow:0 3px 25px #0002}.hero-description{font-size:17px;line-height:1.75;color:#eee6dc;margin:0 0 34px}#hero-promesa{display:inline-block;transition:opacity .19s var(--ease),transform .19s var(--ease)}#hero-promesa[data-saliendo=si]{opacity:0;transform:translateY(-7px)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-radius:6px;padding:16px 22px;min-height:54px;background:var(--ink);color:white;font-size:14px;font-weight:600;transition:transform .25s var(--ease),background .25s var(--ease)}.button:hover{transform:translateY(-2px);background:#363437}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:var(--accent)}.button>span[aria-hidden]{font-size:23px;line-height:1}.hero-bottom{position:absolute;bottom:60px;left:7%;right:7%;display:flex;align-items:end;justify-content:space-between;border-top:1px solid #ffffff47;padding-top:22px}.mood-picker>p{font-size:13px;margin-bottom:12px;color:#ede6de}.event-picker{display:flex;gap:8px;flex-wrap:wrap}.event-picker button{font-size:13px;min-height:44px;padding:9px 18px;border:1px solid #ffffff85;border-radius:40px;color:#fff;transition:background .25s}.event-picker button:hover{background:#ffffff24}.event-picker button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--ink)}.discover{font-size:13px;display:flex;gap:25px;align-items:center;min-height:44px}.discover span{font-size:24px}.image-note{position:absolute;font-size:10px;line-height:1.4;bottom:14px;left:18px;color:#fff;background:#0007;padding:4px 8px;border-radius:3px}.hero-note{bottom:16px;left:7%;background:none;padding:0;color:#d9d2c9}.hero-orbit{position:absolute;right:8%;top:23%;width:172px;height:172px;border:1px solid #ffffff99;border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(11deg)}.hero-orbit span{font-family:var(--display);font-size:22px;font-weight:300;line-height:1.2}.hero-orbit svg{position:absolute;width:36px;right:-18px;top:46px;color:var(--accent)}
.intro-strip{padding:25px 7%;display:flex;gap:35px;justify-content:center;align-items:center;border-bottom:1px solid var(--line);font-size:14px}.intro-strip i{display:inline-grid;place-content:center;color:var(--borde-tema)}.intro-strip i svg{width:18px;height:18px}
.section{max-width:1440px;margin:auto;padding:104px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}.section-heading>p{font-size:15px;color:var(--muted);max-width:300px;margin:0 0 5px;line-height:1.85}
.venues{display:grid;grid-template-columns:1.2fr 1fr;gap:52px;align-items:start}.venue-after{padding-top:85px}.venue-image{width:100%;padding:0;position:relative;display:block;overflow:hidden;border-radius:6px;text-align:left}.venue-main .venue-image{aspect-ratio:1.15}.venue-after .venue-image{aspect-ratio:1.02}.venue-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(0deg,#0008,transparent);pointer-events:none}.venue-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.venue-image:hover img{transform:scale(1.045)}.capacity{position:absolute;top:20px;left:20px;background:var(--paper);padding:10px 15px;border-radius:3px;font-size:12px;color:var(--ink)}.capacity strong{font:27px var(--display);margin:0 3px}.explore-tag{position:absolute;bottom:43px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;color:white;font-size:14px;z-index:1}.explore-tag svg{width:26px;height:26px}.venue-image .image-note{z-index:1;bottom:12px;left:24px;background:none;padding:0;color:#eee}.venue-info{display:flex;gap:24px;align-items:start;margin-top:26px}.venue-info h3{font-size:40px;margin:0 0 17px}.venue-info p{font-size:14px;color:var(--muted);margin-bottom:18px;max-width:370px}.circle-link{flex-shrink:0;border:1px solid #b9b4aa;width:47px;height:47px;border-radius:50%;display:grid;place-content:center;font-size:24px;margin-top:6px}.circle-link:hover{background:var(--accent)}.venue-features{list-style:none;margin:0;padding:14px 0 0;display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);font-size:11px}.venue-features li+li:before{content:'·';margin-right:14px}.text-button{font-size:12px;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.experience{background:var(--ink);color:var(--paper);padding:80px max(7%,calc((100% - 1240px)/2));display:grid;grid-template-columns:1fr 1fr;gap:100px}.experience-intro>p:not(.eyebrow){max-width:330px;font-size:14px;color:#c9c5be;margin-bottom:28px}.experience h2{font-size:clamp(40px,4.5vw,63px)}.experience-list{padding-top:42px}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:22px 0;min-height:55px;font-size:15px}summary::-webkit-details-marker{display:none}summary>span{flex-shrink:0;display:grid;place-content:center;transition:transform .25s var(--ease)}summary>span svg{width:22px;height:22px}details[open] summary>span{transform:rotate(180deg)}details>p{font-size:14px;line-height:1.8;max-width:460px;padding-right:20px;margin-bottom:24px;color:var(--muted)}.experience details{border-color:#ffffff40}.experience details>p{color:#c9c5be}
.builder-section{max-width:1440px}.builder-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:start}.event-form{min-width:0}.event-form fieldset{border:0;padding:0 0 33px;margin:0 0 28px;border-bottom:1px solid var(--line);min-width:0}.event-form legend{font-size:17px;font-weight:600;padding:0;margin-bottom:23px;display:flex;gap:12px;align-items:center}.step{border:1px solid #aaa298;border-radius:50%;width:27px;height:27px;display:grid;place-content:center;font-size:12px;font-weight:400;flex-shrink:0}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;margin-bottom:18px;position:relative}.field input,.field select,.field textarea{border:1px solid #cbc6bd;background-color:white;border-radius:6px;min-height:49px;padding:11px 13px;width:100%;min-width:0;font-size:16px}fieldset:disabled .field input,fieldset:disabled .field textarea,fieldset:disabled .field select{opacity:.55;cursor:not-allowed}fieldset:disabled input[type=range]{opacity:.5;cursor:not-allowed}fieldset:disabled .service-option,fieldset:disabled .own-dj,fieldset:disabled .consent-check,fieldset:disabled .occasion-options button,fieldset:disabled .shift-picker{opacity:.55;cursor:not-allowed}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--muted-calido);font-size:13px}.field input[type=date]{min-height:49px;appearance:none}.guest-control{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px}.guest-control output{font:38px/1 var(--display)}.guest-control>div>span{font-size:12px;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--ink);height:44px;margin:3px 0 0;cursor:pointer}.range-captions{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.field-feedback{font-size:12px;margin:10px 0 0;min-height:0}.field-feedback:empty{display:none}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.helper{font-size:12px;color:var(--muted);line-height:1.7;margin:8px 0 18px}.availability-note{font-size:12px;background:#eae7df;border-radius:4px;display:flex;align-items:center;gap:9px;padding:12px}.status-dot{width:7px;height:7px;border-radius:50%;background:#8a8176;flex-shrink:0}.availability-note[data-state=available] .status-dot{background:#3d704a}.availability-note[data-state=alternativa]{background:#f5ecdc;color:#6b4a14}.availability-note[data-state=alternativa] .status-dot{background:#a9711e}.availability-note[data-state=blocked],.availability-note[data-state=error]{background:#f4e5de;color:#83462c}.availability-note .text-button{margin-left:auto;padding:0;min-height:30px}.availability-note{flex-wrap:wrap}#availability-text{flex:1 1 0;min-width:0}#usar-after{flex-basis:100%;margin-left:17px;text-align:left;white-space:nowrap;font-weight:600}.service-options{display:grid;gap:9px}.service-group{display:grid;gap:9px}.service-group+.service-group{margin-top:22px}.service-group-name{font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}.service-option{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--borde-control);background:#fff;border-radius:6px;cursor:pointer;position:relative}.service-option:has(input:checked){border-color:var(--ink);background:#f0eee8}.service-option input{position:absolute;opacity:0;width:1px;height:1px}.service-option:has(input:focus-visible){outline:3px solid #876aac;outline-offset:3px}@supports not selector(:has(*)){.service-option:focus-within{outline:3px solid #876aac;outline-offset:3px}}.service-icon{width:34px;height:34px;display:grid;place-content:center;flex-shrink:0}.service-icon svg{width:27px;height:27px}.service-option strong{font-size:13px;font-weight:600;display:block}.service-option small{display:block;color:var(--muted);font-size:11px;line-height:1.55;margin-top:3px}.service-check{margin-left:auto;width:24px;height:24px;border:1px solid var(--borde-control);border-radius:50%;flex-shrink:0;display:grid;place-content:center;padding:4px;color:var(--borde-control);transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.service-check svg{width:100%;height:100%}.service-option input:checked~.service-check{background:var(--ink);color:white;border-color:var(--ink)}.own-dj{margin-top:20px;font-size:13px;cursor:pointer}.consent-check{cursor:pointer}.own-dj input,.consent input,.admin-check input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.field[data-estado] input,.field[data-estado] textarea{background-repeat:no-repeat;background-position:right 15px center;background-size:21px;padding-right:48px}.field[data-estado=ok] input,.field[data-estado=ok] textarea{border-color:var(--accent-texto);background-image:var(--icono-ok)}.field[data-estado=mal] input,.field[data-estado=mal] textarea{border-color:#8c3d1f;background-image:var(--icono-mal)}.field-error{margin-top:7px;font-size:12px;line-height:1.5;color:#8c3d1f;display:flex;align-items:flex-start;gap:6px}.field-error[hidden]{display:none}.field-error:before{content:'';flex-shrink:0;width:15px;height:15px;margin-top:2px;border-radius:50%;background:#8c3d1f;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fffdfa' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E");background-size:15px;background-position:center;background-repeat:no-repeat}.consent>.field-error{margin-top:10px}.consent[data-invalid] .consent-check .marca{border-color:#8c3d1f}.own-dj,.consent-check{position:relative;display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start}.own-dj .marca,.consent-check .marca,.admin-check .marca{flex-shrink:0;width:20px;height:20px;margin-top:1px;border:1.5px solid var(--borde-control);border-radius:6px;background:#fffdfa;background-position:center;background-repeat:no-repeat;background-size:13px;transition:background-color .18s var(--ease),border-color .18s var(--ease)}.own-dj input:checked~.marca,.consent-check input:checked~.marca,.admin-check input:checked~.marca{background-color:var(--ink);border-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fffdfa' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E")}.own-dj input:focus-visible~.marca,.consent-check input:focus-visible~.marca,.admin-check input:focus-visible~.marca{outline:3px solid #876aac;outline-offset:3px}.own-dj small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.optional{position:absolute;right:0;font-size:11px;color:var(--muted)}.consent{font-size:12px;line-height:1.7;margin:8px 0 20px}.consent>.inline-link{margin-left:32px;font-size:12px}.consent>.inline-link,#direct-fallback{display:inline-flex;align-items:center;min-height:24px}.inline-link{font:inherit;text-decoration:underline;text-underline-offset:3px;padding:0;min-height:30px;display:inline}.submit-button{width:100%;text-align:left}.submit-button svg{width:24px;height:24px;flex-shrink:0}.submit-button:disabled{opacity:.55;transform:none}.submit-motivo{margin:10px 0 0;font-size:12px;color:#83462c;line-height:1.5}.event-form[aria-busy=true] button:disabled{cursor:wait}.submit-note{font-size:11px;text-align:center;color:var(--muted);line-height:1.7;margin:13px 0 0}.form-status{font-size:13px;margin-top:14px}.form-status:empty{display:none}.form-status[data-error=true]{color:#91452e}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.invitation-column{min-width:0;height:100%}.invitation-sticky{position:sticky;top:24px}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin:0 3px 9px}.preview-top .text-button{font-size:10px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#756e5e;margin-right:7px;vertical-align:1px}.invitation-stage{position:relative;padding:30px 24px 40px;perspective:1400px;background:#e5e0d6;border-radius:10px;isolation:isolate;overflow:hidden;transition:background .6s}.stage-halo{position:absolute;width:450px;height:450px;border-radius:50%;background:var(--accent);opacity:.45;filter:blur(50px);top:-90px;left:-100px;z-index:-1;transition:background .6s}.invitation-card{position:relative;background:#fffefa;transform:rotate(-3deg) rotateY(-4deg);padding:26px 26px 20px;box-shadow:1px 2px 0 #d2c8b9,2px 4px 8px #3830211a,7px 14px 28px #38302118,16px 30px 60px #38302112;transition:transform .45s;z-index:2;min-height:490px;border-radius:2px}.invitation-card:before{content:'';position:absolute;inset:9px;border:1px solid #ddd6ca;pointer-events:none}.invitation-stage:hover .invitation-card{transform:rotate(-1deg) rotateY(0)}.ticket-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.ticket-head .wordmark{font-size:25px}.ticket-star{display:inline-grid;place-content:center;color:#8f7e65}.ticket-star svg{width:22px;height:22px}.invitation-label{font-size:10px;text-align:center;margin:0 0 8px;color:var(--muted)}.invitation-card h3{font:35px/1.08 var(--display);letter-spacing:-1.6px;text-align:center;margin:0 auto 20px;max-width:285px;min-height:76px}.ticket-meta{text-align:center;display:flex;flex-direction:column;gap:4px;padding:17px 0 5px}.ticket-meta strong{font-size:14px;font-weight:600}.ticket-meta span{font-size:11px;color:var(--muted)}.ticket-meta #invite-date{font-size:13px;color:var(--ink);margin-top:3px}.ticket-perforation{border-top:1px dashed #c9c0b1;margin:20px -26px 16px;position:relative}.ticket-perforation:before,.ticket-perforation:after{content:'';position:absolute;width:15px;height:15px;border-radius:50%;background:#e5e0d6;top:-8px}.ticket-perforation:before{left:-7px}.ticket-perforation:after{right:-7px}.ticket-services{list-style:none;margin:0;padding:0;display:grid;gap:9px}.ticket-services li{font-size:11px;display:flex;gap:9px;align-items:center;line-height:1.4}.ticket-services svg{width:17px;height:17px;flex-shrink:0}.ticket-services .new-service{animation:service-land .5s cubic-bezier(.15,.7,.2,1)}.ticket-services .empty-services{color:var(--muted);font-size:11px;font-style:italic;text-align:center;display:block}.ticket-bottom{border-top:1px solid #e6ded2;padding-top:14px;margin-top:17px;display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#a09a94}.preview-caption{font-size:11px;line-height:1.6;text-align:center;color:var(--muted);margin:20px 0}.paper-confetti{position:absolute;background:var(--accent);width:10px;height:25px;z-index:4;pointer-events:none}.confetti-a{left:11px;top:70px;transform:rotate(25deg)}.confetti-b{right:10px;bottom:76px;transform:rotate(-32deg);background:#aea293}.confetti-c{width:16px;height:16px;border:2px solid #c2ab88;background:none;right:19px;top:20px;border-radius:50%}
.visit{padding:80px 7%;background:var(--ink);text-align:center;color:var(--paper);position:relative}.visit h2{font-size:clamp(42px,5.8vw,80px)}.visit>p:not(.eyebrow){max-width:440px;margin:0 auto 28px;font-size:14px;color:#cbc6be}.visit .button{min-width:220px}.reviews{display:inline-flex;align-items:center;gap:12px;margin:0 0 26px;font-size:13px;color:#cbc6be;min-height:44px;transition:color .25s var(--ease)}.reviews:hover{color:var(--paper)}.reviews-stars{display:inline-flex;gap:2px;color:var(--accent)}.reviews-stars svg{width:15px;height:15px}.reviews strong{color:var(--paper);font-weight:600;font-size:15px}.visit>.reviews{display:flex;justify-content:center}.questions{display:grid;grid-template-columns:1fr 1fr;gap:80px}.questions h2{font-size:43px}.site-footer{background:var(--ink);color:var(--paper);padding:56px 7% 30px}.footer-main{display:grid;grid-template-columns:1fr 1.5fr 1.15fr .85fr;gap:40px;align-items:start;padding-bottom:40px;border-bottom:1px solid #ffffff1f}.footer-brand .wordmark{font-size:44px;display:inline-block}.footer-brand p{font-size:13px;color:#b9b3aa;margin:10px 0 0}.footer-label{font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}.footer-mapa-wrap{position:relative}.footer-mapa{width:100%;height:210px;border-radius:10px;overflow:hidden;background:#1e1d20;isolation:isolate}.footer-mapa a{-webkit-tap-highlight-color:transparent}.footer-mapa .leaflet-tile-pane{filter:grayscale(1) invert(.88) brightness(.78) contrast(.85) sepia(.3)}#mapa:focus-visible{outline:3px solid #876aac;outline-offset:-3px;position:relative;z-index:3}
/* Contenedores que reciben el foco por codigo para decir donde quedo parada
   la persona: dialogos, los paneles de los controles propios y las regiones
   de aterrizaje. Nadie tabulo hasta ahi, asi que el anillo no informa nada, y
   el de fabrica enmarca el bloque entero -una seccion de 3666px de alto, un
   dialogo, el calendario-.
   Se listan las etiquetas a proposito: [tabindex="-1"] a secas tiene mas peso
   que button:focus-visible y le sacaria el anillo a un control. */
:is(section,div,ul,ol,p,h1,h2,h3,h4,strong,span,form,fieldset)[tabindex="-1"]:focus,
dialog:focus,[popover]:focus{outline:none}.footer-mapa-marco{position:relative}.footer-mapa-marco:after{content:'';position:absolute;inset:0;border-radius:10px;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff12,inset 0 0 46px 18px var(--ink)}.mapa-controles{position:absolute;right:10px;top:10px;display:flex;gap:6px;z-index:2}.mapa-controles button{width:34px;height:34px;border-radius:50%;background:#171719e6;border:1px solid #ffffff2a;color:var(--paper);display:grid;place-content:center;transition:background .2s var(--ease),border-color .2s var(--ease)}.mapa-controles button:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}.mapa-controles svg{width:16px;height:16px}.mapa-marcador span{position:relative;display:block;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:inset 0 0 0 1.5px var(--accent)}.mapa-marcador span:after{content:'';position:absolute;inset:8px;border-radius:50%;background:var(--accent)}.site-footer address{font-style:normal;font-size:13px;line-height:1.75;color:#cfc9c0}.footer-map{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:13px;color:var(--accent);min-height:44px;transition:color .25s var(--ease)}.footer-map:hover{color:var(--paper)}.footer-map svg{width:15px;height:15px;flex-shrink:0}.footer-social{list-style:none;margin:0;padding:0;display:grid;gap:4px}.footer-social a{display:inline-flex;align-items:center;gap:11px;font-size:13px;color:#cfc9c0;min-height:44px;transition:color .25s var(--ease)}.footer-social a:hover{color:var(--accent)}.footer-social svg{width:19px;height:19px;flex-shrink:0}.footer-bottom{display:flex;align-items:center;justify-content:flex-start;gap:18px;flex-wrap:wrap;padding-top:20px}.firma-dev{margin:0 0 0 auto;display:grid;justify-items:end;gap:5px;text-align:right;color:#8d877f;text-decoration:none}.firma-verbo{font:400 10px/1.2 var(--sans);letter-spacing:.3px}.firma-marca{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;color:#b9b3aa}.firma-mano{font:400 30px/.55 Italianno,cursive}.firma-piedra{font:400 8.5px/1 Cinzel,serif;letter-spacing:2.8px;text-transform:uppercase}a.firma-dev:hover .firma-marca{color:var(--paper)}.site-footer small{font-size:11px;color:#8d877f}.footer-bottom .inline-link{font-size:11px;color:#8d877f;min-height:44px;display:inline-flex;align-items:center}.footer-bottom .inline-link:hover{color:var(--paper)}.mobile-builder-link{display:none}
dialog{border:0;padding:0;color:var(--ink);background:var(--paper);border-radius:10px;box-shadow:0 30px 120px #0005}dialog::backdrop{background:#0a080bc9;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.tour-dialog{width:min(1040px,calc(100% - 32px));max-height:92svh;overflow:auto}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 30px}.dialog-header h2{font-size:32px;margin:0}.dialog-header .eyebrow{font-size:11px;margin:0 0 4px}.tour-view{position:relative;aspect-ratio:1.8;overflow:hidden;background:#171719}.tour-view img{width:100%;height:100%;object-fit:cover;transform:scale(1.09) translateX(var(--pan,0%));transition:transform .7s}.tour-detail{position:absolute;bottom:20px;left:25px;background:#171719b8;color:white;padding:9px 14px;font-size:12px;border-radius:4px}.tour-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 25px 0}.tour-controls>div{display:flex;gap:6px}.tour-controls>div button{border-radius:22px;min-height:44px;padding:8px 14px;font-size:13px}.tour-controls button[aria-pressed=true]{background:var(--ink);color:white}.tour-dialog>.helper{padding:0 25px 10px;margin-top:10px}.privacy-dialog{width:min(510px,calc(100% - 32px));padding:32px}.privacy-dialog>.icon-button{margin-left:auto;margin-bottom:20px}.privacy-dialog h2{font-size:36px}.privacy-dialog p{font-size:14px;color:var(--muted)}.privacy-dialog{max-height:min(86svh,720px);overflow:auto}.privacy-dialog h3{font:600 12px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:22px 0 8px}.privacy-dialog p strong{color:var(--ink);font-weight:600}.privacy-dialog p:last-child{margin-bottom:0}.noscript{padding:30px;background:#fff1c9;position:fixed;bottom:0;left:0;right:0;z-index:100}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.seen{opacity:1;transform:none}.button svg,.circle-link svg{transition:transform .25s var(--ease)}.button:hover svg{transform:translateX(3px)}.circle-link:hover svg{transform:translate(2px,-2px)}
@keyframes photo-arrive{from{transform:scale(1.06)}to{transform:scale(1)}}@keyframes service-land{from{opacity:0;transform:translate(15px,-10px) rotate(3deg)}to{opacity:1;transform:none}}@keyframes light-swing{from{transform:rotate(-28deg)}to{transform:rotate(32deg)}}


@media(min-width:1600px){.hero-content{padding-top:10vh}.hero h1{font-size:144px}.hero-bottom{bottom:65px}}
/* Pantallas bajas (laptops de 768px): el contenido del hero medía 754px dentro
   de un hero de 690 y pisaba la franja de abajo. Se achica el titular y el aire. */
@media(min-width:761px) and (max-height:820px){.hero-content{padding-top:5vh;padding-bottom:170px}.hero h1{font-size:clamp(60px,6.6vw,104px)}.hero-prelude{margin-bottom:20px}.hero-description{font-size:16px;margin-bottom:26px}.hero-orbit{width:150px;height:150px;top:19%}.hero-orbit span{font-size:19px}}
@media(max-width:1100px){.builder-layout{gap:38px}.invitation-stage{padding:24px 17px 30px}.invitation-card{padding:22px 20px 18px}.ticket-perforation{margin-left:-20px;margin-right:-20px}.invitation-card h3{font-size:30px;min-height:68px}.hero-orbit{right:6%;width:146px;height:146px}.hero-orbit span{font-size:19px}.venues{gap:30px}.experience{gap:45px}.hero h1{font-size:99px}.hero-content{padding-top:70px}.questions{gap:45px}}
@media(max-width:900px){.discover{display:none}}
/* Entre 761 y 920px las cuatro columnas del pie se estrangulaban: la direccion
   caia en 98px de ancho y se partia en seis lineas junto a un mapa vertical. */
@media(max-width:920px) and (min-width:761px){.footer-main{grid-template-columns:1fr 1fr;gap:34px 40px}.footer-mapa{height:190px}}
@media(max-width:760px){:root{--alto-cabecera:76px}.site-header{padding:0 6%}.site-header>.wordmark{font-size:32px}.site-header nav{display:none}.menu-toggle{display:grid}html[data-scroll=si]{--alto-cabecera:58px}.hero{height:auto;min-height:730px;max-height:none}.hero-photo img{object-position:82% 50%}.hero-content{position:relative}.hero-content:before{content:'';position:absolute;inset:-40px -26px -30px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#0c0a0966 0%,#0c0a0944 70%,#0c0a0900 100%)}.hero-photo:after{background:linear-gradient(90deg,#100e0f85,#100e0f20),linear-gradient(0deg,#100e0fc9,transparent 65%)}.hero-content{padding:74px 7% 240px}.hero h1{font-size:clamp(68px,12.5vw,95px);line-height:1.02}.hero-prelude{font-size:12px;gap:10px;margin-bottom:24px}.small-spark svg{width:19px;height:19px}.hero-description{font-size:14px;margin-top:25px;max-width:290px}.hero .button{font-size:13px;padding:14px 20px}.hero-orbit{display:none}.hero-bottom{bottom:53px;left:7%;right:7%;padding-top:20px}.mood-picker>p{font-size:12px}.event-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.event-picker button{min-width:0;padding:8px 10px;font-size:12px;grid-column:span 3}.event-picker button:nth-child(n+3){grid-column:span 2}.hero-note{font-size:9px;bottom:19px;max-width:85%}.intro-strip{padding:22px 6%;gap:12px;justify-content:space-between;font-size:10px;line-height:1.6}.intro-strip i svg{width:15px;height:15px}.intro-strip span{max-width:95px;text-align:center}.section{padding:66px 6%}.section-heading{align-items:start;gap:20px;margin-bottom:30px}.section-heading{display:block}.section-heading h2{font-size:43px}.section-heading>p{font-size:12px;max-width:155px;padding-top:37px}.section-heading>p{max-width:none;padding-top:0;margin-top:20px}.section-heading>p br{display:none}.eyebrow{font-size:10px;margin-bottom:14px}.venues{display:block}.venue-after{padding-top:40px}.venue-main .venue-image,.venue-after .venue-image{aspect-ratio:1.18}.venue-info{margin-top:22px}.venue-info h3{font-size:34px}.venue-info p{font-size:13px}.capacity{top:16px;left:16px;padding:6px 11px}.capacity strong{font-size:24px}.venue-features{font-size:10px;gap:10px}.venue-features li+li:before{margin-right:10px}.experience{padding:62px 7%;display:block}.experience-intro h2{font-size:48px}.experience-intro>p:not(.eyebrow){font-size:13px}.experience-list{padding-top:26px}summary{font-size:14px;padding:20px 0}details>p{font-size:13px}
.builder-heading{display:block}.builder-heading h2 br{display:none}.builder-heading h2{max-width:310px}.builder-heading>p{padding-top:0;margin-top:20px;max-width:none;font-size:13px}.builder-heading>p br{display:none}.builder-layout{display:flex;flex-direction:column;gap:26px}/* Estaba arriba del formulario: una pantalla entera de invitacion vacia antes
   de que la persona eligiera nada, y despues 3.500px de formulario sin verla.
   Ahora cierra, y mientras se elige acompaña la franja de abajo. */
.invitation-column{width:100%;height:auto;margin-top:34px}.invitation-sticky{position:static}.invitation-stage{max-width:460px;margin:auto;padding:25px 47px 30px;border-radius:6px}.invitation-card{min-height:0;padding:18px 21px 16px;transform:rotate(-2deg)}.ticket-head{margin-bottom:15px}.ticket-head .wordmark{font-size:24px}.ticket-star{font-size:22px}.invitation-card h3{font-size:30px;max-width:245px;margin-bottom:15px;min-height:0}.ticket-meta{padding-top:13px}.ticket-meta span{font-size:10px}.ticket-perforation{margin-top:16px;margin-bottom:12px}.ticket-services{gap:7px}.ticket-services li{font-size:10px}.ticket-bottom{font-size:8px;margin-top:13px;padding-top:12px}.preview-caption{margin-top:13px;font-size:10px}.preview-caption br{display:none}.event-form{width:100%}.event-form legend{font-size:16px}.event-form fieldset{margin-bottom:23px;padding-bottom:27px}.service-option{padding:13px 11px;gap:10px}.field input,.field textarea,.field select{font-size:16px}.two-fields{gap:11px}.visit{padding:65px 7%}.visit h2{font-size:48px}.visit>p:not(.eyebrow){font-size:13px}.questions{display:block}.questions h2{font-size:39px;margin-bottom:30px}.site-footer{padding:40px 6% 84px}.footer-main{grid-template-columns:1fr;gap:22px;padding-bottom:24px}.footer-brand .wordmark{font-size:34px}.footer-brand p{display:none}.footer-mapa{height:140px}.footer-social{display:flex;flex-wrap:wrap;gap:0 22px}.footer-bottom{padding-top:18px}.mobile-builder-link{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--ink);border:1px solid #fff5;color:white;display:flex;align-items:center;justify-content:space-between;gap:45px;white-space:nowrap;padding:14px 22px;min-height:50px;border-radius:99px;font-size:13px;z-index:19;box-shadow:0 2px 6px #0000001f,0 8px 26px #00000026}.mobile-builder-link>span{color:var(--accent);font-size:20px;line-height:1}.mobile-builder-link.sobra{opacity:0;pointer-events:none;visibility:hidden}.dialog-header{padding:17px 18px}.dialog-header h2{font-size:28px}.tour-view{aspect-ratio:1.05}.tour-detail{left:12px;bottom:13px;font-size:10px;max-width:90%;padding:7px 10px}.tour-controls{padding:10px 12px 0;flex-wrap:wrap;justify-content:center;gap:0 20px}.tour-controls>div{width:100%;justify-content:center}#tour-prev,#tour-next{display:none}.tour-controls>div button{font-size:12px;padding:9px 12px}.tour-dialog>.helper{font-size:10px;padding:0 17px 10px}.privacy-dialog{padding:24px}.firma-dev{flex-basis:100%;margin:6px 0 0;justify-items:start;text-align:left}}
@media(max-width:390px){.invitation-stage{padding:22px 30px}.hero h1{font-size:66px}.hero-content{padding-top:55px}.hero{min-height:715px}.event-picker button{font-size:11px;padding:7px 13px}.intro-strip{gap:9px}.site-header>.wordmark{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}.invitation-card,.invitation-stage:hover .invitation-card{transform:none}.tour-view img{transform:none}}

@media(min-width:761px){.site-header .menu-toggle{display:none}}
.franja-viva{display:none}.invitation-dialog{padding:0;background:var(--paper);width:min(94vw,500px);max-height:92svh;border:0;border-radius:12px}.invitation-dialog-content{padding:0 15px}.invitation-dialog .invitation-sticky{padding:0 12px 12px}.invitation-dialog .preview-caption{margin-bottom:0}.invitation-dialog .preview-top>span{font-size:10px}
@media(max-width:760px){.franja-viva{display:flex;position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:19;align-items:center;justify-content:space-between;gap:16px;text-align:left;border:1px solid #ffffff1f;border-radius:14px;padding:12px 16px;min-height:60px;background:var(--ink);color:var(--paper);box-shadow:0 2px 6px #0000001f,0 10px 30px #00000033}.franja-texto{display:grid;gap:3px;min-width:0}.franja-titulo{font:600 13px/1.2 var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.franja-detalle{font-size:11px;line-height:1.3;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.franja-ver{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;font:600 12px/1 var(--sans);color:var(--paper)}.franja-ver svg{width:16px;height:16px}.event-form{padding-bottom:45px}.invitation-dialog .invitation-stage{padding:22px 25px}.invitation-dialog .ticket-services li{font-size:11px}.invitation-dialog .ticket-bottom{font-size:10px}}


/* Carga: se muestra la forma de lo que viene, no una rueda girando. Un bloque
   con la silueta correcta dice que algo esta en camino y de que tamano, y evita
   que la pagina salte cuando llegan los datos.
   El brillo lo apaga prefers-reduced-motion por
   la regla global de animacion; el bloque gris queda igual, que es lo que de
   verdad comunica. Las filas entran escalonadas para que se lea como una lista
   y no como una mancha. */
.esqueleto{position:relative;overflow:hidden;background:#e7e3dc;border-radius:8px;color:transparent!important;border-color:transparent!important;box-shadow:none!important;user-select:none;pointer-events:none}
.esqueleto *{visibility:hidden}
.esqueleto:after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,#e7e3dc00,#fffdfabf 55%,#e7e3dc00);animation:brillo 1.5s ease-in-out infinite}
@keyframes brillo{to{transform:translateX(100%)}}
.esqueleto:nth-child(2):after{animation-delay:.12s}
.esqueleto:nth-child(3):after{animation-delay:.24s}
.esqueleto:nth-child(4):after{animation-delay:.36s}
.esqueleto:nth-child(5):after{animation-delay:.48s}
.esqueleto:nth-child(6):after{animation-delay:.6s}

/* La pagina de 404 llevaba estos cinco valores como style="" en el marcado, y
   la CSP (style-src 'self', sin unsafe-inline) los bloqueaba enteros: se servia
   sin centrado, con el logotipo a 16px y el titulo al 2em del navegador. Es la
   pagina que ve quien recibe un link cortado por WhatsApp. */
.pagina-perdida{min-height:70vh;display:grid;place-content:center;text-align:center;gap:22px}
.pagina-perdida>.wordmark{font-size:44px}
.pagina-perdida h1{font-size:clamp(34px,6vw,54px)}
.pagina-perdida .perdida-texto{max-width:34ch;margin:auto;color:var(--muted)}
.mapa-credito{margin:7px 2px 0;font-size:10px;color:#cfc9c0}.mapa-credito a{color:#e0d8cc;text-decoration:underline}

/* Ventanas bajas. El hero pide min-height:690px y el ancho usado es
   max(min-height, min(max-height, height)), asi que el calc(100svh - 88px) de
   al lado nunca lo achica: en cualquier ventana de menos de 718px de alto las
   pastillas de ocasion quedaban bajo la linea de flote. Un portatil de
   1366x768 tiene ~600px utiles. Bajar el piso a secas no alcanza: el boton
   choca con la barra. Hay que apretar el bloque tambien. */
@media(min-width:761px) and (max-height:780px){
  /* height:auto y no 0: el hero recorta con overflow:hidden, asi que si el
     contenido no entra en calc(100svh - 88px) se corta en vez de crecer.
     Y el padding-bottom NO puede ser 0: es lo unico que le reserva sitio a
     .hero-bottom, que es absoluta. Sin el, a 1000x450 -un telefono acostado-
     las pastillas tapaban el boton entero y se comian su clic. */
  .hero{min-height:0;height:auto}
  .hero-content{padding-top:34px;padding-bottom:148px}
  .hero h1{font-size:clamp(44px,7.4vh,78px)}
  .hero-prelude{margin-bottom:14px}
  .hero-description{margin-top:15px}
  .hero .button{padding:13px 20px}
  .hero-bottom{bottom:26px;padding-top:14px}
  .hero-orbit{display:none}
  .hero-note{bottom:8px}
}

/* AfterVari es otro producto (clases, y respaldo del salon): va en su propia
   franja para que no se funda con las preguntas, que siguen en papel. Mas
   clara y no mas oscura a proposito: los acentos de cada ocasion estan
   calibrados a 3:1 justo sobre el papel, y cualquier tinte oscuro los baja
   de ese umbral. Sobre este blanco quedan en 3,22 o mas. */
.clases{max-width:none;background:#fffdfa;border-block:1px solid var(--line);padding-inline:max(7%,calc((100% - 1240px)/2))}
@media(max-width:760px){.clases{padding-inline:6%}}
/* Lo que se busca que pase en AfterVari. Son fotos de stock (Unsplash, libres
   de uso comercial, ver docs/creditos-fotos.md) y lo dicen: no son del lugar.
   Verticales a proposito: dos de las tres son de pie y en horizontal perdian
   a la gente. Misma grilla en todos los anchos, en el celular como tira. */
.clases-fotos{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.clases-fotos figure{margin:0}
.clases-fotos img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px;background:var(--line)}
.clases-fotos figcaption{margin-top:12px;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.clases-nota{margin:0 0 40px;text-align:right;font-size:11px;color:var(--muted)}
@media(max-width:760px){.clases-fotos{gap:8px}.clases-fotos figcaption{margin-top:8px;font-size:10px}.clases-nota{font-size:10px;margin-bottom:28px}}
/* En computadora a todo el ancho cada foto medía casi 500px de alto y la
   sección pesaba más que el salón. Se topan a 840px; en el celular siguen
   como tira de lado a lado. */
@media(min-width:761px){.clases-fotos,.clases-nota{max-width:840px}}

@media(max-width:760px){
  .menu-toggle{display:flex;align-items:center;justify-content:center;gap:9px;width:auto;min-width:94px;height:44px;padding:0 13px;border-radius:99px;border-color:var(--borde-control);background:#fffdfa}
  body.menu-abierto .site-header{background:#211e1b;color:#f6efdf;border-bottom:1px solid #f6efdf26;box-shadow:none;backdrop-filter:none}
  body.menu-abierto .site-header>.wordmark{color:#f6efdf}
  .menu-toggle[aria-expanded=true]{background:#f6efdf0d;border-color:#f6efdf66;color:#f6efdf}
  .hero h1{font-size:clamp(54px,14vw,88px)}
  .section-heading h2,.experience-intro h2,.visit h2,.questions h2{font-size:clamp(34px,9vw,48px);line-height:1.08}
  .section-heading>p{font-size:14px;line-height:1.7}
  .hero-content{padding-top:clamp(42px,8vh,74px)}
}
@media(max-width:360px){
  .site-header{gap:12px}.site-header>.wordmark{font-size:28px}
  .menu-toggle{min-width:86px;padding:0 10px}
  .mobile-menu{gap:16px;padding-top:16px}.menu-lista a{padding:15px 0;min-height:78px}
  .menu-link-text small{font-size:11px}.menu-cta{padding:16px;min-height:70px}
}
@media(max-width:760px) and (max-height:660px){
  .mobile-menu{gap:14px;padding-top:14px}.menu-intro{font-size:23px;padding-bottom:0}
  .menu-lista a{min-height:70px;padding:12px 0}.menu-link-text>span{font-size:26px}
  .menu-cta{min-height:66px;padding:14px 18px}.menu-contacto{padding-top:10px}
}

/* Nombre y WhatsApp uno debajo del otro hasta 1180px (entre 761 y 1180 la
   columna del formulario comparte fila con la invitacion: a 768 median 148px).
   Antes: hasta 520px. El corte estaba en 390 y
   a 450 (el Redmi de Miguel) iban de a dos en 193px, con 48 que se lleva el
   icono de verificado: un nombre largo se cortaba a la vista. */
@media(max-width:1180px){.two-fields{grid-template-columns:1fr}}

/* Deslizar el recorrido tambien en tablet: con touch-action solo en el celular,
   arriba de 760px el navegador se quedaba el gesto y mandaba pointercancel. */
.tour-view{touch-action:pan-y}
