/* roulang page: index */
:root{
      --bg:#fbf7f1;
      --surface:#ffffff;
      --surface-2:#fff7fb;
      --ink:#15111f;
      --text:#312a3d;
      --muted:#6f687d;
      --weak:#9a91a8;
      --line:#e9e2f1;
      --primary:#7258ff;
      --primary-dark:#563fd6;
      --rose:#ff4f86;
      --amber:#ffb547;
      --green:#1fbf75;
      --radius-sm:14px;
      --radius-md:22px;
      --radius-lg:34px;
      --shadow-sm:0 8px 22px rgba(21,17,31,.08);
      --shadow-md:0 18px 50px rgba(36,24,72,.14);
      --shadow-glow:0 20px 80px rgba(114,88,255,.22);
      --container:1180px;
      --header-h:76px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      font-family:Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 12% 4%, rgba(255,79,134,.14), transparent 34%),
        radial-gradient(circle at 88% 10%, rgba(114,88,255,.16), transparent 32%),
        linear-gradient(180deg,#fffaf4 0%, var(--bg) 44%, #fff 100%);
      line-height:1.72;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    a{color:inherit;text-decoration:none}
    img,svg{display:block;max-width:100%}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    ::selection{background:rgba(114,88,255,.18);color:var(--ink)}
    .container{
      width:min(var(--container), calc(100% - 40px));
      margin-inline:auto;
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      min-height:var(--header-h);
      border-bottom:1px solid rgba(233,226,241,.82);
      background:rgba(251,247,241,.78);
      backdrop-filter:blur(20px);
      -webkit-backdrop-filter:blur(20px);
    }
    .nav-shell{
      min-height:var(--header-h);
      display:grid;
      grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);
      align-items:center;
      gap:20px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
      font-weight:900;
      color:var(--ink);
      letter-spacing:-.02em;
    }
    .brand-mark{
      width:42px;
      height:42px;
      border-radius:16px;
      display:grid;
      place-items:center;
      color:#fff;
      background:
        linear-gradient(135deg,var(--primary),var(--rose));
      box-shadow:0 12px 28px rgba(114,88,255,.24);
      flex:0 0 auto;
    }
    .brand-text{
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
      font-size:15px;
    }
    .nav-links{
      justify-self:center;
      display:flex;
      align-items:center;
      gap:8px;
      padding:6px;
      border:1px solid rgba(233,226,241,.95);
      border-radius:999px;
      background:rgba(255,255,255,.68);
      box-shadow:var(--shadow-sm);
    }
    .nav-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      height:38px;
      padding:0 18px;
      border-radius:999px;
      color:var(--muted);
      font-size:14px;
      font-weight:800;
      transition:all .22s ease;
      outline:none;
    }
    .nav-link:hover,.nav-link:focus-visible{
      color:var(--ink);
      background:#fff;
      box-shadow:0 8px 20px rgba(21,17,31,.08);
    }
    .nav-link.active{
      color:#fff;
      background:linear-gradient(135deg,var(--ink),#2b2143);
      box-shadow:0 10px 24px rgba(21,17,31,.18);
    }
    .nav-actions{
      justify-self:end;
      display:flex;
      align-items:center;
      gap:10px;
    }
    .search-pill{
      width:196px;
      height:42px;
      display:flex;
      align-items:center;
      gap:9px;
      border:1px solid rgba(233,226,241,.95);
      border-radius:999px;
      background:rgba(255,255,255,.72);
      padding:0 14px;
      color:var(--weak);
      transition:all .22s ease;
    }
    .search-pill:focus-within{
      border-color:rgba(114,88,255,.52);
      box-shadow:0 0 0 4px rgba(114,88,255,.10);
      background:#fff;
    }
    .search-pill input{
      width:100%;
      border:0;
      outline:0;
      background:transparent;
      color:var(--text);
      font-size:13px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:46px;
      padding:0 20px;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:900;
      letter-spacing:-.01em;
      transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease;
      outline:none;
      white-space:nowrap;
    }
    .btn:hover{transform:translateY(-2px)}
    .btn:active{transform:translateY(0)}
    .btn:focus-visible{box-shadow:0 0 0 4px rgba(114,88,255,.18)}
    .btn-primary{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--rose));
      box-shadow:0 14px 32px rgba(114,88,255,.24);
    }
    .btn-primary:hover{box-shadow:0 18px 42px rgba(255,79,134,.24)}
    .btn-dark{
      color:#fff;
      background:var(--ink);
      box-shadow:0 15px 32px rgba(21,17,31,.20);
    }
    .btn-soft{
      color:var(--ink);
      background:#fff;
      border-color:var(--line);
      box-shadow:var(--shadow-sm);
    }
    .btn-soft:hover{border-color:rgba(114,88,255,.28);box-shadow:var(--shadow-md)}
    .menu-toggle{
      display:none;
      width:44px;
      height:44px;
      border:1px solid var(--line);
      border-radius:15px;
      background:#fff;
      color:var(--ink);
    }
    .section{
      padding:86px 0;
      position:relative;
    }
    .section-tight{padding:58px 0}
    .section-head{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:24px;
      margin-bottom:28px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      min-height:30px;
      padding:0 12px;
      border-radius:999px;
      background:rgba(114,88,255,.10);
      color:var(--primary-dark);
      font-size:13px;
      font-weight:900;
    }
    .eyebrow.dark{
      color:#fff;
      background:rgba(255,255,255,.13);
      border:1px solid rgba(255,255,255,.14);
    }
    .section-title{
      margin:12px 0 0;
      color:var(--ink);
      font-size:clamp(28px,4vw,48px);
      line-height:1.12;
      letter-spacing:-.045em;
      font-weight:950;
    }
    .section-desc{
      max-width:680px;
      margin:12px 0 0;
      color:var(--muted);
      font-size:16px;
      line-height:1.86;
    }
    .hero{
      padding:34px 0 74px;
      overflow:hidden;
    }
    .launch-stage{
      position:relative;
      min-height:620px;
      border:1px solid rgba(233,226,241,.9);
      border-radius:42px;
      background:
        linear-gradient(135deg,rgba(21,17,31,.92),rgba(45,32,73,.88)),
        radial-gradient(circle at 78% 32%, rgba(255,79,134,.32), transparent 30%),
        radial-gradient(circle at 22% 16%, rgba(114,88,255,.45), transparent 35%);
      box-shadow:var(--shadow-glow);
      overflow:hidden;
      color:#fff;
    }
    .launch-stage:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
        linear-gradient(0deg,rgba(255,255,255,.05) 1px,transparent 1px);
      background-size:42px 42px;
      mask-image:linear-gradient(180deg,rgba(0,0,0,.86),transparent 84%);
      pointer-events:none;
    }
    .stage-inner{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:34px;
      min-height:620px;
      align-items:stretch;
      padding:34px;
    }
    .hero-copy{
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:34px;
      padding:22px 8px 18px 16px;
    }
    .hero h1{
      margin:20px 0 0;
      max-width:800px;
      font-size:clamp(38px,6.5vw,86px);
      line-height:.98;
      letter-spacing:-.07em;
      font-weight:950;
      color:#fff;
    }
    .hero-intro{
      max-width:690px;
      margin:22px 0 0;
      color:rgba(255,255,255,.78);
      font-size:18px;
      line-height:1.9;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:12px;
      margin-top:30px;
    }
    .hero-points{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:24px;
    }
    .point-dot{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 13px;
      border:1px solid rgba(255,255,255,.14);
      border-radius:999px;
      background:rgba(255,255,255,.08);
      color:rgba(255,255,255,.84);
      font-size:13px;
      font-weight:800;
    }
    .point-dot:before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--amber);
      box-shadow:0 0 0 5px rgba(255,181,71,.12);
    }
    .hero-metrics{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      max-width:720px;
    }
    .metric-tile{
      padding:18px;
      border:1px solid rgba(255,255,255,.13);
      border-radius:22px;
      background:rgba(255,255,255,.08);
      backdrop-filter:blur(12px);
    }
    .metric-tile strong{
      display:block;
      color:#fff;
      font-size:26px;
      line-height:1;
      letter-spacing:-.04em;
      font-weight:950;
    }
    .metric-tile span{
      display:block;
      margin-top:8px;
      color:rgba(255,255,255,.68);
      font-size:13px;
      line-height:1.45;
    }
    .launch-panel{
      align-self:stretch;
      display:grid;
      grid-template-rows:auto 1fr auto;
      gap:16px;
      padding:18px;
      border:1px solid rgba(255,255,255,.13);
      border-radius:34px;
      background:rgba(255,255,255,.10);
      backdrop-filter:blur(18px);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }
    .count-card{
      min-height:265px;
      display:grid;
      place-items:center;
      border-radius:28px;
      background:
        radial-gradient(circle at 50% 50%,rgba(255,79,134,.30),transparent 38%),
        linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));
      border:1px solid rgba(255,255,255,.12);
      position:relative;
      overflow:hidden;
    }
    .count-ring{
      width:220px;
      height:220px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:
        conic-gradient(from 90deg, var(--rose) 0 68%, rgba(255,255,255,.16) 68% 100%);
      box-shadow:0 24px 60px rgba(0,0,0,.20);
      position:relative;
    }
    .count-ring:after{
      content:"";
      position:absolute;
      inset:14px;
      border-radius:50%;
      background:linear-gradient(135deg,#221936,#382653);
      border:1px solid rgba(255,255,255,.13);
    }
    .count-ring-content{
      position:relative;
      z-index:1;
      text-align:center;
    }
    .count-ring-content b{
      display:block;
      font-size:50px;
      line-height:1;
      letter-spacing:-.06em;
      color:#fff;
    }
    .count-ring-content span{
      display:block;
      margin-top:9px;
      color:rgba(255,255,255,.68);
      font-size:13px;
      font-weight:800;
    }
    .release-list{
      display:grid;
      gap:10px;
    }
    .release-item{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:15px;
      border-radius:20px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.10);
    }
    .release-item b{color:#fff;font-size:14px}
    .release-item span{color:rgba(255,255,255,.62);font-size:12px}
    .status-badge{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 10px;
      border-radius:999px;
      color:#fff;
      font-size:12px;
      font-weight:900;
      background:rgba(31,191,117,.18);
      border:1px solid rgba(31,191,117,.24);
    }
    .status-badge:before{
      content:"";
      width:7px;
      height:7px;
      border-radius:50%;
      background:var(--green);
    }
    .card{
      border:1px solid var(--line);
      border-radius:var(--radius-md);
      background:rgba(255,255,255,.82);
      box-shadow:var(--shadow-sm);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }
    .card:hover{
      transform:translateY(-4px);
      box-shadow:var(--shadow-md);
      border-color:rgba(114,88,255,.24);
    }
    .progress-wrap{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:22px;
      align-items:stretch;
    }
    .progress-panel{
      padding:28px;
      border-radius:30px;
      background:#fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow-sm);
    }
    .progress-big{
      display:flex;
      align-items:end;
      gap:10px;
      margin-top:18px;
    }
    .progress-big b{
      color:var(--ink);
      font-size:64px;
      line-height:.92;
      letter-spacing:-.07em;
      font-weight:950;
    }
    .progress-big span{color:var(--muted);font-weight:900}
    .bar{
      height:14px;
      border-radius:999px;
      background:#f0eaf5;
      overflow:hidden;
      margin:24px 0 12px;
    }
    .bar i{
      display:block;
      width:68%;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,var(--primary),var(--rose),var(--amber));
    }
    .kpi-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
    }
    .kpi{
      padding:20px;
      border-radius:22px;
      background:linear-gradient(180deg,#fff,#fff9fc);
      border:1px solid var(--line);
    }
    .kpi b{
      display:block;
      color:var(--ink);
      font-size:28px;
      letter-spacing:-.04em;
      line-height:1;
    }
    .kpi span{
      display:block;
      margin-top:9px;
      color:var(--muted);
      font-size:13px;
    }
    .tier-grid{
      display:grid;
      grid-template-columns:1fr 1.12fr 1fr;
      gap:18px;
      align-items:stretch;
    }
    .tier{
      padding:26px;
      border-radius:30px;
      position:relative;
      overflow:hidden;
    }
    .tier.recommend{
      background:linear-gradient(135deg,#1a1328,#30204c);
      color:#fff;
      border-color:rgba(114,88,255,.35);
      box-shadow:var(--shadow-glow);
      transform:translateY(-8px);
    }
    .tier h3{
      margin:16px 0 8px;
      color:var(--ink);
      font-size:22px;
      font-weight:950;
      letter-spacing:-.03em;
    }
    .tier.recommend h3{color:#fff}
    .tier p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
    }
    .tier.recommend p{color:rgba(255,255,255,.72)}
    .price{
      margin:18px 0;
      color:var(--ink);
      font-size:38px;
      line-height:1;
      font-weight:950;
      letter-spacing:-.05em;
    }
    .tier.recommend .price{color:#fff}
    .price small{font-size:14px;color:var(--weak);font-weight:800}
    .feature-list{
      display:grid;
      gap:12px;
      margin:22px 0 0;
      padding:0;
      list-style:none;
    }
    .feature-list li{
      display:flex;
      gap:10px;
      color:var(--text);
      font-size:14px;
      line-height:1.55;
    }
    .tier.recommend .feature-list li{color:rgba(255,255,255,.82)}
    .feature-list li:before{
      content:"✓";
      width:22px;
      height:22px;
      flex:0 0 22px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:rgba(31,191,117,.12);
      color:var(--green);
      font-size:12px;
      font-weight:950;
    }
    .compare-table{
      overflow:hidden;
      border-radius:28px;
      border:1px solid var(--line);
      background:#fff;
      box-shadow:var(--shadow-sm);
    }
    .compare-row{
      display:grid;
      grid-template-columns:1.1fr repeat(3,1fr);
      min-height:66px;
      border-bottom:1px solid var(--line);
    }
    .compare-row:last-child{border-bottom:0}
    .compare-row > div{
      padding:18px;
      display:flex;
      align-items:center;
      color:var(--muted);
      font-size:14px;
    }
    .compare-row.head > div{
      color:var(--ink);
      font-weight:950;
      background:#fff9fc;
    }
    .compare-row > div:first-child{
      color:var(--ink);
      font-weight:900;
    }
    .compare-row .highlight{
      background:linear-gradient(180deg,rgba(114,88,255,.09),rgba(255,79,134,.06));
      color:var(--ink);
      font-weight:900;
    }
    .wall{
      display:grid;
      grid-template-columns:.85fr 1.15fr;
      gap:22px;
      align-items:start;
    }
    .quote-card{
      padding:28px;
      border-radius:30px;
      background:linear-gradient(135deg,#fff,#fff7fb);
      border:1px solid var(--line);
      box-shadow:var(--shadow-sm);
    }
    .quote-card blockquote{
      margin:0;
      color:var(--ink);
      font-size:22px;
      line-height:1.65;
      letter-spacing:-.02em;
      font-weight:850;
    }
    .supporter-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
    }
    .supporter{
      padding:18px;
      border-radius:22px;
      background:#fff;
      border:1px solid var(--line);
      display:flex;
      gap:13px;
      align-items:center;
      transition:all .22s ease;
    }
    .supporter:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow-sm);
      border-color:rgba(114,88,255,.22);
    }
    .avatar{
      width:44px;
      height:44px;
      border-radius:16px;
      display:grid;
      place-items:center;
      color:#fff;
      font-weight:950;
      background:linear-gradient(135deg,var(--primary),var(--rose));
      flex:0 0 auto;
    }
    .supporter b{display:block;color:var(--ink);font-size:14px}
    .supporter span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
    .news-layout{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:22px;
      align-items:start;
    }
    .news-list{
      border:1px solid var(--line);
      border-radius:30px;
      background:#fff;
      overflow:hidden;
      box-shadow:var(--shadow-sm);
    }
    .news-row{
      display:grid;
      grid-template-columns:126px 1fr auto;
      gap:18px;
      align-items:center;
      padding:18px 22px;
      border-bottom:1px solid var(--line);
      transition:background .22s ease;
    }
    .news-row:last-child{border-bottom:0}
    .news-row:hover{background:#fff9fc}
    .news-date{
      color:var(--primary-dark);
      font-size:13px;
      font-weight:950;
    }
    .news-row a{
      color:var(--ink);
      font-size:16px;
      font-weight:900;
      outline:none;
    }
    .news-row a:hover,.news-row a:focus-visible{color:var(--primary-dark)}
    .news-tag{
      padding:7px 10px;
      border-radius:999px;
      background:rgba(114,88,255,.10);
      color:var(--primary-dark);
      font-size:12px;
      font-weight:900;
      white-space:nowrap;
    }
    .side-panel{
      padding:24px;
      border-radius:30px;
      background:linear-gradient(135deg,#1b1428,#31214d);
      color:#fff;
      box-shadow:var(--shadow-md);
    }
    .side-panel h3{
      margin:0;
      color:#fff;
      font-size:24px;
      line-height:1.25;
      font-weight:950;
      letter-spacing:-.035em;
    }
    .topic-list{
      display:grid;
      gap:12px;
      margin-top:20px;
    }
    .topic-item{
      display:flex;
      justify-content:space-between;
      gap:14px;
      padding:14px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.11);
      background:rgba(255,255,255,.08);
      color:rgba(255,255,255,.78);
      font-size:13px;
    }
    .faq-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:16px;
    }
    .faq-item{
      padding:22px;
      border-radius:24px;
      background:#fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow-sm);
    }
    .faq-item h3{
      margin:0 0 10px;
      color:var(--ink);
      font-size:17px;
      font-weight:950;
    }
    .faq-item p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .cta-section{
      padding:86px 0 0;
    }
    .cta-box{
      display:grid;
      grid-template-columns:1fr .86fr;
      gap:28px;
      align-items:center;
      border-radius:38px;
      padding:34px;
      background:
        radial-gradient(circle at 18% 20%, rgba(255,181,71,.22), transparent 34%),
        radial-gradient(circle at 90% 18%, rgba(255,79,134,.22), transparent 34%),
        linear-gradient(135deg,#15111f,#2c2043);
      color:#fff;
      box-shadow:var(--shadow-glow);
      overflow:hidden;
      position:relative;
    }
    .cta-box:after{
      content:"";
      position:absolute;
      right:-90px;
      bottom:-110px;
      width:290px;
      height:290px;
      border-radius:50%;
      border:36px solid rgba(255,255,255,.06);
    }
    .cta-box > *{position:relative;z-index:1}
    .cta-box h2{
      margin:14px 0 0;
      color:#fff;
      font-size:clamp(30px,4vw,54px);
      line-height:1.08;
      letter-spacing:-.055em;
      font-weight:950;
    }
    .cta-box p{
      max-width:700px;
      margin:16px 0 0;
      color:rgba(255,255,255,.74);
      font-size:16px;
      line-height:1.85;
    }
    .signup-form{
      padding:22px;
      border-radius:28px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.13);
      backdrop-filter:blur(16px);
    }
    .form-field{
      display:grid;
      gap:8px;
      margin-bottom:12px;
    }
    .form-field label{
      color:rgba(255,255,255,.80);
      font-size:13px;
      font-weight:900;
    }
    .form-field input,.form-field select{
      width:100%;
      min-height:48px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(255,255,255,.10);
      color:#fff;
      padding:0 14px;
      outline:none;
      transition:all .22s ease;
    }
    .form-field select option{color:var(--ink)}
    .form-field input::placeholder{color:rgba(255,255,255,.45)}
    .form-field input:focus,.form-field select:focus{
      border-color:rgba(255,255,255,.36);
      box-shadow:0 0 0 4px rgba(255,255,255,.08);
    }
    .form-note{
      margin-top:12px;
      color:rgba(255,255,255,.58);
      font-size:12px;
      line-height:1.65;
    }
    .site-footer{
      margin-top:86px;
      padding:42px 0;
      background:#100c18;
      color:rgba(255,255,255,.68);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:24px;
      align-items:start;
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      color:#fff;
      font-weight:950;
    }
    .footer-desc{
      max-width:700px;
      margin:16px 0 0;
      color:rgba(255,255,255,.58);
      font-size:14px;
      line-height:1.85;
    }
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-end;
      gap:10px;
    }
    .footer-links a{
      padding:9px 13px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.10);
      color:rgba(255,255,255,.72);
      font-size:13px;
      transition:all .22s ease;
    }
    .footer-links a:hover,.footer-links a:focus-visible{
      color:#fff;
      background:rgba(255,255,255,.08);
      outline:none;
    }
    .copyright{
      margin-top:28px;
      padding-top:20px;
      border-top:1px solid rgba(255,255,255,.10);
      display:flex;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      color:rgba(255,255,255,.46);
      font-size:12px;
    }
    @media (max-width:1024px){
      .nav-shell{grid-template-columns:1fr auto;gap:14px}
      .nav-links{
        grid-column:1 / -1;
        justify-self:stretch;
        order:3;
        overflow-x:auto;
        justify-content:flex-start;
      }
      .nav-actions{grid-column:2}
      .search-pill{display:none}
      .stage-inner,.progress-wrap,.wall,.news-layout,.cta-box{grid-template-columns:1fr}
      .launch-stage,.stage-inner{min-height:auto}
      .hero-metrics{grid-template-columns:repeat(3,1fr)}
      .tier-grid{grid-template-columns:1fr}
      .tier.recommend{transform:none}
      .footer-grid{grid-template-columns:1fr}
      .footer-links{justify-content:flex-start}
    }
    @media (max-width:768px){
      :root{--header-h:66px}
      .container{width:min(100% - 28px, var(--container))}
      .site-header{position:sticky}
      .nav-shell{display:flex;min-height:66px;justify-content:space-between}
      .brand-text{max-width:190px}
      .menu-toggle{display:grid;place-items:center}
      .nav-links{
        display:none;
        position:absolute;
        left:14px;
        right:14px;
        top:72px;
        padding:10px;
        border-radius:22px;
        background:#fff;
        box-shadow:var(--shadow-md);
      }
      .nav-links.open{display:flex}
      .nav-actions .btn{display:none}
      .section{padding:64px 0}
      .hero{padding:20px 0 56px}
      .launch-stage{border-radius:28px}
      .stage-inner{padding:20px}
      .hero-copy{padding:8px 2px}
      .hero-intro{font-size:16px}
      .hero-actions{align-items:stretch}
      .hero-actions .btn{width:100%}
      .hero-metrics,.kpi-grid,.supporter-grid,.faq-grid{grid-template-columns:1fr}
      .count-ring{width:190px;height:190px}
      .news-row{grid-template-columns:1fr;gap:8px}
      .compare-table{overflow-x:auto}
      .compare-row{min-width:720px}
      .section-head{display:block}
      .cta-box{padding:24px;border-radius:28px}
      .copyright{display:block}
      .copyright span{display:block;margin-top:8px}
    }
    @media (max-width:520px){
      .brand-mark{width:38px;height:38px;border-radius:14px}
      .hero h1{font-size:40px;letter-spacing:-.055em}
      .metric-tile{padding:15px}
      .metric-tile strong{font-size:22px}
      .launch-panel{padding:12px;border-radius:24px}
      .progress-panel,.tier,.quote-card,.side-panel,.faq-item{padding:20px;border-radius:24px}
      .section-title{font-size:30px}
      .btn{width:100%;padding:0 16px}
      .footer-links{display:grid;grid-template-columns:1fr 1fr;width:100%}
      .footer-links a{text-align:center}
    }
