
@view-transition{navigation:auto}
:root{color-scheme:light;--ink:#14181a;--mut:#465156;--g:#087568;--g2:#06574e;--o:#a84714;--bg:#f4f3ee;--sand:#e9e2d5;
--gl:rgba(255,255,255,.7);--gl2:rgba(255,255,255,.88);--gb:rgba(255,255,255,.8);--line:rgba(20,24,26,.12);--wash:rgba(244,243,238,.84);
--shadow:0 1px 0 rgba(255,255,255,.9) inset,0 18px 40px -18px rgba(18,40,36,.28),0 2px 6px rgba(18,40,36,.06);
--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Segoe UI",system-ui,Roboto,"Helvetica Neue",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif;
--r:26px;--ease:cubic-bezier(.16,1,.3,1);--itg:#0b7f4c}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}a{color:inherit;text-underline-offset:3px}
::selection{background:var(--g);color:var(--on)}
*{caret-color:var(--g);scrollbar-color:#9db8b3 transparent}
::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#9db8b3;border-radius:99px;border:3px solid var(--bg)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--g);outline-offset:3px;border-radius:10px}
.skip{position:fixed;left:12px;top:-70px;background:var(--g);color:var(--on);padding:12px 18px;border-radius:14px;z-index:900;font-weight:600;text-decoration:none}.skip:focus{top:12px}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
h1,h2,h3{line-height:1.06;letter-spacing:-.03em;font-weight:700;text-wrap:balance}
h1{font-size:clamp(2.3rem,5.4vw,4.4rem)}h2{font-size:clamp(1.9rem,3.8vw,3.1rem)}h3{font-size:1.18rem;letter-spacing:-.015em;line-height:1.2}
p{text-wrap:pretty}
em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--g);padding-bottom:.08em;display:inline-block}
.lead{font-size:1.12rem;color:var(--mut);max-width:62ch}
.tag{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--g2);margin-bottom:14px}
section{position:relative;padding:clamp(72px,9vw,120px) 0;isolation:isolate}
.bgph{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--bg)}
.bgph img{width:100%;height:100%;object-fit:cover;filter:blur(20px) saturate(1.2);scale:1.18}
.bgph::after{content:"";position:absolute;inset:0;background:var(--wash)}
.head{max-width:760px;margin-bottom:44px}.head p{margin-top:16px}
/* GLASS */
.glass{position:relative;background:var(--gl);-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);border:1px solid var(--gb);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.glass::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,-30%),rgba(255,255,255,.55),transparent 62%);opacity:var(--go,0);transition:opacity .35s}
.glass:hover{--go:1}
@media(prefers-reduced-transparency:reduce){.glass{background:var(--gl2);-webkit-backdrop-filter:none;backdrop-filter:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass{background:var(--gl2)}}
/* BOTONES */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;font-weight:600;font-size:1rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .35s var(--ease),box-shadow .3s,background .2s,color .2s;font-family:inherit;will-change:transform}
.btn .i{width:20px;height:20px}
.btn.p{background:var(--g);color:var(--on);box-shadow:0 14px 28px -12px rgba(var(--gr),.7),0 1px 0 rgba(255,255,255,.25) inset}.btn.p:hover{background:var(--g2)}
.btn.s{background:var(--gl2);color:var(--ink);border-color:var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.btn.s:hover{background:var(--field)}
.btn:active{scale:.97}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.i{width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ib{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--g);color:var(--on);flex:none}.ib .i{width:24px;height:24px}
/* NAV */
.top{background:var(--topbg);color:var(--topfg);font-size:.82rem;text-align:center;padding:8px 16px;position:relative;z-index:61}.top a{text-underline-offset:3px}
nav.nav{position:sticky;top:10px;z-index:60;margin:10px auto 0;width:min(1200px,100% - 24px)}
nav.nav .in{display:flex;align-items:center;gap:14px;padding:8px 10px 8px 16px;border-radius:999px;overflow:visible}
nav .logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;letter-spacing:-.02em;margin-right:auto}
nav .logo img{width:36px;height:36px;object-fit:contain}
nav ul{display:flex;gap:2px;list-style:none;padding:0}
nav ul a{display:block;padding:9px 13px;border-radius:999px;text-decoration:none;font-size:.92rem;font-weight:500;color:var(--mut);transition:.2s}
nav ul a:hover,nav ul a.on{background:var(--gl2);color:var(--ink)}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--gl2);color:var(--ink);cursor:pointer;place-items:center}
.lang{display:inline-flex;padding:3px;border-radius:999px;background:var(--gl2);border:1px solid var(--line);gap:2px}
.lang a{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;text-decoration:none;font-size:.82rem;font-weight:700;color:var(--mut);min-height:36px}
.lang a[aria-current=true]{background:var(--g);color:var(--on)}.lang a:not([aria-current=true]):hover{background:var(--field)}
.flag{width:20px;height:14px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.prog{position:fixed;left:0;top:0;height:3px;background:var(--g);width:100%;transform-origin:0 50%;scale:0 1;z-index:300}
/* HERO */
.hero{padding:0;min-height:min(880px,100svh - 70px);display:grid;align-items:end;margin-top:-64px;padding-top:64px;color:#fff;overflow:hidden}
.hero .bgph::after{background:linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.04) 42%,rgba(0,0,0,.6))}
.hero .bgph img{filter:none;scale:1}
.kb{position:absolute;inset:0;opacity:0;animation:kb 24s infinite}
.kb:nth-child(2){animation-delay:8s}.kb:nth-child(3){animation-delay:16s}
.kb img{animation:kbz 24s infinite;scale:1.02}.kb:nth-child(2) img{animation-delay:8s}.kb:nth-child(3) img{animation-delay:16s}
@keyframes kb{0%{opacity:0}5%{opacity:1}33%{opacity:1}38%{opacity:0}100%{opacity:0}}
@keyframes kbz{0%{scale:1.02}33%{scale:1.13}100%{scale:1.13}}
.hero .wrap{padding-bottom:clamp(28px,5vw,60px);position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.hpanel{padding:clamp(26px,4vw,46px);max-width:700px;color:var(--ink)}
.hpanel h1{margin-bottom:16px}.hpanel .lead{margin-bottom:26px}
.hw{display:inline-block;opacity:1}
.anim .hw{opacity:0;translate:0 .5em;filter:blur(8px);animation:hw .9s var(--ease) forwards;animation-delay:calc(var(--w)*70ms + 150ms)}
@keyframes hw{to{opacity:1;translate:0 0;filter:none}}
.hside{display:grid;gap:12px;justify-items:end}
.open{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:999px;font-weight:600;font-size:.9rem;color:var(--ink)}
.open i{width:9px;height:9px;border-radius:50%;background:#9aa5a2;display:block}
.open[data-s=on] i{background:#14a84b;box-shadow:0 0 0 0 rgba(20,168,75,.5);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(20,168,75,0)}100%{box-shadow:0 0 0 0 rgba(20,168,75,0)}}
.rate{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;font-weight:600;text-decoration:none;color:var(--ink);font-size:.92rem}
.rate .st{color:#b86e00;letter-spacing:2px}
/* FRANJA */
.strip{padding:0;margin-top:-1px}
.strip .in{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:6px;margin-top:-46px;position:relative;z-index:5}
.strip .it{display:flex;align-items:center;gap:14px;padding:18px 22px;font-weight:600;line-height:1.3}
.strip .it+.it{border-left:1px solid var(--line)}.strip small{display:block;font-weight:500;color:var(--mut);font-size:.84rem}
/* CARTA bento */
.tabs{display:inline-flex;position:relative;padding:5px;border-radius:999px;margin-bottom:26px;gap:2px}
.tabs button{position:relative;z-index:1;border:0;background:none;font:inherit;font-weight:600;padding:10px 24px;border-radius:999px;color:var(--mut);cursor:pointer;min-height:46px;transition:color .25s}
.tabs button[aria-selected=true]{color:var(--on)}
.pill{position:absolute;top:5px;bottom:5px;border-radius:999px;background:var(--g);transition:left .45s var(--ease),width .45s var(--ease)}
.bento{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:16px;min-height:520px}
.dish{padding:10px;display:flex;flex-direction:column;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease)}
.dish:first-child{grid-row:span 2}
.dish .ph{flex:1;min-height:150px;border-radius:18px;overflow:hidden;margin-bottom:14px}
.dish .ph img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.dish:hover .ph img{scale:1.07}.dish h3,.dish p{padding:0 12px}.dish p{color:var(--mut);font-size:.95rem;margin:4px 0 12px}
.dish:first-child h3{font-size:1.5rem}
.cta{margin-top:20px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:20px 26px}.cta p{color:var(--mut);max-width:58ch}
/* GALERIA */
.railwrap{position:relative}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 20px 24px;margin-inline:calc(50% - 50vw);scroll-padding-inline:calc(50vw - 50% + 20px);padding-inline:calc(50vw - 50% + 20px);scrollbar-width:none;cursor:grab}
.rail::-webkit-scrollbar{display:none}.rail.drag{cursor:grabbing;scroll-snap-type:none}
.rail figure{flex:none;width:min(520px,82vw);scroll-snap-align:start}
.rail .fr{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;cursor:zoom-in;border:1px solid var(--gb);box-shadow:var(--shadow);background:var(--sand)}
.rail .fr img{width:100%;height:100%;object-fit:cover;transition:scale .9s var(--ease);user-select:none;-webkit-user-drag:none}.rail .fr:hover img{scale:1.06}
.rail figcaption{padding:12px 6px 0;color:var(--mut);font-size:.92rem}
.rbtn{display:flex;gap:10px;margin-top:6px}.rbtn button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--gl2);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:.3s var(--ease)}.rbtn button:hover{background:var(--g);color:var(--on)}.rbtn .i{width:22px;height:22px}
/* SOL */
.solhero{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;padding:clamp(26px,4vw,52px)}
.itlogo{height:56px;width:auto;margin-bottom:18px;max-width:200px}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.badge{font-size:.86rem;font-weight:700;padding:8px 15px;border-radius:999px;background:var(--g);color:var(--on)}.badge.o{background:var(--gl2);color:var(--ink);border:1px solid var(--line)}
.solbox{position:relative;display:grid;place-items:center;min-height:430px}
.solbox svg{width:min(340px,78%);height:auto;overflow:visible;filter:drop-shadow(0 30px 30px rgba(20,30,28,.28));animation:fl 6.5s ease-in-out infinite}
.solbox::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(var(--gr),.35),transparent 68%);filter:blur(24px)}
@keyframes fl{50%{translate:0 -14px}}
.eye{transition:translate .12s linear}.eyeg{transform-box:fill-box;transform-origin:center;animation:blink 5.5s infinite}
@keyframes blink{0%,94%,100%{scale:1 1}96.5%{scale:1 .08}}
/* STORY pinned */
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,72px);align-items:start}
.pin{position:sticky;top:96px;height:min(78svh,760px)}
.dev{position:relative;height:100%;border-radius:34px;overflow:hidden;box-shadow:0 40px 70px -30px rgba(10,30,26,.55);background:#0c0f0e}
.dev img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;scale:1.04;transition:opacity .7s var(--ease),scale 1.2s var(--ease)}
.dev img.on{opacity:1;scale:1}
.steps{display:grid;gap:0}
.step{min-height:62svh;display:flex;flex-direction:column;justify-content:center;padding:20px 0;opacity:.38;transition:opacity .5s var(--ease)}
.step.on{opacity:1}
.step .ib{margin-bottom:16px}.step h3{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:10px}.step p{color:var(--mut);max-width:48ch;font-size:1.05rem}
.step .shot{display:none}
.fnbento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:20px}
.fnbento .c{padding:26px;display:flex;flex-direction:column;gap:12px}.fnbento .c p{color:var(--mut);font-size:.96rem}
.c1{grid-column:span 3}.c2{grid-column:span 3}.c3{grid-column:span 2}.c4{grid-column:span 2}.c5{grid-column:span 2}
.c.ph{padding:0;min-height:240px}.c.ph img{width:100%;height:100%;object-fit:cover}
.plans{margin-top:20px;display:grid;gap:0;padding:6px 28px}
.plans .pr{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:16px;align-items:baseline;padding:18px 0}.plans .pr+.pr{border-top:1px solid var(--line)}
.plans b{font-size:1.5rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.plans span{color:var(--mut)}
.fine{font-size:.84rem;color:var(--mut);margin-top:14px}
.demo{margin-top:20px;padding:clamp(26px,4vw,48px);text-align:center;display:grid;gap:14px;justify-items:center;background:linear-gradient(135deg,rgba(var(--gd1),.92),rgba(var(--gd2),.96));color:#fff;border-color:rgba(255,255,255,.2)}
.demo .lead{color:#e3f3ef}.demo .btn.p{background:#fff;color:rgb(var(--gd2));box-shadow:0 14px 30px -12px rgba(0,0,0,.4)}.demo .btn.s{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.4)}
/* EVENTOS lista */
.evl{display:grid;gap:0;padding:8px 28px}
.evl .ev{display:grid;grid-template-columns:auto 1.1fr 1.4fr;gap:20px;align-items:center;padding:20px 0}.evl .ev+.ev{border-top:1px solid var(--line)}
.evl p{color:var(--mut)}
/* SERVICIO split */
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(24px,5vw,64px);align-items:center}
.split .ph{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;cursor:zoom-in;border:1px solid var(--gb);box-shadow:var(--shadow)}
.split .ph img{width:100%;height:100%;object-fit:cover}
.chk{list-style:none;padding:0;display:grid;gap:10px;margin:22px 0}.chk li{display:flex;gap:12px;align-items:flex-start;color:var(--ink)}.chk .i{color:var(--g);margin-top:.2em}
/* bento servicios (mac) */
.sbento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.sb{padding:28px;display:flex;flex-direction:column;gap:14px;justify-content:space-between;min-height:230px}.sb p{color:var(--mut);font-size:.96rem}
.sb.big{grid-column:span 3;grid-row:span 2;min-height:480px}.sb.mid{grid-column:span 3}.sb.sm{grid-column:span 2}
.sb .bigi{width:88px;height:88px;color:var(--g);stroke-width:1.2}
.sb.big h3{font-size:2rem}
.sb.tint{background:linear-gradient(160deg,rgba(var(--gd1),.9),rgba(var(--gd2),.95));color:#fff;border-color:rgba(255,255,255,.2)}.sb.tint p{color:#dcefeb}.sb.tint .bigi,.sb.tint .i{color:#fff}
.sb.photo{padding:0;background:var(--sand)}.sb.photo img{width:100%;height:100%;object-fit:cover}
.sym{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.sym span{padding:10px 18px;border-radius:999px;background:var(--gl2);border:1px solid var(--line);font-weight:600;font-size:.94rem}
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:8px}.how .h{padding:28px}.how .h+.h{border-left:1px solid var(--line)}.how h3{margin:14px 0 8px;font-size:1.4rem}.how p{color:var(--mut)}
/* COTIZADOR */
.cot{padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:start}
.cot form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cot label{font-size:.85rem;font-weight:600;color:var(--mut);display:grid;gap:6px}
.cot input,.cot select,.cot textarea{font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:14px;padding:12px 14px;min-height:48px;width:100%;transition:border-color .2s,box-shadow .2s}
.cot input:focus,.cot select:focus,.cot textarea:focus{border-color:var(--g);box-shadow:0 0 0 4px rgba(var(--gr),.16);outline:0}
.cot textarea{grid-column:1/-1;min-height:104px;resize:vertical}.cot .full{grid-column:1/-1}
.chkl{display:flex!important;grid-template-columns:none!important;gap:12px;align-items:flex-start;font-weight:500!important;font-size:.9rem!important}.chkl input{width:22px;min-height:22px;height:22px;margin-top:2px;accent-color:var(--g);flex:none}
/* FAQ */
.faq{display:grid;gap:10px;max-width:860px}
.faq summary{cursor:pointer;list-style:none;padding:20px 26px;font-weight:600;display:flex;justify-content:space-between;gap:16px;min-height:60px;align-items:center}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:1.6rem;color:var(--g);transition:rotate .4s var(--ease);line-height:1}
.faq details[open] summary::after{rotate:45deg}.faq .a{padding:0 26px 22px;color:var(--mut)}
/* VISITA */
.vis{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vis>.glass{padding:30px}
.hor{width:100%;border-collapse:collapse;margin:10px 0 0}.hor td{padding:10px 0;border-bottom:1px solid var(--line)}.hor td:last-child{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.cts{display:grid;gap:10px;margin-top:20px}
.ct{display:flex;gap:14px;align-items:center;padding:12px 16px;border-radius:18px;text-decoration:none;background:var(--gl2);border:1px solid var(--line);transition:.3s var(--ease)}
.ct:hover{translate:4px 0;border-color:var(--g)}
.ct .ib{width:40px;height:40px;border-radius:12px}.ct .ib .i{width:20px;height:20px}.ct .t{display:grid;font-weight:600;line-height:1.25}.ct small{font-weight:500;color:var(--mut);font-size:.8rem}
.map{border-radius:var(--r);overflow:hidden;min-height:380px;display:grid;place-items:center;text-align:center;padding:24px;background:var(--gl2);border:1px solid var(--line)}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
/* FOOTER */
footer{padding:56px 0 110px;background:var(--footbg);color:var(--footfg);font-size:.92rem}
footer .l{max-width:80ch;opacity:.9;margin-bottom:24px}
footer nav{display:flex;flex-wrap:wrap;gap:6px 24px;margin-bottom:20px}
footer a,footer button.lk{color:inherit;background:none;border:0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px 0}
footer .sm{opacity:.75;font-size:.84rem}
/* BARRA MOVIL */
.mbar{display:none}
/* REVEAL */
.anim .rv{opacity:0;translate:0 28px;filter:blur(10px);transition:opacity .9s var(--ease),translate .9s var(--ease),filter .9s var(--ease);transition-delay:var(--d,0ms)}
.anim .rv.in{opacity:1;translate:0 0;filter:none}
/* DIALOG */
dialog{border:0;background:none;max-width:96vw;max-height:94vh;padding:0;overflow:visible}
dialog::backdrop{background:rgba(8,12,11,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
dialog img{max-width:94vw;max-height:86vh;border-radius:20px;margin-inline:auto}
dialog button{position:absolute;right:0;top:-54px}
/* CMP */
[hidden]{display:none!important}
.cmp{position:fixed;z-index:700;left:16px;right:16px;bottom:16px;max-width:780px;margin-inline:auto;padding:24px 26px;border-radius:26px;max-height:92svh;overflow-y:auto;background:var(--gl2)!important;-webkit-backdrop-filter:blur(30px) saturate(1.8)!important;backdrop-filter:blur(30px) saturate(1.8)!important;--go:0}
.cmp h2{font-size:1.2rem;letter-spacing:-.01em;margin-bottom:6px}.cmp p{font-size:.92rem;color:var(--mut)}
.cmp .row{margin-top:16px}.cmp .btn{min-height:48px;padding:0 22px;font-size:.95rem}
.cmp .cats{display:grid;gap:10px;margin-top:14px}
.cat{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 16px;border-radius:16px;background:var(--field);border:1px solid var(--line)}
.cat b{display:block;font-size:.95rem}.cat span{font-size:.84rem;color:var(--mut)}
.sw{position:relative;width:54px;height:32px;flex:none}.sw input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}
.sw i{position:absolute;inset:0;border-radius:99px;background:#aab4b1;transition:.3s}.sw i::after{content:"";position:absolute;left:3px;top:3px;width:26px;height:26px;border-radius:50%;background:#fff;transition:.3s var(--ease);box-shadow:0 2px 4px rgba(0,0,0,.25)}
.sw input:checked+i{background:var(--g)}.sw input:checked+i::after{translate:22px 0}.sw input:disabled{cursor:not-allowed}.sw input:disabled+i{opacity:.6}
.sw input:focus-visible+i{outline:3px solid var(--g);outline-offset:2px}
/* LEGAL */
.legal{padding:48px 0 90px}.legal .doc{padding:clamp(24px,4vw,56px);max-width:920px;margin-inline:auto}
.legal h1{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:8px}.legal h2{font-size:1.4rem;margin:32px 0 10px}.legal p,.legal li{color:var(--mut);margin-bottom:10px}.legal ul{padding-left:22px}.legal a{color:var(--g2);font-weight:600}
.legal table{width:100%;border-collapse:collapse;font-size:.9rem;margin:10px 0;display:block;overflow-x:auto}.legal th,.legal td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--mut)}.legal th{color:var(--ink)}
.legal .meta{font-size:.88rem;color:var(--mut);margin-bottom:20px}
.legal .sumry{background:var(--gl2);border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin:18px 0}
mark.pend{background:#ffe27a;color:#3a2c00;padding:0 6px;border-radius:6px;font-weight:600}
@media(max-width:1020px){.strip .in{grid-template-columns:1fr 1fr}.strip .it:nth-child(3){border-left:0}.strip .it:nth-child(n+3){border-top:1px solid var(--line)}
.solhero,.split,.vis,.cot{grid-template-columns:1fr}.story{grid-template-columns:1fr}.pin{display:none}.step{min-height:0;opacity:1;padding:36px 0}.step .shot{display:block;margin-top:20px;border-radius:26px;overflow:hidden;box-shadow:0 30px 50px -28px rgba(10,30,26,.5)}.step .shot img{width:100%}
.fnbento{grid-template-columns:1fr 1fr}.c1,.c2,.c3,.c4,.c5{grid-column:span 1}.c.ph{grid-column:span 2}.evl .ev{grid-template-columns:auto 1fr}.evl .ev p{grid-column:2}.sbento{grid-template-columns:1fr 1fr}.sb.big,.sb.mid,.sb.sm{grid-column:span 1;grid-row:auto;min-height:0}.sb.big{grid-column:span 2}.how{grid-template-columns:1fr}.how .h+.h{border-left:0;border-top:1px solid var(--line)}.hside{display:none}.bento{grid-template-columns:1fr;grid-template-rows:auto;min-height:0}.dish:first-child{grid-row:auto}.dish .ph{aspect-ratio:4/3;flex:none}}
@media(max-width:760px){body{font-size:16px}nav ul{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;flex-direction:column;padding:10px;border-radius:24px;background:var(--gl2);border:1px solid var(--gb);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}nav ul.open{display:flex}.burger{display:grid}nav .in>.btn{display:none}
.strip .in{grid-template-columns:1fr;margin-top:-30px}.strip .it+.it{border-left:0;border-top:1px solid var(--line)}.strip .it:nth-child(n+3){border-top:1px solid var(--line)}
.fnbento,.plans .pr{grid-template-columns:1fr}.c.ph{grid-column:span 1}.sbento{grid-template-columns:1fr}.sb.big{grid-column:span 1}.cot form{grid-template-columns:1fr}.tabs{display:flex;overflow-x:auto;max-width:100%}.cmp{left:8px;right:8px;bottom:8px;padding:18px}.cmp .btn{flex:1 1 100%}.hero{min-height:92svh}.hpanel{padding:24px}.glass{-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
.mbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;position:fixed;left:10px;right:10px;bottom:10px;z-index:80;padding:8px;border-radius:24px;transition:translate .5s var(--ease)}.mbar .btn{min-height:48px;padding:0 10px;font-size:.92rem}.mbar.hide{translate:0 140%}
.evl .ev{padding:16px 0}.vis>.glass{padding:22px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.kb{opacity:0}.kb:first-child{opacity:1}.rv,.hw{opacity:1!important;translate:none!important;filter:none!important}.step{opacity:1}}
@media(prefers-contrast:more){:root{--mut:#1f2629;--line:rgba(0,0,0,.4)}.glass{background:var(--field)}}
@media(forced-colors:active){.btn.p{border-color:ButtonText}.glass{border-color:CanvasText}}
@media print{.top,nav.nav,.mbar,.cmp,.prog,.hero .bgph{display:none!important}}
:root{--ink:#14181a;--mut:#465156;--gl:rgba(255,255,255,.7);--gl2:rgba(255,255,255,.88);--gb:rgba(255,255,255,.8);--line:rgba(20,24,26,.12);--field:#ffffff;--topbg:#14181a;--topfg:#f4f3ee;--footbg:#14181a;--footfg:#e8ecea;--on:#ffffff;--shadow:0 1px 0 rgba(255,255,255,.9) inset,0 18px 40px -18px rgba(18,40,36,.28),0 2px 6px rgba(18,40,36,.06);--g:#5b7a35;--g2:#455f26;--gr:91,122,53;--gr2:69,95,38;--gd1:71,98,40;--gd2:48,68,27;--bg:#f2f4ea;--sand:#e3e8d3;--wash:rgba(242,244,234,.84)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#eef1ea;--mut:#aab3a6;--gl:rgba(34,40,35,.6);--gl2:rgba(28,33,29,.9);--gb:rgba(255,255,255,.1);--line:rgba(255,255,255,.15);--field:#1b211c;--topbg:#1d231e;--topfg:#e8ecea;--footbg:#080a08;--footfg:#cfd6cb;--shadow:0 1px 0 rgba(255,255,255,.07) inset,0 18px 40px -18px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.3);--g:#b7d48e;--g2:#cfe5ad;--gr:183,212,142;--gr2:150,185,105;--gd1:52,70,30;--gd2:30,44,16;--bg:#101310;--sand:#1a2016;--wash:rgba(16,19,16,.84);--on:#17210c;color-scheme:dark}}:root[data-theme="dark"]{--ink:#eef1ea;--mut:#aab3a6;--gl:rgba(34,40,35,.6);--gl2:rgba(28,33,29,.9);--gb:rgba(255,255,255,.1);--line:rgba(255,255,255,.15);--field:#1b211c;--topbg:#1d231e;--topfg:#e8ecea;--footbg:#080a08;--footfg:#cfd6cb;--shadow:0 1px 0 rgba(255,255,255,.07) inset,0 18px 40px -18px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.3);--g:#b7d48e;--g2:#cfe5ad;--gr:183,212,142;--gr2:150,185,105;--gd1:52,70,30;--gd2:30,44,16;--bg:#101310;--sand:#1a2016;--wash:rgba(16,19,16,.84);--on:#17210c;color-scheme:dark}/* ===== Sol ===== */
.solbox{--ex:0px;--ey:0px;--rz:0deg;min-height:460px}
.solbox::before{width:360px;height:360px}
.sol{position:relative;width:min(330px,78%);aspect-ratio:754/1207;animation:fl 6.5s ease-in-out infinite;filter:drop-shadow(0 30px 28px rgba(20,30,28,.3))}
.sol .p{position:absolute;left:0;width:100%;height:auto}
.sol .body,.sol .armL,.sol .armR{top:43.66%}
.sol .head{top:0;rotate:var(--rz);transition:rotate .25s ease-out;transform-origin:50% 90%}
.sol .head img,.sol .head svg{position:absolute;left:0;top:0;width:100%;height:auto}
.sol .armL{transform-origin:17% 55%;animation:armL 5.2s ease-in-out infinite}
.sol .armR{transform-origin:84% 56%;animation:armR 5.2s ease-in-out infinite}
@keyframes armL{50%{rotate:3.2deg}}@keyframes armR{50%{rotate:-3.2deg}}
.sol .eyes{translate:var(--ex) var(--ey);transition:translate .18s ease-out}
.sol .eyeg{transform-box:fill-box;transform-origin:center;animation:blink 5.5s infinite}
@keyframes blink{0%,94%,100%{scale:1 1}96.5%{scale:1 .08}}
.sol .smile{animation:smile 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes smile{50%{scale:1.12 1.25}}
.solhero h2{font-size:clamp(1.8rem,3.4vw,2.7rem)}
@media(max-width:1020px){.solbox{min-height:380px}}
/* ===== varios ===== */
.hside .glass{box-shadow:var(--shadow)}
.open span{display:inline}.rate b{font-variant-numeric:tabular-nums}
.fnbento .c.c3,.fnbento .c.c4,.fnbento .c.c5{grid-column:span 2}
@media(max-width:1020px){.fnbento .c.c3,.fnbento .c.c4,.fnbento .c.c5{grid-column:span 1}.fnbento .c.c5{grid-column:span 2}}
@media(max-width:760px){.fnbento .c.c5{grid-column:span 1}}
.dev img{object-fit:contain;background:#0c0f0e}
.mag{transition:translate .25s var(--ease),transform .35s var(--ease),box-shadow .3s,background .2s}
.sb.photo{padding:0;min-height:230px;cursor:zoom-in}.sb.photo img{width:100%;height:100%;object-fit:cover}
.sb.big{justify-content:space-between}
.how .ib{margin-bottom:6px}
.legal .doc h1{margin-bottom:6px}
.itlogo{display:block}
.rail{padding-block:6px 24px}
.hpanel .lead{max-width:56ch}
.top a{color:#fff}
main:focus{outline:0}
.btn.s .i{color:var(--g2)}
.strip .it .ib{width:42px;height:42px;border-radius:14px}
.bento{grid-template-rows:repeat(2,minmax(260px,1fr))}
.dish .ph{position:relative;flex:1;min-height:160px}
.dish .ph img{position:absolute;inset:0}
@media(max-width:1020px){.bento{grid-template-rows:none}.dish .ph{aspect-ratio:4/3;flex:none}}
@media(max-width:1020px){.step .shot{aspect-ratio:4/5;max-height:440px;background:#0c0f0e}.step .shot img{width:100%;height:100%;object-fit:cover}}
nav .logo img{width:auto;height:36px}
.legal .tw{overflow-x:auto}.legal table{display:table;min-width:640px}

/* ===== tema, redes y reseñas ===== */
.tbtn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--gl2);color:var(--ink);display:grid;place-items:center;cursor:pointer;flex:none}
.tbtn .i{width:20px;height:20px;grid-area:1/1}.tbtn .t-sun{display:none}
:root[data-theme="dark"] .tbtn .t-moon{display:none}:root[data-theme="dark"] .tbtn .t-sun{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tbtn .t-moon{display:none}:root:not([data-theme="light"]) .tbtn .t-sun{display:block}}
.bi{width:1.25em;height:1.25em;fill:currentColor;stroke:none;flex:none}
.bt{color:#fff}.bt.wa{background:#25d366}.bt.fb{background:#1877f2}.bt.tt{background:#010101;box-shadow:0 0 0 1px rgba(255,255,255,.28)}
.bt.ig{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.bt.g{background:#fff;color:#4285f4;box-shadow:0 0 0 1px rgba(0,0,0,.14)}
.ib.bt .bi{width:22px;height:22px}
.soc{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.soc a{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;transition:transform .35s var(--ease)}
.soc a:hover{transform:translateY(-4px) scale(1.06)}.soc .bi{width:24px;height:24px}
.fsoc .soc{margin-top:6px}
.rev{padding:clamp(26px,4vw,48px);display:grid;grid-template-columns:auto 1fr auto;gap:clamp(18px,3vw,36px);align-items:center}
.gtile{width:84px;height:84px;border-radius:26px;display:grid;place-items:center;background:#fff;color:#4285f4;box-shadow:0 0 0 1px rgba(0,0,0,.1),var(--shadow)}.gtile .bi{width:44px;height:44px}
.rev .big{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;margin-top:10px;font-weight:600}.rev .big b{font-size:2.2rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.rev .st{color:#b86e00;letter-spacing:3px}
@media(max-width:1020px){.rev{grid-template-columns:1fr}}
.top a{color:var(--topfg)}
[data-theme="dark"] .glass::before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,-30%),rgba(255,255,255,.12),transparent 62%)}
[data-theme="dark"] .hw,[data-theme="dark"] em{color:inherit}
:root[data-theme="dark"] .itlogo{background:#f4f5ee;padding:10px 16px;border-radius:18px;height:auto;width:auto;max-height:76px;box-sizing:content-box}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .itlogo{background:#f4f5ee;padding:10px 16px;border-radius:18px;max-height:76px;box-sizing:content-box}}
:root[data-theme="dark"] nav .logo img{background:#f2f2ee;border-radius:11px;padding:3px 6px;box-sizing:content-box}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) nav .logo img{background:#f2f2ee;border-radius:11px;padding:3px 6px;box-sizing:content-box}}
