/* Plantilla editorial compartida por las páginas interiores (cargada por sección). */
.inner-hero{position:relative;background:#22272b;isolation:isolate;color:#fff;min-height:clamp(420px,58svh,690px);display:flex;align-items:end;overflow:hidden}.inner-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.inner-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,15,18,.90),rgba(12,15,18,.4));z-index:-1}.inner-hero .container{padding-top:145px;padding-bottom:76px}.inner-hero h1{font-size:clamp(42px,5.9vw,82px);line-height:1.08;letter-spacing:-.05em;max-width:930px;margin:16px 0 18px;color:white}.inner-hero p:not(.eyebrow){color:#f1f1f1;max-width:670px;font-size:clamp(17px,1.65vw,21px);line-height:1.75}.inner-intro{padding:clamp(70px,8vw,115px) 0}.inner-intro-grid{display:grid;grid-template-columns: .9fr 1.1fr;gap:clamp(35px,7vw,120px)}.inner-intro h2,.inner-heading h2,.inner-cta h2{font-size:clamp(33px,4.2vw,59px);line-height:1.16;letter-spacing:-.04em}.inner-intro-copy p{font-size:18px;line-height:1.85;color:#565b61;margin:0 0 19px}.inner-intro-copy p:first-child{font-size:clamp(19px,2vw,24px);font-weight:600;color:#25282a;line-height:1.65}.inner-block{padding:clamp(70px,8vw,115px) 0}.inner-block.alt{background:#f4f4f5}.inner-heading{max-width:750px;margin-bottom:40px}.inner-heading h2{margin:14px 0}.inner-heading>p:last-child{color:#62666b;font-size:17px;line-height:1.7}.inner-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.inner-card{background:#fff;padding:clamp(25px,3vw,43px);border:1px solid #e6e6e8;display:flex;flex-direction:column;min-height:225px}.inner-card-index{color:var(--magenta);font-size:13px;font-weight:800;letter-spacing:.1em}.inner-card h3{font-size:clamp(20px,2vw,27px);line-height:1.25;letter-spacing:-.02em;margin:33px 0 12px}.inner-card p{font-size:16px;line-height:1.7;color:#62666b;margin:0}.inner-cta{background:#25282b;color:#fff;padding:75px 0}.inner-cta .inner-cta-layout{display:flex;align-items:center;justify-content:space-between;gap:35px}.inner-cta h2{color:#fff;max-width:750px;margin:12px 0}.inner-cta p:not(.eyebrow){max-width:650px;color:#d6d7d9;font-size:17px;line-height:1.7}.inner-cta .eyebrow{color:#f4b2d5}.inner-cta .btn{flex:none}.inner-work{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.inner-work img{width:100%;height:390px;object-fit:cover}.inner-work h2{font-size:clamp(32px,3.5vw,50px);line-height:1.16;letter-spacing:-.04em}.inner-work p{line-height:1.8;color:#585c60;font-size:17px}@media(max-width:780px){.inner-intro-grid,.inner-work{grid-template-columns:1fr;gap:25px}.inner-cards{grid-template-columns:1fr 1fr}.inner-cta .inner-cta-layout{flex-direction:column;align-items:flex-start}}@media(max-width:540px){.inner-cards{grid-template-columns:1fr}.inner-hero .container{padding:140px 0 65px}.inner-hero{min-height:520px}.inner-work img{height:270px}}
.form-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(30px,7vw,100px);align-items:start}.form-side h2{font-size:clamp(32px,3.5vw,52px);letter-spacing:-.04em}.form-side p,.form-side dd{color:#5a5e64;line-height:1.7;font-size:17px}.form-side dl{margin-top:40px}.form-side dt{font-weight:800;margin-top:20px}.form-side dd{margin:3px 0}.form-panel{background:#f4f4f5;padding:clamp(23px,3.4vw,48px)}.form-panel h2{font-size:32px;margin:0 0 8px}.form-panel>p{color:#62666b}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{margin:17px 0}.field label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.field input,.field select,.field textarea{display:block;width:100%;box-sizing:border-box;background:white;border:1px solid #a3a5a8;border-radius:0;padding:13px 14px;font:inherit;color:#222;min-height:48px}.field textarea{resize:vertical}.form-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-size:14px}.form-consent input{margin-top:5px;min-width:19px;min-height:19px}.form-privacy-note{font-size:13px;color:#53585e;line-height:1.6}.contact-form button{margin-top:15px}.form-notice{padding:14px 17px;border-left:4px solid;font-size:15px}.form-notice.success{border-color:#217b4e;background:#eaf4ee}.form-notice.error{border-color:#a23f4d;background:#fff0f1}@media(max-width:800px){.form-layout{grid-template-columns:1fr}}@media(max-width:540px){.form-grid{grid-template-columns:1fr;gap:0}}


/* Contacto: datos de contacto y estado del formulario AJAX.
   Los iconos decorativos mantienen el magenta corporativo por CSS. */
.contact-details{font-style:normal;display:grid;gap:20px;margin-top:32px;}
.contact-detail{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:14px;}
.contact-detail-icon{width:46px;height:46px;border:1px solid #dfcbd5;background:#fff5fa;display:flex;align-items:center;justify-content:center;}
.contact-detail-icon img{display:block;width:25px;height:25px;object-fit:contain;filter:brightness(0) saturate(100%) invert(20%) sepia(82%) saturate(2400%) hue-rotate(301deg) brightness(83%) contrast(99%);}
.contact-detail-label{display:block;font-size:13px;font-weight:750;color:#4e535a;margin:0 0 4px;}
.contact-detail a,.contact-detail div>span:last-child{font-size:17px;color:#292d31;overflow-wrap:anywhere;line-height:1.65;}
.contact-detail a{text-decoration:underline;text-decoration-color:#b7187261;text-underline-offset:3px;}
.contact-detail a:hover{color:#9c105c;text-decoration-color:currentColor;}
.form-send-status[hidden]{display:none;}
.form-send-status{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:15px 17px;font-size:15px;line-height:1.55;border-left:4px solid #a71b6b;background:#fbedf5;color:#56203e;}
.form-send-status[data-state="success"]{background:#ebf7f0;border-color:#267b53;color:#195738;}
.form-send-status[data-state="error"]{background:#fff0f1;border-color:#ae3e50;color:#7c2534;}
.form-status-icon{flex:none;width:21px;height:21px;text-align:center;line-height:21px;font-size:17px;font-weight:800;}
.form-send-status[data-state="sending"] .form-status-icon{border:2px solid #d9b8c9;border-top-color:#b71872;border-radius:50%;width:19px;height:19px;animation:contact-spin .85s linear infinite;}
@keyframes contact-spin{to{transform:rotate(360deg)}}
.contact-form button[disabled]{opacity:.65;cursor:wait;}
@media(prefers-reduced-motion:reduce){.form-send-status[data-state="sending"] .form-status-icon{animation:none;border-style:dotted}}

/* Solicitud registrada correctamente aunque haya fallado la notificación SMTP. */
.form-send-status[data-state="saved"] { border-left: 4px solid #b71872; background: #fff7fb; color: #55203c; }


/* Mapa estático de ubicación y refuerzo visual de Contacto. */
.contact-map-wrap{grid-column:1/-1;margin-top:clamp(40px,6vw,70px);}
.contact-map-card{background:#f4f4f5;padding:clamp(20px,3vw,35px);border:1px solid #e7e7ea;}
.contact-map-copy{max-width:760px;margin-bottom:24px;}
.contact-map-copy h2{font-size:clamp(30px,3.6vw,46px);line-height:1.14;letter-spacing:-.04em;margin:10px 0 12px;}
.contact-map-copy p{color:#5c6167;line-height:1.75;font-size:17px;margin:0;}
.contact-map-figure{margin:0;border:1px solid #dedee3;background:#fff;}
.contact-map-figure img{display:block;width:100%;height:auto;}
.contact-map-actions{margin-top:18px;display:flex;justify-content:flex-start;}
.contact-map-actions .btn{display:inline-flex;align-items:center;justify-content:center;}
.form-send-status[data-state="rate_limit"]{background:#fff8eb;border-color:#d39b21;color:#785510;}
.form-send-status[data-state="spam"]{background:#f4efff;border-color:#7450d3;color:#45308f;}





/* Diseño final: exactamente las columnas y alineaciones del formulario superior.
   El texto se alinea con el bloque de datos de contacto; el mapa empieza
   donde empieza el formulario y alcanza el borde derecho del contenedor. */
.contact-map-wrap{grid-column:1 / -1;min-width:0;margin-top:clamp(30px,4vw,56px);}
.contact-map-card{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);column-gap:clamp(30px,7vw,100px);align-items:start;background:#f4f4f5;border:0;padding:clamp(24px,3.3vw,44px) 0;max-width:none;}
.contact-map-copy{grid-column:1;grid-row:1 / span 2;max-width:none;margin:0;min-width:0;}
.contact-map-copy p:not(.eyebrow){max-width:38ch;}
.contact-map-figure{grid-column:2;grid-row:1;width:100%;max-width:none;min-width:0;margin:0;border:1px solid #dedee3;}
.contact-map-figure img{width:100%;height:auto;aspect-ratio:1304 / 732;object-fit:cover;}
.contact-map-actions{grid-column:2;grid-row:2;width:100%;max-width:none;margin-top:18px;justify-content:flex-start;}
.contact-map-actions .btn{background:#b71872;color:#fff;border:1px solid #b71872;min-height:48px;text-align:center;}
.contact-map-actions .btn:hover{background:#93125a;border-color:#93125a;}
@media(max-width:800px){.contact-map-card{grid-template-columns:minmax(0,1fr);row-gap:18px;}
.contact-map-copy,.contact-map-figure,.contact-map-actions{grid-column:1;grid-row:auto;}
.contact-map-copy p:not(.eyebrow){max-width:65ch;}.contact-map-actions{margin-top:0;}
}
