/* Conecta Tu Caso · Dirección visual y tipográfica profesional v6 */
:root{
  --ctc-v6-navy:#1B2A4A;
  --ctc-v6-navy-deep:#13203B;
  --ctc-v6-teal:#2BB6A6;
  --ctc-v6-teal-deep:#167B72;
  --ctc-v6-ink:#263240;
  --ctc-v6-muted:#5A6672;
  --ctc-v6-line:#DFE7EB;
  --ctc-v6-soft:#F4F8F8;
  --ctc-v6-paper:#FFFFFF;
  --ctc-v6-reading:76ch;
}
html{scroll-padding-top:84px}
body{
  color:var(--ctc-v6-ink);
  text-rendering:optimizeLegibility;
  font-kerning:normal;
}
h1,h2,h3{
  text-wrap:balance;
  letter-spacing:-.015em;
}
p,li,dd{
  text-wrap:pretty;
  overflow-wrap:break-word;
  hyphens:auto;
}
main{isolation:isolate}
.wrap{width:min(100%,1120px)}
section{position:relative}
.btn,.pill,.switch-link,.bar a.cta{
  letter-spacing:.005em;
}
.formcard{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
.field input,.field select,.field textarea{
  min-height:48px;
}
.field label,.consent,.formnote{
  text-align:left;
}
.foot-legal{
  max-width:1040px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.foot-links{justify-content:center}
.ctc-cookie-link{white-space:nowrap}

/* Portada */
.page-home .panel__inner{
  max-width:420px;
}
.page-home .panel p{
  max-width:34ch;
  line-height:1.65;
}
.page-home .sfoot nav{align-items:center}

/* Páginas comerciales: jerarquía y ritmo */
.page-particulares .hero__grid > div:first-child,
.page-despachos .hero__grid > div:first-child{
  max-width:660px;
}
.page-particulares .hero .lead,
.page-despachos .hero .lead{
  line-height:1.7;
}
.page-particulares .hero__card,
.page-despachos .hero__card{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.page-particulares .hero__card li,
.page-despachos .hero__card li{
  line-height:1.6;
  text-align:left;
}
.page-particulares .section-head{
  max-width:760px;
  margin-inline:auto;
  text-align:center;
}
.page-particulares .section-head .title,
.page-particulares .section-head .lede{
  margin-inline:auto;
}
.page-particulares .section-head .lede{
  max-width:70ch;
  line-height:1.75;
}
.page-particulares .step,
.page-particulares .principle,
.page-despachos .step,
.page-despachos .card{
  height:100%;
}
.page-particulares .step p,
.page-particulares .principle p,
.page-despachos .step p,
.page-despachos .card p{
  line-height:1.68;
  text-align:left;
}
.page-particulares .area{
  min-height:78px;
}
.page-particulares .principles .section-head{
  max-width:790px;
}
.page-particulares .form-intro{
  max-width:760px;
}
.page-particulares .form-intro .title,
.page-particulares .form-intro .lede{
  margin-inline:auto;
}
.page-particulares .form-intro .lede{
  max-width:68ch;
  line-height:1.7;
}
.page-particulares .formcard{
  margin-top:2.25rem;
}

/* Despachos: cabeceras centradas y tarjetas ordenadas */
.page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .kicker,
.page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .title,
.page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .lede{
  text-align:center;
}
.page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .title,
.page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .lede{
  margin-left:auto;
  margin-right:auto;
}
.page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .title{
  max-width:29ch;
}
.page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .lede{
  max-width:72ch;
  line-height:1.75;
}
.page-despachos .honesty .wrap{
  text-align:center;
}
.page-despachos .honesty .title,
.page-despachos .honesty p{
  margin-left:auto;
  margin-right:auto;
}
.page-despachos .honesty p{
  max-width:76ch;
  line-height:1.75;
}
.page-despachos .formwrap > .wrap > .kicker,
.page-despachos .formwrap > .wrap > .title,
.page-despachos .formwrap > .wrap > .lede{
  text-align:center;
}
.page-despachos .formwrap > .wrap > .title,
.page-despachos .formwrap > .wrap > .lede{
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-despachos .formwrap > .wrap > .lede{
  max-width:66ch;
  line-height:1.7;
}
.page-despachos .formcard{
  margin-top:2.25rem;
}

/* Blog */
.page-blog .intro{
  padding-top:4rem;
}
.page-blog .intro p{
  max-width:62ch;
  line-height:1.75;
}
.page-blog .post{
  height:100%;
}
.page-blog .post__body{
  text-align:left;
}
.page-blog .post p{
  line-height:1.68;
}
.page-blog .cta-band{
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
}
.page-blog .cta-band p{
  max-width:58ch;
  line-height:1.7;
}
.page-article article{
  padding-top:3.5rem;
}
.page-article article h1{
  max-width:22ch;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.page-article article .meta{
  text-align:center;
  margin-top:.75rem;
  margin-bottom:2.25rem;
}
.page-article article h2{
  margin-top:2.25rem;
  margin-bottom:.75rem;
  color:var(--ctc-v6-navy);
  line-height:1.28;
}
.page-article article p,
.page-article article li{
  line-height:1.82;
}
.page-article article > .wrap > p:first-of-type:not(.meta){
  font-size:1.1rem;
  color:#354250;
}
.page-article .cta-band p{
  text-align:center!important;
  max-width:54ch;
  margin-left:auto;
  margin-right:auto;
}
.page-article .foot-legal{text-align:center}

/* Documentos legales */
.page-legal .doc{
  padding-top:3.75rem;
}
.page-legal .doc .wrap{
  max-width:820px;
}
.page-legal .doc h1{
  text-align:center;
  max-width:24ch;
  margin-left:auto;
  margin-right:auto;
}
.page-legal .doc .updated{
  text-align:center;
  margin-top:.7rem;
  margin-bottom:2.4rem;
}
.page-legal .doc h2{
  margin-top:2.35rem;
  padding-left:.9rem;
  border-left:4px solid var(--ctc-v6-teal);
  line-height:1.35;
}
.page-legal .doc p,
.page-legal .doc li,
.page-legal .doc dd{
  line-height:1.82;
}
.page-legal .doc ul,
.page-legal .doc ol{
  padding-left:1.2rem;
}
.page-legal .doc address{
  line-height:1.75;
}
.page-legal .ctc-legal-summary{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
}
.page-legal .ctc-legal-summary > div{
  height:100%;
}
.page-legal .ctc-legal-table{
  line-height:1.55;
}
.page-legal .ctc-legal-note{
  line-height:1.65;
}

/* Banner y panel de cookies */
.ctc-consent__copy p,
.ctc-consent-category p{
  text-align:left!important;
  hyphens:none;
}
.ctc-consent__actions{
  align-items:center;
}
.ctc-consent__btn{
  min-width:132px;
}
.ctc-consent-modal__head h2,
.ctc-consent-category h3{
  letter-spacing:-.01em;
}
.ctc-consent-modal__foot .ctc-consent__btn{
  min-width:150px;
}

/* Justificación selectiva: solo textos largos y en pantallas con anchura suficiente */
@media (min-width:760px){
  .page-article article p:not(.meta):not(.cta-band p),
  .page-article article li,
  .page-legal .doc p:not(.updated):not(.ctc-legal-note p),
  .page-legal .doc li,
  .page-legal .doc dd{
    text-align:justify;
    text-justify:inter-word;
  }
}

/* Adaptación móvil */
@media(max-width:760px){
  .wrap{padding-left:1.15rem!important;padding-right:1.15rem!important}
  .page-particulares .section-head,
  .page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .kicker,
  .page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .title,
  .page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .lede{
    text-align:left;
  }
  .page-particulares .section-head .title,
  .page-particulares .section-head .lede,
  .page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .title,
  .page-despachos main > section:not(.hero):not(.formwrap):not(.honesty) > .wrap > .lede{
    margin-left:0;
    margin-right:0;
  }
  .page-particulares .hero h1,
  .page-despachos .hero h1{
    max-width:18ch;
  }
  .page-particulares .hero .lead,
  .page-despachos .hero .lead{
    font-size:1.03rem;
  }
  .page-despachos .honesty .wrap,
  .page-despachos .formwrap > .wrap > .kicker,
  .page-despachos .formwrap > .wrap > .title,
  .page-despachos .formwrap > .wrap > .lede{
    text-align:left;
  }
  .page-despachos .honesty .title,
  .page-despachos .honesty p,
  .page-despachos .formwrap > .wrap > .title,
  .page-despachos .formwrap > .wrap > .lede{
    margin-left:0!important;
    margin-right:0!important;
  }
  .page-article article h1,
  .page-article article .meta,
  .page-legal .doc h1,
  .page-legal .doc .updated{
    text-align:left;
    margin-left:0;
    margin-right:0;
  }
  .page-article article p,
  .page-article article li,
  .page-legal .doc p,
  .page-legal .doc li,
  .page-legal .doc dd{
    text-align:left;
    hyphens:none;
  }
  .page-legal .ctc-legal-summary{
    grid-template-columns:1fr;
  }
  .foot-col{
    flex-direction:column;
    justify-content:center!important;
    text-align:center;
  }
  .foot-links{
    justify-content:center;
  }
  .ctc-consent__btn{
    min-width:0;
  }
}

@media(max-width:420px){
  .switch-link{
    max-width:44vw;
    white-space:normal;
    text-align:center;
    line-height:1.25;
  }
  .logo .name{
    letter-spacing:.08em!important;
  }
  .page-home .panel{
    padding-left:1.1rem;
    padding-right:1.1rem;
  }
}
