@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/montserrat-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/montserrat-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/montserrat-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/montserrat-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nanum Myeongjo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/nanum-myeongjo-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nanum Myeongjo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/nanum-myeongjo-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nanum Myeongjo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../assets/fonts/nanum-myeongjo-800.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Tipografía y acabados verificados contra legal-fixer.com. */
:root{--sans:"Montserrat",Arial,sans-serif;--lf-button-gradient:linear-gradient(180deg,#fcf6ba 0%,#bf953f 100%)}
html{font-size:16px!important;scroll-padding-top:24px}
body{font-family:var(--sans);overflow-x:clip}
html body :is(h1,h2,h3,h4,h5,h6,[role="heading"]){font-family:"Nanum Myeongjo",Georgia,serif!important}
body.native-home-flow .hero-kicker{font:500 16px/1.4 "Montserrat",Arial,sans-serif;max-width:960px;text-wrap:balance;letter-spacing:normal}
html body :is(.gold-btn,.recognition-toggle,.recognition-open,.practice-modal-contact,.service-modal-intro button,.form-actions button,.pf-card-link,.recognition-source-link){
 background:var(--lf-button-gradient)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
 font:800 14px/1.25 "Nanum Myeongjo",Georgia,serif!important;letter-spacing:1px!important;
 min-height:40px;min-width:0;max-width:100%;padding:11px 23px!important;border:0!important;border-radius:999px!important;
 box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-align:center;text-decoration:none!important;text-wrap:balance;
}
html body :is(.gold-btn,.recognition-toggle,.recognition-open,.practice-modal-contact,.service-modal-intro button,.form-actions button,.pf-card-link):hover{filter:brightness(1.035);box-shadow:none!important}
body.native-home-flow .check-list{gap:30px;margin-bottom:32px}
body.native-home-flow .check-list li{font:500 15px/1.6 "Montserrat",Arial,sans-serif;padding-left:43px;transition:translate .3s ease}
body.native-home-flow .check-list li::before{width:22px;height:22px;top:1px;background:#d5aa3c;transition:transform .3s ease,background .3s ease}
@media(hover:hover){body.native-home-flow .check-list li:hover{translate:3px 0}body.native-home-flow .check-list li:hover::before{transform:scale(1.14);background:#bf953f}}
body.native-home-flow .stats .section-title{position:relative;left:var(--stats-title-offset,0px);width:var(--stats-title-width,85%)!important;max-width:100%;text-align:justify;text-align-last:justify;margin-inline:auto!important}
body.native-home-flow .stat strong{font-family:"Montserrat",Arial,sans-serif;font-weight:400;white-space:nowrap}
.experience{padding:55px 0 50px}
.experience-inner{width:min(1085px,calc(100% - 48px));grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:58px;align-items:stretch}
.experience-image{margin:0;width:100%;height:auto;min-height:420px;align-self:stretch}
.experience-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.experience-copy{padding:0;min-width:0}
html body .experience-copy h2{font-size:45px;line-height:1.28;font-weight:400!important;max-width:none;letter-spacing:normal}
.experience-copy .mini-ornament{margin:30px 0 26px;width:66px}
.experience-copy p{font:500 15px/1.8 "Montserrat",Arial,sans-serif;letter-spacing:normal;text-align:justify;max-width:none;margin:0 0 18px}
.experience-copy p:last-child{margin-bottom:0}
/* El popup y sus controles siempre quedan por encima del encabezado. */
body :is(.service-modal,.practice-modal,.recognition-modal){z-index:200000!important}
body :is(.service-modal-dialog,.practice-modal-dialog,.recognition-modal-dialog){max-height:calc(100dvh - 32px);overscroll-behavior:contain}
.pf-card{cursor:pointer;touch-action:pan-y}
.pf-card:focus-visible{outline:3px solid #fcf6ba;outline-offset:5px}
body.services-page .pf-card h3{line-height:1.06;overflow-wrap:normal}
html[lang="en"] body.services-page .pf-card h3{font-size:clamp(30px,3vw,44px);line-height:1.12}
body.services-page .pf-card-desc{line-height:1.65}
body.services-page .pf-card-link{font-size:12px!important;padding:10px 18px!important}
body.services-page .pf-card-footer{padding-top:16px}
body.services-page .pf-card-rule{margin-bottom:10px}
body.services-page #portfolio .pf-view{height:max(680px,80vh)}
/* Contenedores fluidos y legibilidad desde 320px hasta pantallas grandes. */
main,section,.section-shell,.experience-inner,.experience-copy,.footer-col{min-width:0}
img,video{max-width:100%}
button,input,textarea{font-size:16px}
input,textarea{font-family:var(--sans)!important}
.footer-contact a{overflow-wrap:anywhere}
.case-accordion summary{line-height:1.15!important}
.case-accordion-body{overflow-wrap:break-word}
.lf-home-header__nav,.main-nav{max-height:100dvh;overflow-y:auto}
@media(min-width:901px){
 body.native-home-flow .value-card{min-height:480px}
 body.native-home-flow .value-cards{bottom:-300px}
 body.native-home-flow .solutions{padding-top:390px}
}
@media(max-width:1100px){
 .experience-inner{gap:34px}
 html body .experience-copy h2{font-size:clamp(30px,4vw,43px)}
 body.native-home-flow .why-grid{gap:42px}
 body.services-page .pf-card{width:min(65vw,410px);max-width:430px;height:490px;max-height:none;min-height:0}
}
@media(max-width:900px){
 body.native-home-flow .hero-content{padding-top:155px}
 body.native-home-flow .hero-kicker{font-size:14px;max-width:720px}
 body.native-home-flow .value-cards{margin-top:65px}
 body.native-home-flow .hero{min-height:0;padding-bottom:65px}
 body.native-home-flow .solutions{padding-top:75px}
 body.native-home-flow .why-grid{gap:36px}
 body.native-home-flow .why-image{width:min(100%,480px);height:auto;aspect-ratio:1/1.45;justify-self:center}
 body.native-home-flow .stats .section-title{left:0;width:100%!important;text-align:center;text-align-last:center;text-wrap:balance}
 body.native-home-flow .section-title{overflow-wrap:normal}
 .site-footer .footer-main{gap:24px}
}
@media(max-width:760px){
 .experience{padding:42px 0}
 .experience-inner{width:calc(100% - 36px);grid-template-columns:1fr;gap:30px}
 .experience-image{min-height:0;aspect-ratio:1.21;max-width:560px;justify-self:center}
 html body .experience-copy h2{font-size:clamp(28px,7vw,40px);line-height:1.24}
 .experience-copy .mini-ornament{margin:25px 0}
 .experience-copy p{font-size:14px;line-height:1.8}
 body :is(.service-modal,.practice-modal,.recognition-modal){padding:10px!important}
 body :is(.service-modal-dialog,.practice-modal-dialog,.recognition-modal-dialog){width:100%!important;max-height:calc(100dvh - 20px)!important}
 .recognition-modal-dialog{height:auto!important;overflow:auto!important}
 .recognition-book-open{grid-template-columns:1fr!important;height:auto!important;display:grid!important}
 .recognition-modal-media{min-height:0!important;max-height:none!important}
 .recognition-modal-copy{overflow:visible!important;max-height:none!important;padding:28px 18px!important}
 .recognition-modal-art{min-height:0!important;max-height:300px}
 .recognition-modal-art img{max-height:280px!important;object-fit:contain!important}
 .recognition-book-open::before{display:none!important}
 .recognition-modal-close{position:sticky!important;top:0!important;right:0!important;margin-left:auto;z-index:20}
 html body :is(.service-modal-head h2,.practice-modal-title){font-size:clamp(28px,8vw,44px)!important;line-height:1.15!important}
 .service-modal-body ul{grid-template-columns:1fr!important}
 .contact-form-shell{width:calc(100% - 36px)}
 .contact-form-section{padding-top:48px}
 .site-footer .footer-main{gap:45px}
}
@media(max-width:600px){
 body.native-home-flow .hero-wordmark{width:90vw}
 body.native-home-flow .hero-content{width:92vw;padding-top:130px}
 body.native-home-flow .hero-kicker{font-size:12px;line-height:1.65;padding:0}
 body.native-home-flow .hero-awards{gap:18px;width:100%}
 body.native-home-flow .hero-awards .chambers{height:auto;width:42%;max-width:170px}
 body.native-home-flow .value-cards{width:calc(100% - 36px)}
 body.native-home-flow .value-card{padding:38px 24px}
 body.native-home-flow .section-shell{width:calc(100% - 36px)}
 html body .section-title{font-size:clamp(26px,7.4vw,34px)!important;line-height:1.2!important}
 body.native-home-flow .check-list{gap:22px}
 body.native-home-flow .check-list li{font-size:14px;padding-left:36px}
 body.native-home-flow .sector-grid{gap:38px 20px}
 body.native-home-flow .sector p{font-size:13px;overflow-wrap:anywhere}
 body.native-home-flow .stats-grid{gap:42px}
 .case-accordion summary{font-size:15px!important;line-height:1.2!important}
 body.services-page .pf-card{width:calc(100vw - 68px);min-width:0;max-width:360px;height:460px;min-height:0;max-height:none;padding:24px 23px;top:43%}
 body.services-page .pf-card h3{font-size:clamp(27px,8vw,40px)!important;line-height:1.08;max-width:100%}
 body.services-page .pf-card-kicker{margin:22px 0 15px;font-size:9px}
 body.services-page .pf-card-desc{font-size:12px;max-width:100%;margin-top:18px}
 body.services-page .pf-card-link{font-size:11px!important;letter-spacing:.4px!important}
 body.services-page #portfolio .pf-view{height:640px}
 body.services-page #portfolio .pf-arrow{bottom:34px}
 body.services-page #portfolio .pf-progress{bottom:102px}
 .lf-home-header__nav,.main-nav{gap:22px!important;padding:85px 22px 35px}
 .lf-home-header__nav a,.main-nav a{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.check-list li,.check-list li::before{transition:none!important}}

/* Ajustes solicitados: título completo y acabado de los seis libros. */
body.services-page #portfolio .pf-card[data-service="administrativo"]{container-type:inline-size}
body.services-page #portfolio .pf-card[data-service="administrativo"] h3{
 max-width:100%;
}
html:not([lang="en"]) body.services-page #portfolio .pf-card[data-service="administrativo"] h3{
 font-size:clamp(26px,3.5vw,57px)!important;
 font-size:min(61px,15.5cqw)!important;
}
@media(max-width:600px){
 html:not([lang="en"]) body.services-page #portfolio .pf-card[data-service="administrativo"] h3{
  font-size:clamp(27px,8vw,40px)!important;
  font-size:min(clamp(27px,8vw,40px),15.5cqw)!important;
 }
}
html body.native-home-flow .recognition-plaque h3{
 font-family:"Times New Roman",Georgia,serif!important;font-size:28px;font-weight:500!important;
 background:none!important;color:#fffef8!important;-webkit-text-fill-color:#fffef8!important;
}
html body.native-home-flow .recognition-hover-copy h4{
 font-family:"Times New Roman",Georgia,serif!important;font-size:26px;font-weight:500!important;
 background:none!important;color:#041f40!important;-webkit-text-fill-color:#041f40!important;
}
html body.native-home-flow .recognition-hover-copy p{font-family:Arial,Helvetica,sans-serif}
html body.native-home-flow .recognition-open{
 background:#041f40!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
 font:600 10px/1 Arial,Helvetica,sans-serif!important;letter-spacing:.16em!important;
 min-height:45px;padding:0 18px!important;box-shadow:0 12px 28px rgba(4,31,64,.12)!important;
}
@media(max-width:700px){html body.native-home-flow :is(.recognition-plaque h3,.recognition-hover-copy h4){font-size:23px}}
