/* Agua Global v3 "Inmersión" — 2026 | Desarrollado por InnovaLink de WeCreate Group */
@font-face{font-family:Goldplay;src:url(../fonts/goldplay-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Goldplay;src:url(../fonts/goldplay-medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Goldplay;src:url(../fonts/goldplay-semibold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Goldplay;src:url(../fonts/goldplay-bold.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  /* Profundidades */
  --superficie:#eef9fe;
  --orilla:#cdeffc;      /* celeste de marca aclarado */
  --celeste:#b3e8fc;
  --cian:#09b5f7;
  --marca:#002a62;
  --hondo:#001b40;
  --abismo:#000d20;
  --tinta:#04213f;
  --max:1280px;
  --gut:clamp(20px,4.5vw,64px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--abismo)}
body{font-family:Goldplay,"Helvetica Neue",Arial,sans-serif;font-size:18px;line-height:1.6;color:var(--tinta);background:var(--superficie);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--cian);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{font-weight:700;letter-spacing:-.03em;line-height:1}
p{max-width:40em}

/* Capas de profundidad */
.d0{background:var(--superficie);color:var(--tinta)}
.d1{background:var(--orilla);color:var(--tinta)}
.d2{background:var(--cian);color:var(--abismo)}
.d3{background:var(--marca);color:#d8ecfa}
.d4{background:var(--hondo);color:#c4dcf2}
.d5{background:var(--abismo);color:#a9c4e0}
.d3 h2,.d3 h3,.d4 h2,.d4 h3,.d5 h2,.d5 h3{color:#fff}
.layer{position:relative;padding:clamp(90px,12vw,170px) 0}
/* borde superior ondulado de cada capa */
.layer.wave::before{content:"";position:absolute;left:0;right:0;top:-39px;height:40px;background:inherit;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C120 6 240 0 360 10s240 28 360 26 240-26 360-30 240 10 360 20V40Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C120 6 240 0 360 10s240 28 360 26 240-26 360-30 240 10 360 20V40Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}

/* Tipos */
.mega{font-size:clamp(84px,19vw,300px);line-height:.82;letter-spacing:-.055em}
.big{font-size:clamp(40px,6.4vw,96px);line-height:.95;letter-spacing:-.045em}
.mid{font-size:clamp(30px,3.6vw,52px);line-height:1.04;letter-spacing:-.03em}
.say{font-size:clamp(22px,2.3vw,32px);line-height:1.35;letter-spacing:-.015em;font-weight:500}
.soft{opacity:.78}
.tag{display:inline-block;font-size:15px;font-weight:600;margin-bottom:22px;padding:6px 14px;border-radius:999px;border:1.5px solid currentColor}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:999px;font-weight:600;font-size:17px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background-color .2s,color .2s}
.btn:active{transform:scale(.97)}
.b-deep{background:var(--marca);color:#fff}
.b-deep:hover{background:var(--abismo)}
.b-cian{background:var(--cian);color:var(--abismo)}
.b-cian:hover{background:#4fcdfb}
.b-ghost{border-color:currentColor}
.b-ghost:hover{background:currentColor}
.d0 .b-ghost:hover,.d1 .b-ghost:hover,.d2 .b-ghost:hover{color:#fff;background:var(--marca);border-color:var(--marca)}
.d3 .b-ghost:hover,.d4 .b-ghost:hover,.d5 .b-ghost:hover{color:var(--abismo);background:#fff;border-color:#fff}

/* Cabecera mínima */
.top{position:fixed;top:0;left:0;right:0;z-index:50;pointer-events:none}
.top .wrap{display:flex;justify-content:space-between;align-items:center;height:88px}
.top a{pointer-events:auto}
.logo{display:block;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 16px;border-radius:18px}
.logo img{height:42px;width:auto}
.top .mailto{font-size:15px;font-weight:600;text-decoration:none;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);padding:10px 16px;border-radius:999px;color:var(--marca)}

/* Dock de navegación */
.dock{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:4px;padding:6px;border-radius:999px;background:rgba(0,13,32,.78);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 20px 50px -18px rgba(0,13,32,.6);border:1px solid rgba(179,232,252,.16)}
.dock a,.dock button{display:block;padding:11px 16px;border-radius:999px;color:#cfe5f7;text-decoration:none;font-size:15.5px;font-weight:500;white-space:nowrap;background:none;border:0;cursor:pointer}
.dock a:hover{color:#fff;background:rgba(179,232,252,.1)}
.dock a[aria-current="page"]{background:#fff;color:var(--marca);font-weight:600}
.dock .join{background:var(--cian);color:var(--abismo);font-weight:600;margin-left:4px}
.dock .join:hover{background:#4fcdfb;color:var(--abismo)}
.dock .menu-btn{display:none}
.sheet{position:fixed;inset:auto 0 0 0;z-index:70;visibility:hidden;background:var(--abismo);color:#fff;border-radius:28px 28px 0 0;padding:26px var(--gut) 110px;transform:translateY(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.sheet.open{transform:none;visibility:visible}
.sheet ul{list-style:none}
.sheet a{display:block;font-size:34px;font-weight:700;letter-spacing:-.03em;text-decoration:none;padding:8px 0;color:#fff}
.sheet a[aria-current="page"]{color:var(--cian)}
.sheet small{display:block;font-size:15px;font-weight:500;color:#9fbad6;letter-spacing:0;margin:-4px 0 6px}
.scrim{position:fixed;inset:0;z-index:65;background:rgba(0,13,32,.5);opacity:0;visibility:hidden;transition:.25s}
.scrim.open{opacity:1;visibility:visible}

/* Medidor de profundidad */
.gauge{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:40;list-style:none;display:flex;flex-direction:column;gap:6px}
.gauge a{display:flex;align-items:center;justify-content:flex-end;gap:10px;text-decoration:none;font-size:13.5px;font-weight:600;color:transparent;padding:3px 0}
.gauge a::after{content:"";width:18px;height:3px;border-radius:3px;background:rgba(120,150,180,.55);transition:width .25s,background-color .25s}
.gauge a:hover,.gauge a.on{color:var(--gc,#04213f)}
.gauge a.on::after{width:36px;background:var(--cian)}
.gauge a:hover span,.gauge a.on span{background:rgba(255,255,255,.88);color:var(--marca);padding:3px 9px;border-radius:999px}

/* HERO */
.hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px 0 150px;overflow:hidden}
.photo-text,.photo-text span{background:url(../img/rio.jpg) center 58%/cover;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.hero h1{display:flex;flex-direction:column;margin-left:-.04em}
.hero h1 span{display:block;animation:surface 1.1s cubic-bezier(.2,.7,.1,1) both}
.hero h1 span+span{animation-delay:.12s;align-self:flex-end}
@keyframes surface{from{opacity:0;transform:translateY(40%)}to{opacity:1;transform:none}}
.hero .under{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:48px;align-items:end;animation:surface 1.1s .3s cubic-bezier(.2,.7,.1,1) both}
.hero blockquote{font-size:clamp(22px,2.1vw,30px);line-height:1.3;font-weight:600;letter-spacing:-.02em;color:var(--marca)}
.hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* Manifiesto */
.manifest .wrap{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.manifest .say{grid-column:1/11}
.manifest .note{grid-column:6/12;margin-top:48px;font-size:19px}
.manifest .note a{font-weight:600}

/* Dial ODS 6 */
.ods .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.dial{position:relative;width:min(100%,520px);aspect-ratio:1;margin:0 auto;container-type:inline-size}
.dial .core{position:absolute;inset:22%;border-radius:50%;background:var(--abismo);color:#fff;display:grid;place-items:center;text-align:center;box-shadow:inset 0 0 0 10px rgba(179,232,252,.08)}
.dial .core b{display:block;font-size:clamp(90px,12vw,170px);line-height:.85;letter-spacing:-.06em;color:var(--cian)}
.dial .core small{display:block;font-size:14px;font-weight:600;color:#bfe0f5;margin-top:6px;padding:0 14%}
.dial .ring{position:absolute;inset:0;border-radius:50%;border:2px dashed rgba(0,13,32,.25)}
.dial button{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px;border-radius:50%;border:2px solid var(--abismo);background:var(--cian);color:var(--abismo);font-weight:700;font-size:20px;cursor:pointer;transition:background-color .2s,color .2s,transform .2s;transform:rotate(var(--a)) translate(calc(50cqi - 40px)) rotate(calc(-1*var(--a)))}
.dial button:hover{background:#fff}
.dial button[aria-selected="true"]{background:var(--abismo);color:#fff;transform:rotate(var(--a)) translate(calc(50cqi - 40px)) rotate(calc(-1*var(--a))) scale(1.12)}
.ods .readout{min-height:300px}
.ods .readout .lbl{font-weight:700;font-size:20px}
.ods .readout p{font-size:clamp(22px,2.2vw,30px);line-height:1.34;font-weight:500;letter-spacing:-.015em;margin-top:14px}
.ods .readout [hidden]{display:none}
.ods .readout .show{animation:fadein .35s ease}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.ods .hint{margin-top:28px;font-size:15.5px;font-weight:600}

/* Acordeón soluciones */
.acc{border-top:1px solid rgba(179,232,252,.25)}
.acc details{border-bottom:1px solid rgba(179,232,252,.25)}
.acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:30px 0}
.acc summary::-webkit-details-marker{display:none}
.acc summary h3{font-size:clamp(26px,3.2vw,46px);letter-spacing:-.035em;line-height:1.05;transition:color .2s}
.acc summary:hover h3{color:var(--cian)}
.acc .pm{width:52px;height:52px;border-radius:50%;border:2px solid rgba(179,232,252,.4);position:relative;flex:none;transition:transform .3s,background-color .2s}
.acc .pm::before,.acc .pm::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;margin:-1px -9px;background:currentColor}
.acc .pm::after{transform:rotate(90deg);transition:transform .3s}
.acc details[open] .pm{background:var(--cian);border-color:var(--cian);color:var(--abismo)}
.acc details[open] .pm::after{transform:rotate(0)}
.acc .body{padding:0 0 36px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.acc .body p{font-size:20px;color:#d2e6f6}
.head{display:flex;justify-content:space-between;align-items:end;gap:28px;flex-wrap:wrap;margin-bottom:56px}

/* Interruptor Haz Parte */
.switch{display:inline-flex;padding:6px;border-radius:999px;background:rgba(179,232,252,.1);border:1px solid rgba(179,232,252,.2);margin-bottom:56px}
.switch button{padding:14px 26px;border-radius:999px;border:0;background:none;color:#cfe5f7;font-weight:600;font-size:17px;cursor:pointer;transition:background-color .25s,color .25s}
.switch button[aria-selected="true"]{background:var(--cian);color:var(--abismo)}
.role{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,96px);align-items:start;scroll-margin-top:100px}
.role[hidden]{display:none}
.role h2{margin-bottom:26px}
.role p{margin-bottom:18px;font-size:19px}
.role .who{font-size:clamp(22px,2vw,28px);font-weight:600;color:#fff;line-height:1.3;letter-spacing:-.015em}
.perks{list-style:none;counter-reset:none;display:grid;gap:0;border-top:1px solid rgba(179,232,252,.2)}
.perks li{padding:22px 0;border-bottom:1px solid rgba(179,232,252,.2);font-size:18px;color:#d8ecfa;display:grid;grid-template-columns:28px 1fr;gap:12px}
.perks li::before{content:"";width:14px;height:14px;margin-top:7px;border-radius:50% 0 50% 50%;transform:rotate(-45deg);background:var(--cian)}
.topics{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:30px}
.topics li{font-size:14.5px;padding:7px 13px;border-radius:999px;border:1px solid rgba(179,232,252,.3);color:#cfe5f7}

/* Cierre */
.closing{text-align:left}
.closing .mailbig{display:block;font-size:clamp(34px,7.4vw,118px);font-weight:700;letter-spacing:-.05em;line-height:.95;color:#fff;text-decoration:none;word-break:break-word;margin:18px 0 40px}
.closing .mailbig:hover{color:var(--cian)}

/* Encabezado páginas interiores */
.p-hero{min-height:78vh;display:flex;flex-direction:column;justify-content:flex-end;padding:140px 0 90px;overflow:hidden}
.p-hero h1{margin-left:-.05em}
.p-hero .say{margin-top:34px;color:var(--marca)}
.crumb{font-size:15px;font-weight:600;margin-bottom:18px;color:var(--marca)}
.crumb a{text-decoration:none;border-bottom:2px solid var(--cian)}

/* Nosotros */
.cols2{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,96px)}
.cols2 p{margin-bottom:20px;font-size:19px}
.cols2 .pull,.pull{font-size:clamp(26px,3vw,40px);line-height:1.2;font-weight:600;letter-spacing:-.025em}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gut) 24px;margin:0 calc(-1*var(--gut));scrollbar-width:thin}
.strip article{scroll-snap-align:start;border-radius:26px;padding:30px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(179,232,252,.08);border:1px solid rgba(179,232,252,.18)}
.strip b{font-size:56px;letter-spacing:-.05em;color:var(--cian);line-height:1}
.strip p{font-size:16.5px;color:#d2e6f6}

/* Recursos */
.empty .big{max-width:12ch}
.empty p{margin:30px 0 36px;font-size:20px}

/* Contacto: frase para completar */
.sentence{font-size:clamp(24px,3vw,42px);line-height:1.7;font-weight:600;letter-spacing:-.02em;color:#fff;max-width:none}
.sentence input,.sentence select{font:inherit;font-weight:600;letter-spacing:inherit;color:var(--cian);background:transparent;border:0;border-bottom:3px solid rgba(179,232,252,.35);padding:0 4px;min-width:6ch;max-width:100%;border-radius:0;transition:border-color .2s}
.sentence input::placeholder{color:rgba(179,232,252,.45)}
.sentence input:focus,.sentence select:focus{outline:none;border-bottom-color:var(--cian)}
.sentence select{cursor:pointer;-webkit-appearance:none;appearance:none;padding-right:10px}
.sentence select option{color:var(--abismo)}
.msg{margin-top:40px}
.msg label{display:block;font-weight:600;color:#fff;margin-bottom:10px}
.msg textarea{width:100%;min-height:160px;font:inherit;font-size:18px;color:#fff;background:rgba(179,232,252,.06);border:1.5px solid rgba(179,232,252,.25);border-radius:20px;padding:18px 20px;resize:vertical}
.msg textarea:focus{outline:none;border-color:var(--cian)}
.send{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:28px}
.send small{font-size:15px;color:#9fbad6}

/* Pie */
.foot{background:var(--abismo);color:#88a6c6;padding:40px 0 120px;font-size:15px;border-top:1px solid rgba(179,232,252,.1)}
.foot .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
.foot img{height:44px;width:auto}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.foot a{color:#c4dcf2;text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}

/* Responsive */
@media (max-width:1100px){.gauge{display:none}}
@media (max-width:980px){
  .dock .link{display:none}
  .dock .menu-btn{display:block}
  .hero .under,.ods .wrap,.role,.cols2{grid-template-columns:1fr}
  .manifest .say,.manifest .note{grid-column:1/-1}
  .acc .body{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:17px}
  .top .mailto{display:none}
  .logo img{height:36px}
  .hero{padding:110px 0 130px}
  .hero h1{font-size:27vw}
  .hero .under{gap:22px;margin-top:30px}
  .hero h1 span+span{align-self:flex-start}
  .dial button{width:58px;height:58px;margin:-29px;font-size:16px;transform:rotate(var(--a)) translate(calc(50cqi - 31px)) rotate(calc(-1*var(--a)))}
  .dial button[aria-selected="true"]{transform:rotate(var(--a)) translate(calc(50cqi - 31px)) rotate(calc(-1*var(--a))) scale(1.1)}
  .switch{display:flex}
  .switch button{flex:1;padding:12px 10px;font-size:15.5px}
  .acc summary{padding:24px 0}
  .ods .readout{min-height:240px}
  .acc .pm{width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.skip{position:absolute;left:-9999px;top:12px;z-index:100;background:var(--marca);color:#fff;padding:10px 16px;border-radius:999px}
.skip:focus{left:16px}
