@import "tokens/colors.css";
@import "tokens/typography.css";
@import "tokens/spacing.css";
@import "tokens/effects.css";

@font-face{font-family:"Neue Montreal";src:url("../fonts/NeueMontreal-Light.woff2") format("woff2"),url("../fonts/NeueMontreal-Light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:"Neue Montreal";src:url("../fonts/NeueMontreal-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Neue Montreal";src:url("../fonts/NeueMontreal-Medium.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Neue Montreal";src:url("../fonts/NeueMontreal-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap;}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,p,ul,ol,figure{margin:0;}
ul{padding:0;list-style:none;}
img,svg{max-width:100%;display:block;}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-out);}
a:hover{color:var(--text-link-hover);}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
button{font:inherit;}
summary::-webkit-details-marker{display:none;}
summary::marker{content:"";}

/* ---------- layout ---------- */
.nd-container{max-width:var(--container-max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);}
.nd-container--narrow{max-width:var(--container-narrow);}
.nd-section{padding-top:var(--section-y);padding-bottom:var(--section-y);}
.nd-section--tight{padding-top:var(--section-y-tight);padding-bottom:var(--section-y-tight);}
.nd-section--sunken{background:var(--surface-sunken);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);}
.nd-section--ink{background:var(--nd-ink-900);color:rgba(255,255,255,.72);}
.nd-section--hairline-top{border-top:1px solid var(--border-subtle);}
.nd-section--hairline-bottom{border-bottom:1px solid var(--border-subtle);}
.nd-stack{display:flex;flex-direction:column;}
.nd-stack--2{gap:var(--space-2);}
.nd-stack--3{gap:var(--space-3);}
.nd-stack--4{gap:var(--space-4);}
.nd-stack--5{gap:var(--space-5);}
.nd-stack--6{gap:var(--space-6);}
.nd-stack--8{gap:var(--space-8);}
.nd-stack--10{gap:var(--space-10);}
.nd-stack--12{gap:var(--space-12);}
.nd-cols{display:grid;gap:var(--space-12);grid-template-columns:repeat(auto-fit,minmax(290px,1fr));}
.nd-cols--start{align-items:start;}
.nd-cols--center{align-items:center;}
.nd-grid{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(268px,1fr));}
.nd-grid--sm{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.nd-grid--md{grid-template-columns:repeat(auto-fit,minmax(258px,1fr));}
.nd-measure{max-width:56ch;}
.nd-measure--wide{max-width:66ch;}

/* ---------- type ---------- */
.nd-eyebrow{font:var(--weight-bold) var(--text-eyebrow)/1 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--brand);}
.nd-eyebrow--muted{color:var(--text-faint);}
.nd-eyebrow--onbrand{color:rgba(255,255,255,.85);}
.nd-eyebrow--warm{color:var(--nd-amber-500);}
.nd-h1{font:var(--weight-bold) clamp(2rem,4.4vw,3.4rem)/1 var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:var(--text-heading);text-wrap:balance;}
.nd-h1--hero{font-size:clamp(2.4rem,6vw,4.6rem);line-height:.98;color:#fff;max-width:16ch;}
.nd-h2{font:var(--weight-bold) var(--text-h1)/1.1 var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--text-heading);text-wrap:balance;}
.nd-h2--soft{font:var(--weight-medium) var(--text-h2)/1.1 var(--font-display);text-transform:none;letter-spacing:0;}
.nd-h3{font:var(--type-h3);color:var(--text-heading);}
.nd-lead{font-size:var(--text-body-lg);line-height:1.6;color:var(--text-muted);text-wrap:pretty;}
.nd-lead--onbrand{color:#fff;font-weight:var(--weight-light);font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.55;}
.nd-body{line-height:1.65;color:var(--text-muted);text-wrap:pretty;}
.nd-small{font-size:var(--text-body-sm);line-height:1.6;color:var(--text-muted);}
.nd-caption{font-size:var(--text-caption);line-height:1.6;color:var(--text-faint);}
.nd-strong{font:var(--type-body-strong);color:var(--text-heading);}
.nd-gradient-text{background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent;}
.nd-figure{font:var(--weight-bold) var(--text-h1)/1 var(--font-display);letter-spacing:var(--tracking-display);}

/* ---------- buttons ---------- */
.nd-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 24px;border:0;border-radius:var(--radius-pill);font:var(--type-button);letter-spacing:var(--tracking-button);text-transform:uppercase;cursor:pointer;transition:var(--transition-base);}
.nd-btn--lg{min-height:52px;padding:0 28px;}
.nd-btn--sm{min-height:36px;padding:0 18px;}
.nd-btn--primary{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-brand);}
.nd-btn--onbrand{background:#fff;color:var(--nd-ink-900);}
.nd-btn--outline{background:transparent;color:var(--text-heading);box-shadow:inset 0 0 0 2px var(--nd-ink-900);}
.nd-btn--outline-light{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55);}
.nd-btn--ghost{background:transparent;color:var(--text-heading);}
.nd-btn--block{width:100%;}
.nd-btn:hover{transform:translateY(-1px);filter:saturate(112%) brightness(1.04);color:#fff;}
.nd-btn--outline:hover{background:var(--nd-ink-900);color:#fff;filter:none;}
.nd-btn--onbrand:hover,.nd-btn--ghost:hover{color:var(--nd-ink-900);}
.nd-btn--outline-light:hover{background:rgba(255,255,255,.14);color:#fff;}
.nd-btn:active{transform:scale(.98);}

.nd-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:var(--radius-pill);font:var(--weight-medium) var(--text-caption)/1 var(--font-sans);}
.nd-chip--onbrand{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);color:#fff;}
.nd-chip--alta{background:var(--gradient-brand);color:#fff;border:1px solid transparent;}
.nd-chip--media{background:#FFF3E4;color:var(--nd-orange-600);border:1px solid var(--nd-amber-400);}
.nd-chip--baja{background:var(--surface-card);color:var(--text-muted);border:1px solid var(--border-subtle);}

/* ---------- gradient surfaces ---------- */
.nd-mesh{position:relative;isolation:isolate;overflow:hidden;background:var(--gradient-mesh);color:#fff;}
.nd-mesh::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:radial-gradient(rgba(255,255,255,.9) 1px,transparent 1px);background-size:3px 3px;}
.nd-mesh > *{position:relative;z-index:1;}
.nd-hero{padding-top:var(--space-20);padding-bottom:var(--section-y-tight);}
.nd-hero--short{padding-top:var(--space-16);padding-bottom:var(--space-16);}
.nd-hero .nd-caption{color:rgba(255,255,255,.75);}
.nd-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);}

/* ---------- cards ---------- */
.nd-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);}
.nd-card--flat{box-shadow:none;padding:var(--space-5);gap:var(--space-2);}
.nd-card--accent{border-color:var(--border-brand);box-shadow:var(--shadow-sm);}
.nd-card--link{transition:var(--transition-base);color:inherit;}
.nd-card--link:hover{border-color:var(--border-brand);box-shadow:var(--shadow-md);transform:translateY(-3px);color:inherit;}
.nd-card__note{margin-top:auto;white-space:nowrap;font:var(--weight-medium) 11px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--brand);}
.nd-card__num{font:var(--weight-bold) 2rem/1 var(--font-display);}
.nd-numrow{display:flex;gap:var(--space-4);align-items:flex-start;}
.nd-numrow__n{flex:none;font:var(--weight-bold) 1.1rem/1 var(--font-sans);color:var(--brand);}
.nd-panel{padding:var(--space-8);border-radius:var(--radius-lg);background:var(--surface-sunken);border:1px solid var(--border-subtle);}
.nd-step{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-5);border-top:4px solid var(--brand);}
.nd-step--1{border-top-color:var(--nd-amber-500);}
.nd-step--2{border-top-color:var(--nd-orange-600);}
.nd-step--3{border-top-color:var(--nd-red-500);}
.nd-step--4{border-top-color:var(--nd-magenta-500);}

.nd-bullets{display:flex;flex-direction:column;gap:var(--space-3);}
.nd-bullets li{display:flex;gap:var(--space-3);align-items:flex-start;line-height:1.6;color:var(--text-body);}
.nd-bullets li::before{content:"·";flex:none;color:var(--brand);font-weight:500;}
.nd-dots li{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-body-sm);line-height:1.6;color:var(--text-body);}
.nd-dots li::before{content:"";flex:none;width:6px;height:6px;margin-top:8px;border-radius:999px;background:var(--gradient-brand);}

/* ---------- antes / después ---------- */
.nd-beforeafter{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.nd-ba{border-radius:var(--radius-lg);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-3);min-height:190px;}
.nd-ba--covered{box-shadow:var(--shadow-brand);}
.nd-ba--orphan{background:var(--surface-sunken);border:2px dashed var(--nd-red-500);}
.nd-ba__title{font:var(--weight-bold) clamp(1.5rem,2.6vw,2.1rem)/1.05 var(--font-display);letter-spacing:-.01em;}
.nd-ba-axis{display:flex;align-items:center;gap:var(--space-3);}
.nd-ba-axis__solid{flex:1 1 0;height:4px;border-radius:999px;background:var(--gradient-hairline);}
.nd-ba-axis__dashed{flex:1 1 0;height:4px;border-radius:999px;background:repeating-linear-gradient(90deg,var(--nd-clay-400) 0 6px,transparent 6px 12px);}

/* ---------- bloque de riesgo ---------- */
.nd-risk{border-radius:var(--radius-xl);padding:var(--space-12) var(--space-10);display:grid;gap:var(--space-10);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center;}
.nd-risk--alta{box-shadow:var(--shadow-brand);}
.nd-risk--media{background:var(--surface-sunken);border:1px solid var(--border-brand);box-shadow:var(--shadow-sm);}
.nd-risk--baja{background:var(--surface-sunken);border:1px solid var(--border-subtle);}
.nd-risk__title{font:var(--weight-bold) var(--text-h2)/1.1 var(--font-display);letter-spacing:-.01em;color:var(--text-heading);text-wrap:balance;}
.nd-risk--alta .nd-risk__title{color:#fff;}
.nd-risk__points{display:flex;flex-direction:column;gap:var(--space-3);}
.nd-risk__point{padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);background:var(--surface-card);font-size:var(--text-body-sm);line-height:1.55;color:var(--text-body);}
.nd-risk--alta .nd-risk__point{background:rgba(255,255,255,.16);color:#fff;}
.nd-risk--alta .nd-body{color:#fff;}
.nd-risk--baja .nd-risk__title{color:var(--text-heading);}

/* ---------- stats ---------- */
.nd-stats{display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
.nd-stat{display:flex;flex-direction:column;gap:var(--space-1);}

/* ---------- acordeón ---------- */
.nd-acc{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);transition:border-color var(--dur-base) var(--ease-out);}
.nd-acc[open]{border-color:var(--border-brand);box-shadow:var(--shadow-sm);}
.nd-acc__sum{display:flex;justify-content:space-between;gap:var(--space-4);cursor:pointer;font:var(--type-body-strong);color:var(--text-heading);list-style:none;}
.nd-acc__sign{color:var(--brand);flex:none;}
.nd-acc[open] .nd-acc__sign::after{content:"—";}
.nd-acc:not([open]) .nd-acc__sign::after{content:"+";}
.nd-acc__body{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);max-width:66ch;animation:nd-panel var(--dur-slow) var(--ease-out) both;}
.nd-acc__body p{color:var(--text-muted);line-height:1.75;}
.nd-faq-title{font:var(--weight-bold) var(--text-h3)/1.2 var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--text-heading);padding-bottom:var(--space-3);border-bottom:2px solid var(--nd-ink-900);}

/* ---------- texto largo (páginas legales) ---------- */
.nd-prose{display:flex;flex-direction:column;gap:var(--space-4);}
.nd-prose h2{font:var(--weight-bold) var(--text-h3)/1.2 var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--text-heading);padding-bottom:var(--space-3);border-bottom:2px solid var(--nd-ink-900);margin-top:var(--space-8);}
.nd-prose h2:first-child{margin-top:0;}
.nd-prose h3{font:var(--type-h3);color:var(--text-heading);margin-top:var(--space-4);}
.nd-prose p{max-width:66ch;line-height:1.75;color:var(--text-muted);}
.nd-prose ul{display:flex;flex-direction:column;gap:var(--space-3);max-width:66ch;}
.nd-prose li{display:flex;gap:var(--space-3);align-items:flex-start;line-height:1.7;color:var(--text-muted);}
.nd-prose li::before{content:"·";flex:none;color:var(--brand);font-weight:500;}
.nd-prose a{text-decoration:underline;text-underline-offset:2px;}

/* ---------- canales de soporte ---------- */
.nd-channels{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.nd-channel{display:flex;flex-direction:column;gap:var(--space-2);min-height:120px;padding:var(--space-6);border-radius:var(--radius-md);background:#fff;color:var(--text-heading);transition:var(--transition-base);}
.nd-channel:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:var(--text-heading);}
.nd-channel__value{font:var(--weight-bold) 1.5rem/1.1 var(--font-display);}
.nd-channel__value--sm{font:var(--weight-medium) 1.05rem/1.2 var(--font-display);word-break:break-word;}
.nd-channel--brand{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-brand);}
.nd-channel--brand:hover{color:#fff;}
.nd-channel--brand .nd-eyebrow,.nd-channel--brand .nd-caption{color:rgba(255,255,255,.85);}
.nd-row-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-heading);transition:var(--transition-base);}
.nd-row-link:hover{border-color:var(--border-brand);color:var(--text-heading);}
.nd-row-link__arrow{color:var(--brand);flex:none;}

/* ---------- formulario ---------- */
.nd-form-card{padding:var(--space-8);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-card);box-shadow:var(--shadow-md);}
.nd-form{position:relative;display:flex;flex-direction:column;gap:var(--space-5);}
.nd-fields{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.nd-field{display:flex;flex-direction:column;gap:var(--space-2);}
.nd-label{font:var(--type-body-strong);font-size:var(--text-body-sm);color:var(--text-heading);}
.nd-label__req{color:var(--brand);}
.nd-input,.nd-textarea,.nd-select{width:100%;min-height:44px;padding:11px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-card);font:var(--type-body);color:var(--text-body);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);}
.nd-textarea{resize:vertical;line-height:var(--leading-body);}
.nd-input:focus,.nd-textarea:focus,.nd-select:focus{outline:none;border-color:var(--nd-ink-900);box-shadow:0 0 0 3px rgba(245,0,119,.14);}
.nd-input[aria-invalid="true"],.nd-textarea[aria-invalid="true"]{border-color:var(--brand-strong);}
.nd-field__error{font-size:var(--text-caption);color:var(--brand-strong);}
.nd-field__hint{font-size:var(--text-caption);color:var(--text-faint);}
.nd-checks{display:grid;gap:var(--space-3) var(--space-6);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.nd-check,.nd-radio{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--text-body-sm);color:var(--text-muted);}
/* La fila de la casilla mide 24px de alto: el relleno negativo agranda la zona
   pulsable hasta los 36px sin mover nada de sitio. */
.nd-check{padding-block:6px;margin-block:-6px;}
.nd-check input,.nd-radio input{width:18px;height:18px;flex:none;accent-color:var(--brand);}
.nd-radios{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.nd-radio{padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-card);}
.nd-radio:has(input:checked){border-color:var(--border-brand);color:var(--text-body);}
.nd-alert{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);background:#FFF1F3;border:1px solid var(--nd-red-500);color:var(--brand-strong);font-size:var(--text-body-sm);line-height:1.55;}
.nd-alert__mark{font-weight:700;}
.nd-submit{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding-top:var(--space-2);}
.nd-sent{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start;animation:nd-rise var(--dur-slow) var(--ease-out) both;}
.nd-sent__mark{width:52px;height:52px;border-radius:999px;background:var(--gradient-brand);display:grid;place-items:center;color:#fff;font-size:24px;box-shadow:var(--shadow-brand);}
/* Al enviar movemos el foco al titular para que lo anuncie el lector de pantalla.
   No es un elemento interactivo y nadie ha llegado a él tabulando: sin filete. */
.nd-sent h3[tabindex]:focus{outline:none;}
.nd-form__note{margin-top:calc(var(--space-3) * -1);max-width:62ch;}
.nd-form__note a,.nd-submit .nd-caption a{text-decoration:underline;text-underline-offset:2px;padding:8px 0;}
.nd-form [aria-busy="true"]{opacity:.7;cursor:progress;}
/* Campo trampa para robots: fuera de la vista pero sin display:none, que algunos omiten. */
.nd-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
/* El widget de ALTCHA va en modo invisible: no ocupa sitio en la tarjeta. */
[data-nd-altcha]{display:none;}
.is-hidden{display:none !important;}

/* ---------- banda de teléfono ---------- */
.nd-phone{font:var(--weight-bold) clamp(2.2rem,4.4vw,3.2rem)/1 var(--font-display);letter-spacing:var(--tracking-display);}

/* ---------- cabecera ---------- */
.nd-header{position:sticky;top:0;z-index:40;background:#fff;transition:background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);}
.nd-header.is-scrolled{background:rgba(255,255,255,.9);backdrop-filter:saturate(140%) blur(18px);border-bottom:1px solid var(--border-subtle);}
.nd-header__bar{max-width:var(--container-max);margin:0 auto;padding:14px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);}
.nd-brand{display:flex;align-items:center;gap:var(--space-3);flex:none;color:var(--text-heading);}
.nd-brand:hover{color:var(--text-heading);}
.nd-brand img{height:34px;width:auto;}
.nd-brand__word{font:var(--weight-bold) 15px/1 var(--font-sans);letter-spacing:-.01em;}
.nd-brand__word span{color:var(--brand);}
.nd-nav{display:flex;align-items:center;gap:var(--space-2);}
.nd-nav__link{font:var(--weight-medium) 13px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--text-body);padding:10px 12px;border-radius:var(--radius-pill);}
.nd-nav__link:hover,.nd-nav__link.is-active{color:var(--brand);}
.nd-nav__caret{font-size:9px;opacity:.6;margin-left:6px;}
.nd-has-sub{position:relative;}
.nd-sub{position:absolute;top:100%;left:-8px;width:660px;padding:var(--space-6);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),visibility var(--dur-base);}
.nd-has-sub:hover .nd-sub,.nd-has-sub:focus-within .nd-sub,.nd-sub.is-open{opacity:1;visibility:visible;transform:none;}
.nd-sub__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);}
.nd-sub__list{display:grid;grid-template-columns:1fr 1fr;gap:2px var(--space-6);}
.nd-sub__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:9px 10px;border-radius:var(--radius-sm);color:var(--text-body);font-size:var(--text-body-sm);}
.nd-sub__item:hover{background:var(--surface-sunken);color:var(--brand);}
.nd-risk-tag{font:var(--weight-medium) 10px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;flex:none;}
.nd-risk-tag--alta{color:var(--brand-strong);}
.nd-risk-tag--media{color:var(--nd-orange-600);}
.nd-risk-tag--baja{color:var(--text-muted);}
.nd-header__mobile{display:none;align-items:center;gap:var(--space-2);}
.nd-tel-pill{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--radius-pill);box-shadow:inset 0 0 0 2px var(--nd-ink-900);color:var(--text-heading);font:var(--weight-bold) 12px/1 var(--font-sans);letter-spacing:.06em;}
.nd-tel-pill:hover{color:var(--text-heading);}
.nd-burger{width:44px;height:44px;display:grid;place-content:center;gap:4px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-card);cursor:pointer;}
.nd-burger span{display:block;width:18px;height:2px;background:var(--nd-ink-900);}
.nd-menu{display:none;border-top:1px solid var(--border-subtle);background:var(--surface-card);max-height:76vh;overflow:auto;animation:nd-panel var(--dur-base) var(--ease-out) both;}
.nd-menu.is-open{display:block;}
.nd-menu__inner{padding:var(--space-5) var(--gutter);display:flex;flex-direction:column;gap:var(--space-1);}
.nd-menu__link{padding:14px 4px;font:var(--weight-medium) 16px/1 var(--font-sans);color:var(--text-heading);border-bottom:1px solid var(--border-subtle);}
.nd-menu__group{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);}
.nd-menu__sol{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:46px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-body);font-size:var(--text-body-sm);}
.nd-menu__cta{padding-top:var(--space-4);display:grid;gap:var(--space-3);}

@media (max-width:939px){
  .nd-nav{display:none;}
  .nd-header__mobile{display:flex;}
}

/* ---------- migas ---------- */
.nd-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--text-caption);color:var(--text-faint);padding-top:var(--space-6);}
.nd-crumbs a{color:var(--text-faint);}
.nd-crumbs a:hover{color:var(--brand);}
.nd-crumbs strong{font-weight:400;color:var(--text-body);}

/* ---------- pie ---------- */
.nd-footer{background:var(--nd-ink-900);color:rgba(255,255,255,.7);}
.nd-footer a{color:rgba(255,255,255,.7);font-size:var(--text-body-sm);}
.nd-footer a:hover{color:#fff;}
.nd-footer__cols{display:grid;gap:var(--space-10);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));padding-top:var(--space-16);padding-bottom:var(--space-10);}
.nd-footer__head{font:var(--weight-bold) var(--text-eyebrow)/1 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:#fff;}
.nd-footer__legal{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;font-size:var(--text-caption);color:rgba(255,255,255,.45);padding-bottom:var(--space-8);}
/* Enlaces de línea: el relleno vertical amplía la zona pulsable sin alterar
   la altura de la línea. */
.nd-footer__legal a{font-size:inherit;color:rgba(255,255,255,.6);padding:8px 0;}
.nd-footer__hairline{height:4px;background:var(--gradient-hairline);}
.nd-footer img{height:38px;width:auto;}

/* ---------- movimiento ---------- */
@keyframes nd-rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes nd-panel{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
/* El contenido es visible por defecto: la animación sólo se añade al entrar en pantalla,
   así nada depende de que el JavaScript o el IntersectionObserver funcionen. */
[data-reveal].is-visible{animation:nd-rise var(--dur-slow) var(--ease-out) both;}
.nd-no-motion [data-reveal]{animation:none;}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  [data-reveal],[data-reveal].is-visible{opacity:1;animation:none;}
}
