/* V2: páginas por audiencia; identidad y componentes originales conservados. */
.v2-header { gap:28px; }
.v2-header nav { gap:22px; }
.v2-header [aria-current="page"] { color:var(--orange); }
.v2-menu-toggle { display:none; align-items:center; background:transparent; color:var(--paper); border:1px solid #626660; border-radius:999px; padding:9px 16px; font:500 14px "DM Sans",sans-serif; cursor:pointer; }
.v2-menu-toggle:focus-visible { outline:3px solid var(--aqua); outline-offset:3px; }
.v2-footer { gap:28px; flex-wrap:wrap; }
.v2-inner-hero { grid-template-columns:1fr; padding-bottom:35px; }
.v2-inner-hero .hero-copy { max-width:1100px; }
.v2-inner-hero .hero-desc { max-width:760px; font-size:18px; }
.v2-inner-hero h1 { font-size:clamp(40px,5vw,70px); }
.v2-inner-hero .text-link { border-color:#818c83; }
.v2-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px; }
.v2-actions .text-link { margin-top:0; }
.v2-audiences,.v2-module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:38px; }
.v2-audience { display:flex; flex-direction:column; padding:36px; border:1px solid #bdc9be; background:#e8eee5; }
.v2-audience:nth-child(2) { background:#d6efea; }
.v2-audience h3 { font:500 30px/1.2 Manrope,sans-serif; letter-spacing:-.035em; }
.v2-audience ul { padding-left:20px; margin-bottom:28px; }
.v2-audience .text-link { margin-top:auto; align-self:start; }
.v2-label { font-size:12px; letter-spacing:.04em; color:#526359; }
.v2-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:40px; }
.v2-card { border-top:1px solid #aabbb0; padding:26px 0; }
.v2-card h3 { font:600 23px/1.25 Manrope,sans-serif; }
.v2-card p:last-child { margin-bottom:0; color:#536158; }
.v2-process-note { grid-column:1/-1; margin:18px 0 0; }
.v2-process-note a,.v2-closing .small a,.v2-agenda-layout>.small a { text-decoration:underline; text-underline-offset:4px; }
.v2-soft { background:#eaf0e7; }
.v2-list { padding-left:22px; max-width:850px; }
.v2-list li { padding:12px 0; }
.v2-closing h2 { margin-bottom:22px; }
.v2-closing .small { margin:28px 0 0; }
.v2-closing .button { white-space:normal; }
.v2-dark { background:var(--ink); color:var(--paper); }
.v2-dark .text-link { border-color:#8ba196; }
.v2-dark h2 span { color:#bdc8bf; }
.v2-group-title { color:var(--aqua); font:500 25px Manrope,sans-serif; }
.v2-module-grid .v2-module { display:flex; flex-direction:column; gap:18px; }
.v2-module-grid .v2-module p { max-width:none; }
.v2-module-grid .v2-module small { display:inline; text-align:left; }
.v2-module .text-link { align-self:start; margin:0; }
.v2-problem { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); gap:32px; padding:24px 0; }
.v2-problem strong { display:block; margin-bottom:10px; color:#536158; }
.v2-problem p:last-child { background:#e8eee5; padding:20px; margin:0; }
.v2-proposal { display:block; }
.v2-proposal p { max-width:760px; margin:25px 0; }
.v2-secondary { background:transparent; color:var(--paper); border:1px solid #8ba196; }
.v2-secondary:hover { color:var(--ink); }
.v2-contact-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:8%; }
.v2-direct address { font-style:normal; }
.v2-direct address>p { border-bottom:1px solid var(--line); padding-bottom:24px; }
.v2-direct address a { font-weight:500; }
.v2-callout { padding:26px; background:#e8eee5; margin-top:30px; }
.v2-callout h3 { margin-bottom:4px; }
.v2-progress>div { display:flex; gap:8px; }
.v2-progress i { height:4px; flex:1; background:#d6dbd6; }
.v2-progress i.v2-complete { background:#397d70; }
.v2-progress p { margin:12px 0 30px; color:#536158; font-size:14px; }
#form-contacto fieldset { border:0; padding:0; margin:0 0 30px; min-width:0; }
#form-contacto legend { font:500 28px/1.3 Manrope,sans-serif; margin-bottom:24px; }
.v2-choices { display:grid; gap:12px; }
.v2-choice { position:relative; display:flex; gap:12px; align-items:start; padding:20px; border:1px solid #acbdb2; cursor:pointer; }
.v2-choice:has(input:checked) { background:#d6efea; border-color:#397d70; }
.v2-choice small,.v2-choice strong { display:block; }
.v2-choice small { color:#536158; margin-top:5px; }
.v2-choice input { margin-top:5px; accent-color:#287569; flex-shrink:0; }
.v2-chips { grid-template-columns:repeat(2,minmax(0,1fr)); }
.v2-chips .v2-choice { padding:14px; }
.v2-field { display:block; font-weight:500; margin-top:20px; }
.v2-field input,.v2-field textarea { display:block; width:100%; border:1px solid #9cafa1; padding:13px; background:#fff; color:var(--ink); font:400 16px 'DM Sans',sans-serif; margin-top:8px; border-radius:0; }
.v2-consent { display:flex; gap:10px; align-items:baseline; margin-top:24px; }
.v2-error { color:#a12618; font-size:14px; min-height:0; margin:6px 0 14px; }
.v2-error:empty { display:none; }
[aria-invalid="true"] { outline:2px solid #a12618; outline-offset:2px; }
.v2-back { background:transparent; border:0; padding:14px 0; text-decoration:underline; cursor:pointer; }
.v2-next,.v2-submit { border:0; font:600 16px 'DM Sans',sans-serif; cursor:pointer; }
.v2-confirmation { padding:32px; background:#d6efea; align-self:start; }
.v2-agenda-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:45px; }
.v2-agenda-copy { display:block; }
.v2-agenda-copy .small { max-width:none; }
.v2-calendar { background:#e8eee5; border:1px solid #bdc9be; display:grid; place-items:center; padding:28px; }
.v2-calendar h3 { font:500 30px Manrope,sans-serif; }
.v2-calendar iframe { display:block; width:100%; min-height:640px; border:0; }
.v2-calendar:has(iframe) { padding:0; }
.v2-agenda-layout>.small { grid-column:1/-1; }
.v2-contact-layout [hidden] { display:none!important; }
.v2-contact-layout input:focus-visible,.v2-contact-layout textarea:focus-visible,.v2-contact-layout legend:focus-visible { outline:3px solid #148c85; outline-offset:4px; }
.v2-dark+.v2-dark { padding-top:0; }
.v2-dark .team-flow { padding-top:35px; }
.v2-inner-hero+.section table td { white-space:normal; }
@media(min-width:801px) and (max-width:1100px) { .v2-header { flex-wrap:wrap; } .v2-header nav { flex:1; justify-content:flex-end; } .v2-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) {
 .v2-header { flex-wrap:wrap; gap:14px; }
 .v2-header nav { flex-basis:100%; display:flex; overflow-x:auto; gap:22px; padding:6px 3px 12px; }
 .v2-header nav>a:not(.nav-cta) { display:block; }
 .v2-header nav a { flex-shrink:0; white-space:nowrap; }
 .v2-header .nav-cta { font-size:14px; }
 .v2-menu-toggle:not([hidden]) { display:inline-flex; }
 .v2-header.has-menu nav { display:none; flex-direction:column; align-items:stretch; gap:0; overflow:visible; padding:4px 0 8px; }
 .v2-header.has-menu nav.is-open { display:flex; }
 .v2-header.has-menu nav a { white-space:normal; padding:14px 0; border-top:1px solid #424541; font-size:16px; }
 .v2-header.has-menu nav .nav-cta { justify-content:center; border-top-color:var(--dk-line-2,#626660); margin-top:14px; padding:13px 18px; font-size:15px; }
 .v2-inner-hero { padding-bottom:10px; }
 .v2-audiences,.v2-module-grid,.v2-contact-layout,.v2-agenda-layout { grid-template-columns:1fr; gap:35px; }
 .v2-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .v2-audience { padding:28px; }
 .v2-problem { gap:18px; }
 .v2-problem p:last-child { padding:14px; }
 .v2-actions .button { white-space:normal; max-width:100%; gap:18px; }
 .v2-closing .button { margin-top:0; }
 .v2-footer { flex-direction:column; }
 .v2-calendar { padding:22px; }
}
@media(max-width:540px) { .v2-grid,.v2-chips,.v2-problem { grid-template-columns:1fr; } .v2-problem p:first-child { margin:0; } .v2-audience h3 { font-size:26px; } }
@media(prefers-reduced-motion:no-preference) { .v2-audience { transition:transform .2s,border-color .2s; } .v2-audience:hover { transform:translateY(-3px); border-color:#397d70; } .v2-form-ready fieldset:not([hidden]) { animation:v2-step .25s ease-out; } @keyframes v2-step { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } } }
