/* NM Visual Studio (clásico) — base (compartido) — SIEMPRE
   Refactor estilos en línea -> clases. Declaraciones VERBATIM. Cargado tras
   nm.css. NO re-ejecutar /tmp/nmvs_build/compile_partials.py (obsoleto). */

.nm .nm-arch-div-1 { margin-top: 16px; font-size: 1rem; color: var(--text-body); line-height: 1.7; max-width: 60ch; }
.nm-brand { font-family: var(--font-display); font-size: 1.7rem; color: var(--text-muted); letter-spacing: .04em; margin-inline-end: 64px; }
.nm-brand--tight { letter-spacing: .02em; }
.nm-brand-sep { color: var(--nm-gold-500); margin-inline-end: 64px; }
.nm-checkbox { width: 17px; height: 17px; margin-top: 1px; accent-color: var(--nm-gold-500); flex: none; cursor: pointer; }
.nm-checkrow { display: flex; align-items: flex-start; gap: 11px; font-size: 13px; color: var(--text-muted); line-height: 1.5; cursor: pointer; margin-top: 2px; }
.nm-contactform { display: flex; flex-direction: column; gap: 16px; }
.nm .nm-e404-a-1 { display: inline-flex; align-items: center; gap: 10px; background: var(--nm-navy-900); color: var(--nm-white); font-size: 15px; font-weight: 500; padding: 16px 30px; border-radius: 999px; text-decoration: none; }
.nm .nm-e404-a-2 { display: inline-flex; align-items: center; gap: 10px; color: var(--text-strong); font-size: 14px; font-weight: 500; text-decoration: none; border-bottom: 1px solid var(--nm-gold-400); padding-bottom: 5px; }
.nm .nm-e404-div-1 { background: var(--nm-beige-100); min-height: 100vh; display: flex; align-items: center; }
.nm .nm-e404-div-2 { width: 100%; max-width: 720px; margin-inline: auto; padding: 148px clamp(20px,5vw,72px) clamp(64px,8vw,110px); text-align: center; }
.nm .nm-e404-div-3 { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.nm .nm-e404-div-4 { max-width: 460px; margin-inline: auto; }
.nm .nm-e404-h1-1 { font-family: var(--font-display); font-weight: 600; color: var(--text-strong); font-size: clamp(1.8rem,3.2vw,2.6rem); margin: 18px 0 16px; letter-spacing: -0.01em; }
.nm .nm-e404-p-1 { font-family: var(--font-display); font-style: italic; font-size: clamp(4rem,10vw,7rem); color: var(--text-accent-lg); line-height: 1; margin: 0; } /* a11y: "404" grande sobre beige → 3:1 */
.nm .nm-e404-p-2 { font-size: 1rem; color: var(--text-muted); line-height: 1.7; margin: 0 auto 32px; max-width: 44ch; }
.nm-field-grow { flex: 1; min-width: 200px; }
.nm-form2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.nm-hl { color: var(--text-accent-lg); } /* a11y: término buscado dentro del <h1> (grande) sobre claro → 3:1 */
.nm-ic { line-height: 0; }
.nm .nm-ic-14 { font-size: 14px; }
.nm .nm-ic-15 { font-size: 15px; }
.nm .nm-ic-16 { font-size: 16px; }
.nm .nm-ic-17 { font-size: 17px; }
.nm .nm-ic-18 { font-size: 18px; }
.nm .nm-ic-19 { font-size: 19px; }
.nm-ic-20 { font-size: 20px; }
.nm .nm-ic-22 { font-size: 22px; }
.nm .nm-ic-24 { font-size: 24px; }
.nm .nm-ic-26 { font-size: 26px; }
.nm .nm-ic-30 { font-size: 30px; }
.nm .nm-ic-34 { font-size: 34px; }
.nm .nm-ic-36 { font-size: 36px; }
.nm .nm-ic-38 { font-size: 38px; }
.nm .nm-ic-40 { font-size: 40px; }
.nm .nm-ic-44 { font-size: 44px; }
.nm-ic-svg { display: inline-block; vertical-align: middle; flex: none; }
.nm .nm-ico-back { transform: rotate(180deg); color: var(--nm-gold-500); }
.nm .nm-ico-check { color: var(--nm-gold-500); flex: none; margin-top: 1px; line-height: 0; }
.nm .nm-ico-g4 { color: var(--nm-gold-400); }
.nm .nm-ico-g4-flx { color: var(--nm-gold-400); flex: none; }
.nm .nm-ico-g5 { color: var(--nm-gold-500); }
.nm .nm-ico-g5-flx { color: var(--nm-gold-500); flex: none; }
.nm .nm-ico-mailrow { color: var(--nm-gold-400); flex: none; margin-top: 4px; }
.nm .nm-ico-quote { color: var(--nm-gold-400); flex: none; margin-top: -6px; }
.nm .nm-ico-quote2 { color: var(--nm-gold-400); flex: none; margin-top: -4px; }
.nm .nm-ico-rowtop { color: var(--nm-gold-500); flex: none; line-height: 0; margin-top: 2px; }
.nm .nm-ico-tr { transition: transform .3s cubic-bezier(.16,1,.3,1); }
.nm .nm-ico-w-tr { color: var(--nm-white); transition: transform .35s cubic-bezier(.16,1,.3,1); }
.nm .nm-img-cover7 { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s cubic-bezier(.16,1,.3,1); }
.nm-inlinelink { color: var(--text-accent); text-decoration: underline; text-underline-offset: 2px; }
.nm-link-g4 { color: var(--nm-gold-400); }
.nm .nm-loop-a-1 { display: block; aspect-ratio: 4/3; overflow: hidden; border-radius: 18px 0 18px 0; background: var(--nm-stone-300); text-decoration: none; }
.nm .nm-loop-a-2 { color: var(--text-strong); text-decoration: none; }
.nm .nm-loop-a-3 { display: inline-flex; align-items: center; gap: 8px; color: var(--text-strong); font-size: 13px; font-weight: 500; text-decoration: none; }
.nm .nm-loop-article-1 { display: flex; flex-direction: column; gap: 16px; }
.nm .nm-loop-div-1 { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: clamp(28px,3vw,44px); }
.nm .nm-loop-div-2 { margin-top: clamp(40px,5vw,64px); }
.nm .nm-loop-h2-1 { font-family: var(--font-display); font-weight: 600; font-size: 1.3rem; line-height: 1.25; margin: 0; }
.nm .nm-loop-p-1 { font-size: 12px; letter-spacing: .04em; color: var(--text-accent); margin: 0; } /* a11y: eyebrow del blog (12px) sobre claro → 4.5:1 */
.nm .nm-loop-p-2 { font-size: 14px; color: var(--text-muted); line-height: 1.65; margin: 0; }
.nm .nm-loop-p-3 { font-size: 1rem; color: var(--text-muted); }
.nm .nm-muted { color: var(--text-muted); }
.nm-offscreen { position: absolute; left: -9999px; }
.nm-pd-galtop { margin-top: clamp(44px,5vw,64px); }
.nm .nm-pg-div-1 { max-width: 820px; margin-inline: auto; padding: 148px clamp(20px,5vw,72px) clamp(64px,8vw,110px); }
.nm .nm-pg-div-2 { font-size: 1rem; line-height: 1.8; color: var(--text-body); }
.nm .nm-pg-h1-1 { font-family: var(--font-display); font-weight: 600; color: var(--text-strong); font-size: clamp(2rem,3.4vw,2.8rem); margin: 0 0 28px; letter-spacing: -0.01em; }
.nm .nm-post-div-1 { max-width: 820px; margin-inline: auto; padding: 148px clamp(20px,5vw,72px) clamp(48px,6vw,80px); }
.nm .nm-post-div-2 { max-width: 1100px; margin: 0 auto clamp(40px,5vw,64px); padding-inline: clamp(20px,5vw,72px); }
.nm .nm-post-div-3 { max-width: 760px; margin-inline: auto; padding-inline: clamp(20px,5vw,72px); padding-bottom: clamp(56px,7vw,96px); font-size: 1.05rem; line-height: 1.85; color: var(--text-body); }
.nm .nm-post-h1-1 { font-family: var(--font-display); font-weight: 600; color: var(--text-strong); font-size: clamp(2rem,4vw,3.2rem); margin: 0 0 18px; letter-spacing: -0.01em; line-height: 1.1; }
.nm .nm-post-p-1 { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-accent); margin: 0 0 18px; }
.nm .nm-post-p-2 { font-size: 13px; color: var(--text-muted); margin: 0 0 32px; }
.nm .nm-search { display: flex; gap: 10px; }
.nm-selectcaret { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--text-muted); pointer-events: none; }
.nm-selectwrap { position: relative; }
.nm .nm-sf-button-1 { display: inline-flex; align-items: center; gap: 8px; background: var(--nm-navy-900); color: var(--nm-white); border: none; border-radius: 999px; padding: 13px 24px; font-size: 13px; font-weight: 500; cursor: pointer; }
.nm .nm-sf-input-1 { flex: 1; min-width: 200px; }
.nm .nm-sh-a-1 { display: inline-flex; align-items: center; gap: 10px; color: var(--text-strong); font-size: 14px; font-weight: 500; text-decoration: none; transition: gap .3s cubic-bezier(.16,1,.3,1); }
.nm .nm-sh-a-2 { display: flex; align-items: center; gap: 14px; color: var(--text-on-dark); font-size: 15px; text-decoration: none; transition: color .3s; }
.nm .nm-sh-a-3 { margin-top: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: var(--nm-gold-500); color: var(--nm-navy-900); font-size: 15px; font-weight: 600; letter-spacing: .02em; padding: 17px 30px; border-radius: 999px; text-decoration: none; transition: transform .3s cubic-bezier(.16,1,.3,1); }
.nm .nm-sh-a-4 { display: inline-flex; align-items: center; gap: 12px; background: var(--nm-gold-500); color: var(--nm-navy-900); font-size: 15px; font-weight: 600; padding: 17px 30px; border-radius: 999px; text-decoration: none; }
.nm .nm-sh-article-1 { background: var(--nm-beige-100); min-height: 100vh; }
.nm .nm-sh-div-1 { width: 100%; max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px,5vw,72px); }
.nm .nm-sh-div-10 { overflow: hidden; border-radius: 28px 0 28px 0; height: 230px; background: var(--nm-navy-700); }
.nm .nm-sh-div-11 { display: flex; flex-direction: column; gap: 18px; }
.nm .nm-sh-div-12 { overflow: hidden; border-radius: 28px 0 28px 0; background: var(--nm-stone-300); }
.nm .nm-sh-div-13 { max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px,5vw,72px); padding-block: clamp(56px,7vw,96px); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 20px; }
.nm .nm-sh-div-14 { width: 100%; max-width: 1200px; margin-inline: auto; padding: 148px clamp(20px,5vw,72px) clamp(64px,8vw,110px); }
.nm .nm-sh-div-2 { width: 100%; line-height: 0; background: var(--nm-navy-900); }
.nm .nm-sh-div-3 { display: grid; grid-template-columns: 1.06fr 0.94fr; gap: clamp(30px, 5vw, 76px); align-items: center; margin-bottom: clamp(52px, 6vw, 84px); }
.nm .nm-sh-div-4 { border-top: 2px solid var(--nm-gold-500); padding-top: 24px; }
.nm .nm-sh-div-5 { margin-top: clamp(56px, 6vw, 92px); border-top: 1px solid var(--border-on-dark); padding-top: 44px; display: flex; gap: clamp(28px, 4vw, 64px); align-items: center; justify-content: space-between; flex-wrap: wrap; }
.nm .nm-sh-div-6 { font-family: var(--font-body); color: var(--text-body); background: var(--nm-beige-100); min-height: 100vh; overflow-x: hidden; }
.nm .nm-sh-div-7 { width: 100%; max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px,5vw,72px); padding-top: clamp(24px,3vw,44px); padding-bottom: clamp(64px, 8vw, 104px); }
.nm .nm-sh-div-8 { display: grid; grid-template-columns: 1fr 0.82fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: center; }
.nm .nm-sh-div-9 { display: flex; gap: 22px; align-items: flex-start; }
.nm .nm-sh-g-1 { stroke: var(--nm-gold-500); }
.nm .nm-sh-h1-1 { font-family: var(--font-display); font-weight: 600; line-height: 1.04; letter-spacing: -0.01em; color: var(--text-strong); font-size: clamp(2.3rem, 4.4vw, 3.7rem); margin: 0; }
.nm .nm-sh-h1-2 { font-family: var(--font-display); font-weight: 600; color: var(--text-strong); font-size: clamp(2rem,3.6vw,3rem); margin: 0; letter-spacing: -0.01em; }
.nm .nm-sh-h2-1 { font-family: var(--font-display); font-weight: 600; line-height: 1.08; letter-spacing: -0.01em; color: var(--text-strong); font-size: clamp(2rem, 3.6vw, 3rem); margin: 0; max-width: 18ch; }
.nm .nm-sh-h2-2 { font-family: var(--font-display); font-weight: 500; line-height: 1.12; letter-spacing: -0.01em; color: var(--nm-white); font-size: clamp(1.7rem, 2.8vw, 2.4rem); margin: 0; }
.nm .nm-sh-h2-3 { font-family: var(--font-display); font-weight: 500; color: var(--nm-white); font-size: clamp(1.6rem,2.8vw,2.4rem); margin: 0; }
.nm .nm-sh-h3-1 { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--text-strong); margin: 6px 0 0; }
.nm .nm-sh-header-1 { margin-bottom: clamp(40px,5vw,64px); }
.nm .nm-sh-img-1 { width: 100%; height: 100%; object-fit: cover; display: block; }
.nm .nm-sh-p-1 { font-size: 12.5px; color: var(--text-muted); line-height: 1.6; margin: 0; }
.nm .nm-sh-p-2 { font-size: 14px; line-height: 1.7; color: var(--text-on-dark-muted); margin: 0; font-weight: 300; }
.nm .nm-sh-p-3 { font-family: var(--font-display); font-style: italic; font-size: clamp(1.3rem, 2.2vw, 1.9rem); line-height: 1.4; color: var(--nm-white); margin: 0; }
.nm .nm-sh-p-4 { font-size: 13px; letter-spacing: .04em; color: var(--nm-gold-400); margin: 20px 0 0; }
.nm .nm-sh-p-5 { font-size: 12px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--text-accent); margin: 0 0 22px; }
.nm .nm-sh-p-6 { font-size: 14px; font-weight: 300; line-height: 1.6; color: var(--text-on-dark-muted); margin: 22px 0 0; max-width: 30ch; }
.nm .nm-sh-p-7 { font-size: 12px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--text-accent); margin: 0 0 18px; }
.nm .nm-sh-path-1 { fill: var(--nm-beige-100); }
.nm .nm-sh-path-2 { fill: var(--nm-navy-900); }
.nm .nm-sh-path-3 { fill: var(--nm-white); }
.nm .nm-sh-section-1 { position: relative; background: var(--nm-beige-100); }
.nm .nm-sh-section-2 { position: relative; background: var(--nm-beige-100); overflow: hidden; }
.nm .nm-sh-section-3 { position: relative; background: var(--nm-beige-100); overflow: hidden; scroll-margin-top: 92px; }
.nm .nm-sh-section-4 { position: relative; background: var(--nm-navy-900); color: var(--text-on-dark); overflow: hidden; scroll-margin-top: 92px; }
.nm .nm-sh-section-5 { background: var(--nm-navy-900); color: var(--text-on-dark); }
.nm .nm-sh-span-1 { width: 28px; height: 1px; background: var(--nm-gold-500); }
.nm .nm-sh-span-2 { font-size: 11.5px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--nm-gold-400); }
.nm .nm-sh-span-3 { color: var(--text-on-dark-muted); }
.nm .nm-sh-span-4 { font-style: italic; font-weight: 500; color: var(--text-accent-lg); } /* a11y: acento de H1 en héroes claros → 3:1 (grande) */
.nm .nm-sh-span-5 { font-size: 11.5px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--text-accent); }
.nm .nm-sh-span-6 { font-style: italic; color: var(--nm-gold-400); }
.nm .nm-sh-svg-1 { display: block; width: 100%; height: clamp(88px, 8.5vw, 140px); }
.nm .nm-sh-svg-2 { display: block; width: 100%; height: 100%; }
.nm .nm-sh-svg-3 { display: block; width: 100%; height: auto; }
.nm .nm-sh-svg-4 { display: block; width: 100%; height: clamp(90px, 8.5vw, 142px); }
.nm .nm-srch-h1-1 { font-family: var(--font-display); font-weight: 600; color: var(--text-strong); font-size: clamp(1.8rem,3.2vw,2.6rem); margin: 0 0 24px; letter-spacing: -0.01em; }
.nm .nm-srch-header-1 { margin-bottom: clamp(32px,4vw,52px); }
.nm-sronly { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.nm-submit { margin-top: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: var(--nm-navy-900); color: var(--nm-white); font-family: var(--font-body); font-size: 15px; font-weight: 500; letter-spacing: .02em; padding: 17px 28px; border: none; border-radius: 999px; cursor: pointer; transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s; }
.nm-submit-ar { transition: transform .3s cubic-bezier(.16,1,.3,1); }
