/* REFORMACTIVA — Sistema visual editorial, 2026. Compatible con index.php revisado. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17232d;--muted:#52616c;--navy:#152b3b;--blue:#2465a0;--line:#dce2e5;--paper:#fff;--pale:#f4f6f6;--dark:#142632;--max:1220px;--radius:3px;--font:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--font);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.045em;line-height:1.16}h1{font-size:clamp(2.6rem,4.35vw,4.9rem);font-weight:700}h2{font-size:clamp(2.05rem,3vw,3.45rem);font-weight:700}h3{font-size:1.2rem;letter-spacing:-.025em}p{margin-bottom:1.1em}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.section{padding:clamp(78px,9vw,138px) 0}.section--tint{background:var(--pale)}.section--dark{background:var(--dark);color:#fff}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:25px;font:700 11px/1.5 var(--display);letter-spacing:.15em;text-transform:uppercase;color:var(--blue)}.eyebrow__line{width:28px;height:1px;background:currentColor}.section--dark .eyebrow{color:#8eb7d4}.accent{color:var(--blue)}.skip-link{position:absolute;z-index:1000;top:-90px;left:15px;background:#fff;padding:12px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #4c9cdd;outline-offset:4px}
/* Header: architectural, quiet, and functional */
.site-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid var(--line)}.site-header__inner{min-height:94px;display:flex;align-items:center;gap:32px}.site-header__brand{display:inline-flex;flex:none;align-items:center}.site-header__brand img{width:238px;height:auto;max-height:60px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:clamp(16px,2vw,32px);margin-left:auto}.site-nav a,.site-footer__nav a{font-size:13px;font-weight:650;text-decoration:none;transition:color .2s}.site-nav a:hover,.site-footer__nav a:hover{color:var(--blue)}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:16px 24px;min-height:52px;border:1px solid transparent;border-radius:var(--radius);font-size:13px;font-weight:700;text-decoration:none;line-height:1.3;transition:background .2s,transform .2s,color .2s}.button:hover{transform:translateY(-2px)}.button--header{background:var(--navy);color:#fff;white-space:nowrap;padding:13px 19px;min-height:46px}.button--header:hover,.button--primary:hover{background:#164c77}.button--primary{background:var(--blue);color:#fff}.button--full{width:100%}.site-header__menu-toggle{display:none;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--line);background:#fff}.site-header__menu-toggle span{width:19px;height:2px;background:var(--ink)}
/* Hero: split editorial composition, no generic cards */
.hero{padding:clamp(48px,5vw,78px) 0 0;background:#fff}.hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:stretch;gap:clamp(35px,6vw,90px)}.hero__content{padding:clamp(32px,5vw,76px) 0 85px;align-self:center}.hero h1{max-width:770px;margin-bottom:28px}.hero h1 em{font-style:normal;color:var(--blue)}.hero__lead{font-size:clamp(17px,1.5vw,20px);line-height:1.65;color:#435460;max-width:580px}.hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin:35px 0}.text-link{display:inline-flex;gap:12px;align-items:center;text-decoration:none;font-size:13px;font-weight:700;border-bottom:1px solid #9faeb8;padding:8px 0}.text-link:hover{color:var(--blue)}.hero__note{font-size:12px;color:#6c7880;margin:0}.hero__visual{position:relative;min-width:0;margin:0;align-self:stretch;overflow:hidden;background:#d8d9d4}.hero__visual img{width:100%;height:100%;min-height:590px;max-height:740px;object-fit:cover;object-position:center}.hero__visual-caption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:end;justify-content:space-between;gap:20px;background:linear-gradient(transparent,rgba(13,31,43,.86));color:#fff;padding:65px 32px 30px;font:650 16px/1.45 var(--display)}.caption-index{font:700 10px/1.4 var(--display);letter-spacing:.13em;color:#d0e0eb;white-space:nowrap}
/* Introduction */
.intro{border-bottom:1px solid var(--line)}.intro__grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(55px,8vw,140px)}.intro h2{max-width:650px;margin-bottom:0}.intro__body{font-size:17px;color:#43535e}.intro__body p:last-child{margin-bottom:0}
/* Services: restrained typographic grid */
.section-heading{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:70px;margin-bottom:55px}.section-heading h2{margin:0}.section-heading>p{font-size:16px;color:#54636c;margin:0 0 6px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #cdd6da}.service-card{padding:34px 26px 10px 0;border-right:1px solid #cdd6da;margin-right:26px}.service-card:last-child{border-right:0;margin-right:0}.service-card__number{display:block;font:700 10px/1.5 var(--display);letter-spacing:.12em;color:var(--blue);margin-bottom:48px}.service-card h3{margin-bottom:15px;font-size:20px}.service-card p{font-size:14px;color:#596873;line-height:1.75}
/* Dedicated territory */
.difference__grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:clamp(65px,9vw,145px)}.difference__visual{margin:0;background:#e7e7e4;overflow:hidden}.difference__visual img{width:100%;height:clamp(500px,54vw,690px);object-fit:cover}.difference__content>p:not(.eyebrow){font-size:17px;color:#4f5d67}.difference__content h2{margin-bottom:27px}.feature-lines{margin-top:38px;border-top:1px solid var(--line)}.feature-lines>div{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.feature-lines strong{font-size:14px;line-height:1.5}.feature-lines span{font-size:13px;color:#61707a;line-height:1.65}
/* Process */
.process{position:relative}.section-heading--dark>p{color:#bdcbd3}.process-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:80px}.process-list li{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:28px 0;border-top:1px solid #42535f}.process-list__index{font:700 12px var(--display);color:#80b4d7}.process-list h3{font-size:19px;margin:0 0 11px}.process-list p{font-size:14px;color:#c1cdd3;margin:0;line-height:1.7}
/* Experience: typography over decorative graphics */
.founder{background:#fff}.founder__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,9vw,145px)}.founder__grid>div:nth-child(2){font-size:17px;color:#4d5d67}.founder__signature{font-weight:700;color:var(--ink);border-left:2px solid var(--blue);padding-left:19px;margin-top:26px}
/* Collaboration CTA, no public prices */
.pricing__grid{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:clamp(50px,8vw,125px)}.pricing__grid>div:first-child>p:not(.eyebrow){color:#4e5e69;font-size:17px}.pricing__small{font-size:14px!important;color:#697782!important}.pricing-card{padding:clamp(28px,4vw,56px);background:#fff;border-top:4px solid var(--navy);box-shadow:0 12px 50px rgba(17,39,54,.05)}.pricing-card__label{font:700 10px/1.5 var(--display);letter-spacing:.14em;color:var(--blue);margin-bottom:26px}.pricing-card h3{font-size:clamp(22px,2.1vw,29px);line-height:1.3}.pricing-card p:not(.pricing-card__label){font-size:15px;color:#576672}.pricing-card .button{margin-top:18px}
/* FAQ */
.faq__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(60px,8vw,130px)}.faq__items{border-top:1px solid var(--line)}.faq__items details{border-bottom:1px solid var(--line)}.faq__items summary{position:relative;cursor:pointer;list-style:none;padding:25px 36px 25px 0;font-size:16px;font-weight:650;line-height:1.5}.faq__items summary::-webkit-details-marker{display:none}.faq__items summary::after{content:'+';position:absolute;right:4px;top:23px;font-size:23px;font-weight:400;color:var(--blue)}.faq__items details[open] summary::after{content:'−'}.faq__items details p{color:#586772;font-size:15px;padding:0 38px 23px 0;margin:0}
/* Contact */
.contact__grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(55px,9vw,135px);align-items:start}.contact__grid>div:first-child>p:not(.eyebrow){font-size:17px;color:#c2cdd3}.contact__privacy-note{font-size:14px!important;color:#9aabb6!important}.contact__form-wrap{background:#fff;color:var(--ink);padding:clamp(26px,4vw,48px)}.contact-form{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-field label{font-size:12px;font-weight:700}.form-field input,.form-field textarea{width:100%;border:1px solid #cbd5da;background:#fff;color:var(--ink);border-radius:2px;padding:12px 13px;outline-offset:2px;font-size:14px;min-height:46px}.form-field textarea{min-height:95px;resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:var(--blue)}.form-field input::placeholder,.form-field textarea::placeholder{color:#89949b}.check-field{display:flex;gap:11px;align-items:start;font-size:12px;line-height:1.55;color:#4f606a}.check-field input{margin:4px 0 0;accent-color:var(--blue)}.check-field a{color:var(--blue)}.contact-form__footnote{font-size:11px;color:#72818a;margin:0}.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
/* Footer */
.site-footer{background:#f0f3f4;color:#273843;padding:65px 0 28px}.site-footer__main{display:flex;justify-content:space-between;gap:70px;padding-bottom:55px}.site-footer__identity{max-width:410px}.site-footer__brand{display:inline-block;margin-bottom:17px}.site-footer__brand img{width:238px;max-height:60px;object-fit:contain}.site-footer__identity p{font-size:14px;color:#5e6d76}.site-footer__nav{display:flex;align-items:flex-start;gap:23px;flex-wrap:wrap}.site-footer__bottom{border-top:1px solid #d6dee2;padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer__bottom p{font-size:12px;color:#6b7b84;margin:0}.site-footer__legal{display:flex;gap:22px;flex-wrap:wrap}.site-footer__legal a{font-size:12px;color:#566671;text-decoration:none}.site-footer__legal a:hover{text-decoration:underline}
/* Responsive */
@media(max-width:1100px){.container{width:min(var(--max),calc(100% - 64px))}.site-header__inner{gap:20px}.site-header__brand img{width:205px}.site-nav{gap:14px}.site-nav a{font-size:12px}.hero__grid{gap:35px}.hero h1{font-size:clamp(2.5rem,4.6vw,4rem)}.service-card{margin-right:17px;padding-right:17px}}
@media(max-width:860px){html{scroll-padding-top:78px}.site-header__inner{min-height:76px}.site-header__menu-toggle{display:flex;margin-left:0;order:3}.site-header__brand{margin-right:auto}.site-header__brand img{width:205px}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:50;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:14px 32px 22px;box-shadow:0 18px 24px rgba(0,0,0,.08)}.site-nav.is-open{display:flex}.site-nav a{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.button--header{order:2}.hero__grid{grid-template-columns:1fr;gap:0}.hero__content{padding:44px 0 55px}.hero h1{max-width:700px}.hero__visual img{height:450px;min-height:0;max-height:none;object-position:center 45%}.intro__grid,.section-heading,.difference__grid,.founder__grid,.pricing__grid,.faq__grid,.contact__grid{grid-template-columns:1fr;gap:30px}.section-heading{margin-bottom:40px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.service-card:nth-child(2){border-right:0;margin-right:0}.difference__visual img{height:450px}.process-list{column-gap:35px}.faq__grid,.contact__grid{gap:40px}.site-footer__main{gap:35px}}
@media(max-width:580px){.container{width:calc(100% - 38px)}.section{padding:70px 0}.site-header__inner{min-height:70px;gap:12px}.site-header__brand img{width:165px}.button--header{font-size:11px;padding:10px 12px;min-height:42px}.site-header__menu-toggle{width:42px;height:42px}.hero{padding-top:0}.hero__content{padding:54px 0 48px}.hero h1{font-size:clamp(2.25rem,9.2vw,3.2rem)}.hero__lead{font-size:16px}.hero__actions{align-items:stretch;gap:17px}.hero__actions .button{width:100%}.hero__visual img{height:385px}.hero__visual-caption{padding:65px 19px 20px;font-size:13px}.intro__body,.founder__grid>div:nth-child(2){font-size:16px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(2){margin:0;border-right:0;border-bottom:1px solid #cdd6da;padding:24px 0}.service-card__number{margin-bottom:20px}.difference__visual img{height:385px}.feature-lines>div{grid-template-columns:1fr;gap:7px}.process-list{grid-template-columns:1fr}.process-list li{grid-template-columns:48px 1fr}.pricing-card{padding:28px}.form-row{grid-template-columns:1fr}.contact__form-wrap{padding:25px 19px}.site-footer__main,.site-footer__bottom{flex-direction:column;align-items:flex-start}.site-footer__main{padding-bottom:30px}.site-footer__nav{gap:15px 22px}.site-footer__bottom{gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* REFORMACTIVA — Formulario de evaluación de empresas (v3).
   Solo afecta a la sección de contacto. Los selectores siguen siendo nativos,
   accesibles con teclado y compatibles con el envío PHP existente. */
.contact .contact__form-wrap{border:1px solid #e2e8ec;box-shadow:0 22px 65px rgba(0,0,0,.12)}
.contact .contact-form{gap:21px}
.contact .contact-form>h3{font-size:clamp(22px,2.1vw,29px);line-height:1.25;letter-spacing:-.035em;margin:0 0 2px;color:var(--navy)}
.contact .contact-form>p:not(.contact-form__footnote){margin:14px 0 0;padding:0 0 11px;border-bottom:1px solid #dce4e9;color:#285a80;font:750 11px/1.5 var(--display);letter-spacing:.115em;text-transform:uppercase}
.contact .form-field{gap:9px}
.contact .form-field label{color:#253b4a;font-size:13px;font-weight:700;line-height:1.45}
.contact .form-field input:not([type=checkbox]),.contact .form-field textarea,.contact .form-field select{width:100%;min-height:52px;padding:13px 15px;border:1px solid #c8d3db;border-radius:5px;background-color:#fff;color:#182d3b;font:500 14px/1.5 var(--font);box-shadow:0 1px 2px rgba(17,39,54,.025);transition:border-color .18s,box-shadow .18s,background-color .18s}
.contact .form-field input:hover,.contact .form-field textarea:hover,.contact .form-field select:hover{border-color:#8fa8b9}
.contact .form-field input:focus,.contact .form-field textarea:focus,.contact .form-field select:focus{border-color:#2465a0;outline:none;box-shadow:0 0 0 3px rgba(36,101,160,.13)}
.contact .form-field input::placeholder,.contact .form-field textarea::placeholder{color:#778995;font-weight:400}
.contact .form-field select{appearance:none;-webkit-appearance:none;padding-right:49px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%233b6077' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px;background-position:right 15px center}
.contact .form-field select:required:invalid{color:#778995;font-weight:400}
.contact .form-field select option{color:#182d3b;background:#fff}
.contact .form-field select:valid{border-color:#a9c3d1;background-color:#f9fcfd}
.contact .form-field small{font-size:12px;line-height:1.5;color:#687c88}
.contact .form-field textarea{min-height:112px;resize:vertical}
.contact .check-field{gap:12px;align-items:flex-start;padding:16px;border:1px solid #e1e8ec;border-radius:5px;background:#f7f9fa;color:#435866;font-size:12px}
.contact .check-field input{width:17px;height:17px;flex:0 0 17px;margin:1px 0 0;accent-color:var(--blue)}
.contact .contact-form>.button{min-height:56px;margin-top:1px;font-size:14px}
.contact .contact-form__footnote{line-height:1.65;color:#647885;font-size:12px}
@media(max-width:580px){.contact .contact-form{gap:17px}.contact .contact-form>p:not(.contact-form__footnote){margin-top:10px}.contact .form-field select{font-size:14px}.contact .check-field{padding:13px}}
