
@font-face{
  font-family:'Respaldo Fraunces G';
  src:local('Georgia'), local('Georgia Regular');
  size-adjust:98.5%; ascent-override:100%; descent-override:25%; line-gap-override:0%;
}
@font-face{
  font-family:'Respaldo Fraunces T';
  src:local('Times New Roman'), local('TimesNewRomanPSMT'),
      local('Liberation Serif'), local('Tinos');
  size-adjust:110.7%; ascent-override:88%; descent-override:23%; line-gap-override:0%;
}
@font-face{
  font-family:'Respaldo Fraunces N';
  src:local('Noto Serif'), local('Droid Serif');
  size-adjust:106.7%; ascent-override:91%; descent-override:24%; line-gap-override:0%;
}

:root{
  --bg:          #075363;
  --bg-2:        #096073;
  --surface:     #0C6E82;
  --surface-2:   #14839A;
  --line:        rgba(228,246,243,.16);
  --line-strong: rgba(228,246,243,.30);

  --text:        #F1FAF8;
  --text-2:      #CBE6E3;
  --muted:       #99C0C1;

  --accent:      #FF9E7A;
  --accent-2:    #FFC6AC;
  --accent-deep: #C25F3C;
  --on-accent:   #06303B;
  --glow:        rgba(255,158,122,.34);
  --glow-soft:   rgba(255,158,122,.12);

  --vidrio:        linear-gradient(165deg,rgba(228,246,243,.08),rgba(228,246,243,.02));
  --vidrio-fuerte: linear-gradient(165deg,rgba(228,246,243,.14),rgba(228,246,243,.05));
  --campo-bg:      rgba(3,45,55,.46);

  --tracking-h:  -.018em;
  --radius:      16px;
  --radius-sm:   10px;
  --radius-pill: 100px;

  --sh-depth: 0 10px 40px rgba(2,34,42,.62);
  --sh-lit:   0 0 28px rgba(255,158,122,.30);
  --sh-hover: 0 0 26px rgba(255,198,172,.75);
  --sh-suave: 0 2px 16px rgba(2,34,42,.5);
  --sombra-panel: 0 40px 90px -60px rgba(2,34,42,.9);

  --grano-op: .05;
  --vineta: radial-gradient(130% 100% at 50% 44%, transparent 46%, rgba(2,38,47,.34) 100%);
}

.bg-static{ opacity:.9 }
.hero__grid{ display:none }

.h1, .h2{
  font-family:'Fraunces', 'Respaldo Fraunces G', 'Respaldo Fraunces T', 'Respaldo Fraunces N', var(--serif), Georgia, serif;
  font-weight:600;
  letter-spacing:-.012em;
}
.h1{ font-size:clamp(2.6rem, 6vw, 4.9rem); line-height:1.02 }
.h2{ font-size:clamp(2.2rem, 5vw, 3.9rem); line-height:1.04 }
.h1 em, .h2 em{
  font-family:inherit; font-style:italic; font-weight:400;
  color:var(--accent-2);
}

.hero__mar{ position:absolute; inset:0; z-index:0; overflow:hidden }

.hm__viaje{
  position:absolute; left:0; right:0; top:0;
  height:200%;

  animation:hmBajar 2.45s cubic-bezier(.46,.03,.24,1) .5s both;
}
@keyframes hmBajar{
  from{ transform:translate3d(0,0,0) }
  to  { transform:translate3d(0,-50%,0) }
}
.hm__pane{ position:absolute; left:0; right:0; height:50%; overflow:hidden }
.hm__pane--aire{ top:0 }
.hm__pane--agua{ top:50% }
.hm__pane img{ display:block; width:100%; height:100%; object-fit:cover }

.hm__filo{
  position:absolute; left:0; right:0; top:50%;
  height:11%; transform:translateY(-50%);
  pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(7,83,99,0)      0%,
      rgba(140,226,222,.30) 26%,
      rgba(232,255,252,.80) 47%,
      rgba(178,238,236,.42) 58%,
      rgba(7,83,99,.34)    82%,
      rgba(7,83,99,0)     100%);
}

.hero__velo{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(90deg,  rgba(4,42,52,.80) 0%, rgba(4,42,52,.34) 58%, rgba(4,42,52,.10) 100%),
    linear-gradient(180deg, rgba(4,42,52,.52) 0%, rgba(4,42,52,.10) 32%, rgba(7,83,99,.88) 100%);
}
@media (max-width:900px){
  .hero__velo{
    background:linear-gradient(180deg, rgba(4,42,52,.66) 0%, rgba(4,42,52,.30) 40%, rgba(7,83,99,.92) 100%);
  }
}

.hm__rayos{
  display:none;
  position:absolute; inset:-16% -12% auto -12%; height:130%; z-index:1;
  pointer-events:none; opacity:0;
  transform:rotate(-7deg);
  background:repeating-linear-gradient(90deg,
    rgba(206,252,248,0)    0px,  rgba(206,252,248,0)    46px,
    rgba(206,252,248,.085) 64px, rgba(206,252,248,.02)  84px,
    rgba(206,252,248,0)   104px);
  animation:hmRayos 2.4s ease-out 2.35s forwards;
}
@media (min-width:861px) and (hover:hover){ .hm__rayos{ display:block } }
@keyframes hmRayos{ to{ opacity:1 } }

.hm__burbujas{ display:none; position:absolute; inset:0; z-index:1; pointer-events:none }
@media (min-width:861px) and (hover:hover){ .hm__burbujas{ display:block } }
.hm__burbujas i{
  position:absolute; bottom:-4%;
  left:var(--x); width:var(--r,7px); height:var(--r,7px);
  border-radius:50%;
  background:radial-gradient(60% 60% at 34% 30%, rgba(255,255,255,.92), rgba(190,240,238,.18) 62%, transparent 72%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
  opacity:0;
  animation:hmBurbuja var(--t,9s) linear var(--d,0s) infinite;
}
@keyframes hmBurbuja{
  0%   { opacity:0;   transform:translate3d(0,0,0) scale(.7) }
  10%  { opacity:.75 }
  70%  { opacity:.5 }
  100% { opacity:0;   transform:translate3d(18px,-660px,0) scale(1.15) }
}

@media (prefers-reduced-motion: reduce){

  .hm__viaje{ animation:none; transform:translate3d(0,-50%,0) }
  .hm__rayos{ animation:none; opacity:1 }
  .hm__burbujas{ display:none }
}

.hero__title{ max-width:8.25em }

.h2{ max-width:11.9em }
.hero__lead{ max-width:52ch }

.hero__luz{
  position:absolute; z-index:3; pointer-events:none;
  left:-38%; top:-6%; width:30%; height:112%;
  background:linear-gradient(100deg,
    rgba(214,255,250,0) 0%, rgba(214,255,250,.06) 22%,
    rgba(226,255,252,.34) 50%, rgba(214,255,250,.06) 78%,
    rgba(214,255,250,0) 100%);
  transform:translate3d(0,0,0) skewX(-13deg);
  mix-blend-mode:screen;
  opacity:0;
  animation:heroLuz 2.1s cubic-bezier(.38,.06,.24,1) 2.6s both;
}
@keyframes heroLuz{
  0%       { opacity:0; transform:translate3d(0,0,0) skewX(-13deg) }
  12%, 82% { opacity:1 }
  100%     { opacity:0; transform:translate3d(520%,0,0) skewX(-13deg) }
}

.hero__lead--linea{
  animation:heroLinea 1.25s cubic-bezier(.22,.9,.24,1) 1.9s backwards;
}
@keyframes heroLinea{
  from{ opacity:0; clip-path:inset(0 100% 0 0); transform:translate3d(-20px,0,0) }
  to  { opacity:1; clip-path:inset(0 0 0 0);    transform:translate3d(0,0,0) }
}
@media (prefers-reduced-motion: reduce){
  .hero__luz{ display:none }
  .hero__lead--linea{ animation:none }
}

.cifras{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
  border-radius:var(--radius); overflow:hidden;
}
@media (max-width:760px){ .cifras{ grid-template-columns:1fr 1fr } }
.cifras div{ background:var(--surface); padding:clamp(1.1rem,2.6vw,1.7rem) .5rem; text-align:center }
.cifras b{
  display:block; font-family:'Fraunces', 'Respaldo Fraunces G', 'Respaldo Fraunces T', 'Respaldo Fraunces N', var(--serif), Georgia, serif;
  font-size:clamp(1.8rem,3.8vw,2.7rem); font-weight:600;
  letter-spacing:-.03em; color:var(--accent-2); line-height:1;
}
.cifras span{ display:block; margin-top:.45rem; font-size:.76rem; color:var(--muted); line-height:1.35 }

.simple__pasos.pasos{
  padding-left:0; max-width:none;
  list-style:none; display:grid; gap:clamp(1.4rem,3vw,2.2rem);
  grid-template-columns:repeat(3,1fr);
  margin-top:clamp(2.4rem,4.5vw,3.4rem);
}
.simple__pasos.pasos::before{ display:none }
@media (max-width:860px){ .simple__pasos.pasos{ grid-template-columns:1fr; gap:1.4rem } }

.simple__paso{
  position:relative; isolation:isolate; overflow:visible;
  padding:0; border:0; background:none;
  perspective:1200px;

  opacity:.82;
  transform:translate3d(0,8px,0);
  transition:opacity .75s var(--ease), transform .75s var(--ease);
}
.simple__paso.is-on{ opacity:1; transform:translate3d(0,0,0) }

.giro3{
  position:relative; height:100%;
  display:grid; grid-template:1fr / 1fr;
  transform-style:preserve-3d;
  transition:transform 1.05s cubic-bezier(.36,.02,.2,1);
}
.simple__pasos.pasos--vivos .giro3{ transform:rotateY(180deg) }
.simple__pasos.pasos--vivos .is-on .giro3{ transform:rotateY(0deg) }

.simple__pasos.pasos--vivos li:nth-child(2) .giro3{ transition-delay:.20s }
.simple__pasos.pasos--vivos li:nth-child(3) .giro3{ transition-delay:.40s }

.giro3__cara{
  grid-area:1/1;
  display:flex; flex-direction:column;
  padding:clamp(1.5rem,3vw,2.1rem) clamp(1.3rem,2.6vw,1.8rem);
  border-radius:var(--radius);
  border:1px solid var(--line);
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  transition:border-color .75s var(--ease);
}

.giro3__frente{ background:var(--vidrio) }
.simple__paso.is-on .giro3__frente{
  background:var(--vidrio-fuerte);
  border-color:rgba(255,158,122,.42);
}
.giro3__dorso{
  transform:rotateY(180deg);
  background:var(--accent); color:var(--on-accent);
  border-color:transparent;
  justify-content:space-between;
}

.simple__paso .giro3__cifra{
  display:block;
  font-family:'Fraunces', 'Respaldo Fraunces G', 'Respaldo Fraunces T', 'Respaldo Fraunces N', var(--serif), Georgia, serif;
  font-weight:600; font-size:clamp(3.6rem,8vw,5.6rem);
  line-height:.84; letter-spacing:-.05em;
  text-transform:none; color:inherit;
}
.simple__paso .giro3__pie{
  margin-top:auto; padding-top:1.4rem;
  font-size:.78rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
  color:inherit; opacity:.68;
}

.simple__paso::before{
  content:''; position:absolute; z-index:1;
  left:100%; top:50%; width:clamp(1.4rem,3vw,2.2rem); height:1px;
  background:linear-gradient(90deg, var(--accent), rgba(255,158,122,.15));
  transform:scaleX(0); transform-origin:0 50%;
  transition:transform .8s var(--ease) .15s;
}
.simple__paso:last-child::before{ display:none }
.simple__paso.is-on::before{ transform:scaleX(1) }
@media (max-width:860px){

  .simple__paso::before{
    left:2.05rem; top:100%; width:1px; height:1.4rem;
    background:linear-gradient(180deg, var(--accent), rgba(255,158,122,.15));
    transform:scaleY(0); transform-origin:50% 0;
  }
  .simple__paso.is-on::before{ transform:scaleY(1) }
}

.simple__paso .simple__num{
  display:grid; place-items:center;
  width:2.4rem; height:2.4rem; margin-bottom:1rem;
  border-radius:50%;
  background:var(--accent); color:var(--on-accent);
  font-family:'Fraunces', 'Respaldo Fraunces G', 'Respaldo Fraunces T', 'Respaldo Fraunces N', var(--serif), Georgia, serif;
  font-weight:600; font-size:1.05rem;
  letter-spacing:0; text-transform:none;
  transform:rotate(-28deg) scale(.82);
  transition:transform .6s cubic-bezier(.2,1.3,.4,1);
}
.simple__paso.is-on .simple__num{ transform:rotate(0) scale(1) }
.simple__paso b{ display:block; font-size:1.08rem; font-weight:500; margin-bottom:.5rem }
.simple__paso p{ color:var(--text-2); font-size:.95rem; line-height:1.62; max-width:none }

@media (max-width:860px){
  .simple__pasos.pasos--vivos .giro3,
  .simple__pasos.pasos--vivos .is-on .giro3{ transform:none; transition:none }
  .giro3{ transform-style:flat }
  .giro3__dorso{ display:none }
  .simple__paso{ perspective:none }
}

@media (prefers-reduced-motion: reduce){
  .simple__paso, .simple__num, .simple__paso::before,
  .giro3, .giro3__cara{ transition:none }
  .simple__paso{ opacity:1; transform:none; perspective:none }
  .simple__num{ transform:none }
  .simple__pasos.pasos--vivos .giro3,
  .simple__pasos.pasos--vivos .is-on .giro3{ transform:none }
  .giro3{ transform-style:flat }
  .giro3__dorso{ display:none }
}

.dos{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(1rem,2.4vw,1.8rem);
  margin-top:clamp(2.2rem,4.5vw,3.4rem);

  perspective:1800px; perspective-origin:50% 38%;
}
@media (max-width:860px){ .dos{ grid-template-columns:1fr; perspective:1100px } }

.dos__col{ min-height:clamp(30rem,46vw,34rem) }
.dos__cara{
  position:relative; overflow:hidden; padding:0;
  border:1px solid var(--line); border-radius:var(--radius);
  background:var(--surface);
  display:flex; flex-direction:column;
}
.dos__foto{ position:relative; margin:0; overflow:hidden; aspect-ratio:4/3; flex:none }
.dos__foto img{ display:block; width:100%; height:100%; object-fit:cover }

.dos__fondo{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%; object-fit:cover;
}
.gira__dorso.dos__cara{
  background:var(--surface);
  color:var(--text);
  border-color:rgba(255,158,122,.34);
  justify-content:flex-end;
}
.gira__dorso.dos__cara::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(4,32,40,.42) 0%, rgba(4,32,40,.72) 42%, rgba(4,32,40,.94) 100%);
}
.gira__dorso .dos__cuerpo{ position:relative; z-index:2 }
.gira__dorso .dos__lista li{ color:var(--text) }
.dos__cara .gira__paso{ color:var(--accent-2); margin-top:1.3rem; padding-top:0 }

.dos__pista{
  position:absolute; right:.85rem; top:.85rem; z-index:3;
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.36rem .85rem; border-radius:var(--radius-pill);
  background:rgba(4,32,40,.66); border:1px solid rgba(255,198,172,.42);
  font-size:.72rem; letter-spacing:.08em; color:var(--accent-2);
  pointer-events:none;
}
.dos__pista i{ font-style:normal; font-size:.9rem }

.dos__cuerpo{ padding:clamp(1.4rem,2.8vw,2rem); flex:1; display:flex; flex-direction:column }
.dos__eti{
  display:inline-block; align-self:flex-start;
  padding:.28rem .8rem; margin-bottom:.9rem;
  border-radius:var(--radius-pill);
  background:var(--glow-soft); border:1px solid var(--line-strong);
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-2);
}
.dos__col h3{
  font-family:'Fraunces', 'Respaldo Fraunces G', 'Respaldo Fraunces T', 'Respaldo Fraunces N', var(--serif), Georgia, serif;
  font-size:clamp(1.5rem,2.8vw,2rem); font-weight:600; line-height:1.1;
  margin-bottom:.8rem;
}
.dos__col > .dos__cuerpo > p{ color:var(--text-2); font-size:.97rem; line-height:1.62 }
.dos__lista{ list-style:none; margin-top:1.2rem; display:grid; gap:.7rem }
.dos__lista li{
  position:relative; padding-left:1.5rem;
  color:var(--text-2); font-size:.93rem; line-height:1.55;
}
.dos__lista li::before{
  content:''; position:absolute; left:0; top:.52em;
  width:.55rem; height:.55rem; border-radius:50%;
  background:var(--accent); opacity:.85;
}

.remate{
  position:relative; overflow:hidden;
  border-block:1px solid var(--line);
  padding-block:clamp(3.4rem,8vw,6rem);
  margin-block:clamp(1rem,2vw,1.6rem);
}
.remate::before{
  content:'”'; position:absolute; z-index:0;
  left:-.06em; top:-.34em;
  font-family:'Fraunces', 'Respaldo Fraunces G', 'Respaldo Fraunces T', 'Respaldo Fraunces N', var(--serif), Georgia, serif;
  font-size:clamp(20rem,42vw,34rem); line-height:1;
  color:var(--surface-2); opacity:.5;
  pointer-events:none; user-select:none;
}
.remate__txt{
  position:relative; z-index:1;
  max-width:26ch;
  font-family:'Fraunces', 'Respaldo Fraunces G', 'Respaldo Fraunces T', 'Respaldo Fraunces N', var(--serif), Georgia, serif;
  font-size:clamp(1.9rem,4.6vw,3.5rem); font-weight:400;
  line-height:1.14; letter-spacing:-.015em;
  color:var(--text);
}

@media (max-width:860px){ .remate__txt{ max-width:none } }

.banda{ border-radius:0 }
.llegada{ position:relative }
.llegada__texto{
  max-width:56ch; margin-top:clamp(1.8rem,3.6vw,2.8rem);
}
.llegada__texto p{ color:var(--text-2); font-size:1.02rem; line-height:1.72 }
.llegada__texto p + p{ margin-top:1rem }

.llegada__par{
  display:grid; grid-template-columns:1fr 1fr;
  gap:0;
  margin-top:clamp(1.8rem,3.6vw,2.8rem);
  height:clamp(280px, 54vh, 560px);
}
.llegada__mitad{
  margin:0; position:relative; overflow:hidden;
  border-radius:0;
}

.llegada__mitad img{
  display:block; position:absolute; left:0; top:-12%;
  width:100%; height:124%;
  object-fit:cover; aspect-ratio:auto;
  will-change:transform;
}

.llegada__par figcaption{
  position:absolute; inset:auto 0 0 0; z-index:1;
  padding:clamp(2.2rem,4.6vw,3rem) clamp(1.1rem,2.4vw,1.8rem) clamp(.95rem,2vw,1.3rem);
  background:linear-gradient(180deg,
    rgba(3,26,33,0) 0%, rgba(3,26,33,.40) 34%,
    rgba(3,26,33,.78) 66%, rgba(3,26,33,.95) 100%);
  font-size:.98rem; font-weight:500; line-height:1.3;
  text-shadow:0 1px 6px rgba(2,20,26,.7);
}
.llegada__par figcaption small{
  display:block; margin-top:.28rem;
  font-size:.78rem; font-weight:400; color:var(--text-2);
}

@media (max-width:760px){
  .llegada__par{
    grid-template-columns:1fr;
    height:auto;
  }
  .llegada__mitad{ height:clamp(200px, 30vh, 300px) }
}

.exp{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(.7rem,1.6vw,1.1rem);
  margin-top:clamp(2rem,4vw,3rem);
}
@media (max-width:960px){ .exp{ grid-template-columns:1fr 1fr } }
.exp figure{
  position:relative; margin:0; overflow:hidden;
  border-radius:var(--radius); aspect-ratio:3/4;
}
.exp img{
  display:block; width:100%; height:100%; object-fit:cover;
  transition:transform .9s var(--ease);
}
.exp figure:hover img{ transform:scale(1.06) }

.exp figcaption{
  position:absolute; inset:auto 0 0 0; z-index:1;
  padding:clamp(2.4rem,5vw,3.2rem) clamp(1rem,2.2vw,1.4rem) clamp(1rem,2.2vw,1.4rem);
  background:linear-gradient(180deg,
    rgba(3,26,33,0) 0%, rgba(3,26,33,.42) 34%,
    rgba(3,26,33,.80) 66%, rgba(3,26,33,.96) 100%);
  font-size:.98rem; font-weight:500; line-height:1.3;
  text-shadow:0 1px 6px rgba(2,20,26,.7);
}
.exp figcaption small{
  display:block; margin-top:.3rem;
  font-size:.78rem; font-weight:400; color:var(--text-2);
}

.exp .exp__ancha{
  position:relative; margin:0; overflow:hidden;
  border-radius:var(--radius); grid-column:1 / -1; aspect-ratio:32/11;
}
@media (max-width:960px){ .exp .exp__ancha{ aspect-ratio:2/1 } }
.exp .exp__ancha img{ display:block; width:100%; height:100%; object-fit:cover }

.quien{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(.7rem,1.6vw,1.1rem);
  margin-top:clamp(2rem,4vw,3rem);
}
@media (max-width:960px){ .quien{ grid-template-columns:1fr 1fr } }
@media (max-width:520px){ .quien{ grid-template-columns:1fr } }
.quien__f{
  position:relative; margin:0; overflow:hidden;
  border-radius:var(--radius); aspect-ratio:4/5;
}
.quien__f img{
  display:block; width:100%; height:100%; object-fit:cover;
  transition:transform .9s var(--ease);
}
.quien__f:hover img{ transform:scale(1.05) }
.quien__f figcaption{
  position:absolute; inset:auto 0 0 0; z-index:1;
  padding:clamp(2.6rem,5vw,3.6rem) clamp(.95rem,2vw,1.3rem) clamp(1rem,2vw,1.3rem);
  background:linear-gradient(180deg, rgba(3,26,33,0) 0%, rgba(3,26,33,.5) 34%,
                             rgba(3,26,33,.85) 68%, rgba(3,26,33,.96) 100%);
  text-shadow:0 1px 6px rgba(2,20,26,.7);
}
.quien__f b{
  display:block; font-family:'Fraunces', 'Respaldo Fraunces G', 'Respaldo Fraunces T', 'Respaldo Fraunces N', var(--serif), Georgia, serif;
  font-size:1.15rem; font-weight:600; margin-bottom:.3rem;
}
.quien__f span{ display:block; font-size:.8rem; line-height:1.4; color:var(--text-2) }

.redes__titulo{
  margin-top:clamp(1.8rem,3.4vw,2.4rem); margin-bottom:.8rem;
  font-size:.74rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted);
}
.redes{ list-style:none; display:flex; flex-wrap:wrap; gap:.6rem }
.redes a{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.55rem .95rem; border-radius:var(--radius-pill);
  border:1px solid var(--line-strong); background:var(--vidrio);
  color:var(--text-2); font-size:.86rem; text-decoration:none;
  transition:color .35s var(--ease), border-color .35s var(--ease),
             background-color .35s var(--ease), transform .35s var(--ease);
}
.redes a:hover{
  color:var(--on-accent); background:var(--accent);
  border-color:var(--accent); transform:translate3d(0,-2px,0);
}
.redes svg{ flex:none }

.redes--pie{ justify-content:center; margin-block:.4rem 1rem }
.redes--pie a{ padding:.5rem; border-radius:50% }

.banda--atardecer{
  position:relative; overflow:hidden;
  height:clamp(15rem,34vw,25rem);
  margin-block:clamp(1rem,2.4vw,2rem);
}
.banda--atardecer img{
  display:block; width:100%; height:100%; object-fit:cover;
}

.banda--atardecer::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, var(--bg) 0%, rgba(7,83,99,.22) 26%,
                             rgba(7,83,99,.24) 74%, var(--bg) 100%);
}

.vivi{ position:relative }
.vivi__grid{
  display:grid; grid-template-columns:.85fr 1.15fr;
  gap:clamp(1.6rem,4vw,3.4rem); align-items:start;
}
@media (max-width:860px){ .vivi__grid{ grid-template-columns:1fr } }

.vivi__fotos{
  display:grid;
  grid-template-columns:1.14fr 1fr;
  gap:clamp(.5rem,1.2vw,.8rem);
  align-content:start;
}
.vivi__fotos figure{ margin:0; border-radius:var(--radius); overflow:hidden }

.vivi__fotos figure:first-child{ grid-row:1 / span 2 }
.vivi__fotos figure + figure{ aspect-ratio:5/4 }
.vivi__fotos img{ display:block; width:100%; height:100%; object-fit:cover }

.vivi__texto .vivi__cita{
  font-family:'Fraunces', 'Respaldo Fraunces G', 'Respaldo Fraunces T', 'Respaldo Fraunces N', var(--serif), Georgia, serif;
  font-size:clamp(1.55rem,3.2vw,2.5rem); font-weight:400; font-style:italic;
  line-height:1.2; letter-spacing:-.005em; color:var(--accent-2);
  max-width:19ch; margin-bottom:clamp(1.6rem,3.2vw,2.4rem);
}
.vivi__texto p{ color:var(--text-2); font-size:1.01rem; line-height:1.75 }
.vivi__texto p + p{ margin-top:1.05rem }
.vivi__texto strong{ color:var(--text); font-weight:500 }

.form__intro{
  margin-bottom:clamp(1.2rem,2.4vw,1.8rem);
  padding:clamp(.9rem,2vw,1.2rem) clamp(1rem,2.2vw,1.4rem);
  border-radius:var(--radius-sm);
  border:1px solid var(--line-strong);
  background:var(--glow-soft);
  font-size:.9rem; color:var(--text-2); line-height:1.55;
}
.form__intro b{ color:var(--accent-2); font-weight:500 }

.contacto__lista svg{ color:var(--accent) }

.cinta{ margin-block:clamp(2.5rem,6vw,4rem) }
.cinta--chica .cinta__pista > span{ gap:2.4rem; padding-right:2.4rem }
.cinta b{ padding-inline:.45rem }

.faq details p{ line-height:1.68 }
