:root{
      --r360-navy:#05255a;
      --r360-navy-2:#0a3a7a;
      --r360-sky:#38bdf8;
      --r360-cyan:#14b8a6;
      --r360-green:#10b981;
      --r360-ink:#082033;
      --r360-text:#405d72;
      --r360-muted:#73899b;
      --r360-soft:#f4fbff;
      --r360-soft-2:#eefcf8;
      --r360-card:#ffffff;
      --r360-line:rgba(5,37,90,.12);
      --r360-line-cyan:rgba(20,184,166,.18);
      --r360-shadow:0 26px 70px rgba(8,32,51,.12);
      --r360-shadow-soft:0 16px 38px rgba(8,32,51,.075);
      --r360-gradient:linear-gradient(135deg,#05255a 0%,#0a3a7a 42%,#14b8a6 100%);
      --r360-accent:linear-gradient(135deg,#0f766e,#10b981 62%,#38bdf8);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth;overflow-x:hidden;max-width:100vw}
    body{
      margin:0;
      font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
      color:var(--r360-text);
      background:
        radial-gradient(780px 360px at 4% 4%, rgba(56,189,248,.18), transparent 68%),
        radial-gradient(820px 420px at 94% 8%, rgba(20,184,166,.20), transparent 66%),
        linear-gradient(135deg,#f8fbff 0%,#f4fffb 48%,#ffffff 100%);
      overflow-x:hidden;
    }

    a{text-decoration:none;color:inherit}
    img{max-width:100%;height:auto}

    .container{
      width:100%;
      max-width:1180px;
      margin:0 auto;
      padding-left:20px;
      padding-right:20px;
    }

    .section{
      padding:86px 0;
      position:relative;
    }

    .section-heading{
      max-width:780px;
      margin:0 auto 34px;
      text-align:center;
    }

    .section-heading.left{text-align:left;margin-left:0}
    .section-heading.narrow{max-width:760px}

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      min-height:30px;
      padding:0 13px;
      border-radius:999px;
      color:#0f766e;
      background:rgba(236,253,245,.94);
      border:1px solid rgba(15,118,110,.14);
      font-size:.68rem;
      font-weight:800;
      letter-spacing:.06em;
      text-transform:uppercase;
      margin-bottom:14px;
    }

    .section-heading h2,
    .validation-card h2,
    .contact-grid h2{
      margin:0;
      color:var(--r360-ink);
      font-size:clamp(1.65rem,3vw,2.65rem);
      line-height:1.05;
      letter-spacing:-.065em;
      font-weight:800;
    }

    .section-heading p,
    .validation-card p,
    .contact-grid p{
      margin:14px auto 0;
      max-width:720px;
      color:var(--r360-muted);
      font-size:.98rem;
      line-height:1.65;
      font-weight:450;
    }

    /* Header moderno */
    .site-header{
      position:fixed;
      left:0;
      right:0;
      top:14px;
      z-index:1000;
      pointer-events:none;
    }

    .navbar{
      pointer-events:auto;
      max-width:1180px;
      min-height:68px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      border-radius:28px;
      background:rgba(255,255,255,.86);
      border:1px solid rgba(255,255,255,.76);
      box-shadow:0 18px 52px rgba(8,32,51,.12);
      backdrop-filter:blur(20px);
      -webkit-backdrop-filter:blur(20px);
    }

    .brand{
      min-width:0;
      display:flex;
      align-items:center;
      gap:10px;
    }

    .brand-logo{
      width:148px;
      max-height:46px;
      object-fit:contain;
      display:block;
    }

    .brand-subline{
      min-height:24px;
      padding:0 9px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#0f766e;
      background:#ecfdf5;
      border:1px solid rgba(20,184,166,.16);
      font-size:.64rem;
      font-weight:750;
      white-space:nowrap;
    }

    .nav-menu{
      display:flex;
      align-items:center;
      gap:4px;
    }

    .nav-menu a{
      min-height:38px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:0 11px;
      border-radius:13px;
      color:#365b78;
      font-size:.76rem;
      font-weight:650;
      transition:.18s ease;
      white-space:nowrap;
    }

    .nav-menu a:hover{
      color:var(--r360-navy);
      background:#f1f7ff;
    }

    .nav-menu .nav-cta{
      color:#fff;
      background:var(--r360-gradient);
      box-shadow:0 12px 26px rgba(5,37,90,.18);
      margin-left:6px;
      padding:0 15px;
    }

    .nav-menu .nav-cta:hover{
      color:#fff;
      transform:translateY(-1px);
      box-shadow:0 16px 34px rgba(5,37,90,.22);
    }

    .nav-toggle{
      display:none;
      width:44px;
      height:44px;
      border-radius:16px;
      border:1px solid var(--r360-line);
      background:#fff;
      padding:0;
      align-items:center;
      justify-content:center;
      flex-direction:column;
      gap:4px;
    }

    .nav-toggle span{
      width:18px;
      height:2px;
      border-radius:999px;
      background:var(--r360-navy);
      display:block;
    }

    /* Hero */
    .hero{
      padding:138px 0 82px;
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(800px 420px at 84% 10%, rgba(20,184,166,.18), transparent 70%),
        radial-gradient(740px 380px at 8% 8%, rgba(56,189,248,.18), transparent 68%),
        linear-gradient(135deg,#ffffff 0%,#f5fbff 42%,#ecfdf5 115%);
    }

    .hero::before{
      content:"";
      position:absolute;
      width:760px;
      height:760px;
      right:-250px;
      top:-230px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(56,189,248,.18), transparent 62%);
      pointer-events:none;
    }

    .hero-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:minmax(0,1.02fr) minmax(360px,.88fr);
      align-items:center;
      gap:54px;
    }

    .hero-copy{
      max-width:690px;
    }

    .hero-badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      min-height:34px;
      padding:0 14px;
      border-radius:999px;
      color:#0f766e;
      background:#ecfdf5;
      border:1px solid rgba(20,184,166,.18);
      box-shadow:0 12px 26px rgba(20,184,166,.08);
      font-size:.74rem;
      font-weight:750;
      margin-bottom:18px;
    }

    .pulse{
      width:8px;
      height:8px;
      border-radius:999px;
      display:inline-block;
      background:#10b981;
      box-shadow:0 0 0 7px rgba(16,185,129,.13);
      animation:r360Pulse 1.8s ease-in-out infinite;
    }

    @keyframes r360Pulse{
      0%,100%{transform:scale(1);opacity:1}
      50%{transform:scale(.68);opacity:.55}
    }

    .hero h1{
      margin:0;
      color:var(--r360-ink);
      font-size:clamp(2.4rem,5vw,4.85rem);
      line-height:.96;
      letter-spacing:-.088em;
      font-weight:850;
    }

    .hero h1 .accent{
      display:block;
      color:#0f766e;
    }

    .hero-lead{
      margin:22px 0 0;
      max-width:610px;
      color:#557086;
      font-size:1.06rem;
      line-height:1.68;
      font-weight:450;
    }

    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:30px;
    }

    .btn{
      min-height:50px;
      padding:0 20px;
      border-radius:17px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      font-size:.9rem;
      font-weight:750;
      transition:.18s ease;
      border:1px solid transparent;
    }

    .btn-accent,
    .btn-primary{
      color:#fff;
      background:var(--r360-gradient);
      box-shadow:0 16px 34px rgba(5,37,90,.20);
    }

    .btn-accent:hover,
    .btn-primary:hover{
      color:#fff;
      transform:translateY(-2px);
      box-shadow:0 20px 42px rgba(5,37,90,.26);
    }

    .btn-ghost{
      color:var(--r360-navy);
      background:#fff;
      border-color:var(--r360-line);
      box-shadow:0 10px 22px rgba(8,32,51,.06);
    }

    .btn-ghost:hover{
      color:#0f766e;
      background:#f7fffc;
      transform:translateY(-1px);
    }

    .trust-line{
      margin-top:26px;
      padding:16px 18px;
      border-radius:22px;
      background:rgba(255,255,255,.78);
      border:1px solid rgba(20,184,166,.14);
      box-shadow:0 14px 32px rgba(8,32,51,.06);
      display:grid;
      gap:4px;
      max-width:560px;
    }

    .trust-line span{
      color:#0f766e;
      font-size:.72rem;
      font-weight:800;
      letter-spacing:.05em;
      text-transform:uppercase;
    }

    .trust-line strong{
      color:var(--r360-ink);
      font-size:.92rem;
      line-height:1.35;
    }

    /* Panel mockup */
    .hero-panel{
      position:relative;
      min-height:470px;
    }

    .mockup-card.main-card{
      position:relative;
      z-index:2;
      border-radius:34px;
      padding:18px;
      background:rgba(255,255,255,.86);
      border:1px solid rgba(255,255,255,.78);
      box-shadow:var(--r360-shadow);
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
    }

    .mockup-card.main-card::before{
      content:"";
      position:absolute;
      inset:-1px;
      border-radius:34px;
      background:linear-gradient(135deg,rgba(56,189,248,.30),rgba(20,184,166,.18),transparent 60%);
      z-index:-1;
      pointer-events:none;
    }

    .mockup-topbar{
      height:42px;
      display:flex;
      align-items:center;
      gap:8px;
      padding:0 4px 12px;
      border-bottom:1px solid rgba(5,37,90,.08);
      margin-bottom:16px;
    }

    .mockup-topbar span{
      width:10px;
      height:10px;
      border-radius:999px;
      background:#cbd5e1;
    }

    .mockup-topbar span:nth-child(1){background:#fb7185}
    .mockup-topbar span:nth-child(2){background:#fbbf24}
    .mockup-topbar span:nth-child(3){background:#34d399}

    .dashboard-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:4px 4px 18px;
    }

    .dashboard-head small{
      display:block;
      color:#73899b;
      font-size:.72rem;
      font-weight:750;
      text-transform:uppercase;
      letter-spacing:.05em;
    }

    .dashboard-head strong{
      display:block;
      margin-top:4px;
      color:var(--r360-ink);
      font-size:1.25rem;
      letter-spacing:-.045em;
      font-weight:800;
    }

    .status-pill{
      min-height:32px;
      padding:0 12px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#0f766e;
      background:#ecfdf5;
      border:1px solid rgba(20,184,166,.14);
      font-size:.72rem;
      font-weight:750;
    }

    .schedule-list{
      display:grid;
      gap:12px;
    }

    .schedule-item{
      min-height:76px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:15px;
      border-radius:22px;
      background:#fff;
      border:1px solid rgba(5,37,90,.09);
      box-shadow:0 12px 28px rgba(8,32,51,.055);
    }

    .schedule-item.active{
      background:linear-gradient(135deg,#05255a,#0a3a7a);
      color:#fff;
      border-color:transparent;
    }

    .schedule-item strong{
      display:block;
      color:inherit;
      font-size:.92rem;
      font-weight:800;
    }

    .schedule-item span{
      display:block;
      margin-top:4px;
      color:inherit;
      opacity:.72;
      font-size:.76rem;
    }

    .schedule-item em{
      min-height:30px;
      padding:0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#0f766e;
      background:#ecfdf5;
      font-size:.70rem;
      font-style:normal;
      font-weight:750;
      white-space:nowrap;
    }

    .schedule-item.active em{
      color:#05255a;
      background:#fff;
    }

    .floating-card{
      position:absolute;
      z-index:3;
      min-width:230px;
      padding:14px;
      border-radius:22px;
      display:flex;
      align-items:center;
      gap:12px;
      background:rgba(255,255,255,.92);
      border:1px solid rgba(255,255,255,.84);
      box-shadow:0 22px 50px rgba(8,32,51,.13);
      backdrop-filter:blur(18px);
    }

    .card-one{left:-32px;bottom:60px}
    .card-two{right:-22px;bottom:12px}

    .mini-icon{
      width:42px;
      height:42px;
      border-radius:16px;
      display:grid;
      place-items:center;
      flex:0 0 42px;
      color:#fff;
      background:var(--r360-accent);
      font-size:1rem;
      font-weight:850;
    }

    .floating-card strong{
      display:block;
      color:var(--r360-ink);
      font-size:.86rem;
      line-height:1.15;
    }

    .floating-card small{
      display:block;
      margin-top:3px;
      color:#73899b;
      font-size:.70rem;
    }

    /* Company strip */
    .company-strip{
      position:relative;
      z-index:5;
      margin-top:-28px;
    }

    .company-inner{
      min-height:72px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding-top:16px;
      padding-bottom:16px;
      border-radius:26px;
      background:rgba(255,255,255,.92);
      border:1px solid rgba(20,184,166,.14);
      box-shadow:var(--r360-shadow-soft);
      color:#557086;
      font-size:.86rem;
      line-height:1.45;
    }

    .company-inner strong,
    .company-inner a{
      color:var(--r360-ink);
      font-weight:800;
    }

    .company-inner a{color:#0f766e}

    /* Benefits */
    .benefit-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:16px;
    }

    .benefit-card{
      position:relative;
      min-height:210px;
      padding:22px;
      border-radius:28px;
      background:#fff;
      border:1px solid var(--r360-line);
      box-shadow:var(--r360-shadow-soft);
      overflow:hidden;
      transition:.18s ease;
    }

    .benefit-card:hover{
      transform:translateY(-4px);
      box-shadow:var(--r360-shadow);
      border-color:rgba(20,184,166,.22);
    }

    .card-icon{
      width:46px;
      height:46px;
      border-radius:18px;
      display:grid;
      place-items:center;
      color:#0f766e;
      background:#ecfdf5;
      border:1px solid rgba(20,184,166,.14);
      font-size:.88rem;
      font-weight:850;
      margin-bottom:18px;
    }

    .benefit-card h3,
    .module-card h3{
      margin:0;
      color:var(--r360-ink);
      font-size:1rem;
      line-height:1.2;
      letter-spacing:-.025em;
      font-weight:800;
    }

    .benefit-card p,
    .module-card p{
      margin:10px 0 0;
      color:#557086;
      font-size:.82rem;
      line-height:1.55;
    }

    /* Modules */
    .section-blue{
      overflow:hidden;
      background:
        radial-gradient(760px 360px at 10% 10%, rgba(56,189,248,.16), transparent 70%),
        linear-gradient(135deg,#05255a 0%,#0a3a7a 48%,#0f766e 130%);
      color:#fff;
    }

    .section-blue .eyebrow{
      color:#dffaf2;
      background:rgba(255,255,255,.10);
      border-color:rgba(255,255,255,.16);
    }

    .section-blue .section-heading h2,
    .section-blue .modules-heading h2{
      color:#fff;
    }

    .section-blue .section-heading p,
    .section-blue .modules-heading p{
      color:rgba(255,255,255,.70);
    }

    .modules-grid-detailed{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:15px;
    }

    .module-card{
      min-height:218px;
      padding:20px;
      border-radius:26px;
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.13);
      box-shadow:0 18px 40px rgba(0,0,0,.13);
      backdrop-filter:blur(14px);
      transition:.18s ease;
    }

    .module-card:hover{
      transform:translateY(-4px);
      background:rgba(255,255,255,.13);
      border-color:rgba(255,255,255,.23);
    }

    .module-card-head{
      display:flex;
      align-items:center;
      gap:10px;
      margin-bottom:12px;
    }

    .module-dot{
      width:12px;
      height:12px;
      border-radius:999px;
      background:#5eead4;
      box-shadow:0 0 0 7px rgba(94,234,212,.10);
      flex:0 0 12px;
    }

    .module-card h3{color:#fff;font-size:.94rem}
    .module-card p{color:rgba(255,255,255,.73);font-size:.76rem}

    .module-card ul{
      display:grid;
      gap:7px;
      margin:14px 0 0;
      padding:0;
      list-style:none;
    }

    .module-card li{
      position:relative;
      padding-left:18px;
      color:rgba(255,255,255,.78);
      font-size:.72rem;
      line-height:1.35;
    }

    .module-card li::before{
      content:"✓";
      position:absolute;
      left:0;
      top:0;
      color:#5eead4;
      font-weight:900;
    }

    .module-card-highlight{
      background:linear-gradient(135deg,rgba(20,184,166,.24),rgba(56,189,248,.16));
      border-color:rgba(94,234,212,.30);
    }

    /* Pricing */
    .r360-pricing{
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(760px 360px at 12% 8%, rgba(204,251,241,.48), transparent 68%),
        radial-gradient(680px 320px at 90% 10%, rgba(224,242,254,.66), transparent 70%),
        linear-gradient(135deg,#ffffff 0%,#f7fffc 54%,#f8fbff 100%);
    }

    .r360-pricing-layout{
      display:grid;
      grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
      gap:22px;
      align-items:stretch;
      margin-top:34px;
    }

    .r360-price-card,
    .r360-hosting-card{
      border-radius:34px;
      background:#ffffff;
      border:1px solid rgba(15,118,110,.14);
      box-shadow:0 24px 60px rgba(16,42,67,.085);
      overflow:hidden;
    }

    .r360-price-head{
      min-height:102px;
      padding:24px 26px;
      display:flex;
      align-items:center;
      gap:16px;
      color:#ffffff;
      background:var(--r360-accent);
    }

    .r360-price-icon,
    .r360-hosting-icon{
      width:60px;
      height:60px;
      min-width:60px;
      border-radius:23px;
      display:grid;
      place-items:center;
      background:#ffffff;
      color:#0f766e;
      font-size:1.42rem;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 24px rgba(15,118,110,.14);
    }

    .r360-price-head h3{
      margin:0;
      color:#ffffff;
      font-size:1.1rem;
      line-height:1.15;
      letter-spacing:-.025em;
      font-weight:850;
    }

    .r360-price-head span{
      display:block;
      margin-top:5px;
      color:rgba(255,255,255,.88);
      font-size:.8rem;
      line-height:1.35;
    }

    .r360-price-badge{
      margin-left:auto;
      min-height:34px;
      padding:0 13px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      color:#0f766e;
      background:#ecfdf5;
      border:1px solid rgba(255,255,255,.54);
      font-size:.68rem;
      font-weight:800;
      white-space:nowrap;
    }

    .r360-price-body{padding:28px;}

    .r360-price-main{
      display:grid;
      grid-template-columns:.88fr 1.12fr;
      gap:22px;
      align-items:center;
      padding-bottom:22px;
      margin-bottom:22px;
      border-bottom:1px solid rgba(15,118,110,.13);
    }

    .r360-price-uf{color:#0f766e;}
    .r360-price-uf .uf{font-size:1.1rem;vertical-align:top;margin-right:5px;font-weight:800;}
    .r360-price-uf .number{font-size:4.35rem;line-height:.86;letter-spacing:-.085em;font-weight:850;}
    .r360-price-uf .period{display:block;margin-top:7px;padding-left:48px;color:#12323a;font-size:.92rem;}

    .r360-price-clp{
      padding:18px;
      border-radius:22px;
      background:linear-gradient(135deg,#f0fdfa,#e0f2fe);
      border:1px solid rgba(15,118,110,.16);
    }

    .r360-price-clp span{
      display:block;
      color:#557590;
      font-size:.70rem;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.04em;
    }

    .r360-price-clp strong{
      display:block;
      margin-top:7px;
      color:#0f766e;
      font-size:2rem;
      line-height:1;
      letter-spacing:-.055em;
    }

    .r360-price-clp small{
      display:block;
      margin-top:8px;
      color:#5d7881;
      font-size:.72rem;
      line-height:1.35;
    }

    .r360-price-list{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px 18px;
      margin:0;
      padding:0;
      list-style:none;
    }

    .r360-price-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      color:#344f59;
      font-size:.80rem;
      line-height:1.4;
    }

    .r360-price-list i{
      width:22px;
      height:22px;
      min-width:22px;
      border-radius:999px;
      display:grid;
      place-items:center;
      color:#0f766e;
      background:#ecfdf5;
      border:1px solid rgba(15,118,110,.10);
      font-size:.75rem;
    }

    .r360-hosting-card{
      padding:28px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }

    .r360-hosting-icon{
      background:#ecfdf5;
      color:#0f766e;
      border:1px solid rgba(15,118,110,.13);
      box-shadow:none;
      margin-bottom:18px;
    }

    .r360-hosting-card h3{
      margin:0;
      color:#12323a;
      font-size:1.12rem;
      letter-spacing:-.025em;
      font-weight:850;
    }

    .r360-hosting-card p{
      margin:12px 0 0;
      color:#486572;
      font-size:.86rem;
      line-height:1.6;
    }

    .r360-hosting-list{
      display:grid;
      gap:10px;
      margin:18px 0 0;
      padding:0;
      list-style:none;
    }

    .r360-hosting-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      padding:10px 12px;
      border-radius:16px;
      background:rgba(236,253,245,.84);
      border:1px solid rgba(15,118,110,.11);
      color:#34566d;
      font-size:.76rem;
      line-height:1.36;
    }

    .r360-hosting-list i{color:#0f766e;margin-top:1px;}

    .r360-pricing-note{
      margin-top:20px;
      padding:15px 18px;
      border-radius:22px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      text-align:center;
      color:#0f766e;
      background:linear-gradient(135deg,#f0fdfa,#e0f2fe);
      border:1px solid rgba(15,118,110,.14);
      font-size:.88rem;
      font-weight:800;
    }

    /* Validation */
    .validation-section{
      background:#fff;
    }

    .validation-card{
      display:grid;
      grid-template-columns:1.25fr .75fr;
      gap:26px;
      align-items:center;
      padding:34px;
      border-radius:34px;
      background:
        radial-gradient(540px 260px at 8% 0%, rgba(204,251,241,.55), transparent 72%),
        #ffffff;
      border:1px solid rgba(20,184,166,.15);
      box-shadow:var(--r360-shadow);
    }

    .validation-badge{
      min-height:190px;
      border-radius:30px;
      display:grid;
      place-items:center;
      text-align:center;
      padding:24px;
      color:#fff;
      background:var(--r360-gradient);
      box-shadow:0 20px 46px rgba(5,37,90,.22);
    }

    .validation-badge strong{
      display:block;
      font-size:1.2rem;
      line-height:1.15;
      letter-spacing:-.035em;
    }

    .validation-badge span{
      display:block;
      margin-top:8px;
      color:rgba(255,255,255,.78);
      font-size:.82rem;
      line-height:1.4;
    }

    /* Contact */
    .contact-grid{
      display:grid;
      grid-template-columns:1fr minmax(320px,.62fr);
      gap:28px;
      align-items:center;
    }

    .contact-card{
      padding:22px;
      border-radius:30px;
      background:#fff;
      border:1px solid var(--r360-line);
      box-shadow:var(--r360-shadow);
      display:grid;
      gap:12px;
    }

    .contact-row{
      min-height:72px;
      display:flex;
      align-items:center;
      gap:12px;
      padding:14px;
      border-radius:22px;
      background:#f8fbff;
      border:1px solid var(--r360-line);
      transition:.18s ease;
    }

    .contact-row:hover{
      transform:translateY(-2px);
      background:#f7fffc;
      border-color:rgba(20,184,166,.20);
    }

    .contact-row > span{
      width:42px;
      height:42px;
      border-radius:16px;
      display:grid;
      place-items:center;
      color:#fff;
      background:var(--r360-accent);
      font-weight:850;
    }

    .contact-row small{
      display:block;
      color:#73899b;
      font-size:.70rem;
      text-transform:uppercase;
      letter-spacing:.05em;
      font-weight:800;
    }

    .contact-row strong{
      display:block;
      margin-top:3px;
      color:var(--r360-ink);
      font-size:.9rem;
    }

    .contact-card .full{width:100%;}

    /* Footer */
    .site-footer{
      padding:30px 0;
      color:rgba(255,255,255,.72);
      background:linear-gradient(135deg,#041b42,#05255a 58%,#0f766e 140%);
    }

    .footer-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      font-size:.78rem;
    }

    .footer-inner p{margin:0;color:rgba(255,255,255,.72)}
    .footer-inner a{color:#a7f3d0;font-weight:750;}

    /* Responsive */
    @media(max-width:1120px){
      .nav-menu a{padding:0 8px;font-size:.70rem}
      .nav-menu .nav-cta{padding:0 11px}
    }

    @media(max-width:980px){
      .site-header{top:10px}
      .navbar{margin:0 12px;position:relative}
      .nav-toggle{display:flex}
      .nav-menu{
        display:none;
        position:absolute;
        left:12px;
        right:12px;
        top:78px;
        padding:12px;
        border-radius:22px;
        background:rgba(255,255,255,.97);
        border:1px solid rgba(255,255,255,.78);
        box-shadow:0 20px 46px rgba(8,32,51,.14);
        backdrop-filter:blur(18px);
        flex-direction:column;
        align-items:stretch;
      }
      .nav-menu.is-open{display:flex}
      .nav-menu a,
      .nav-menu .nav-cta{
        width:100%;
        justify-content:flex-start;
        min-height:42px;
        margin-left:0;
      }
      .hero-grid,
      .r360-pricing-layout,
      .validation-card,
      .contact-grid{
        grid-template-columns:1fr;
      }
      .hero-panel{min-height:auto;max-width:680px;margin:0 auto;width:100%}
      .floating-card{position:relative;left:auto;right:auto;bottom:auto;margin-top:12px;width:100%}
      .company-inner{display:grid;text-align:center}
      .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .modules-grid-detailed{grid-template-columns:repeat(2,minmax(0,1fr))}
    }

    @media(max-width:720px){
      .container{padding-left:14px;padding-right:14px}
      .section{padding:56px 0}
      .navbar{min-height:60px;border-radius:22px;padding-left:12px;padding-right:12px}
      .brand-logo{width:126px;max-height:40px}
      .brand-subline{display:none}
      .hero{padding:106px 0 48px}
      .hero-grid{gap:30px}
      .hero h1{font-size:2.05rem;line-height:1.04;letter-spacing:-.065em}
      .hero-lead{font-size:.90rem;line-height:1.56;margin-top:16px}
      .hero-badge{font-size:.64rem;min-height:30px;padding:0 11px}
      .hero-actions{gap:10px;margin-top:22px}
      .hero-actions .btn{width:100%;min-height:46px;font-size:.82rem}
      .trust-line{padding:14px;border-radius:20px}
      .trust-line strong{font-size:.82rem}
      .mockup-card.main-card{border-radius:26px;padding:14px}
      .dashboard-head strong{font-size:1rem}
      .schedule-item{min-height:auto;align-items:flex-start;flex-direction:column;padding:13px;border-radius:18px}
      .schedule-item em{align-self:flex-start}
      .company-strip{margin-top:0;padding-top:10px}
      .company-inner{border-radius:22px;font-size:.76rem}
      .section-heading{margin-bottom:24px}
      .section-heading h2,
      .validation-card h2,
      .contact-grid h2{font-size:1.45rem;line-height:1.10}
      .section-heading p,
      .validation-card p,
      .contact-grid p{font-size:.82rem;line-height:1.52}
      .benefit-grid,
      .modules-grid-detailed{grid-template-columns:1fr;gap:12px}
      .benefit-card,.module-card{min-height:auto;border-radius:22px;padding:18px}
      .r360-price-card,.r360-hosting-card{border-radius:26px}
      .r360-price-head{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:18px}
      .r360-price-badge{grid-column:1 / -1;margin-left:0;width:max-content}
      .r360-price-icon,.r360-hosting-icon{width:50px;height:50px;min-width:50px;border-radius:18px}
      .r360-price-body,.r360-hosting-card{padding:18px}
      .r360-price-main{grid-template-columns:1fr;gap:16px}
      .r360-price-uf{text-align:center}
      .r360-price-uf .number{font-size:3.45rem}
      .r360-price-uf .period{padding-left:0}
      .r360-price-clp{text-align:center}
      .r360-price-clp strong{font-size:1.6rem}
      .r360-price-list{grid-template-columns:1fr}
      .r360-pricing-note{align-items:flex-start;font-size:.76rem}
      .validation-card{padding:20px;border-radius:26px}
      .validation-badge{min-height:150px;border-radius:24px}
      .contact-card{padding:16px;border-radius:24px}
      .contact-row{min-height:auto;border-radius:18px}
      .footer-inner{display:grid;text-align:center;justify-content:center}
    }

    @media(prefers-reduced-motion:reduce){
      *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
    }


    /* =====================================================
       Ajuste portada real + responsive 100%
       Usa capturas reales del sistema en escritorio y celular.
       ===================================================== */
    .hero{
      padding:126px 0 72px !important;
      background:
        radial-gradient(780px 360px at 88% 14%, rgba(20,184,166,.16), transparent 70%),
        radial-gradient(700px 340px at 6% 10%, rgba(56,189,248,.14), transparent 68%),
        linear-gradient(135deg,#ffffff 0%,#f8fbff 46%,#effdf8 118%) !important;
    }

    .hero-grid{
      grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr) !important;
      gap:42px !important;
    }

    .hero h1{
      font-size:clamp(2.15rem,4.25vw,4.18rem) !important;
      line-height:1.01 !important;
      max-width:640px;
    }

    .hero-lead{
      max-width:610px;
      font-size:1rem !important;
      line-height:1.62 !important;
    }

    .hero-real-panel{
      position:relative;
      min-height:0;
      width:100%;
    }

    .real-showcase{
      position:relative;
      width:100%;
      isolation:isolate;
    }

    .real-showcase::before{
      content:"";
      position:absolute;
      inset:32px -18px -18px 54px;
      border-radius:42px;
      background:linear-gradient(135deg,rgba(56,189,248,.16),rgba(20,184,166,.18));
      filter:blur(18px);
      z-index:-1;
    }

    .real-desktop-card{
      position:relative;
      overflow:hidden;
      border-radius:30px;
      background:#ffffff;
      border:1px solid rgba(5,37,90,.12);
      box-shadow:0 26px 70px rgba(8,32,51,.14);
    }

    .real-device-bar{
      min-height:48px;
      padding:0 16px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      background:linear-gradient(180deg,#ffffff,#f8fbff);
      border-bottom:1px solid rgba(5,37,90,.08);
    }

    .real-device-dots{
      display:flex;
      gap:7px;
    }

    .real-device-dots span{
      width:10px;
      height:10px;
      border-radius:999px;
      background:#cbd5e1;
    }

    .real-device-dots span:nth-child(1){background:#fb7185;}
    .real-device-dots span:nth-child(2){background:#fbbf24;}
    .real-device-dots span:nth-child(3){background:#34d399;}

    .real-device-title{
      min-height:28px;
      padding:0 10px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      gap:7px;
      color:#0f766e;
      background:#ecfdf5;
      border:1px solid rgba(20,184,166,.14);
      font-size:.68rem;
      font-weight:750;
      white-space:nowrap;
    }

    .real-desktop-shot{
      padding:10px;
      background:#f8fbff;
    }

    .real-desktop-shot img{
      display:block;
      width:100%;
      height:auto;
      border-radius:20px;
      border:1px solid rgba(5,37,90,.10);
    }

    .real-phone-card{
      position:absolute;
      right:18px;
      bottom:-46px;
      width:min(35%,218px);
      overflow:hidden;
      border-radius:32px;
      background:#ffffff;
      border:7px solid #ffffff;
      box-shadow:0 24px 64px rgba(8,32,51,.24);
      z-index:3;
    }

    .real-phone-card::before{
      content:"";
      position:absolute;
      top:7px;
      left:50%;
      transform:translateX(-50%);
      width:56px;
      height:5px;
      border-radius:999px;
      background:rgba(8,32,51,.18);
      z-index:2;
    }

    .real-phone-card img{
      display:block;
      width:100%;
      height:auto;
      border-radius:24px;
    }

    .real-proof-row{
      margin-top:60px;
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }

    .real-proof-pill{
      min-height:54px;
      padding:12px 14px;
      border-radius:20px;
      display:flex;
      align-items:center;
      gap:10px;
      background:rgba(255,255,255,.88);
      border:1px solid rgba(20,184,166,.16);
      box-shadow:0 14px 34px rgba(8,32,51,.08);
    }

    .real-proof-pill i{
      width:34px;
      height:34px;
      min-width:34px;
      border-radius:13px;
      display:grid;
      place-items:center;
      color:#fff;
      background:var(--r360-accent);
    }

    .real-proof-pill strong{
      display:block;
      color:var(--r360-ink);
      font-size:.78rem;
      line-height:1.15;
    }

    .real-proof-pill span{
      display:block;
      margin-top:2px;
      color:#73899b;
      font-size:.66rem;
      line-height:1.25;
    }

    @media(max-width:1180px){
      .hero-grid{
        grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr) !important;
        gap:32px !important;
      }

      .real-phone-card{
        width:min(33%,190px);
        bottom:-38px;
      }
    }

    @media(max-width:980px){
      .hero-grid{
        grid-template-columns:1fr !important;
      }

      .hero-copy{
        max-width:760px;
      }

      .hero-real-panel{
        max-width:780px;
        margin:0 auto;
      }
    }

    @media(max-width:720px){
      .hero{
        padding:98px 0 42px !important;
      }

      .hero h1{
        font-size:1.82rem !important;
        line-height:1.08 !important;
        letter-spacing:-.055em !important;
      }

      .hero-lead{
        font-size:.86rem !important;
        line-height:1.5 !important;
      }

      .hero-badge{
        max-width:100%;
        min-height:auto;
        padding:8px 11px;
        border-radius:16px;
        line-height:1.25;
        align-items:flex-start;
      }

      .hero-actions .btn{
        width:100%;
        min-height:44px !important;
      }

      .trust-line{
        margin-top:18px;
      }

      .real-showcase::before{
        inset:14px -8px -8px 20px;
        border-radius:28px;
        filter:blur(12px);
      }

      .real-desktop-card{
        border-radius:24px;
      }

      .real-device-bar{
        min-height:42px;
        padding:0 12px;
      }

      .real-device-title{
        font-size:.58rem;
        max-width:70%;
        overflow:hidden;
        text-overflow:ellipsis;
      }

      .real-desktop-shot{
        padding:8px;
      }

      .real-desktop-shot img{
        border-radius:16px;
      }

      .real-phone-card{
        position:relative;
        right:auto;
        bottom:auto;
        width:min(76%,260px);
        margin:-18px auto 0;
        border-width:6px;
        border-radius:30px;
      }

      .real-proof-row{
        margin-top:14px;
        grid-template-columns:1fr;
        gap:9px;
      }

      .real-proof-pill{
        min-height:auto;
        padding:11px 12px;
        border-radius:17px;
      }
    }



    /* =====================================================
       CORRECCIÓN · Texto visible en sello de validación
       ===================================================== */
    .validation-badge{
      position:relative !important;
      overflow:hidden !important;
      min-height:190px !important;
      padding:28px !important;
      border-radius:30px !important;
      display:flex !important;
      flex-direction:column !important;
      align-items:center !important;
      justify-content:center !important;
      text-align:center !important;
      color:#ffffff !important;
      background:linear-gradient(135deg,#073b8f 0%,#0f766e 58%,#10b981 100%) !important;
      border:1px solid rgba(255,255,255,.20) !important;
      box-shadow:0 22px 48px rgba(5,37,90,.22) !important;
    }

    .validation-badge::before{
      content:"";
      position:absolute;
      inset:14px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.26);
      pointer-events:none;
    }

    .validation-badge::after{
      content:"";
      position:absolute;
      width:190px;
      height:190px;
      right:-58px;
      top:-68px;
      border-radius:50%;
      background:rgba(255,255,255,.14);
      pointer-events:none;
    }

    .validation-badge strong{
      position:relative !important;
      z-index:2 !important;
      display:inline-flex !important;
      align-items:center !important;
      justify-content:center !important;
      width:max-content !important;
      max-width:100% !important;
      margin:0 auto 12px !important;
      padding:8px 14px !important;
      border-radius:999px !important;
      color:#ffffff !important;
      background:rgba(255,255,255,.14) !important;
      border:1px solid rgba(255,255,255,.24) !important;
      font-size:1.18rem !important;
      line-height:1.1 !important;
      font-weight:800 !important;
      letter-spacing:-.025em !important;
      text-shadow:0 2px 10px rgba(0,0,0,.28) !important;
      opacity:1 !important;
      visibility:visible !important;
    }

    .validation-badge span{
      position:relative !important;
      z-index:2 !important;
      display:block !important;
      max-width:320px !important;
      margin:0 auto !important;
      color:#ffffff !important;
      font-size:.90rem !important;
      line-height:1.42 !important;
      font-weight:600 !important;
      text-shadow:0 2px 10px rgba(0,0,0,.24) !important;
      opacity:1 !important;
      visibility:visible !important;
    }

    @media(max-width:720px){
      .validation-badge{
        min-height:132px !important;
        padding:22px 18px !important;
        border-radius:24px !important;
      }

      .validation-badge::before{
        inset:10px !important;
        border-radius:19px !important;
      }

      .validation-badge strong{
        width:auto !important;
        font-size:.98rem !important;
        padding:7px 12px !important;
        margin-bottom:9px !important;
        white-space:normal !important;
      }

      .validation-badge span{
        max-width:260px !important;
        font-size:.76rem !important;
        line-height:1.35 !important;
      }
    }

/* =====================================================
   Video demo en portada · pantalla de celular
   Archivo esperado: assets/video/matias_sport360.mp4
   ===================================================== */
.real-phone-card.phone-video-card{
  width:min(38%,240px);
  right:10px;
  bottom:-62px;
  border:8px solid #ffffff;
  background:#061522;
}

.real-phone-card.phone-video-card video{
  display:block;
  width:100%;
  aspect-ratio:9 / 16;
  height:auto;
  min-height:340px;
  max-height:455px;
  object-fit:cover;
  border-radius:23px;
  background:#061522;
}

.phone-audio-btn{
  position:absolute;
  left:50%;
  top:14px;
  bottom:auto;
  transform:translateX(-50%);
  z-index:5;
  min-height:34px;
  min-width:max-content;
  padding:0 14px;
  border:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#ffffff;
  background:rgba(5,37,90,.86);
  box-shadow:0 12px 28px rgba(0,0,0,.24);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-size:.70rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
}

.phone-audio-btn.is-on{
  background:rgba(15,118,110,.88);
}

.phone-audio-btn i{font-size:.92rem;}

@media(max-width:1180px){
  .real-phone-card.phone-video-card{
    width:min(36%,218px);
    bottom:-52px;
  }
  .real-phone-card.phone-video-card video{
    min-height:315px;
    max-height:420px;
  }
}

@media(max-width:720px){
  .real-phone-card.phone-video-card{
    position:relative;
    right:auto;
    bottom:auto;
    width:min(78%,276px);
    margin:-16px auto 0;
    border-width:7px;
    border-radius:32px;
  }
  .real-phone-card.phone-video-card video{
    min-height:390px;
    max-height:520px;
    border-radius:24px;
  }
  .phone-audio-btn{
    top:14px;
    bottom:auto;
    min-height:36px;
    padding:0 14px;
    font-size:.72rem;
    white-space:nowrap;
  }
}

/* Fallback simple para Bootstrap Icons si no se sube la librería completa. */
.bi{font-style:normal;line-height:1;}
.bi::before{display:inline-block;}
.bi-calendar-check::before,.bi-calendar2-check::before{content:'✓';}
.bi-phone::before{content:'▯';}
.bi-cloud-check::before{content:'☁';}
.bi-hdd-network::before{content:'▣';}
.bi-check2::before,.bi-check-circle::before{content:'✓';}
.bi-stars::before{content:'★';}
.bi-volume-up::before{content:'🔊';}

