/* NorthClick · Oleada 3 · Organismos y motivos. Requiere atomos.css y moleculas.css. Sin dependencias. */
:root{--container:1200px;--gutter:24px;--section-y:72px}
/* ---------- Dialog (elemento nativo <dialog>) ---------- */
.nc-dialog{width:min(560px,calc(100vw - 32px));padding:0;color:var(--nc-texto-principal);background:var(--nc-fondo-superficie);border:2px solid var(--nc-trazo);border-radius:22px 30px 24px 34px/32px 22px 34px 24px;box-shadow:var(--nc-sombra-lg)}
.nc-dialog::backdrop{background:rgb(11 26 79 / .62)}
.nc-dialog[open]{animation:nc-sube 380ms var(--nc-curva-salida)}
@keyframes nc-sube{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.nc-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 0 28px}
.nc-dialog__title{margin:6px 0 0;font:700 32px/1.1 "Bricolage Grotesque",sans-serif;letter-spacing:-.01em}
.nc-dialog__body{display:grid;gap:16px;padding:14px 28px 0;font:400 16px/1.6 "Figtree",sans-serif;color:var(--nc-texto-secundario)}
.nc-dialog__body p{margin:0}
.nc-dialog__sum{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px}
.nc-dialog__sum strong{display:block;font:700 20px/1.2 "Bricolage Grotesque",sans-serif;color:var(--c-text)}
.nc-dialog__sum .nc-badge{margin-top:8px}
.nc-dialog__foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:24px 28px 28px}
@media (prefers-reduced-motion:reduce){.nc-dialog[open]{animation:none}}
/* ---------- Header ---------- */
.nc-header{position:sticky;top:0;z-index:20;background:rgb(246 242 234 / .94);backdrop-filter:blur(8px);border-bottom:2px solid var(--nc-color-frio-900)}
[data-theme="dark"] .nc-header{background:rgb(23 49 102 / .94);border-bottom-color:var(--nc-color-frio-300)}
.nc-header__in{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:calc(var(--container) + 2 * var(--gutter));height:76px;margin:0 auto;padding:0 var(--gutter)}
.nc-header__logo{display:block;height:36px;width:auto}
.nc-nav{display:flex;align-items:center;gap:6px}
.nc-nav a:not(.nc-btn){display:inline-flex;align-items:center;min-height:40px;padding:0 16px;font:600 14px/1.25 "Figtree",sans-serif;color:var(--nc-texto-principal);text-decoration:none;border:2px solid transparent;border-radius:999px}
.nc-nav a:not(.nc-btn):hover{background:var(--nc-color-plumon-100);color:var(--nc-color-frio-900)}
.nc-nav a[aria-current="page"]{background:var(--nc-color-frio-100);color:var(--nc-color-frio-900);border-color:var(--nc-color-frio-900)}
[data-theme="dark"] .nc-nav a[aria-current="page"]{border-color:var(--nc-color-frio-300)}
.nc-header__menu{display:none}
@media (max-width:760px){.nc-header__menu{display:inline-flex}.nc-nav{display:none;position:absolute;left:0;right:0;top:76px;flex-direction:column;align-items:stretch;gap:8px;padding:16px var(--gutter) 22px;background:var(--nc-fondo-superficie);border-bottom:2px solid var(--nc-trazo)}.nc-header[data-open="true"] .nc-nav{display:flex}.nc-nav .nc-btn{width:100%}}
/* ---------- Footer ---------- */
.nc-footer{background:var(--nc-color-frio-900);color:var(--nc-color-frio-100)}
.nc-footer__in{display:grid;align-items:start;grid-template-columns:2fr 1fr 1fr;gap:40px;max-width:calc(var(--container) + 2 * var(--gutter));margin:0 auto;padding:56px var(--gutter) 28px}
.nc-footer__logo{display:block;height:34px;width:auto}
.nc-footer p{max-width:320px;margin:16px 0 0;font:400 14px/1.6 "Figtree",sans-serif;color:var(--nc-color-frio-200)}
.nc-footer h4{margin:0 0 14px;font:600 12px/1.3 "Bricolage Grotesque",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--nc-color-frio-300)}
.nc-footer ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.nc-footer a{color:var(--nc-color-frio-100);font:400 14px/1.5 "Figtree",sans-serif;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:transparent}
.nc-footer a:hover{text-decoration-color:var(--nc-color-plumon-300)}
.nc-footer__legal{max-width:calc(var(--container) + 2 * var(--gutter));margin:0 auto;padding:18px var(--gutter) 32px;border-top:2px dashed rgb(152 192 216 / .35);font:400 12px/1.4 "Figtree",sans-serif;color:var(--nc-color-frio-300)}
@media (max-width:760px){.nc-footer__in{grid-template-columns:1fr}}
/* ---------- Hero: cielo + Peaks como una sola escena (centrado; el cielo de arriba empata con el de la imagen) ---------- */
.nc-hero{position:relative;overflow:hidden;color:var(--nc-color-frio-900)}
.nc-hero__top{background:linear-gradient(180deg,var(--nc-color-frio-50),var(--nc-color-frio-200))}
[data-theme="dark"] .nc-hero{color:var(--nc-color-nieve)}
[data-theme="dark"] .nc-hero__top{background:var(--nc-color-frio-900)}
.nc-hero__in{max-width:780px;margin:0 auto;padding:88px var(--gutter) 40px;text-align:center}
.nc-hero h1{margin:14px 0 0;font:700 56px/1.04 "Bricolage Grotesque",sans-serif;letter-spacing:-.025em;text-wrap:balance}
.nc-hero__lead{max-width:600px;margin:20px auto 0;font:400 20px/1.5 "Figtree",sans-serif}
.nc-hero__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:32px}
.nc-hero .nc-peaks{margin-bottom:-2px}
@media (max-width:760px){.nc-hero__in{padding-top:56px}.nc-hero h1{font-size:36px}}
/* ---------- Mascot ---------- */
.nc-mascot{display:block;height:auto;max-width:100%;user-select:none}
.nc-mascot--s{width:140px}.nc-mascot--m{width:220px}.nc-mascot--l{width:300px}
.nc-mascot--asoma{animation:nc-asoma 380ms var(--nc-curva-salida)}
@keyframes nc-asoma{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.nc-mascot--asoma{animation:none}}
/* ---------- Motivos ---------- */
.nc-peaks{display:block;width:100%;height:auto}                 /* una por pieza; decorativa: alt="" */
.nc-scallop{height:var(--sz,18px);background:radial-gradient(circle at 50% 0,var(--fill,var(--nc-color-frio-900)) calc(var(--sz,18px) - 2px),var(--ink,var(--nc-color-frio-900)) calc(var(--sz,18px) - 2px),var(--ink,var(--nc-color-frio-900)) var(--sz,18px),transparent calc(var(--sz,18px) + .5px)) 0 0/calc(var(--sz,18px) * 2) var(--sz,18px) repeat-x}
.nc-stripes{display:inline-block;width:22px;height:var(--len,48px);background:linear-gradient(90deg,var(--nc-color-plumon-600) 0 4px,transparent 4px 9px,var(--nc-color-plumon-600) 9px 13px,transparent 13px 18px,var(--nc-color-plumon-600) 18px 22px);border-radius:2px}
.nc-stripes--h{width:var(--len,48px);height:22px;background:linear-gradient(180deg,var(--nc-color-plumon-600) 0 4px,transparent 4px 9px,var(--nc-color-plumon-600) 9px 13px,transparent 13px 18px,var(--nc-color-plumon-600) 18px 22px)}
.nc-zipper{position:relative;display:flex;align-items:center;height:34px}
.nc-zipper__teeth{flex:1;height:12px;background:repeating-linear-gradient(90deg,var(--nc-color-frio-900) 0 6px,transparent 6px 12px) 0 0/100% 6px no-repeat,repeating-linear-gradient(90deg,transparent 0 6px,var(--nc-color-frio-900) 6px 12px) 0 6px/100% 6px no-repeat}
.nc-zipper__pull{position:absolute;left:var(--at,30%);top:50%;width:18px;height:34px;transform:translate(-50%,-30%);background:var(--nc-color-frio-300);border:2px solid var(--nc-color-frio-900);border-radius:9px 9px 8px 8px;box-shadow:var(--nc-sombra-xs)}
.nc-zipper__pull::after{content:"";position:absolute;left:50%;bottom:6px;width:6px;height:10px;transform:translateX(-50%);border-radius:3px;background:var(--nc-color-papel-100);border:1.5px solid var(--nc-color-frio-900)}
[data-theme="dark"] .nc-zipper__teeth{background:repeating-linear-gradient(90deg,var(--nc-color-frio-300) 0 6px,transparent 6px 12px) 0 0/100% 6px no-repeat,repeating-linear-gradient(90deg,transparent 0 6px,var(--nc-color-frio-300) 6px 12px) 0 6px/100% 6px no-repeat}
/* ---------- PackageCard: etiqueta en el borde, nombre > precio, regla punteada, lista, botón al pie ---------- */
.nc-pkg{display:flex;flex-direction:column;gap:14px;height:100%;padding:32px 28px 28px}
.nc-pkg__tag{position:absolute;top:-14px;right:22px}
.nc-pkg__head{display:flex;align-items:center;min-height:48px;justify-content:space-between;gap:12px}
.nc-pkg__icon{flex:none;display:grid;place-items:center;width:48px;height:48px;margin:0 -4px 0 0;background:var(--nc-color-nieve);border:2px solid var(--nc-color-frio-900);border-radius:var(--nc-radio-campo);box-shadow:var(--nc-sombra-xs)}
.nc-pkg__icon svg{width:30px;height:30px}
.nc-pkg__row{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-top:6px}
.nc-pkg__name{margin:0;font:700 32px/1.08 "Bricolage Grotesque",sans-serif;letter-spacing:-.01em}
.nc-card.nc-pkg .nc-pkg__desc{margin:0;font:400 16px/1.5 "Figtree",sans-serif;color:var(--c-muted)}
.nc-pkg__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;color:var(--c-text)}
.nc-pkg__from,.nc-pkg__cur{font:600 14px/1.3 "Figtree",sans-serif}
.nc-pkg__amt{font:700 24px/1.1 "Bricolage Grotesque",sans-serif;font-variant-numeric:tabular-nums}
.nc-pkg__note{margin:0;font:400 14px/1.35 "Figtree",sans-serif;color:var(--c-muted);text-align:right}
.nc-pkg__rule{width:100%;margin:2px 0;border:0;border-top:2px dashed currentColor;opacity:.35}
.nc-pkg__feats{display:grid;gap:10px;margin:0;padding:0;list-style:none;font:400 15px/1.45 "Figtree",sans-serif;color:var(--c-text)}
.nc-pkg__feats li{display:flex;gap:10px;align-items:flex-start}.nc-pkg__feats .nc-icon{flex:none;margin-top:1px;color:var(--nc-color-verde-700)}
.nc-card[data-tint].nc-card--e3 .nc-pkg__feats .nc-icon{color:currentColor}
[data-theme="dark"] .nc-pkg__feats .nc-icon{color:var(--nc-color-nieve)}
.nc-pkg__cta{margin-top:auto;padding-top:10px}
.nc-pkg--off .nc-pkg__name,.nc-pkg--off .nc-pkg__amt{color:var(--nc-deshabilitado-texto)}
/* ---------- Formulario de contacto ---------- */
.nc-form{display:grid;gap:18px;max-width:560px}
.nc-form .nc-field{max-width:none}
.nc-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width:560px){.nc-form__row{grid-template-columns:1fr}}
.nc-form__note{font:400 14px/1.5 "Figtree",sans-serif;color:var(--nc-texto-secundario)}
/* ---------- Secciones ---------- */
.nc-section{padding:var(--section-y) var(--gutter) calc(var(--section-y) + 8px)}.nc-section__in{max-width:var(--container);margin:0 auto}
.nc-section--alt{background:var(--nc-color-frio-50)}[data-theme="dark"] .nc-section--alt{background:var(--nc-color-frio-700)}
.nc-section__head{max-width:640px;margin:0 0 48px}.nc-section__head p{margin:14px 0 0;font:400 18px/1.55 "Figtree",sans-serif;color:var(--nc-texto-secundario)}
.nc-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}@media (max-width:900px){.nc-contact{grid-template-columns:1fr;gap:32px}}
.nc-contact__card{padding:32px}
.nc-section__title{margin:12px 0 0;font:700 32px/1.12 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em}
.nc-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 32px;padding-top:14px}@media (max-width:900px){.nc-grid3{grid-template-columns:1fr}}
.nc-scallop--up{transform:scaleY(-1);background-color:var(--above,transparent);margin-bottom:-1px}
/* Tarjeta destacada Cálido E3: el botón Tinta+Nieve se conserva también en oscuro */
[data-theme="dark"] .nc-card[data-tint="calido"].nc-card--e3 .nc-btn--tinta{background:var(--nc-color-frio-900);color:var(--nc-color-nieve);border-color:var(--nc-color-frio-900)}
[data-theme="dark"] .nc-pkg__feats .nc-icon{color:var(--nc-color-nieve)}

/* ---------- Altitude · ruta de etapas que se adapta al espacio ---------- */
/* Una flecha sube de etapa en etapa y deja un rastro rojo; la cifra de altitud la acompaña. La ruta se calcula con la posición real de las etapas, así que se adapta al ancho, al número de etapas y al perfil elegido. */
.nc-altitude{--n:4;--rise:30px;position:relative;list-style:none;margin:0;padding:0 0 8px;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:22px;align-items:start;counter-reset:alt}
.nc-altitude__step{position:relative;margin-top:calc((var(--n) - 1 - var(--i,0)) * var(--rise));padding-top:26px}
.nc-altitude__pin{position:absolute;left:18px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--nc-fondo-superficie);border:var(--nc-trazo-normal) solid var(--nc-trazo)}
.nc-altitude__step[data-state="done"] .nc-altitude__pin{background:var(--nc-texto-exito)}
.nc-altitude__step[aria-current="step"] .nc-altitude__pin{background:var(--nc-color-ambar-500)}
.nc-altitude__card{padding:16px 18px;height:100%}
.nc-altitude__m{display:block;font:700 13px/1 "Bricolage Grotesque",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;opacity:.85}
.nc-altitude__card h3{margin:0 0 4px;font:700 20px/1.2 "Bricolage Grotesque",sans-serif}
.nc-altitude__card p{margin:0;font-size:14.5px;line-height:1.5}
.nc-altitude__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.nc-altitude__step{z-index:1}
.nc-altitude__base{fill:none;stroke:var(--nc-texto-secundario);stroke-opacity:.55;stroke-width:3;stroke-dasharray:2 9;stroke-linecap:round;stroke-linejoin:round}
.nc-altitude__trail{fill:none;stroke:var(--nc-color-plumon-600);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.nc-altitude__arrow{fill:var(--nc-color-plumon-600);stroke:var(--nc-fondo-superficie);stroke-width:2;stroke-linejoin:round}
[data-theme="dark"] .nc-altitude__trail{stroke:var(--nc-color-plumon-300)}[data-theme="dark"] .nc-altitude__arrow{fill:var(--nc-color-plumon-300)}
.nc-altitude__tag{position:absolute;z-index:2;transform:translate(14px,-130%);padding:3px 10px;font:700 14px/1.2 "Bricolage Grotesque",sans-serif;font-variant-numeric:tabular-nums;color:var(--nc-color-frio-900);background:var(--nc-color-papel-100);border:var(--nc-trazo-normal) solid var(--nc-trazo);border-radius:var(--nc-radio-pildora);box-shadow:var(--nc-sombra-xs);white-space:nowrap;pointer-events:none}
/* vertical cuando el espacio es angosto: la ruta SUBE por la izquierda (la etapa 1 queda abajo y la cumbre arriba); nunca baja */
.nc-altitude.is-vert{display:flex;flex-direction:column-reverse;gap:14px}
.nc-altitude.is-vert .nc-altitude__step{margin-top:0;padding:0 0 0 44px}
.nc-altitude.is-vert .nc-altitude__pin{left:9px;top:22px}
@media (prefers-reduced-motion:reduce){.nc-altitude__step .nc-card{transition:none}}
.nc-altitude__svg--top{z-index:3}.nc-altitude.is-vert .nc-altitude__tag{display:none}
.nc-altitude__step[aria-current="step"] .nc-altitude__pin{opacity:0}
