/* Kreathur — propuesta visual integrada. Cargar después de los estilos originales. */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  color-scheme: light;
  --nw-blue: #2452ed;
  --nw-deep: #19337d;
  --nw-yellow: #ffda35;
  --nw-ink: #18306a;
  --nw-muted: #627396;
  --nw-pale: #f0f4ff;
  --nw-line: #dce4f5;
  --bg-0: #ffffff;
  --bg-1: #f0f4ff;
  --bg-2: #e8eeff;
  --bg-3: #dfe8ff;
  --fg-0: #18306a;
  --fg-1: #374c77;
  --fg-2: #627396;
  --fg-3: #68799a;
  --neon-mint: #2452ed;
  --neon-mint-glow: #2452ed22;
  --cyan: #2452ed;
  --purple: #19337d;
  --magenta: #2452ed;
  --amber: #8a6000;
  --hairline: #dce4f5;
  /* Catálogo original. */
  --ground: #ffffff;
  --ground-2: #f0f4ff;
  --surface: #f6f8ff;
  --surface-2: #eaf0ff;
  --hair: #dce4f5;
  --hair-2: #b7c7ed;
  --ink-0: #18306a;
  --ink-1: #374c77;
  --ink-2: #627396;
  --ink-3: #68799a;
  --mint: #2452ed;
  --violet: #19337d;
  --mint-dim: #2452ed0d;
  --cyan-dim: #2452ed0d;
  --violet-dim: #19337d0d;
  --amber-dim: #ffda352b;
  --sans: 'Manrope', sans-serif;
  --mono: 'Manrope', sans-serif;
  /* Agenda y textos legales. */
  --bg: #ffffff;
  --paper: #18306a;
  --line: #dce4f5;
  --muted: #627396;
  --a: #19337d;
  --ac: #2452ed;
  --t: #18306a;
  --g: #627396;
}

html { scroll-padding-top: 125px; }
body { background: #fff !important; color: var(--nw-ink) !important; }
body, body *, body *::before, body *::after {
  font-family: 'Manrope', sans-serif !important;
}
body::after { opacity: .012; mix-blend-mode: multiply; }
::selection { background: var(--nw-yellow); color: var(--nw-deep); }
::-webkit-scrollbar-thumb { background: #2452ed55; }
::-webkit-scrollbar-thumb:hover { background: #2452ed88; }
:focus-visible { outline: 3px solid var(--nw-blue) !important; outline-offset: 4px !important; }
body :where(h1,h2,h3,h4) { letter-spacing: -.045em; }
.font-display { font-weight: 800; }
.font-mono, .section-tag, .eyebrow, .project-journey-type {
  font-weight: 700;
  letter-spacing: .11em;
}
.text-neon { color: var(--nw-blue); text-shadow: none; }
.text-grad {
  background: none !important;
  color: var(--nw-blue) !important;
  -webkit-text-fill-color: currentColor !important;
}
.section-tag { color: var(--nw-blue); }
.section-tag::before { content: '✦ '; color: var(--nw-blue); opacity: 1; }
#progress { background: linear-gradient(90deg, var(--nw-blue) 75%, var(--nw-yellow)); box-shadow: none; }
.glass { background: #ffffffed; border-color: var(--nw-line); }
.glass-strong { background: #fffffffa; }
.border-hair, [class*="border-hair"] { border-color: var(--nw-line) !important; }
[class*="text-fg-0"]:not(.nw-demo *) { color: var(--nw-ink) !important; }
[class*="text-fg-1"]:not(.nw-demo *) { color: #374c77 !important; }
[class*="text-fg-2"]:not(.nw-demo *) { color: var(--nw-muted) !important; }
[class*="text-fg-3"]:not(.nw-demo *) { color: #68799a !important; }
[class*="text-white"]:not(.nw-demo *) { color: var(--nw-ink) !important; }
[class*="text-emerald"], [class*="text-cyan"], [class*="text-purple"], [class*="text-violet"] {
  color: var(--nw-blue) !important;
}
[class*="bg-bg-0"]:not(.nw-demo *) { background-color: #fff !important; }
[class*="bg-bg-1"]:not(.nw-demo *) { background-color: var(--nw-pale) !important; }
[class*="bg-bg-2"]:not(.nw-demo *) { background-color: #e8eeff !important; }
[class*="bg-bg-3"]:not(.nw-demo *) { background-color: #dfe8ff !important; }
[class*="bg-emerald"], [class*="bg-cyan"], [class*="bg-purple"] { background-color: #2452ed0d !important; }
[class*="border-emerald"], [class*="border-cyan"], [class*="border-purple"] { border-color: #2452ed30 !important; }
[class*="bg-amber-mid"] { background-color: #ffda352b !important; }
[class*="border-amber-mid"] { border-color: #dcb12266 !important; }
[style*="color:#fff"]:not(.cinema-title *):not(.portfolio-cover *):not(.nw-demo *) { color: var(--nw-ink) !important; }
[style*="background:var(--neon-mint)"], [style*="background: var(--neon-mint)"] {
  background: var(--nw-yellow) !important;
  color: var(--nw-deep) !important;
  box-shadow: none !important;
}
[style*="background:#16261d"] { background: var(--nw-pale) !important; }
[stroke="#34f5a8"] { stroke: var(--nw-blue); }

/* Navigation, langues et avis local. */
body > a.fixed.top-0 { background: var(--nw-blue) !important; border-color: var(--nw-blue) !important; }
body > a.fixed.top-0 *, body > a.fixed.top-0 [class*="text-white"] { color: #fff !important; }
body > header.fixed { background: #ffffffed; border-bottom: 1px solid var(--nw-line); box-shadow: 0 7px 24px #19337d06; }
body > header.fixed > div { max-width: 1440px; }
.nav-link { font-size: 12px; font-weight: 600; color: var(--nw-ink); }
.nav-link::after { height: 2px; background: var(--nw-blue); }
.nav-link:hover { color: var(--nw-blue); }
body > header .nav-link[style*="linear-gradient"] {
  background: var(--nw-blue) !important;
  color: #fff !important;
}
.kre-book-now {
  background: var(--nw-yellow);
  color: var(--nw-deep);
  border: 1px solid #d9b320;
  box-shadow: 0 3px 0 #d9b320;
  border-radius: 12px;
  transition: transform .2s, box-shadow .2s;
}
.kre-book-now:hover { transform: translateY(2px); box-shadow: 0 1px 0 #d9b320; }
.lang-dd { color: var(--nw-ink); background: #fff; border-color: var(--nw-line); letter-spacing: .03em; }
.lang-menu { background: #fff; border-color: var(--nw-line); box-shadow: 0 16px 40px #19337d20; }
.lang-item:hover { background: var(--nw-pale); }
.lang-item.is-active { color: var(--nw-blue); background: #eaf0ff; }
.flag { border-color: #19337d30; }
#mobile-menu { background: #fff; max-height: calc(100dvh - 102px); overflow-y: auto; overscroll-behavior: contain; }
.nw-preview-bar {
  position: absolute;
  z-index: 25;
  top: 109px;
  left: max(24px, calc((100vw - 1280px)/2 + 32px));
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: calc(100% - 48px);
  padding: 7px 12px;
  border: 1px solid #2452ed20;
  border-radius: 99px;
  background: #fffffff2;
  color: #50668d;
  font-size: 10px;
  font-weight: 600;
  box-shadow: 0 5px 15px #19337d04;
}
.nw-preview-bar a { color: var(--nw-blue); text-decoration: underline; text-underline-offset: 3px; }

/* Portada con video de producción y fotografía real del equipo. */
#kre-drone-hero {
  height: min(100svh, 1040px);
  min-height: 810px;
  max-height: none;
  background: #fff;
  color: var(--nw-ink);
  overflow: hidden;
}
#kre-drone-hero .drone-background {
  left: auto;
  right: 0;
  top: 92px;
  bottom: 0;
  width: 59%;
  height: calc(100% - 92px);
  object-fit: cover;
  object-position: 50% 50%;
  z-index: -2;
}
#kre-drone-hero::before {
  z-index: -1;
  background: linear-gradient(90deg, #fff 0%, #fff 40%, #ffffffd6 46%, #ffffff54 53%, transparent 64%),
    linear-gradient(0deg, #fff 1%, #ffffff30 18%, transparent 40%);
}
.drone-copy {
  width: min(1280px, 100%);
  margin: auto;
  padding: clamp(190px, 25vh, 270px) 32px 150px;
}
.drone-eyebrow, .nw-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #2452ed25;
  border-radius: 99px;
  background: #f0f4fff2;
  padding: 8px 12px;
  color: var(--nw-blue);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
}
#kre-drone-hero h1 {
  max-width: 650px;
  width: 58%;
  margin: 24px 0;
  font-size: clamp(60px, 6.4vw, 89px);
  line-height: 1.035;
  letter-spacing: -.065em;
  font-weight: 800;
  text-wrap: initial;
  color: var(--nw-deep);
}
#kre-drone-hero h1 em { color: var(--nw-blue); font-style: normal; }
#kre-drone-hero .nw-highlight {
  color: var(--nw-blue);
  position: relative;
  display: inline;
  background: linear-gradient(transparent 61%, var(--nw-yellow) 61%, var(--nw-yellow) 95%, transparent 95%);
  border-radius: 6px;
  padding-right: 5px;
}
.drone-copy p { width: 45%; max-width: 540px; color: #526689; font-size: 18px; line-height: 1.8; }
#kre-drone-hero .nw-dot { color: #e5b716; }
.drone-links { gap: 12px; margin-top: 28px; }
.drone-links a {
  background: #fffffff5;
  color: var(--nw-blue);
  border: 1px solid #b9c9ed;
  border-radius: 13px;
  padding: 15px 19px;
  font-size: 13px;
  font-weight: 800;
  backdrop-filter: none;
  box-shadow: 0 4px 0 #dce4f5;
  transition: transform .2s, box-shadow .2s;
}
.drone-links a:first-child { background: var(--nw-yellow); color: var(--nw-deep); border-color: #d9b320; box-shadow: 0 4px 0 #d9b320; }
.drone-links a:hover { transform: translateY(2px); box-shadow: 0 2px 0 #b9c9ed; }
.drone-links a:first-child:hover { box-shadow: 0 2px 0 #d9b320; }
.drone-foot { color: #586a8c; width: min(1216px, calc(100% - 64px)); margin: auto; left: 0; right: 0; bottom: 26px; font-size: 10px; letter-spacing: .04em; }
.drone-foot a { color: var(--nw-blue); }
.drone-pause, .nw-replay {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #fffffff0;
  color: var(--nw-blue);
  border: 1px solid var(--nw-line);
  border-radius: 99px;
  padding: 10px 15px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 5px 20px #19337d10;
}
.nw-hero-team {
  position: absolute;
  z-index: 2;
  right: max(32px, calc((100vw - 1280px)/2 + 16px));
  bottom: 92px;
  width: clamp(240px, 25vw, 335px);
  background: #fff;
  border: 6px solid #fff;
  border-radius: 23px;
  box-shadow: 0 20px 65px #19337d26;
  transform: rotate(3deg);
  overflow: hidden;
  transition: transform .35s;
}
.nw-hero-team:hover { transform: rotate(0deg) translateY(-5px); }
.nw-hero-team img { display: block; width: 100%; height: 175px; object-fit: cover; border-radius: 17px; }
.nw-hero-team figcaption, .nw-hero-team .nw-team-caption { padding: 10px 11px 8px; color: var(--nw-deep); font-size: 12px; font-weight: 700; }
.nw-hero-team small { display: block; color: var(--nw-muted); font-size: 10px; font-weight: 500; margin-top: 4px; }
.nw-hero-team figcaption > b { display: block; }
.nw-hero-team figcaption > span { display: block; color: var(--nw-muted); font-size: 10px; font-weight: 500; line-height: 1.6; margin-top: 3px; }
#nw-replay { margin-top: 20px; box-shadow: none; padding: 8px 13px; background: #ffffffe0; }

/* Sección de producto original: teléfono, pestañas y demostraciones. */
#top { background: var(--nw-pale); padding-top: 85px; padding-bottom: 95px; border-top: 1px solid var(--nw-line); }
#top > .absolute { opacity: .4; }
#top h1, #top h2 { font-size: clamp(40px, 5.8vw, 68px) !important; line-height: 1.06 !important; }
.btn-grad, .btn-neon, .btn-primary {
  background: var(--nw-yellow);
  color: var(--nw-deep);
  border: 1px solid #d9b320;
  border-radius: 13px;
  padding: 14px 22px;
  box-shadow: 0 4px 0 #d9b320;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 800;
}
.btn-grad:hover, .btn-neon:hover, .btn-primary:hover { background: #ffe35f; transform: translateY(2px); box-shadow: 0 2px 0 #d9b320; }
.btn-grad .arrow { background: var(--nw-deep); color: #fff; }
.btn-outline, .btn-ghost { background: #fff; color: var(--nw-blue); border-color: #b9c9ed; border-radius: 13px; letter-spacing: 0; text-transform: none; }
.btn-outline:hover, .btn-ghost:hover { background: #eaf0ff; color: var(--nw-blue); border-color: var(--nw-blue); }
.phone { background: #fff; border: 2px solid #b8c8ed; box-shadow: 0 28px 70px #19337d20, 0 0 0 6px #ffffff66; }
.phone-notch { background: #18306a30; }
.phone-screen { background: #eaf0ff; scrollbar-color: var(--nw-blue) #dce4f5; }
.phone-screen::after { opacity: .1; }
.phone-screen::-webkit-scrollbar-thumb { background: #2452ed55; }
.phone-stage::before { background: radial-gradient(circle, #2452ed18, #ffda3512 40%, transparent 70%); filter: blur(28px); }
.phone-stage::after { background: conic-gradient(from var(--ang2), #2452ed28, #ffda3528, #2452ed28); opacity: .55; }
.phone-bg-grid { background-image: linear-gradient(#2452ed0d 1px,transparent 1px),linear-gradient(90deg,#2452ed0d 1px,transparent 1px); }
.bubble-in { background: #fff; color: var(--nw-ink); border: 1px solid #d9e2f8; }
.bubble-out { background: var(--nw-blue); color: #fff; box-shadow: 0 6px 14px #2452ed15; }
.bubble-out * { color: #fff !important; }
.phone-screen [class*="text-white"] { color: var(--nw-ink) !important; }
.phone-screen .bubble-out [class*="text-white"] { color: #fff !important; }
.phone-screen [class*="bg-white"] { background: #2452ed12 !important; }
.typing-dots { background: #fff; }
.orbit-item { background: #ffffffee !important; border-color: #2452ed30 !important; color: var(--nw-blue) !important; box-shadow: 0 5px 16px #19337d08; }
.phone-stage > [class*="absolute"] { box-shadow: 0 7px 20px #19337d10 !important; background-color: #fffffff0 !important; }
.mt-card { background: #fff; border-color: var(--nw-line); }
.mt-card:hover { border-color: #2452ed66; background: #f8faff; }
.ind-tab { background: #fff; border-color: var(--nw-line); color: var(--nw-muted); font-weight: 600; }
.ind-tab:hover { color: var(--nw-blue); border-color: #9db4ee; }
.ind-tab.is-active { color: #fff; background: var(--nw-blue); border-color: var(--nw-blue); box-shadow: 0 8px 22px #2452ed20; }
.ind-tab.is-active * { color: #fff !important; }
.drone-block, .price-card { background: #fff; border-color: var(--nw-line); box-shadow: 0 10px 30px #19337d05; }
.drone-block:hover, .price-card:hover { border-color: #a5b9ed; }
.price-card.featured { background: linear-gradient(170deg, #fff9d9, #fff 50%); border-color: #dfbb29; box-shadow: 0 18px 45px #d9b32013; }
.price-card.featured:hover { border-color: #b99400; }
.price-badge { background: var(--nw-yellow); color: var(--nw-deep); box-shadow: none; }
.early-banner { background: #fff9d9; border-color: #e8d483; }
.early-banner::before { background: linear-gradient(110deg,transparent 30%,#ffda3540 50%,transparent 70%); }
.guarantee-circle { background: radial-gradient(circle,#f0f4ff,transparent 70%); border-color: #2452ed55; box-shadow: 0 0 50px #2452ed0d; }
.guarantee-circle::before { opacity: .12; }
.step-num { background: var(--nw-yellow); color: var(--nw-deep); box-shadow: none; }

/* LEMU y demos funcionales: no se cambia el comportamiento de sus scripts. */
#lemu { background: #fff; }
#lemu > .absolute { opacity: .22; }
#lemu [data-lemu-nav] { color: #526689 !important; font-weight: 600; }
#lemu [data-lemu-nav][class*="bg-amber-mid"] { color: var(--nw-deep) !important; background: var(--nw-yellow) !important; }
#lemu-view-body [class*="text-white"] { color: var(--nw-ink) !important; }
#lemu-view-body [style*="rgba(244,244,243"] { color: #526689 !important; }
#lemu-view-body [class*="border"] { border-color: #dce4f5; }
#lemu-view-body [class*="bg-ink"] { background-color: #eaf0ff !important; }
#lemu-view-body [class*="bg-emerald"] { background-color: #2452ed0d !important; }
#lemu-view-body input, #lemu-view-body select { background: #fff; color: var(--nw-ink); border-color: #bdcbea; }
#lemu-modal { background-color: #19337d65 !important; z-index: 110; }
#lemu-modal > div { background: #fff !important; box-shadow: 0 25px 80px #19337d30; }
#bots-live { background: var(--nw-pale); }
#bots-live [class*="rounded-3xl"], #bots-live [class*="rounded-2xl"] { border-color: var(--nw-line); }
#pricing { background: #f7f9ff; border-block: 1px solid var(--nw-line); }
#pricing > .absolute { opacity: .16; }
#pricing > .mx-auto > header, #pricing > .mx-auto > .reveal:first-child { max-width: 820px; }
.nw-pricing-note, .nw-legacy-note { margin: 0 0 32px; padding: 16px 20px; border: 1px solid #e2cb68; border-left: 4px solid var(--nw-yellow); border-radius: 14px; background: #fffbea; color: #6b591d; font-size: 13px; line-height: 1.65; }

/* Portafolio, capturas originales y videos reales. */
#portafolio { background: #fff; }
.portfolio-filter { background: #fff; color: #526689; border-color: var(--nw-line); font-size: 11px; padding: 12px 16px; font-weight: 700; }
.portfolio-filter:hover, .portfolio-filter.is-active { background: var(--nw-blue); color: #fff; border-color: var(--nw-blue); }
.portfolio-card { background: #fff; border-color: var(--nw-line); box-shadow: 0 8px 25px #19337d05; }
.portfolio-card:hover { background: #fff; border-color: #9db4ee; box-shadow: 0 18px 35px #19337d10; }
.portfolio-cover { background: #eaf0ff; }
.portfolio-cover img { opacity: 1; }
.portfolio-cover::after { background: linear-gradient(180deg,transparent 45%,#19337d70); }
.portfolio-cover span { color: #fff; background: #19337dca; border-color: #ffffff45; letter-spacing: .05em; }
.portfolio-tag { color: #627396; background: #f6f8ff; border-color: var(--nw-line); letter-spacing: .03em; }
.portfolio-card [class*="text-white"] { color: var(--nw-ink) !important; }
.portfolio-card .portfolio-cover [class*="text-white"], .portfolio-card .portfolio-cover span { color: #fff !important; }
.web-preview { background: #fff; border-color: var(--nw-line); }
.web-browserbar { color: #627396; background: #f0f4ff; border-color: var(--nw-line); font-size: 10px; }
.web-browserbar i { background: var(--nw-blue); box-shadow: 10px 0 var(--nw-yellow),20px 0 #b5c5e9; }
.web-scroll { background: #f0f4ff; scrollbar-color: #2452ed55 #eaf0ff; }
.web-preview-tools { background: #fff; border-color: var(--nw-line); }
.web-preview-tools button { color: var(--nw-blue); background: #f0f4ff; border-color: #2452ed30; font-weight: 700; }
.web-preview-tools span { color: var(--nw-muted); }
.project-journey { background: #fff; border-color: var(--nw-line); box-shadow: 0 7px 24px #19337d05; }
.project-journey:hover { border-color: #9db4ee; }
.project-journey-copy h3 { color: var(--nw-ink); }
.project-journey-copy p, .project-work ul { color: #526689; }
.project-journey-copy a, .project-journey-type { color: var(--nw-blue); }
.project-work { border-color: var(--nw-line); }
.project-work summary { color: var(--nw-ink); font-weight: 700; }
.kre-cinema { background: #fff; border-color: var(--nw-line); box-shadow: 0 14px 45px #19337d0a; }
.kre-cinema-heading { background: var(--nw-pale); }
.kre-cinema-heading h3 { color: var(--nw-ink); }
.kre-cinema-heading p { color: #526689; }
.cinema-screen { background: #132458; }
.cinema-start, .cinema-start *, .cinema-title, .cinema-title *, .cinema-screen [class*="text-white"] { color: #fff !important; }
.cinema-start b { background: #2452edcc; border-color: #ffffffa0; box-shadow: 0 10px 30px #13245840; }
.cinema-title small { color: var(--nw-yellow) !important; }
.cinema-title { background: linear-gradient(transparent,#132458e6); }
.cinema-controls { background: #fff; }
.cinema-controls button { color: var(--nw-blue); background: #f0f4ff; border-color: #bdcbea; font-weight: 700; }
.cinema-controls a { color: var(--nw-blue); font-weight: 700; }
.cinema-status { color: #627396; }
.cinema-progress { background: #dce4f5; }
.cinema-progress span { background: var(--nw-blue); }
.film-card video, .brand-film video { background: #132458; }
.brand-film p { color: var(--nw-muted); }
#presentacion-matias { box-shadow: 0 12px 34px #19337d06; }
.team-feature { background: #fff; box-shadow: 0 18px 50px #19337d08; border-color: var(--nw-line); }
.team-copy { background: #f0f4ff; }
.team-kicker, .team-links a { color: var(--nw-blue); }
.team-copy p { color: #526689; }
.team-names { border-color: var(--nw-line); }
.team-names strong { color: var(--nw-ink); }
.team-names span { color: var(--nw-muted); }

/* Formulaires et FAQ de l'original. */
input:not([type="range"]):not([type="checkbox"]):not([type="radio"]), textarea, select {
  color: var(--nw-ink);
  background-color: #fff;
  border-color: #bdcbea;
  accent-color: var(--nw-blue);
}
input::placeholder, textarea::placeholder { color: #7c8dac; opacity: 1; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--nw-blue); }
details:not(.nw-demo *) { border-color: var(--nw-line); }
#krea-help { color: var(--nw-ink); }
.kh-dock { right: 20px; bottom: 20px; }
.kh-launch { color: var(--nw-deep); background: var(--nw-yellow); border-color: #d9b320; box-shadow: 0 4px 0 #d9b320,0 10px 26px #19337d14; }
.kh-direct { color: var(--nw-blue); background: #fff; border-color: var(--nw-line); }
#kh-panel { color: var(--nw-ink); background: #fff; border-color: #bdcbea; box-shadow: 0 20px 70px #19337d25; }
#kh-panel header { background: #f0f4ff; border-color: var(--nw-line); }
#kh-panel header strong { color: var(--nw-deep); }
#kh-panel small { color: var(--nw-muted); }
.kh-close { color: var(--nw-ink); }
.kh-intro, .kh-list p, .kh-answer { color: #526689; }
.kh-form input { background: #fff; color: var(--nw-ink); border-color: #bdcbea; }
.kh-form button { background: var(--nw-blue); color: #fff; }
.kh-categories button { color: var(--nw-blue); background: #fff; border-color: #bdcbea; }
.kh-categories button[aria-pressed="true"] { color: var(--nw-deep); background: var(--nw-yellow); border-color: #d9b320; }
.kh-list details { border-color: var(--nw-line); }
.kh-list summary { color: var(--nw-ink); }
.kh-answer { background: var(--nw-pale); border-left-color: var(--nw-blue); }
.kh-note { color: var(--nw-muted); }
#kh-panel footer { background: #fff; border-color: var(--nw-line); }
#kh-panel footer a { color: var(--nw-deep); background: var(--nw-yellow); }
#kh-panel footer small { color: var(--nw-muted); }
body > footer { color: var(--nw-muted); border-color: var(--nw-line); background: #f6f8ff; }

/* Catálogo y calculadoras: mismos productos, nueva apariencia. */
body:has(.hero #bg) .hero { background: radial-gradient(ellipse at 90% 20%,#e5edff,transparent 65%),#fff; }
body:has(.hero #bg) #bg { opacity: .16; }
body:has(.hero #bg) .hero::after { background: linear-gradient(180deg,transparent 70%,#fff); }
.badge { color: var(--nw-blue); background: #fff; border-color: var(--nw-line); backdrop-filter: none; }
.dot { background: var(--nw-blue); box-shadow: none; }
.mint, .cyan, .violet { color: var(--nw-blue); }
.amber { color: #8a6000; }
.card, .step, .path, .vcard, .ncard, .addon { border-color: var(--nw-line); background: #f6f8ff; }
.card.feat { background: linear-gradient(155deg,#fff9d9,#fff 70%); border-color: #dfbd30; }
.step .beam { background: linear-gradient(90deg,var(--nw-blue) 75%,var(--nw-yellow)); }
.chip { color: #526689; border-color: #bdcbea; background: #fff; }
.chip.mint, .tag-firm { color: var(--nw-blue); background: #2452ed0d; border-color: #2452ed30; }
.chip.amber, .tag-prop { color: #796000; background: #fff8cf; border-color: #ddc464; }
.vcard { --accent: #2452ed !important; }
.vcard .stripe { background: var(--nw-blue); }
.vcard:hover { background: #fff; border-color: #9db4ee; }
.calc { background: #f0f4ff; border-color: #a7bcec; }
input[type="range"] { background: linear-gradient(90deg,var(--nw-blue),#9db4ee); }
input[type="range"]::-webkit-slider-thumb { background: var(--nw-yellow); border-color: var(--nw-blue); box-shadow: 0 0 0 4px #2452ed1a,0 5px 16px #19337d15; }
input[type="range"]::-moz-range-thumb { background: var(--nw-yellow); border-color: var(--nw-blue); }
.skool { background: #f0f4ff; border-color: #a7bcec; }
.legal { background: #f6f8ff; }

/* Agenda y documentos: misma familia y colores sin alterar texto. */
body:has(.booking) .hero { padding-top: 62px; }
body:has(.booking) .hero h1 em { color: var(--nw-blue); }
body:has(.booking) .booking { border: 1px solid #dce4f5; box-shadow: 0 20px 60px #19337d0c; }
body:has(.booking) .booking-head { background: #f0f4ff; }
body:has(.booking) .booking-head h2 { color: var(--nw-ink); }
body:has(.booking) .booking-head p { color: var(--nw-muted); }
body:has(.toc) > header { background: var(--nw-blue); color: #fff; }
body:has(.toc) > header h1, body:has(.toc) > header p, body:has(.toc) > header span { color: #fff !important; background: none; -webkit-text-fill-color: currentColor; }
body:has(.toc) a { color: var(--nw-blue); }
body:has(.toc) th { background: #f0f4ff; }
body:has(.toc) .box { background: #fffbea; border-left-color: var(--nw-yellow); }

@media (max-width: 1200px) {
  body > header nav.lg\:flex { gap: 10px; }
  body > header nav.lg\:flex .nav-link { font-size: 10px; }
  body > header nav.lg\:flex .nav-link[style*="linear-gradient"] { padding: 6px 10px !important; }
  #kre-drone-hero h1 { font-size: 76px; width: 60%; }
  .drone-copy p { width: 48%; }
  .nw-hero-team { width: 275px; right: 27px; }
}
@media (max-width: 1023px) {
  #kre-drone-hero { height: auto; min-height: 960px; }
  #kre-drone-hero .drone-background { top: 92px; width: 62%; height: calc(100% - 92px); }
  #kre-drone-hero::before { background: linear-gradient(90deg,#fff 0%,#fff 38%,#ffffffc0 48%,#ffffff30 63%,transparent 78%),linear-gradient(0deg,#fff 0%,#ffffff60 16%,transparent 40%); }
  #kre-drone-hero h1 { font-size: clamp(61px,8vw,79px); width: 72%; }
  .drone-copy { padding-top: 185px; padding-bottom: 230px; }
  .drone-copy p { width: 55%; font-size: 17px; }
  .nw-hero-team { width: 270px; bottom: 88px; }
}
@media (max-width: 768px) {
  html { scroll-padding-top: 119px; }
  body { padding-bottom: 76px; }
  body > header.fixed > div { padding-left: 16px; padding-right: 12px; gap: 10px; }
  body > header.fixed .font-display { font-size: 19px; }
  .kre-book-now { min-height: 39px; padding: 8px 11px; font-size: 10px; border-radius: 10px; }
  .lang-dd { min-height: 39px; padding: 6px 8px; gap: 5px; font-size: 10px; }
  .lang-dd .flag { width: 16px; height: 11px; }
  #mobile-toggle { padding: 7px; }
  .nw-preview-bar { top: 109px; left: 22px; font-size: 9px; padding: 6px 10px; max-width: calc(100% - 44px); }
  #kre-drone-hero { min-height: 1110px; height: auto; }
  #kre-drone-hero .drone-background { top: 575px; right: 0; width: 100%; height: 440px; object-position: 50% 45%; }
  #kre-drone-hero::before { background: linear-gradient(180deg,#fff 0%,#fff 50%,#ffffff15 58%,transparent 65%,#ffffff08 85%,#fff 96%); }
  .drone-copy { padding: 171px 22px 570px; }
  .drone-eyebrow, .nw-tag { font-size: 9px; letter-spacing: .055em; padding: 7px 10px; }
  #kre-drone-hero h1 { font-size: clamp(47px,9.5vw,68px); width: 100%; max-width: 560px; line-height: 1.06; margin: 20px 0; letter-spacing: -.055em; }
  .drone-copy p { width: 100%; max-width: 530px; font-size: 16px; line-height: 1.7; }
  .drone-links { gap: 10px; margin-top: 22px; }
  .drone-links a { padding: 13px 16px; font-size: 12px; }
  .nw-hero-team { width: 238px; right: 25px; bottom: 103px; border-width: 5px; border-radius: 20px; transform: rotate(3deg); }
  .nw-hero-team img { height: 155px; border-radius: 14px; }
  .nw-hero-team figcaption, .nw-hero-team .nw-team-caption { font-size: 11px; }
  .drone-foot { width: calc(100% - 44px); bottom: 26px; font-size: 9px; }
  .drone-pause, .nw-replay { font-size: 10px; padding: 9px 11px; }
  #top { padding-top: 60px; padding-bottom: 70px; }
  #top h1, #top h2 { font-size: clamp(37px,9vw,58px) !important; }
  .phone-stage { max-width: 100%; }
  .phone-orbit { inset: -25px; }
  .phone-orbit .orbit-item { font-size: 8px; padding: 4px 7px; }
  .phone-stage > .absolute { max-width: 145px; }
  .team-feature { border-radius: 20px; }
  .price-card { padding: 28px 22px; }
  .portfolio-card { border-radius: 20px; }
  #app-tabbar { background: #fffffffa; border-color: var(--nw-line); box-shadow: 0 -7px 24px #19337d08; padding: 8px 4px calc(8px + env(safe-area-inset-bottom)); }
  #app-tabbar a { color: var(--nw-ink); font-size: 10px; font-weight: 700; min-height: 38px; display: grid; place-items: center; border-radius: 10px; }
  #app-tabbar a:hover { color: var(--nw-blue); background: var(--nw-pale); }
  #app-tabbar a:last-child { background: var(--nw-yellow); color: var(--nw-deep); }
  .kh-dock { right: 12px; bottom: calc(74px + env(safe-area-inset-bottom)); }
  .kh-launch { padding: 9px 13px; font-size: 11px; }
  .kh-direct { padding: 6px 10px; font-size: 9px; }
  #kh-panel { right: 12px; bottom: calc(157px + env(safe-area-inset-bottom)); max-height: calc(100dvh - 176px - env(safe-area-inset-bottom)); }
  body:has(.toc) main { padding-left: 20px; padding-right: 20px; overflow-wrap: anywhere; }
  body:has(.toc) table { font-size: 12px; }
}
@media (max-width: 420px) {
  body > header.fixed .font-display { font-size: 17px; }
  body > header.fixed .flex.items-center.gap-2 { gap: 5px; }
  .kre-book-now { padding: 8px 9px; font-size: 9px; }
  .lang-dd { padding: 6px; }
  .nw-preview-bar { letter-spacing: 0; }
  #kre-drone-hero { min-height: 1090px; }
  #kre-drone-hero h1 { font-size: 48px; }
  #kre-drone-hero .drone-background { top: 600px; height: 380px; }
  .drone-copy { padding-bottom: 520px; }
  .drone-links a { padding: 13px 14px; font-size: 11px; }
  .nw-hero-team { width: 211px; right: 20px; bottom: 95px; }
  .nw-hero-team img { height: 135px; }
  .drone-foot { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .nw-hero-team { transform: none; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
