/* 01. Base y sistema visual */
:root{--navy:#1b2a41;--deep:#132136;--teal:#17a398;--ink:#1b2a41;--muted:#5c6775;--line:#dbe1e6;--light:#f3f5f6;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:white;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12}h1,h2{letter-spacing:-.045em}h2{font-size:clamp(2.2rem,3.5vw,3.35rem)}h3{letter-spacing:-.025em}em{font-style:normal;color:var(--teal)}.skip{position:fixed;left:20px;top:-80px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.button{background:var(--teal);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 21px;font-size:14px;font-weight:700;line-height:1.5;border:1px solid transparent;transition:background .2s}.button:hover{background:#117f77}.button span{font-size:21px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;margin-bottom:24px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;font-size:14px;font-weight:700}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-link span{font-size:22px}.section{padding:100px max(5.5vw,24px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-heading>p{max-width:350px;color:var(--muted)}
/* 02. Navegación fija, menú móvil nativo sin JavaScript */
.header{position:fixed;top:0;left:0;width:100%;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;background:#fffffffa;border-bottom:1px solid var(--line);z-index:20}.brand{display:flex;gap:11px;align-items:center;line-height:1;font-size:27px;font-weight:900;letter-spacing:.075em}.brand small{display:block;font-size:10px;letter-spacing:.3em;margin-top:7px}.brand-mark{font-size:46px;font-weight:900;line-height:1;color:var(--teal);font-style:italic;letter-spacing:-.1em;margin-right:5px}.desktop-nav{display:flex;gap:33px;font-size:14px}.desktop-nav a:hover{color:#087a71}.nav-cta{padding:10px 20px}.mobile-nav{display:none}
/* 03. Hero y espacios multimedia reemplazables */
.hero{padding:152px 5.5vw 60px;display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;min-height:750px}.hero-copy{padding:25px 0 0}.hero .eyebrow{display:flex;align-items:center;gap:9px;font-size:11px}.eyebrow>span{display:inline-block;width:18px;height:2px;background:var(--teal)}.hero-name{font-size:14px;font-weight:bold;letter-spacing:.12em;margin-bottom:12px}h1{font-size:clamp(3rem,4.9vw,4.65rem);line-height:1.04;font-weight:800}.intro{max-width:440px;font-size:18px;color:var(--muted);margin-top:25px;line-height:1.6}.hero-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:31px}.hero-actions .button{padding:16px 19px}.hero-foot{font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--muted);margin-top:40px}.hero-foot span{color:var(--teal);padding:0 12px}.media-placeholder{background-color:var(--navy);background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:40px 40px;color:white;position:relative}.hero-visual{min-height:530px;display:flex;flex-direction:column;justify-content:space-between;padding:26px 30px;border-bottom:5px solid var(--teal)}.visual-top{display:flex;justify-content:space-between;color:#b6c4d2;font-size:10px;letter-spacing:.12em}.visual-center{padding:35px 5px;position:relative}.cross{font-size:37px;font-weight:200;color:var(--teal);line-height:1;display:block;margin-bottom:35px}.frame-label{font-size:10px;letter-spacing:.14em;color:#aebdcb}.visual-center p{font-size:clamp(1.9rem,2.8vw,2.8rem);line-height:1.2;letter-spacing:-.035em;margin:15px 0 24px}.visual-caption{font-size:10px;letter-spacing:.17em;color:#8accc7}.visual-bottom{border-top:1px solid #ffffff30;padding-top:20px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#ccd5df;line-height:1.5}.outline-square{display:grid;place-items:center;width:45px;height:45px;border:1px solid #ffffff40;font-size:25px;color:var(--teal)}.principles{display:grid;grid-template-columns:repeat(3,1fr);padding:0 5.5vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principles>span{padding:24px 20px;font-size:14px;font-weight:bold;border-right:1px solid var(--line)}.principles>span:first-child{padding-left:0}.principles>span:last-child{border:0}.principles b{color:var(--teal);font-size:12px;margin-right:20px}
/* 04. Servicios y producto */
.services{background:var(--light)}.featured-services{display:grid;grid-template-columns:1fr 1.12fr;gap:24px}.feature-card{padding:35px;background:white;display:flex;flex-direction:column}.card-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:38px}.tag{font-size:10px;letter-spacing:.1em;font-weight:700}.service-symbol{font-size:34px;color:var(--teal);line-height:1}.feature-card h3{font-size:30px;margin-bottom:16px}.feature-card>p{color:var(--muted);max-width:440px}.diagnostic-options{margin:27px 0 30px;border-top:1px solid var(--line)}.diagnostic-options p{display:grid;grid-template-columns:65px 1fr;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.diagnostic-options span{color:var(--muted)}.feature-card>.text-link{margin-top:auto;padding-top:14px}.pbc{background:var(--navy);color:white;border-top:3px solid var(--teal);padding-top:32px}.pbc>p{color:#c3cdd8}.pbc .tag{color:#95d8d2;max-width:155px;text-align:right}.pbc-word{font-size:36px;font-weight:800;line-height:1;letter-spacing:-.05em}.pbc-word span{display:block;font-size:9px;letter-spacing:.15em;font-weight:400;margin-top:7px}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin:25px 0 26px}.module-grid span{font-size:13px;border-bottom:1px solid #ffffff25;padding:12px 0;color:#dbe4eb}.pbc .text-link{color:#7dd7ce}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:42px}.service-grid article{border-top:1px solid #cad3da;padding-top:21px}.service-number{color:#087a71;font-size:12px}.service-grid h3{font-size:20px;line-height:1.25;margin:20px 0 15px}.service-grid p{font-size:14px;color:var(--muted)}
/* 05. Institucional y proyectos */
.about{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw}.about-copy>p:not(.eyebrow){margin-top:25px;color:var(--muted)}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}.mission-grid h3{font-size:17px;margin-bottom:13px}.mission-grid p{font-size:14px;color:var(--muted)}.values{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.values span{border:1px solid var(--line);padding:6px 12px;font-size:12px}.team-placeholder{min-height:480px;background-color:#e9eef0;color:var(--navy);background-image:linear-gradient(#1b2a4107 1px,transparent 1px),linear-gradient(90deg,#1b2a4107 1px,transparent 1px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px}.corner-label{position:absolute;top:22px;left:24px;font-size:10px;letter-spacing:.13em;color:var(--muted)}.team-placeholder p{font-size:29px;letter-spacing:-.03em;line-height:1.2;margin-bottom:30px}.team-placeholder .frame-label{color:var(--muted)}.projects{border-top:1px solid var(--line)}.project-list article{display:grid;grid-template-columns:90px 1fr 45px;gap:15px;border-top:1px solid var(--line);padding:30px 0;align-items:center}.project-list article:last-child{border-bottom:1px solid var(--line)}.project-index{font-size:32px;color:#8997a3;font-weight:300}.project-list h3{font-size:26px;margin:8px 0 12px}.project-list p{font-size:15px;color:var(--muted)}.project-list .tag{color:#087a71}.project-list a{border:1px solid var(--line);display:grid;place-items:center;width:44px;height:44px;font-size:23px}.project-list a:hover{background:var(--light)}
/* 06. Contacto estático y pie */
.contact{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact .eyebrow{color:#8bd5ce}.contact h2{font-size:clamp(2.3rem,3.8vw,3.7rem)}.contact h2 em{color:#70ccc3}.contact-copy>p:not(.eyebrow){max-width:350px;margin-top:25px;color:#c3cdd8}.contact-data{margin-top:35px;font-size:14px}.contact-data div{display:grid;grid-template-columns:100px 1fr;padding:11px 0;border-bottom:1px solid #ffffff20}.contact-data dt{color:#a9bacb}.contact-data dd{margin:0}.socials{margin-top:27px;display:flex;gap:15px;flex-direction:column;font-size:12px;color:#b9c7d5}.socials b{border:1px solid #ffffff40;display:inline-grid;place-items:center;width:25px;height:25px;margin-right:8px;color:white}.contact form{background:white;color:var(--navy);padding:34px}.contact form h3{font-size:23px;margin-bottom:27px}.contact label{font-size:13px;font-weight:bold;display:block;margin:17px 0 7px}.contact input,.contact textarea{width:100%;border:1px solid #d9dfe4;border-radius:0;background:#f6f7f8;padding:12px 14px;font-size:14px;color:#536070;resize:vertical;opacity:1;-webkit-text-fill-color:#536070}.contact form .button{width:100%;margin-top:21px;background:var(--teal);color:#fff;cursor:pointer}.contact form .button:hover{background:#117f77}.contact #form-note{font-size:12px;line-height:1.5;color:var(--muted);margin-top:14px}.map-placeholder{display:flex;gap:20px;align-items:center;border:1px solid #ffffff30;padding:20px 23px;margin-top:20px}.map-placeholder>span{font-size:31px;color:#70ccc3}.map-placeholder strong{font-size:14px}.map-placeholder p{font-size:12px;color:#b9c7d5}footer{background:var(--deep);color:white;padding:45px 5.5vw 20px}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:30px;padding-bottom:38px}.footer-top>p{font-size:14px;color:#b9c7d5;line-height:1.5}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;font-size:13px}.footer-social{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#aebdcb}.footer-bottom{padding-top:20px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#aebdcb}footer a:hover{color:#70ccc3}
/* 07. Responsive y accesibilidad */
@media(min-width:1600px){.hero,.section,.header,.principles,footer{padding-left:max(5.5vw,calc((100vw - 1450px)/2));padding-right:max(5.5vw,calc((100vw - 1450px)/2))}}
@media(max-width:1050px){.desktop-nav{gap:20px}.hero{gap:28px}.hero-actions{gap:16px}.hero .eyebrow{letter-spacing:.08em}.hero-visual{padding:23px}.service-grid{grid-template-columns:1fr 1fr}.featured-services{grid-template-columns:1fr 1fr}.feature-card{padding:27px}.card-top{flex-wrap:wrap}.pbc .tag{max-width:150px}.contact{gap:40px}.footer-top{flex-wrap:wrap}}
@media(max-width:760px){html{scroll-padding-top:90px}.header{height:76px;padding:0 22px}.brand{font-size:23px}.brand-mark{font-size:39px}.desktop-nav,.nav-cta{display:none}.mobile-nav{display:block}.mobile-nav summary{list-style:none;cursor:pointer;font-size:14px;padding:10px 0}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{margin-left:10px}.mobile-nav nav{position:absolute;top:76px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:15px 24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.mobile-nav a{padding:7px 0;font-size:15px}.hero{grid-template-columns:1fr;padding:112px 24px 40px;gap:36px;min-height:0}.hero-copy{padding:0}h1{font-size:clamp(2.8rem,9vw,4.3rem)}.hero-name{font-size:12px}.hero .eyebrow{font-size:10px}.intro{font-size:17px}.hero-foot{font-size:9px;letter-spacing:.04em;margin-top:29px}.hero-foot span{padding:0 6px}.hero-visual{min-height:370px}.visual-center{padding:24px 4px}.visual-center .cross{margin-bottom:18px}.visual-center p{font-size:29px}.principles{padding:0 24px;grid-template-columns:1fr}.principles>span{border-right:0;border-bottom:1px solid var(--line);padding:15px 0}.section{padding:64px 24px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:none}.featured-services,.about,.contact{grid-template-columns:1fr}.featured-services{gap:20px}.card-top{margin-bottom:30px}.feature-card h3{font-size:27px}.service-grid{gap:30px 22px}.service-grid h3{font-size:18px}.service-grid p{font-size:14px}.about{gap:35px}.team-placeholder{min-height:330px}.eyebrow{font-size:10px;margin-bottom:19px}.project-list article{grid-template-columns:36px 1fr 38px;gap:10px}.project-index{font-size:23px}.project-list h3{font-size:22px}.project-list a{width:36px;height:36px}.project-list p{font-size:14px}.contact{gap:35px}.contact form{padding:25px}.contact h2{font-size:38px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:28px}.footer-top .brand{font-size:22px}.footer-bottom{flex-direction:column;gap:10px}footer{padding:35px 24px 22px}}
@media(max-width:380px){.hero-actions{align-items:start;flex-direction:column}.hero-actions .button{gap:12px;font-size:12px}.service-grid,.mission-grid{grid-template-columns:1fr}.module-grid{gap:0 12px}.module-grid span{font-size:12px}.footer-top{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* 08. Logos oficiales: encuadre de los archivos originales, sin deformación. */
.logo-window{display:block;position:relative;overflow:hidden;flex:none}
.logo-window img{display:block;position:absolute;max-width:none;height:auto}
.fortis-logo{width:205px;aspect-ratio:1085/325}
.fortis-logo img{width:115.576%;left:-7.834%;top:-141.538%}
footer .brand{background:#fff;padding:12px 15px}
footer .fortis-logo{width:170px}
.pbc .card-top{align-items:flex-start;gap:18px;flex-wrap:wrap}
.pbc-logo-panel{display:block;background:#fff;padding:12px 15px}
.pbc-logo{width:220px;aspect-ratio:1256/530}
.pbc-logo img{width:122.293%;left:-11.146%;top:-52.83%}
@media(max-width:760px){.header .fortis-logo{width:180px}.footer-top{grid-template-columns:1fr 1fr}.footer-top .brand{grid-column:1/-1;justify-self:start}.pbc-logo{width:205px}}
@media(max-width:380px){.header .fortis-logo{width:160px}.pbc-logo{width:180px}.footer-top{grid-template-columns:1fr}}

/* 09. Fotografía del inicio y canales de contacto */
.hero-photo{padding:0;overflow:hidden;position:relative;background:var(--navy)}
.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center}
.contact-data div{grid-template-columns:130px minmax(0,1fr);gap:15px}
.contact-data dd{min-width:0;overflow-wrap:anywhere}
.contact-data a{color:#fff;text-decoration:underline;text-decoration-color:#70ccc3;text-underline-offset:4px}
.contact-data a:hover{color:#70ccc3}
@media(max-width:760px){.hero-photo{min-height:0;aspect-ratio:4/3}.hero-photo>img{object-position:center}.contact-data div{grid-template-columns:1fr;gap:3px}}

/* 10. Formulario de consultas activo */
.contact input:focus-visible,.contact textarea:focus-visible,.contact button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.contact #form-note a,.contact .form-alternative a{color:#086d66;text-decoration:underline;text-underline-offset:3px}
.contact .form-alternative{font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}

/* 11. Dos productos principales, servicios subordinados y evidencia metodológica */
.featured-services{grid-template-columns:1fr 1fr}
.diagnostic .tag{color:#086d66;max-width:240px}
.product-connection{margin-top:24px;padding:24px 28px;background:#e5eeed;border-left:3px solid var(--teal);color:#3f5260;font-size:16px}
.product-connection strong{color:var(--navy)}
.service-support{margin-top:48px;padding:32px;border:1px solid #ccd7dd;background:#edf1f3;scroll-margin-top:110px}
.support-heading{max-width:760px}
.support-heading .eyebrow{color:#086d66;margin-bottom:14px}
.support-heading h3{font-size:clamp(1.65rem,2.5vw,2.2rem);line-height:1.16;margin-bottom:16px}
.support-heading>p:last-child{color:var(--muted);font-size:15px}
.service-support .service-grid{margin-top:30px;gap:28px;grid-template-columns:1fr 1fr}
.service-support .service-grid article{padding-top:18px}
.service-support .service-grid .support-relation{color:#086d66;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.6}
.service-support h4{font-size:19px;line-height:1.3;letter-spacing:-.02em;margin:12px 0}
.support-extra{margin-top:30px;border-top:1px solid #ccd7dd;padding-top:22px}
.support-extra summary{font-size:15px;font-weight:bold;cursor:pointer;line-height:1.6}
.support-extra-content{padding-top:16px;color:var(--muted);font-size:14px;max-width:850px}
.support-extra-content ul{padding-left:21px;margin:14px 0}
.support-extra-content li{margin:12px 0}
.support-extra-content strong{color:var(--navy)}
.method-evidence{margin-top:60px;padding:40px;background:var(--light);border-top:3px solid var(--teal);display:grid;grid-template-columns:1fr 1.3fr;gap:50px}
.method-intro .eyebrow{color:#086d66;font-size:10px}
.method-intro h3{font-size:clamp(1.8rem,2.7vw,2.65rem);line-height:1.16;letter-spacing:-.04em;margin-bottom:22px}
.method-intro>p:last-child{font-size:15px;color:var(--muted)}
.method-scope{padding-bottom:22px;border-bottom:1px solid var(--line)}
.method-scope strong{font-size:20px;color:var(--navy)}
.method-scope p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:8px}
.method-steps{padding-left:23px;margin:25px 0 0}
.method-steps li{padding-left:8px;margin-bottom:22px}
.method-steps li::marker{font-weight:700;color:#087a71}
.method-steps h4{font-size:16px;line-height:1.4;margin:0 0 8px}
.method-steps p{font-size:14px;color:var(--muted)}
.method-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
@media(max-width:760px){.featured-services{grid-template-columns:1fr}.product-connection{padding:21px;font-size:15px}.service-support{padding:24px 20px;margin-top:32px}.service-support .service-grid{grid-template-columns:1fr;gap:25px}.support-heading h3 br{display:none}.method-evidence{grid-template-columns:1fr;padding:28px 23px;gap:28px;margin-top:40px}.hero-foot{font-size:9px}}

/* 12. Recorrido comercial: diagnóstico, implementación manual y digitalización */
.hero h1{font-size:clamp(2.5rem,3.7vw,3.65rem);line-height:1.1}
.hero-model{font-size:15px;line-height:1.7;color:var(--muted);margin-top:18px;max-width:500px}
.journey-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#d1dce0;margin-bottom:28px;border:1px solid #d1dce0}
.journey-nav a{background:white;padding:18px 20px;font-size:14px;font-weight:bold;display:flex;justify-content:space-between;gap:12px}
.journey-nav a:hover{background:#e5eeed}
.stages{display:grid;gap:24px}
.stage-card{padding:38px;background:white;border-top:3px solid var(--teal);scroll-margin-top:110px}
.stage-heading h3{font-size:clamp(1.8rem,2.7vw,2.7rem);line-height:1.18;max-width:700px;margin-bottom:20px}
.stage-heading>p:not(.eyebrow){color:var(--muted);max-width:850px}
.diagnosis-formats{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:32px}
.diagnosis-format{border-top:1px solid var(--line);padding-top:24px;scroll-margin-top:110px}
.diagnosis-format h4{font-size:30px;margin:0 0 8px;line-height:1.2}
.format-label{font-size:13px;font-weight:700;color:#087a71!important;margin-bottom:20px!important}
.diagnosis-format>p:not(.format-label){font-size:15px;color:var(--muted);margin:16px 0}
.diagnosis-format .text-link{margin-top:10px}
.pulso-pending{margin-top:12px;background:#dbe4e4;color:#43585a;cursor:not-allowed;text-align:left}
.pulso-pending:hover{background:#dbe4e4}
.diagnosis-format .access-note{font-size:12px!important;margin-top:10px!important}
.manual,.stage-card.pbc{display:grid;grid-template-columns:1fr 1.25fr;gap:45px}
.manual{background:#e5eeed}
.stage-body>p{font-size:15px;color:#52616c;margin-bottom:20px}
.deliverable{border-left:3px solid var(--teal);padding-left:20px}
.stage-body .text-link{margin-top:10px}
.stage-card.pbc{background:var(--navy);color:white}
.stage-card.pbc .pbc-logo-panel{width:max-content;margin-bottom:25px}
.stage-card.pbc .stage-body>p{color:#d1dae3}
.stage-card.pbc .format-label,.stage-card.pbc .eyebrow{color:#8adbd2!important}
.stage-card.pbc .text-link{color:#8adbd2}
.subscription{border-top:1px solid #ffffff30;padding-top:20px}
.about{grid-template-columns:1fr}.about-copy{max-width:940px;margin:auto;width:100%}
.method-content>p{font-size:15px;color:var(--muted);margin-top:22px}
.method-intro .text-link{margin-top:24px}
@media(max-width:760px){.hero h1{font-size:clamp(2.3rem,8.5vw,3.5rem)}.hero-foot{line-height:2;letter-spacing:0}.journey-nav{grid-template-columns:1fr}.stage-card{padding:28px 22px}.diagnosis-formats,.manual,.stage-card.pbc{grid-template-columns:1fr;gap:28px}.stage-card.pbc .pbc-logo{width:180px}.stage-heading h3{font-size:27px}.stage-body .module-grid{grid-template-columns:1fr}.stage-card .button{font-size:13px;gap:12px}}
