/* FONPRES-CIV · estandarización de presentación. Sin cambios de contenido ni identidad. */
:root{
 --fp-visual-ancho:1280px;--fp-visual-lateral:48px;
 --fp-visual-h1:clamp(34px,3.8vw,52px);--fp-visual-h2:clamp(28px,3vw,36px);
 --fp-visual-h3:clamp(22px,2vw,24px);--fp-visual-seccion:64px;
 --fp-visual-gap:32px;--fp-visual-foto:440px;
 --fp-visual-mascara:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent),linear-gradient(180deg,transparent,#000 5%,#000 95%,transparent);
}
html body.fp-unificado{--fp-revision-ancho:var(--fp-visual-ancho);--fp-ajuste-ancho:var(--fp-visual-ancho);}
/* Mismos ejes, conservando las cabeceras panorámicas a ancho completo. */
html body.fp-unificado .wrap,
html body.fp-unificado #fp-servicios-panorama .fp-panorama-interior,
html body.fp-unificado #fp-pie-unico .fp-pie-contenido{
 width:calc(100% - 2 * var(--fp-visual-lateral))!important;
 max-width:var(--fp-visual-ancho)!important;margin-inline:auto!important;box-sizing:border-box;
}
html body.fp-unificado .wrap .wrap{width:100%!important;max-width:100%!important;}
html body.fp-unificado main.contactPage.wrap{
 width:100%!important;max-width:none!important;margin-inline:0!important;
 padding-inline:max(var(--fp-visual-lateral),calc((100% - var(--fp-visual-ancho))/2))!important;
 padding-top:32px!important;padding-bottom:var(--fp-visual-seccion)!important;
}
/* Decoración existente: solo en el espacio exterior, nunca bajo las palabras. */
html body.fp-unificado.fp-planos main,
html body.fp-unificado.fp-planos main.contactPage.wrap{
 position:relative!important;isolation:isolate!important;background-image:none!important;
}
html body.fp-unificado.fp-planos main::before,
html body.fp-unificado.fp-planos main::after,
html body.fp-unificado.fp-planos main.contactPage.wrap::before,
html body.fp-unificado.fp-planos main.contactPage.wrap::after{
 content:""!important;display:block!important;position:absolute!important;
 top:0!important;bottom:0!important;height:auto!important;
 width:max(0px,calc((100% - var(--fp-visual-ancho))/2 - 16px),calc(var(--fp-visual-lateral) - 16px))!important;
 background-image:var(--fp-plano)!important;background-size:180px 640px!important;
 background-repeat:repeat!important;background-position:left top!important;
 opacity:.16!important;pointer-events:none!important;z-index:-1!important;
 -webkit-mask-image:none!important;mask-image:none!important;
}
html body.fp-unificado.fp-planos main::before,
html body.fp-unificado.fp-planos main.contactPage.wrap::before{left:0!important;right:auto!important;transform:none!important;}
html body.fp-unificado.fp-planos main::after,
html body.fp-unificado.fp-planos main.contactPage.wrap::after{right:0!important;left:auto!important;transform:scaleX(-1)!important;}
/* Escala compartida; permanecen las familias y colores existentes. */
html body.fp-unificado :is(main,#nf-portada,#fp-op-cabecera) h1{
 font-size:var(--fp-visual-h1)!important;line-height:1.12!important;letter-spacing:-.025em!important;
 margin-top:16px!important;margin-bottom:24px!important;
}
html body.fp-unificado :is(main,#fondo) h2{font-size:var(--fp-visual-h2)!important;line-height:1.2!important;margin-bottom:24px!important;}
html body.fp-unificado :is(main,#fondo) h3{font-size:var(--fp-visual-h3)!important;line-height:1.3!important;}
html body.fp-unificado main h4{font-size:20px!important;line-height:1.35!important;}
html body.fp-unificado main p{font-size:16px!important;line-height:1.65!important;}
html body.fp-unificado main .btn{font-size:15px!important;line-height:1.4!important;min-height:48px;white-space:normal;}
html body.fp-unificado main :is(.pageCrumb,.breadcrumbs,.medical-note,.farma-note,.directoryHeading>span){font-size:14px!important;line-height:1.5!important;}
html body.fp-unificado main :is(.eyebrow,.nf-eyebrow,.fp-op-label){font-size:12px!important;line-height:1.5!important;letter-spacing:.12em!important;}
html body.fp-unificado main :is(.contactCard,.farma-box,.purposeCard,.service) h2,
html body.fp-unificado main #fp-cotizador-visual h2{font-size:var(--fp-visual-h3)!important;line-height:1.3!important;margin-bottom:16px!important;}
html body.fp-unificado main :is(.contactCard,.helpCard) h3{font-size:22px!important;margin-bottom:12px!important;}
html body.fp-unificado main :is(.contactCard,.helpCard,.visitCard,.service,.farma-box){padding:24px!important;}
html body.fp-unificado main .pageIntro{padding-block:32px 24px!important;}
html body.fp-unificado main section.wrap{padding-block:var(--fp-visual-seccion)!important;}
html body.fp-unificado main :is(.medical-section,.farma-body){padding-top:16px!important;}
html body.fp-unificado main :is(.contactDirectory){padding-block:0!important;}
html body.fp-unificado main :is(.contactDirectory,.contactLocation,.contactCard,.fp-faq-copy,.fp-faq-visual,.heroCopy,.medical-intro-copy,.farma-lead-copy){min-width:0;}
html body.fp-unificado main .contactCard p{overflow-wrap:anywhere;}
html body.fp-unificado main .contactActions{display:flex;flex-wrap:wrap;gap:8px;}
/* Fotografías junto al título: misma proporción del contenedor y mismo borde difuminado. */
html body.fp-unificado main .fp-contact-hero,
html body.fp-unificado main .fp-faq-composition{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 gap:var(--fp-visual-gap)!important;align-items:start!important;
}
html body.fp-unificado main .fp-contact-hero{align-items:center!important;margin:24px 0 48px!important;}
html body.fp-unificado main .fp-faq-visual{position:static!important;margin-top:32px!important;border-radius:0!important;}
html body.fp-unificado main .fp-contact-hero>img,
html body.fp-unificado main .fp-faq-visual img,
html body.fp-unificado main img.fp-familia-proceso,
html body.fp-unificado main .medical-photo img,
html body.fp-unificado main .farma-composition img{
 width:100%!important;max-width:100%!important;height:auto!important;max-height:var(--fp-visual-foto)!important;
 min-height:0!important;object-fit:contain!important;object-position:center!important;
 border-radius:0!important;filter:none!important;box-shadow:none!important;
 -webkit-mask-image:var(--fp-visual-mascara)!important;mask-image:var(--fp-visual-mascara)!important;
 -webkit-mask-composite:source-in!important;mask-composite:intersect!important;
 -webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;
 -webkit-mask-size:100% 100%!important;mask-size:100% 100%!important;
}
html body.fp-unificado main .medical-photo{align-self:center!important;}
html body.fp-unificado main .medical-photo::after{display:none!important;}
html body.fp-unificado main :is(.medical-intro-copy,.farma-lead-copy){padding:32px!important;}
html body.fp-unificado main .farma-composition{padding:24px 24px 24px 0!important;}
html body.fp-unificado main .farma-composition figcaption{font-size:14px!important;line-height:1.5!important;}
html body.fp-unificado main .contactLayout{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)!important;gap:32px!important;}
html body.fp-unificado main :is(.contactCards,.services,.purposeGrid,.mediaGrid){gap:24px!important;}
/* Las panorámicas mantienen fotografía completa, posición y dirección de transición. */
html body.fp-unificado #fp-servicios-panorama .fp-panorama-interior{min-height:480px!important;}
html body.fp-unificado #fp-op-cabecera{min-height:440px!important;padding:32px!important;}
html body.fp-unificado main .heroCopy{max-width:580px!important;}
@media(max-width:1100px){
 :root{--fp-visual-lateral:32px;--fp-visual-gap:32px;--fp-visual-seccion:56px;}
 html body.fp-unificado main .contactLayout{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr)!important;gap:24px!important;}
}
@media(max-width:900px){
 html body.fp-unificado main .contactLayout{grid-template-columns:minmax(0,1fr)!important;}
 html body.fp-unificado main .contactLocation{grid-template-columns:minmax(0,1fr)!important;}
}
@media(max-width:800px){:root{--fp-visual-lateral:24px;--fp-visual-seccion:48px;--fp-visual-gap:24px;}}
@media(max-width:760px){
 :root{--fp-visual-lateral:20px;--fp-visual-h1:clamp(32px,8.4vw,38px);--fp-visual-h2:28px;--fp-visual-h3:22px;--fp-visual-foto:360px;}
 html body.fp-unificado main .fp-contact-hero,
 html body.fp-unificado main .fp-faq-composition{grid-template-columns:minmax(0,1fr)!important;gap:24px!important;}
 html body.fp-unificado main .fp-faq-visual{margin-top:0!important;}
 html body.fp-unificado main :is(.medical-intro-copy,.farma-lead-copy){padding:24px!important;}
 html body.fp-unificado main .farma-composition{padding:0 16px 24px!important;}
 html body.fp-unificado main .cta{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:24px!important;}
 html body.fp-unificado #fp-op-cabecera{min-height:0!important;padding:24px 20px 0!important;}
 html body.fp-unificado #fp-servicios-panorama .fp-panorama-interior{min-height:0!important;}
}
@media(max-width:560px){
 html body.fp-unificado main .contactCards{grid-template-columns:minmax(0,1fr)!important;}
 html body.fp-unificado main .directoryHeading{flex-wrap:wrap;gap:8px;}
}
/* Cabecera existente: igualar solo dimensiones y tipografía entre sus versiones. */
html body.fp-unificado header .nav{width:calc(100% - 2 * var(--fp-visual-lateral))!important;max-width:var(--fp-visual-ancho)!important;margin-inline:auto!important;height:116px!important;min-height:116px!important;gap:24px!important;}
html body.fp-unificado header .headerBrand img{height:88px!important;width:auto!important;max-width:100%;object-fit:contain;}
html body.fp-unificado header .navlinks{gap:clamp(12px,1.3vw,20px)!important;}
html body.fp-unificado header .navlinks a span{font-size:17px!important;line-height:1.3!important;}
html body.fp-unificado header .navlinks a small{font-size:11px!important;line-height:1.4!important;}
@media(max-width:1100px){
 html body.fp-unificado header .nav{height:96px!important;min-height:96px!important;}
 html body.fp-unificado header .headerBrand img{height:72px!important;}
 html body.fp-unificado header .navlinks{display:none!important;}
 html body.fp-unificado header .mobileNav{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px 16px!important;padding:12px var(--fp-visual-lateral)!important;overflow:visible!important;white-space:normal!important;}
 html body.fp-unificado header .mobileNav a{font-size:14px!important;line-height:1.4!important;white-space:normal!important;}
}
