
body { font-family: var(--font-body); color: var(--ink-body); background: var(--surface); }
.np-icon { flex: none; display: block; }

/* Button */
.np-btn { display: inline-flex; align-items: center; gap: var(--space-2); padding: 12px var(--space-5); border-radius: var(--radius-pill); border: 1.5px solid transparent;
  font-family: var(--font-display); font-size: 14px; line-height: 20px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .15s, box-shadow .15s; }
.np-btn:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.np-btn:disabled { opacity: .45; cursor: not-allowed; }
.np-btn-lg { padding: var(--space-4) 28px; font-size: 16px; }
.np-btn-primary { background: var(--blue); color: var(--on-blue); box-shadow: var(--shadow-card); }
.np-btn-primary:hover:not(:disabled) { box-shadow: var(--shadow-float); }
.np-btn-secondary { background: var(--surface-card); color: var(--ink); border-color: var(--line-strong); }
.np-btn-secondary:hover:not(:disabled) { background: var(--surface-tint); }
.np-btn-deep { background: var(--surface-deep); color: var(--on-deep); }
.np-btn-ghost { background: transparent; color: var(--blue); padding-left: var(--space-2); padding-right: var(--space-2); }

/* SectionTitle */
.np-title { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); max-width: 720px; }
.np-title-center { align-items: center; text-align: center; margin: 0 auto; }
.np-title p, .np-title h1, .np-title h2 { margin: 0; }
.np-title-eyebrow { color: var(--teal-ink); text-transform: uppercase; }
.np-title-h { color: var(--ink); }
.np-title-rule { width: 48px; height: 3px; border-radius: var(--radius-pill); background: var(--teal); margin: var(--space-1) 0 var(--space-2); }
.np-title-lead { color: var(--ink-body); }

/* ObjectiveBar */
.np-objective { display: flex; align-items: center; gap: var(--space-3); padding: 10px var(--space-5) 10px 10px; border-radius: var(--radius-pill);
  background: var(--surface-card); border: 1px solid var(--line); box-shadow: var(--shadow-card); }
.np-objective-check { width: 26px; height: 26px; border-radius: var(--radius-pill); background: var(--blue); color: var(--on-blue); display: grid; place-items: center; flex: none; }
.np-objective-text { margin: 0; font-size: 14px; line-height: 21px; color: var(--ink-body); }
.np-objective-text strong { font-family: var(--font-display); font-weight: 600; color: var(--blue); }

/* Card base */
.np-card { background: var(--surface-card); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.np-iconcard { padding: var(--space-5); display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-2); }
.np-iconcard-icon { width: 64px; height: 64px; border-radius: var(--radius-pill); background: var(--surface-tint); color: var(--brand-navy); display: grid; place-items: center; margin-bottom: var(--space-2); }
.np-iconcard-kicker { margin: 0; font-family: var(--font-display); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--teal-ink); }
.np-iconcard-title { margin: 0; color: var(--ink); font-size: 17px; line-height: 24px; }
.np-iconcard-text { margin: 0; color: var(--ink-body); }
.np-card-deep { background: var(--surface-deep); border-color: transparent; }
.np-card-deep .np-iconcard-title, .np-card-deep .np-iconcard-text, .np-card-deep .np-iconcard-kicker { color: var(--on-deep); }
.np-card-deep .np-iconcard-icon { background: var(--brand-deep); color: var(--on-deep); }

/* StatCard */
.np-stat { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); min-width: 160px; }
.np-stat-hl { border: 2px solid var(--blue-stat); box-shadow: var(--shadow-float); }
.np-stat-icon { width: 36px; height: 36px; border-radius: var(--radius-pill); background: var(--blue); color: var(--on-blue); display: grid; place-items: center; }
.np-stat-value { margin: var(--space-2) 0 0; color: var(--blue-stat); font-size: 44px; line-height: 48px; }
.np-stat-label { margin: 0; color: var(--ink-body); }

/* ProcessStep */
.np-step { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-2); max-width: 180px; }
.np-step-num { width: 40px; height: 40px; border-radius: var(--radius-pill); background: var(--surface-deep); color: var(--on-deep); display: grid; place-items: center;
  font-family: var(--font-display); font-weight: 700; font-size: 18px; box-shadow: 0 0 0 5px var(--surface-tint); }
.np-step-title { margin: var(--space-2) 0 0; font-family: var(--font-display); font-size: 16px; line-height: 22px; font-weight: 600; color: var(--ink); }
.np-step-text { margin: 0; color: var(--ink-body); }

.np-logo { display: block; }

/* ---------- Web ---------- */
.np-page { background: var(--surface); }
.np-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--space-7); box-sizing: border-box; }
.np-section { padding: var(--space-8) 0; background: var(--surface); }
.np-section-soft { background: var(--surface-soft); }
.np-btn-onDeep { background: transparent; color: var(--on-deep); border-color: var(--on-deep); }
.np-btn-onDeep:hover { background: rgba(255, 255, 255, 0.08); }

/* Header */
.np-header { position: sticky; top: 0; z-index: 20; background: var(--surface); border-bottom: 1px solid var(--line); }
.np-header-row { display: flex; align-items: center; gap: var(--space-6); height: 72px; }
.np-header-logo { display: flex; align-items: center; }
.np-header-nav { display: flex; gap: var(--space-5); margin-left: auto; }
.np-header-nav a { font-family: var(--font-display); font-size: 14px; font-weight: 500; color: var(--ink); text-decoration: none; padding: var(--space-2) 0; border-bottom: 2px solid transparent; }
.np-header-nav a:hover { border-bottom-color: var(--teal); }
.np-header-nav a:focus-visible, .np-header-toggle:focus-visible, .np-hero-tab:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.np-header-toggle { display: none; margin-left: auto; width: 44px; height: 44px; border-radius: var(--radius-pill); border: 1px solid var(--line-strong); background: var(--surface-card); color: var(--ink); cursor: pointer; place-items: center; }
@media (max-width: 860px) {
  .np-header-toggle { display: grid; }
  .np-header-cta { display: none; }
  .np-header-nav { display: none; position: absolute; left: 0; right: 0; top: 72px; flex-direction: column; gap: 0; padding: var(--space-3) var(--space-5) var(--space-5); background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-card); }
  .np-header.is-open .np-header-nav { display: flex; }
  .np-header-nav a { padding: var(--space-3) 0; border-bottom: 1px solid var(--line); }
}

/* Hero */
.np-hero { background: var(--surface-deep); color: var(--on-deep); padding: var(--space-8) 0 var(--space-7); overflow: hidden; }
.np-hero-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: var(--space-6); align-items: center; }
.np-hero-eyebrow { margin: 0 0 var(--space-3); color: var(--brand-sky); text-transform: uppercase; }
.np-hero-title { margin: 0; color: var(--on-deep); text-wrap: balance; }
.np-hero-lead { margin: var(--space-5) 0 0; color: var(--on-deep); opacity: .88; max-width: 520px; }
.np-hero-ctas { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.np-hero-visual { position: relative; }
.np-hero-hint { margin: 0; text-align: center; font-size: 12px; line-height: 16px; color: var(--on-deep); opacity: .7; }
.np-brain { position: relative; width: 100%; }
.np-brain canvas { display: block; cursor: crosshair; touch-action: none; }
.np-brain-3d::before { content: ""; position: absolute; inset: 4% 8%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(49, 185, 244, 0.2), rgba(35, 137, 205, 0.08) 55%, rgba(35, 137, 205, 0) 100%); }
.np-brain-3d canvas { position: relative; cursor: grab; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.np-brain-3d canvas.is-grabbing { cursor: grabbing; }
.np-hero-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); margin-top: var(--space-6); }
.np-hero-tab { text-align: left; padding: var(--space-4) var(--space-5); border-radius: var(--radius-md); border: 1px solid rgba(255, 255, 255, 0.22); background: rgba(255, 255, 255, 0.04); color: var(--on-deep); cursor: pointer; display: flex; flex-direction: column; gap: var(--space-1); transition: background .15s, border-color .15s; }
.np-hero-tab:hover { background: rgba(255, 255, 255, 0.08); }
.np-hero-tab.is-active { background: var(--surface-card); border-color: var(--surface-card); color: var(--ink); }
.np-hero-tab-name { font-family: var(--font-display); font-weight: 600; font-size: 16px; line-height: 22px; }
.np-hero-tab-aud { font-size: 13px; line-height: 18px; opacity: .85; }
.np-hero-tab.is-active .np-hero-tab-aud { color: var(--teal-ink); opacity: 1; }
.np-hero-panel { margin-top: var(--space-3); padding: var(--space-5); border-radius: var(--radius-md); background: rgba(255, 255, 255, 0.06); display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--space-5); align-items: center; }
.np-hero-panel-text { margin: 0; font-size: 16px; line-height: 24px; color: var(--on-deep); }
.np-hero-panel-points { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.np-hero-panel-points li { display: flex; align-items: center; gap: var(--space-2); font-size: 14px; line-height: 20px; color: var(--on-deep); }
.np-hero-panel-points .np-icon { color: var(--brand-sky); }
@media (max-width: 900px) {
  .np-hero-grid { grid-template-columns: 1fr; }
  .np-hero-visual { order: -1; }
  .np-hero-tabs, .np-hero-panel { grid-template-columns: 1fr; }
}

/* Services */
.np-svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); margin-top: var(--space-6); }
.np-svc { padding: var(--space-6) var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); }
.np-svc-logo { height: 64px; display: flex; align-items: center; }
.np-svc-aud { margin: var(--space-2) 0 0; font-family: var(--font-display); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--teal-ink); }
.np-svc-title { margin: 0; color: var(--ink); }
.np-svc-text { margin: 0; color: var(--ink-body); }
.np-svc-points { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.np-svc-points li { display: flex; gap: var(--space-2); align-items: center; font-size: 14px; line-height: 20px; color: var(--ink); }
.np-svc-points .np-icon { color: var(--teal); }
.np-svc-detail { margin: 0; padding-top: var(--space-3); border-top: 1px solid var(--line); color: var(--ink-muted); flex: 1; }
.np-svc .np-btn { align-self: flex-start; }
@media (max-width: 960px) { .np-svc-grid { grid-template-columns: 1fr; } }

/* Founder */
.np-founder { display: grid; grid-template-columns: 380px 1fr; gap: var(--space-8); align-items: center; }
.np-founder-photo { margin: 0; aspect-ratio: 4 / 5; border-radius: var(--radius-lg); overflow: hidden; background: var(--surface-tint); box-shadow: var(--shadow-float); outline: 6px solid var(--surface-tint); outline-offset: 10px; }
.np-founder-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.np-founder-role { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 16px; color: var(--teal-ink); }
.np-founder-bio { margin: var(--space-4) 0 var(--space-6); color: var(--ink-body); max-width: 560px; }
@media (max-width: 860px) { .np-founder { grid-template-columns: 1fr; gap: var(--space-7); } .np-founder-photo { max-width: 320px; } }

/* Footer */
.np-footer { background: var(--surface-deep); color: var(--on-deep); padding: var(--space-8) 0 var(--space-5); }
.np-footer-cta { display: flex; flex-wrap: wrap; gap: var(--space-5); align-items: center; justify-content: space-between; padding-bottom: var(--space-7); border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
.np-footer-title { margin: 0; color: var(--on-deep); }
.np-footer-lead { margin: var(--space-2) 0 0; color: var(--on-deep); opacity: .85; }
.np-footer-row { display: flex; flex-wrap: wrap; gap: var(--space-6); justify-content: space-between; align-items: flex-start; padding-top: var(--space-7); }
.np-footer-slogan { margin: var(--space-3) 0 0; font-family: var(--font-display); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--on-deep); opacity: .85; }
.np-footer-nav { display: flex; flex-wrap: wrap; gap: var(--space-5); }
.np-footer-nav a { color: var(--on-deep); text-decoration: none; font-family: var(--font-display); font-size: 14px; }
.np-footer-nav a:hover { text-decoration: underline; }
.np-footer-legal { margin-top: var(--space-7); font-size: 12px; line-height: 16px; color: var(--on-deep); opacity: .7; }
@media (max-width: 600px) { .np-wrap { padding: 0 var(--space-4); } }
.np-hero-grid > *, .np-founder > *, .np-svc-grid > * { min-width: 0; }
.np-brain canvas { width: 100% !important; }
@media (max-width: 900px) {
  .np-hero { padding-top: var(--space-6); }
  .np-brain { height: 300px !important; }
  .np-hero-title { font-size: 38px; line-height: 44px; }
}

/* ---------- Motion ---------- */
html { scroll-behavior: smooth; }

.np-btn { transition: background .2s ease, box-shadow .25s ease, transform .25s cubic-bezier(.2,.7,.2,1), border-color .2s ease; }
.np-btn:hover:not(:disabled) { transform: translateY(-2px); }
.np-btn:active:not(:disabled) { transform: translateY(0); transition-duration: .08s; }
.np-btn .np-icon { transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.np-btn:hover .np-icon { transform: scale(1.08); }

.np-header { transition: box-shadow .3s ease, border-color .3s ease; animation: np-drop .6s cubic-bezier(.2,.7,.2,1) both; }
.np-header.is-scrolled { box-shadow: var(--shadow-card); border-bottom-color: transparent; }
.np-header-nav a { position: relative; border-bottom: 0; }
.np-header-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; border-radius: 2px; background: var(--teal); transform: scaleX(0); transform-origin: left; transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.np-header-nav a:hover::after { transform: scaleX(1); }

.np-motion .np-reveal { opacity: 0; transform: translateY(18px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); transition-delay: calc(var(--i, 0) * 90ms); }
.np-motion .np-reveal.is-in { opacity: 1; transform: none; }
.np-motion .np-hero-visual.np-reveal { transform: scale(.97); transition-duration: 1.2s; }
.np-motion .np-hero-visual.np-reveal.is-in { transform: none; }
.np-motion .np-founder-photo.np-reveal { transform: scale(.96); transition-duration: 1s; }
.np-motion .np-founder-photo.np-reveal img { transform: scale(1.06); transition: transform 1.6s cubic-bezier(.2,.7,.2,1); }
.np-motion .np-founder-photo.np-reveal.is-in img { transform: none; }
.np-motion .np-reveal .np-title-rule { width: 0; transition: width .9s cubic-bezier(.2,.7,.2,1) .35s; }
.np-motion .np-reveal.is-in .np-title-rule { width: 48px; }
/* the hero tab keeps its own hover/active transitions once revealed */
.np-hero-tab-cell { display: flex; }
.np-hero-tab-cell > .np-hero-tab { flex: 1; width: 100%; font: inherit; transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s cubic-bezier(.2,.7,.2,1); }
.np-hero-tab:hover { transform: translateY(-2px); }

.np-swap { animation: np-swap .45s cubic-bezier(.2,.7,.2,1) both; }
.np-swap li { animation: np-swap .45s cubic-bezier(.2,.7,.2,1) both; animation-delay: calc(var(--k, 0) * 60ms + 80ms); }
.np-hero-panel-inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--space-5); align-items: center; }
.np-hero-panel { display: block; }
@media (max-width: 900px) { .np-hero-panel-inner { grid-template-columns: 1fr; } }

.np-svc-cell { display: flex; }
.np-svc-cell > .np-svc { flex: 1; }
.np-svc { transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease; }
.np-svc:hover { transform: translateY(-4px); box-shadow: var(--shadow-float); border-color: var(--line-strong); }
.np-svc .np-svc-logo img { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.np-svc:hover .np-svc-logo img { transform: scale(1.04); }

@keyframes np-drop { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
@keyframes np-swap { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
}

/* ---------- Página ---------- */

:root{--surface:#ffffff;--surface-soft:#f4f8fd;--surface-tint:#e3f0fc;--surface-card:#ffffff;--surface-deep:#003060;--ink:#002557;--ink-body:#173562;--ink-muted:#545454;--on-deep:#ffffff;--brand-navy:#0a3a78;--brand-sky:#31b9f4;--brand-node:#2389cd;--brand-deep:#0d488d;--blue:#0061c4;--on-blue:#ffffff;--blue-stat:#3782c2;--teal:#0097b2;--teal-ink:#00758a;--line:#d6e4f2;--line-strong:#7d9cbf;--focus:#0061c4;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--radius-pill:999px;--shadow-card:0 6px 24px rgba(0,48,96,0.08);--shadow-float:0 16px 40px rgba(0,48,96,0.16);--font-display:Poppins,"Helvetica Neue",Arial,sans-serif;--font-body:"DM Sans","Helvetica Neue",Arial,sans-serif}
body{margin:0;font-family:"DM Sans","Helvetica Neue",Arial,sans-serif;color:#173562;background:#ffffff}
a{color:#0061c4}a:not(.np-btn):hover{color:#00478f}
.np-footer-nav a:hover{color:#ffffff}
.np-btn-onDeep:hover,.np-btn-onDeep:focus-visible{background:#ffffff;color:#003060;border-color:#ffffff}
.eyebrow{font-family:var(--font-display);font-size:13px;line-height:16px;font-weight:600;letter-spacing:.08em}
.hero{font-family:var(--font-display);font-size:56px;line-height:60px;font-weight:700;letter-spacing:-.01em}
.h1{font-family:var(--font-display);font-size:40px;line-height:48px;font-weight:700}
.h2{font-family:var(--font-display);font-size:30px;line-height:38px;font-weight:600}
.h3{font-family:var(--font-display);font-size:20px;line-height:28px;font-weight:600}
.body-lg{font-size:18px;line-height:28px}.body{font-size:16px;line-height:24px}.body-sm{font-size:14px;line-height:21px}
.np-motion .np-reveal.d1{transition-delay:90ms}.np-motion .np-reveal.d2{transition-delay:180ms}.np-motion .np-reveal.d3{transition-delay:270ms}
.np-intro{animation:np-rise .8s cubic-bezier(.2,.7,.2,1) both}.np-intro.d1{animation-delay:90ms}.np-intro.d2{animation-delay:180ms}.np-intro.d3{animation-delay:270ms}.np-intro.d4{animation-delay:360ms}.np-intro.d5{animation-delay:450ms}.np-intro.d6{animation-delay:540ms}.np-intro.d7{animation-delay:630ms}
@keyframes np-rise{from{opacity:.001;transform:translateY(18px)}to{opacity:1;transform:none}}
.np-hero-tab{font:inherit}
.np-hero-panel-inner li{animation:np-swap .45s cubic-bezier(.2,.7,.2,1) both}
.np-hero-panel-inner li:nth-child(2){animation-delay:60ms}.np-hero-panel-inner li:nth-child(3){animation-delay:120ms}.np-hero-panel-inner li:nth-child(4){animation-delay:180ms}
.np-tabs-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.np-hero-tabs,.np-tabs-2{grid-template-columns:1fr}}
.np-svc2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:48px}
.np-svc2-cell{display:flex;min-width:0}
.np-svc2{position:relative;overflow:hidden;flex:1;box-sizing:border-box;border-radius:28px;padding:56px 48px 48px;display:flex;flex-direction:column;gap:20px;min-height:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.np-svc2:hover{transform:translateY(-6px);box-shadow:0 28px 60px rgba(0,48,96,.18)}
.np-svc2>*{position:relative}
.np-svc2 .np-svc2-deco{position:absolute;right:-56px;top:-56px;width:300px;height:300px;opacity:.16;pointer-events:none;transition:transform 1.4s cubic-bezier(.2,.7,.2,1),opacity .6s ease}
.np-svc2:hover .np-svc2-deco{transform:rotate(10deg) scale(1.06);opacity:.24}
.np-svc2-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:80px}
.np-svc2-tag{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:34px;padding:0 calc(16px - .08em) 0 16px;font-family:var(--font-display);font-size:12px;line-height:1;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:center;border-radius:999px;border:1.5px solid currentColor;background:transparent;white-space:nowrap}
.np-svc2-aud{margin:12px 0 0;font-family:var(--font-display);font-size:13px;line-height:18px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.np-svc2-title{margin:0;font-family:var(--font-display);font-size:clamp(28px,2.6vw,36px);line-height:1.15;font-weight:700;letter-spacing:-.01em;text-wrap:balance;overflow-wrap:break-word;hyphens:auto;min-width:0}
.np-svc2-text{margin:0;font-size:18px;line-height:28px;max-width:52ch}
.np-svc2-points{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
.np-svc2-points li{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:22px;font-weight:500}
.np-svc2-check{flex:none;width:24px;height:24px;border-radius:999px;display:grid;place-items:center}
.np-svc2-box{margin-top:8px;padding:20px 24px;border-radius:16px}
.np-svc2-box-label{margin:0 0 6px;font-family:var(--font-display);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.np-svc2-box-text{margin:0;font-size:15px;line-height:23px}
.np-svc2-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.np-svc2-stat{padding:4px 0}
.np-svc2-stat-num{margin:0;font-family:var(--font-display);font-size:40px;line-height:44px;font-weight:700;letter-spacing:-.02em}
.np-svc2-stat-label{margin:4px 0 0;font-size:13px;line-height:18px}
.np-svc2 .np-btn{align-self:flex-start;margin-top:auto}
.np-svc2-light{background:#f4f8fd;border:1px solid #d6e4f2;color:#173562}
.np-svc2-light .np-svc2-tag{color:#00758a}
.np-svc2-light .np-svc2-aud{color:#00758a}
.np-svc2-light .np-svc2-title{color:#002557}
.np-svc2-light .np-svc2-points li{color:#002557}
.np-svc2-light .np-svc2-check{background:#e3f0fc;color:#00758a}
.np-svc2-light .np-svc2-box{background:#ffffff;border:1px solid #d6e4f2}
.np-svc2-light .np-svc2-box-label{color:#00758a}
.np-svc2-light .np-svc2-box-text{color:#545454}
.np-svc2-deep{background:#003060;color:#ffffff}
.np-svc2-deep .np-svc2-tag{color:#9fdcf8}
.np-svc2-deep .np-svc2-aud{color:#9fdcf8}
.np-svc2-deep .np-svc2-title,.np-svc2-deep .np-svc2-text,.np-svc2-deep .np-svc2-points li{color:#ffffff}
.np-svc2-deep .np-svc2-check{background:rgba(49,185,244,.18);color:#31b9f4}
.np-svc2-deep .np-svc2-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.np-svc2-deep .np-svc2-box-label{color:#9fdcf8}
.np-svc2-deep .np-svc2-stat-num{color:#31b9f4}
.np-svc2-deep .np-svc2-stat-label{color:#ffffff;opacity:.85}
.np-btn-light{background:#ffffff;color:#002557;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.np-btn-light:hover{background:#e3f0fc}
/* photos */
.np-svc2 .np-svc2-deco{top:auto;bottom:-90px}
.np-svc2-media{margin:-56px -48px 4px;aspect-ratio:16/9;overflow:hidden;background:#e3f0fc}
.np-svc2-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.np-svc2:hover .np-svc2-media img{transform:scale(1.04)}
.np-footer-cta.np-cta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;justify-content:normal}
.np-cta-media{margin:0;aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:#0d488d;box-shadow:0 28px 60px rgba(0,0,0,.3)}
.np-cta-media img{width:100%;height:100%;object-fit:cover;display:block}
.np-cta-copy .np-btn{margin-top:32px}
.np-footer .np-footer-cta.np-cta-grid{padding-bottom:88px;margin-bottom:0}
.np-footer .np-footer-row{padding-top:72px;position:relative}
@media (max-width:860px){.np-footer .np-footer-cta.np-cta-grid{padding-bottom:64px}.np-footer .np-footer-row{padding-top:56px}}
@media (max-width:960px){.np-svc2-grid{grid-template-columns:1fr}.np-svc2{min-height:0;padding:40px 28px 32px}.np-svc2-media{margin:-40px -28px 4px}.np-svc2-title{font-size:clamp(22px,6.4vw,34px)}}
/* founder */
.np-founder-copy .np-title{gap:6px}
.np-founder-copy .np-founder-role{font-size:18px;line-height:26px}
.np-founder-copy .np-title-rule{margin:14px 0 4px}
.np-founder-bio{margin:20px 0 0;font-size:20px;line-height:34px;max-width:34em;text-wrap:pretty}
@media (max-width:600px){.np-founder-bio{font-size:18px;line-height:30px}}
@media (max-width:860px){.np-footer-cta.np-cta-grid{grid-template-columns:1fr;gap:32px}}
@media (max-width:520px){.np-svc2-points{grid-template-columns:1fr}.np-svc2-stat-num{font-size:28px;line-height:32px}}
/* especialidades */

.np-spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}
.np-spec-cell{display:flex;min-width:0}
.np-spec{flex:1;box-sizing:border-box;background:#ffffff;border:1px solid #d6e4f2;border-radius:24px;padding:36px 32px;display:flex;flex-direction:column;gap:10px;box-shadow:0 6px 24px rgba(0,48,96,.06);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.np-spec:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,48,96,.14)}
.np-spec-icon{width:56px;height:56px;border-radius:999px;background:#e3f0fc;color:#0a3a78;display:grid;place-items:center;margin-bottom:10px}
.np-spec-kicker{margin:0;font-family:var(--font-display);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#00758a}
.np-spec-title{margin:0;font-family:var(--font-display);font-size:22px;line-height:30px;font-weight:600;color:#002557}
.np-spec-list{list-style:none;margin:10px 0 0;padding:14px 0 0;border-top:1px solid #d6e4f2;display:grid;gap:10px}
.np-spec-list li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:22px;color:#173562}
.np-spec-list li::before{content:"";flex:none;width:6px;height:6px;margin-top:8px;border-radius:999px;background:#0097b2}
.np-spec-note{margin:32px 0 0;display:flex;align-items:center;gap:10px;font-size:15px;line-height:22px;color:#173562}
.np-spec-note svg{color:#00758a;flex:none}
@media (max-width:960px){.np-spec-grid{grid-template-columns:1fr}}
/* metodo */
.np-renace{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:48px}
.np-renace-cell{box-sizing:border-box;padding:20px 12px 18px;border-radius:20px;background:#f4f8fd;border:1px solid #d6e4f2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.np-renace-letter{font-family:var(--font-display);font-size:44px;line-height:48px;font-weight:700;color:#0061c4}
.np-renace-word{font-family:var(--font-display);font-size:14px;line-height:18px;font-weight:500;color:#002557}
.np-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:56px;counter-reset:step}
.np-step2{display:flex;flex-direction:column;gap:10px;min-width:0}
.np-step2-num{width:44px;height:44px;border-radius:999px;background:#003060;color:#ffffff;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:16px;box-shadow:0 0 0 6px #e3f0fc;margin-bottom:10px}
.np-step2-title{margin:0;font-family:var(--font-display);font-size:18px;line-height:26px;font-weight:600;color:#002557}
.np-step2-text{margin:0;font-size:15px;line-height:23px;color:#173562}
.np-expect{margin-top:64px;border-radius:28px;background:#003060;color:#ffffff;padding:40px 48px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.np-expect-copy{max-width:640px}
.np-expect-label{margin:0 0 8px;font-family:var(--font-display);font-size:13px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#9fdcf8}
.np-expect-title{margin:0 0 10px;font-family:var(--font-display);font-size:26px;line-height:34px;font-weight:600;color:#ffffff}
.np-expect-text{margin:0;font-size:17px;line-height:27px;color:#ffffff;opacity:.9}
@media (max-width:1100px){.np-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.np-renace{grid-template-columns:repeat(3,minmax(0,1fr))}.np-renace-letter{font-size:36px;line-height:40px}}
@media (max-width:600px){.np-steps{grid-template-columns:1fr}.np-expect{padding:32px 24px}}
/* credenciales */
.np-cred{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.np-cred li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:#ffffff;border:1px solid #d6e4f2;min-width:0}
.np-cred-icon{flex:none;width:40px;height:40px;border-radius:999px;background:#e3f0fc;color:#0a3a78;display:grid;place-items:center}
.np-cred-title{margin:0;font-family:var(--font-display);font-size:15px;line-height:21px;font-weight:600;color:#002557}
.np-cred-sub{margin:2px 0 0;font-size:13px;line-height:19px;color:#545454}
.np-cred-more{margin:18px 0 0;font-size:14px;line-height:22px;color:#545454;max-width:40em}
@media (max-width:1100px){.np-cred{grid-template-columns:1fr}}
.np-footer-contact{display:flex;flex-direction:column;gap:12px}
.np-footer-contact-label{margin:0 0 2px;font-family:var(--font-display);font-size:13px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#9fdcf8}
.np-footer-contact-item{margin:0;display:flex;align-items:center;gap:10px;font-size:15px;line-height:22px;color:#ffffff}
.np-footer-contact-item svg{flex:none;color:#31b9f4}
.np-footer-contact a{color:#ffffff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.np-footer-contact a:hover{color:#9fdcf8;border-bottom-color:#9fdcf8}
.np-footer-legal p{margin:0}.np-footer-legal p+p{margin-top:6px}
/* scroll reveal: CSS only; without support the content simply shows */
@keyframes np-reveal-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@supports (animation-timeline:view()){.np-reveal{animation:np-reveal-in linear both;animation-timeline:view();animation-range:entry 0% entry 55%}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important}.np-reveal{animation:none!important}}

[hidden]{display:none!important}

/* ===== 2026-10-05 · Sitio multipágina (feedback profesor) ===== */
/* Logo mucho más grande: header más alto */
.np-header-row{height:112px;gap:var(--space-6)}
.np-header-logo img{height:88px!important;width:auto!important}
.np-header-nav{gap:var(--space-5)}
.np-header-nav a{font-size:15px;white-space:nowrap}
.np-header-nav a[aria-current="page"]{color:var(--blue)}
.np-header-nav a[aria-current="page"]::after{transform:scaleX(1)}
@media (max-width:1180px){
  .np-header-toggle{display:grid}
  .np-header-cta{display:none}
  .np-header-nav{display:none;position:absolute;left:0;right:0;top:112px;flex-direction:column;gap:0;padding:var(--space-3) var(--space-5) var(--space-5);background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-card)}
  .np-header.is-open .np-header-nav{display:flex}
  .np-header-nav a{padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:16px}
  .np-header-nav a::after{display:none}
  .np-header-nav .np-nav-cta{display:inline-flex;margin-top:var(--space-4);align-self:flex-start;border-bottom:0}
}
@media (min-width:1181px){.np-header-nav .np-nav-cta{display:none}}
@media (max-width:600px){
  .np-header-row{height:88px}
  .np-header-logo img{height:68px!important}
  .np-header-nav{top:88px}
}
section[id],footer[id]{scroll-margin-top:124px}
.np-footer-row img{height:96px!important;width:auto!important}

/* Encabezado de páginas interiores */
.np-pagehero{background:var(--surface-deep);color:var(--on-deep);padding:88px 0 72px;position:relative;overflow:hidden}
.np-pagehero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgba(49,185,244,.22),rgba(35,137,205,0));pointer-events:none}
.np-pagehero .np-wrap{position:relative;z-index:1}
.np-crumbs{margin:0 0 20px;font-size:14px;line-height:20px;color:#9fdcf8}
.np-crumbs a{color:#ffffff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.np-crumbs a:hover{color:#9fdcf8}
.np-pagehero-eyebrow{margin:0 0 12px;color:var(--brand-sky);text-transform:uppercase}
.np-pagehero-title{margin:0;color:#ffffff;font-family:var(--font-display);font-size:clamp(36px,5vw,56px);line-height:1.08;font-weight:700;letter-spacing:-.01em;text-wrap:balance;max-width:18ch}
.np-pagehero-lead{margin:20px 0 0;max-width:640px;font-size:19px;line-height:30px;color:#ffffff;opacity:.88}
@media (max-width:600px){.np-pagehero{padding:56px 0 48px}.np-pagehero-lead{font-size:17px;line-height:27px}}
@media (max-width:900px){.np-hero-title.hero{font-size:40px;line-height:46px}}
@media (max-width:420px){.np-hero-title.hero{font-size:clamp(28px,9vw,36px);line-height:1.15}.np-hero-eyebrow{font-size:12px;letter-spacing:.06em}}
@media (max-width:420px){.h1{font-size:30px;line-height:36px;overflow-wrap:break-word}.np-renace{grid-template-columns:repeat(2,minmax(0,1fr))}}
.np-header-nav a.np-nav-cta,.np-header-nav a.np-nav-cta:hover{color:var(--on-blue);padding:12px var(--space-5)}

/* ===== Formulario "Agenda tu valoración" (footer) → mensaje de WhatsApp ===== */
/* La columna de texto ahora es más alta: la imagen se estira para igualarla */
.np-footer-cta.np-cta-grid{align-items:stretch}
.np-cta-media{position:relative;aspect-ratio:auto;min-height:320px}
.np-cta-media img{position:absolute;inset:0}
.np-wa-form{display:flex;flex-direction:column;gap:18px;margin-top:28px;min-width:0}
.np-wa-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.np-wa-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.np-wa-field label{font-family:var(--font-display);font-size:14px;line-height:20px;font-weight:600;color:var(--on-deep)}
.np-wa-req{color:var(--brand-sky);margin-left:2px}
.np-wa-opt{font-weight:400;opacity:.8}
.np-wa-form input,.np-wa-form select,.np-wa-form textarea{box-sizing:border-box;width:100%;min-height:48px;margin:0;padding:12px 16px;border:1.5px solid rgba(255,255,255,.4);border-radius:14px;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:24px;-webkit-appearance:none;appearance:none;transition:border-color .2s ease,box-shadow .2s ease}
.np-wa-form input[type="date"]{display:block;min-width:0;text-align:left}
.np-wa-form input[type="date"]::-webkit-date-and-time-value{text-align:left;min-height:24px}
.np-wa-form select{padding-right:44px;cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23002557' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:14px 14px}
.np-wa-form select:required:invalid{color:var(--ink-muted)}
.np-wa-form select option{color:var(--ink)}
.np-wa-form textarea{min-height:96px;resize:vertical}
.np-wa-form input:hover,.np-wa-form select:hover,.np-wa-form textarea:hover{border-color:rgba(255,255,255,.75)}
.np-wa-form input:focus,.np-wa-form select:focus,.np-wa-form textarea:focus{outline:3px solid var(--brand-sky);outline-offset:2px;border-color:#fff}
.np-wa-form input:user-invalid,.np-wa-form select:user-invalid{border-color:#ffb4a8;box-shadow:0 0 0 2px rgba(255,180,168,.35)}
.np-cta-copy .np-wa-form .np-btn{align-self:flex-start;margin-top:6px;cursor:pointer}
.np-wa-hint{margin:0;font-size:14px;line-height:20px;color:var(--on-deep);opacity:.8}
@media (max-width:860px){
  .np-cta-media{aspect-ratio:4/3;min-height:0}
}
@media (max-width:560px){
  .np-wa-row{grid-template-columns:minmax(0,1fr);gap:18px}
  .np-cta-copy .np-wa-form .np-btn{align-self:stretch;justify-content:center}
}
