/* FASE 3 / Bloque C: editorial treatment for Nosotros and Contacto.
   Scoped to each page so shared behavior, forms, rotatives and assistant remain intact. */
#mainContent.f3-personas {
  --f3-navy:#082f56; --f3-blue:#0f416f; --f3-gold:#dfb54a; --f3-ink:#10263c;
  background:linear-gradient(180deg,#f7fafc 0%,#fff 23%,#f3f7fa 100%);
}
#mainContent.f3-personas .shell { max-width:1240px; }
#mainContent.f3-personas .page-hero {
  padding:clamp(36px,6vw,92px) 0 clamp(44px,7vw,110px);
  background:linear-gradient(112deg,var(--f3-navy) 0%,var(--f3-blue) 54%,#dbe7ef 54.1%,#f7fafc 100%);
  color:#fff;
}
#mainContent.f3-personas .page-hero-layout { align-items:center; gap:clamp(30px,6vw,94px); }
#mainContent.f3-personas:not(.f3-contact) .page-hero-layout { background:var(--f3-navy)!important; border-radius:0!important; }
#mainContent.f3-personas .page-hero-copy { max-width:640px; }
#mainContent.f3-personas:not(.f3-contact) .page-hero-copy { background:transparent!important; color:#fff; }
#mainContent.f3-personas .page-hero-copy h1 { font-size:clamp(2.5rem,5vw,5.7rem)!important; line-height:.96!important; letter-spacing:-.055em; max-width:10ch; }
#mainContent.f3-personas:not(.f3-contact) .page-hero-copy h1 { color:#fff!important; }
#mainContent.f3-personas .page-hero-copy p { max-width:52ch; color:#dbeaf5; font-size:clamp(1rem,1.4vw,1.2rem); line-height:1.65; }
#mainContent.f3-personas:not(.f3-contact) .page-hero-copy p { color:#dbeaf5!important; }
#mainContent.f3-personas .photo-card { border:10px solid rgba(255,255,255,.86); box-shadow:20px 24px 0 rgba(223,181,74,.94),0 25px 60px rgba(4,26,50,.3); transform:rotate(1.3deg); }
#mainContent.f3-personas .photo-card img { aspect-ratio:4/3; object-fit:cover; }
#mainContent.f3-personas .section { padding:clamp(56px,8vw,116px) 0; }
#mainContent.f3-personas .section-head { max-width:720px; margin-bottom:clamp(28px,4vw,54px); }
#mainContent.f3-personas .section-head h2 { font-size:clamp(2rem,4.2vw,4.5rem)!important; line-height:.98!important; letter-spacing:-.05em; color:var(--f3-navy); }
#mainContent.f3-personas .detail-card,
#mainContent.f3-personas .team-card,
#mainContent.f3-personas .mission-card { border:0; border-radius:0; box-shadow:none; }
#mainContent.f3-personas .auto-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#c7d5df; }
#mainContent.f3-personas .auto-grid .detail-card { padding:clamp(24px,3vw,44px); background:#fff; min-height:245px; }
#mainContent.f3-personas .auto-grid .detail-card:nth-child(2) { background:var(--f3-navy); color:#fff; transform:translateY(28px); }
#mainContent.f3-personas .auto-grid .detail-card:nth-child(2) h3 { color:#fff; }
#mainContent.f3-personas .auto-grid .detail-card:nth-child(2) p { color:#e5f0f6; }
#mainContent.f3-personas .auto-grid h3 { font-size:clamp(1.35rem,2vw,2rem)!important; line-height:1.05!important; color:var(--f3-navy); }
#mainContent.f3-personas .section--team { background:#fff; }
#mainContent.f3-personas .team-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,2vw,30px); }
#mainContent.f3-personas .team-card { padding:26px 0; border-top:2px solid var(--f3-gold); }
#mainContent.f3-personas .team-card h3 { font-size:1.35rem!important; line-height:1.1!important; color:var(--f3-navy); }
#mainContent.f3-personas .team-photo { background:#eaf1f5; border-radius:50%; width:72px; height:72px; margin-bottom:24px; }
#mainContent.f3-personas .section--direction { background:linear-gradient(135deg,#eaf1f5,#fff); }
#mainContent.f3-personas .mission-grid { gap:1px; background:#bdccd7; }
#mainContent.f3-personas .mission-card { padding:clamp(24px,4vw,52px); background:#fff; }
#mainContent.f3-personas .mission-card--vision { background:var(--f3-navy); color:#fff; }
#mainContent.f3-personas .mission-card--vision h3 { color:#fff; }
#mainContent.f3-personas .mission-card--vision p { color:#e5f0f6; }
#mainContent.f3-personas .values-grid { margin-top:28px; display:flex; flex-wrap:wrap; gap:10px; }
#mainContent.f3-personas .values-grid span { border:1px solid #9cb1c0; padding:10px 16px; border-radius:999px; color:var(--f3-navy); }
#mainContent.f3-personas .eco-showcase { display:grid; grid-template-columns:.85fr 1.15fr; align-items:stretch; gap:clamp(20px,4vw,70px); }
#mainContent.f3-personas .eco-story { align-self:center; padding:clamp(22px,4vw,52px); background:var(--f3-navy); color:#fff; }
#mainContent.f3-personas .eco-story p { color:#e5f0f6; }
#mainContent.f3-personas .eco-metric { color:#fff; border-color:rgba(255,255,255,.3); }
#mainContent.f3-personas .eco-media img { aspect-ratio:16/10; object-fit:cover; }
#mainContent.f3-personas .quote-panel { max-width:900px; padding:clamp(34px,6vw,80px); background:#fff; border-left:8px solid var(--f3-gold); box-shadow:0 18px 50px rgba(8,47,86,.12); }
#mainContent.f3-personas .quote-panel p { font-size:clamp(1.6rem,3vw,3.2rem)!important; line-height:1.1!important; letter-spacing:-.04em; color:var(--f3-navy); }
#mainContent.f3-personas .quote-sign { display:block; margin-top:20px; color:var(--f3-navy); font-weight:800; }

/* Contacto: form remains untouched semantically; this only changes its presentation. */
#mainContent.f3-contact .page-hero { background:linear-gradient(120deg,#f4f8fa 0%,#fff 51%,#e7f0f5 51.1%); color:var(--f3-ink); }
#mainContent.f3-contact .page-hero-layout { align-items:stretch; gap:clamp(26px,5vw,82px); }
#mainContent.f3-contact .contact-form-card { padding:clamp(26px,4vw,58px); border:0; border-top:8px solid #dfb54a; border-radius:0; box-shadow:0 24px 60px rgba(8,47,86,.14); }
#mainContent.f3-contact .contact-form-card h1 { font-size:clamp(2.8rem,5vw,5.8rem)!important; line-height:.92!important; letter-spacing:-.06em; color:#082f56; max-width:8ch; }
#mainContent.f3-contact .contact-form-intro { font-size:1.1rem; max-width:38ch; margin:24px 0 34px; }
#mainContent.f3-contact #quoteForm .form-grid { gap:18px 20px; }
#mainContent.f3-contact #quoteForm input,#mainContent.f3-contact #quoteForm select,#mainContent.f3-contact #quoteForm textarea { border:0; border-bottom:2px solid #b9cbd6; border-radius:0; background:#f5f8fa; padding:12px 14px; }
#mainContent.f3-contact #quoteForm input:focus-visible,#mainContent.f3-contact #quoteForm select:focus-visible,#mainContent.f3-contact #quoteForm textarea:focus-visible { outline:3px solid #dfb54a; outline-offset:2px; border-color:#0f416f; }
#mainContent.f3-contact #quoteForm .button { border-radius:999px; padding:14px 30px; }
#mainContent.f3-contact .contact-command { align-self:center; padding:clamp(28px,4vw,58px); background:#082f56; color:#fff; border-radius:0; box-shadow:20px 20px 0 #dfb54a; }
#mainContent.f3-contact .contact-command h3 { color:#fff; font-size:clamp(1.7rem,3vw,3rem)!important; line-height:1.02!important; }
#mainContent.f3-contact .contact-command__grid { grid-template-columns:1fr; gap:0; }
#mainContent.f3-contact .contact-command__item { padding:20px 0; border-color:rgba(255,255,255,.22); color:#fff; }
#mainContent.f3-contact .contact-command__item { background:#fff; padding:20px 18px; margin-bottom:1px; border-radius:12px; border-color:#d9e3e9; }
#mainContent.f3-contact .contact-command__item strong,#mainContent.f3-contact .contact-command__item span { color:#082f56; }
#mainContent.f3-contact .contact-command__item svg { color:#dfb54a; }
#mainContent.f3-contact .contact-route-panel { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(24px,6vw,90px); align-items:start; }
#mainContent.f3-contact .contact-route-panel__copy h2 { font-size:clamp(2.2rem,4vw,4.4rem)!important; line-height:.95!important; color:#082f56; }
#mainContent.f3-contact .contact-route-panel { background:#082f56; color:#fff; padding:clamp(26px,4vw,56px); border-radius:24px; }
#mainContent.f3-contact .contact-route-panel__copy h2 { color:#fff!important; }
#mainContent.f3-contact .contact-route-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#bfced8; }
#mainContent.f3-contact .process-card { padding:24px; background:#fff; min-height:220px; }
#mainContent.f3-contact .process-card:nth-child(2) { background:#eaf1f5; transform:translateY(24px); }
#mainContent.f3-contact .process-card h3 { font-size:1.3rem!important; line-height:1.1!important; color:#082f56; }
#mainContent.f3-contact .process-card p { color:#33475c!important; }
#mainContent.f3-contact .service-stage-grid { align-items:center; gap:clamp(26px,6vw,90px); }
#mainContent.f3-contact .service-stage-copy { padding:clamp(24px,4vw,60px); background:#fff; border-left:7px solid #dfb54a; }

@media (max-width:860px){
  #mainContent.f3-personas .page-hero { background:var(--f3-navy); }
  #mainContent.f3-personas .page-hero-layout,#mainContent.f3-personas .eco-showcase,#mainContent.f3-contact .contact-route-panel { grid-template-columns:1fr; }
  #mainContent.f3-personas .auto-grid,#mainContent.f3-personas .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #mainContent.f3-personas .auto-grid .detail-card:nth-child(2),#mainContent.f3-contact .process-card:nth-child(2) { transform:none; }
  #mainContent.f3-contact .page-hero-layout { grid-template-columns:1fr; }
  #mainContent.f3-contact .contact-command { box-shadow:12px 12px 0 #dfb54a; }
}
@media (max-width:520px){
  #mainContent.f3-personas .auto-grid,#mainContent.f3-personas .team-grid,#mainContent.f3-contact .contact-route-steps { grid-template-columns:1fr; }
  #mainContent.f3-personas .page-hero-copy h1 { font-size:clamp(2.65rem,13vw,4rem)!important; }
  #mainContent.f3-contact .contact-form-card h1 { font-size:clamp(2.25rem,10vw,3rem)!important; max-width:none!important; white-space:normal!important; overflow-wrap:anywhere; }
  #mainContent.f3-personas .photo-card { transform:none; box-shadow:10px 10px 0 #dfb54a; }
  #mainContent.f3-contact .contact-command { box-shadow:8px 8px 0 #dfb54a; }
}
