/* Respiro Integral — diseño "Retrato" (opción C elegida por Andrea, 2026-11-10) */
:root{--mist:#e4ebf1;--mistD:#d3dde6;--white:#f5f8fa;--ink:#1a2a38;--ink2:#4b5d6c;--line:#bcc9d4;--deep:#22394c;--deep2:#142636;--wa:#1f7a4d;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Albert Sans',system-ui,sans-serif;background:var(--white);color:var(--ink);font-size:1.0625rem;line-height:1.6}
::selection{background:var(--deep);color:#fff}
a{color:inherit}
img,video{max-width:100%}
:focus-visible{outline:2px solid var(--deep);outline-offset:3px;border-radius:2px}
h1,h2,h3,.serif{font-family:'Young Serif',Georgia,serif;font-weight:400;letter-spacing:-.018em;line-height:1.05}
h2{font-size:clamp(2.1rem,4.6vw,3.8rem);text-wrap:balance}
.wrap{width:min(1280px,100% - 2rem);margin-inline:auto}
@media (min-width:700px){.wrap{width:min(1280px,100% - 3rem)}}
.skip{position:absolute;left:-999px;top:.5rem;background:var(--deep);color:#fff;padding:.5rem .8rem;border-radius:6px;z-index:100}
.skip:focus{left:.5rem}
.btn{white-space:nowrap;display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.4rem;border-radius:6px;background:var(--deep);color:#fff;font:600 1rem 'Albert Sans',sans-serif;text-decoration:none;border:0;cursor:pointer;transition:background .25s,transform .35s var(--ease)}
.btn:hover{background:var(--deep2);transform:translateY(-2px)}
.btn svg{width:1.15em;height:1.15em;flex:none}

/* Barra superior */
.top{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.2rem 0;position:relative;z-index:4}
.brand{white-space:nowrap;font-family:'Young Serif',serif;font-size:1.45rem;text-decoration:none;line-height:1}
.brand span{color:var(--ink2)}
.top nav{display:flex;gap:1.5rem;align-items:center}
.top nav a{text-decoration:none;font-weight:500;font-size:.98rem}
.top nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:.3em}

/* HERO */
.hero{position:relative;background:radial-gradient(120% 90% at 85% 40%,#f3f7fa 0,var(--mist) 45%,#d6e1ea 100%);overflow:hidden;min-height:100svh;display:flex;flex-direction:column}
.hero::before{content:"";position:absolute;width:52vmax;height:52vmax;right:-6vmax;top:8%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.75) 0,rgba(255,255,255,0) 65%);z-index:0;animation:breathe 7s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(.94);opacity:.75}50%{transform:scale(1.04);opacity:1}}
.portrait{position:absolute;right:0;bottom:0;height:min(88%,820px);aspect-ratio:1;object-fit:cover;object-position:bottom;mix-blend-mode:multiply;z-index:1;pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 22%),linear-gradient(to bottom,transparent 0,#000 18%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 22%),linear-gradient(to bottom,transparent 0,#000 18%);mask-composite:intersect}
.heroMain{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;justify-content:center;padding:2rem 0 2.5rem}
.heroMain>*{max-width:600px}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;align-self:flex-start;font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);background:rgba(245,248,250,.7);border:1px solid var(--line);padding:.45rem .85rem;border-radius:999px;backdrop-filter:blur(6px)}
.eyebrow::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--wa);box-shadow:0 0 0 4px rgba(31,122,77,.15)}
.heroT{margin-top:1.4rem;font-size:clamp(2.4rem,4.4vw,4rem);line-height:1.02;letter-spacing:-.028em}
.heroT span{display:block;color:var(--ink2)}
.heroT span:last-child{color:var(--deep);font-style:italic}
.heroP{margin-top:1.4rem;max-width:44ch;font-size:1.12rem;line-height:1.55;color:var(--ink2)}
.heroCta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.9rem}
.btn.ghost{background:transparent;color:var(--deep);box-shadow:inset 0 0 0 1.5px var(--deep)}
.btn.ghost:hover{background:var(--deep);color:#fff}
.trust{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:1.25rem 2rem;margin-top:2.25rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.92rem;color:var(--ink2)}
.trust li{max-width:18ch;line-height:1.35}
.trust b{display:block;white-space:nowrap;font:400 1.35rem 'Young Serif',serif;color:var(--ink);margin-bottom:.15rem}
.heroMain>*{animation:rise .9s var(--ease) both}
.heroMain>*:nth-child(2){animation-delay:.08s}.heroMain>*:nth-child(3){animation-delay:.16s}.heroMain>*:nth-child(4){animation-delay:.24s}.heroMain>*:nth-child(5){animation-delay:.32s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.route{position:relative;z-index:3;background:var(--white);box-shadow:0 18px 50px -24px rgba(26,42,56,.45);border-radius:10px;padding:1.15rem 1.25rem 1.25rem;max-width:760px;margin-bottom:2rem}
.routeT{display:block;font-weight:600;margin-bottom:.7rem}
.opts{display:flex;flex-wrap:wrap;gap:.5rem}
.opt{padding:.62rem 1rem;border:1px solid var(--line);border-radius:6px;background:none;font:500 .98rem 'Albert Sans',sans-serif;color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.opt:hover{border-color:var(--ink)}
.opt[aria-pressed=true]{background:var(--deep);border-color:var(--deep);color:#fff}
.routeOut{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--mistD)}
.routeOut p{flex:1 1 260px;color:var(--ink2);font-size:1rem;line-height:1.4}

/* Secciones */
section{padding:clamp(4.5rem,10vw,9rem) 0;scroll-margin-top:0}
.kicker{display:block;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin-bottom:1rem;font-weight:600}
.dia{display:grid;grid-template-columns:4fr 7fr;gap:clamp(2rem,7vw,7rem);align-items:center}
.vid{position:relative;aspect-ratio:9/15;background:var(--mistD);border-radius:10px;overflow:hidden;max-height:680px}
.vid video{width:100%;height:100%;object-fit:cover;display:block}
.vid button{position:absolute;right:.75rem;bottom:.75rem;background:rgba(245,248,250,.92);border:0;border-radius:6px;padding:.45rem .75rem;font:500 .88rem 'Albert Sans';cursor:pointer;color:var(--ink)}
.dia p{max-width:56ch;color:var(--ink2);margin-top:1.25rem}
.steps{margin-top:2rem;list-style:none;padding:0}
.steps li{padding:1rem 0;border-top:1px solid var(--line)}
.steps li b{font-weight:600}

.nos{background:var(--deep);color:#e6edf2}
.nos .kicker{color:#a9bac7}
.nos h2{max-width:21ch}
.aG{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,6vw,6rem);margin-top:2.5rem}
.aG p{max-width:58ch;color:#c5d2dc}
.aG p+p{margin-top:1rem}
.aG ul{list-style:none;padding:0}
.aG li{padding:.75rem 0;border-top:1px solid rgba(230,237,242,.22)}
.aG li small{display:block;color:#a9bac7;font-size:.9rem}

.sv{display:grid;grid-template-columns:7fr 5fr;margin-top:3rem;border-top:1px solid var(--ink)}
.svL{padding:2rem 3rem 2rem 0;border-right:1px solid var(--line)}
.svL h3{font-size:clamp(1.8rem,3.2vw,2.75rem)}
.pr{font-variant-numeric:tabular-nums}
.svL .pr{font-family:'Young Serif';font-size:clamp(1.5rem,2.4vw,2rem);margin-top:.5rem}
.svL p{margin-top:1rem;color:var(--ink2);max-width:52ch}
.svL .btn{margin-top:1.5rem}
.svR>div{padding:1.5rem 0 1.5rem 2.5rem;border-bottom:1px solid var(--line)}
.svR>div:last-child{border-bottom:0}
.svR h3{font-size:1.4rem}
.svR .pr{font-weight:600;margin-top:.2rem}
.svR p{color:var(--ink2);font-size:1rem}
.note{margin-top:2rem;color:var(--ink2);font-size:.95rem;max-width:70ch}

.mods{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.mods>div{border-top:1px solid var(--ink);padding-top:1.1rem}
.mods h3{font-size:1.5rem}
.mods p{color:var(--ink2);margin-top:.5rem}

.voices{background:var(--mist)}
.vG{display:grid;grid-template-columns:repeat(12,1fr);gap:3rem 1.5rem;margin-top:3rem}
.vG blockquote{margin:0}
.vG q{quotes:none;display:block}
.v1{grid-column:1/7;font-family:'Young Serif';font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.2}
.v2{grid-column:8/13;align-self:end;font-size:1.15rem;line-height:1.45}
.v3{grid-column:3/8;font-size:1.15rem;line-height:1.45}
.v4{grid-column:8/13;font-size:1.15rem;line-height:1.45}
.vG cite{display:block;margin-top:.6rem;font:400 .92rem 'Albert Sans';color:var(--ink2)}

.pub{display:grid;grid-template-columns:6fr 6fr;gap:clamp(2rem,5vw,5rem);margin-top:3rem;align-items:end}
.pubBox{aspect-ratio:16/10;background:var(--deep);color:#e6edf2;display:flex;align-items:flex-end;padding:1.5rem;border-radius:10px;font-family:'Young Serif';font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.1}
.pub p{color:var(--ink2);max-width:46ch}
.pub .btn{margin-top:1.5rem}

.contact{background:var(--mist);padding-bottom:0;overflow:hidden}
.ctG{display:grid;grid-template-columns:7fr 5fr;gap:3rem;align-items:start;padding-bottom:clamp(3rem,6vw,5rem)}
.contact h2{font-size:clamp(2.6rem,7vw,6rem)}
.contact .btn{margin-top:1.75rem}
.ctG dl>div{padding:.9rem 0;border-top:1px solid var(--line)}
.ctG dt{font-size:.9rem;color:var(--ink2)}
.ctG dd{margin:0;overflow-wrap:anywhere}

.foot{background:var(--deep);color:#c5d2dc;font-size:.92rem;padding:1.5rem 0 6rem}
.foot .wrap{display:flex;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap}
.foot nav{display:flex;gap:1.25rem;flex-wrap:wrap}
.foot a{color:#e6edf2}

/* Botón flotante de WhatsApp (ítem 1.3) */
.waFloat{position:fixed;right:1rem;bottom:1rem;z-index:60;display:inline-flex;align-items:center;gap:.55rem;background:var(--wa);color:#fff;text-decoration:none;font-weight:600;padding:.85rem 1.1rem;border-radius:999px;box-shadow:0 12px 30px -10px rgba(10,40,25,.55);transition:transform .35s var(--ease),background .2s}
.waFloat:hover{transform:translateY(-3px);background:#17603c}
.waFloat svg{width:1.4rem;height:1.4rem}

/* Páginas legales */
.legalTop{background:var(--mist)}
.legal{padding:clamp(3rem,7vw,6rem) 0}
.legal .wrap{max-width:780px}
.legal h1{font-size:clamp(2.4rem,6vw,4rem)}
.legal .upd{color:var(--ink2);margin-top:.75rem;font-size:.95rem}
.legal h2{font-size:clamp(1.4rem,2.6vw,1.8rem);margin-top:2.75rem;line-height:1.2}
.legal p,.legal li{color:var(--ink2);margin-top:.9rem}
.legal ul{padding-left:1.25rem}
.legal li{margin-top:.5rem}
.legal strong{color:var(--ink);font-weight:600}

@media (max-width:980px){
 .portrait{position:relative;right:auto;bottom:auto;align-self:flex-end;width:min(78vw,440px);height:auto;margin:-.5rem -1rem -5.5rem auto;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 25%),linear-gradient(to top,transparent 0,#000 35%);mask-image:linear-gradient(to right,transparent 0,#000 25%),linear-gradient(to top,transparent 0,#000 35%)}
 .trust li{flex:1 1 40%}

 .heroT{font-size:clamp(2.3rem,9.5vw,3.4rem)}
 .heroMain{padding-top:0}
 .trust{gap:1rem 1.5rem}
 .top nav a:not(.btn){display:none}
 .top .btn{padding:.55rem .9rem}
 .dia,.aG,.sv,.pub,.ctG,.mods{grid-template-columns:1fr}
 .vid{max-height:520px;max-width:360px}
 .svL{padding:1.75rem 0;border-right:0;border-bottom:1px solid var(--line)}
 .svR>div{padding-left:0}
 .v1,.v2,.v3,.v4{grid-column:1/-1}
 .waFloat span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .waFloat{padding:.95rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
