/* Concepto: arquitectura de marca. Tramas geométricas de línea (círculos, arcos, triángulos) como lenguaje visual, arcos que enmarcan las fotos, serif de gran tamaño con cursiva para la idea clave y Montserrat para todo lo funcional. Fondo beige casi blanco con bloques azul noche. */
:root{
  color-scheme:light;
  --bg:#F7F4F0;
  --bg2:#F0EADD;
  --white:#FFFFFF;
  --navy:#25235F;
  --night:#191845;
  --peri:#5E5FAB;
  --lav:#C6C7E2;
  --lav-soft:#E9E8F4;
  --ink:#1C1B47;
  --muted:#5B5984;
  --line:rgba(37,35,95,.16);
  --line-lt:rgba(255,255,255,.2);
  --f-display:'Noto Serif Display','Georgia',serif;
  --f-body:'Montserrat','Helvetica Neue',Arial,sans-serif;
  --gutter:max(16px,env(safe-area-inset-left,0px));
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.7;overflow-x:hidden;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:70;background:var(--bg)}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:500;line-height:1.04;margin:0;letter-spacing:-.02em;text-wrap:balance}
h1 em,h2 em,h3 em{font-style:italic;font-weight:400;color:var(--peri)}
p{margin:0;text-wrap:pretty}
:focus-visible{outline:3px solid var(--peri);outline-offset:3px;border-radius:4px}
.dk :focus-visible{outline-color:var(--lav)}
.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--peri);display:inline-flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:34px;height:1.5px;background:currentColor}
.dk .eyebrow{color:var(--lav)}

/* Bandas */
.band{position:relative;margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));padding-block:clamp(64px,9vw,120px);overflow:hidden}
.in{position:relative;z-index:2;max-width:1160px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.dk{background:var(--navy);color:var(--white)}
.dk h1 em,.dk h2 em,.dk h3 em{color:var(--lav)}
.b2{background:var(--bg2)}
.strip-l,.strip-r{position:absolute;top:0;bottom:0;width:84px;background:url(pattern-light.svg) repeat-y;background-size:84px auto;z-index:1;opacity:.9}
.dk .strip-l,.dk .strip-r{background-image:url(pattern-dark.svg);opacity:.45}
.strip-l{left:0}.strip-r{right:0}
@media (max-width:1320px){.strip-l,.strip-r{width:48px;background-size:48px auto}}
@media (max-width:760px){.strip-l,.strip-r{display:none}}
.geo{position:absolute;pointer-events:none;z-index:1}

/* Navegación visible */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));background:var(--bg);border-bottom:1.5px solid var(--navy)}
.top-in{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:20px;padding:12px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px))}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy)}
.logo svg{width:44px;height:44px;flex:none}
.logo span{display:flex;flex-direction:column;line-height:1}
.logo small{font-size:.56rem;font-weight:700;letter-spacing:.32em;margin-bottom:3px}
.logo b{font-size:1.45rem;font-weight:700;letter-spacing:.04em}
.tabs{display:flex;gap:4px;margin-left:auto}
.tabs a{font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding:12px 18px;position:relative;white-space:nowrap}
.tabs a::after{content:"";position:absolute;left:18px;right:18px;bottom:4px;height:2px;background:var(--peri);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.tabs a:hover{color:var(--navy)}
.tabs a:hover::after{transform:scaleX(1)}
.tabs a[aria-current="page"]{color:var(--navy)}
.tabs a[aria-current="page"]::after{transform:scaleX(1);background:var(--navy)}
.btn{display:inline-flex;align-items:center;gap:10px;font:700 .8rem var(--f-body);letter-spacing:.1em;text-transform:uppercase;padding:15px 28px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform .2s,background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--peri)}
.btn-bg{background:var(--bg);color:var(--navy)}
.btn-bg:hover{background:var(--white)}
.btn-line{border-color:currentColor;background:transparent;color:inherit}
.btn-sm{padding:11px 20px;font-size:.72rem}
@media (max-width:860px){
  .top-in{flex-wrap:wrap;row-gap:0;padding-bottom:0}
  .logo{margin-right:auto}
  .tabs{order:3;width:100%;margin:8px calc(-1 * max(16px,env(safe-area-inset-left,0px))) 0;padding:0 max(0px,env(safe-area-inset-left,0px));display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
  .tabs a{text-align:center;padding:13px 2px;font-size:.66rem;letter-spacing:.06em}
  .tabs a::after{left:14%;right:14%}
}
@media (max-width:420px){.logo b{font-size:1.2rem}.logo svg{width:38px;height:38px}.tabs a{font-size:.6rem;letter-spacing:.03em}}

/* Inicio: portada */
.hero{padding-block:clamp(48px,7vw,96px) clamp(72px,9vw,120px)}
.hero .in{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(32px,6vw,80px);align-items:center}
.hero h1{font-size:clamp(2.7rem,6.2vw,5.6rem);margin:22px 0 28px}
.hero .lead{font-size:1.08rem;color:var(--muted);max-width:32em}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.stage{position:relative;max-width:470px;width:100%;margin-inline:auto;padding:0 0 26px 26px}
.frame{position:relative;border-radius:999px 999px 6px 6px;overflow:hidden;aspect-ratio:796/956;background:var(--navy);z-index:2}
.frame img{width:100%;height:100%;object-fit:cover}
.ghost{position:absolute;inset:26px 26px 0 0;border:1.5px solid var(--navy);border-radius:999px 999px 6px 6px;z-index:1}
.chip{position:absolute;z-index:4;font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:var(--bg);color:var(--navy);border:1.5px solid var(--navy);padding:9px 16px;border-radius:999px;white-space:nowrap}
.chip.a{top:16%;left:-6%;transform:rotate(-6deg)}
.chip.b{top:46%;right:-5%;transform:rotate(5deg);background:var(--navy);color:var(--white)}
.chip.c{bottom:12%;left:-4%;transform:rotate(-3deg)}
.badge{position:absolute;z-index:4;right:-2%;top:2%;width:112px;height:112px;border-radius:50%;background:var(--peri);color:var(--white);display:grid;place-content:center;text-align:center;line-height:1.1}
.badge b{font-family:var(--f-display);font-size:2rem;font-weight:500}
.badge span{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
@media (max-width:960px){.hero .in{grid-template-columns:1fr}.stage{max-width:400px}.chip.a{left:-2%}.chip.b{right:-2%}}

/* Cinta de áreas */
.ribbon{background:var(--navy);color:var(--white);margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));padding:18px 0;overflow:hidden}
.ribbon .in{display:flex;justify-content:space-between;align-items:center;gap:12px 28px;flex-wrap:wrap;font-family:var(--f-display);font-size:clamp(1.1rem,2.2vw,1.6rem)}
.ribbon i{color:var(--lav);font-style:normal;font-size:.9rem}

/* Cabeceras de sección */
.sec-head{display:grid;grid-template-columns:1.2fr .8fr;gap:24px 56px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.sec-head h2{font-size:clamp(2.1rem,4.4vw,3.6rem);margin-top:16px}
.sec-head p{color:var(--muted)}
.dk .sec-head p{color:var(--lav)}
@media (max-width:860px){.sec-head{grid-template-columns:1fr}}

/* Tarjetas de programas */
.progs{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px;align-items:stretch}
.card{position:relative;background:var(--white);border:1.5px solid var(--navy);border-radius:4px 4px 4px 80px;padding:34px 30px 34px;display:flex;flex-direction:column;gap:14px;min-width:0;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translate(-4px,-4px);box-shadow:8px 8px 0 var(--lav)}
.card h3{font-size:1.75rem}
.card p{color:var(--muted);font-size:.93rem}
.kind{font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--peri)}
.meta{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:.78rem;font-weight:600;color:var(--muted);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.card.fe{background:var(--navy);color:var(--white);border-radius:4px 80px 4px 4px;background-image:url(pattern-dark.svg);background-repeat:repeat-y;background-position:right top;background-size:56px auto}
.card.fe h3 em{color:var(--lav)}
.card.fe p,.card.fe .meta{color:var(--lav)}
.card.fe .kind{color:var(--lav)}
.card.fe .meta{border-color:var(--line-lt)}
.card.fe>*{max-width:calc(100% - 38px)}
.more{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;display:inline-flex;gap:8px}
.more:hover{text-decoration:underline;text-underline-offset:5px}
@media (max-width:960px){.progs{grid-template-columns:1fr}}

/* Testimonios */
.quotes{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:22px}
.q{border:1.5px solid rgba(255,255,255,.35);padding:32px 28px;display:flex;flex-direction:column;gap:20px;border-radius:80px 4px 4px 4px;min-width:0}
.q blockquote{margin:0;font-family:var(--f-display);font-size:1.3rem;line-height:1.4}
.q cite{font-style:normal;font-size:.78rem;font-weight:600;letter-spacing:.06em;color:var(--lav);margin-top:auto}
.q.case{background:var(--bg);color:var(--ink);border-color:var(--bg);border-radius:4px 80px 4px 4px}
.q.case cite{color:var(--muted)}
.q.case .eyebrow{color:var(--peri)}
.big{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-family:var(--f-display)}
.big b{font-size:2.8rem;font-weight:500;line-height:1;color:var(--navy)}
.big s{font-size:1.3rem;color:var(--muted)}
.big span{font-family:var(--f-body);font-size:.74rem;font-weight:600;color:var(--muted)}
.pend{font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--lav);opacity:.8}
@media (max-width:960px){.quotes{grid-template-columns:1fr}}

/* Bio y páginas internas */
.two{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,96px);align-items:center}
.two.top{align-items:start}
.two h2{font-size:clamp(2rem,4vw,3.3rem);margin:16px 0 24px}
.two p{color:var(--muted)}
.two p+p{margin-top:16px}
.two p.first{font-family:var(--f-display);font-size:1.4rem;line-height:1.45;color:var(--ink)}
.two .stage{max-width:430px;margin-inline:0}
.sticky{position:sticky;top:120px}
.arch-r .frame{border-radius:6px 999px 6px 6px}
.arch-r .ghost{border-radius:6px 999px 6px 6px}
@media (max-width:960px){.two{grid-template-columns:1fr}.two .stage{margin-inline:auto}.sticky{position:static}}

.page-hero{padding-block:clamp(56px,8vw,112px) clamp(48px,7vw,88px)}
.page-hero h1{font-size:clamp(2.5rem,5.8vw,5rem);max-width:13em;margin-top:20px}
.page-hero p{margin-top:24px;font-size:1.05rem;max-width:34em;color:var(--lav)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:32px 0;border:1.5px solid var(--navy);background:var(--white)}
.facts div{padding:22px;border-right:1.5px solid var(--navy);border-bottom:1.5px solid var(--navy)}
.facts div:nth-child(2n){border-right:0}
.facts div:nth-last-child(-n+2){border-bottom:0}
.facts b{display:block;font-family:var(--f-display);font-size:1.9rem;font-weight:500;line-height:1.1;color:var(--navy)}
.facts span{font-size:.78rem;font-weight:500;color:var(--muted)}
.prose h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:48px 0 16px}
.prose h2:first-child{margin-top:0}
.areas{list-style:none;margin:0;padding:0}
.areas li{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:20px 0;border-top:1.5px solid var(--navy)}
.areas li:last-child{border-bottom:1.5px solid var(--navy)}
.areas i{font-family:var(--f-display);font-style:italic;color:var(--peri);font-size:1.5rem}
.areas b{display:block;font-size:.95rem}
.areas span{color:var(--muted);font-size:.92rem}

/* Programas: bloque insignia */
.feat{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:start}
.feat h2{font-size:clamp(2.4rem,5vw,4.2rem);margin:16px 0 20px}
.feat p{color:var(--lav)}
.dates{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.dates span{font-size:.74rem;font-weight:600;letter-spacing:.04em;border:1.5px solid var(--line-lt);padding:9px 16px;border-radius:999px}
.dates b{color:var(--lav);font-weight:700}
.levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:28px}
.levels div{border:1.5px solid var(--line-lt);padding:20px;border-radius:4px 40px 4px 4px}
.levels b{display:block;font-family:var(--f-display);font-weight:500;font-size:1.2rem;margin-bottom:6px}
.levels span{font-size:.84rem;color:var(--lav);display:block;line-height:1.55}
.bonus{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.bonus span{font-size:.7rem;font-weight:700;letter-spacing:.06em;background:var(--lav);color:var(--night);padding:8px 14px;border-radius:999px}
.phases{display:grid;gap:12px}
.phase{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:20px 22px;border:1.5px solid var(--line-lt);border-radius:4px 4px 4px 40px;background:rgba(255,255,255,.04)}
.phase small{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lav);line-height:1.5}
.phase b{font-family:var(--f-display);font-weight:500;font-size:1.25rem;display:block;margin-bottom:2px}
.phase span{color:var(--lav);font-size:.88rem;line-height:1.55}
@media (max-width:960px){.feat{grid-template-columns:1fr}}
@media (max-width:560px){.levels{grid-template-columns:1fr}.phase{grid-template-columns:1fr;gap:6px}}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:760px){.grid2{grid-template-columns:1fr}}

/* Contacto */
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,80px);align-items:start}
form.f{background:var(--white);border:1.5px solid var(--navy);border-radius:4px 4px 4px 80px;padding:clamp(26px,4vw,44px);display:grid;gap:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:grid;gap:7px;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);min-width:0}
input,select,textarea{font:500 .98rem var(--f-body);letter-spacing:0;text-transform:none;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:4px;padding:14px 15px;width:100%;transition:border-color .2s,background .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy);background:var(--white)}
textarea{min-height:150px;resize:vertical}
.note{font-size:.8rem;color:var(--muted)}
.ok{background:var(--lav-soft);border-left:4px solid var(--peri);padding:12px 14px;font-size:.86rem;color:var(--navy)}
.side .stage{max-width:400px;margin-inline:0 auto}
.side h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:34px 0 12px}
.side p{color:var(--muted)}
.soc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.soc a{display:flex;flex-direction:column;gap:2px;text-decoration:none;border:1.5px solid var(--navy);background:var(--white);padding:18px 16px;font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,color .2s,transform .2s}
.soc a:hover{background:var(--navy);color:var(--white);transform:translateY(-3px)}
.soc span{font-weight:500;letter-spacing:0;text-transform:none;font-size:.8rem;opacity:.75}
.soc-wrap{margin-top:clamp(48px,6vw,80px)}
.soc-wrap .eyebrow{margin-bottom:20px}
@media (max-width:960px){.contact{grid-template-columns:1fr}.soc{grid-template-columns:repeat(2,minmax(0,1fr))}.side .stage{margin-inline:auto}}
@media (max-width:560px){.row{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.facts div{border-right:0!important;border-bottom:1.5px solid var(--navy)!important}.facts div:last-child{border-bottom:0!important}}

/* CTA y pie */
.cta{text-align:center}
.cta .in{display:flex;flex-direction:column;align-items:center}
.cta h2{font-size:clamp(2.2rem,5vw,4rem);max-width:14em;margin:20px 0 28px}
.cta p{max-width:34em;margin-bottom:34px;color:var(--lav)}
.foot{margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));background:var(--night);color:var(--lav);padding-block:44px}
.foot .in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center;font-size:.8rem}
.foot .logo{color:var(--white)}
.foot nav{display:flex;gap:22px;flex-wrap:wrap;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}
.foot a{text-decoration:none}.foot a:hover{color:var(--white)}

/* Inicio de sesión */
.modal{position:fixed;inset:0;z-index:100;background:rgba(25,24,69,.65);display:grid;place-items:center;padding:20px}
.dialog{background:var(--bg);width:min(440px,100%);padding:clamp(26px,4vw,40px);display:grid;gap:16px;position:relative;border:1.5px solid var(--navy);border-radius:4px 4px 4px 70px}
.dialog h2{font-size:2.1rem}
.dialog .s{color:var(--muted);font-size:.9rem}
.dialog form{display:grid;gap:16px}
.close{position:absolute;top:10px;right:12px;background:none;border:0;font-size:1.7rem;line-height:1;cursor:pointer;color:var(--muted);padding:6px 10px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Legibilidad: la serif solo en títulos grandes, con más peso; todo lo demás en Montserrat */
h1,h2{font-weight:600;line-height:1.12;letter-spacing:-.01em}
h1 em,h2 em{font-style:italic;font-weight:500}
h3{font-family:var(--f-body);font-weight:700;line-height:1.25;letter-spacing:-.01em;font-size:1.3rem}
h3 em{font-style:normal;font-weight:700}
.hero h1{font-size:clamp(2.3rem,5vw,4.4rem)}
.page-hero h1{font-size:clamp(2.3rem,5.2vw,4.4rem)}
.sec-head h2,.two h2,.side h2,.prose h2,.feat h2,.cta h2{font-size:clamp(1.8rem,3.6vw,2.9rem)}
.feat h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.card h3{font-size:1.35rem}
.q blockquote{font-family:var(--f-body);font-weight:500;font-size:1.02rem;line-height:1.65}
.big b,.big s,.facts b,.levels b,.phase b,.badge b,.areas i,.ribbon .in,.two p.first{font-family:var(--f-body)}
.big b{font-size:2.2rem;font-weight:700}
.big s{font-size:1.1rem}
.facts b{font-size:1.5rem;font-weight:700}
.levels b{font-size:1rem;font-weight:700}
.phase b{font-size:1.05rem;font-weight:700}
.badge b{font-size:1.7rem;font-weight:700}
.areas i{font-style:normal;font-weight:700;font-size:.9rem;letter-spacing:.08em}
.ribbon .in{font-size:clamp(.78rem,1.6vw,.95rem);font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.two p.first,.lead-l{font-family:var(--f-body);font-weight:600;font-size:1.2rem;line-height:1.6;color:var(--ink)}
.prose p{color:var(--muted)}
.prose p+p{margin-top:16px}
.prose .lead-l{color:var(--ink);margin-bottom:6px}
.page-hero .role{font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:600;color:var(--white);margin-top:22px}
.page-hero .made{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-top:14px;color:var(--lav)}
.page-hero .made b{color:var(--white);font-weight:700}
.tl{list-style:none;margin:28px 0 0;padding:0;border-left:1.5px solid var(--navy)}
.tl li{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:0 0 34px 26px;position:relative}
.tl li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:1.5px solid var(--navy)}
.tl .yr{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--peri);padding-top:3px}
.tl b{display:block;font-size:1.05rem;margin-bottom:6px;color:var(--ink)}
.tl p{font-size:.95rem;margin:0}
@media (max-width:560px){.tl li{grid-template-columns:1fr;gap:4px}}
.quad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1.5px solid var(--line-lt);margin-bottom:40px}
.quad>div{padding:28px 24px;border-right:1.5px solid var(--line-lt)}
.quad>div:last-child{border-right:0}
.quad span{font-size:.7rem;font-weight:700;letter-spacing:.2em;color:var(--lav)}
.quad b{display:block;font-size:1.5rem;font-weight:700;letter-spacing:.04em;margin:10px 0}
.quad p{color:var(--lav);font-size:.9rem;line-height:1.6}
.closing{max-width:42em;color:var(--white);font-size:1.05rem;line-height:1.7}
@media (max-width:860px){.quad{grid-template-columns:repeat(2,minmax(0,1fr))}.quad>div:nth-child(2){border-right:0}.quad>div:nth-child(-n+2){border-bottom:1.5px solid var(--line-lt)}}
@media (max-width:480px){.quad{grid-template-columns:1fr}.quad>div{border-right:0;border-bottom:1.5px solid var(--line-lt)}.quad>div:last-child{border-bottom:0}}
.sticky .facts{margin-top:28px}

.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media (max-width:860px){.grid3{grid-template-columns:1fr}}

/* ===== Rediseño v2: portada de revista, bloques de color, tarjetas redondeadas ===== */
:root{--plum:#2b2252;--plum2:#3a2f68;--peri-d:#4F509A}
header.top{position:sticky;top:0;height:0;border:0;background:none;overflow:visible}
.top-in{width:min(1160px,calc(100% - 32px));max-width:none;margin:12px auto 0;padding:8px 8px 8px 20px;background:rgba(247,244,240,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;box-shadow:0 10px 30px rgba(25,24,69,.18);position:relative}
.top .logo svg{width:38px;height:38px}
.top .logo b{font-size:1.25rem}
.tabs a{border-radius:999px;padding:10px 16px}
.tabs a::after{display:none}
.tabs a:hover{background:var(--lav-soft)}
.tabs a[aria-current="page"]{background:var(--navy);color:var(--white)}
@media (max-width:860px){
  .top-in{border-radius:28px;padding:8px 10px 6px 16px;flex-wrap:wrap}
  .tabs{margin:6px 0 0;padding:0;border-top:1px solid var(--line);gap:2px;padding-top:6px;padding-bottom:2px}
  .tabs a{padding:10px 2px}
}
h1,h2{letter-spacing:-.015em}
.btn{padding:16px 30px}
.btn-lav{background:var(--lav);color:var(--night)}
.btn-lav:hover{background:var(--white)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:var(--white);background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn .ar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:var(--white);font-size:.8rem}
.btn-lav .ar{background:var(--night)}

/* Portada */
.hero2{position:relative;margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));background:linear-gradient(180deg,#241c49 0%,#2e2553 55%,#4a4180 100%);color:var(--white);overflow:hidden;padding-top:104px}
.hero2::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 60% at 50% 55%,rgba(118,100,196,.45),transparent 70%);pointer-events:none}
.hero2 .in{max-width:1240px;display:grid;grid-template-columns:1fr minmax(300px,500px) 1fr;align-items:end;gap:0 clamp(12px,3vw,40px);min-height:min(88vh,800px)}
.hero2 .role{position:absolute;top:0;left:0;right:0;text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--lav);z-index:3;margin:0}
.bigname{position:absolute;left:0;right:0;top:34px;text-align:center;margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(6rem,19vw,15.5rem);line-height:.9;letter-spacing:-.035em;color:var(--lav);z-index:1;pointer-events:none}
.photo-wrap{position:relative;z-index:2;align-self:end}
.hero-photo{width:100%;height:auto;aspect-ratio:796/956;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 20%,#000 80%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 22%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 20%,#000 80%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 22%);mask-composite:intersect}
.col-l,.col-r{position:relative;z-index:3;padding-bottom:clamp(40px,7vw,84px);display:flex;flex-direction:column;gap:26px}
.tag{font-size:clamp(1.25rem,2.3vw,1.9rem);font-weight:600;line-height:1.25;margin:0;letter-spacing:-.01em}
.tag em{font-style:normal;color:var(--lav)}
.col-r{align-items:flex-start}
.col-l{align-items:flex-start}
.hero2 .actions{margin-top:6px}
.mini{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:14px 18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mini b{font-size:1.7rem;font-weight:700;line-height:1}
.mini span{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--lav);line-height:1.4}
.spin{position:absolute;z-index:4;width:116px;height:116px;right:-4%;top:34%}
.spin svg{width:100%;height:100%;animation:giro 22s linear infinite}
.spin::after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;color:var(--lav);font-size:1.6rem}
.spin text{font:700 11.2px var(--f-body);letter-spacing:.2em;text-transform:uppercase;fill:var(--lav)}
@keyframes giro{to{transform:rotate(360deg)}}
@media (max-width:980px){
  .hero2{padding-top:150px}
  .hero2 .in{display:flex;flex-direction:column;align-items:center;min-height:0;text-align:center;padding-top:0}
  .hero2 .role{top:-4px;padding-inline:16px;font-size:.62rem}
  .bigname{position:relative;top:auto;margin-bottom:-.12em;font-size:clamp(5.2rem,27vw,11rem)}
  .photo-wrap{width:min(420px,88%);order:1}
  .col-l{order:2;align-items:center;padding-bottom:0;margin-top:-6px}
  .col-r{order:3;align-items:center;padding-top:22px}
  .spin{width:92px;height:92px;right:-2%;top:24%}
  .col-r .actions{justify-content:center}
  .hero2 .role{position:absolute}
}
.ribbon2{background:var(--peri);color:var(--white);margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));overflow:hidden;padding:15px 0;white-space:nowrap}
.ribbon2 .run{display:inline-flex;gap:34px;padding-right:34px;animation:corre 28s linear infinite;font-size:.8rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.ribbon2 .track{display:inline-flex;width:max-content}
.ribbon2 i{font-style:normal;color:var(--lav)}
@keyframes corre{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.ribbon2 .run,.spin svg,.ghosttxt .run{animation:none!important}}

/* Frase central */
.band.statement{background:var(--peri-d);color:var(--white);text-align:center}
.statement .in{max-width:960px;display:flex;flex-direction:column;align-items:center;gap:30px}
.statement h2{font-size:clamp(1.9rem,4.6vw,3.7rem);line-height:1.18;font-weight:600}
.statement h2 em{font-style:normal;color:var(--lav)}
.statement h2 u{text-decoration:underline;text-decoration-color:var(--lav);text-decoration-thickness:3px;text-underline-offset:8px}
.statement p{color:#E3E3F3;max-width:36em;font-size:1.05rem}

/* Cifras */
.bento{display:grid;grid-template-columns:1fr 1fr 1.25fr 1fr;gap:16px}
.bx{position:relative;border-radius:28px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;min-height:290px;overflow:hidden}
.bx small{font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.bx b{display:block;font-size:clamp(2.4rem,4vw,3.4rem);font-weight:700;line-height:1;letter-spacing:-.02em;margin-bottom:10px}
.bx span{font-size:.9rem;line-height:1.5;font-weight:500}
.bx.white{background:var(--white);border:1px solid var(--line)}
.bx.lav{background:var(--lav);color:var(--night)}
.bx.navy{background:var(--navy);color:var(--white)}
.bx.ph{padding:0;color:var(--white)}
.bx.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% 22%;transform:scale(1.45);transform-origin:46% 28%}
.bx.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(25,24,69,.85))}
.bx.ph div{position:absolute;left:24px;right:24px;bottom:22px;z-index:2}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}.bx{min-height:230px}.bx.ph{grid-column:span 2}}

/* Programas como módulos con foto */
.band.mods{background:linear-gradient(180deg,#201A45,#2b2252)}
.mods-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mod{position:relative;display:block;aspect-ratio:3/4.15;border-radius:28px;overflow:hidden;text-decoration:none;color:var(--white);border:1.5px solid rgba(198,199,226,.5);box-shadow:0 0 0 0 rgba(198,199,226,0);transition:transform .3s,box-shadow .3s}
.mod:hover{transform:translateY(-6px);box-shadow:0 18px 50px rgba(94,95,171,.5)}
.mod img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(var(--s,1.5));transform-origin:var(--o,46% 30%);transition:transform .6s}
.mod:hover img{transform:scale(calc(var(--s,1.5) + .08))}
.mod::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,24,69,.05) 35%,rgba(25,24,69,.92) 82%)}
.mod .pill{position:absolute;top:18px;left:18px;z-index:2;background:var(--lav);color:var(--night);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border-radius:999px}
.mod .tx{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;display:flex;flex-direction:column;gap:8px}
.mod small{font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--lav)}
.mod b{font-size:1.7rem;font-weight:700;line-height:1.1;letter-spacing:-.01em}
.mod p{font-size:.88rem;color:#E3E3F3;line-height:1.55;margin:0}
.mod .go{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
@media (max-width:900px){.mods-grid{grid-template-columns:1fr;max-width:460px;margin-inline:auto}.mod{aspect-ratio:3/3.6}}

/* Testimonios en tarjetas redondeadas */
.quotes{gap:18px}
.q{border-radius:28px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.05)}
.q.case{border-radius:28px;background:var(--lav);border-color:var(--lav);color:var(--night)}
.q.case .eyebrow{color:var(--peri-d)}
.q.case .big b{color:var(--night)}

/* Tarjeta oscura con foto y sello */
.band.plain{background:var(--bg)}
.quote-card{position:relative;background:var(--plum);color:var(--white);border-radius:36px;padding:clamp(40px,6vw,76px) clamp(24px,8vw,120px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.quote-card h2{font-size:clamp(1.9rem,4.2vw,3.3rem);max-width:15em}
.quote-card h2 em{color:var(--lav)}
.quote-card p{color:#E3E3F3;max-width:36em}
.quote-card .tilt{position:absolute;left:-26px;top:50%;width:clamp(96px,13vw,150px);aspect-ratio:3/4;border-radius:24px;overflow:hidden;transform:translateY(-50%) rotate(-5deg);border:3px solid var(--bg);box-shadow:0 14px 30px rgba(25,24,69,.3)}
.quote-card .tilt img{width:100%;height:100%;object-fit:cover;transform:scale(1.7);transform-origin:46% 30%}
.quote-card .spin{right:2%;top:auto;bottom:8%;width:104px;height:104px}
@media (max-width:860px){.quote-card .tilt,.quote-card .spin{display:none}}

/* Historia con texto fantasma */
.band.story{background:linear-gradient(180deg,var(--bg) 0%,#E9E8F4 100%);padding-top:clamp(40px,6vw,70px)}
.ghosttxt{position:absolute;left:0;right:0;top:clamp(8px,2vw,28px);white-space:nowrap;overflow:hidden;z-index:0;pointer-events:none}
.ghosttxt .track{display:inline-flex;width:max-content}
.ghosttxt .run{display:inline-flex;gap:.5em;padding-right:.5em;animation:corre 60s linear infinite;font-family:var(--f-display);font-weight:600;font-size:clamp(4.5rem,13vw,10.5rem);line-height:1;color:#DAD8EC;text-transform:uppercase}
.story .two{padding-top:clamp(60px,12vw,150px)}
.story .stage{padding:0}
.story .frame{border-radius:999px 999px 28px 28px;background:var(--plum)}
.story .ghost{display:none}
.story .two h2{font-size:clamp(1.9rem,3.8vw,3rem)}

/* Cierre */
.band.closing-band{background:var(--lav);color:var(--night);text-align:center}
.closing-band .in{display:flex;flex-direction:column;align-items:center;gap:26px;max-width:860px}
.closing-band h2{font-size:clamp(2rem,4.6vw,3.6rem)}
.closing-band h2 em{color:var(--peri-d)}
.closing-band p{max-width:34em;color:#33316F}
.closing-band .btn-navy:hover{background:var(--peri-d)}

/* Resto del sitio con el mismo lenguaje: esquinas redondeadas y líneas suaves */
.card{border:1px solid var(--line);border-radius:28px;box-shadow:0 8px 28px rgba(37,35,95,.06)}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(37,35,95,.14)}
.card.fe{border-radius:28px}
form.f{border:1px solid var(--line);border-radius:32px;box-shadow:0 8px 28px rgba(37,35,95,.06)}
input,select,textarea{border-radius:16px}
.facts{border:0;background:none;gap:12px}
.facts div{border:0!important;background:var(--white);border-radius:22px;border:1px solid var(--line)!important}
.soc a{border:1px solid var(--line);border-radius:22px}
.quad{border:0;gap:14px}
.quad>div{border:1px solid var(--line-lt)!important;border-radius:24px}
.levels div{border-radius:22px}
.phase{border-radius:22px}
.dialog{border-radius:32px;border:0}
.areas li{border-top:1px solid var(--line)}
.areas li:last-child{border-bottom:1px solid var(--line)}
.tl{border-left:1.5px solid var(--lav)}
.tl li::before{border-color:var(--peri);background:var(--peri-d)}

/* Cabecera de páginas internas, con foto */
.page-hero{background:linear-gradient(180deg,#241c49 0%,#2e2553 70%,#3d3470 100%);padding-block:clamp(130px,15vw,190px) clamp(56px,7vw,96px);min-height:clamp(420px,52vw,560px);display:flex;align-items:center}
.page-hero .strip-r{display:none}
.page-hero .in{width:100%}
.page-hero .in>*{max-width:min(620px,56%)}
.ph-photo{position:absolute;right:max(0px,calc(50% - 640px));bottom:0;height:104%;width:auto;aspect-ratio:796/956;z-index:1;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 30%,#000 85%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 20%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 30%,#000 85%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 20%);mask-composite:intersect}
@media (max-width:860px){.page-hero .in>*{max-width:100%}.ph-photo{opacity:.28;height:100%}.page-hero{min-height:0}}

.statement .eyebrow,.quote-card .eyebrow,.hero2 .eyebrow{color:var(--lav)}
.closing-band .eyebrow{color:var(--peri-d)}
.hero2 .role{top:92px}
.bigname{top:116px;font-size:clamp(6rem,17vw,13.5rem)}
.hero2{padding-top:0}
.hero2 .in{padding-top:120px}
.col-l{align-self:center;padding-bottom:0;margin-top:140px}
@media (max-width:980px){
  .hero2{padding-top:0}
  .hero2 .in{padding-top:190px}
  .hero2 .role{top:104px;position:absolute}
  .bigname{position:relative;top:auto;font-size:clamp(5rem,26vw,10rem)}
  .col-l{margin-top:-6px}
}
.spin text{font-size:10px;letter-spacing:.1em}
@media (max-width:980px){.hero2 .in{padding-top:215px}.hero2 .role{top:132px}}

.top .logo img{height:34px;width:auto;display:block}
.foot .logo img{height:36px;width:auto;display:block}
.closing-band .wm{position:absolute;right:-60px;bottom:-90px;width:clamp(220px,32vw,420px);opacity:.28;pointer-events:none;transform:rotate(-8deg)}
@media (max-width:860px){.top .logo img{height:30px}.closing-band .wm{opacity:.18}}
.closing-band .wm{right:7%;bottom:auto;top:50%;width:clamp(120px,15vw,190px);margin-top:-95px;opacity:.4;transform:rotate(-6deg)}
@media (max-width:1000px){.closing-band .wm{display:none}}
/* Módulos: tres en una misma línea y más compactos */
.mods-grid{max-width:960px;margin-inline:auto;gap:14px}
.mod{aspect-ratio:3/3.7;border-radius:24px}
.mod .tx{left:18px;right:18px;bottom:18px;gap:6px}
.mod b{font-size:1.25rem}
.mod p{font-size:.78rem;line-height:1.5}
.mod small{font-size:.58rem}
.mod .pill{top:14px;left:14px;font-size:.58rem;padding:7px 11px}
@media (max-width:900px){.mods-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.mod p{display:none}.mod{aspect-ratio:3/4.2}}
@media (max-width:640px){.mods-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mod{aspect-ratio:3/5;border-radius:18px}.mod b{font-size:.92rem}.mod small,.mod .go{display:none}.mod .pill{font-size:.5rem;padding:5px 8px;top:8px;left:8px;letter-spacing:.06em}.mod .tx{left:10px;right:10px;bottom:12px}}

.bx .ic{position:absolute;top:22px;right:22px;width:42px;height:42px;opacity:.9}
.bx.ph .ic{color:var(--white);z-index:2;top:20px;right:20px}
.bx b.sm{font-size:clamp(1.5rem,2.2vw,1.9rem);line-height:1.15;margin-bottom:0}

.bx.ph{background:var(--peri-d);padding:26px}
.bx.ph::after{display:none}
.bx.ph div{position:static}
.bx.ph .ic{color:var(--white)}
body :is(p,li,span,blockquote,cite,label,small,em,a,div,b,u,s,i){line-height:1.15!important}
.bx b{font-size:clamp(1.6rem,2.45vw,2.3rem);overflow-wrap:anywhere}
.sec-head.one{grid-template-columns:1fr}.sec-head.one .sub{margin-top:14px;color:var(--lav);font-size:1.05rem;max-width:40em}
/* Cifras: cuatro cuadros iguales, rectangulares y compactos */
.bento{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.bx,.bx.ph{min-height:0;aspect-ratio:5/3.4;padding:20px;gap:14px}
.bx.ph{grid-column:auto}
.bx .ic{top:16px;right:16px;width:34px;height:34px}
.bx.ph .ic{top:16px;right:16px}
@media (max-width:900px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bx,.bx.ph{aspect-ratio:5/3.6;grid-column:auto;padding:16px}.bx b{font-size:clamp(1.4rem,5vw,1.8rem)}.bx span{font-size:.8rem}}
/* Fotos sin zoom ni recortes forzados: se ven como las originales */
.mod img,.mod:hover img{transform:none!important;object-position:50% 20%}
.quote-card .tilt img{transform:none;object-position:50% 20%}
/* Menú más proporcionado */
.top-in{padding:5px 6px 5px 18px;width:min(1080px,calc(100% - 32px));margin-top:10px;gap:14px}
.top .logo img{height:22px}
.tabs a{font-size:.7rem;padding:8px 13px;letter-spacing:.08em}
.top .btn-sm{padding:10px 18px;font-size:.66rem}
.foot .logo img{height:26px}
@media (max-width:860px){.top-in{padding:6px 8px 4px 14px}.top .logo img{height:20px}.tabs a{padding:8px 2px;font-size:.62rem}.top .btn-sm{padding:9px 14px;font-size:.62rem}}
.closing-band .wm{display:none}
.closing-band .seal{width:56px;height:56px;display:block}

.sum{display:flex;justify-content:space-between;align-items:center;gap:28px 48px;flex-wrap:wrap;background:rgba(255,255,255,.06);border:1px solid var(--line-lt);border-radius:32px;padding:clamp(28px,4vw,48px)}
.sum>div{max-width:640px}
.sum h2{font-size:clamp(2rem,4vw,3rem);margin:12px 0}
.sum p{color:var(--lav)}
.prose .areas{margin-top:36px}
.areas li{padding:24px 0;gap:14px}
.areas li>div{display:grid;gap:6px}
.areas b{line-height:1.3!important}
.two.top .prose>p:first-child{margin-top:4px}
body .prose>p,body .prose .lead-l{line-height:1.55!important}
.prose .areas{margin-top:40px}
.hero-photo{aspect-ratio:796/1024;object-fit:cover}
.ph-photo{object-fit:cover}
@media (min-width:981px){.hero2 .in{min-height:880px}}
.hero-photo{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 20%,#000 80%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 30%);mask-image:linear-gradient(to right,transparent 0,#000 20%,#000 80%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 30%)}

/* La foto va delante del nombre: capa de fondo, nombre y recorte encima */
.hero2 .in{grid-template-columns:1fr minmax(380px,640px) 1fr}
@media (min-width:981px){.hero2 .in{min-height:800px}}
.photo-wrap{z-index:auto}
.hero-photo{position:relative;z-index:2}
.bigname{z-index:3}
.hero-cut{position:absolute;left:0;top:0;width:100%;height:100%;z-index:4;pointer-events:none}
.col-l,.col-r{z-index:5}
.spin{z-index:6}
@media (max-width:980px){.photo-wrap{width:min(520px,100%);margin-top:-27vw}.bigname{margin-bottom:0}}
.hero2 .in{grid-template-columns:1fr minmax(380px,600px) 1fr}

.closing-band .seal{display:none}
.closing-band .wm{display:block;position:absolute;right:max(-40px,calc(50% - 760px));bottom:-70px;top:auto;margin:0;width:clamp(200px,24vw,320px);opacity:.28;transform:rotate(-8deg);pointer-events:none;z-index:1}
@media (max-width:1000px){.closing-band .wm{display:block;width:200px;right:-50px;bottom:-60px;opacity:.2}}
.closing-band .wm{width:clamp(130px,14vw,200px);right:max(24px,calc(50% - 600px));bottom:36px;opacity:.26;transform:rotate(-8deg)}
@media (max-width:1000px){.closing-band .wm{width:120px;right:16px;bottom:16px;opacity:.18}}
.closing-band .wm{height:auto;aspect-ratio:1}
.closing-band .wm{width:clamp(220px,27vw,380px);right:max(24px,calc(50% - 600px));bottom:calc(-.34 * clamp(220px,27vw,380px));opacity:.28;transform:rotate(-8deg)}
@media (max-width:1000px){.closing-band .wm{width:220px;right:-20px;bottom:-75px;opacity:.2}}
.closing-band .wm{right:max(-10px,calc(50% - 700px))}

body .story .two p,body .story .two p.first{font-family:var(--f-body);font-weight:400;font-size:1.05rem;color:var(--ink)}
body .story .two p{line-height:1.55!important}
.story .two p+p{margin-top:16px}

/* Tipografía: Montserrat para casi todo, Noto Serif Display cursiva solo en palabras clave */
h1,h2{font-family:var(--f-body);font-weight:700;letter-spacing:-.025em;line-height:1.12}
h1 em,h2 em,h3 em,.tag em,.statement h2 em,.statement h2 u,.sum h2 em,.quote-card h2 em,.closing-band h2 em{font-family:var(--f-display);font-style:italic;font-weight:500;letter-spacing:-.01em}
.statement h2 u{text-decoration:none;color:var(--lav)}
.hero2 .tag{font-weight:600}
.bigname{font-family:var(--f-body);font-weight:700;letter-spacing:-.05em;font-size:clamp(5.5rem,17vw,14rem)}
.ghosttxt .run{font-family:var(--f-body);font-weight:800;letter-spacing:-.04em}
.hero-title-fix{}
@media (max-width:980px){.bigname{font-size:clamp(4.6rem,25vw,9.5rem)}}
.sec-head h2,.two h2,.side h2,.prose h2,.feat h2,.cta h2,.sum h2{font-size:clamp(1.7rem,3.3vw,2.7rem)}
.statement h2{font-size:clamp(1.7rem,4vw,3.2rem)}
.page-hero h1{font-size:clamp(2.1rem,4.8vw,4rem)}
.quote-card h2,.closing-band h2{font-size:clamp(1.8rem,3.8vw,3rem)}

/* Interlineado 1.15 en todo el sitio, títulos y textos */
html body h1,html body h2,html body h3,html body p,html body li,html body span,html body blockquote,html body cite,html body label,html body small,html body em,html body a,html body div,html body b,html body u,html body s,html body i,html body .bigname,html body .tag,html body .prose>p,html body .prose .lead-l,html body .story .two p,html body .areas b{line-height:1.15!important}
/* Cuadros de cifras: más aire, sin recortes y con degradados */
.bento{gap:16px}
.bx,.bx.ph{aspect-ratio:auto;min-height:230px;padding:26px;gap:24px;justify-content:space-between}
.bx.white{background:linear-gradient(150deg,#FFFFFF 0%,#E4E3F2 100%);border:1px solid rgba(37,35,95,.1)}
.bx.lav{background:linear-gradient(150deg,#DCDDF0 0%,#A3A4D2 100%);color:var(--night)}
.bx.ph{background:linear-gradient(150deg,#7576C4 0%,#3F3C86 100%)}
.bx.navy{background:linear-gradient(150deg,#363384 0%,#17163F 100%)}
.bx small{padding-right:46px}
.bx b{margin-bottom:12px}
@media (max-width:900px){
  .bx,.bx.ph{min-height:210px;padding:20px;gap:20px}
  .bx .ic,.bx.ph .ic{width:30px;height:30px;top:18px;right:16px}
  .bx small{padding-right:38px;font-size:.58rem;letter-spacing:.16em}
  .bx span{font-size:.82rem}
}

/* Títulos más compactos */
html body h1,html body h2,html body h3{line-height:1.05!important}
html body .tag{line-height:1.1!important}
html body .sec-head h2,html body .two h2,html body .statement h2,html body .quote-card h2,html body .closing-band h2{line-height:1.08!important}
.sec-head h2{margin-top:12px}
.col-l,.col-r{gap:12px}
.statement .in{gap:20px}
.quote-card,.closing-band .in{gap:16px}
@media (max-width:980px){.col-l{margin-top:4px}.col-r{padding-top:10px}.photo-wrap{margin-bottom:-6px}}

/* Cursiva fina para las palabras clave */
html body h1 em,html body h2 em,html body h3 em,html body .tag em,html body .statement h2 u,html body .sum h2 em,html body .quote-card h2 em,html body .closing-band h2 em,html body .statement h2 em{font-family:var(--f-display);font-style:italic;font-weight:300;letter-spacing:0}

/* Estilo de letras elegante: serif de alto contraste muy grande y apretada, con palabras en cursiva fina */
html body h1,html body h2{font-family:var(--f-display);font-weight:500;letter-spacing:-.03em;line-height:1!important}
html body h1 em,html body h2 em,html body .statement h2 u{font-weight:200;font-style:italic;letter-spacing:-.01em}
html body .tag em{font-weight:300}
html body .sec-head h2,html body .two h2,html body .side h2,html body .prose h2,html body .sum h2{font-size:clamp(2rem,4.2vw,3.5rem)}
html body .statement h2{font-size:clamp(2rem,5vw,4rem);line-height:1.04!important}
html body .quote-card h2,html body .closing-band h2{font-size:clamp(2.1rem,4.8vw,3.9rem)}
html body .page-hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:.98!important}
html body .feat h2{font-size:clamp(3rem,7vw,5.4rem)}
html body .bigname{font-family:var(--f-display);font-weight:400;letter-spacing:-.045em;font-size:clamp(6.4rem,20vw,16.5rem);line-height:.9!important}
html body .ghosttxt .run{font-family:var(--f-display);font-weight:400;letter-spacing:-.03em}
.bigname .nm{position:relative;display:inline-block}
.bigname .soy{position:absolute;left:-.06em;top:-.04em;font-family:var(--f-display);font-style:italic;font-weight:200;font-size:.3em;letter-spacing:-.01em;color:var(--white);line-height:1}
@media (max-width:980px){html body .bigname{font-size:clamp(5.4rem,28vw,10.5rem)}}
html body .bigname .soy{line-height:1!important}
html body .statement h2,html body .quote-card h2,html body .closing-band h2,html body .page-hero h1{font-weight:500}

/* Títulos jugados: palabra grande en roman, apoyada por líneas pequeñas en cursiva fina */
html body .lk{font-size:clamp(1.15rem,2.3vw,1.9rem);line-height:1!important;letter-spacing:0}
html body .lk .s{display:block;font-family:var(--f-display);font-style:italic;font-weight:200;font-size:1em;letter-spacing:0;line-height:1!important;margin:0 0 -.55em .2em;position:relative;z-index:2;color:inherit;text-transform:none}
html body .lk .b{display:block;font-family:var(--f-display);font-weight:500;font-size:calc(var(--k,2.6) * 1em);letter-spacing:-.045em;line-height:.88!important;position:relative;z-index:1}
html body .lk .s.r{display:flex;align-items:center;justify-content:flex-end;gap:.7em;margin:-.35em 0 0;text-align:right}
html body .lk .s.r::before{content:"";flex:0 1 4.5em;height:1px;background:currentColor;opacity:.7}
html body .statement .lk .s,html body .closing-band .lk .s,html body .quote-card .lk .s{margin-left:0}
html body .statement .lk,html body .closing-band .lk,html body .quote-card .lk{text-align:center}
html body .statement .lk .s.r,html body .closing-band .lk .s.r,html body .quote-card .lk .s.r{justify-content:center}
html body .page-hero .lk{font-size:clamp(1.2rem,2.6vw,2.1rem)}
html body .page-hero .lk .b{font-size:calc(var(--k,2.6)*1em)}
html body .page-hero .in>.lk{max-width:min(720px,62%)}
html body .page-hero .lk .s.r{justify-content:flex-start;text-align:left}
html body .story .lk .s,html body .two .lk .s{margin-left:.1em}
html body .two .lk .s.r{justify-content:flex-start;text-align:left}
html body .statement h2 em,html body .statement h2 u{font-size:1.14em}
@media (max-width:860px){html body .page-hero .in>.lk{max-width:100%}html body .lk{font-size:clamp(1rem,4.4vw,1.5rem)}html body .lk .b{font-size:calc(var(--k,2.6)*.82em)}}
html body .lk{width:fit-content;max-width:100%}
html body .lk .b{letter-spacing:-.032em;line-height:.9!important}
html body .lk .s{margin-bottom:-.3em}
html body .lk .s.r{font-size:.8em;margin-top:-.2em;max-width:24em}
html body .lk .s.r::before{flex:0 0 3em}
@media (max-width:640px){html body .mod b{font-size:.8rem;overflow-wrap:anywhere}}
.soc{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:560px){.soc{grid-template-columns:1fr}}

/* testimonios reales */
.quotes{grid-template-columns:repeat(3,minmax(0,1fr))}
.q.case{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;padding:38px 40px}
.q.case .case-l{display:flex;flex-direction:column;gap:16px}
.q.case .case-r{display:flex;flex-direction:column;gap:14px;border-left:1px solid rgba(31,27,77,.18);padding-left:40px;justify-content:center}
.q.case .marks{margin:0;font-size:.98rem;line-height:1.7;font-weight:500}
.q.case blockquote{font-size:1.05rem}
.q:not(.case) blockquote{font-size:.95rem;line-height:1.65}
@media (max-width:960px){.quotes{grid-template-columns:1fr}.q.case{grid-template-columns:1fr;gap:24px;padding:30px 26px}.q.case .case-r{border-left:0;padding-left:0;border-top:1px solid rgba(31,27,77,.18);padding-top:22px}}
html body .q.case .marks{font-weight:400!important}

/* ===== móvil: titulares ordenados y tarjetas apiladas ===== */
@media (max-width:640px){
 html body .lk{font-size:clamp(.95rem,4.3vw,1.15rem);width:100%}
 html body .lk .s{margin:0 0 -.05em 0;line-height:1.2!important}
 html body .lk .b{font-size:calc(var(--k,2.6)*.78em);line-height:.95!important;letter-spacing:-.03em;overflow-wrap:anywhere}
 html body .lk .s.r{justify-content:flex-start;text-align:left;margin:.2em 0 0;font-size:.95em;max-width:none}
 html body .lk .s.r::before{display:none}
 html body .statement .lk .s.r,html body .closing-band .lk .s.r,html body .quote-card .lk .s.r{justify-content:center;text-align:center}
 html body .mods-grid{grid-template-columns:1fr;max-width:420px;gap:16px;margin-inline:auto}
 html body .mod{aspect-ratio:4/4.3;border-radius:24px}
 html body .mod p{display:block;font-size:.82rem}
 html body .mod small,html body .mod .go{display:block}
 html body .mod b{font-size:1.4rem;overflow-wrap:normal}
 html body .mod .pill{font-size:.6rem;padding:7px 11px;top:14px;left:14px}
 html body .mod .tx{left:18px;right:18px;bottom:18px}
}
.side .mail{margin-top:14px}.side .mail a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
html body .q cite b{font-weight:800!important;color:var(--white);font-size:inherit;line-height:inherit;font-family:inherit;letter-spacing:inherit}
html body .q.case cite b{color:var(--night)}
