/* Subpáginas. Va después de components.css: estas reglas pisan a la portada
   donde el selector es igual o más específico, igual que antes. */
/* Subpáginas Lex Raíz. Reusa tokens, filetes y tipos de la portada. */

body:has(.lr-hero--page) .lr-header{background:var(--lr-navy-97)}

#contenido{overflow-x:clip}
.lr-hero--page,
.lr-card,
.page-members,
.page-index,
.culture,
.steps,
.principles,
.lr-form{min-width:0}

.lr-hero--page{
  padding-top:calc(var(--header-h) + clamp(1.75rem, 4vw, 4rem));
  padding-bottom:clamp(2.25rem, 5vw, 4.5rem);
  overflow:hidden;
}
.lr-hero--page .lr-head{margin-bottom:0}
.lr-hero--page .lr-head + *{margin-top:var(--space-6)}
.lr-hero--page h1{
  font-size:clamp(2.05rem, 1.25rem + 3vw, 4.1rem);
  line-height:1.05;
  max-width:18ch;
  margin:0;
  text-wrap:balance;
  overflow-wrap:break-word;
}
.lr-hero--page h1 em{display:block;font-style:italic;color:var(--lr-oro-claro)}
:where(.lr-hero--page) .lr-hero__lead{max-width:58ch}
:where(span).lr-eyebrow{
  display:block;
  margin:0;
  font:400 .68rem/1.35 var(--font-caps);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--lr-oro-oscuro);
  overflow-wrap:break-word;
}
.lr-hero--page :where(span).lr-eyebrow,
.block--navy :where(span).lr-eyebrow{color:var(--lr-oro-claro)}
:where(.lr-hero--page) .lr-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-6) 0 0}
.lr-hero--page .about__text{margin-top:var(--space-4)}

.lr-head p.page-lead{
  font:italic 400 clamp(1.3rem, 2.2vw, 1.8rem)/1.3 var(--font-display);
  color:var(--lr-navy);
  max-width:34ch;
  text-wrap:balance;
}
.lr-head p.lr-area__need{
  color:var(--lr-oro-oscuro);
  font:italic 400 1.15rem/1.3 var(--font-display);
  max-width:42ch;
  margin:0;
}
.page-prose{max-width:68ch}
.page-prose p{margin:0 0 var(--space-4)}
.page-prose p:last-child{margin-bottom:0}

.page-quote{margin:0 0 var(--space-5);padding:0}
.page-quote p{
  margin:0;
  font:italic 400 clamp(1.45rem, 2.4vw, 2.1rem)/1.28 var(--font-display);
  text-wrap:balance;
  overflow-wrap:break-word;
}
.block--navy .page-quote em{color:var(--lr-oro-claro);font-style:italic}

.page-index{margin:0}
.page-index ol{display:grid;gap:0;border-top:1px solid var(--lr-navy)}
.page-index li{min-width:0;border-bottom:1px solid var(--lr-linea-clara)}
.page-index a{
  display:flex;
  gap:.75rem;
  align-items:baseline;
  min-height:var(--touch);
  padding:.85rem 0;
  text-decoration:none;
  font:500 clamp(1.15rem, 2vw, 1.45rem)/1.25 var(--font-display);
  overflow-wrap:break-word;
}
.page-index a span:first-child{
  flex:0 0 auto;
  font:400 .68rem/1 var(--font-caps);
  letter-spacing:.16em;
  color:var(--lr-oro-oscuro);
}
.page-index a span:last-child{min-width:0;flex:1;overflow-wrap:break-word}
.page-index a:hover{color:var(--lr-oro-oscuro)}

.page-members{display:grid;gap:var(--space-6);margin:var(--space-6) 0 0;padding:0;list-style:none}
.page-members .member{min-width:0}
.page-members .member h3{text-wrap:balance;overflow-wrap:break-word}
.page-members .label{color:var(--lr-oro-oscuro)}

.page-disclaimer{
  margin:var(--space-6) 0 0;
  max-width:68ch;
  font-size:var(--fs-sm);
  color:var(--color-text-muted);
  border-top:1px solid var(--lr-linea-clara);
  padding-top:var(--space-4);
  overflow-wrap:break-word;
}
.block--navy .page-disclaimer{color:var(--lr-marfil-72);border-top-color:var(--lr-linea-navy)}

ul.culture{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:0;
  border-top:1px solid var(--lr-linea-clara);
}
ul.culture li,
ul.culture li:nth-child(odd){border-left:0}
ul.culture li{
  min-width:0;
  padding:1.1rem .35rem;
  text-align:center;
  border-left:0;
  border-bottom:1px solid var(--lr-linea-clara);
  font:400 .66rem/1.35 var(--font-caps);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--lr-oro-oscuro);
  overflow-wrap:break-word;
  text-wrap:balance;
}

.lr-cards{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--lr-linea-clara);
}
.lr-card{
  min-width:0;
  padding:1.15rem 0 1.25rem;
  border-bottom:1px solid var(--lr-linea-clara);
}
.lr-card h3{
  font-size:clamp(1.3rem, 2vw, 1.65rem);
  margin:0 0 .45rem;
  text-wrap:balance;
  overflow-wrap:break-word;
}
.lr-card p{margin:0;max-width:48ch;overflow-wrap:break-word}

.block--ivory .steps p,
.block--white .steps p{color:var(--color-text-muted)}
.block--ivory .steps li,
.block--white .steps li{border-top-color:var(--lr-linea-clara)}
.block--ivory .steps li:last-child,
.block--white .steps li:last-child{border-bottom-color:var(--lr-linea-clara)}
.block--ivory .steps .n,
.block--white .steps .n{color:var(--lr-oro-oscuro)}
.steps li > div{min-width:0}
.steps h3,.steps p{overflow-wrap:break-word}
.principles li{min-width:0}
.principles li span{overflow-wrap:break-word}

.page-cta{border-top:1px solid var(--lr-oro)}
.page-cta .lr-head{margin-bottom:var(--space-6)}
.page-cta .lr-btn{max-width:100%}

.lr-form select{
  width:100%;
  max-width:100%;
  min-height:var(--touch);
  font:400 var(--fs-base)/1.5 var(--font-body);
  color:var(--lr-marfil);
  background-color:transparent;
  border:0;
  border-bottom:var(--rule) solid var(--lr-oro-claro-55);
  border-radius:var(--radius);
  padding:.7em 1.6em .7em 0;
  appearance:none;
  background-image:linear-gradient(45deg, transparent 50%, var(--lr-oro-claro) 50%), linear-gradient(135deg, var(--lr-oro-claro) 50%, transparent 50%);
  background-position:calc(100% - 12px) .95em, calc(100% - 7px) .95em;
  background-size:5px 5px, 5px 5px;
  background-repeat:no-repeat;
}
.lr-form select:focus{outline:none;border-bottom-color:var(--lr-oro)}
.lr-form option{color:var(--lr-navy);background:var(--lr-marfil)}
#join-notice,#portal-status,#booking-notice{max-width:62ch;overflow-wrap:break-word;color:var(--lr-marfil)}
#join-notice.is-confirmed,#portal-status.is-confirmed{border:1px solid var(--lr-oro);padding:var(--space-3) var(--space-4);color:var(--lr-marfil)}

@media (min-width:700px){
  .page-index ol{grid-template-columns:1fr 1fr}
  .page-index li:nth-child(odd){padding-right:var(--space-5)}
  .page-index li:nth-child(even){padding-left:var(--space-5);border-left:1px solid var(--lr-linea-clara)}
  .page-members{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .lr-cards{grid-template-columns:1fr 1fr}
  .lr-card{padding:1.4rem 1.25rem 1.5rem 0}
  .lr-card:nth-child(2n){padding-left:1.25rem;padding-right:0;border-left:1px solid var(--lr-linea-clara)}
  ul.culture{grid-template-columns:repeat(3, minmax(0, 1fr))}
}
@media (min-width:1280px){
  ul.culture{grid-template-columns:repeat(6, minmax(0, 1fr))}
}
.lr-btn--link{
  display:inline-block;
  margin-top:var(--space-5);
  font:400 .68rem/1.4 var(--font-caps);
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--lr-oro-oscuro);
}
.block--navy .lr-btn--link{color:var(--lr-oro-claro)}
.lr-btn--link:hover{color:var(--lr-oro)}
.about__grid > .lr-btn--link{grid-column:1 / -1;margin-top:0}

.lr-badge{
  display:inline-block;
  margin:0 0 var(--space-4);
  padding:.4rem .75rem;
  border:1px solid currentColor;
  font:400 .66rem/1.2 var(--font-caps);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--lr-oro-claro);
}
.block--ivory .lr-badge,
.block--white .lr-badge{color:var(--lr-oro-oscuro)}

.lr-form input[type="date"]{color-scheme:dark}
.lr-form.lr-form--light label{color:var(--lr-oro-oscuro)}
.lr-form.lr-form--light input,
.lr-form.lr-form--light textarea,
.lr-form.lr-form--light select{
  color:var(--lr-navy);
  border-bottom-color:var(--lr-linea-clara);
}
.lr-form.lr-form--light select{
  background-image:linear-gradient(45deg, transparent 50%, var(--lr-oro-oscuro) 50%), linear-gradient(135deg, var(--lr-oro-oscuro) 50%, transparent 50%);
}
.lr-form.lr-form--light .lr-check{color:var(--color-text)}
.lr-form.lr-form--light .lr-help,
.block--ivory .lr-help,
.block--white .lr-help{color:var(--color-text-muted)}
.lr-form.lr-form--light input[type="date"]{color-scheme:light}
.lr-form input:disabled{opacity:.72;cursor:not-allowed}

.demo-result,
.guide-result{
  margin-top:var(--space-5);
  border:1px solid var(--lr-oro);
  padding:var(--space-4);
  min-width:0;
}
.demo-result p,
.guide-result p{margin:0 0 var(--space-4);overflow-wrap:break-word}
.demo-result p:last-child,
.guide-result p:last-child{margin-bottom:0}
.demo-result__actions{display:flex;flex-wrap:wrap;gap:var(--space-4)}
.block--ivory .guide-result,
.block--white .demo-result{background:var(--lr-blanco)}

.wizard{min-width:0}
.wizard__head{margin-top:var(--space-2)}
.wizard__progress{display:flex;gap:.45rem;margin-top:var(--space-4)}
.wizard__progress span{flex:1 1 0;height:2px;background:var(--lr-linea-clara)}
.wizard__progress span.is-on{background:var(--lr-oro-oscuro)}
.wizard__q{display:none;margin:var(--space-5) 0 0;padding:0;border:0;min-width:0}
.wizard__q.is-on{display:block}
.wizard__q legend{
  padding:0;
  margin:0 0 var(--space-4);
  font:500 clamp(1.45rem, 2.2vw, 2rem)/1.15 var(--font-display);
  text-wrap:balance;
}
.choices{display:grid}
.choice{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding:.8rem 0;
  border-bottom:1px solid var(--lr-linea-clara);
  cursor:pointer;
  min-height:var(--touch);
}
.choice span{min-width:0;overflow-wrap:break-word}
.choice input{accent-color:var(--lr-oro);width:1.05rem;height:1.05rem;margin-top:.2rem;flex:0 0 auto}
.wizard__nav{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-top:var(--space-5)}
.block--ivory .lr-help,
.wizard .lr-help{margin-top:var(--space-4)}

p.uss-identity{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:var(--space-4);
  align-items:baseline;
  max-width:none;
  margin:0 0 var(--space-5);
}
@media (min-width:700px){
  ul.culture.culture--compact{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (min-width:1280px){
  ul.culture.culture--compact{grid-template-columns:repeat(4, minmax(0, 1fr))}
}
.uss-identity small{display:block;color:var(--color-text-muted);font:400 var(--fs-sm)/1.4 var(--font-body);letter-spacing:0;text-transform:none}
.uss-paths{display:grid;gap:var(--space-4);margin:var(--space-6) 0 0}
.uss-path{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.45rem;
  min-height:var(--touch);
  padding:1.15rem 1rem;
  text-align:left;
  background:transparent;
  color:inherit;
  border:1px solid var(--lr-linea-clara);
  cursor:pointer;
  font:inherit;
}
.uss-path strong{font:500 clamp(1.25rem, 2vw, 1.55rem)/1.2 var(--font-display);text-wrap:balance}
.uss-path span{color:var(--color-text-muted);font-size:var(--fs-sm);overflow-wrap:break-word}
.uss-path em{font:400 .68rem/1.3 var(--font-caps);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--lr-oro-oscuro)}
.uss-path.is-selected{border-color:var(--lr-oro)}
.uss-detail{display:none;margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--lr-linea-clara);min-width:0}
.uss-detail.is-open{display:block}
html.nojs .uss-detail{display:block}
.uss-detail h3{text-wrap:balance}

@media (min-width:700px){
  .uss-paths{grid-template-columns:1fr 1fr}
}

@media (max-width:699px){
  .page-method .method__photo{display:none}
  .page-method .method{display:block}
}

@media (max-width:390px){
  .lr-hero--page{padding-top:calc(var(--header-h) + 1.35rem);padding-bottom:1.75rem}
  .lr-hero--page h1{font-size:1.95rem;max-width:none}
  :where(.lr-hero--page) .lr-hero__actions{flex-direction:column;align-items:stretch}
  :where(.lr-hero--page) .lr-hero__actions .lr-btn,
  .page-cta .lr-btn,
  .lr-hero--page ~ .block .lr-form .lr-btn{width:100%;justify-content:space-between;min-height:48px}
  .lr-hero--page ~ .block .principles{grid-template-columns:1fr}
  .lr-hero--page ~ .block .principles li,
  .lr-hero--page ~ .block .principles li:nth-child(odd),
  .lr-hero--page ~ .block .principles li:nth-child(even){border-right:0;padding-left:0;padding-right:0}
  ul.culture{grid-template-columns:1fr}
  ul.culture li{text-align:left;padding-left:0;letter-spacing:.1em}
  .lr-hero--page ~ .block .steps li{grid-template-columns:2.75rem minmax(0, 1fr);gap:.7rem;padding:1rem 0}
  .lr-hero--page ~ .block .steps .n{font-size:1.1rem}
  .page-index a{font-size:1.15rem}
  .lr-card{padding-right:0}
  .lr-hero--page ~ .block .contact dl div,
  .lr-hero--page ~ .block .lr-form,
  .page-members{grid-template-columns:minmax(0, 1fr)}
}

/* Nosotros: el ensayo de visión se lee debajo del hero, a cuerpo normal. */
.lr-hero__layout:has(.vision-hero) .lr-hero__copy h1{max-width:none}
.vision-prose{
  max-width:68ch;
  font:400 var(--fs-base)/var(--lh-body) var(--font-body);
  color:var(--color-text);
}
.vision-prose p{margin:0 0 var(--space-4)}
.vision-prose p:last-child{margin-bottom:0}

/* Nav compartida: escritorio en una línea desde 1024; móvil lista todo */
.lr-nav__d{display:none}
.lr-nav__m{display:inline}
.lr-nav__sum{
  appearance:none;
  background:none;
  border:0;
  color:inherit;
  cursor:pointer;
  font:500 var(--fs-xs)/1 var(--font-body);
  letter-spacing:var(--tracking-label);
  text-transform:uppercase;
  padding-block:.5em;
  display:inline-flex;
  align-items:center;
  gap:.4em;
}
.lr-nav__sum::after{
  content:"";
  width:.38em;
  height:.38em;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:translateY(-.12em) rotate(45deg);
}
@media (max-width:1023px){
  .lr-nav__drop{display:none}
}
@media (min-width:1024px){
  .lr-header .container{flex-wrap:nowrap;gap:clamp(.55rem,1.1vw,1.35rem)}
  .lr-brand{flex:0 0 auto}
  .lr-brand__logo{width:clamp(108px,11vw,154px);height:auto}
  .lr-nav{min-width:0}
  .lr-nav>ul{flex-wrap:nowrap;align-items:center;gap:clamp(.4rem,.85vw,1.25rem)}
  .lr-nav>ul>li{white-space:nowrap;opacity:1;transform:none}
  .lr-nav a,.lr-nav__sum{font-size:clamp(.64rem,.72vw,.75rem);letter-spacing:.12em;white-space:nowrap}
  .lr-header__cta{flex:0 0 auto;white-space:nowrap;padding:.68em .85em}
  .lr-nav__m,.lr-nav__m-only{display:none}
  .lr-nav__d{display:inline}
  .lr-nav__portal a{color:var(--lr-marfil-62);font-weight:400}
  .lr-nav__portal a:hover,.lr-nav__portal a:focus-visible{color:var(--lr-oro-claro)}
  .lr-nav__drop{position:relative}
  .lr-nav__drop.is-current .lr-nav__sum,
  .lr-nav__drop.is-current .lr-nav__sum:hover{color:var(--lr-oro-claro)}
  .lr-nav__sub{
    position:absolute;
    top:100%;
    left:0;
    z-index:var(--z-dropdown);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    min-width:12.5rem;
    margin:0;
    padding:.35rem 0;
    background:var(--lr-navy);
    border:1px solid var(--lr-linea-navy);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(6px);
    transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility .2s;
  }
  .lr-nav__sub::before{content:"";position:absolute;left:0;right:0;top:-.7rem;height:.7rem}
  .lr-nav__drop:hover .lr-nav__sub,
  .lr-nav__drop:focus-within .lr-nav__sub,
  .lr-nav__drop.is-open .lr-nav__sub{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .lr-nav__drop:hover .lr-nav__sum::after,
  .lr-nav__drop:focus-within .lr-nav__sum::after,
  .lr-nav__drop.is-open .lr-nav__sum::after{transform:translateY(.08em) rotate(225deg)}
  .lr-nav .lr-nav__sub{gap:0}
  .lr-nav__sub a{display:flex;align-items:center;min-height:var(--touch);padding:0 1rem;letter-spacing:.14em}
}
@media (min-width:1360px){
  .lr-header__cta{padding:.85em 1.15em}
  .lr-nav a,.lr-nav__sum{letter-spacing:.16em}
}

/* Foto de subpágina */
.lr-hero__layout{display:grid;gap:1.35rem;align-items:start}
.lr-hero__copy{min-width:0}
.lr-hero__figure{margin:0;overflow:hidden;border:var(--rule) solid var(--lr-oro-45)}
.lr-hero__figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lr-hero__figure--wide img{aspect-ratio:16/9}
.page-figure{margin:var(--space-6) 0 0}
.page-figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.page-figure figcaption{margin-top:.65rem;max-width:68ch;font-size:var(--fs-xs);color:var(--color-text-muted)}
@media (max-width:1040px){
  .lr-hero__figure{order:-1}
}
@media (min-width:1041px){
  .lr-hero__layout:has(.lr-hero__figure){
    grid-template-columns:minmax(0,1.15fr) minmax(220px,.82fr);
    column-gap:clamp(1.25rem,2.5vw,2.75rem);
    align-items:start;
  }
  .lr-hero__layout:has(.lr-hero__figure) .lr-hero__copy h1{max-width:22ch}
  .lr-hero__figure{position:sticky;top:calc(var(--header-h) + 1.25rem)}
  /* Columna de título + lead; la foto ocupa el resto. No afecta a otras páginas. */
  .lr-hero__layout:has(.vision-hero){
    grid-template-columns:min(560px, 50%) minmax(0, 1fr);
    align-items:center;
  }
  .lr-hero__layout:has(.vision-hero) .lr-hero__copy h1{max-width:none}
}

/* Propuesta Clínica USS: acentos y co-marca solo en esta página. */
body.page-uss{
  --lr-navy:var(--uss-navy);
  --lr-oro:var(--uss-oro);
}
body.page-uss .lr-header,
body.page-uss .lr-header.is-scrolled,
body.page-uss .lr-hero--page,
body.page-uss .block--navy{background:var(--uss-navy)}
body.page-uss .lr-hero--page{box-shadow:var(--shadow-uss)}
body.page-uss :where(span).lr-eyebrow,
body.page-uss .lr-numeral,
body.page-uss .lr-badge,
body.page-uss .block--navy :where(span).lr-eyebrow{color:var(--uss-oro)}
body.page-uss .lr-badge{border-color:var(--uss-oro)}
body.page-uss .lr-hero__figure,
body.page-uss .page-figure{border-color:var(--uss-oro)}
body.page-uss .page-figure{border-top:var(--rule) solid var(--uss-red);padding-top:var(--space-4)}
body.page-uss .lr-btn--solid{background:var(--uss-blue);border-color:var(--uss-blue);color:var(--lr-blanco)}
body.page-uss .lr-btn--solid:hover{background:var(--uss-navy-2);border-color:var(--uss-navy-2);color:var(--lr-blanco)}
body.page-uss .uss-path.is-selected{background:var(--uss-navy-2);border-color:var(--uss-oro);color:var(--lr-marfil)}
body.page-uss .uss-path.is-selected span{color:var(--lr-marfil-82)}
body.page-uss .uss-path.is-selected em{color:var(--uss-oro)}
body.page-uss .uss-detail{border-top:var(--rule) solid var(--uss-red)}
body.page-uss .uss-identity strong{color:var(--uss-navy)}

/* Co-marca del hero: Lex Raíz, filete y logotipo USS sobre navy. */
body.page-uss .uss-cobrand{margin:0 0 clamp(1.35rem, 3vw, 2.25rem)}
body.page-uss .uss-cobrand__label{
  margin:0 0 .7rem;
  font:400 .68rem/1.35 var(--font-caps);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--uss-oro);
}
body.page-uss .uss-cobrand__marks{
  display:flex;
  align-items:stretch;
  gap:clamp(.7rem, 2vw, 1.35rem);
  max-width:100%;
}
body.page-uss .uss-cobrand__lex,
body.page-uss .uss-cobrand__uss{
  align-self:center;
  height:auto;
  min-width:0;
  max-width:100%;
}
body.page-uss .uss-cobrand__lex{width:min(132px, 36vw)}
body.page-uss .uss-cobrand__uss{width:min(140px, 38vw)}
body.page-uss .uss-cobrand__rule{
  flex:0 0 auto;
  width:1px;
  align-self:stretch;
  background:var(--uss-oro-72);
}
@media (min-width:1041px){
  body.page-uss .uss-cobrand__lex{width:176px}
  body.page-uss .uss-cobrand__uss{width:200px}
}
