.elementor-3317 .elementor-element.elementor-element-67d5ee8{--display:flex;}/* Start custom CSS for html, class: .elementor-element-892a44e *//* ══════════════════════════════════════
   RESET & BASE
══════════════════════════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background: #060a12;
  color: #e8eef6;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 300;
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ══════════════════════════════════════
   VARIABLES
══════════════════════════════════════ */
:root {
  --blue:      #1a4db5;
  --blue-mid:  #2d6ae0;
  --blue-hi:   #5a9aff;
  --blue-pale: #9dc4ff;
  --platinum:  #cdd8ea;
  --muted:     rgba(160,190,224,0.48);
  --glass:     rgba(255,255,255,0.032);
  --gbdr:      rgba(90,154,255,0.14);
  --gsheen:    rgba(160,200,255,0.22);
  --serif:     'Cormorant Garamond', Georgia, serif;
  --sans:      'DM Sans', system-ui, sans-serif;
  --ease:      cubic-bezier(.22,1,.36,1);
  --max:       1100px;
}

/* ══════════════════════════════════════
   FONDO GLOBAL
══════════════════════════════════════ */
.page-bg {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
}
.page-bg::before {
  content: '';
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(90,154,255,0.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(90,154,255,0.032) 1px, transparent 1px);
  background-size: 80px 80px;
}
.page-bg::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url('https://kannuh.com/wp-content/uploads/2026/03/cropped-kannuhsemifc.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 600px auto;
  opacity: 0.03;
  filter: grayscale(1) brightness(3);
}

/* ══════════════════════════════════════
   LAYOUT
══════════════════════════════════════ */
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 44px; position:relative; z-index:1; }
section { position:relative; z-index:1; }

/* ══════════════════════════════════════
   TYPOGRAPHY
══════════════════════════════════════ */
.label {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 400; letter-spacing: 3px; text-transform: uppercase;
  color: var(--blue-pale); margin-bottom: 18px;
}
.label::before {
  content: ''; width: 20px; height: 1px;
  background: var(--blue-hi); display: inline-block;
}
.mp-banner {
  text-align: center;
  padding: 0 44px 60px;
  position: relative;
  z-index: 1;
}
.mp-banner img {
  height: 250px;
  width: auto;
  border-radius: 10px;
  opacity: 0.85;
  filter: brightness(1.1);
}
/* ══════════════════════════════════════
   BUTTONS
══════════════════════════════════════ */
.btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: #fff; color: #060a12;
  font-family: var(--sans); font-size: 13px; font-weight: 500; letter-spacing: 0.5px;
  padding: 14px 32px; border-radius: 100px; text-decoration: none; cursor: pointer; border: none;
  box-shadow: 0 0 40px rgba(255,255,255,0.12);
  transition: all .35s var(--ease);
  width: 100%;
}
.btn-primary:hover { background: var(--blue-pale); box-shadow: 0 0 60px rgba(157,196,255,0.35); transform: translateY(-2px); }

.btn-disabled {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--glass); color: var(--muted);
  font-family: var(--sans); font-size: 13px; font-weight: 400; letter-spacing: 0.5px;
  padding: 14px 32px; border-radius: 100px; text-decoration: none; cursor: not-allowed; border: 1px solid var(--gbdr);
  width: 100%;
}

/* ══════════════════════════════════════
   DIVIDER
══════════════════════════════════════ */
.divider {
  height: 1px; margin: 0 44px;
  background: linear-gradient(90deg, transparent, rgba(90,154,255,0.15), transparent);
}

/* ══════════════════════════════════════
   REVEAL
══════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(36px); transition: opacity .85s var(--ease), transform .85s var(--ease); }
.reveal.visible { opacity:1; transform:none; }
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s}
.d4{transition-delay:.4s} .d5{transition-delay:.5s} .d6{transition-delay:.6s}

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
.hero {
  padding: 120px 44px 90px;
  text-align: center;
  position: relative;
}
.hero-orb1 {
  position: absolute; border-radius: 50%; pointer-events: none;
  width: 800px; height: 400px;
  background: radial-gradient(ellipse, rgba(26,77,181,0.45) 0%, transparent 65%);
  top: -80px; left: 50%; transform: translateX(-50%);
  filter: blur(80px);
  animation: heroOrb 10s ease-in-out infinite alternate;
}
.hero-orb2 {
  position: absolute; border-radius: 50%; pointer-events: none;
  width: 400px; height: 300px;
  background: radial-gradient(ellipse, rgba(80,40,160,0.25) 0%, transparent 65%);
  top: 0; right: -80px;
  filter: blur(80px);
  animation: heroOrb 14s ease-in-out infinite alternate-reverse;
}
@keyframes heroOrb {
  from { opacity:.7; transform:translateX(-50%) scale(1); }
  to   { opacity:1;  transform:translateX(-50%) scale(1.1); }
}

.hero h1 {
  font-family: var(--serif);
  font-size: clamp(38px, 6vw, 72px);
  font-weight: 300; line-height: 1.05; letter-spacing: -1px;
  margin-bottom: 10px;
  animation: fadeup .9s var(--ease) both;
}
.hero h1 strong {
  font-weight: 600;
  background: linear-gradient(130deg, #fff 30%, var(--blue-pale) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-sub {
  font-size: 16px; color: var(--muted);
  max-width: 520px; margin: 0 auto;
  line-height: 1.8;
  animation: fadeup .9s var(--ease) .12s both;
}

/* ══════════════════════════════════════
   PLANES
══════════════════════════════════════ */
.planes {
  padding: 60px 44px 100px;
}
.planes-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 860px;
  margin: 0 auto;
}

.plan-card {
  background: var(--glass);
  border: 1px solid var(--gbdr);
  border-radius: 24px;
  padding: 44px 40px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(14px);
  transition: all .4s var(--ease);
}
.plan-card::before {
  content: '';
  position: absolute; top:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent, var(--gsheen), transparent);
}
.plan-card:hover {
  transform: translateY(-6px);
  border-color: rgba(90,154,255,0.3);
  box-shadow: 0 30px 70px rgba(26,77,181,0.2);
}

/* Plan destacado */
.plan-card.featured {
  border-color: rgba(90,154,255,0.4);
  background: linear-gradient(160deg, rgba(26,77,181,0.12) 0%, rgba(6,10,18,0.8) 100%);
}
.plan-card.featured::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(90,154,255,0.08) 0%, transparent 60%);
  pointer-events: none;
}

.plan-badge {
  display: inline-block;
  font-size: 10px; letter-spacing: 3px; text-transform: uppercase;
  color: var(--blue-hi);
  background: rgba(90,154,255,0.1);
  border: 1px solid rgba(90,154,255,0.25);
  border-radius: 100px;
  padding: 4px 14px;
  margin-bottom: 20px;
}

.plan-name {
  font-family: var(--serif);
  font-size: 28px; font-weight: 500;
  margin-bottom: 4px;
  position: relative; z-index: 1;
}

.plan-iva {
  font-size: 11px; color: var(--muted);
  margin-bottom: 20px;
  position: relative; z-index: 1;
}

.plan-price {
  display: flex; align-items: baseline; gap: 4px;
  margin-bottom: 6px;
  position: relative; z-index: 1;
}
.plan-price-num {
  font-family: var(--serif);
  font-size: 56px; font-weight: 300; line-height: 1;
  color: #fff;
}
.plan-price-currency {
  font-family: var(--serif);
  font-size: 22px; color: var(--muted);
  align-self: flex-start; margin-top: 10px;
}
.plan-price-period {
  font-size: 13px; color: var(--muted);
  margin-bottom: 28px;
  position: relative; z-index: 1;
}

.plan-coming {
  font-family: var(--serif);
  font-size: 42px; font-weight: 300; font-style: italic;
  color: var(--muted);
  margin: 20px 0 28px;
  position: relative; z-index: 1;
}

.plan-divider {
  height: 1px;
  background: var(--gbdr);
  margin-bottom: 28px;
  position: relative; z-index: 1;
}

.plan-features {
  list-style: none;
  display: flex; flex-direction: column; gap: 13px;
  margin-bottom: 36px;
  position: relative; z-index: 1;
}
.plan-features li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 14px; color: var(--platinum); line-height: 1.5;
}
.plan-features li .check {
  width: 18px; height: 18px; flex-shrink: 0;
  border-radius: 50%;
  background: rgba(90,154,255,0.1);
  border: 1px solid rgba(90,154,255,0.3);
  display: flex; align-items: center; justify-content: center;
  margin-top: 2px;
}
.plan-features li .check svg { width: 10px; height: 10px; }

.plan-features li.muted-feat { color: var(--muted); }
.plan-features li.muted-feat .check {
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.08);
}

/* Número decorativo */
.plan-deco {
  position: absolute; bottom: 20px; right: 28px;
  font-family: var(--serif);
  font-size: 100px; font-weight: 300; line-height: 1;
  color: rgba(90,154,255,0.04);
  user-select: none; pointer-events: none;
  z-index: 0;
}

/* ══════════════════════════════════════
   FEATURES GRID
══════════════════════════════════════ */
.features {
  padding: 0 44px 100px;
}
.features-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 60px;
}
.features-header h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 400; line-height: 1.1;
  margin-bottom: 12px;
}
.features-header h2 strong { font-weight: 600; }
.features-header p {
  font-size: 15px; color: var(--muted); line-height: 1.75;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  max-width: var(--max);
  margin: 0 auto;
}

.feat-item {
  background: var(--glass);
  border: 1px solid var(--gbdr);
  border-radius: 16px;
  padding: 28px 24px;
  backdrop-filter: blur(10px);
  position: relative; overflow: hidden;
  transition: all .4s var(--ease);
}
.feat-item::before {
  content: '';
  position: absolute; top:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent, var(--gsheen), transparent);
}
.feat-item:hover {
  transform: translateY(-4px);
  border-color: rgba(90,154,255,0.3);
  background: rgba(255,255,255,0.045);
}

.feat-icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: rgba(26,77,181,0.18);
  border: 1px solid rgba(90,154,255,0.25);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.feat-icon svg { width: 18px; height: 18px; }
.feat-title {
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--blue-pale); font-weight: 400;
  margin-bottom: 8px;
}
.feat-text { font-size: 13px; color: var(--muted); line-height: 1.7; }

/* ══════════════════════════════════════
   FINAL CTA
══════════════════════════════════════ */
.final-cta {
  padding: 0 44px 100px;
}
.final-cta-box {
  border-radius: 28px; padding: 90px 60px;
  text-align: center; position: relative; overflow: hidden;
  border: 1px solid var(--gbdr);
  background: linear-gradient(160deg, #0c1628 0%, #060a12 60%);
}
.final-cta-box::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 600px 400px at 50% 120%, rgba(26,77,181,0.5) 0%,transparent 65%),
    radial-gradient(ellipse 300px 200px at 90% 10%, rgba(80,40,160,0.25) 0%,transparent 65%);
  pointer-events:none;
}
.final-cta-box::after {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(160,200,255,0.4),transparent);
}
.final-cta-inner { position:relative; z-index:1; max-width:580px; margin:0 auto; }
.final-cta h2 {
  font-family: var(--serif);
  font-size: clamp(36px,5.5vw,64px); font-weight:300; line-height:1.05;
  margin-bottom: 16px;
}
.final-cta h2 strong { font-weight:600; display:block; }
.final-cta p {
  font-size:16px; color:var(--muted);
  max-width:440px; margin:0 auto 40px; line-height:1.8;
}
.final-cta .btn-primary { width: auto; padding: 16px 48px; }
.final-cta-note { font-size:12px; color:var(--muted); margin-top:20px; letter-spacing:1px; }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media(max-width:900px){
  .wrap,
  .hero,
  .planes,
  .features,
  .final-cta       { padding-left:20px; padding-right:20px; }
  .divider         { margin: 0 20px; }
  .planes-grid     { grid-template-columns: 1fr; max-width: 100%; }
  .features-grid   { grid-template-columns: 1fr 1fr; }
  .final-cta-box   { padding: 50px 24px; }
  .mp-banner       { padding: 0 20px 40px; }
  .mp-banner img   { height: 180px; }
}

@media(max-width:600px){
  .hero            { padding: 80px 20px 60px; }
  .planes          { padding: 40px 20px 70px; }
  .features        { padding: 0 20px 70px; }
  .final-cta       { padding: 0 20px 70px; }

  .hero h1         { letter-spacing: -0.5px; }
  .hero-sub        { font-size: 15px; }

  .planes-grid     { grid-template-columns: 1fr; gap: 16px; }
  .plan-card       { padding: 28px 22px; }
  .plan-name       { font-size: 24px; }
  .plan-price-num  { font-size: 44px; }
  .plan-coming     { font-size: 32px; }
  .plan-deco       { font-size: 70px; }

  .features-grid   { grid-template-columns: 1fr; }
  .feat-item[style*="span 2"] { grid-column: span 1 !important; }

  .final-cta-box   { padding: 44px 20px; border-radius: 18px; }
  .final-cta .btn-primary { width: 100%; padding: 14px 24px; }

  .mp-banner       { padding: 0 20px 32px; }
  .mp-banner img   { height: 120px; }
}/* End custom CSS */