  :root{
    --bg: #09090F;
    --bg-soft: #0F0F17;
    --bg-card: #14141F;
    --bg-card-2: #17171F;
    --primary: #E8A020;
    --primary-dim: #B87F19;
    --primary-glow: rgba(232,160,32,0.5);
    --accent: #C04810;
    --accent-glow: rgba(192,72,16,0.45);
    --neutral: #353542;
    --light: #F4EFE6;
    --line: rgba(244,239,230,0.09);
    --line-strong: rgba(244,239,230,0.16);
    --font-display: 'Syne', sans-serif;
    --font-body: 'DM Sans', sans-serif;
    --container: 1160px;
    --radius-lg: 22px;
    --radius-md: 14px;
    --radius-sm: 9px;
    --ease: cubic-bezier(.16,1,.3,1);
    --shadow-glow: 0 0 0 1px rgba(244,239,230,0.06), 0 20px 60px -20px rgba(0,0,0,0.6);
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{scroll-behavior:smooth;}

  body{
    background:var(--bg);
    color:var(--light);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  /* Fondo: malla de gradientes de marca + grano sutil, sustituye la trama de puntos plana */
  body::before{
    content:'';
    position:fixed;inset:0;
    background:
      radial-gradient(48% 38% at 14% 8%, rgba(232,160,32,0.16), transparent 68%),
      radial-gradient(42% 34% at 88% 14%, rgba(192,72,16,0.14), transparent 65%),
      radial-gradient(55% 45% at 50% 100%, rgba(232,160,32,0.07), transparent 70%);
    pointer-events:none;
    z-index:-2;
  }

  body::after{
    content:'';
    position:fixed;inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
    opacity:0.5;
    pointer-events:none;
    z-index:-1;
  }

  .reveal{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .8s var(--ease), transform .8s var(--ease);
  }
  .reveal.in-view{opacity:1;transform:translateY(0);}

  img,svg{display:block;max-width:100%;}

  a{color:inherit;text-decoration:none;}

  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

  :focus-visible{outline:2px solid var(--primary);outline-offset:3px;}

  .wrap{max-width:var(--container);margin:0 auto;padding:0 32px;}

  .skip-link{
    position:fixed;left:16px;top:-60px;
    background:var(--light);color:var(--bg);
    padding:12px 18px;border-radius:6px;
    font-weight:700;font-size:14px;
    z-index:1000;
    transition:top .2s ease;
  }
  .skip-link:focus{top:16px;}

  .eyebrow{
    font-size:12.5px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--primary);
    font-weight:700;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 14px 6px 10px;
    border-radius:999px;
    background:linear-gradient(180deg, rgba(232,160,32,0.14), rgba(232,160,32,0.05));
    border:1px solid rgba(232,160,32,0.28);
  }
  .eyebrow::before{
    content:'';
    width:6px;height:6px;
    border-radius:50%;
    background:var(--primary);
    box-shadow:0 0 8px 1px var(--primary-glow);
    display:inline-block;
  }

  .entity-intro{
    font-size:15px;
    color:rgba(244,239,230,0.6);
    max-width:460px;
    margin:14px 0 2px;
  }

  h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-0.025em;line-height:1.25;}

  section{position:relative;padding:120px 0;}
  @media (max-width:760px){ section{padding:72px 0;} }
  @media (max-width:480px){ section{padding:56px 0;} }

  /* ---------- NAV ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(9,9,15,0.6);
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    border-bottom:1px solid var(--line);
  }
  header::after{
    content:'';
    position:absolute;left:0;right:0;bottom:-1px;height:1px;
    background:linear-gradient(90deg, transparent, rgba(232,160,32,0.5), transparent);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 32px;max-width:var(--container);margin:0 auto;
  }
  .logo{
    display:flex;align-items:center;gap:9px;
    font-family:var(--font-display);
    font-weight:700;
    font-size:19px;
    letter-spacing:-0.01em;
    color:var(--primary);
  }
  .logo-mark{height:30px;width:auto;flex-shrink:0;display:block;}
  .nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;row-gap:8px;gap:24px;font-size:14px;font-weight:500;}
  .nav-links a{opacity:0.75;transition:opacity .2s, color .2s;position:relative;}
  .nav-links a:hover{opacity:1;color:var(--primary);}
  .nav-cta{
    padding:10px 22px;
    background:linear-gradient(180deg, #ffd98a 0%, var(--primary) 45%, #b9791a 100%);
    color:#2b1a00;
    font-weight:700;
    font-size:14px;
    border-radius:999px;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.5),
      inset 0 -2px 4px rgba(0,0,0,0.25),
      0 5px 12px rgba(232,160,32,0.35);
    transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
  }
  .nav-cta:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.55),
      inset 0 -2px 4px rgba(0,0,0,0.25),
      0 8px 18px rgba(232,160,32,0.45);}
  .nav-mobile-hide{display:flex;}
  @media (max-width:820px){ .nav-mobile-hide{display:none;} }

  .nav-toggle{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:36px;height:36px;
    border-radius:4px;
  }
  .nav-toggle span{
    display:block;width:20px;height:2px;
    background:var(--light);
    margin:0 auto;
    transition:transform .25s ease, opacity .25s ease;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  @media (max-width:820px){ .nav-toggle{display:flex;} }

  .mobile-menu{
    display:flex;flex-direction:column;
    gap:2px;
    max-height:0;
    overflow:hidden;
    background:var(--bg-soft);
    border-top:1px solid transparent;
    transition:max-height .3s ease;
  }
  .mobile-menu.open{max-height:460px;overflow-y:auto;border-top-color:var(--line);}
  .mobile-menu a{
    padding:16px 32px;
    font-size:15px;
    font-weight:600;
    color:var(--light);
    border-bottom:1px solid var(--line);
  }
  .mobile-menu a.nav-cta{
    margin:14px 32px;
    text-align:center;
    border-bottom:none;
    color:var(--bg);
  }
  @media (min-width:821px){ .mobile-menu{display:none;} }

  /* ---------- HERO ---------- */
  .hero{
    padding-top:200px;
    padding-bottom:120px;
    position:relative;
    min-height:92vh;
    display:flex;
    align-items:center;
    overflow:hidden;
  }
  .hero::after{
    content:'';
    position:absolute;
    left:-70px;bottom:-90px;
    width:300px;height:220px;
    background:linear-gradient(45deg, rgba(192,72,16,0.14), rgba(232,160,32,0.08));
    clip-path:polygon(0 0, 100% 100%, 0 100%);
    pointer-events:none;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:0.95fr 1.05fr;
    gap:56px;
    align-items:center;
  }
  @media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} .hero{padding-top:130px;min-height:auto;} }
  @media (max-width:480px){ .hero{padding-top:110px;padding-bottom:64px;} }

  .hero h1{
    font-size:clamp(32px,4.6vw,52px);
    line-height:1.08;
    letter-spacing:-0.03em;
    max-width:560px;
    margin:18px 0 22px;
    color:var(--light);
  }
  .hero h1 em{
    font-style:normal;
    background:linear-gradient(100deg, var(--primary) 20%, #ffcf7a 50%, var(--accent) 90%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .hero p.lead{
    font-size:17.5px;
    color:rgba(244,239,230,0.72);
    max-width:480px;
    margin-bottom:32px;
  }
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
  .hero-subcta{margin-top:18px;font-size:14px;color:rgba(244,239,230,0.55);}
  .hero-subcta a{color:rgba(244,239,230,0.75);font-weight:600;border-bottom:1px solid var(--line);padding-bottom:1px;transition:color .2s, border-color .2s;}
  .hero-subcta a:hover{color:var(--primary);border-color:rgba(232,160,32,0.4);}

  .hero-proof{
    display:flex;flex-wrap:wrap;gap:10px;
    margin-top:28px;
  }
  .hero-proof-chip{
    display:inline-flex;align-items:center;gap:7px;
    padding:8px 14px;
    font-size:12.5px;font-weight:600;
    color:rgba(244,239,230,0.75);
    background:rgba(244,239,230,0.04);
    border:1px solid var(--line);
    border-radius:999px;
    backdrop-filter:blur(6px);
  }
  .hero-proof-chip strong{color:var(--light);font-weight:700;}
  .hero-proof-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px 1px rgba(74,222,128,0.6);flex-shrink:0;}

  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:15px 26px;
    border-radius:8px;
    font-weight:700;
    font-size:15px;
    border:none;
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
  }
  .btn-primary{
    background:linear-gradient(180deg, #ffd98a 0%, var(--primary) 45%, #b9791a 100%);
    color:#2b1a00;
    text-shadow:0 1px 0 rgba(255,255,255,0.25);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.55),
      inset 0 -3px 5px rgba(0,0,0,0.28),
      0 8px 18px rgba(232,160,32,0.38),
      0 3px 6px rgba(0,0,0,0.35);
  }
  .btn-primary:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.6),
      inset 0 -3px 5px rgba(0,0,0,0.28),
      0 14px 28px rgba(232,160,32,0.48),
      0 4px 10px rgba(0,0,0,0.4);}
  .btn-primary:active{transform:translateY(0);box-shadow:inset 0 2px 6px rgba(0,0,0,0.35), 0 3px 8px rgba(232,160,32,0.3);}

  .btn-ghost{
    color:var(--light);
    background:linear-gradient(180deg, rgba(244,239,230,0.09), rgba(244,239,230,0.02));
    border:1px solid rgba(244,239,230,0.22);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.08),
      0 6px 16px rgba(0,0,0,0.35);
    backdrop-filter:blur(8px);
  }
  .btn-ghost:hover{
    transform:translateY(-2px);
    border-color:rgba(232,160,32,0.5);
    color:var(--primary);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.1),
      0 10px 22px rgba(0,0,0,0.4), 0 0 0 1px rgba(232,160,32,0.15);
  }
  .btn-ghost:active{transform:translateY(0);}

  /* orchestrator visual — ahora es la pieza central y a color del hero, con efecto cristal/neón */
  .hero-visual{position:relative;}
  .hero-panel{
    position:relative;
    aspect-ratio:4/5;
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid var(--line-strong);
    background:
      radial-gradient(560px 420px at 18% 12%, rgba(232,160,32,0.22), transparent 60%),
      radial-gradient(480px 420px at 88% 90%, rgba(192,72,16,0.28), transparent 60%),
      repeating-linear-gradient(0deg, rgba(244,239,230,0.035) 0 1px, transparent 1px 34px),
      repeating-linear-gradient(90deg, rgba(244,239,230,0.035) 0 1px, transparent 1px 34px),
      var(--bg-card);
    display:flex;align-items:center;justify-content:center;
    padding:36px;
    box-shadow:var(--shadow-glow), 0 0 120px -30px var(--primary-glow);
  }
  .hero-panel svg{width:100%;height:100%;max-width:400px;position:relative;z-index:1;}
  .hero-panel.hero-panel-img{padding:22px;}
  .hero-orb-img{
    width:100%;height:auto;max-width:460px;
    display:block;
    position:relative;z-index:1;
    filter:drop-shadow(0 25px 45px rgba(0,0,0,0.45));
  }
  @media (max-width:900px){ .hero-panel{max-width:340px;aspect-ratio:1/1;margin:0 auto;} }

  .glass-sphere{
    position:absolute;
    top:50%;left:50%;
    width:78%;aspect-ratio:1/1;
    border-radius:50%;
    transform:translate(-50%,-50%) scale(1);
    background:
      radial-gradient(circle at 32% 26%, rgba(255,255,255,0.16), transparent 45%),
      radial-gradient(circle at 65% 75%, rgba(192,72,16,0.16), transparent 55%),
      radial-gradient(circle at 50% 50%, rgba(232,160,32,0.08), transparent 70%);
    border:1px solid rgba(244,239,230,0.14);
    box-shadow:
      inset 0 0 60px rgba(232,160,32,0.12),
      inset 0 20px 40px rgba(255,255,255,0.05),
      0 0 90px rgba(232,160,32,0.14);
    backdrop-filter:blur(1px);
    animation:sphereBreathe 6s ease-in-out infinite;
  }
  @keyframes sphereBreathe{
    0%,100%{transform:translate(-50%,-50%) scale(1);opacity:0.9;}
    50%{transform:translate(-50%,-50%) scale(1.02);opacity:1;}
  }

  .float-card{
    position:absolute;
    display:flex;align-items:center;gap:9px;
    background:rgba(9,9,15,0.55);
    backdrop-filter:blur(10px);
    border:1px solid rgba(244,239,230,0.18);
    border-radius:10px;
    padding:11px 16px;
    font-size:12.5px;
    font-weight:700;
    color:var(--light);
    box-shadow:0 16px 30px rgba(0,0,0,0.4);
    animation:floaty 5s ease-in-out infinite;
    z-index:2;
  }
  .float-card .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 8px 2px currentColor;}
  .float-card.top{top:9%;right:7%;}
  .float-card.bottom{bottom:10%;left:7%;animation-delay:1.6s;}
  @keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
  @media (max-width:520px){ .float-card{font-size:11px;padding:9px 12px;} }

  .orb-line{
    stroke:rgba(244,239,230,0.18);
    stroke-width:1.4;
    fill:none;
  }
  .orb-flow{
    stroke-width:2.2;
    fill:none;
    stroke-linecap:round;
    stroke-dasharray:6 10;
    animation:flow 3.4s linear infinite;
    opacity:0.95;
  }
  .orb-flow-amber{stroke:var(--primary);}
  .orb-flow-ember{stroke:var(--accent);animation-duration:4.1s;}
  @keyframes flow{ to{ stroke-dashoffset:-160; } }
  .orb-core-bg{fill:var(--primary);opacity:0.55;}
  .orb-core-label{
    font-family:var(--font-display);
    font-weight:700;
    font-size:15px;
    fill:var(--bg);
    letter-spacing:0.02em;
  }
  .orb-node-bg{fill:var(--bg-soft);stroke-width:1.8;}
  .orb-node-amber .orb-node-bg{stroke:var(--primary);fill:rgba(232,160,32,0.14);}
  .orb-node-ember .orb-node-bg{stroke:var(--accent);fill:rgba(192,72,16,0.16);}
  .orb-node-label{
    font-family:var(--font-body);
    font-weight:600;
    font-size:11px;
    fill:rgba(244,239,230,0.85);
  }

  /* ambient background texture */
  .bg-mesh{
    position:absolute;inset:0;
    background:
      radial-gradient(ellipse 700px 500px at 85% 8%, rgba(192,72,16,0.16), transparent 60%),
      radial-gradient(ellipse 600px 500px at 5% 30%, rgba(232,160,32,0.08), transparent 60%);
    pointer-events:none;
    z-index:0;
  }
  .hero > .wrap{position:relative;z-index:1;}

  /* ---------- PROBLEMA ---------- */
  .problema{
    background:var(--bg-soft);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    position:relative;
    overflow:hidden;
  }
  .problema::before{
    content:'';
    position:absolute;inset:0;
    background:radial-gradient(560px 380px at 92% -10%, rgba(192,72,16,0.14), transparent 60%);
    pointer-events:none;
  }
  .problema::after{
    content:'';
    position:absolute;
    right:-60px;bottom:-80px;
    width:340px;height:240px;
    background:linear-gradient(135deg, rgba(232,160,32,0.16), rgba(192,72,16,0.1));
    clip-path:polygon(100% 0, 100% 100%, 0 100%);
    pointer-events:none;
  }
  .problema > .wrap{position:relative;z-index:1;}
  .problema h2{
    font-size:clamp(23px,2.8vw,32px);
    letter-spacing:-0.02em;
    max-width:560px;
    margin:16px 0 56px;
    color:var(--light);
  }
  .pain-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
  }
  @media (max-width:760px){ .pain-grid{grid-template-columns:1fr;} }
  .inline-cta{
    margin-top:32px;
    font-size:14.5px;
    color:rgba(244,239,230,0.6);
  }
  .inline-cta a{
    color:var(--primary);
    font-weight:700;
    border-bottom:1px solid rgba(232,160,32,0.4);
    padding-bottom:1px;
    transition:border-color .2s;
  }
  .inline-cta a:hover{border-color:var(--primary);}
  .pain{
    background:linear-gradient(165deg, #17171f, #101017);
    border:1px solid var(--line);
    border-radius:10px;
    padding:34px 28px;
    position:relative;
    box-shadow:0 1px 0 rgba(255,255,255,0.03) inset, 0 20px 36px -22px rgba(0,0,0,0.65);
    transition:transform .25s, border-color .25s, box-shadow .25s;
  }
  .pain:hover{transform:translateY(-4px);border-color:rgba(232,160,32,0.35);box-shadow:0 1px 0 rgba(255,255,255,0.05) inset, 0 26px 44px -18px rgba(0,0,0,0.7);}
  .pain:nth-child(2):hover{border-color:rgba(192,72,16,0.4);}
  .pain-icon{
    width:44px;height:44px;
    border-radius:50%;
    border:1.5px solid var(--primary);
    background:radial-gradient(circle at 32% 28%, rgba(232,160,32,0.4), rgba(232,160,32,0.06) 70%);
    box-shadow:inset 0 1px 1px rgba(255,255,255,0.2), inset 0 -3px 5px rgba(0,0,0,0.25), 0 5px 12px rgba(232,160,32,0.2);
    display:flex;align-items:center;justify-content:center;
    color:var(--primary);
    margin-bottom:20px;
    transition:transform .25s;
  }
  .pain:nth-child(2) .pain-icon{border-color:var(--accent);background:radial-gradient(circle at 32% 28%, rgba(192,72,16,0.45), rgba(192,72,16,0.08) 70%);box-shadow:inset 0 1px 1px rgba(255,255,255,0.2), inset 0 -3px 5px rgba(0,0,0,0.25), 0 5px 12px rgba(192,72,16,0.22);color:var(--accent);}
  .pain-icon svg{width:20px;height:20px;}
  .pain:hover .pain-icon{transform:translateY(-2px) scale(1.05);}
  .pain .num{
    font-family:var(--font-display);
    font-size:13px;
    color:var(--accent);
    font-weight:700;
    letter-spacing:0.08em;
  }
  .pain:nth-child(2) .num{color:var(--primary);}
  .pain p{margin-top:14px;font-size:16px;color:rgba(244,239,230,0.82);}
  .pain strong{color:var(--light);font-weight:700;}

  /* ---------- CASOS ---------- */
  /* ---------- SERVICIOS ---------- */
  .servicios{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .servicios h2{font-size:clamp(23px,2.8vw,32px);letter-spacing:-0.02em;margin:16px 0 12px;max-width:640px;}
  .servicios > .wrap > p.sub{color:rgba(244,239,230,0.62);max-width:560px;margin-bottom:44px;font-size:16px;}
  .servicios-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-auto-rows:1fr;
    gap:18px;
  }
  .servicio-card-lg{grid-column:span 2;}
  @media (max-width:980px){ .servicios-grid{grid-template-columns:1fr 1fr;} .servicio-card-lg{grid-column:span 2;} }
  @media (max-width:560px){ .servicios-grid{grid-template-columns:1fr;} .servicio-card-lg{grid-column:span 1;} }
  .servicio-card{
    position:relative;
    overflow:hidden;
    display:flex;flex-direction:column;
    background:linear-gradient(165deg, #17171f, #101017);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:28px 26px;
    box-shadow:0 1px 0 rgba(255,255,255,0.03) inset, 0 20px 36px -22px rgba(0,0,0,0.65);
    transition:transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
  }
  .servicio-card::before{
    content:'';
    position:absolute;
    top:-35%;left:-15%;
    width:70%;height:110%;
    background:radial-gradient(closest-side, rgba(232,160,32,0.15), transparent 72%);
    opacity:0;
    transition:opacity .3s ease;
    pointer-events:none;
  }
  .servicio-card > *{position:relative;}
  .servicio-card:hover{transform:translateY(-5px);border-color:rgba(232,160,32,0.4);box-shadow:0 1px 0 rgba(255,255,255,0.03) inset, 0 28px 50px -22px rgba(0,0,0,0.75), 0 0 0 1px rgba(232,160,32,0.12);}
  .servicio-card:hover::before{opacity:1;}
  .servicio-card:nth-child(2n) .case-icon{background:radial-gradient(circle at 32% 28%, rgba(192,72,16,0.4), rgba(192,72,16,0.08) 70%);box-shadow:inset 0 1px 1px rgba(255,255,255,0.18), inset 0 -3px 5px rgba(0,0,0,0.25), 0 5px 12px rgba(192,72,16,0.2);}
  .servicio-card:nth-child(2n) .case-icon svg{stroke:var(--accent);}
  .servicio-card h3{font-family:var(--font-display);font-size:18px;color:var(--light);margin-bottom:9px;}
  .servicio-card-lg h3{font-size:21px;}
  .servicio-card p{font-size:14px;color:rgba(244,239,230,0.68);flex-grow:1;}
  .card-link{display:inline-flex;align-items:center;gap:5px;margin-top:14px;font-size:13.5px;font-weight:700;color:var(--primary);position:relative;transition:gap .2s;}
  .card-link:hover{gap:9px;}

  .casos{position:relative;overflow:hidden;}


  .casos::before{
    content:'';
    position:absolute;inset:0;
    background:radial-gradient(600px 420px at 4% 105%, rgba(232,160,32,0.10), transparent 60%);
    pointer-events:none;
  }
  .casos > .wrap{position:relative;z-index:1;}
  .casos h2{font-size:clamp(23px,2.8vw,32px);letter-spacing:-0.02em;margin:16px 0 12px;max-width:640px;}
  .casos-intro{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:32px;
    align-items:end;
    margin-bottom:36px;
  }
  @media (max-width:760px){ .casos-intro{grid-template-columns:1fr;} }
  .casos-intro p.sub{color:rgba(244,239,230,0.62);max-width:600px;font-size:16px;margin:0;}
  .casos-stats{
    display:flex;gap:20px;
    padding:18px 22px;
    background:var(--bg-card);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
  }
  @media (max-width:760px){ .casos-stats{gap:28px;} }
  .stat{display:flex;flex-direction:column;gap:3px;}
  .stat-num{font-family:var(--font-display);font-weight:700;font-size:26px;color:var(--primary);}
  .stat:nth-child(2) .stat-num{color:var(--accent);}
  .stat-label{font-size:11.5px;color:rgba(244,239,230,0.55);line-height:1.35;max-width:120px;}

  .case-teaser{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:36px;
  }
  @media (max-width:640px){ .case-teaser{grid-template-columns:1fr;} }
  .teaser-card{
    display:flex;align-items:center;gap:14px;
    text-align:left;
    background:linear-gradient(165deg, #17171f, #101017);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:16px 18px;
    box-shadow:0 1px 0 rgba(255,255,255,0.04) inset, 0 14px 26px -16px rgba(0,0,0,0.65);
    transition:border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
  }
  .teaser-card:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,0.06) inset, 0 18px 32px -14px rgba(0,0,0,0.7);}
  .teaser-card[data-tab="automatizacion"]:hover{border-color:rgba(192,72,16,0.45);}
  .teaser-card[data-tab="padel"]:hover{border-color:rgba(232,160,32,0.45);}
  .teaser-icon{
    width:38px;height:38px;flex-shrink:0;
    border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    box-shadow:inset 0 1px 1px rgba(255,255,255,0.15), inset 0 -2px 4px rgba(0,0,0,0.2);
  }
  .teaser-icon svg{width:19px;height:19px;}
  .teaser-icon-ember{background:radial-gradient(circle at 32% 28%, rgba(192,72,16,0.4), rgba(192,72,16,0.08) 70%);}
  .teaser-icon-ember svg{stroke:var(--accent);}
  .teaser-icon-amber{background:radial-gradient(circle at 32% 28%, rgba(232,160,32,0.38), rgba(232,160,32,0.06) 70%);}
  .teaser-icon-amber svg{stroke:var(--primary);}
  .teaser-tag{
    display:block;
    font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
    color:rgba(244,239,230,0.5);margin-bottom:3px;
  }
  .teaser-card h3{font-family:var(--font-display);font-size:14.5px;color:var(--light);}

  .case-tabs{
    display:flex;gap:8px;
    margin-bottom:28px;
    border-bottom:1px solid var(--line);
  }
  .case-tab{
    padding:12px 4px;
    margin-right:24px;
    font-size:14.5px;font-weight:700;
    color:rgba(244,239,230,0.5);
    border-bottom:2px solid transparent;
    transition:color .2s, border-color .2s;
  }
  .case-tab:hover{color:rgba(244,239,230,0.8);}
  .case-tab.active{color:var(--primary);border-bottom-color:var(--primary);}
  .case-panel[hidden]{display:none;}
  .panel-note{
    margin-top:18px;
    font-size:13.5px;
    color:rgba(244,239,230,0.5);
    max-width:520px;
  }

  .case-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    margin-bottom:20px;
  }
  @media (max-width:760px){ .case-grid{grid-template-columns:1fr;} }

  .case-card{
    background:linear-gradient(165deg, #17171f, #101017);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    overflow:hidden;
    padding:0;
    display:flex;flex-direction:column;
    box-shadow:0 1px 0 rgba(255,255,255,0.03) inset, 0 22px 40px -24px rgba(0,0,0,0.7);
    transition:border-color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .case-card:hover{box-shadow:0 1px 0 rgba(255,255,255,0.05) inset, 0 26px 48px -20px rgba(0,0,0,0.75);}
  .case-card:hover{border-color:rgba(232,160,32,0.4);transform:translateY(-3px);}
  .case-card:nth-child(2n):hover{border-color:rgba(192,72,16,0.45);}

  .case-window-bar{
    display:flex;align-items:center;gap:5px;
    padding:9px 13px;
    background:#050508;
    border-bottom:1px solid var(--line);
  }
  .wdot{width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 30%, rgba(255,255,255,0.35), var(--neutral) 75%);}
  .case-window-url{
    margin-left:7px;
    font-family:'SF Mono','Consolas',ui-monospace,monospace;
    font-size:10.5px;
    color:rgba(244,239,230,0.58);
    letter-spacing:0.01em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .case-window .img-slot.case-slot{margin-bottom:0;border:none;border-radius:0;}
  .case-window .logo-plate{margin-bottom:0;}

  .case-card-body{padding:22px 26px 26px;flex:1;display:flex;flex-direction:column;}

  .status-pill{
    display:inline-flex;align-items:center;gap:7px;
    font-size:10.5px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;
    color:var(--primary);
    margin-bottom:14px;
  }
  .novedad-badge{
    display:inline-flex;align-items:center;gap:6px;
    font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--bg);
    background:var(--primary);
    padding:4px 11px;
    border-radius:20px;
    margin-left:10px;
    box-shadow:0 0 0 3px rgba(232,160,32,0.12);
  }
  .status-dot{
    width:7px;height:7px;border-radius:50%;
    background:var(--primary);
    animation:statusPulseAmber 2s infinite;
  }
  @keyframes statusPulseAmber{
    0%{box-shadow:0 0 0 0 rgba(232,160,32,0.5);}
    70%{box-shadow:0 0 0 6px rgba(232,160,32,0);}
    100%{box-shadow:0 0 0 0 rgba(232,160,32,0);}
  }
  @keyframes statusPulseEmber{
    0%{box-shadow:0 0 0 0 rgba(192,72,16,0.5);}
    70%{box-shadow:0 0 0 6px rgba(192,72,16,0);}
    100%{box-shadow:0 0 0 0 rgba(192,72,16,0);}
  }
  .case-card:nth-child(2n) .status-dot{background:var(--accent);animation-name:statusPulseEmber;}

  .case-icon{
    width:44px;height:44px;
    border-radius:10px;
    background:radial-gradient(circle at 32% 28%, rgba(232,160,32,0.35), rgba(232,160,32,0.06) 70%);
    box-shadow:inset 0 1px 1px rgba(255,255,255,0.18), inset 0 -3px 5px rgba(0,0,0,0.25), 0 5px 12px rgba(232,160,32,0.18);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:18px;
  }
  .case-icon svg{width:22px;height:22px;stroke:var(--primary);}
  .case-card:nth-child(2n) .case-icon{background:radial-gradient(circle at 32% 28%, rgba(192,72,16,0.4), rgba(192,72,16,0.08) 70%);box-shadow:inset 0 1px 1px rgba(255,255,255,0.18), inset 0 -3px 5px rgba(0,0,0,0.25), 0 5px 12px rgba(192,72,16,0.2);}
  .case-card:nth-child(2n) .case-icon svg{stroke:var(--accent);}
  .case-card:nth-child(2n) .save{color:var(--accent);}
  .case-card-wide{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:260px 1fr;
  }
  .case-card-wide .case-window{display:flex;flex-direction:column;height:100%;}
  .case-card-wide .case-slot,
  .case-card-wide .logo-plate{flex:1;aspect-ratio:auto;}
  @media (max-width:640px){ .case-card-wide{grid-template-columns:1fr;} .case-card-wide .case-window{height:auto;} }
  .case-card h3{font-family:var(--font-display);font-size:19px;color:var(--light);margin-bottom:8px;}
  .case-card .tag{
    display:inline-block;
    font-size:11px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:rgba(244,239,230,0.5);
    margin-bottom:10px;
  }
  .case-card p{font-size:14.5px;color:rgba(244,239,230,0.7);}
  .case-card .save{
    margin-top:16px;
    font-size:13.5px;
    font-weight:700;
    color:var(--primary);
    display:flex;align-items:center;gap:6px;
  }

  .bridge-card{
    background:linear-gradient(135deg, rgba(192,72,16,0.14), rgba(232,160,32,0.08));
    border:1px solid rgba(232,160,32,0.28);
    border-radius:6px;
    padding:34px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    flex-wrap:wrap;
    box-shadow:0 1px 0 rgba(255,255,255,0.05) inset, 0 25px 45px -22px rgba(0,0,0,0.65);
  }
  .bridge-card .tag{color:var(--accent);}
  .bridge-card h3{font-size:19px;font-family:var(--font-display);color:var(--light);margin-bottom:6px;}
  .bridge-card p{font-size:14.5px;color:rgba(244,239,230,0.75);max-width:460px;}
  .bridge-visual{
    width:180px;flex-shrink:0;
    border:1px solid var(--line);
    border-radius:6px;
    overflow:hidden;
    background:var(--bg);
  }
  .bridge-diagram{width:100%;display:block;padding:8px 6px;}
  .bd-line{stroke:var(--neutral);stroke-width:1.5;}
  .bd-dot{fill:var(--bg-card);stroke:var(--primary);stroke-width:1.5;}
  .bd-dot-fill{fill:var(--primary);}
  .bd-label{font-family:var(--font-body);font-size:9px;font-weight:600;fill:rgba(244,239,230,0.55);}
  .bridge-text{flex:1;min-width:240px;}
  .bridge-note{
    font-size:14px;
    font-weight:700;
    color:var(--light);
    background:rgba(9,9,15,0.35);
    padding:10px 16px;
    border-radius:4px;
    white-space:nowrap;
  }
  @media (max-width:640px){
    .bridge-note{white-space:normal;width:100%;text-align:center;}
  }

  /* ---------- JUEGO ---------- */
  .juego{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .juego-head{max-width:640px;margin-bottom:28px;}
  .game-badge{
    display:inline-flex;align-items:center;gap:8px;
    padding:8px 16px;
    border-radius:20px;
    background:linear-gradient(180deg, rgba(232,160,32,0.22), rgba(192,72,16,0.14));
    border:1px solid rgba(232,160,32,0.5);
    color:var(--primary);
    font-weight:700;
    font-size:13px;
    letter-spacing:0.02em;
    box-shadow:0 0 0 4px rgba(232,160,32,0.08);
    animation:badgePulse 2.4s ease-in-out infinite;
  }
  @keyframes badgePulse{
    0%,100%{box-shadow:0 0 0 4px rgba(232,160,32,0.08);}
    50%{box-shadow:0 0 0 9px rgba(232,160,32,0.14);}
  }
  .juego h2{font-size:clamp(23px,2.8vw,32px);letter-spacing:-0.02em;margin:16px 0 12px;}
  .juego-head > p{color:rgba(244,239,230,0.65);font-size:16px;margin-bottom:18px;}

  .juego-steps-mini{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px 24px;
  }
  @media (max-width:640px){ .juego-steps-mini{grid-template-columns:1fr;} }
  .jsm{
    display:flex;align-items:flex-start;gap:10px;
    font-size:14px;
    color:rgba(244,239,230,0.75);
    line-height:1.4;
  }
  .jsm-num{
    flex-shrink:0;
    width:22px;height:22px;border-radius:50%;
    background:radial-gradient(circle at 32% 28%, rgba(232,160,32,0.4), rgba(232,160,32,0.1) 70%);
    color:var(--primary);
    display:flex;align-items:center;justify-content:center;
    font-size:11.5px;font-weight:700;
    font-family:var(--font-display);
    margin-top:1px;
  }

  .game-box{
    background:var(--bg-card);
    border-radius:12px;
    margin-top:36px;
    overflow:hidden;
    position:relative;
    border:1px solid transparent;
    background-clip:padding-box;
    box-shadow:0 0 0 2px rgba(232,160,32,0.35), 0 0 50px rgba(232,160,32,0.12), 0 30px 60px -20px rgba(0,0,0,0.6);
    animation:gameBoxGlow 3.2s ease-in-out infinite;
  }
  @keyframes gameBoxGlow{
    0%,100%{box-shadow:0 0 0 2px rgba(232,160,32,0.35), 0 0 50px rgba(232,160,32,0.12), 0 30px 60px -20px rgba(0,0,0,0.6);}
    50%{box-shadow:0 0 0 2px rgba(232,160,32,0.55), 0 0 70px rgba(232,160,32,0.2), 0 30px 60px -20px rgba(0,0,0,0.6);}
  }
  .game-titlebar{padding:11px 16px;}
  .game-titlebar .case-window-url{font-size:11px;}
  .game-inner{padding:26px 24px 24px;}

  .game-progress{
    display:flex;align-items:center;gap:12px;
    margin-bottom:20px;
  }
  .game-progress-bar{
    flex:1;height:5px;border-radius:3px;
    background:var(--bg-soft);
    overflow:hidden;
  }
  .game-progress-fill{
    height:100%;width:0%;
    background:linear-gradient(90deg, var(--accent), var(--primary));
    border-radius:3px;
    transition:width .35s ease;
  }
  .game-progress-label{
    font-size:12px;font-weight:700;
    color:rgba(244,239,230,0.55);
    white-space:nowrap;
  }

  .game-instructions{
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;gap:12px;
    margin-bottom:8px;
  }
  .game-hint{
    font-size:14px;
    color:rgba(244,239,230,0.65);
    min-height:20px;
    transition:color .2s;
  }
  .game-hint.warn{color:var(--accent);}
  .reset-btn{
    font-size:13px;font-weight:700;
    color:rgba(244,239,230,0.6);
    background:linear-gradient(180deg, rgba(244,239,230,0.07), rgba(244,239,230,0.02));
    border:1px solid var(--line);
    padding:8px 14px;border-radius:6px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.06), 0 3px 8px rgba(0,0,0,0.25);
    transition:color .2s, border-color .2s, transform .15s ease;
  }
  .reset-btn:hover{color:var(--primary);border-color:var(--primary);transform:translateY(-1px);}

  .game-wrap{position:relative;margin-top:6px;}
  .game-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
  .game-lines path{
    stroke:var(--primary);
    stroke-width:2;
    fill:none;
    opacity:0;
    transition:opacity .3s ease;
  }
  .game-lines path.show{opacity:0.9;}

  .game-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
  }
  @media (max-width:640px){ .game-grid{grid-template-columns:1fr;} }

  .game-node{
    background:linear-gradient(165deg, #191922, #121218);
    border:1.5px solid var(--neutral);
    border-radius:8px;
    padding:18px 20px;
    box-shadow:0 1px 0 rgba(255,255,255,0.04) inset, 0 12px 24px -14px rgba(0,0,0,0.6);
    transition:border-color .25s, background .25s, box-shadow .25s;
  }
  .game-node.is-correct{border-color:var(--primary);background:linear-gradient(165deg, rgba(232,160,32,0.14), rgba(232,160,32,0.04));}
  .game-node.shake{animation:shake .4s;}
  @keyframes shake{
    0%,100%{transform:translateX(0);}
    25%{transform:translateX(-6px);}
    75%{transform:translateX(6px);}
  }

  .game-node-head{
    display:flex;align-items:center;justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
  }
  .game-node-title{
    font-family:var(--font-display);
    font-weight:700;
    font-size:16px;
    color:var(--light);
  }
  .example-toggle{
    font-size:12px;
    font-weight:600;
    color:var(--primary);
    white-space:nowrap;
    opacity:0.85;
  }
  .example-toggle:hover{opacity:1;}

  .game-node-example{
    font-size:13.5px;
    color:rgba(244,239,230,0.68);
    line-height:1.5;
    max-height:0;
    opacity:0;
    overflow:hidden;
    transition:max-height .3s ease, opacity .3s ease, margin .3s ease;
  }
  .game-node-example.open{max-height:120px;opacity:1;margin-top:10px;}

  .pos-row{display:flex;gap:8px;margin-top:14px;}
  .pos-btn{
    width:34px;height:34px;
    border-radius:50%;
    background:linear-gradient(180deg, rgba(244,239,230,0.06), rgba(244,239,230,0.01));
    border:1.5px solid var(--neutral);
    color:rgba(244,239,230,0.55);
    font-weight:700;
    font-size:13px;
    display:flex;align-items:center;justify-content:center;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);
    transition:border-color .2s, background .2s, color .2s, box-shadow .2s, transform .15s ease;
  }
  .pos-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px);}
  .pos-btn.active{
    background:linear-gradient(180deg, #ffd98a 0%, var(--primary) 60%, #b9791a 100%);
    border-color:var(--primary);color:#2b1a00;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -2px 3px rgba(0,0,0,0.25), 0 4px 10px rgba(232,160,32,0.35);
  }

  .game-actions{
    display:flex;align-items:center;gap:16px;
    margin-top:22px;
    flex-wrap:wrap;
  }
  .verify-btn{
    padding:13px 24px;
    background:linear-gradient(180deg, #ffd98a 0%, var(--primary) 45%, #b9791a 100%);
    color:#2b1a00;
    font-weight:700;
    font-size:14.5px;
    border-radius:6px;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.5),
      inset 0 -2px 4px rgba(0,0,0,0.25),
      0 6px 14px rgba(232,160,32,0.35);
    transition:opacity .2s, transform .15s ease, box-shadow .15s ease;
  }
  .verify-btn:disabled{opacity:0.35;cursor:not-allowed;box-shadow:none;}
  .verify-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.55),
      inset 0 -2px 4px rgba(0,0,0,0.25),
      0 10px 20px rgba(232,160,32,0.45);}
  .verify-btn:not(:disabled):active{transform:translateY(0);}

  .game-result{
    margin-top:20px;
    padding:20px 24px;
    border-radius:6px;
    background:rgba(232,160,32,0.08);
    border:1px solid rgba(232,160,32,0.28);
    display:flex;
    align-items:center;
    gap:16px;
    opacity:0;
    max-height:0;
    overflow:hidden;
    transition:opacity .4s ease, max-height .4s ease, padding .4s ease, margin .4s ease;
  }
  .game-result.show{opacity:1;max-height:200px;margin-top:20px;}
  .game-result.hidden-init{max-height:0;opacity:0;margin-top:0;padding-top:0;padding-bottom:0;}
  .game-result .check{
    flex-shrink:0;
    width:38px;height:38px;border-radius:50%;
    background:var(--primary);color:var(--bg);
    display:flex;align-items:center;justify-content:center;
    font-weight:800;
  }
  .game-result p{font-size:15px;color:var(--light);}
  .game-result strong{color:var(--primary);}

  /* ---------- PROCESO ---------- */
  .proceso h2{font-size:clamp(23px,2.8vw,32px);letter-spacing:-0.02em;margin:16px 0 56px;max-width:600px;}
  .steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:36px;
    position:relative;
  }
  @media (max-width:760px){
    .steps{grid-template-columns:1fr;gap:40px;}
  }
  .step{position:relative;padding-left:2px;}
  .step:not(:last-child)::after{
    content:'';
    position:absolute;
    top:23px;
    left:46px;
    width:calc(100% - 46px + 36px);
    height:1px;
    background:repeating-linear-gradient(90deg, var(--neutral) 0 6px, transparent 6px 12px);
    z-index:0;
  }
  @media (max-width:760px){
    .step:not(:last-child)::after{display:none;}
  }
  .step .step-num{
    width:46px;height:46px;
    border-radius:50%;
    background:radial-gradient(circle at 32% 28%, rgba(232,160,32,0.3), var(--bg-card) 70%);
    border:1.5px solid var(--primary);
    color:var(--primary);
    box-shadow:inset 0 1px 1px rgba(255,255,255,0.15), inset 0 -3px 5px rgba(0,0,0,0.3), 0 5px 12px rgba(232,160,32,0.2);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--font-display);
    font-size:15px;
    font-weight:700;
    letter-spacing:0;
    margin-bottom:20px;
    position:relative;
    z-index:1;
  }
  .step:nth-child(2) .step-num{border-color:var(--accent);color:var(--accent);background:radial-gradient(circle at 32% 28%, rgba(192,72,16,0.32), var(--bg-card) 70%);box-shadow:inset 0 1px 1px rgba(255,255,255,0.15), inset 0 -3px 5px rgba(0,0,0,0.3), 0 5px 12px rgba(192,72,16,0.22);}
  .step h3{font-family:var(--font-display);font-size:19px;color:var(--light);margin-bottom:10px;}
  .step p{font-size:14.5px;color:rgba(244,239,230,0.68);}

  /* ---------- SECTORES ---------- */
  /* ---------- CALCULADORA ---------- */
  .calc-section{padding:100px 0;}
  @media (max-width:760px){ .calc-section{padding:56px 0;} }
  .calc-box{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:0;
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid var(--line-strong);
    box-shadow:var(--shadow-glow);
  }
  @media (max-width:800px){ .calc-box{grid-template-columns:1fr;} }
  .calc-intro{
    background:linear-gradient(165deg, #17171f, #101017);
    padding:44px 40px;
  }
  .calc-intro h2{font-size:clamp(20px,2.4vw,28px);margin:14px 0 10px;color:var(--light);}
  .calc-intro > p{font-size:15px;color:rgba(244,239,230,0.62);margin-bottom:30px;}
  .calc-field{margin-bottom:22px;}
  .calc-field label{
    display:flex;justify-content:space-between;align-items:baseline;
    font-size:13px;color:rgba(244,239,230,0.7);margin-bottom:10px;
  }
  .calc-field label strong{font-family:var(--font-display);font-size:18px;color:var(--primary);}
  .calc-field input[type="range"]{
    width:100%;
    accent-color:var(--primary);
    height:5px;
  }
  .calc-result{
    background:linear-gradient(160deg, rgba(232,160,32,0.16), rgba(192,72,16,0.1));
    padding:44px 40px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;
  }
  .calc-result strong{
    font-family:var(--font-display);
    font-size:clamp(52px,6vw,72px);
    font-weight:700;
    color:var(--primary);
    line-height:1;
  }
  .calc-result span{font-size:13px;color:rgba(244,239,230,0.6);margin-top:6px;letter-spacing:0.04em;text-transform:uppercase;}
  .calc-result p{font-size:14px;color:rgba(244,239,230,0.7);margin:18px 0 24px;max-width:280px;}

  .sectores{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;}
  .sectores::before{
    content:'';
    position:absolute;inset:0;
    background:radial-gradient(500px 400px at 92% 10%, rgba(192,72,16,0.10), transparent 60%);
    pointer-events:none;
  }
  .sectores > .wrap{position:relative;z-index:1;}
  .sectores-inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:center;
  }
  @media (max-width:860px){ .sectores-inner{grid-template-columns:1fr;} }
  .sectores h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:-0.02em;margin:16px 0 18px;}
  .sectores p.lead2{color:rgba(244,239,230,0.7);font-size:16px;margin-bottom:0;}
  .hub-panel{
    background:linear-gradient(165deg, #17171f, #101017);
    border:1px solid var(--line-strong);
    border-radius:var(--radius-lg);
    padding:36px 28px;
    box-shadow:var(--shadow-glow);
  }
  .hub-diagram{width:100%;max-width:420px;display:block;margin:0 auto;}
  .hub-line line{stroke:var(--neutral);stroke-width:1.3;}
  .hub-core{fill:var(--bg-card);stroke:var(--primary);stroke-width:2;}
  .hub-core-label{font-family:var(--font-display);font-weight:700;font-size:13px;fill:var(--light);}
  .hub-node{stroke-width:1.6;}
  .hub-node-lead{stroke:var(--primary);fill:var(--primary);}
  .hub-node-live{stroke:var(--accent);fill:rgba(192,72,16,0.22);}
  .hub-node-future{stroke:var(--neutral);fill:var(--bg-soft);stroke-dasharray:3 3;}
  .hub-label{font-family:var(--font-body);font-size:13px;font-weight:700;}
  .hub-label-lead{fill:var(--primary);}
  .hub-label-live{fill:var(--light);}
  .hub-label-future{fill:rgba(244,239,230,0.42);font-weight:600;}
  .hub-legend{
    display:flex;flex-wrap:wrap;justify-content:center;gap:20px;
    margin-top:22px;
    font-size:12.5px;
    color:rgba(244,239,230,0.6);
  }
  .hub-legend span{display:flex;align-items:center;gap:7px;}
  .sectores-links{text-align:center;margin-top:16px;font-size:13.5px;color:rgba(244,239,230,0.6);}
  .sectores-links a{color:var(--primary);font-weight:600;}
  .sectores-links a:hover{text-decoration:underline;}
  .hub-legend .dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
  .dot-lead{background:var(--primary);}
  .dot-live{background:var(--accent);}
  .dot-future{background:transparent;border:1.5px dashed var(--neutral);}

  /* ---------- SOBRE KRONORIX ---------- */
  .nosotros{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .nosotros-head{
    display:flex;justify-content:space-between;align-items:flex-start;
    gap:40px;
    margin-bottom:44px;
  }
  @media (max-width:700px){ .nosotros-head{flex-direction:column;align-items:flex-start;gap:24px;} }
  .nosotros-visual{width:150px;flex-shrink:0;}
  @media (max-width:700px){ .nosotros-visual{width:110px;align-self:flex-end;} }
  .nosotros-orbit{fill:none;stroke:rgba(244,239,230,0.12);stroke-width:1;}
  .nosotros-orbit-2{stroke:rgba(232,160,32,0.18);stroke-dasharray:3 5;}
  .nosotros-core-glow{fill:var(--primary);opacity:0.35;filter:blur(6px);}
  .nosotros-core{fill:#E8A020;}
  .nosotros-core-label{font-family:var(--font-display);font-weight:700;font-size:15px;fill:#2b1a00;text-anchor:middle;}
  .nosotros-dot{filter:drop-shadow(0 0 6px currentColor);}
  .nosotros-dot-amber{fill:var(--primary);color:var(--primary);}
  .nosotros-dot-ember{fill:var(--accent);color:var(--accent);}
  .nosotros h2{font-size:clamp(22px,2.6vw,30px);margin:16px 0 0;color:var(--light);}

  .nosotros-story{max-width:720px;margin-bottom:44px;}
  .nosotros-story .story-lede{
    font-family:var(--font-display);
    font-weight:700;
    font-size:clamp(19px,2vw,23px);
    color:var(--primary);
    margin-bottom:22px;
    letter-spacing:-0.01em;
  }
  .nosotros-story p{
    font-size:16px;
    line-height:1.8;
    color:rgba(244,239,230,0.78);
    margin-bottom:20px;
  }
  .nosotros-story p:last-child{margin-bottom:0;}

  .nosotros-checks{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px 40px;
    max-width:820px;
    border-top:1px solid var(--line);
    padding-top:28px;
  }
  @media (max-width:640px){ .nosotros-checks{grid-template-columns:1fr;} }
  .nosotros-check{
    display:flex;align-items:flex-start;gap:12px;
    font-size:14.5px;color:rgba(244,239,230,0.8);
  }
  .check-mark{
    flex-shrink:0;width:22px;height:22px;border-radius:50%;
    background:radial-gradient(circle at 32% 28%, rgba(232,160,32,0.4), rgba(232,160,32,0.1) 70%);
    color:var(--primary);
    display:flex;align-items:center;justify-content:center;
    font-size:12px;font-weight:700;
    margin-top:1px;
  }

  /* ---------- FAQ ---------- */
  .faq h2{font-size:clamp(22px,2.8vw,32px);letter-spacing:-0.02em;margin:16px 0 40px;max-width:600px;}
  .faq-list{display:flex;flex-direction:column;gap:12px;}
  .faq-item{
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    background:linear-gradient(165deg, #17171f, #101017);
    overflow:hidden;
    transition:border-color .3s var(--ease);
  }
  .faq-item:hover{border-color:rgba(232,160,32,0.25);}
  .faq-item.open{border-color:rgba(232,160,32,0.4);box-shadow:0 20px 40px -26px rgba(232,160,32,0.25);}
  .faq-q{
    width:100%;
    display:flex;justify-content:space-between;align-items:center;gap:16px;
    padding:20px 22px;
    text-align:left;
    font-family:var(--font-display);
    font-weight:700;
    font-size:15px;
    color:var(--light);
  }
  .faq-icon{
    flex-shrink:0;
    color:var(--primary);
    font-size:20px;
    transition:transform .25s ease;
  }
  .faq-item.open .faq-icon{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .faq-item.open .faq-a{max-height:200px;}
  .faq-a p{padding:0 22px 20px;font-size:14.5px;color:rgba(244,239,230,0.65);}

  /* ---------- CTA FINAL / CONTACTO ---------- */
  .cta-final{padding:100px 0;position:relative;overflow:hidden;}
  .cta-final > .wrap{position:relative;z-index:1;}
  @media (max-width:760px){ .cta-final{padding:56px 0;} }
  .contacto-intro-top{max-width:640px;margin-bottom:40px;}
  .contacto-intro h2{font-size:clamp(22px,2.6vw,30px);margin:16px 0 14px;color:var(--light);}
  .contacto-intro p.lead2{color:rgba(244,239,230,0.7);font-size:16px;margin-bottom:26px;}
  .contacto-alt{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px;}
  .alt-link{
    display:inline-flex;align-items:center;gap:6px;
    padding:11px 20px;
    background:linear-gradient(180deg, rgba(244,239,230,0.07), rgba(244,239,230,0.02));
    border:1px solid var(--line);
    border-radius:999px;
    font-size:14px;font-weight:700;
    color:var(--light);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.07), 0 4px 12px rgba(0,0,0,0.3);
    transition:border-color .2s, color .2s, transform .15s ease;
  }
  .alt-link:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px);}
  .contacto-note{font-size:13.5px;color:rgba(244,239,230,0.5);max-width:400px;line-height:1.6;}

  /* dos tarjetas de contacto, siempre visibles a la vez: reservar llamada y escribir mensaje */
  .contacto-cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    align-items:start;
  }
  @media (max-width:860px){ .contacto-cards{grid-template-columns:1fr;} }

  .contacto-panel{
    position:relative;
    background:linear-gradient(165deg, rgba(23,23,31,0.82), rgba(16,16,23,0.92));
    border:1px solid var(--line-strong);
    border-radius:var(--radius-lg);
    overflow:hidden;
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.05),
      0 30px 60px -28px rgba(0,0,0,0.8),
      0 0 0 1px rgba(232,160,32,0.07);
  }
  .contacto-panel::before{
    content:'';
    position:absolute;
    top:-45%;right:-15%;
    width:65%;height:130%;
    background:radial-gradient(closest-side, rgba(232,160,32,0.16), transparent 70%);
    pointer-events:none;
  }
  .contacto-panel-head{
    position:relative;
    padding:22px 32px;
    border-bottom:1px solid var(--line);
    font-family:var(--font-display);
    font-weight:700;
    font-size:15.5px;
    color:var(--light);
  }
  @media (max-width:480px){ .contacto-panel-head{padding:18px 20px;} }
  .contacto-panel-body{position:relative;padding:28px 32px 32px;}
  @media (max-width:480px){ .contacto-panel-body{padding:22px 20px 26px;} }

  .cal-inline-embed{
    width:100%;
    min-height:560px;
    border-radius:10px;
    overflow:hidden;
    background:var(--bg-soft);
    border:1px solid var(--line);
  }
  @media (max-width:480px){ .cal-inline-embed{min-height:480px;} }

  .contacto-form{
    display:flex;flex-direction:column;gap:16px;
  }
  .form-row{display:flex;flex-direction:column;gap:6px;}
  .form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  @media (max-width:480px){ .form-row-split{grid-template-columns:1fr;} }
  .form-row-split > div{display:flex;flex-direction:column;gap:6px;}
  .contacto-form label{font-size:13px;font-weight:600;color:rgba(244,239,230,0.75);}
  .contacto-form input,
  .contacto-form select,
  .contacto-form textarea{
    background:var(--bg-soft);
    border:1px solid var(--line);
    border-radius:6px;
    padding:11px 13px;
    font-family:var(--font-body);
    font-size:14.5px;
    color:var(--light);
    box-shadow:inset 0 2px 4px rgba(0,0,0,0.3);
    transition:border-color .2s, box-shadow .2s;
  }
  .contacto-form input:focus,
  .contacto-form select:focus,
  .contacto-form textarea:focus{border-color:var(--primary);box-shadow:inset 0 2px 4px rgba(0,0,0,0.3), 0 0 0 3px rgba(232,160,32,0.15);}
  .contacto-form textarea{resize:vertical;}
  .form-check{
    display:flex;align-items:flex-start;gap:10px;
    font-size:12.5px;
    color:rgba(244,239,230,0.6);
    line-height:1.5;
  }
  .form-check input{margin-top:3px;accent-color:var(--primary);}
  .form-check a{color:var(--primary);text-decoration:underline;}
  .form-submit{justify-content:center;margin-top:4px;}
  .form-status{font-size:13.5px;color:var(--primary);min-height:18px;}

  /* ---------- FOOTER ---------- */
  footer{
    border-top:1px solid var(--line);
    padding:44px 0;
  }
  .footer-inner{
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
  }
  .footer-tagline{font-size:13px;color:rgba(244,239,230,0.58);margin-top:4px;}
  .footer-links{display:flex;flex-wrap:wrap;gap:22px;font-size:13.5px;}
  .footer-links a{color:rgba(244,239,230,0.65);transition:color .2s;}
  .footer-links a:hover{color:var(--primary);}
  .footer-copy{
    margin-top:26px;padding-top:22px;
    border-top:1px solid var(--line);
    font-size:12px;color:rgba(244,239,230,0.58);
  }
  .footer-logo{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--primary);}

  /* ---------- IMAGE SLOTS (para sustituir por fotos/capturas reales) ---------- */
  .img-slot{
    position:relative;
    border:1px dashed rgba(244,239,230,0.22);
    border-radius:10px;
    background:
      repeating-linear-gradient(135deg, rgba(244,239,230,0.025) 0 10px, rgba(244,239,230,0.05) 10px 20px),
      var(--bg-card);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:10px;
    text-align:center;
    padding:20px;
    overflow:hidden;
  }
  .img-slot img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:10px;
  }
  .img-slot .img-icon{
    width:30px;height:30px;
    stroke:rgba(244,239,230,0.35);
    fill:none;stroke-width:1.6;
  }
  .img-slot .img-label{
    font-size:12px;
    font-weight:600;
    color:rgba(244,239,230,0.58);
    max-width:220px;
    line-height:1.4;
  }
  .img-slot.case-slot{aspect-ratio:16/10;margin-bottom:18px;}

  .logo-plate{
    position:relative;
    aspect-ratio:16/10;
    display:flex;align-items:center;justify-content:center;
    background:
      radial-gradient(circle at 30% 20%, rgba(232,160,32,0.12), transparent 55%),
      radial-gradient(circle at 80% 85%, rgba(192,72,16,0.10), transparent 55%),
      repeating-linear-gradient(135deg, rgba(244,239,230,0.02) 0 10px, rgba(244,239,230,0.04) 10px 20px),
      var(--bg-soft);
    overflow:hidden;
  }
  .logo-plate::before{
    content:'';
    position:absolute;
    width:52%;aspect-ratio:1/1;
    border-radius:50%;
    background:radial-gradient(circle, rgba(232,160,32,0.4), transparent 72%);
    filter:blur(22px);
    z-index:0;
  }
  .case-card:nth-child(2n) .logo-plate::before{background:radial-gradient(circle, rgba(192,72,16,0.42), transparent 72%);}
  .logo-plate img{position:relative;z-index:1;max-width:64%;max-height:70%;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,0.4));}
  .logo-plate.logo-plate-fill{padding:0;}
  .logo-plate.logo-plate-fill::before{display:none;}
  .logo-plate.logo-plate-fill img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none;}
  .logo-plate.logo-plate-small img{max-width:44%;max-height:48%;}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .orb-flow{animation:none;}
    *{transition-duration:0.01ms !important; animation-duration:0.01ms !important;}
  }

  /* ---------- PLANTILLA DE PÁGINAS INTERIORES (servicios / sectores / sobre-mi / blog) ---------- */
  .page-head{
    padding:200px 0 64px;
    background:var(--bg-soft);
    border-bottom:1px solid var(--line);
    position:relative;
    overflow:hidden;
  }
  .page-head::before{
    content:'';
    position:absolute;inset:0;
    background:radial-gradient(45% 60% at 82% 0%, rgba(232,160,32,0.13), transparent 65%);
    pointer-events:none;
  }
  .page-head > .wrap{position:relative;z-index:1;}
  @media (max-width:900px){ .page-head{padding:150px 0 48px;} }
  .breadcrumbs{font-size:13px;color:rgba(244,239,230,0.5);margin-bottom:18px;}
  .breadcrumbs a{color:rgba(244,239,230,0.7);}
  .breadcrumbs a:hover{color:var(--primary);}
  .page-head h1{
    font-size:clamp(30px,4.2vw,48px);
    letter-spacing:-0.03em;
    max-width:760px;
    margin:14px 0 18px;
    color:var(--light);
  }
  .page-head .lead{
    font-size:17.5px;
    color:rgba(244,239,230,0.75);
    max-width:680px;
  }
  .page-updated{font-size:13px;color:rgba(244,239,230,0.58);margin-top:22px;}

  .content{padding:80px 0;}
  @media (max-width:760px){ .content{padding:48px 0;} }
  .content .wrap{max-width:760px;}
  .content h2{font-size:clamp(21px,2.6vw,29px);letter-spacing:-0.02em;margin:52px 0 16px;color:var(--light);}
  .content h2:first-child{margin-top:0;}
  .content p{font-size:16px;color:rgba(244,239,230,0.82);margin-bottom:16px;max-width:680px;}
  .content ul, .content ol{margin:0 0 16px 22px;color:rgba(244,239,230,0.82);font-size:16px;}
  .content li{margin-bottom:8px;}
  .content strong{color:var(--light);}

  .quien-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin:24px 0 8px;
  }
  @media (max-width:640px){ .quien-grid{grid-template-columns:1fr;} }
  .quien-card{
    background:linear-gradient(165deg, #17171f, #101017);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:24px 26px;
  }
  .quien-card h3{font-family:var(--font-display);font-size:16px;margin-bottom:10px;color:var(--light);}
  .quien-card.si h3{color:var(--primary);}
  .quien-card.no h3{color:rgba(244,239,230,0.6);}
  .quien-card ul{margin:0 0 0 18px;font-size:14.5px;}
  .quien-card li{margin-bottom:6px;color:rgba(244,239,230,0.75);}

  .content table{
    width:100%;
    border-collapse:collapse;
    margin:20px 0 28px;
    font-size:14.5px;
  }
  .content th, .content td{
    text-align:left;
    padding:12px 14px;
    border-bottom:1px solid var(--line);
    color:rgba(244,239,230,0.82);
  }
  .content th{color:var(--light);font-family:var(--font-display);font-weight:700;font-size:13.5px;}
  .content table caption{caption-side:bottom;font-size:12.5px;color:rgba(244,239,230,0.58);margin-top:8px;text-align:left;}

  .inline-cta{
    background:linear-gradient(160deg, rgba(232,160,32,0.1), rgba(192,72,16,0.05)), var(--bg-card);
    border:1px solid var(--line-strong);
    border-radius:var(--radius-md);
    padding:28px 30px;
    margin:36px 0;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:18px;
  }
  .inline-cta p{margin:0;max-width:440px;}

  .related-links{
    margin:44px 0 0;
    padding-top:28px;
    border-top:1px solid var(--line);
  }
  .related-links h2{margin-top:0;}
  .related-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
  .related-links a{color:var(--primary);font-weight:600;}
  .related-links a:hover{text-decoration:underline;}

  .tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;}
  .tag-chip{
    font-size:12px;letter-spacing:0.04em;
    padding:5px 12px;border-radius:999px;
    background:rgba(232,160,32,0.12);
    color:var(--primary);
    border:1px solid rgba(232,160,32,0.3);
  }

  .pending-note{
    font-size:13.5px;
    color:rgba(244,239,230,0.5);
    font-style:italic;
    border-left:2px solid var(--accent);
    padding-left:12px;
    margin:16px 0;
  }
