/* Mis Estrellas — páginas interiores: lectura y navegación */
main.page{padding-top:var(--hdr)}
.wrap{width:100%;max-width:100rem;margin-inline:auto;padding-inline:var(--gutter)}
.dark{background:var(--noche);color:#eaf6fa;--ring:#9be9f2}
.dark .lede{color:#b9d4df}
.p-hero{padding-block:clamp(3rem,8vw,7rem) clamp(2.5rem,6vw,5rem)}
.p-hero__in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,6vw,6rem);align-items:end}
.p-hero h1{font-size:clamp(2.8rem,7.4vw,7.4rem)}
.p-hero h1 .ln:last-child{font-style:italic;color:var(--aqua-ink)}
.p-hero__acts{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.p-hero figure{margin:0}
.p-hero .frame{overflow:hidden;aspect-ratio:4/5;background:var(--sal)}
.p-hero .frame img{width:100%;height:100%;object-fit:cover}
.p-hero figcaption{margin-top:.5rem}
.t-l{font-size:clamp(2.4rem,5.4vw,5rem)}
.t-m{font-size:clamp(2rem,4vw,3.4rem)}

/* Servicios */
.water-band{padding-block:clamp(4rem,9vw,8rem)}
.water-band__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.process{counter-reset:s;display:grid}
.process li{counter-increment:s;display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line-d);font-size:1.15rem}
.process li::before{content:counter(s);font-family:var(--serif);font-size:2rem;line-height:1;color:#9be9f2}
.svc-layout{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding-block:clamp(4rem,9vw,8rem)}
.svc-index{position:sticky;top:calc(var(--hdr) + 1.5rem);align-self:start;display:grid;gap:.2rem;font-weight:600;font-size:.95rem}
.svc-index a{text-decoration:none;padding:.45rem 0 .45rem .9rem;border-left:2px solid var(--line);color:var(--suave);transition:color .25s,border-color .25s}
.svc-index a:hover{color:var(--tinta);border-color:var(--aqua)}
.sv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;padding-block:clamp(2rem,5vw,4rem);border-top:1px solid var(--line)}
.sv:first-child{border-top:0;padding-top:0}
.sv:nth-child(even){grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}
.sv:nth-child(even) figure{order:-1}
.sv h2{font-size:clamp(2.2rem,4.4vw,4rem);margin-bottom:1rem}
.sv figure{margin:0}
.sv .frame{overflow:hidden;aspect-ratio:4/5;background:var(--sal)}
.sv .frame img{width:100%;height:100%;object-fit:cover}
.sv figcaption{margin-top:.5rem}
.need{margin:1.2rem 0 1.6rem;display:grid;gap:.45rem}
.need li{position:relative;padding-left:1.4rem;color:var(--suave)}
.need li::before{content:"";position:absolute;left:0;top:.7em;width:.7rem;height:2px;background:var(--aqua)}
.need strong{display:block;color:var(--tinta);margin-bottom:.2rem}
.band-zones{padding-block:clamp(3rem,7vw,6rem);background:var(--sal)}
.zone-row{display:flex;flex-wrap:wrap;gap:.4rem 2rem;margin-top:1.4rem;font-family:var(--serif);font-size:clamp(2rem,5vw,4.4rem);line-height:1.05}
.cta-band{padding-block:clamp(4rem,9vw,8rem)}
.cta-band__in{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:end}
.cta-band h2{font-size:clamp(2.4rem,6vw,5.6rem);max-width:12ch}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:.8rem}

/* Nosotros */
.about-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem);padding-block:clamp(4rem,9vw,8rem);align-items:start}
.about-grid h2{position:sticky;top:calc(var(--hdr) + 2rem)}
.rows li{display:grid;grid-template-columns:minmax(0,14rem) 1fr;gap:1rem;padding:1.4rem 0;border-top:1px solid var(--line)}
.rows li:last-child{border-bottom:1px solid var(--line)}
.rows strong{font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1.1}
.rows span{color:var(--suave)}
.strip{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:clamp(.6rem,1.4vw,1.2rem);align-items:end;padding-bottom:clamp(4rem,9vw,8rem)}
.strip figure{margin:0;overflow:hidden;background:var(--sal)}
.strip img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
.strip figure:nth-child(2) img{aspect-ratio:4/5}
.strip figure:nth-child(3) img{aspect-ratio:1/1}
.samuel-card{padding-block:clamp(4rem,9vw,8rem)}
.samuel-card__in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,6vw,6rem);align-items:end}
.samuel-card .acts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}

/* Contacto */
.ct{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(2rem,7vw,7rem);padding-block:clamp(3rem,7vw,6rem) clamp(4rem,9vw,8rem);align-items:start}
.ct h1{font-size:clamp(2.8rem,6.6vw,6.4rem)}
.ct h1 .ln:last-child{font-style:italic;color:var(--aqua-ink)}
.ct__list{margin-top:2.4rem;border-top:1px solid var(--line)}
.ct__list li{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.ct__list span{color:var(--suave);font-size:.95rem}
.ct__list a{font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2.2rem);line-height:1.15;text-decoration:none;overflow-wrap:anywhere}
.ct__list a:hover{text-decoration:underline;text-underline-offset:.2em}
.form{display:grid;gap:1rem;background:#fff;padding:clamp(1.3rem,3vw,2.4rem);border:1px solid var(--line);box-shadow:0 1.5rem 3rem rgba(4,34,58,.1)}
.form label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem}
.form input,.form select,.form textarea{width:100%;min-height:3rem;padding:.7rem .9rem;border:1.5px solid #8aa4b3;border-radius:.3rem;background:#fff;font-weight:400}
.form textarea{min-height:7rem;resize:vertical}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:3px solid var(--aqua);outline-offset:1px;border-color:var(--mar)}
.form__note{font-size:.88rem;color:var(--suave)}

/* Blog */
.post-hero{padding-block:clamp(3rem,8vw,7rem) clamp(2rem,4vw,3rem)}
.post-hero h1{font-size:clamp(2.8rem,8vw,8rem);max-width:13ch}
.post-hero h1 .ln:last-child{font-style:italic;color:var(--aqua-ink)}
.post{display:grid;grid-template-columns:minmax(0,40rem) minmax(0,17rem);gap:clamp(2rem,7vw,7rem);padding-bottom:clamp(4rem,9vw,8rem);justify-content:center}
.post article>*+*{margin-top:1.3rem}
.post h2{font-size:clamp(1.9rem,3.2vw,2.8rem);margin-top:2.8rem;line-height:1.05}
.post article p{font-size:1.15rem;line-height:1.75}
.post figure{margin:2.2rem 0 0}
.post figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.post aside{position:sticky;top:calc(var(--hdr) + 2rem);align-self:start;border-top:2px solid var(--aqua);padding-top:1rem}
.post aside h2{font:600 1rem var(--sans);letter-spacing:0;margin:0 0 .8rem}
.post aside li{padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--suave)}

@media (max-width:900px){
  .p-hero__in,.water-band__in,.about-grid,.samuel-card__in,.ct,.post,.sv,.sv:nth-child(even){grid-template-columns:1fr}
  .svc-layout{grid-template-columns:1fr}
  .svc-index{position:static;display:flex;flex-wrap:wrap;gap:.4rem}
  .svc-index a{border:1.5px solid var(--line);border-radius:99px;padding:.4rem .9rem}
  .sv:nth-child(even) figure{order:0}
  .about-grid h2,.post aside{position:static}
  .rows li{grid-template-columns:1fr;gap:.3rem}
  .strip{grid-template-columns:1fr 1fr}.strip figure:first-child{grid-column:1/-1}
  .ct__list li{grid-template-columns:1fr;gap:.2rem}
  .p-hero .frame{aspect-ratio:4/3}
}
.p-hero h1{font-size:clamp(2.6rem,5.6vw,5.8rem)}
.ct__list li:nth-child(3) a{font-size:clamp(1.15rem,1.7vw,1.5rem)}

/* ===== Composiciones propias ===== */
.page figure{margin:0}
.frame{overflow:hidden}
.frame img,.sx-hero__img img,.bl-hero__img img{will-change:transform}
/* Servicios: titular + banda de imagen a sangre con tarjeta de cristal superpuesta */
.sx-hero{padding-top:clamp(2.5rem,6vw,5rem)}
.sx-hero__stage{position:relative;margin-top:clamp(1.8rem,4vw,3.4rem);margin-bottom:clamp(5rem,9vw,7rem)}
.sx-hero__img{position:relative;height:clamp(20rem,46vw,38rem);overflow:hidden;background:var(--sal)}
.sx-hero__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sx-hero__card{position:absolute;left:var(--gutter);bottom:calc(clamp(2.5rem,5vw,4rem) * -1);width:min(36rem,calc(100% - 2*var(--gutter)));padding:clamp(1.3rem,2.6vw,2.2rem);background:rgba(246,251,253,.94);border:1px solid rgba(255,255,255,.9);box-shadow:0 2rem 4rem rgba(4,34,58,.22)}
.sx-hero__card .p-hero__acts{margin-top:1.2rem}
.water-band{position:relative}
.water-band .wrap{position:relative}
.sv{counter-increment:none}
.sv__n{display:block;font-family:var(--serif);font-size:clamp(3rem,6vw,5.5rem);line-height:.9;color:#1796a8;margin-bottom:.4rem}
.svc-index a[aria-current="true"]{color:var(--tinta);border-color:var(--aqua)}
.sv figure .frame{aspect-ratio:4/5}
.sv figure .frame img{height:100%}
/* Nosotros: titular en tres líneas, retrato vertical que se cuela entre columnas, frase que se rellena al hacer scroll */
.nx-hero{padding-block:clamp(3rem,7vw,6rem) clamp(2rem,5vw,4rem)}
.nx-hero__in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:2rem;align-items:start}
.nx-hero__in .p-title{grid-column:1/9;grid-row:1;font-size:clamp(2.8rem,7.4vw,7.6rem)}
.nx-hero__fig{grid-column:8/13;grid-row:1/3;margin-top:clamp(3rem,10vw,9rem)}
.nx-hero__fig .frame{aspect-ratio:3/4;background:var(--sal)}
.nx-hero__fig img{width:100%;height:100%;object-fit:cover}
.nx-hero__lede{grid-column:1/7;grid-row:2}
.fill-band{padding-block:clamp(3rem,8vw,7rem);background:var(--sal)}
.fill{font-family:var(--serif);font-size:clamp(2rem,5vw,4.8rem);line-height:1.04;letter-spacing:-.015em;max-width:22ch}
.rows li{position:relative;border-top:0;--d:1}
.rows li::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--tinta);transform-origin:left;transform:scaleX(var(--d))}
.strip{align-items:start}
.strip figure{overflow:hidden}
.strip figure:nth-child(2){margin-top:3rem}
.strip figure:nth-child(3){margin-top:7rem}
.strip img{will-change:transform}
.samuel-card{position:relative}
.samuel-card .wrap{position:relative}
/* Contacto: lado sticky + formulario con microinteracciones */
.ct__side{position:sticky;top:calc(var(--hdr) + 2rem)}
.ct__hint{margin-top:2rem}
.ct__hint h2{font:600 1rem var(--sans);letter-spacing:0;margin-bottom:.6rem}
.ct__list li{transition:padding .35s var(--ease)}
.ct__list li:hover{padding-left:.6rem}
.form__fields{display:grid;gap:1rem}
.form label{transition:color .25s}
.form label:focus-within{color:var(--aqua-ink)}
.form input,.form select,.form textarea{transition:border-color .25s,box-shadow .25s}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{box-shadow:0 0 0 4px rgba(47,193,211,.25)}
.form__status{min-height:1.5rem;font-size:.95rem;color:var(--aqua-ink);font-weight:600}
/* Blog: lectura editorial con índice, barra de progreso y cita */
.readbar{position:fixed;top:var(--hdr);left:0;right:0;height:3px;z-index:99}
.readbar i{display:block;height:100%;background:var(--aqua);transform-origin:left;transform:scaleX(0)}
.bl-hero{padding-top:clamp(3rem,7vw,6rem)}
.bl-hero__img{position:relative;height:clamp(16rem,38vw,32rem);margin-top:clamp(2rem,4vw,3.4rem);overflow:hidden;background:var(--sal)}
.bl-hero__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post{grid-template-columns:13rem minmax(0,40rem);padding-top:clamp(2.5rem,6vw,5rem)}
.toc{position:sticky;top:calc(var(--hdr) + 2rem);align-self:start;display:grid;gap:.1rem;border-top:2px solid var(--aqua);padding-top:1rem}
.toc h2{font:600 1rem var(--sans);letter-spacing:0;margin:0 0 .6rem}
.toc a{padding:.4rem 0 .4rem .8rem;border-left:2px solid var(--line);text-decoration:none;color:var(--suave);font-size:.95rem;transition:color .25s,border-color .25s}
.toc a[aria-current="true"]{color:var(--tinta);border-color:var(--aqua)}
.pull{margin:2.4rem 0;padding-left:1.4rem;border-left:3px solid var(--aqua);font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;color:var(--mar)}
.post article figure .frame,.post article figure{overflow:hidden}
.post article figure img{height:100%;aspect-ratio:4/3}
@media (max-width:900px){
  .sx-hero__card{position:relative;left:auto;bottom:auto;width:auto;margin:-2.5rem var(--gutter) 0}
  .sx-hero__stage{margin-bottom:3rem}
  .nx-hero__in{grid-template-columns:1fr}
  .nx-hero__in .p-title,.nx-hero__fig,.nx-hero__lede{grid-column:1;grid-row:auto;margin-top:0}
  .nx-hero__fig{max-width:20rem}
  .strip figure:nth-child(2),.strip figure:nth-child(3){margin-top:0}
  .ct__side,.toc{position:static}
  .post{grid-template-columns:1fr}
  .toc{display:flex;flex-wrap:wrap;gap:.4rem}.toc h2{width:100%}
  .toc a{border:1.5px solid var(--line);border-radius:99px;padding:.35rem .8rem}
}
.sx-hero__stage{margin-bottom:clamp(2.5rem,5vw,4rem)}
.sx-hero__img{height:clamp(19rem,40vw,34rem)}
.sx-hero__card{bottom:clamp(1.2rem,2.6vw,2.4rem)}
.aqua--dark .aqua__waves{height:26%}
@media (max-width:900px){.sx-hero__card{bottom:auto}.sx-hero__stage{margin-bottom:2rem}}
