/* roulang page: index */
:root{
      --bg:#070A17;
      --bg-2:#0D1230;
      --bg-3:#11183B;
      --surface:#11172E;
      --surface-2:#151D3D;
      --card:#0F1631;
      --card-soft:#172044;
      --text:#F5F7FF;
      --text-2:#C9D1EA;
      --muted:#8F9ABB;
      --line:rgba(152, 169, 218, .18);
      --line-strong:rgba(108, 240, 255, .38);
      --primary:#72F7FF;
      --primary-2:#8D6BFF;
      --accent:#FFCF5A;
      --pink:#FF5CAA;
      --green:#6DFFB8;
      --danger:#FF6D83;
      --shadow:0 24px 60px rgba(0,0,0,.38);
      --shadow-neon:0 0 28px rgba(114,247,255,.22);
      --radius-sm:12px;
      --radius:20px;
      --radius-lg:30px;
      --container:1180px;
      --nav-height:74px;
      --ease:all .22s ease;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--text);
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      line-height:1.75;
      background:
        radial-gradient(circle at 18% 8%, rgba(141,107,255,.25), transparent 34%),
        radial-gradient(circle at 82% 14%, rgba(114,247,255,.16), transparent 30%),
        linear-gradient(180deg,#070A17 0%,#0B1029 42%,#080B1A 100%);
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none;transition:var(--ease)}
    a:hover,a:focus{color:var(--primary)}
    img{max-width:100%;display:block}
    button,input,textarea,select{
      font:inherit;
      outline:none;
    }
    button{cursor:pointer}
    ::selection{background:rgba(114,247,255,.28);color:#fff}

    .site-shell{
      min-height:100vh;
      position:relative;
      overflow:hidden;
    }
    .site-shell:before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
      background-size:48px 48px;
      mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 68%);
    }
    .container{
      width:min(var(--container), calc(100% - 40px));
      margin:0 auto;
      position:relative;
      z-index:1;
    }
    .skip-link{
      position:absolute;
      left:16px;
      top:-60px;
      z-index:9999;
      background:var(--primary);
      color:#06101B;
      padding:10px 14px;
      border-radius:999px;
      font-weight:800;
    }
    .skip-link:focus{top:14px}

    .site-header{
      position:sticky;
      top:0;
      z-index:1000;
      height:var(--nav-height);
      background:rgba(7,10,23,.82);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(114,247,255,.17);
      box-shadow:0 12px 34px rgba(0,0,0,.28);
    }
    .nav-wrap{
      height:var(--nav-height);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
      font-weight:900;
      letter-spacing:.2px;
    }
    .brand-mark{
      width:42px;
      height:42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      color:#06101B;
      background:
        radial-gradient(circle at 30% 25%, #fff 0 8%, transparent 9%),
        linear-gradient(135deg,var(--primary),var(--primary-2));
      box-shadow:0 0 24px rgba(114,247,255,.35);
      flex:0 0 auto;
    }
    .brand span{
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .nav-menu{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .nav-menu a{
      position:relative;
      display:flex;
      align-items:center;
      min-height:40px;
      padding:8px 16px;
      border-radius:999px;
      color:var(--text-2);
      font-weight:750;
      font-size:15px;
    }
    .nav-menu a:after{
      content:"";
      position:absolute;
      left:18px;
      right:18px;
      bottom:4px;
      height:2px;
      border-radius:4px;
      background:linear-gradient(90deg,var(--primary),var(--pink));
      transform:scaleX(0);
      transition:var(--ease);
      transform-origin:center;
    }
    .nav-menu a:hover{
      color:#fff;
      background:rgba(114,247,255,.08);
    }
    .nav-menu a:hover:after,.nav-menu .active a:after{transform:scaleX(1)}
    .nav-menu .active a{
      color:#fff;
      background:linear-gradient(180deg,rgba(114,247,255,.16),rgba(141,107,255,.10));
      box-shadow:inset 0 0 0 1px rgba(114,247,255,.28),0 0 18px rgba(114,247,255,.12);
    }
    .nav-actions{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .nav-search{
      width:220px;
      height:42px;
      display:flex;
      align-items:center;
      gap:8px;
      padding:0 13px;
      border:1px solid rgba(114,247,255,.18);
      background:rgba(255,255,255,.055);
      border-radius:999px;
      color:var(--muted);
    }
    .nav-search input{
      width:100%;
      min-width:0;
      border:0;
      color:var(--text);
      background:transparent;
      box-shadow:none;
      height:auto;
      margin:0;
      padding:0;
      font-size:14px;
    }
    .nav-search input::placeholder{color:#7E89AA}
    .nav-search:focus-within{
      border-color:rgba(114,247,255,.65);
      box-shadow:0 0 0 4px rgba(114,247,255,.10);
    }
    .menu-toggle{
      display:none;
      width:44px;
      height:44px;
      border:1px solid rgba(114,247,255,.2);
      border-radius:14px;
      background:rgba(255,255,255,.06);
      color:var(--text);
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:46px;
      padding:12px 18px;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:850;
      letter-spacing:.2px;
      transition:var(--ease);
      user-select:none;
      white-space:nowrap;
    }
    .btn-primary{
      color:#07101E;
      background:linear-gradient(135deg,var(--primary),#B5FFFE);
      box-shadow:0 14px 32px rgba(114,247,255,.2);
    }
    .btn-primary:hover,.btn-primary:focus{
      color:#07101E;
      transform:translateY(-2px);
      box-shadow:0 20px 42px rgba(114,247,255,.3);
    }
    .btn-ghost{
      color:var(--text);
      border-color:rgba(255,255,255,.16);
      background:rgba(255,255,255,.055);
    }
    .btn-ghost:hover,.btn-ghost:focus{
      border-color:rgba(114,247,255,.44);
      background:rgba(114,247,255,.09);
      transform:translateY(-2px);
    }
    .btn-dark{
      color:#fff;
      background:linear-gradient(135deg,#192251,#0C122E);
      border-color:rgba(114,247,255,.26);
    }
    .btn-dark:hover{
      color:#fff;
      box-shadow:var(--shadow-neon);
      transform:translateY(-2px);
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 11px;
      border-radius:999px;
      color:#DFFBFF;
      background:rgba(114,247,255,.10);
      border:1px solid rgba(114,247,255,.22);
      font-size:13px;
      font-weight:800;
    }
    .badge-hot{background:rgba(255,92,170,.12);border-color:rgba(255,92,170,.26);color:#FFD9EA}
    .badge-safe{background:rgba(109,255,184,.11);border-color:rgba(109,255,184,.25);color:#D8FFEE}
    .section{
      padding:84px 0;
      position:relative;
    }
    .section.compact{padding:62px 0}
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:24px;
      margin-bottom:28px;
    }
    .section-kicker{
      color:var(--primary);
      font-weight:900;
      letter-spacing:.08em;
      font-size:13px;
      margin-bottom:8px;
    }
    .section-title{
      margin:0;
      color:#fff;
      font-weight:950;
      letter-spacing:-.02em;
      line-height:1.25;
      font-size:clamp(26px,3.1vw,42px);
    }
    .section-desc{
      max-width:720px;
      margin:12px 0 0;
      color:var(--text-2);
      font-size:16px;
      line-height:1.9;
    }

    .hero{
      padding:70px 0 46px;
    }
    .hero-panel{
      position:relative;
      overflow:hidden;
      border:1px solid rgba(114,247,255,.18);
      border-radius:var(--radius-lg);
      background:
        linear-gradient(120deg,rgba(15,22,49,.92),rgba(15,22,49,.70)),
        radial-gradient(circle at 72% 18%,rgba(114,247,255,.22),transparent 38%),
        radial-gradient(circle at 18% 82%,rgba(255,92,170,.18),transparent 35%);
      box-shadow:var(--shadow);
    }
    .hero-panel:before{
      content:"";
      position:absolute;
      inset:-1px;
      background:
        linear-gradient(90deg,transparent,rgba(114,247,255,.32),transparent);
      height:1px;
      top:0;
    }
    .hero-inner{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:26px;
      padding:42px;
      align-items:stretch;
    }
    .hero-copy{
      padding:12px 0;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .hero h1{
      margin:18px 0 16px;
      max-width:850px;
      font-size:clamp(34px,5.2vw,66px);
      line-height:1.08;
      letter-spacing:-.045em;
      font-weight:1000;
      color:#fff;
    }
    .hero-lead{
      max-width:760px;
      margin:0;
      color:#D8DEF4;
      font-size:18px;
      line-height:1.95;
    }
    .hero-points{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin:24px 0 0;
      padding:0;
      list-style:none;
    }
    .hero-points li{
      display:flex;
      align-items:center;
      gap:8px;
      min-height:38px;
      padding:8px 12px;
      color:#EAFBFF;
      background:rgba(255,255,255,.065);
      border:1px solid rgba(255,255,255,.10);
      border-radius:999px;
      font-weight:750;
      font-size:14px;
    }
    .lead-card{
      position:relative;
      border-radius:26px;
      padding:24px;
      background:rgba(6,10,27,.72);
      border:1px solid rgba(114,247,255,.22);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
    }
    .lead-card h2{
      margin:0 0 8px;
      font-size:24px;
      color:#fff;
      font-weight:950;
    }
    .lead-card p{
      margin:0 0 18px;
      color:var(--text-2);
      line-height:1.75;
    }
    .lead-form{
      display:grid;
      gap:12px;
    }
    .field{
      display:grid;
      gap:7px;
    }
    .field label{
      color:#EEF6FF;
      font-weight:800;
      font-size:14px;
    }
    .field input,.field select,.field textarea{
      width:100%;
      min-height:48px;
      margin:0;
      border:1px solid rgba(153,170,220,.20);
      border-radius:15px;
      background:rgba(255,255,255,.07);
      color:#fff;
      padding:12px 14px;
      box-shadow:none;
      transition:var(--ease);
    }
    .field textarea{resize:vertical;min-height:88px}
    .field input::placeholder,.field textarea::placeholder{color:#8D98B7}
    .field input:focus,.field select:focus,.field textarea:focus{
      border-color:rgba(114,247,255,.72);
      box-shadow:0 0 0 4px rgba(114,247,255,.10);
      background:rgba(255,255,255,.09);
    }
    .form-note{
      display:flex;
      align-items:flex-start;
      gap:8px;
      margin:2px 0 0;
      color:#AEB9D8;
      font-size:13px;
      line-height:1.65;
    }
    .form-message{
      display:none;
      padding:10px 12px;
      border-radius:14px;
      color:#D8FFEE;
      background:rgba(109,255,184,.10);
      border:1px solid rgba(109,255,184,.24);
      font-size:14px;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:26px;
    }

    .ticker-wrap{
      display:grid;
      grid-template-columns:280px 1fr;
      gap:18px;
      align-items:stretch;
    }
    .update-calendar{
      border-radius:var(--radius);
      padding:22px;
      background:linear-gradient(145deg,rgba(114,247,255,.12),rgba(141,107,255,.10));
      border:1px solid rgba(114,247,255,.20);
    }
    .update-calendar .big{
      margin:6px 0 0;
      font-size:48px;
      line-height:1;
      font-weight:1000;
      letter-spacing:-.04em;
      color:#fff;
    }
    .update-calendar .small{
      color:#B9C6E5;
      margin-top:8px;
    }
    .dynamic-list{
      display:grid;
      gap:12px;
    }
    .dynamic-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:14px;
      align-items:center;
      padding:16px;
      border-radius:18px;
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.09);
      transition:var(--ease);
    }
    .dynamic-item:hover{
      transform:translateY(-2px);
      border-color:rgba(114,247,255,.35);
      box-shadow:0 16px 34px rgba(0,0,0,.20);
    }
    .dynamic-icon{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:14px;
      background:rgba(114,247,255,.11);
      color:var(--primary);
    }
    .dynamic-item h3{
      margin:0;
      font-size:17px;
      font-weight:900;
      color:#fff;
    }
    .dynamic-item p{
      margin:2px 0 0;
      color:var(--muted);
      line-height:1.6;
      font-size:14px;
    }
    .dynamic-time{
      color:#9EACCD;
      font-size:13px;
      white-space:nowrap;
    }

    .answer-layout{
      display:grid;
      grid-template-columns:.82fr 1.18fr;
      gap:22px;
      align-items:start;
    }
    .answer-panel{
      position:sticky;
      top:98px;
      padding:26px;
      border-radius:var(--radius);
      background:
        radial-gradient(circle at 80% 0,rgba(255,207,90,.16),transparent 36%),
        rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.10);
    }
    .answer-panel h3{
      color:#fff;
      margin:0 0 10px;
      font-size:24px;
      font-weight:950;
    }
    .answer-panel p{color:var(--text-2);margin:0}
    .metric-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
      margin-top:22px;
    }
    .metric-card{
      padding:16px;
      border-radius:17px;
      background:rgba(7,10,23,.46);
      border:1px solid rgba(114,247,255,.16);
    }
    .metric-card strong{
      display:block;
      font-size:28px;
      color:#fff;
      line-height:1.1;
      letter-spacing:-.04em;
    }
    .metric-card span{
      color:#AEB8D6;
      font-size:13px;
    }
    .faq-list{
      display:grid;
      gap:12px;
    }
    .faq-item{
      border-radius:18px;
      overflow:hidden;
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.10);
      transition:var(--ease);
    }
    .faq-item:hover{border-color:rgba(114,247,255,.32)}
    .faq-q{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:18px 20px;
      color:#fff;
      background:transparent;
      border:0;
      text-align:left;
      font-weight:900;
    }
    .faq-q i{color:var(--primary);transition:var(--ease)}
    .faq-a{
      display:none;
      padding:0 20px 20px;
      color:var(--text-2);
      line-height:1.9;
    }
    .faq-item.open .faq-a{display:block}
    .faq-item.open .faq-q i{transform:rotate(45deg)}

    .entry-matrix{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
    }
    .entry-card{
      min-height:150px;
      padding:20px;
      border-radius:22px;
      background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045));
      border:1px solid rgba(255,255,255,.10);
      transition:var(--ease);
      position:relative;
      overflow:hidden;
    }
    .entry-card:before{
      content:"";
      position:absolute;
      inset:auto -25% -45% auto;
      width:110px;
      height:110px;
      border-radius:999px;
      background:rgba(114,247,255,.10);
      filter:blur(4px);
    }
    .entry-card:hover{
      transform:translateY(-4px);
      border-color:rgba(114,247,255,.35);
      box-shadow:0 16px 36px rgba(0,0,0,.23);
    }
    .entry-card i{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:15px;
      color:#07101E;
      background:linear-gradient(135deg,var(--primary),#CBFFFE);
      margin-bottom:14px;
    }
    .entry-card h3{
      margin:0 0 6px;
      font-size:18px;
      color:#fff;
      font-weight:950;
    }
    .entry-card p{
      margin:0;
      color:#AEB8D6;
      font-size:14px;
      line-height:1.7;
    }

    .info-layout{
      display:grid;
      grid-template-columns:1fr 360px;
      gap:24px;
      align-items:start;
    }
    .news-list{
      border-radius:var(--radius);
      overflow:hidden;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.10);
    }
    .news-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:16px;
      padding:18px 20px;
      border-bottom:1px solid rgba(255,255,255,.08);
      transition:var(--ease);
    }
    .news-item:last-child{border-bottom:0}
    .news-item:hover{
      background:rgba(114,247,255,.07);
    }
    .news-index{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border-radius:12px;
      color:#06101B;
      background:linear-gradient(135deg,var(--accent),#FFF1B2);
      font-weight:1000;
    }
    .news-item h3{
      margin:0 0 3px;
      color:#fff;
      font-size:17px;
      font-weight:900;
    }
    .news-item p{
      margin:0;
      color:#9FAAD0;
      font-size:14px;
      line-height:1.6;
    }
    .news-arrow{
      color:var(--primary);
      opacity:.85;
    }
    .recommend-box{
      border-radius:var(--radius);
      padding:22px;
      background:
        linear-gradient(155deg,rgba(141,107,255,.15),rgba(114,247,255,.07)),
        rgba(255,255,255,.055);
      border:1px solid rgba(114,247,255,.18);
    }
    .recommend-box h3{
      margin:0 0 14px;
      color:#fff;
      font-size:22px;
      font-weight:950;
    }
    .rank-list{
      display:grid;
      gap:12px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .rank-list li{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:12px;
      border-radius:15px;
      background:rgba(7,10,23,.38);
      border:1px solid rgba(255,255,255,.07);
    }
    .rank-no{
      min-width:26px;
      height:26px;
      display:grid;
      place-items:center;
      border-radius:9px;
      background:rgba(114,247,255,.13);
      color:var(--primary);
      font-weight:950;
      font-size:13px;
    }
    .rank-list strong{
      display:block;
      color:#fff;
      font-size:15px;
      line-height:1.45;
    }
    .rank-list span{
      display:block;
      margin-top:2px;
      color:#9EABC8;
      font-size:13px;
      line-height:1.55;
    }

    .safety{
      background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.045));
      border-top:1px solid rgba(255,255,255,.06);
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .safety-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:16px;
    }
    .safety-card{
      padding:22px;
      border-radius:22px;
      background:rgba(7,10,23,.48);
      border:1px solid rgba(114,247,255,.14);
      min-height:210px;
      transition:var(--ease);
    }
    .safety-card:hover{
      transform:translateY(-3px);
      border-color:rgba(109,255,184,.34);
      box-shadow:0 18px 38px rgba(0,0,0,.22);
    }
    .safety-card .shield{
      width:48px;
      height:48px;
      display:grid;
      place-items:center;
      border-radius:16px;
      color:#07101E;
      background:linear-gradient(135deg,var(--green),#D7FFEE);
      margin-bottom:18px;
      box-shadow:0 0 24px rgba(109,255,184,.18);
    }
    .safety-card h3{
      margin:0 0 8px;
      color:#fff;
      font-size:18px;
      font-weight:950;
    }
    .safety-card p{
      margin:0;
      color:#AEB8D6;
      font-size:14px;
      line-height:1.8;
    }

    .app-stage{
      display:grid;
      grid-template-columns:.95fr 1.05fr;
      gap:24px;
      align-items:center;
      border-radius:var(--radius-lg);
      padding:34px;
      background:
        radial-gradient(circle at 82% 20%,rgba(114,247,255,.18),transparent 36%),
        linear-gradient(135deg,rgba(21,29,61,.92),rgba(10,15,37,.92));
      border:1px solid rgba(114,247,255,.17);
      box-shadow:var(--shadow);
    }
    .device-board{
      display:grid;
      gap:14px;
    }
    .device-row{
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:14px;
      padding:15px;
      border-radius:18px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.10);
    }
    .device-row i{
      width:40px;
      height:40px;
      display:grid;
      place-items:center;
      border-radius:14px;
      background:rgba(114,247,255,.12);
      color:var(--primary);
    }
    .device-row strong{display:block;color:#fff;font-size:16px}
    .device-row span{display:block;color:#9DA8C8;font-size:13px;margin-top:1px}
    .progress{
      width:86px;
      height:8px;
      margin:0;
      background:rgba(255,255,255,.10);
      border-radius:999px;
      overflow:hidden;
    }
    .progress-meter{
      height:100%;
      border-radius:999px;
      background:linear-gradient(90deg,var(--primary),var(--pink));
    }
    .app-copy h2{
      margin:0;
      font-size:clamp(27px,3.3vw,44px);
      line-height:1.22;
      color:#fff;
      font-weight:1000;
      letter-spacing:-.03em;
    }
    .app-copy p{
      color:var(--text-2);
      margin:14px 0 0;
      line-height:1.9;
    }
    .feature-list{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
      margin:22px 0 0;
      padding:0;
      list-style:none;
    }
    .feature-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      padding:12px;
      border-radius:15px;
      color:#DCE5FA;
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.08);
      font-size:14px;
      line-height:1.65;
    }
    .feature-list i{color:var(--green);margin-top:5px}

    .contact-strip{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:22px;
      align-items:start;
    }
    .bubble-wall{
      display:grid;
      gap:14px;
    }
    .bubble{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:16px;
      border-radius:20px;
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.10);
    }
    .avatar{
      width:42px;
      height:42px;
      flex:0 0 auto;
      border-radius:50%;
      display:grid;
      place-items:center;
      color:#07101E;
      background:linear-gradient(135deg,var(--accent),#FFF3B7);
      font-weight:950;
    }
    .bubble strong{display:block;color:#fff}
    .bubble p{
      margin:2px 0 0;
      color:#AEB8D6;
      font-size:14px;
      line-height:1.75;
    }
    .final-form{
      padding:26px;
      border-radius:var(--radius);
      background:rgba(255,255,255,.055);
      border:1px solid rgba(114,247,255,.18);
    }
    .final-form h2{
      margin:0 0 10px;
      color:#fff;
      font-size:30px;
      font-weight:1000;
      letter-spacing:-.03em;
    }
    .final-form > p{
      margin:0 0 18px;
      color:var(--text-2);
      line-height:1.85;
    }
    .form-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .form-grid .wide{grid-column:1 / -1}

    .site-footer{
      position:relative;
      z-index:1;
      padding:48px 0 30px;
      background:#060817;
      border-top:1px solid rgba(114,247,255,.14);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:26px;
      align-items:start;
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-size:20px;
      color:#fff;
      font-weight:950;
      margin-bottom:12px;
    }
    .footer-text{
      margin:0;
      max-width:720px;
      color:#AEB8D6;
      line-height:1.9;
    }
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-end;
      gap:10px;
    }
    .footer-links a{
      padding:9px 12px;
      border-radius:999px;
      color:#B9C5E2;
      background:rgba(255,255,255,.045);
      border:1px solid rgba(255,255,255,.07);
      font-size:14px;
    }
    .footer-links a:hover{
      color:#fff;
      border-color:rgba(114,247,255,.32);
      background:rgba(114,247,255,.08);
    }
    .copyright{
      margin-top:30px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.08);
      display:flex;
      justify-content:space-between;
      gap:18px;
      color:#7F8AAA;
      font-size:13px;
    }

    .float-cta{
      position:fixed;
      left:50%;
      bottom:18px;
      transform:translateX(-50%);
      z-index:900;
      width:min(720px,calc(100% - 28px));
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:12px 14px 12px 18px;
      border-radius:999px;
      background:rgba(8,12,29,.86);
      backdrop-filter:blur(18px);
      border:1px solid rgba(114,247,255,.22);
      box-shadow:0 18px 44px rgba(0,0,0,.34);
    }
    .float-cta span{
      color:#EAF8FF;
      font-weight:800;
      font-size:14px;
    }
    .float-cta .btn{min-height:40px;padding:9px 14px;font-size:14px}

    @media (max-width:1024px){
      .nav-search{display:none}
      .hero-inner,.app-stage,.contact-strip,.answer-layout,.info-layout{
        grid-template-columns:1fr;
      }
      .answer-panel{position:relative;top:auto}
      .entry-matrix,.safety-grid{grid-template-columns:repeat(2,1fr)}
      .ticker-wrap{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr}
      .footer-links{justify-content:flex-start}
    }
    @media (max-width:768px){
      :root{--nav-height:68px}
      .container{width:min(100% - 28px,var(--container))}
      .section{padding:64px 0}
      .site-header{height:auto;min-height:var(--nav-height)}
      .nav-wrap{height:auto;min-height:var(--nav-height);flex-wrap:wrap}
      .menu-toggle{display:grid;place-items:center}
      .nav-actions{margin-left:auto}
      .nav-menu{
        order:5;
        width:100%;
        display:none;
        padding:0 0 14px;
        overflow-x:auto;
        justify-content:flex-start;
      }
      .nav-menu.open{display:flex}
      .nav-menu a{padding:8px 14px}
      .hero{padding-top:36px}
      .hero-inner{padding:26px}
      .hero h1{font-size:clamp(32px,10vw,48px)}
      .hero-lead{font-size:16px}
      .lead-card{padding:20px}
      .section-head{
        display:block;
      }
      .section-head .btn{margin-top:16px}
      .dynamic-item,.news-item{
        grid-template-columns:auto 1fr;
      }
      .dynamic-time,.news-arrow{display:none}
      .metric-grid,.feature-list,.form-grid{
        grid-template-columns:1fr;
      }
      .form-grid .wide{grid-column:auto}
      .copyright{
        flex-direction:column;
      }
      .float-cta{
        border-radius:22px;
        align-items:flex-start;
        flex-direction:column;
      }
      .float-cta .btn{width:100%}
    }
    @media (max-width:520px){
      .brand span{max-width:210px}
      .nav-actions .btn{display:none}
      .hero-inner{padding:20px}
      .hero-actions .btn{width:100%}
      .entry-matrix,.safety-grid{grid-template-columns:1fr}
      .app-stage{padding:22px}
      .device-row{
        grid-template-columns:auto 1fr;
      }
      .progress{grid-column:1 / -1;width:100%}
      .news-item{padding:16px}
      .section-title{font-size:28px}
      .footer-links a{width:100%;text-align:center}
      .float-cta{display:none}
    }
