@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#0c171e;--ink:#effaff;--muted:#9ab0ba;--ice:#b9f3ff;--line:#ffffff22;--dark:#101f28;--display:'Space Grotesk',sans-serif;--body:'DM Sans',sans-serif}*{box-sizing:border-box}html{background:var(--bg);overscroll-behavior:none;color-scheme:dark}body{margin:0;color:var(--ink);font:16px/1.5 var(--body);overflow-x:clip;background:radial-gradient(ellipse at 90% 10%,#27495755,transparent 50%)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:active{transform:scale(.97)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ice);outline-offset:4px}button{transition:transform .2s,background .2s}a{color:inherit}img{display:block;width:100%;object-fit:cover}.app{max-width:1440px;margin:auto;min-height:100dvh}.top{height:94px;padding:22px 28px;display:flex;gap:20px;align-items:center;position:relative;z-index:2}.wordmark{text-decoration:none;font:600 35px/.8 var(--display);letter-spacing:-2px}.brandstar{font-size:27px;color:var(--ice);margin-left:5px}.edition{font:9px/1.6 var(--display);letter-spacing:1.5px;margin-left:auto;color:var(--muted)}.edition b{font-weight:400;color:var(--ink)}.iconbtn{border:1px solid var(--line);background:#ffffff09;border-radius:50%;width:46px;height:46px;display:grid;place-items:center}.lens-mini{width:21px;height:21px;background:conic-gradient(from 20deg,#e2ffff,#447991,#c6faff,#1c414e,#f0fcff);border-radius:50%;box-shadow:0 0 15px #a6efff44}.hero{position:relative;min-height:calc(100svh - 94px);padding:15px 28px 130px;isolation:isolate;overflow:hidden}.kicker{font:10px var(--display);text-transform:uppercase;letter-spacing:2.3px;color:var(--ice);display:flex;align-items:center;gap:9px}.kicker:before{content:'';width:5px;height:5px;background:var(--ice);box-shadow:0 0 9px var(--ice);border-radius:50%}.hero h1{font:500 clamp(58px,10vw,132px)/.92 var(--display);letter-spacing:-.07em;margin:25px 0 0;position:relative;z-index:2;pointer-events:none}.hero h1 em{font-weight:400;font-style:normal;color:var(--ice);display:block;margin-left:9vw}.hero-art{margin-top:-20px;height:330px;position:relative;overflow:hidden;border-radius:180px 180px 32px 32px;background:#b1dcea;box-shadow:0 -1px 0 #d5f8ff,0 30px 80px #80dcff18;isolation:isolate}.hero-art img{height:100%;object-fit:cover;transform:scale(1.25);filter:saturate(.65)}.hero-art:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 60px #072d3e33;pointer-events:none}.reticle{position:absolute;inset:20px;border:1px solid #fff6;border-radius:150px 150px 20px 20px;pointer-events:none}.reticle:after{content:'01 / LÍNEA';position:absolute;bottom:18px;left:18px;color:#123240;font:10px var(--display);letter-spacing:3px}.floating-tag{position:absolute;right:16px;bottom:16px;background:#132a33d9;backdrop-filter:blur(16px);border:1px solid #ffffff55;padding:12px 15px;border-radius:16px;font-size:12px;box-shadow:0 8px 20px #06131d33}.floating-tag b{font:500 21px var(--display);display:block;color:var(--ice)}.hero-bottom{margin-top:24px;display:flex;align-items:center;gap:18px}.hero-bottom p{color:#b5c8d1;font-size:14px;max-width:220px;margin:0}.round-arrow{margin-left:auto;border:1px solid #c6f5ff66;background:var(--ice);color:#09212d;width:64px;height:64px;border-radius:50%;font-size:32px;flex-shrink:0;box-shadow:0 0 26px #a1edff24}.smallnote{font-size:10px;letter-spacing:.8px;color:var(--muted);margin-top:22px}.dock{position:fixed;z-index:10;bottom:max(15px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:470px;display:flex;padding:8px;background:#20313ae8;border:1px solid #c7edff36;border-radius:28px;box-shadow:0 15px 50px #0006,inset 0 1px 0 #ffffff1c;backdrop-filter:blur(24px)}.dock button{border:0;background:transparent;flex:1;min-width:0;border-radius:20px;display:grid;place-items:center;gap:4px;padding:8px 0;font-size:10px;color:#b6c7ce;min-height:58px}.dock button.active{background:var(--ice);color:#112a35;box-shadow:0 3px 14px #a7e7ff22}.dock svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;fill:none}.dock i{font-style:normal}.page{padding:15px 28px 130px;animation:enter .35s cubic-bezier(.2,.8,.2,1)}.page h1{font:500 44px/1.02 var(--display);letter-spacing:-2px;margin:20px 0}.page-sub{color:var(--muted);margin:12px 0 25px;max-width:460px}.searchbox{display:flex;gap:12px;align-items:center;background:#ffffff06;border:1px solid #8fb2c44a;border-radius:16px;padding:0 16px;height:52px}.searchbox svg{width:20px;stroke:var(--ice);fill:none}.searchbox input{width:100%;min-width:0;background:none;border:none;outline:none;color:var(--ink)}.filters{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 27px}.filters button{background:transparent;border:1px solid var(--line);border-radius:30px;min-height:44px;padding:8px 13px;font-size:12px}.filters button.selected{background:var(--ice);color:var(--bg);border-color:var(--ice)}.results-count{display:flex;justify-content:space-between;color:var(--muted);font:10px var(--display);letter-spacing:1.2px;margin:15px 0}.product-list{display:grid;grid-template-columns:1fr 1fr;gap:25px 12px}.product{position:relative;min-width:0;animation:enter .3s ease}.photo-btn{border:0;padding:0;width:100%;background:#e7edf0;border-radius:14px 14px 4px 4px;overflow:hidden;aspect-ratio:1/1.15;position:relative}.photo-btn img{height:100%;object-fit:cover;transition:transform .5s}.photo-btn:hover img{transform:scale(1.06)}.photo-btn:after{content:'↗';position:absolute;bottom:8px;right:9px;width:27px;height:27px;border-radius:50%;background:#fff9;color:#17313e;display:grid;place-items:center}.save{position:absolute;right:7px;top:7px;border:1px solid #ffffffaa;background:#122b3acd;backdrop-filter:blur(8px);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;z-index:1}.save svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}.save.saved{color:var(--ice);background:#12313f}.save.saved svg{fill:currentColor}.product h2{font:500 16px var(--display);letter-spacing:-.4px;margin:9px 0 4px}.product .meta{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.price{font-size:14px;color:var(--ice);font-variant-numeric:tabular-nums;margin-top:5px}.price small{font-size:9px;color:var(--muted)}.empty{text-align:center;padding:45px 12px;color:var(--muted)}.empty h2{color:var(--ink);font:400 28px var(--display)}.primary{border:0;background:var(--ice);color:#112731;border-radius:16px;min-height:54px;padding:14px 20px;font-weight:600;display:flex;align-items:center;justify-content:space-between;width:100%;gap:15px}.secondary{border:1px solid var(--line);background:#ffffff08;color:var(--ink);border-radius:16px;min-height:50px;padding:12px 20px;width:100%;margin-top:10px}.booking-cover{position:relative;height:190px;border-radius:24px 4px 24px 4px;overflow:hidden;margin:15px 0 25px}.booking-cover img{height:100%;filter:saturate(.3);object-position:center 45%}.booking-cover span{position:absolute;bottom:14px;left:14px;background:#0b2027d9;backdrop-filter:blur(10px);padding:8px 13px;border-radius:20px;font-size:10px}.formlabel{display:block;font-size:12px;letter-spacing:.7px;color:var(--muted);margin:20px 0 8px}.date-row,.time-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.date-row button,.time-row button{min-height:55px;border:1px solid var(--line);border-radius:14px;background:#ffffff05;font-size:13px}.date-row button.selected,.time-row button.selected{border-color:var(--ice);background:#b9f3ff16;color:var(--ice)}.date-row b{display:block;font:500 23px var(--display)}select{width:100%;background:#182a34;border:1px solid var(--line);border-radius:14px;color:var(--ink);height:52px;padding:10px}.formnote{font-size:12px;color:var(--muted);margin:18px 0}.success{padding:40px 0;text-align:center}.success-mark{width:90px;height:90px;border:1px solid var(--ice);background:#b9f3ff11;border-radius:50%;display:grid;place-items:center;margin:15px auto;font-size:40px;color:var(--ice);box-shadow:0 0 50px #b9f3ff14}.success h2{font:400 36px var(--display);letter-spacing:-1px}.success p{color:var(--muted)}dialog{border:1px solid #9ed1e144;background:#142630;color:var(--ink);padding:0;width:min(560px,100%);max-width:100%;max-height:91dvh;margin:auto auto 0;border-radius:32px 32px 0 0;box-shadow:0 -25px 100px #0008;overscroll-behavior:contain}dialog::backdrop{background:#020a12a8;backdrop-filter:blur(7px)}dialog[open]{animation:sheetin .32s cubic-bezier(.2,.9,.3,1)}.grip{height:4px;width:38px;background:#718b97;border-radius:5px;margin:12px auto}.close{position:absolute;top:24px;right:16px;z-index:3;background:#152833d9;font-size:25px}.detail-img{height:290px;background:#d6e6eb;object-fit:cover}.detail-content{padding:24px 25px calc(28px + env(safe-area-inset-bottom))}.detail-content h2{font:500 38px/1 var(--display);letter-spacing:-1.7px;margin:14px 0}.detail-content p{color:#b6cad4;line-height:1.7}.detail-content .price{font-size:26px;margin:14px 0 22px}.spec{border-top:1px solid var(--line);padding-top:15px;font-size:13px}.detail-content .legal{font-size:11px;color:var(--muted)}.lumen-stage{height:170px;display:grid;place-items:center;background:radial-gradient(ellipse,#5b92aa33,transparent 65%)}.lumen{position:relative;width:100px;height:100px;border-radius:32% 68% 54% 46%/40% 40% 60% 60%;background:conic-gradient(from 20deg,#e8ffff,#6697b2,#bbf3ff,#153342,#d4f7ff);box-shadow:inset 6px 4px 12px #fff9,inset -6px -12px 25px #08314899,0 0 60px #a7e7ff2e;transform:rotate(-12deg)}.lumen:before,.lumen:after{content:'';position:absolute;width:8px;height:13px;background:#122b39;border-radius:10px;top:43px;left:32px;transform:rotate(12deg)}.lumen:after{left:56px}.lumen b{position:absolute;bottom:23px;left:40px;width:17px;height:7px;border-bottom:2px solid #122b39;border-radius:50%}.guide-options{display:grid;gap:8px;margin:20px 0}.guide-options button{border:1px solid #ffffff22;background:#ffffff07;border-radius:13px;padding:13px;text-align:left;min-height:48px}.answer{border-left:2px solid var(--ice);padding:12px 16px;background:#b9f3ff09;border-radius:0 14px 14px 0;font-size:14px}.toast{position:fixed;top:104px;left:50%;transform:translate(-50%,-20px);background:var(--ice);color:#122c38;border-radius:30px;padding:12px 22px;font-size:13px;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 10px 50px #0005;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.fineprint{margin-top:40px;border-top:1px solid var(--line);padding-top:18px;font-size:11px;color:var(--muted)}@keyframes enter{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}@keyframes sheetin{from{transform:translateY(80%)}to{transform:translateY(0)}}@media(min-width:700px){.top{padding:28px 6%;height:110px}.hero{padding:25px 6% 130px;min-height:calc(100svh - 110px);display:grid;grid-template-columns:1fr 1fr;column-gap:60px;align-content:center}.hero .kicker{grid-column:1}.hero h1{grid-column:1;font-size:clamp(80px,8vw,140px);margin:30px 0}.hero h1 em{margin-left:50px}.hero-art{grid-column:2;grid-row:1/5;height:540px;margin:0;border-radius:280px 280px 40px 40px}.hero-bottom{grid-column:1}.smallnote{grid-column:1}.hero-bottom p{font-size:17px;max-width:280px}.page{max-width:1100px;margin:auto;padding:20px 45px 140px}.page h1{font-size:64px}.product-list{grid-template-columns:repeat(3,1fr);gap:36px 22px}.photo-btn{aspect-ratio:1.2}.product h2{font-size:20px}.booking-page{max-width:650px}.hero-art img{transform:scale(1.5)}dialog{margin:auto;border-radius:30px;max-height:90dvh}.detail-img{height:300px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:374px){.top{padding:20px}.hero,.page{padding-left:20px;padding-right:20px}.hero-art{height:280px}.hero h1{font-size:57px}.hero-bottom{margin-top:20px}.edition{font-size:8px}.hero{padding-top:5px}}

/* Distinct local companion: no overlays, autoplay or external requests. */
.business-mascot{display:block;width:140px;height:152px;object-fit:contain;flex-shrink:0}
.companion-intro{display:flex;align-items:center;gap:20px}.companion-intro>div{min-width:0}
.companion-entry{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font:inherit;text-align:left;flex-shrink:0}.companion-entry img{width:48px;height:52px;object-fit:contain}.companion-entry span{font-size:11px;line-height:1.4}.companion-entry b{display:block;letter-spacing:.08em}
.companion-how{margin-top:18px;font-size:14px;line-height:1.65}.companion-how summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item;padding:10px 0}.companion-how ol{padding-left:22px;margin:8px 0}.companion-how li+li{margin-top:7px}
.companion-entry:focus-visible,.companion-how summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}
@media(max-width:600px){.business-mascot{width:105px;height:114px}.companion-intro{gap:12px}.companion-entry{gap:4px}.companion-entry img{width:39px;height:43px}.companion-entry span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.business-mascot,.companion-entry{animation:none!important;transition:none!important}}

#guide{width:58px;height:58px;display:grid;place-items:center}#guide img{width:48px;height:52px;object-fit:contain}.mascot-stage{height:235px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#e8f1f8,#d8e6ee);overflow:hidden}.mascot-stage .business-mascot{width:200px;height:217px}.lumen-welcome{display:flex;align-items:center;gap:18px;width:100%;padding:18px 0;margin-top:20px;border:0;border-top:1px solid #b8c6d0;border-bottom:1px solid #b8c6d0;background:transparent;color:inherit;text-align:left;cursor:pointer}.lumen-welcome img{width:84px;height:91px;object-fit:contain;flex-shrink:0}.lumen-welcome small{display:block;font-size:9px;letter-spacing:.13em}.lumen-welcome strong{display:block;font-size:20px;font-weight:500;margin:6px 0}.lumen-welcome span span{font-size:12px}.lumen-welcome:focus-visible{outline:3px solid #24466a;outline-offset:5px}
