/*
Theme Name: TEKTO
Theme URI: https://tekto.cl
Author: Carlos Rubilar
Description: Tema oficial TEKTO — Estructuración operativa para agroindustria.
Version: 4.0.0
License: GNU General Public License v2 or later
Text Domain: tekto
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&family=DM+Mono:wght@400;500&display=swap');

/* =============================================
   VARIABLES
============================================= */
:root {
  --bg:           #060d1a;
  --bg2:          #0a1628;
  --blue-1:       #4DA3F5;
  --blue-2:       #2478DC;
  --blue-3:       #1254A8;
  --glass:        rgba(255,255,255,0.04);
  --glass2:       rgba(255,255,255,0.07);
  --glass-border: rgba(255,255,255,0.09);
  --glass-blue:   rgba(77,163,245,0.1);
  --glass-blue2:  rgba(77,163,245,0.06);
  --text-1:       #f0ede8;
  --text-2:       rgba(240,237,232,0.58);
  --text-3:       rgba(240,237,232,0.28);
  --r-sm:         10px;
  --r-md:         16px;
  --r-lg:         24px;
  --r-xl:         32px;
  --font:         'DM Sans', sans-serif;
  --mono:         'DM Mono', monospace;
  --ease:         cubic-bezier(0.16,1,0.3,1);
}

/* =============================================
   BASE
============================================= */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text-1);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width:100%; height:auto; display:block; }
a { color:var(--blue-1); text-decoration:none; transition:.2s var(--ease); }
ul { list-style:none; }

.container {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 1;
}

/* Ruido de fondo sutil */
body::after {
  content:'';
  position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  pointer-events:none; z-index:0; opacity:.5;
}

/* =============================================
   NAVEGACIÓN FLOTANTE
============================================= */
.tekto-nav {
  position:fixed; top:14px; left:50%;
  transform:translateX(-50%);
  width:calc(100% - 40px); max-width:1080px;
  z-index:1000;
  background:rgba(6,13,26,0.72);
  backdrop-filter:blur(24px) saturate(160%);
  -webkit-backdrop-filter:blur(24px) saturate(160%);
  border:.5px solid rgba(255,255,255,0.1);
  border-radius:var(--r-lg);
  transition:all .4s var(--ease);
}

.tekto-nav.scrolled {
  background:rgba(6,13,26,0.92);
  box-shadow:0 8px 40px rgba(0,0,0,.5),0 0 0 .5px rgba(77,163,245,.12);
}

.nav-inner {
  display:flex; align-items:center;
  justify-content:space-between;
  padding:13px 22px;
}

.nav-logo img { height:30px; width:auto; }
.nav-logo .logo-fallback {
  font-size:17px; font-weight:600;
  letter-spacing:.08em; color:var(--text-1);
  background:linear-gradient(135deg,var(--blue-1),var(--text-1));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}

.nav-links {
  display:flex; align-items:center; gap:26px;
}
.nav-links a {
  font-size:13px; color:var(--text-2);
  font-weight:400; letter-spacing:.01em;
  transition:color .2s;
}
.nav-links a:hover { color:var(--text-1); }

.nav-cta {
  font-size:13px !important; font-weight:500 !important;
  color:#fff !important;
  background:linear-gradient(135deg,var(--blue-2),var(--blue-3)) !important;
  padding:8px 20px !important; border-radius:50px !important;
  box-shadow:0 0 20px rgba(36,120,220,.35) !important;
  transition:all .3s var(--ease) !important;
}
.nav-cta:hover {
  box-shadow:0 0 32px rgba(77,163,245,.5) !important;
  transform:translateY(-1px);
}

.nav-hamburger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:4px;
  background:none; border:none;
}
.nav-hamburger span {
  display:block; width:22px; height:1.5px;
  background:var(--text-1); transition:.2s; border-radius:2px;
}

/* =============================================
   BOTONES GLOBALES
============================================= */
.btn-primary {
  display:inline-flex; align-items:center; gap:8px;
  background:linear-gradient(135deg,var(--blue-2),var(--blue-3));
  color:#fff; font-size:14px; font-weight:500;
  padding:13px 28px; border-radius:50px; border:none;
  cursor:pointer; font-family:var(--font);
  box-shadow:0 4px 24px rgba(36,120,220,.4),inset 0 1px 0 rgba(255,255,255,.1);
  transition:all .3s var(--ease);
  letter-spacing:.01em; text-decoration:none;
}
.btn-primary:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 40px rgba(77,163,245,.5),inset 0 1px 0 rgba(255,255,255,.15);
  color:#fff;
  background:linear-gradient(135deg,var(--blue-1),var(--blue-2));
}

.btn-secondary {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--glass); color:var(--text-2);
  font-size:14px; font-weight:400;
  padding:13px 24px; border-radius:50px;
  border:.5px solid var(--glass-border);
  cursor:pointer; font-family:var(--font);
  backdrop-filter:blur(10px);
  transition:all .3s var(--ease); text-decoration:none;
}
.btn-secondary:hover {
  background:var(--glass2);
  border-color:rgba(77,163,245,.3);
  color:var(--text-1);
}

/* =============================================
   SECTION HELPERS
============================================= */
.tekto-section { padding:108px 0; position:relative; }
.tekto-section+.tekto-section { border-top:.5px solid var(--glass-border); }

.section-tag {
  font-size:11px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--blue-1); margin-bottom:14px;
  display:flex; align-items:center; gap:10px;
  font-family:var(--mono);
}
.section-tag::before {
  content:''; display:block;
  width:20px; height:1px;
  background:linear-gradient(90deg,var(--blue-1),transparent);
}

.section-title {
  font-size:clamp(28px,3.5vw,44px);
  font-weight:500; color:var(--text-1);
  line-height:1.2; letter-spacing:-.025em; margin-bottom:18px;
}

.section-lead {
  font-size:15px; color:var(--text-2);
  line-height:1.8; max-width:540px;
  margin-bottom:52px; font-weight:300;
}

/* =============================================
   HERO
============================================= */
.tekto-hero {
  min-height:100vh; display:flex;
  align-items:center; padding:160px 0 100px;
  position:relative; overflow:hidden;
}

.tekto-hero::before {
  content:''; position:absolute;
  top:-20%; right:-15%;
  width:800px; height:800px;
  background:radial-gradient(circle,rgba(36,120,220,.22) 0%,rgba(77,163,245,.07) 40%,transparent 70%);
  border-radius:50%; filter:blur(60px);
  pointer-events:none;
  animation:float1 9s ease-in-out infinite;
}
.tekto-hero::after {
  content:''; position:absolute;
  bottom:-10%; left:-10%;
  width:600px; height:600px;
  background:radial-gradient(circle,rgba(18,84,168,.16) 0%,transparent 70%);
  border-radius:50%; filter:blur(80px);
  pointer-events:none;
  animation:float2 11s ease-in-out infinite;
}

@keyframes float1 {
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(-30px,20px) scale(1.06)}
}
@keyframes float2 {
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(20px,-30px) scale(1.09)}
}

.hero-bg-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(77,163,245,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(77,163,245,.05) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%);
  pointer-events:none;
}
.hero-bg-glow { display:none; }

.hero-content { position:relative; z-index:1; max-width:700px; }

.hero-label {
  display:inline-flex; align-items:center; gap:8px;
  font-size:11px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--blue-1);
  background:var(--glass-blue);
  border:.5px solid rgba(77,163,245,.25);
  border-radius:50px; padding:6px 16px;
  margin-bottom:28px; backdrop-filter:blur(10px);
}
.hero-label::before { display:none; }

.hero-title {
  font-size:clamp(34px,4.5vw,58px);
  font-weight:500; line-height:1.15;
  color:var(--text-1); letter-spacing:-.03em; margin-bottom:24px;
}
.hero-title span {
  background:linear-gradient(135deg,var(--blue-1) 0%,#8AC8FF 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}

.hero-subtitle {
  font-size:16px; color:var(--text-2);
  line-height:1.8; max-width:520px;
  margin-bottom:40px; font-weight:300;
}

.hero-actions { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }

.hero-indicators {
  display:flex; gap:0;
  margin-top:68px; padding-top:36px;
  border-top:.5px solid var(--glass-border);
}
.hero-indicators>div {
  flex:1; padding:0 32px;
  border-right:.5px solid var(--glass-border);
}
.hero-indicators>div:first-child { padding-left:0; }
.hero-indicators>div:last-child  { border-right:none; }

.indicator-val {
  font-size:12px; font-weight:600;
  color:var(--blue-1); text-transform:uppercase;
  letter-spacing:.1em; margin-bottom:5px;
}
.indicator-label { font-size:12px; color:var(--text-3); }

/* =============================================
   NÚMEROS DE IMPACTO
============================================= */
.tekto-numbers {
  padding:72px 0;
  border-top:.5px solid var(--glass-border);
  position:relative; overflow:hidden;
}
.tekto-numbers::before {
  content:''; position:absolute;
  top:50%; left:50%; transform:translate(-50%,-50%);
  width:900px; height:300px;
  background:radial-gradient(ellipse,rgba(36,120,220,.07) 0%,transparent 70%);
  pointer-events:none;
}

.numbers-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; position:relative; z-index:1;
}
.number-item {
  padding:32px 40px;
  border-right:.5px solid var(--glass-border);
  text-align:center; transition:all .3s var(--ease);
}
.number-item:last-child { border-right:none; }
.number-item:hover { background:var(--glass); }

.number-val {
  font-size:38px; font-weight:600;
  background:linear-gradient(135deg,var(--blue-1),#8AC8FF);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text; line-height:1; margin-bottom:8px;
  font-family:var(--mono);
}
.number-label {
  font-size:12px; color:var(--text-2);
  line-height:1.5; font-weight:300;
}

/* =============================================
   PROBLEMA
============================================= */
.pain-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:12px; margin-bottom:40px;
}

.pain-card {
  background:var(--glass); backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:.5px solid var(--glass-border);
  border-radius:var(--r-md); padding:28px;
  transition:all .4s var(--ease);
  position:relative; overflow:hidden;
}
.pain-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(77,163,245,.04) 0%,transparent 60%);
  opacity:0; transition:opacity .4s;
}
.pain-card:hover {
  background:var(--glass2);
  border-color:rgba(77,163,245,.22);
  transform:translateY(-3px);
  box-shadow:0 12px 40px rgba(0,0,0,.3),0 0 0 .5px rgba(77,163,245,.08);
}
.pain-card:hover::before { opacity:1; }

.pain-icon {
  width:40px; height:40px; border-radius:10px;
  background:var(--glass-blue); border:.5px solid rgba(77,163,245,.2);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:16px; font-size:0; position:relative; z-index:1;
}
.pain-icon::after {
  content:''; display:block; width:20px; height:20px;
  background:var(--blue-1);
  mask-size:contain; -webkit-mask-size:contain;
  mask-repeat:no-repeat; -webkit-mask-repeat:no-repeat;
  mask-position:center; -webkit-mask-position:center;
}
.pain-card:nth-child(1) .pain-icon::after {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3C/svg%3E");
}
.pain-card:nth-child(2) .pain-icon::after {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}
.pain-card:nth-child(3) .pain-icon::after {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
}
.pain-card:nth-child(4) .pain-icon::after {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E");
}
.pain-card p { font-size:14px; color:var(--text-2); line-height:1.65; position:relative; z-index:1; }

.section-close {
  font-size:16px; font-weight:500; color:var(--text-1);
  padding:20px 24px;
  background:var(--glass-blue2);
  border:.5px solid rgba(77,163,245,.18);
  border-left:3px solid var(--blue-2);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  backdrop-filter:blur(10px); line-height:1.5;
}

/* =============================================
   MÉTODO
============================================= */
.steps-list { display:flex; flex-direction:column; position:relative; }
.steps-list::before {
  content:''; position:absolute;
  left:17px; top:44px; bottom:44px; width:1px;
  background:linear-gradient(180deg,var(--blue-2),rgba(18,84,168,.1));
}

.step-row {
  display:flex; gap:24px; align-items:flex-start;
  padding:28px 0; border-bottom:.5px solid var(--glass-border);
  transition:all .3s var(--ease);
}
.step-row:last-child { border-bottom:none; }
.step-row:hover .step-num {
  background:var(--blue-2); border-color:var(--blue-2);
  box-shadow:0 0 20px rgba(36,120,220,.5);
}

.step-num {
  width:36px; height:36px; border-radius:50%;
  border:.5px solid rgba(77,163,245,.3);
  background:var(--glass-blue); backdrop-filter:blur(10px);
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:500; color:var(--blue-1);
  flex-shrink:0; margin-top:2px;
  transition:all .3s var(--ease);
  font-family:var(--mono);
}
.step-body h3 { font-size:16px; font-weight:500; color:var(--text-1); margin-bottom:7px; }
.step-body p  { font-size:14px; color:var(--text-2); line-height:1.7; font-weight:300; }

/* =============================================
   SERVICIOS
============================================= */
.services-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px;
}

.service-card {
  background:var(--glass); backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:.5px solid var(--glass-border);
  border-radius:var(--r-lg); padding:32px;
  transition:all .4s var(--ease);
  position:relative; overflow:hidden;
}
.service-card[data-num]::after {
  content:attr(data-num); position:absolute;
  bottom:-14px; right:18px;
  font-size:90px; font-weight:700;
  color:rgba(77,163,245,.045); line-height:1;
  pointer-events:none; font-family:var(--mono);
  transition:color .4s;
}
.service-card::before {
  content:''; position:absolute;
  top:-1px; left:-1px; right:-1px; height:1px;
  background:linear-gradient(90deg,transparent,rgba(77,163,245,.4),transparent);
  opacity:0; transition:opacity .4s;
}
.service-card:hover {
  background:var(--glass2);
  border-color:rgba(77,163,245,.2);
  transform:translateY(-4px);
  box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 0 .5px rgba(77,163,245,.08);
}
.service-card:hover::before { opacity:1; }
.service-card:hover[data-num]::after { color:rgba(77,163,245,.07); }

.service-icon {
  width:44px; height:44px; border-radius:12px;
  background:var(--glass-blue); border:.5px solid rgba(77,163,245,.2);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px; position:relative; font-size:0;
  transition:all .3s var(--ease);
}
.service-card:hover .service-icon {
  background:rgba(77,163,245,.18);
  box-shadow:0 0 20px rgba(77,163,245,.2);
}
.service-icon::after {
  content:''; display:block; width:22px; height:22px;
  background:var(--blue-1);
  mask-size:contain; -webkit-mask-size:contain;
  mask-repeat:no-repeat; -webkit-mask-repeat:no-repeat;
  mask-position:center; -webkit-mask-position:center;
}
.service-card:nth-child(1) .service-icon::after {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
}
.service-card:nth-child(2) .service-icon::after {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='17 1 21 5 17 9'/%3E%3Cpath d='M3 11V9a4 4 0 014-4h14'/%3E%3Cpolyline points='7 23 3 19 7 15'/%3E%3Cpath d='M21 13v2a4 4 0 01-4 4H3'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='17 1 21 5 17 9'/%3E%3Cpath d='M3 11V9a4 4 0 014-4h14'/%3E%3Cpolyline points='7 23 3 19 7 15'/%3E%3Cpath d='M21 13v2a4 4 0 01-4 4H3'/%3E%3C/svg%3E");
}
.service-card:nth-child(3) .service-icon::after {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='20' x2='18' y2='10'/%3E%3Cline x1='12' y1='20' x2='12' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='14'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='20' x2='18' y2='10'/%3E%3Cline x1='12' y1='20' x2='12' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='14'/%3E%3C/svg%3E");
}
.service-card:nth-child(4) .service-icon::after {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2' ry='2'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2' ry='2'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E");
}
.service-card h3 { font-size:16px; font-weight:500; color:var(--text-1); margin-bottom:10px; }
.service-card p  { font-size:13px; color:var(--text-2); line-height:1.7; font-weight:300; }

/* =============================================
   PARA QUIÉN
============================================= */
.profiles-list { display:flex; flex-direction:column; gap:10px; }

.profile-card {
  display:flex; align-items:flex-start; gap:20px;
  padding:24px 28px;
  background:var(--glass); backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:.5px solid var(--glass-border);
  border-radius:var(--r-md);
  transition:all .3s var(--ease);
}
.profile-card:hover {
  background:var(--glass2);
  border-color:rgba(77,163,245,.2);
  transform:translateX(4px);
  box-shadow:-4px 0 20px rgba(77,163,245,.06);
}
.profile-dot {
  width:10px; height:10px; border-radius:50%;
  background:var(--blue-2); flex-shrink:0; margin-top:5px;
  box-shadow:0 0 12px rgba(36,120,220,.6);
}
.profile-role { font-size:15px; font-weight:500; color:var(--text-1); margin-bottom:5px; }
.profile-desc { font-size:13px; color:var(--text-2); line-height:1.65; font-weight:300; }

/* =============================================
   QUIÉNES SOMOS
============================================= */
.founder-card {
  display:flex; gap:40px; align-items:flex-start;
  background:var(--glass); backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:.5px solid var(--glass-border);
  border-radius:var(--r-xl); padding:40px;
  position:relative; overflow:hidden; margin-bottom:48px;
}
.founder-card::before {
  content:''; position:absolute;
  top:-1px; left:-1px; right:-1px; height:1px;
  background:linear-gradient(90deg,transparent,rgba(77,163,245,.5),transparent);
}
.founder-card::after {
  content:''; position:absolute;
  bottom:-60px; right:-60px;
  width:200px; height:200px;
  background:radial-gradient(circle,rgba(36,120,220,.08) 0%,transparent 70%);
  pointer-events:none;
}

.founder-avatar {
  width:80px; height:80px; border-radius:50%;
  background:linear-gradient(135deg,var(--blue-2),var(--blue-3));
  display:flex; align-items:center; justify-content:center;
  font-size:22px; font-weight:600; color:#fff; flex-shrink:0;
  box-shadow:0 0 32px rgba(36,120,220,.4);
  font-family:var(--mono); letter-spacing:.05em;
}
.founder-info { flex:1; }
.founder-name { font-size:22px; font-weight:500; color:var(--text-1); margin-bottom:4px; letter-spacing:-.01em; }
.founder-role-label {
  font-size:11px; color:var(--blue-1);
  font-family:var(--mono); letter-spacing:.07em;
  text-transform:uppercase; margin-bottom:16px;
}
.founder-bio {
  font-size:14px; color:var(--text-2); line-height:1.75;
  font-weight:300; margin-bottom:20px; max-width:580px;
}
.founder-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.ftag {
  font-size:11px; padding:4px 12px; border-radius:50px;
  background:var(--glass-blue); border:.5px solid rgba(77,163,245,.2);
  color:var(--blue-1); font-family:var(--mono);
}

.founder-credential {
  display:flex; align-items:center; gap:14px;
  padding:14px 18px;
  background:rgba(255,255,255,.03);
  border:.5px solid var(--glass-border);
  border-radius:var(--r-sm); width:fit-content;
}
.credential-logo {
  width:36px; height:36px; border-radius:8px;
  background:linear-gradient(135deg,#1a5c2a,#2d8a42);
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700; color:#fff;
  font-family:var(--mono); flex-shrink:0;
}
.credential-name { font-size:13px; font-weight:500; color:var(--text-1); margin-bottom:2px; }
.credential-desc { font-size:11px; color:var(--text-3); }

.mvv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.mvv-card {
  background:var(--glass); backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:.5px solid var(--glass-border);
  border-radius:var(--r-md); padding:28px;
  transition:all .3s var(--ease);
}
.mvv-card:hover {
  background:var(--glass2); border-color:rgba(77,163,245,.2);
  transform:translateY(-3px);
  box-shadow:0 16px 48px rgba(0,0,0,.3);
}
.mvv-label {
  font-size:11px; font-weight:600; color:var(--blue-1);
  text-transform:uppercase; letter-spacing:.1em;
  margin-bottom:12px; font-family:var(--mono);
}
.mvv-card p { font-size:13px; color:var(--text-2); line-height:1.75; font-weight:300; }

/* =============================================
   FAQ
============================================= */
.faq-list { display:flex; flex-direction:column; gap:0; }

.faq-item {
  border-bottom:.5px solid var(--glass-border);
  overflow:hidden;
}
.faq-item:first-child { border-top:.5px solid var(--glass-border); }

.faq-question {
  width:100%; display:flex; align-items:center;
  justify-content:space-between; gap:16px;
  padding:22px 0; background:none; border:none;
  cursor:pointer; font-family:var(--font);
  text-align:left; transition:all .2s;
}
.faq-question:hover .faq-q-text { color:var(--text-1); }

.faq-q-text { font-size:15px; font-weight:500; color:var(--text-2); transition:color .2s; }
.faq-icon {
  width:24px; height:24px; border-radius:50%;
  border:.5px solid var(--glass-border);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; font-size:16px; color:var(--blue-1);
  transition:all .3s var(--ease);
}
.faq-item.open .faq-icon { transform:rotate(45deg); background:var(--glass-blue); border-color:rgba(77,163,245,.3); }
.faq-item.open .faq-q-text { color:var(--text-1); }

.faq-answer {
  max-height:0; overflow:hidden;
  transition:max-height .4s var(--ease);
}
.faq-item.open .faq-answer { max-height:300px; }
.faq-answer-inner {
  padding:0 0 22px;
  font-size:14px; color:var(--text-2);
  line-height:1.75; font-weight:300;
  max-width:680px;
}

/* =============================================
   AGENDAMIENTO LATEPOINT
============================================= */
.tekto-booking {
  padding:108px 0;
  border-top:.5px solid var(--glass-border);
  position:relative; overflow:hidden;
}
.tekto-booking::before {
  content:''; position:absolute;
  top:50%; left:50%; transform:translate(-50%,-50%);
  width:900px; height:500px;
  background:radial-gradient(ellipse,rgba(36,120,220,.07) 0%,transparent 70%);
  pointer-events:none;
}

.booking-inner {
  display:grid; grid-template-columns:1fr 1.1fr;
  gap:72px; align-items:start; position:relative; z-index:1;
}

.booking-info .section-lead { margin-bottom:32px; }
.booking-benefits { display:flex; flex-direction:column; gap:14px; }
.benefit-row {
  display:flex; align-items:center; gap:12px;
  font-size:14px; color:var(--text-2); font-weight:300;
}
.benefit-row::before {
  content:''; width:20px; height:20px; border-radius:50%;
  background:var(--glass-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234DA3F5' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat;
  border:.5px solid rgba(77,163,245,.3); flex-shrink:0;
}

.booking-widget {
  background:var(--glass); backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border:.5px solid var(--glass-border);
  border-radius:var(--r-xl); padding:36px;
  box-shadow:0 24px 80px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);
}
.booking-widget-title {
  font-size:11px; font-weight:500; color:var(--text-2);
  margin-bottom:24px; padding-bottom:18px;
  border-bottom:.5px solid var(--glass-border);
  letter-spacing:.07em; text-transform:uppercase;
  font-family:var(--mono);
}

/* =============================================
   CONTACTO
============================================= */
.tekto-contact {
  padding:108px 0;
  border-top:.5px solid var(--glass-border);
  position:relative;
}
.tekto-contact::before {
  content:''; position:absolute;
  bottom:0; right:0;
  width:600px; height:600px;
  background:radial-gradient(circle,rgba(18,84,168,.1) 0%,transparent 70%);
  pointer-events:none;
}

.contact-inner {
  display:grid; grid-template-columns:1fr 1.3fr;
  gap:72px; align-items:start; position:relative; z-index:1;
}

.contact-form {
  background:var(--glass); backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border:.5px solid var(--glass-border);
  border-radius:var(--r-xl); padding:36px;
  box-shadow:0 24px 80px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);
}

.form-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; }
.form-group { display:flex; flex-direction:column; gap:7px; }
.form-group.full { grid-column:1/-1; }
.form-group label {
  font-size:11px; color:var(--text-3);
  letter-spacing:.07em; text-transform:uppercase;
  font-family:var(--mono);
}
.form-group input,
.form-group textarea {
  background:rgba(255,255,255,.04); border:.5px solid var(--glass-border);
  border-radius:var(--r-sm); padding:12px 16px;
  font-size:14px; color:var(--text-1);
  font-family:var(--font); font-weight:300;
  outline:none; width:100%;
  transition:all .3s var(--ease);
  backdrop-filter:blur(10px);
}
.form-group input:focus,
.form-group textarea:focus {
  border-color:rgba(77,163,245,.4);
  background:rgba(77,163,245,.05);
  box-shadow:0 0 0 3px rgba(77,163,245,.08);
}
.form-group input::placeholder,
.form-group textarea::placeholder { color:var(--text-3); }
.form-group textarea { resize:vertical; min-height:100px; }
.form-submit { margin-top:20px; }
.form-submit .btn-primary { width:100%; justify-content:center; }
#form-message { font-size:13px; }
.form-success { display:none; text-align:center; padding:32px; }
.form-success .success-icon { font-size:36px; margin-bottom:14px; }

/* =============================================
   FOOTER
============================================= */
.tekto-footer { padding:36px 0; position:relative; }
.tekto-footer::before {
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:60%; height:.5px;
  background:linear-gradient(90deg,transparent,rgba(77,163,245,.4),transparent);
}
.footer-inner {
  display:flex; align-items:center;
  justify-content:space-between; flex-wrap:wrap; gap:16px;
}
.footer-logo {
  font-size:14px; font-weight:600; letter-spacing:.1em;
  background:linear-gradient(135deg,var(--blue-1),var(--text-3));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
.footer-copy { font-size:12px; color:var(--text-3); }
.footer-links { display:flex; gap:20px; }
.footer-links a { font-size:12px; color:var(--text-3); transition:color .2s; }
.footer-links a:hover { color:var(--text-2); }

/* =============================================
   ANIMACIONES
============================================= */
.fade-up {
  opacity:0; transform:translateY(28px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
}
.fade-up.visible { opacity:1; transform:translateY(0); }
.fade-up:nth-child(2){transition-delay:.08s}
.fade-up:nth-child(3){transition-delay:.16s}
.fade-up:nth-child(4){transition-delay:.24s}

/* =============================================
   RESPONSIVE
============================================= */
@media(max-width:768px){
  .tekto-nav{top:10px;width:calc(100% - 24px);border-radius:var(--r-md)}
  .nav-inner{padding:12px 18px}
  .nav-links{display:none}
  .nav-links.open{
    display:flex;flex-direction:column;
    position:absolute;top:calc(100% + 8px);left:0;right:0;
    background:rgba(6,13,26,.96);backdrop-filter:blur(20px);
    border:.5px solid var(--glass-border);border-radius:var(--r-md);
    padding:20px;gap:16px;
  }
  .nav-hamburger{display:flex}
  .container{padding:0 20px}
  .tekto-hero{padding:120px 0 80px}
  .hero-indicators{flex-direction:column;gap:20px}
  .hero-indicators>div{padding:0;border-right:none;border-bottom:.5px solid var(--glass-border);padding-bottom:16px}
  .hero-indicators>div:last-child{border-bottom:none}
  .numbers-grid{grid-template-columns:repeat(2,1fr)}
  .number-item{border-bottom:.5px solid var(--glass-border)}
  .number-item:nth-child(2n){border-right:none}
  .pain-grid{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .mvv-grid{grid-template-columns:1fr}
  .founder-card{flex-direction:column;gap:24px;padding:28px 24px}
  .booking-inner{grid-template-columns:1fr;gap:40px}
  .contact-inner{grid-template-columns:1fr;gap:40px}
  .form-row{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;text-align:center}
  .tekto-section{padding:72px 0}
  .hero-actions{flex-direction:column;align-items:stretch}
  .btn-primary,.btn-secondary{justify-content:center}
}
