/* Atelier Blanc V17 — Contacto comercial. CSS exclusivo, no minificado. */
:root { --forest:#253d32; --sand:#aa8567; --paper:#f6f1e9; --ink:#27382e; }
.b2b-page { overflow:clip; color:var(--ink); }
.b2b-wrap { width:min(1350px,calc(100% - 90px)); margin:auto; }
.b2b-kicker { display:inline-flex; gap:12px; align-items:center; font-size:10px; font-weight:700; letter-spacing:.17em; line-height:1.6; }
.b2b-line { width:30px; height:1px; background:currentColor; }
.b2b-page h1,.b2b-page h2,.b2b-page h3 { font-family:'Playfair Display',Georgia,serif; font-weight:400; letter-spacing:-.05em; }
.b2b-page em { color:var(--sand); font-weight:400; }
/* Portada: fotografía lateral y mensaje mayorista */
.b2b-hero { display:grid; grid-template-columns:52% 48%; min-height:760px; background:var(--paper); }
.b2b-hero-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:125px 9% 60px max(7vw,calc((100vw - 1350px)/2)); }
.b2b-hero .b2b-kicker { color:#96745b; }
.b2b-hero h1 { font-size:clamp(80px,9vw,145px); line-height:1; margin:33px 0; }
.b2b-lead { max-width:510px; font:400 clamp(25px,2.5vw,38px)/1.35 'Playfair Display',Georgia,serif; }
.b2b-support { max-width:460px; margin-top:23px; color:#70756c; line-height:1.9; font-size:15px; }
.b2b-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:25px; margin-top:38px; }
.b2b-button,.b2b-text-link { display:inline-flex; align-items:center; gap:25px; font-size:10px; font-weight:700; letter-spacing:.12em; text-decoration:none; }
.b2b-button { padding:20px 24px; background:var(--forest); color:white; transition:background .3s,transform .3s; }
.b2b-button:hover { background:var(--sand); transform:translateY(-3px); }
.b2b-text-link { color:var(--forest); padding:17px 0; border-bottom:1px solid var(--forest); }
.b2b-button span,.b2b-text-link span { font-size:20px; }
.b2b-hero-foot { display:flex; flex-wrap:wrap; justify-content:space-between; gap:15px; width:100%; margin-top:80px; padding-top:18px; border-top:1px solid #d6ccbf; font-size:9px; letter-spacing:.12em; color:#8b8377; }
.b2b-hero-visual { position:relative; min-height:760px; background:#b5a18c; }
.b2b-hero-visual>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.b2b-hero-photo-caption { position:absolute; bottom:22px; left:30px; right:30px; display:flex; justify-content:space-between; gap:20px; color:white; font-size:9px; letter-spacing:.13em; text-shadow:0 2px 8px #0008; }
.b2b-floating-note { position:absolute; left:-75px; bottom:95px; display:flex; gap:18px; align-items:center; max-width:320px; padding:23px; background:var(--forest); color:white; box-shadow:0 18px 45px #0003; }
.b2b-floating-note>span { font:40px 'Playfair Display',Georgia,serif; color:#e3c4a3; }
.b2b-floating-note p { font:17px/1.4 'Playfair Display',Georgia,serif; }
/* Segmentos de clientes: mayoreo destacado */
.b2b-paths { padding:125px 0; background:#fffdfa; }
.b2b-section-head { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:52px; }
.b2b-section-head .b2b-kicker,.b2b-faq .b2b-kicker { color:#a37d60; }
.b2b-section-head h2 { font-size:clamp(50px,5.8vw,85px); line-height:1.14; margin:20px 0 0; }
.b2b-section-head>p { max-width:330px; font-size:15px; line-height:1.85; color:#74786f; }
.b2b-path-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.b2b-path { display:flex; flex-direction:column; min-height:355px; padding:33px; border:1px solid #e4dace; background:#f3eee7; transition:transform .35s,box-shadow .35s; }
.b2b-path:hover { transform:translateY(-6px); box-shadow:0 20px 45px #253d3215; }
.b2b-path-feature { grid-column:span 3; display:grid; grid-template-columns:52% 48%; min-height:420px; padding:0; overflow:hidden; border:0; background:var(--forest); color:white; }
.b2b-path-image { min-height:420px; overflow:hidden; }
.b2b-path-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s; }
.b2b-path-feature:hover img { transform:scale(1.05); }
.b2b-path-content { display:flex; flex-direction:column; align-items:flex-start; padding:48px; }
.b2b-path-index { color:#a27d61; font-size:10px; font-weight:700; letter-spacing:.15em; }
.b2b-path-feature .b2b-path-index,.b2b-path-feature h3 em { color:#e2c2a0; }
.b2b-path h3 { font-size:clamp(31px,3.2vw,47px); line-height:1.2; margin:22px 0 17px; }
.b2b-path-feature h3 { font-size:clamp(48px,5vw,73px); }
.b2b-path p { max-width:350px; color:#73786f; font-size:14px; line-height:1.8; }
.b2b-path-feature p { color:#d6dfd7; }
.b2b-path-symbol { margin-top:27px; font:40px 'Playfair Display',Georgia,serif; color:#b3977b; }
.b2b-path-action { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; margin-top:auto; padding:25px 0 0; border:0; border-top:1px solid #d8cfc4; background:none; color:var(--forest); font:700 10px 'DM Sans',sans-serif; letter-spacing:.12em; text-align:left; cursor:pointer; }
.b2b-path-action span { font-size:23px; }
.b2b-path-feature .b2b-path-action { color:white; border-top-color:#ffffff55; }
/* Fotografía panorámica + panel editorial */
.b2b-banner { position:relative; display:flex; align-items:center; justify-content:flex-end; min-height:550px; padding:65px 7vw; isolation:isolate; }
.b2b-banner-photo { position:absolute; inset:0; z-index:-1; }
.b2b-banner-photo img { width:100%; height:100%; object-fit:cover; }
.b2b-banner-copy { width:min(530px,100%); padding:58px; background:#f6efe6ef; }
.b2b-banner-copy .b2b-kicker { color:#9e785b; }
.b2b-banner h2 { font-size:clamp(45px,5vw,72px); line-height:1.15; margin:22px 0; }
.b2b-banner p { font-size:14px; line-height:1.9; color:#6f7269; }
/* Captación de prospectos con formulario contextual */
.b2b-inquiry { padding:125px 0; background:#ede4d8; }
.b2b-inquiry-layout { display:grid; grid-template-columns:39% minmax(0,61%); gap:45px; }
.b2b-inquiry-intro { display:flex; flex-direction:column; align-items:flex-start; }
.b2b-inquiry-intro .b2b-kicker { color:#98755b; }
.b2b-inquiry h2 { font-size:clamp(50px,5vw,75px); line-height:1.15; margin:26px 0; }
.b2b-inquiry-intro>p { max-width:365px; font-size:15px; line-height:1.9; color:#71746b; }
.b2b-inquiry-aside { display:flex; flex-direction:column; align-items:flex-start; gap:14px; margin-top:40px; }
.b2b-inquiry-aside>span { font-size:10px; letter-spacing:.13em; color:#95725b; }
.b2b-inquiry-aside a { display:flex; gap:25px; padding:16px 0; border-bottom:1px solid var(--forest); color:var(--forest); font-size:10px; font-weight:700; letter-spacing:.12em; text-decoration:none; }
.b2b-inquiry-picture { width:90%; height:350px; padding-top:55px; margin-top:auto; }
.b2b-inquiry-picture img { width:100%; height:100%; object-fit:cover; }
.b2b-form-card { min-width:0; padding:45px; background:#fffdfa; box-shadow:0 25px 60px #243d320d; }
.b2b-form-top { display:flex; justify-content:space-between; gap:15px; padding-bottom:25px; border-bottom:1px solid #e2d8cb; color:#98745c; font-size:10px; font-weight:700; letter-spacing:.12em; }
.b2b-profile-fieldset { border:0; padding:32px 0 26px; margin:0; min-width:0; }
.b2b-profile-fieldset legend,.b2b-field label { display:block; margin-bottom:13px; font-size:10px; font-weight:700; letter-spacing:.12em; color:#304639; }
.b2b-profile-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.b2b-profile-option { cursor:pointer; }
.b2b-profile-option input { position:absolute; opacity:0; width:1px; height:1px; }
.b2b-profile-option span { display:flex; justify-content:center; align-items:center; min-height:55px; padding:10px; border:1px solid #e0d6c9; background:#f8f4ed; font-size:12px; text-align:center; transition:background .25s,color .25s; }
.b2b-profile-option input:checked+span { background:var(--forest); color:white; border-color:var(--forest); }
.b2b-profile-option input:focus-visible+span { outline:3px solid #a48667; outline-offset:2px; }
.b2b-form-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.b2b-field { min-width:0; margin-bottom:19px; }
.b2b-field input,.b2b-field select,.b2b-field textarea { display:block; width:100%; min-width:0; padding:16px; border:1px solid #dfd4c8; border-radius:0; outline:0; background:#fcfaf6; color:#263d31; font:14px 'DM Sans',sans-serif; }
.b2b-field textarea { resize:vertical; min-height:125px; }
.b2b-field input:focus,.b2b-field select:focus,.b2b-field textarea:focus { border-color:#98765d; box-shadow:0 0 0 3px #b08d6b20; }
.b2b-field [aria-invalid='true'] { border-color:#b45342; }
.b2b-error { display:block; min-height:15px; padding-top:5px; color:#ac4939; font-size:11px; }
.b2b-dynamic-fields>.b2b-field:first-child { padding-top:20px; border-top:1px solid #e9ded2; }
.b2b-send { display:flex; justify-content:space-between; align-items:center; gap:15px; width:100%; padding:21px 23px; border:0; background:var(--forest); color:white; font:700 11px 'DM Sans',sans-serif; letter-spacing:.11em; text-align:left; cursor:pointer; transition:background .3s; }
.b2b-send:hover { background:#9e785d; }
.b2b-send b { font-size:22px; font-weight:400; }
.b2b-form-note { margin-top:16px; color:#817f76; font-size:11px; line-height:1.7; }
.b2b-status { min-height:20px; margin-top:12px; color:#3d6249; font-size:12px; line-height:1.7; }
/* Preguntas frecuentes */
.b2b-faq { padding:125px 0; background:#fffdfa; }
.b2b-faq-layout { display:grid; grid-template-columns:38% minmax(0,62%); gap:50px; }
.b2b-faq h2 { margin:25px 0; font-size:clamp(52px,5.3vw,77px); line-height:1.15; }
.b2b-faq-layout>div:first-child>p { max-width:310px; color:#797a70; font-size:15px; line-height:1.9; }
.b2b-faq-list { min-width:0; border-top:1px solid #dcd3c7; }
.b2b-faq-list details { border-bottom:1px solid #dcd3c7; }
.b2b-faq-list summary { display:flex; align-items:center; gap:18px; padding:26px 0; cursor:pointer; list-style:none; font:400 clamp(17px,1.7vw,23px) 'Playfair Display',Georgia,serif; }
.b2b-faq-list summary::-webkit-details-marker { display:none; }
.b2b-faq-list summary span { font:11px 'DM Sans',sans-serif; color:#a18369; }
.b2b-faq-list summary b { margin-left:auto; font:300 25px 'DM Sans',sans-serif; }
.b2b-faq-list details[open] summary b { transform:rotate(45deg); }
.b2b-faq-list details p { padding:0 30px 25px; color:#73786e; font-size:14px; line-height:1.9; }
/* Mapa demostrativo */
.b2b-location { display:grid; grid-template-columns:40% 60%; min-height:490px; background:var(--forest); color:white; }
.b2b-location-info { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:65px 7vw; }
.b2b-location .b2b-kicker { color:#dfc3a5; }
.b2b-location h2 { margin:25px 0; font-size:clamp(48px,5vw,75px); line-height:1.15; }
.b2b-location h2 em { color:#dfc0a1; }
.b2b-location-info p { max-width:450px; color:#d4ddd5; font-size:14px; line-height:1.9; }
.b2b-location-info a { display:flex; gap:24px; align-items:center; margin-top:28px; padding:17px 0; border-bottom:1px solid #d8c2a9; color:white; font-size:10px; font-weight:700; letter-spacing:.11em; text-decoration:none; }
.b2b-location-map { position:relative; min-height:490px; background:#d3d4c9; }
.b2b-location-map iframe { display:block; width:100%; height:100%; min-height:490px; border:0; }
.b2b-location-map>span { position:absolute; left:22px; bottom:22px; padding:12px 15px; background:#f7f1e9; color:var(--forest); font-size:9px; font-weight:700; letter-spacing:.1em; pointer-events:none; }
.b2b-final { padding:100px 20px; text-align:center; background:#f4eee6; }
.b2b-final>span { color:#98765d; font-size:10px; letter-spacing:.15em; }
.b2b-final h2 { margin:25px 0; font-size:clamp(52px,6vw,88px); line-height:1.1; }
.b2b-final a { display:inline-flex; gap:35px; align-items:center; padding:18px 0; border-bottom:1px solid var(--forest); color:var(--forest); font-size:10px; font-weight:700; letter-spacing:.13em; text-decoration:none; }
/* Animaciones activas */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .85s,transform .85s; }
.reveal.visible { opacity:1; transform:translateY(0); }
/* Tablet */
@media(max-width:1050px) {
    .b2b-wrap { width:calc(100% - 60px); }
    .b2b-hero-copy { padding-left:40px; }
    .b2b-hero h1 { font-size:clamp(70px,8vw,100px); }
    .b2b-floating-note { left:-25px; }
    .b2b-inquiry-layout { gap:25px; }
    .b2b-form-card { padding:28px; }
    .b2b-faq-layout { gap:25px; }
    .b2b-location-info { padding:50px 35px; }
}
/* Móvil */
@media(max-width:760px) {
    .b2b-wrap { width:calc(100% - 36px); }
    .b2b-hero { display:flex; flex-direction:column; }
    .b2b-hero-copy { padding:85px 22px 45px; }
    .b2b-hero h1 { font-size:clamp(65px,14vw,95px); }
    .b2b-lead { font-size:28px; }
    .b2b-support { font-size:14px; }
    .b2b-hero-foot { margin-top:45px; }
    .b2b-hero-visual { min-height:400px; }
    .b2b-floating-note { left:18px; bottom:65px; max-width:260px; padding:16px; }
    .b2b-floating-note>span { font-size:30px; }
    .b2b-floating-note p { font-size:14px; }
    .b2b-hero-photo-caption span:last-child { display:none; }
    .b2b-paths,.b2b-faq,.b2b-inquiry { padding:75px 0; }
    .b2b-section-head { display:block; margin-bottom:35px; }
    .b2b-section-head h2 { font-size:clamp(45px,10vw,65px); }
    .b2b-section-head>p { margin-top:20px; font-size:14px; }
    .b2b-path-grid { grid-template-columns:1fr; gap:13px; }
    .b2b-path-feature { grid-column:auto; grid-template-columns:1fr; }
    .b2b-path-image { min-height:270px; height:270px; }
    .b2b-path-content { padding:28px; }
    .b2b-path-feature h3 { font-size:55px; }
    .b2b-path { min-height:305px; padding:28px; }
    .b2b-path-feature { padding:0; }
    .b2b-banner { min-height:520px; align-items:flex-end; padding:20px; }
    .b2b-banner-copy { padding:30px; }
    .b2b-banner h2 { font-size:47px; }
    .b2b-inquiry-layout,.b2b-faq-layout { grid-template-columns:1fr; gap:32px; }
    .b2b-inquiry h2,.b2b-faq h2 { font-size:57px; }
    .b2b-inquiry-picture { display:none; }
    .b2b-form-card { padding:25px 18px; }
    .b2b-location { grid-template-columns:1fr; }
    .b2b-location-info { padding:65px 25px; }
    .b2b-location h2 { font-size:55px; }
    .b2b-location-map,.b2b-location-map iframe { min-height:380px; }
    .b2b-final { padding:75px 20px; }
    .b2b-final h2 { font-size:57px; }
}
@media(max-width:460px) {
    .b2b-form-columns,.b2b-profile-options { grid-template-columns:1fr; gap:0; }
    .b2b-profile-options { gap:9px; }
    .b2b-form-top span:last-child { display:none; }
    .b2b-hero-actions { align-items:flex-start; flex-direction:column; }
    .b2b-hero h1 { font-size:65px; }
}


/* =============================================================
   V19 / REDISEÑO DE PERFILES COMERCIALES
   Bloque editorial con mayoreo protagonista y lista secundaria.
   ============================================================= */
.b2b-paths-v19 { background: #faf7f1; padding: 115px 0 125px; }
.b2b-paths-intro { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 48px; }
.b2b-paths-intro .b2b-kicker { color: #9b785c; }
.b2b-paths-intro h2 { font-size: clamp(50px,5.4vw,82px); line-height: 1.12; margin: 25px 0 0; }
.b2b-paths-intro > p { max-width: 320px; color: #747970; font-size: 14px; line-height: 1.95; }
.b2b-opportunities { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 25px; align-items: stretch; }
.b2b-opportunity-main { display: grid; grid-template-rows: 305px 1fr; min-width: 0; background: #233b30; color: white; }
.b2b-opportunity-photo { position: relative; overflow: hidden; }
.b2b-opportunity-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.b2b-opportunity-main:hover img { transform: scale(1.045); }
.b2b-photo-number { position: absolute; top: 25px; left: 25px; padding: 11px 14px; background: #f7f1e9; color: #284033; font-size: 10px; letter-spacing: .13em; }
.b2b-opportunity-content { display: flex; flex-direction: column; align-items: flex-start; padding: 42px 48px 40px; }
.b2b-opportunity-content .b2b-kicker { color: #d7b798; }
.b2b-opportunity-content h3 { margin: 20px 0 15px; font-size: clamp(48px,5vw,70px); line-height: 1.12; }
.b2b-opportunity-content h3 em { color: #d7b798; }
.b2b-opportunity-content p { max-width: 460px; color: #d2ddd3; font-size: 14px; line-height: 1.85; }
.b2b-opportunity-cta { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 18px; margin-top: auto; padding: 26px 0 0; border: 0; border-top: 1px solid #ffffff45; background: transparent; color: #fff; text-align: left; font: 700 10px 'DM Sans',sans-serif; letter-spacing: .14em; cursor: pointer; }
.b2b-opportunity-cta span { font-size: 23px; }
.b2b-opportunity-list { display: flex; flex-direction: column; background: #eee7dc; padding: 20px 40px; min-width: 0; }
.b2b-opportunity-row { display: grid; grid-template-columns: 38px minmax(0,1fr) 24px; align-items: center; gap: 18px; flex: 1; width: 100%; padding: 25px 0; border: 0; border-bottom: 1px solid #d2c8bb; background: transparent; text-align: left; color: #293f32; cursor: pointer; transition: padding-left .25s; }
.b2b-opportunity-row:hover { padding-left: 9px; }
.b2b-opportunity-num { align-self: start; padding-top: 7px; color: #a08065; font-size: 11px; }
.b2b-opportunity-row-text { display: flex; flex-direction: column; gap: 10px; }
.b2b-opportunity-row-text strong { font: 400 clamp(25px,2.5vw,36px)/1.22 'Playfair Display',Georgia,serif; }
.b2b-opportunity-row-text small { color: #78776e; font-size: 12px; line-height: 1.65; }
.b2b-opportunity-arrow { align-self: start; font-size: 25px; }
.b2b-opportunity-footnote { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding-top: 26px; color: #8b7867; font-size: 9px; line-height: 1.5; letter-spacing: .1em; }
.b2b-opportunity-footnote span { font-size: 21px; }

/* V19 / FORMULARIO SIN ESPACIOS VACÍOS: foto debajo del texto, no al fondo. */
.b2b-inquiry-layout { align-items: start; grid-template-columns: minmax(0,38%) minmax(0,62%); gap: 38px; }
.b2b-inquiry-intro { display: block; align-self: start; }
.b2b-inquiry-intro > p { max-width: 390px; }
.b2b-inquiry-picture { position: relative; width: 100%; height: 300px; margin: 30px 0 0; padding: 0; overflow: hidden; }
.b2b-inquiry-picture img { display: block; width: 100%; height: 100%; object-fit: cover; }
.b2b-inquiry-picture > span { position: absolute; bottom: 18px; left: 18px; right: 18px; color: #fff; font-size: 9px; letter-spacing: .12em; text-shadow: 0 2px 8px #0009; }
.b2b-inquiry-aside { margin-top: 30px; }
.b2b-form-card { min-width: 0; }

/* V19 / MAPA NACIONAL ILUSTRATIVO CON PINES INTERACTIVOS */
.b2b-mexico { padding: 125px 0; background: #f3ede3; }
.b2b-mexico-head { display: flex; align-items: end; justify-content: space-between; gap: 45px; margin-bottom: 50px; }
.b2b-mexico-head .b2b-kicker { color: #9a795e; }
.b2b-mexico-head h2 { margin: 25px 0 0; font-size: clamp(49px,5.4vw,80px); line-height: 1.12; }
.b2b-mexico-head > p { max-width: 340px; color: #70766d; font-size: 14px; line-height: 1.9; }
.b2b-mexico-board { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); min-height: 560px; background: #fffaf3; }
.b2b-mexico-map-wrap { position: relative; min-height: 560px; background: #dce6df; }
.b2b-mexico-map { position: absolute; inset: 0; z-index: 0; }
.b2b-mexico-map-caption { position: absolute; z-index: 500; bottom: 17px; left: 18px; right: 18px; width: fit-content; max-width: calc(100% - 36px); padding: 12px 15px; background: #fffdf4f0; color: #34483b; font-size: 9px; font-weight: 700; letter-spacing: .09em; line-height: 1.6; pointer-events: none; }
.b2b-mexico-aside { display: flex; flex-direction: column; align-items: flex-start; padding: 50px 42px; }
.b2b-mexico-aside .b2b-kicker { color: #a48164; }
.b2b-mexico-aside h3 { margin: 22px 0; font-size: clamp(36px,3.2vw,49px); line-height: 1.18; }
.b2b-mexico-aside > p { color: #777a71; font-size: 13px; line-height: 1.85; }
.b2b-city-list { width: 100%; margin-top: 25px; border-top: 1px solid #ded4c7; }
.b2b-city-list button { display: flex; align-items: center; gap: 16px; width: 100%; padding: 14px 0; border: 0; border-bottom: 1px solid #ded4c7; background: none; color: #2e4335; text-align: left; cursor: pointer; font: 400 17px 'Playfair Display',Georgia,serif; transition: padding-left .25s; }
.b2b-city-list button:hover,.b2b-city-list button.active { padding-left: 9px; color: #a07755; }
.b2b-city-list button span { color: #a08164; font: 10px 'DM Sans',sans-serif; }
.b2b-city-list button b { margin-left: auto; font: 22px 'DM Sans',sans-serif; }
.b2b-mexico-link { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 20px 0; margin-top: auto; border-bottom: 1px solid #2b4335; color: #294435; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-decoration: none; }
.b2b-mexico-link span { font-size: 21px; }
.b2b-city-marker { width: 14px; height: 14px; border: 3px solid #fff; border-radius: 50%; background: #254535; box-shadow: 0 0 0 5px #25453545,0 2px 8px #0004; }
.b2b-map-fallback { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; padding: 30px; text-align: center; background: #dce6df; color: #2b4535; }
.b2b-map-fallback p { max-width: 330px; line-height: 1.7; }
.b2b-map-fallback a { color: inherit; margin-top: 12px; }

/* V19 / CIERRE FOTOGRÁFICO CON COMPOSICIÓN DIFERENTE */
.b2b-closing { display: grid; grid-template-columns: 47% 53%; min-height: 550px; background: #243d31; color: #fff; }
.b2b-closing-art { position: relative; min-height: 550px; overflow: hidden; }
.b2b-closing-art img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.b2b-closing-art:hover img { transform: scale(1.05); }
.b2b-closing-art > span { position: absolute; left: 25px; bottom: 23px; font-size: 9px; letter-spacing: .12em; text-shadow: 0 2px 8px #0008; }
.b2b-closing-copy { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; overflow: hidden; padding: 80px 9vw; }
.b2b-closing-copy .b2b-kicker { color: #e3c3a3; }
.b2b-closing-copy h2 { max-width: 700px; margin: 28px 0; font-size: clamp(52px,5.3vw,83px); line-height: 1.13; }
.b2b-closing-copy h2 em { color: #e3c3a3; }
.b2b-closing-copy p { max-width: 430px; color: #d1ddd3; font-size: 15px; line-height: 1.9; }
.b2b-closing-copy > a { display: flex; align-items: center; gap: 35px; margin-top: 35px; padding: 18px 0; border-bottom: 1px solid #dfc3a5; color: white; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-decoration: none; }
.b2b-closing-copy > a span { font-size: 22px; }
.b2b-closing-mark { position: absolute; right: -20px; bottom: -55px; opacity: .06; font: 210px 'Playfair Display',Georgia,serif; pointer-events: none; }

@media (max-width: 1050px) {
    .b2b-opportunity-content { padding: 32px; }
    .b2b-opportunity-list { padding: 16px 25px; }
    .b2b-inquiry-layout { grid-template-columns: minmax(0,38%) minmax(0,62%); gap: 22px; }
    .b2b-mexico-board { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); }
    .b2b-mexico-aside { padding: 35px 27px; }
    .b2b-closing-copy { padding: 60px 6vw; }
}
@media (max-width: 760px) {
    .b2b-paths-v19 { padding: 75px 0; }
    .b2b-paths-intro,.b2b-mexico-head { display: block; margin-bottom: 32px; }
    .b2b-paths-intro h2,.b2b-mexico-head h2 { font-size: clamp(46px,10vw,62px); }
    .b2b-paths-intro > p,.b2b-mexico-head > p { margin-top: 20px; }
    .b2b-opportunities { grid-template-columns: 1fr; gap: 15px; }
    .b2b-opportunity-main { grid-template-rows: 270px auto; }
    .b2b-opportunity-content { min-height: 320px; padding: 30px 26px; }
    .b2b-opportunity-content h3 { font-size: 53px; }
    .b2b-opportunity-list { padding: 0 25px; }
    .b2b-opportunity-row { min-height: 125px; }
    .b2b-opportunity-row-text strong { font-size: 27px; }
    .b2b-opportunity-footnote { padding: 24px 0; }
    .b2b-inquiry-layout { grid-template-columns: 1fr; gap: 30px; }
    .b2b-inquiry-picture { display: block; height: 245px; margin: 25px 0 0; }
    .b2b-inquiry-aside { margin-top: 25px; }
    .b2b-mexico { padding: 75px 0; }
    .b2b-mexico-board { grid-template-columns: 1fr; }
    .b2b-mexico-map-wrap { min-height: 390px; }
    .b2b-mexico-aside { padding: 40px 25px; }
    .b2b-mexico-aside h3 { font-size: 43px; }
    .b2b-mexico-link { margin-top: 28px; }
    .b2b-closing { grid-template-columns: 1fr; }
    .b2b-closing-art { min-height: 320px; height: 320px; }
    .b2b-closing-copy { padding: 70px 25px 85px; }
    .b2b-closing-copy h2 { font-size: 58px; }
}
@media (max-width: 420px) {
    .b2b-opportunity-row { grid-template-columns: 25px minmax(0,1fr) 20px; gap: 9px; }
    .b2b-opportunity-row-text strong { font-size: 24px; }
    .b2b-opportunity-list { padding: 0 18px; }
    .b2b-closing-copy h2 { font-size: 47px; }
    .b2b-mexico-map-caption { font-size: 8px; }
}

/* V20: iframe Google Maps, dimensiones controladas en todos los dispositivos. */
.b2b-mexico-map {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 500px;
    border: 0;
    background: #dfe6df;
}
@media (max-width: 760px) {
    .b2b-mexico-map {
        min-height: 350px;
    }
}

/* ============================================================
   V21 / Ficha de ubicación y enlace de navegación
   ============================================================ */
.b2b-place-detail {
    width: 100%;
    margin-top: 25px;
    padding: 23px;
    background: #f3ede4;
    border-left: 3px solid #a78468;
}
.b2b-place-eyebrow {
    color: #9a795f;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
}
.b2b-place-detail h4 {
    margin: 11px 0 8px;
    color: #2b4335;
    font: 400 28px 'Playfair Display', Georgia, serif;
}
.b2b-place-detail p {
    color: #71766e;
    font-size: 13px;
    line-height: 1.8;
    overflow-wrap: anywhere;
}
.b2b-directions:not([hidden]) {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding: 14px 16px;
    background: #263f33;
    color: #fff;
    text-decoration: none;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.5;
    transition: background .25s, transform .25s;
}
.b2b-directions:hover {
    background: #a17d60;
    transform: translateY(-2px);
}
.b2b-directions span { font-size: 19px; }
@media (max-width: 760px) {
    .b2b-place-detail { padding: 19px; }
    .b2b-place-detail h4 { font-size: 25px; }
    .b2b-directions:not([hidden]) { width: 100%; justify-content: center; }
}
