/* La Laguna · Centro Canino — site.css v2.0 (nov. 2026) · dirección de arte premium */
@font-face{font-family:"Big Shoulders";src:url("../fonts/BigShoulders-800.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Big Shoulders";src:url("../fonts/BigShoulders-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../fonts/InstrumentSerif-Italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Geist";src:url("../fonts/Geist-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Geist";src:url("../fonts/Geist-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Geist";src:url("../fonts/Geist-600.woff2") format("woff2");font-weight:600;font-display:swap}
:root{
  --laguna:#0F5F63;--laguna-oscuro:#083E42;--noche:#062E31;--agua:#3FB8AC;--agua-clara:#BFE8E2;--barro:#C96A3B;--arena:#F4EFE6;--arena-clara:#FAF7F2;--carbon:#1F2423;--blanco:#fff;
  --ink:#1F2423;--ink-60:rgba(31,36,35,.62);--ink-30:rgba(31,36,35,.3);--line:rgba(31,36,35,.12);--line-w:rgba(255,255,255,.14);
  --f-display:"Big Shoulders","Arial Narrow",Impact,sans-serif;--f-accent:"Instrument Serif",Georgia,serif;--f-text:"Geist",Inter,Arial,sans-serif;
  --d0:clamp(4rem,11vw,10.5rem);--d1:clamp(3rem,7vw,6.6rem);--d2:clamp(2.2rem,4.4vw,4rem);--d3:clamp(1.6rem,2.4vw,2.2rem);
  --r-s:12px;--r-m:22px;--r-l:36px;--gutter:clamp(18px,4.5vw,64px);--maxw:1320px;
  --shadow:0 24px 60px rgba(6,46,49,.16);--ease:cubic-bezier(.22,.8,.26,1);--ease-out:cubic-bezier(.16,1,.3,1);
  --grad-laguna:linear-gradient(160deg,#062E31 0%,#0F5F63 55%,#1E8A86 100%);
}
@view-transition{navigation:auto}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}
body{margin:0;font-family:var(--f-text);color:var(--ink);background:var(--arena-clara);line-height:1.6;font-size:1.02rem;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1}
.d0,.d1,.d2,.d3{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:.9;text-wrap:balance;font-feature-settings:"case"}
.d0{font-size:var(--d0)}.d1{font-size:var(--d1)}.d2{font-size:var(--d2);line-height:.92}.d3{font-size:var(--d3)}
.ac{font-family:var(--f-accent);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:1.08em;line-height:.9}
.lbl{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--laguna)}
.inv .lbl,.dark .lbl{color:var(--agua)}
p{margin:0 0 1em}.lead{font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.5;font-weight:400}.muted{color:var(--ink-60)}
.wrap{width:min(var(--maxw),100% - 2*var(--gutter));margin-inline:auto}
section{padding:clamp(72px,10vw,140px) 0;position:relative}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ic{width:1.2em;height:1.2em;flex:none;vertical-align:middle}
.num{font-family:var(--f-display);font-weight:600;letter-spacing:-.01em;line-height:.9}
/* Grain + ripples */
.grain{position:relative}.grain::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;mix-blend-mode:overlay;z-index:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:220px 220px}
.grain>*{position:relative;z-index:1}
.ripples{position:absolute;pointer-events:none;z-index:0;opacity:.28}
.dark{background:var(--noche);color:#fff}.dark .muted{color:rgba(255,255,255,.72)}
.ring{border-radius:50%;overflow:hidden;position:relative;box-shadow:0 0 0 clamp(8px,1.2vw,16px) rgba(63,184,172,.22),0 0 0 clamp(18px,2.6vw,34px) rgba(63,184,172,.10)}
.ring img{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.5em;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;border:1.5px solid transparent;transition:transform .3s var(--ease),background .25s,color .25s,border-color .25s;cursor:pointer;line-height:1;white-space:nowrap;position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.12);transform:translateY(100%);transition:transform .35s var(--ease);z-index:-1}
.btn:hover::after{transform:none}
.btn-barro{background:var(--barro);color:#fff}.btn-laguna{background:var(--laguna);color:#fff}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}.btn-ghost:hover{border-color:#fff}
.btn-outline{background:transparent;color:var(--laguna);border-color:rgba(15,95,99,.5)}.btn-outline:hover{border-color:var(--laguna)}
.btn-wa .ic{width:1.3em;height:1.3em}
.mag{will-change:transform}
/* Chips */
.chip{display:inline-flex;align-items:center;gap:.45em;padding:.5em 1em;border-radius:999px;font-size:.8rem;font-weight:600;border:1.5px solid rgba(63,184,172,.55);color:var(--laguna);white-space:nowrap;background:transparent}
.chip.inv{border-color:rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(6px)}
.chip.fill{background:rgba(63,184,172,.14);border-color:transparent}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
/* Cursor */
.cur{position:fixed;left:0;top:0;width:10px;height:10px;border-radius:50%;background:var(--agua);pointer-events:none;z-index:999;transform:translate(-50%,-50%);mix-blend-mode:difference;display:none}
.cur2{position:fixed;left:0;top:0;width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(63,184,172,.7);pointer-events:none;z-index:998;transform:translate(-50%,-50%);transition:width .3s,height .3s,opacity .3s;display:none}
@media (pointer:fine){.cur,.cur2{display:block}body.hov .cur2{width:64px;height:64px;opacity:.6}}
/* Progress bar (CSS scroll-driven, progressive) */
.prog{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--agua);transform-origin:left;transform:scaleX(0);z-index:70}
@supports (animation-timeline:scroll()){.prog{animation:prog linear both;animation-timeline:scroll(root)}@keyframes prog{to{transform:scaleX(1)}}}
/* Preloader */
.pre{position:fixed;inset:0;background:var(--noche);z-index:200;display:grid;place-items:center;color:#fff}
.pre svg{width:120px;margin-inline:auto}.pre .w{font-family:var(--f-accent);font-style:italic;font-size:1.4rem;opacity:0;margin-top:14px;text-align:center}
body.loaded .pre{display:none}
/* Header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:60;height:84px;display:flex;align-items:center;transition:background .4s,box-shadow .4s,height .4s,transform .4s var(--ease)}
.hdr.hide{transform:translateY(-100%)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.hdr .logo{display:block;height:48px}.hdr .logo svg{height:100%;width:auto}
.hdr .logo-dark{display:none}
.hdr.solid{background:rgba(250,247,242,.82);backdrop-filter:blur(16px) saturate(140%);box-shadow:0 1px 0 var(--line);height:70px}
.hdr.solid .logo-light{display:none}.hdr.solid .logo-dark{display:block}
.hdr.solid .nav a{color:var(--ink)}.hdr.solid .burger span{background:var(--ink)}
.nav{display:flex;align-items:center;gap:clamp(.8rem,1.6vw,1.5rem)}
.nav a{color:#fff;text-decoration:none;font-weight:500;font-size:.92rem;opacity:.92;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:var(--agua);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.nav .btn{margin-left:.4rem;padding:.75em 1.2em;font-size:.88rem}
.burger{display:none;width:46px;height:46px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center;padding:0}
.burger span{display:block;width:26px;height:1.5px;background:#fff;transition:.3s}
.menu{position:fixed;inset:0;background:var(--noche);z-index:55;display:flex;flex-direction:column;justify-content:center;padding:var(--gutter);clip-path:circle(0% at calc(100% - 40px) 40px);transition:clip-path .7s var(--ease)}
.menu.open{clip-path:circle(150% at calc(100% - 40px) 40px)}
.menu a{color:#fff;text-decoration:none;font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(2.6rem,10vw,5rem);line-height:1;letter-spacing:-.005em}
.menu a i{font-family:var(--f-accent);font-style:italic;text-transform:none;font-weight:400;color:var(--agua)}
.menu .small{font-family:var(--f-text);font-size:.95rem;margin-top:2rem;opacity:.75}
body.menu-open{overflow:hidden}
@media (max-width:980px){.nav{display:none}.burger{display:flex}}
/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;padding:0 0 clamp(40px,7vh,88px);background:var(--noche)}
.hero canvas,.hero .slides{position:absolute;inset:0;width:100%;height:100%}
.hero .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease}
.hero .slide.on{opacity:1}
.hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,46,49,.45) 0%,rgba(6,46,49,.08) 40%,rgba(6,46,49,.85) 100%)}
.hero .wrap{position:relative;z-index:2;display:grid;gap:1.4rem}
.hero .d0{max-width:9ch}.hero .d0 .ac{color:var(--agua)}
.hero .lead{max-width:46ch;color:rgba(255,255,255,.88)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:.75rem}
.hero .foot{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:1.4rem;flex-wrap:wrap}
.hero .cue{width:28px;opacity:.75;animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.hero-sm{min-height:72svh;padding-top:130px}
.hero-sm .d1 .ac{color:var(--agua)}
/* Marquee sellos */
.mq{background:var(--laguna);color:#fff;padding:1rem 0;overflow:hidden;border-top:1px solid var(--line-w);border-bottom:1px solid var(--line-w)}
.mq .track{display:flex;gap:3rem;width:max-content;animation:mq 40s linear infinite}
.mq .s{display:flex;align-items:center;gap:.7rem;font-weight:500;font-size:.95rem;white-space:nowrap}
.mq .s .ic{color:var(--agua);width:1.5em;height:1.5em}.mq .s i{font-family:var(--f-accent);font-style:italic;color:var(--agua-clara)}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mq .track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}
/* Statement */
.stmt{overflow:hidden}.stmt .d2{max-width:22ch;color:var(--laguna)}
.stmt .cols{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,5vw,80px);align-items:end}
.stmt .ringwrap{width:min(100%,380px);justify-self:end}
@media (max-width:900px){.stmt .cols{grid-template-columns:1fr}.stmt .ringwrap{justify-self:start;width:min(60%,300px)}}
/* Cifras */
.cifras{background:var(--noche);color:#fff;overflow:hidden}
.cifras .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.cifras .c .num{font-size:clamp(3.6rem,7.6vw,7.4rem);color:#fff;white-space:nowrap}
.cifras .c .num i{font-family:var(--f-accent);font-style:italic;font-weight:400;color:var(--agua);font-size:.7em}
.cifras .c p{margin:.4rem 0 0;color:rgba(255,255,255,.7);max-width:22ch;font-size:.95rem}
@media (max-width:900px){.cifras .grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.cifras .grid{grid-template-columns:1fr}}
/* Section head */
.sh{display:grid;gap:.9rem;max-width:64ch;margin-bottom:clamp(32px,5vw,64px)}
.sh.center{text-align:center;margin-inline:auto}
.sh .d2{color:var(--laguna)}.sh .d2 .ac{color:var(--barro)}
.dark .sh .d2,.dia .sh .d2{color:#fff}.dark .sh .d2 .ac,.dia .sh .d2 .ac{color:var(--agua)}
/* Services horizontal */
.svcs{background:var(--arena);padding:0;overflow:hidden}
.svcs .pin{height:100vh;display:flex;flex-direction:column;justify-content:center;gap:2rem}
.svcs .head{padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:end;gap:2rem}
.svcs .rail{display:flex;gap:clamp(14px,1.8vw,24px);padding:0 var(--gutter);width:max-content}
.sc{width:clamp(300px,34vw,460px);min-height:clamp(380px,52vh,520px);border-radius:var(--r-m);background:#fff;padding:clamp(22px,2.4vw,34px);display:flex;flex-direction:column;gap:.8rem;text-decoration:none;color:inherit;position:relative;overflow:hidden;box-shadow:0 1px 0 var(--line);transition:transform .4s var(--ease),box-shadow .4s}
.sc:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.sc .ring{width:clamp(96px,10vw,140px);position:absolute;right:clamp(22px,2.4vw,34px);top:clamp(22px,2.4vw,34px);box-shadow:0 0 0 8px rgba(63,184,172,.2)}
.sc .n{font-family:var(--f-display);font-weight:600;font-size:3rem;color:var(--agua);line-height:.9}
.sc h3{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:2.1rem;line-height:.95;margin-top:auto;color:var(--laguna);max-width:9ch}
.sc h3 i{font-family:var(--f-accent);font-style:italic;text-transform:none;font-weight:400;color:var(--barro)}
.sc p{margin:0;color:var(--ink-60);font-size:.95rem}
.sc .more{font-weight:600;color:var(--barro);display:inline-flex;align-items:center;gap:.4em;font-size:.9rem;margin-top:.4rem}
.sc.dark{background:var(--noche);color:#fff}.sc.dark h3{color:#fff}.sc.dark p{color:rgba(255,255,255,.75)}.sc.dark .more{color:var(--agua)}
.sc.laguna{background:var(--laguna);color:#fff}.sc.laguna h3{color:#fff}.sc.laguna h3 i{color:var(--agua-clara)}.sc.laguna p{color:rgba(255,255,255,.8)}.sc.laguna .more{color:#fff}
@media (max-width:900px),(prefers-reduced-motion:reduce){.svcs{padding:clamp(72px,10vw,140px) 0}.svcs .pin{height:auto}.svcs .rail{width:auto;flex-direction:column;padding:0 var(--gutter)}.sc{width:100%;min-height:0}}
/* Day timeline */
.dia{background:var(--noche);color:#fff;overflow:hidden}
.dia .cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:start}
.dia .ph{padding:1.6rem 0;border-top:1px solid var(--line-w);display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:start;opacity:.35;transition:opacity .4s}
.dia .ph.on{opacity:1}
.dia .ph .t{font-family:var(--f-display);font-weight:600;font-size:2.2rem;color:var(--agua);line-height:1;min-width:3.2ch}
.dia .ph h3{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:1.8rem;line-height:.95;margin-bottom:.4rem}
.dia .ph p{margin:0;color:rgba(255,255,255,.72);font-size:.95rem}
.dia .sticky{position:sticky;top:120px}
.dia .frame{position:relative;width:min(100%,520px);aspect-ratio:1;margin-inline:auto}
.dia .frame .ring{position:absolute;inset:0;opacity:0;transition:opacity .6s,transform .8s var(--ease);transform:scale(.96)}
.dia .frame .ring.on{opacity:1;transform:none}
@media (max-width:900px){.dia .cols{grid-template-columns:1fr}.dia .sticky{position:static}.dia .frame{width:min(100%,360px)}}
/* Hoy */
.hoy .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(12px,1.6vw,20px)}
.hoy .item{border-radius:var(--r-m);padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;gap:.8rem;background:#fff;border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s}
.hoy .item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.hoy .item .n{font-family:var(--f-display);font-weight:600;font-size:2.4rem;color:var(--agua);line-height:.9}
.hoy .item h3{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:1.7rem;line-height:.95;color:var(--laguna)}
.hoy ul{margin:0;padding-left:1.1em;color:var(--ink-60);font-size:.93rem;display:grid;gap:.25em}
.hoy .item .btn{align-self:flex-start;margin-top:auto}
/* Instalaciones */
.inst{padding:0;overflow:hidden;background:var(--noche);color:#fff;min-height:90vh;display:grid;align-items:center}
.inst .bg{position:absolute;inset:-12% 0;background-size:cover;background-position:center;will-change:transform}
.inst .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,46,49,.92) 0%,rgba(6,46,49,.55) 60%,rgba(6,46,49,.2) 100%)}
.inst .wrap{position:relative;z-index:1;padding:clamp(72px,10vw,140px) 0;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.feat{display:grid;gap:1.1rem;margin:1.6rem 0 0;padding:0;list-style:none}
.feat li{display:flex;gap:1rem;align-items:flex-start}
.feat .ic{width:1.9em;height:1.9em;color:var(--agua);flex:none}
.feat b{display:block;font-size:1.05rem;font-weight:600}.feat span{color:rgba(255,255,255,.72);font-size:.93rem}
.inst .rings{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;justify-items:center;align-items:center}
.inst .rings .ring{width:100%}.inst .rings .ring:nth-child(2){transform:translateY(40%)}
@media (max-width:900px){.inst .wrap{grid-template-columns:1fr}.inst .rings{display:none}}
/* Opiniones */
.op{overflow:hidden}
.op .track{display:flex;gap:1.2rem;width:max-content;animation:mq 60s linear infinite;padding-left:var(--gutter)}
.op .track:hover{animation-play-state:paused}
.q{width:min(80vw,420px);background:#fff;border-radius:var(--r-m);padding:clamp(22px,2.4vw,30px);display:flex;flex-direction:column;gap:.9rem;border:1px dashed rgba(201,106,59,.45)}
.q .mark{font-family:var(--f-accent);font-style:italic;font-size:3.4rem;line-height:.5;color:var(--barro)}
.q p{margin:0;font-family:var(--f-accent);font-style:italic;font-size:1.25rem;line-height:1.35}.q footer{font-size:.85rem;color:var(--ink-60);font-weight:600}
@media (prefers-reduced-motion:reduce){.op .track{animation:none;flex-wrap:wrap;width:auto}}
/* FAQ */
.faq details{border-top:1px solid var(--line);padding:0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:1.3rem 0;font-weight:600;font-size:1.08rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-display);font-weight:600;font-size:1.8rem;color:var(--barro);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 1.3rem;color:var(--ink-60);margin:0;max-width:70ch}
/* Donde */
.donde .cols{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,5vw,72px);align-items:stretch}
.estado{display:inline-flex;align-items:center;gap:.5rem;padding:.5em 1em;border-radius:999px;font-weight:600;font-size:.88rem;background:rgba(63,184,172,.16);color:var(--laguna)}
.estado .dot{width:.65em;height:.65em;border-radius:50%;background:var(--agua);box-shadow:0 0 0 0 rgba(63,184,172,.6);animation:pulse 2s infinite}
@keyframes pulse{to{box-shadow:0 0 0 .6em rgba(63,184,172,0)}}
.estado.off{background:rgba(201,106,59,.14);color:var(--barro)}.estado.off .dot{background:var(--barro);animation:none}
.map{border-radius:var(--r-m);overflow:hidden;min-height:380px;background:#dfe7e6;position:relative}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block;filter:saturate(.7)}
.dl{display:grid;gap:1rem;margin:1.4rem 0}
.dl div{display:flex;gap:.9rem;align-items:flex-start}.dl .ic{color:var(--laguna);width:1.5em;height:1.5em;margin-top:.1em}
.dl b{display:block;font-weight:600}.dl span{color:var(--ink-60);font-size:.95rem}
.hor{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;font-size:.95rem}
@media (max-width:900px){.donde .cols{grid-template-columns:1fr}}
/* Band CTA */
.band{background:var(--grad-laguna);color:#fff;position:relative;overflow:hidden}
.band .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center;position:relative;z-index:1}
.band .wm{position:absolute;right:-6%;bottom:-24%;width:46%;opacity:.08;pointer-events:none}
.band .ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
.band .qrbox{justify-self:end;background:rgba(255,255,255,.08);border:1px solid var(--line-w);border-radius:var(--r-m);padding:1.3rem;display:flex;gap:1rem;align-items:center;backdrop-filter:blur(6px)}
.band .qrbox svg{width:110px;height:110px}.band .qrbox small{display:block;opacity:.75;font-size:.8rem}
.band .d1{color:#fff}.band .d1 .ac{color:var(--agua)}
@media (max-width:800px){.band .wrap{grid-template-columns:1fr}.band .qrbox{justify-self:start}}
/* Footer */
.ftr{background:var(--carbon);color:rgba(255,255,255,.78);padding:clamp(48px,7vw,88px) 0 28px;font-size:.92rem}
.ftr .top{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:2.5rem}
.ftr .top .big{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(2.6rem,6vw,5rem);line-height:.9;color:#fff}
.ftr .top .big i{font-family:var(--f-accent);font-style:italic;text-transform:none;font-weight:400;color:var(--agua)}
.ftr .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
.ftr h4{color:#fff;font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}
.ftr a{color:inherit;text-decoration:none}.ftr a:hover{color:var(--agua)}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.ftr .logo svg{height:56px;width:auto}
.ftr .legal{margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:space-between;font-size:.8rem;color:rgba(255,255,255,.5)}
.ftr .soc{display:flex;gap:.6rem;margin-top:1rem}.ftr .soc a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;transition:background .3s}.ftr .soc a:hover{background:rgba(255,255,255,.1)}
@media (max-width:900px){.ftr .cols{grid-template-columns:1fr 1fr}}@media (max-width:560px){.ftr .cols{grid-template-columns:1fr}}
/* WhatsApp floating */
.wa-fab{position:fixed;right:18px;bottom:18px;z-index:50;width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .3s var(--ease)}
.wa-fab:hover{transform:scale(1.06)}.wa-fab .ic{width:30px;height:30px}
/* Service landing */
.svc{overflow:hidden}.svc .cols{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,80px);align-items:start}
.svc .pts{list-style:none;margin:1.2rem 0;padding:0;display:grid;gap:.6rem}
.svc .pts li{display:flex;gap:.7rem;align-items:flex-start}.svc .pts .ic{color:var(--agua);flex:none;margin-top:.15em;width:1.4em;height:1.4em}
.svc .side{position:sticky;top:100px;display:grid;gap:1rem}
.svc .side .box{background:#fff;border-radius:var(--r-m);padding:clamp(20px,2.2vw,28px);display:grid;gap:.6rem;border:1px solid var(--line)}
.svc .side .box h3{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:1.6rem;color:var(--laguna)}
.svc .side .ringwrap{width:min(100%,340px);margin-inline:auto}
.svc .side .btn{justify-content:center}
@media (max-width:900px){.svc .cols{grid-template-columns:1fr}.svc .side{position:static}}
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem}
.tabs a{text-decoration:none;padding:.6em 1.15em;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:600;font-size:.88rem;color:var(--ink)}
.tabs a:hover,.tabs a.on{background:var(--laguna);color:#fff;border-color:var(--laguna)}
.prose{max-width:72ch}.prose h2{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:var(--d3);color:var(--laguna);margin:2.2rem 0 .7rem;line-height:.95}.prose h2 i{font-family:var(--f-accent);font-style:italic;text-transform:none;font-weight:400;color:var(--barro)}.prose h3{font-weight:600;font-size:1.1rem;margin:1.5rem 0 .4rem}.prose ul{padding-left:1.2em}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose td,.prose th{border-bottom:1px solid var(--line);padding:.6em .4em;text-align:left;vertical-align:top}
.svclist{display:grid;gap:1.2rem}
.svcrow{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;background:#fff;border-radius:var(--r-m);padding:clamp(20px,2.4vw,32px);border:1px solid var(--line)}
.svcrow .ring{width:120px}
.svcrow h3{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:2rem;color:var(--laguna);line-height:.95;margin-bottom:.3rem}
.svcrow .fact{display:flex;flex-direction:column;gap:.6rem}
@media (max-width:800px){.svcrow{grid-template-columns:1fr}.svcrow .ring{width:96px}}
/* Form */
.form{background:#fff;border-radius:var(--r-l);padding:clamp(22px,3vw,44px);box-shadow:var(--shadow);border:1px solid var(--line)}
.stepper{display:flex;gap:.6rem;align-items:center;margin-bottom:1.6rem;font-size:.85rem;font-weight:600;color:var(--ink-60)}
.stepper b{width:30px;height:30px;border-radius:50%;background:var(--arena);display:grid;place-items:center;color:var(--laguna);font-family:var(--f-display);font-size:1.1rem}
.stepper .on b{background:var(--laguna);color:#fff}
.fstep{display:none}.fstep.on{display:block}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem;margin:.6rem 0 1.2rem}
.opt{position:relative}.opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opt label{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:1.5px solid var(--line);border-radius:var(--r-s);cursor:pointer;height:100%;transition:border-color .2s,background .2s}
.opt label .ic{width:1.6em;height:1.6em;color:var(--laguna)}.opt label b{font-size:.95rem;font-weight:600}
.opt input:checked+label{border-color:var(--laguna);background:rgba(63,184,172,.1)}
.fld{display:grid;gap:.35rem;margin-bottom:1rem}.fld label{font-weight:600;font-size:.82rem;letter-spacing:.04em}
.fld input,.fld select,.fld textarea{font:inherit;padding:.85em 1em;border:1.5px solid var(--line);border-radius:var(--r-s);background:var(--arena-clara);width:100%}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;border-color:var(--agua);background:#fff}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width:600px){.frow{grid-template-columns:1fr}}
.chk{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--ink-60);margin:.6rem 0 1.2rem}.chk input{margin-top:.3em}
.fact{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.ok{display:none;text-align:center;padding:2rem 0}.ok.on{display:block}
/* Reveal */
.rv{opacity:0;transform:translateY(28px)}
.split .line{overflow:hidden}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
/* Cookie bar */
.ck{position:fixed;left:18px;right:18px;bottom:18px;z-index:80;background:#fff;border-radius:var(--r-m);padding:1rem 1.2rem;box-shadow:var(--shadow);display:none;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:.9rem;max-width:720px;margin-inline:auto;border:1px solid var(--line)}
.ck.on{display:flex}
/* 404 */
.p404{min-height:100svh;display:grid;place-items:center;text-align:center;background:var(--noche);color:#fff;padding:var(--gutter)}
.p404 svg{width:160px;margin-inline:auto}
/* Mosaic + bento */
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}
.mosaic figure{margin:0;border-radius:var(--r-m);overflow:hidden;position:relative}
.mosaic figure:first-child{grid-row:span 2;grid-column:span 2}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.mosaic figure:hover img{transform:scale(1.05)}
@media (max-width:800px){.mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.6vw,20px)}
.card{position:relative;border-radius:var(--r-m);background:#fff;padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;gap:.7rem;overflow:hidden;border:1px solid var(--line);text-decoration:none;color:inherit;min-height:220px;transition:transform .35s var(--ease),box-shadow .35s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card .ico{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(63,184,172,.5);color:var(--laguna);display:grid;place-items:center}
.card h3{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:1.8rem;color:var(--laguna);line-height:.95}
.card p{margin:0;color:var(--ink-60);font-size:.95rem}
.card.big{grid-column:span 7;grid-row:span 2;color:#fff;background:var(--noche);justify-content:flex-end;min-height:540px}
.card.big picture,.card.big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform 1.2s var(--ease)}
.card.big:hover img{transform:scale(1.04)}
.card.big::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,46,49,.15) 0%,rgba(6,46,49,.5) 45%,rgba(6,46,49,.96) 100%)}
.card.big>*{position:relative;z-index:1}.card.big picture{z-index:0}.card.big .ico{margin-top:auto;border-color:rgba(255,255,255,.4);color:#fff}.card.big h3{color:#fff;font-size:2.6rem}.card.big p{color:rgba(255,255,255,.85)}
.card.c5{grid-column:span 5}.card.c4{grid-column:span 4}.card.c6{grid-column:span 6}.card.c12{grid-column:span 12}
.card.tint{background:var(--laguna);color:#fff}.card.tint h3{color:#fff}.card.tint p{color:rgba(255,255,255,.85)}.card.tint .ico{border-color:rgba(255,255,255,.4);color:#fff}
.card.barro{background:var(--barro);color:#fff}.card.barro h3{color:#fff}.card.barro p{color:rgba(255,255,255,.9)}.card.barro .ico{border-color:rgba(255,255,255,.5);color:#fff}
@media (max-width:960px){.card.big{grid-column:span 12;min-height:480px}.card.c5,.card.c4,.card.c6{grid-column:span 6}}
@media (max-width:600px){.card.c5,.card.c4,.card.c6{grid-column:span 12}}
