/* roulang page: index */
:root{
      --bg:#f4efe8;
      --bg-soft:#fbf8f4;
      --panel:#fffaf4;
      --panel-2:#f7f0e5;
      --ink:#1d1714;
      --muted:#6d6157;
      --line:#d9cdbf;
      --line-strong:#c7b29e;
      --accent:#cf3e2e;
      --accent-2:#2d7a58;
      --accent-3:#d5a63d;
      --accent-4:#243036;
      --shadow:0 18px 40px rgba(32, 18, 10, .12);
      --shadow-soft:0 10px 24px rgba(32, 18, 10, .08);
      --radius:8px;
      --radius-sm:6px;
      --radius-xs:4px;
      --space-xs:6px;
      --space-sm:10px;
      --space-md:16px;
      --space-lg:24px;
      --space-xl:36px;
      --space-2xl:56px;
      --max:1240px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:
        linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.68)),
        linear-gradient(135deg, rgba(207,62,46,.06), rgba(45,122,88,.05) 42%, rgba(213,166,61,.06));
      font-family: Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
      line-height:1.6;
      letter-spacing:0;
      text-rendering:optimizeLegibility;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    button{cursor:pointer}
    .site-shell{
      min-height:100vh;
      overflow:hidden;
    }
    .promo-strip{
      background:linear-gradient(90deg, #191513 0%, #3c241c 55%, #cf3e2e 100%);
      color:#fff;
      font-size:.92rem;
      padding:10px 0;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .promo-strip .grid-container{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .promo-note{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-weight:700;
      letter-spacing:0;
    }
    .promo-note i{color:#ffd27a}
    .promo-meta{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }
    .promo-pill{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.16);
      font-size:.85rem;
      white-space:nowrap;
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:30;
      background:rgba(244,239,232,.96);
      backdrop-filter:saturate(130%) blur(10px);
      border-bottom:1px solid rgba(29,23,20,.08);
      box-shadow:0 1px 0 rgba(255,255,255,.5) inset;
    }
    .header-inner{
      display:flex;
      align-items:center;
      gap:18px;
      min-height:72px;
      padding:12px 0;
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:12px;
      min-width:0;
      flex:0 0 auto;
    }
    .brand-mark{
      width:40px;
      height:40px;
      border-radius:8px;
      background:
        linear-gradient(135deg, #191513 0%, #3b2a22 48%, #cf3e2e 100%);
      box-shadow:var(--shadow-soft);
      position:relative;
      overflow:hidden;
    }
    .brand-mark:before,
    .brand-mark:after{
      content:"";
      position:absolute;
      inset:auto;
      border-radius:999px;
      background:rgba(255,255,255,.9);
    }
    .brand-mark:before{
      width:10px;height:10px;left:9px;top:10px;
    }
    .brand-mark:after{
      width:16px;height:3px;right:8px;bottom:11px;
    }
    .brand-text{
      display:flex;
      flex-direction:column;
      line-height:1.1;
      min-width:0;
    }
    .brand-name{
      font-size:1.02rem;
      font-weight:800;
      letter-spacing:0;
      white-space:nowrap;
    }
    .brand-tag{
      font-size:.78rem;
      color:var(--muted);
      margin-top:3px;
      white-space:nowrap;
    }
    .top-nav{
      display:flex;
      align-items:center;
      gap:12px;
      margin-left:auto;
      flex-wrap:wrap;
    }
    .nav-links{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }
    .nav-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 14px;
      border-radius:8px;
      color:var(--ink);
      border:1px solid transparent;
      transition:all .18s ease;
      font-weight:700;
      font-size:.95rem;
      white-space:nowrap;
    }
    .nav-link:hover,
    .nav-link:focus-visible{
      background:#fff;
      border-color:var(--line);
      box-shadow:var(--shadow-soft);
      transform:translateY(-1px);
      outline:none;
    }
    .nav-link.is-active{
      background:#191513;
      color:#fff;
      border-color:#191513;
    }
    .nav-link.is-active:hover,
    .nav-link.is-active:focus-visible{
      background:#191513;
      color:#fff;
      transform:none;
    }
    .header-tools{
      display:flex;
      align-items:center;
      gap:10px;
      margin-left:8px;
    }
    .search-box{
      position:relative;
      width:min(270px, 100%);
    }
    .search-box input{
      height:42px;
      padding:0 48px 0 14px;
      border-radius:8px;
      border:1px solid var(--line-strong);
      background:#fff;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
      color:var(--ink);
    }
    .search-box input::placeholder{color:#8d8278}
    .search-box input:focus{
      outline:none;
      border-color:var(--accent);
      box-shadow:0 0 0 3px rgba(207,62,46,.12);
    }
    .search-box button{
      position:absolute;
      right:5px;
      top:5px;
      width:32px;
      height:32px;
      border:0;
      border-radius:6px;
      background:var(--accent);
      color:#fff;
      display:grid;
      place-items:center;
      transition:transform .18s ease, box-shadow .18s ease;
    }
    .search-box button:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(207,62,46,.2)}
    .nav-toggle{
      display:none;
      width:42px;
      height:42px;
      border-radius:8px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--ink);
      align-items:center;
      justify-content:center;
      box-shadow:var(--shadow-soft);
    }
    .nav-toggle:focus-visible{
      outline:none;
      box-shadow:0 0 0 3px rgba(207,62,46,.14);
    }
    main{
      display:block;
    }
    .section{
      position:relative;
      padding:72px 0;
    }
    .section .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:18px;
      margin-bottom:24px;
      flex-wrap:wrap;
    }
    .section-eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--accent);
      font-weight:800;
      letter-spacing:0;
      font-size:.92rem;
      text-transform:none;
      margin-bottom:10px;
    }
    .section-eyebrow:before{
      content:"";
      width:34px;
      height:3px;
      border-radius:999px;
      background:var(--accent);
    }
    .section-title{
      font-size:clamp(1.6rem, 2vw, 2.2rem);
      line-height:1.14;
      margin:0;
      letter-spacing:0;
      font-weight:900;
      color:var(--ink);
      text-wrap:balance;
    }
    .section-copy{
      max-width:680px;
      color:var(--muted);
      margin:10px 0 0;
      font-size:1rem;
    }
    .hero{
      padding:34px 0 46px;
      overflow:hidden;
    }
    .hero-shell{
      position:relative;
      border:1px solid rgba(255,255,255,.18);
      border-radius:12px;
      background:
        linear-gradient(135deg, rgba(25,21,17,.98) 0%, rgba(45,32,25,.98) 52%, rgba(207,62,46,.28) 100%);
      color:#fff;
      box-shadow:0 28px 60px rgba(24,18,15,.18);
      overflow:hidden;
    }
    .hero-shell:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0 / 28px 28px,
        linear-gradient(180deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0 / 28px 28px;
      opacity:.22;
      pointer-events:none;
    }
    .hero-inner{
      position:relative;
      padding:34px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0, 1.04fr) minmax(340px, .96fr);
      gap:26px;
      align-items:stretch;
    }
    .brand-badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.11);
      border:1px solid rgba(255,255,255,.16);
      font-size:.88rem;
      font-weight:700;
      margin-bottom:18px;
    }
    .brand-badge i{color:#ffd27a}
    .hero h1{
      margin:0;
      font-size:clamp(2.3rem, 4vw, 4.2rem);
      line-height:1.02;
      letter-spacing:0;
      font-weight:900;
      max-width:11ch;
      text-wrap:balance;
    }
    .hero-lead{
      margin:18px 0 0;
      max-width:640px;
      font-size:1.06rem;
      color:rgba(255,255,255,.84);
    }
    .hero-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-top:24px;
    }
    .button{
      border-radius:8px !important;
      padding:.92rem 1.15rem !important;
      font-weight:800 !important;
      letter-spacing:0 !important;
      transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease !important;
    }
    .button:hover,
    .button:focus-visible{
      transform:translateY(-1px);
      box-shadow:0 14px 24px rgba(0,0,0,.16);
    }
    .button.primary{
      background:var(--accent) !important;
      color:#fff !important;
      border:1px solid var(--accent) !important;
    }
    .button.secondary{
      background:rgba(255,255,255,.08) !important;
      color:#fff !important;
      border:1px solid rgba(255,255,255,.18) !important;
    }
    .button.ghost{
      background:#fff !important;
      color:#181513 !important;
      border:1px solid #fff !important;
    }
    .hero-stats{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:12px;
      margin-top:26px;
      max-width:640px;
    }
    .mini-stat{
      padding:14px 14px 13px;
      border-radius:8px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      min-height:84px;
    }
    .mini-stat strong{
      display:block;
      font-size:1.22rem;
      line-height:1.1;
      font-weight:900;
      margin-bottom:6px;
    }
    .mini-stat span{
      color:rgba(255,255,255,.78);
      font-size:.9rem;
    }
    .hero-visual{
      position:relative;
      border-radius:12px;
      padding:18px;
      background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.05));
      border:1px solid rgba(255,255,255,.14);
      min-height:100%;
      overflow:hidden;
    }
    .hero-visual:before{
      content:"";
      position:absolute;
      inset:-20% -10% auto auto;
      width:260px;
      height:260px;
      background:radial-gradient(circle at 35% 35%, rgba(255,210,122,.3), rgba(255,210,122,0) 64%);
      pointer-events:none;
    }
    .hero-visual-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      margin-bottom:14px;
    }
    .visual-tag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.14);
      color:#fff;
      font-weight:700;
      font-size:.87rem;
      white-space:nowrap;
    }
    .visual-tag.hot{background:rgba(207,62,46,.95);border-color:rgba(255,255,255,.14)}
    .hero-spot{
      border-radius:10px;
      background:
        linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.04)),
        linear-gradient(160deg, rgba(207,62,46,.2), rgba(45,122,88,.14));
      border:1px solid rgba(255,255,255,.12);
      padding:18px;
      box-shadow:var(--shadow-soft);
    }
    .hero-spot h2{
      margin:0;
      font-size:2rem;
      line-height:1;
      font-weight:900;
      letter-spacing:0;
    }
    .hero-spot p{
      margin:10px 0 0;
      color:rgba(255,255,255,.82);
      font-size:.98rem;
      max-width:34ch;
    }
    .visual-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
      margin-top:14px;
    }
    .visual-card{
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      border-radius:8px;
      padding:14px;
      min-height:110px;
      transition:transform .18s ease, border-color .18s ease, background .18s ease;
    }
    .visual-card:hover{
      transform:translateY(-2px);
      border-color:rgba(255,255,255,.28);
      background:rgba(255,255,255,.11);
    }
    .visual-card strong{
      display:block;
      font-size:1.05rem;
      margin-bottom:6px;
      font-weight:800;
    }
    .visual-card span{
      color:rgba(255,255,255,.76);
      font-size:.9rem;
      display:block;
    }
    .visual-band{
      margin-top:12px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:12px 14px;
      border-radius:8px;
      background:rgba(25,21,17,.6);
      border:1px solid rgba(255,255,255,.12);
    }
    .visual-band b{
      font-size:.98rem;
    }
    .visual-band small{
      color:rgba(255,255,255,.72);
      display:block;
      margin-top:3px;
    }
    .visual-band .meter{
      min-width:124px;
      text-align:right;
    }
    .visual-band .meter strong{
      display:block;
      font-size:1.1rem;
      color:#ffd27a;
    }
    .visual-band .meter span{
      color:rgba(255,255,255,.72);
      font-size:.82rem;
    }
    .section-band{
      background:var(--bg-soft);
      border-top:1px solid rgba(29,23,20,.05);
      border-bottom:1px solid rgba(29,23,20,.05);
    }
    .band-dark{
      background:linear-gradient(135deg, #1a1614 0%, #2a211c 100%);
      color:#fff;
    }
    .band-dark .section-title,
    .band-dark .section-copy{color:#fff}
    .band-dark .section-copy{color:rgba(255,255,255,.78)}
    .band-warm{
      background:linear-gradient(180deg, #fffaf4 0%, #f6efe7 100%);
    }
    .tier-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:16px;
    }
    .tier-card{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
      padding:18px;
      position:relative;
      overflow:hidden;
      min-height:230px;
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .tier-card:hover{
      transform:translateY(-3px);
      border-color:rgba(207,62,46,.35);
      box-shadow:var(--shadow);
    }
    .tier-index{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:32px;
      height:32px;
      border-radius:8px;
      background:#191513;
      color:#fff;
      font-weight:900;
      margin-bottom:12px;
    }
    .tier-card h3{
      margin:0 0 10px;
      font-size:1.08rem;
      line-height:1.18;
      font-weight:900;
      text-wrap:balance;
    }
    .tier-card p{
      margin:0;
      color:var(--muted);
      font-size:.95rem;
      min-height:84px;
    }
    .tier-flag{
      margin-top:14px;
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 10px;
      border-radius:999px;
      background:#f4e6c5;
      color:#6d4d05;
      font-size:.82rem;
      font-weight:800;
      border:1px solid rgba(213,166,61,.42);
    }
    .compare-panel{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:12px;
      overflow:hidden;
      box-shadow:var(--shadow-soft);
    }
    .compare-table{
      width:100%;
      border-collapse:separate;
      border-spacing:0;
    }
    .compare-table th,
    .compare-table td{
      padding:16px 18px;
      border-bottom:1px solid var(--line);
      text-align:left;
      vertical-align:top;
    }
    .compare-table thead th{
      background:#f8f2ea;
      font-size:.95rem;
      color:var(--ink);
      white-space:nowrap;
    }
    .compare-table thead th:first-child{
      width:28%;
    }
    .compare-table .plan-col{
      position:relative;
    }
    .compare-table .plan-hot{
      background:linear-gradient(180deg, rgba(207,62,46,.08), rgba(207,62,46,.02));
      box-shadow:inset 0 0 0 1px rgba(207,62,46,.18);
    }
    .compare-table .plan-hot:before{
      content:"热门";
      position:absolute;
      top:10px;
      right:10px;
      padding:4px 8px;
      border-radius:999px;
      background:var(--accent);
      color:#fff;
      font-size:.76rem;
      font-weight:800;
    }
    .compare-label{
      color:var(--muted);
      font-weight:700;
    }
    .compare-value{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-weight:800;
      color:var(--ink);
    }
    .compare-value i{
      color:var(--accent-2);
    }
    .compare-foot{
      padding:16px 18px;
      background:#fcf7f0;
      color:var(--muted);
      border-top:1px solid var(--line);
      font-size:.92rem;
    }
    .feature-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:16px;
      align-items:stretch;
    }
    .feature-list{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
    }
    .feature-card{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:8px;
      padding:18px;
      box-shadow:var(--shadow-soft);
      min-height:170px;
      transition:transform .18s ease, border-color .18s ease;
    }
    .feature-card:hover{
      transform:translateY(-2px);
      border-color:rgba(45,122,88,.28);
    }
    .feature-card .icon{
      width:40px;
      height:40px;
      border-radius:8px;
      background:linear-gradient(135deg, rgba(45,122,88,.12), rgba(207,62,46,.08));
      display:grid;
      place-items:center;
      color:var(--accent);
      margin-bottom:12px;
      font-size:1rem;
    }
    .feature-card h3{
      margin:0 0 8px;
      font-size:1.05rem;
      font-weight:900;
      line-height:1.2;
    }
    .feature-card p{
      margin:0;
      color:var(--muted);
      font-size:.95rem;
    }
    .feature-side{
      background:linear-gradient(180deg, #191513 0%, #2d241f 100%);
      color:#fff;
      border-radius:12px;
      padding:22px;
      box-shadow:var(--shadow);
      border:1px solid rgba(255,255,255,.08);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
    }
    .feature-side h3{
      margin:0;
      font-size:1.5rem;
      line-height:1.15;
      font-weight:900;
    }
    .feature-side p{
      margin:10px 0 0;
      color:rgba(255,255,255,.78);
    }
    .check-list{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .check-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#fff;
      font-size:.95rem;
    }
    .check-list i{
      color:#ffd27a;
      margin-top:4px;
      flex:0 0 auto;
    }
    .feature-side .button{
      width:fit-content;
      margin-top:auto;
    }
    .limit-banner{
      background:
        linear-gradient(135deg, rgba(207,62,46,.98) 0%, rgba(25,21,17,.98) 74%),
        linear-gradient(90deg, rgba(255,255,255,.08), transparent);
      color:#fff;
      border-radius:12px;
      border:1px solid rgba(255,255,255,.14);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .limit-inner{
      display:grid;
      grid-template-columns:minmax(0, 1.1fr) minmax(320px, .9fr);
      gap:20px;
      padding:24px;
      align-items:center;
    }
    .limit-copy h3{
      margin:0;
      font-size:1.9rem;
      line-height:1.08;
      font-weight:900;
    }
    .limit-copy p{
      margin:14px 0 0;
      max-width:60ch;
      color:rgba(255,255,255,.84);
    }
    .countdown{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:10px;
      margin:16px 0 18px;
      max-width:520px;
    }
    .count-box{
      padding:12px 10px;
      border-radius:8px;
      text-align:center;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.16);
    }
    .count-box strong{
      display:block;
      font-size:1.3rem;
      line-height:1.1;
      font-weight:900;
    }
    .count-box span{
      display:block;
      margin-top:4px;
      color:rgba(255,255,255,.75);
      font-size:.82rem;
    }
    .limit-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-top:10px;
    }
    .limit-meta{
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.14);
      border-radius:10px;
      padding:18px;
      display:grid;
      gap:12px;
    }
    .meta-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      font-size:.94rem;
    }
    .meta-row strong{
      white-space:nowrap;
    }
    .progress{
      height:12px;
      border-radius:999px;
      background:rgba(255,255,255,.1);
      overflow:hidden;
      border:1px solid rgba(255,255,255,.12);
    }
    .progress span{
      display:block;
      width:72%;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg, #ffd27a, #fff2ce);
    }
    .meta-tags{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
    .meta-tags .tag{
      padding:6px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.14);
      font-size:.84rem;
      white-space:nowrap;
    }
    .news-grid{
      display:grid;
      grid-template-columns:minmax(0, 1.2fr) minmax(280px, .8fr);
      gap:18px;
      align-items:start;
    }
    .news-list{
      margin:0;
      padding:0;
      list-style:none;
      display:grid;
      gap:12px;
    }
    .news-item a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:15px 16px;
      border-radius:8px;
      background:var(--panel);
      border:1px solid var(--line);
      box-shadow:var(--shadow-soft);
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .news-item a:hover{
      transform:translateY(-2px);
      border-color:rgba(207,62,46,.3);
      box-shadow:var(--shadow);
    }
    .news-item strong{
      display:block;
      font-size:1rem;
      line-height:1.25;
      margin-bottom:6px;
      font-weight:800;
    }
    .news-item p{
      margin:0;
      color:var(--muted);
      font-size:.92rem;
    }
    .news-time{
      flex:0 0 auto;
      color:var(--accent);
      font-weight:800;
      font-size:.88rem;
      white-space:nowrap;
    }
    .news-side{
      background:#191513;
      color:#fff;
      border-radius:12px;
      padding:20px;
      box-shadow:var(--shadow);
    }
    .news-side h3{
      margin:0;
      font-size:1.24rem;
      font-weight:900;
      line-height:1.15;
    }
    .news-side p{
      margin:12px 0 0;
      color:rgba(255,255,255,.76);
    }
    .side-tags{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin:16px 0;
    }
    .side-tags .tag{
      padding:6px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      font-size:.84rem;
      white-space:nowrap;
    }
    .side-box{
      margin-top:18px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.12);
    }
    .side-box a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:12px 0;
      color:#fff;
      border-bottom:1px solid rgba(255,255,255,.08);
      transition:opacity .18s ease;
    }
    .side-box a:hover{opacity:.8}
    .side-box a:last-child{border-bottom:0}
    .faq-list{
      display:grid;
      gap:12px;
    }
    details.faq-item{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    details.faq-item[open]{
      border-color:rgba(207,62,46,.28);
      box-shadow:var(--shadow);
    }
    .faq-item summary{
      list-style:none;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:16px 18px;
      cursor:pointer;
      font-weight:800;
      color:var(--ink);
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary:after{
      content:"+";
      width:28px;
      height:28px;
      border-radius:8px;
      display:grid;
      place-items:center;
      background:#f2e8dc;
      color:var(--accent);
      flex:0 0 auto;
      font-size:1rem;
      font-weight:900;
      transition:transform .18s ease, background .18s ease;
    }
    details[open] summary:after{
      content:"−";
      background:#ffe4e0;
    }
    .faq-answer{
      padding:0 18px 18px;
      color:var(--muted);
      max-width:85ch;
    }
    .contact-wrap{
      display:grid;
      grid-template-columns:minmax(0, 1.02fr) minmax(300px, .98fr);
      gap:18px;
      align-items:stretch;
    }
    .contact-form{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:12px;
      padding:22px;
      box-shadow:var(--shadow-soft);
    }
    .contact-form .grid-x{
      gap:14px;
    }
    .field{
      display:flex;
      flex-direction:column;
      gap:8px;
      margin-bottom:14px;
    }
    .field label{
      font-weight:800;
      color:var(--ink);
      font-size:.95rem;
    }
    .field input,
    .field textarea{
      width:100%;
      border-radius:8px;
      border:1px solid var(--line-strong);
      background:#fff;
      padding:13px 14px;
      color:var(--ink);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
      transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    .field textarea{
      min-height:120px;
      resize:vertical;
    }
    .field input:focus,
    .field textarea:focus{
      outline:none;
      border-color:var(--accent);
      box-shadow:0 0 0 3px rgba(207,62,46,.12);
    }
    .field small{
      color:var(--muted);
    }
    .form-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      align-items:center;
      margin-top:4px;
    }
    .form-status{
      min-height:24px;
      font-size:.93rem;
      font-weight:700;
      color:var(--accent-2);
    }
    .contact-side{
      background:linear-gradient(180deg, #1b1715 0%, #2b241e 100%);
      color:#fff;
      border-radius:12px;
      padding:22px;
      box-shadow:var(--shadow);
    }
    .contact-side h3{
      margin:0;
      font-size:1.35rem;
      line-height:1.15;
      font-weight:900;
    }
    .contact-side p{
      margin:12px 0 0;
      color:rgba(255,255,255,.78);
    }
    .contact-side .side-list{
      margin:18px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:12px;
    }
    .contact-side .side-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      color:#fff;
      font-size:.95rem;
    }
    .contact-side .side-list i{color:#ffd27a;margin-top:4px}
    .site-footer{
      background:#161311;
      color:#fff;
      padding:34px 0 28px;
      margin-top:10px;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr .9fr;
      gap:18px;
    }
    .footer-brand{
      display:flex;
      flex-direction:column;
      gap:12px;
    }
    .footer-brand p{
      color:rgba(255,255,255,.74);
      margin:0;
      max-width:42ch;
    }
    .footer-block h4{
      margin:0 0 14px;
      font-size:1rem;
      font-weight:900;
    }
    .footer-links{
      display:grid;
      gap:10px;
    }
    .footer-links a{
      color:rgba(255,255,255,.8);
      transition:opacity .18s ease;
    }
    .footer-links a:hover{opacity:1}
    .footer-note{
      margin-top:20px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.08);
      display:flex;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      color:rgba(255,255,255,.68);
      font-size:.9rem;
    }
    .section-divider{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(29,23,20,.15), transparent);
      margin-top:18px;
    }
    .muted-chip{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 10px;
      border-radius:999px;
      background:#f2e8dc;
      color:#6b4d2f;
      border:1px solid rgba(213,166,61,.26);
      font-size:.84rem;
      font-weight:800;
      white-space:nowrap;
    }
    .split-tags{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:18px;
    }
    .split-tags .muted-chip{
      background:rgba(255,255,255,.08);
      color:#fff;
      border-color:rgba(255,255,255,.12);
    }
    .link-cta{
      color:#cf3e2e;
      font-weight:800;
      display:inline-flex;
      align-items:center;
      gap:7px;
    }
    .link-cta:hover{color:#9f2e22}
    .tag-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:12px;
    }
    .tag-row .tag{
      padding:6px 10px;
      border-radius:999px;
      background:#f4eee6;
      border:1px solid var(--line);
      color:#6f5f53;
      font-size:.83rem;
      white-space:nowrap;
    }
    .hero-divider{
      margin-top:26px;
      height:1px;
      background:linear-gradient(90deg, rgba(255,255,255,.22), transparent);
    }
    .aux-bar{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:18px;
    }
    .aux-bar .muted-chip{
      background:rgba(255,255,255,.08);
      color:#fff;
      border-color:rgba(255,255,255,.12);
    }
    .scroll-hint{
      margin-top:14px;
      color:rgba(255,255,255,.7);
      font-size:.9rem;
    }
    .compare-wrap{
      display:grid;
      gap:16px;
    }
    .section.alt{
      background:linear-gradient(180deg, #fbf8f4 0%, #f5efe8 100%);
    }
    .section.warmband{
      background:linear-gradient(180deg, #fffaf4 0%, #f6efe7 100%);
    }
    @media (max-width: 1199px){
      .hero-grid,
      .feature-grid,
      .limit-inner,
      .news-grid,
      .contact-wrap,
      .footer-grid{
        grid-template-columns:1fr;
      }
      .tier-grid,
      .feature-list{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
    }
    @media (max-width: 1024px){
      .header-inner{
        align-items:flex-start;
      }
      .top-nav{
        width:100%;
        order:3;
        margin-left:0;
      }
      .search-box{
        width:min(360px, 100%);
      }
      .hero h1{max-width:none}
      .hero-stats{
        grid-template-columns:repeat(3, minmax(0, 1fr));
      }
      .compare-table thead th:first-child{width:34%}
    }
    @media (max-width: 768px){
      .promo-strip .grid-container{
        align-items:flex-start;
      }
      .header-inner{
        flex-wrap:wrap;
      }
      .nav-toggle{
        display:inline-flex;
        margin-left:auto;
      }
      .top-nav{
        display:none;
        width:100%;
        padding:12px 0 2px;
      }
      .top-nav.is-open{
        display:flex;
        flex-direction:column;
        align-items:stretch;
      }
      .nav-links{
        width:100%;
        flex-direction:column;
        align-items:stretch;
      }
      .nav-link{
        width:100%;
        justify-content:flex-start;
      }
      .header-tools{
        width:100%;
        margin-left:0;
        padding-top:8px;
      }
      .search-box{
        width:100%;
      }
      .hero-inner{
        padding:24px 18px;
      }
      .hero h1{
        font-size:clamp(2.05rem, 10vw, 3rem);
      }
      .hero-stats{
        grid-template-columns:1fr;
      }
      .tier-grid,
      .feature-list{
        grid-template-columns:1fr;
      }
      .compare-table,
      .compare-table thead,
      .compare-table tbody,
      .compare-table th,
      .compare-table td,
      .compare-table tr{
        display:block;
        width:100%;
      }
      .compare-table thead{
        display:none;
      }
      .compare-table tr{
        border-bottom:1px solid var(--line);
      }
      .compare-table td{
        border-bottom:0;
        padding:12px 16px;
      }
      .compare-table td:first-child{
        background:#f8f2ea;
        font-weight:800;
      }
      .compare-table .plan-hot:before{
        position:static;
        display:inline-flex;
        margin-bottom:10px;
      }
      .countdown{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
      .section{
        padding:58px 0;
      }
    }
    @media (max-width: 520px){
      .promo-strip{
        font-size:.84rem;
      }
      .brand-name{
        font-size:.95rem;
      }
      .hero-spot h2{
        font-size:1.72rem;
      }
      .hero-actions,
      .limit-actions,
      .form-actions{
        flex-direction:column;
        align-items:stretch;
      }
      .button{
        width:100%;
        justify-content:center;
      }
      .news-item a{
        flex-direction:column;
        align-items:flex-start;
      }
      .news-time{
        align-self:flex-start;
      }
      .faq-item summary{
        padding:14px 16px;
      }
      .faq-answer{
        padding:0 16px 16px;
      }
      .contact-form,
      .contact-side{
        padding:18px;
      }
      .limit-inner{
        padding:18px;
      }
    }
    :focus-visible{
      outline:3px solid rgba(207,62,46,.18);
      outline-offset:2px;
    }

/* roulang page: category1 */
:root{
  --bg:#f5ede4;
  --bg-soft:#fbf5ee;
  --surface:#fffaf5;
  --surface-2:#f9efe1;
  --ink:#211914;
  --muted:#6f6258;
  --line:#e4d4c2;
  --line-strong:#cdb59f;
  --primary:#b3212f;
  --primary-dark:#861e28;
  --accent:#e36a33;
  --accent-2:#f1b63c;
  --teal:#1f7664;
  --success:#2f7d4d;
  --danger:#b33b2f;
  --shadow:0 16px 34px rgba(51, 30, 19, .10);
  --shadow-strong:0 18px 28px rgba(51, 30, 19, .16);
  --radius:14px;
  --radius-sm:10px;
  --radius-xs:8px;
  --space:18px;
  --space-lg:28px;
  --space-xl:40px;
  --max:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    linear-gradient(180deg, #faf4ec 0%, #f4eadf 42%, #f7efe5 100%);
  font-family:"Inter","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  line-height:1.7;
  letter-spacing:0;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(135deg, rgba(179,33,47,.05) 0 18%, transparent 18% 100%),
    linear-gradient(225deg, rgba(227,106,51,.04) 0 12%, transparent 12% 100%);
  opacity:.9;
}
a{
  color:inherit;
  text-decoration:none;
  transition:color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
img{max-width:100%;display:block}
button,input,textarea,select{
  font:inherit;
  letter-spacing:0;
}
button{
  cursor:pointer;
}
:focus-visible{
  outline:3px solid rgba(227,106,51,.35);
  outline-offset:2px;
}
.grid-container{
  max-width:var(--max);
}
.section-band{
  padding:38px 0;
  position:relative;
}
.section-band.alt{
  background:rgba(255,250,245,.72);
  border-top:1px solid rgba(228,212,194,.55);
  border-bottom:1px solid rgba(228,212,194,.55);
}
.section-head{
  margin-bottom:22px;
}
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:700;
  color:var(--primary);
  text-transform:none;
}
.section-kicker::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 4px rgba(241,182,60,.18);
}
.section-title{
  margin:8px 0 8px;
  font-size:28px;
  line-height:1.15;
  letter-spacing:0;
  color:var(--ink);
  font-weight:800;
}
.section-lead{
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:16px;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,250,245,.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid rgba(228,212,194,.85);
  box-shadow:0 8px 22px rgba(56,34,22,.05);
}
.header-inner{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.brand-mark{
  width:42px;
  height:42px;
  border-radius:12px;
  background:
    linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  position:relative;
  box-shadow:0 10px 18px rgba(179,33,47,.22);
  flex:0 0 auto;
}
.brand-mark::before,
.brand-mark::after{
  content:"";
  position:absolute;
  background:rgba(255,255,255,.92);
  border-radius:999px;
}
.brand-mark::before{
  width:18px;
  height:4px;
  left:12px;
  top:12px;
}
.brand-mark::after{
  width:12px;
  height:12px;
  left:15px;
  bottom:11px;
}
.brand-text{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.brand-name{
  font-size:17px;
  font-weight:800;
  line-height:1.1;
  color:var(--ink);
  white-space:nowrap;
}
.brand-tag{
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
}
.top-nav{
  display:flex;
  align-items:center;
  gap:18px;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:8px;
}
.nav-link{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:999px;
  color:var(--ink);
  font-size:14px;
  font-weight:700;
  background:transparent;
}
.nav-link:hover{
  background:#f2e5d6;
  border-color:#e8d3bd;
  transform:translateY(-1px);
}
.nav-link.is-active,
.nav-link[aria-current="page"]{
  background:linear-gradient(135deg, rgba(179,33,47,.12), rgba(227,106,51,.10));
  border-color:rgba(179,33,47,.25);
  color:var(--primary-dark);
}
.header-tools{
  display:flex;
  align-items:center;
  gap:10px;
}
.search-box{
  display:flex;
  align-items:center;
  min-width:280px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(41,24,16,.04);
}
.search-box input{
  flex:1;
  min-width:0;
  height:42px;
  border:0;
  background:transparent;
  padding:0 14px 0 16px;
  color:var(--ink);
  outline:none;
}
.search-box input::placeholder{
  color:#98887c;
}
.search-box button{
  width:48px;
  height:42px;
  border:0;
  background:linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.search-box button:hover{
  background:linear-gradient(135deg, var(--primary-dark) 0%, #d95b2f 100%);
}
.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 8px 18px rgba(41,24,16,.04);
}

.hero-band{
  padding:30px 0 24px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:22px;
  align-items:stretch;
}
.hero-copy,
.hero-visual{
  background:rgba(255,250,245,.88);
  border:1px solid rgba(228,212,194,.92);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
}
.hero-copy{
  padding:24px 24px 22px;
}
.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:13px;
  margin:0 0 14px;
}
.breadcrumbs a{
  color:var(--muted);
}
.breadcrumbs a:hover{
  color:var(--primary);
}
.breadcrumbs .sep{
  color:#bfae9c;
}
.profile-strip{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  margin-bottom:18px;
  background:linear-gradient(135deg, #fff7ee 0%, #f7ebde 100%);
  border:1px solid #ead7c4;
  border-radius:var(--radius-sm);
}
.avatar{
  width:54px;
  height:54px;
  border-radius:16px;
  background:linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:18px;
  font-weight:800;
  box-shadow:0 10px 16px rgba(179,33,47,.20);
  flex:0 0 auto;
}
.profile-copy{
  min-width:0;
  flex:1;
}
.profile-name{
  display:block;
  font-size:14px;
  font-weight:700;
  color:var(--muted);
}
.profile-handle{
  display:block;
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  color:var(--ink);
}
.follow-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(179,33,47,.24);
  color:var(--primary-dark);
  font-size:13px;
  font-weight:800;
}
.follow-btn:hover{
  background:#fff3f1;
}
.hero-copy h1{
  margin:0 0 12px;
  font-size:42px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:0;
  color:var(--ink);
}
.hero-lead{
  margin:0 0 18px;
  font-size:17px;
  color:var(--muted);
  max-width:42rem;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:18px;
}
.button{
  border-radius:999px;
  min-height:46px;
  padding:0 18px;
  border:1px solid transparent;
  font-weight:800;
  letter-spacing:0;
  box-shadow:none;
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.button:hover{
  transform:translateY(-1px);
}
.button.primary{
  background:linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  color:#fff;
  box-shadow:0 12px 20px rgba(179,33,47,.20);
}
.button.primary:hover{
  background:linear-gradient(135deg, var(--primary-dark) 0%, #d95b2f 100%);
}
.button.secondary{
  background:#fff;
  color:var(--primary-dark);
  border-color:rgba(179,33,47,.25);
}
.button.secondary:hover{
  background:#fff4ef;
}
.button.ghost{
  background:#f7efe5;
  color:var(--ink);
  border-color:#ead7c4;
}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.stat-box{
  padding:14px 14px 13px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
}
.stat-value{
  display:block;
  font-size:24px;
  line-height:1.05;
  font-weight:900;
  color:var(--primary-dark);
}
.stat-label{
  display:block;
  margin-top:4px;
  font-size:12px;
  color:var(--muted);
}
.hero-visual{
  padding:18px;
  background:
    linear-gradient(180deg, rgba(179,33,47,.08) 0%, rgba(255,250,245,.96) 22%, rgba(255,250,245,.96) 100%);
  position:relative;
  overflow:hidden;
}
.hero-visual::before{
  content:"";
  position:absolute;
  inset:auto -20px -50px auto;
  width:160px;
  height:160px;
  background:
    linear-gradient(135deg, rgba(227,106,51,.18), rgba(241,182,60,.10));
  border-radius:28px;
  transform:rotate(10deg);
  opacity:.95;
}
.visual-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  position:relative;
  z-index:1;
}
.visual-title{
  margin:0;
  font-size:18px;
  font-weight:900;
  color:var(--ink);
}
.visual-sub{
  margin:6px 0 0;
  color:var(--muted);
  font-size:14px;
}
.visual-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  border:1px solid transparent;
}
.badge.good{
  background:rgba(47,125,77,.10);
  color:var(--success);
  border-color:rgba(47,125,77,.18);
}
.badge.warn{
  background:rgba(241,182,60,.14);
  color:#926100;
  border-color:rgba(241,182,60,.26);
}
.badge.hot{
  background:rgba(179,33,47,.10);
  color:var(--primary-dark);
  border-color:rgba(179,33,47,.18);
}
.visual-board{
  margin-top:16px;
  position:relative;
  z-index:1;
  display:grid;
  gap:12px;
}
.board-row{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:12px;
  align-items:center;
  padding:14px 15px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 10px 18px rgba(54,34,22,.04);
}
.row-label{
  display:block;
  font-size:14px;
  font-weight:800;
}
.row-meta{
  display:block;
  font-size:13px;
  color:var(--muted);
}
.row-flag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#fbefe5;
  color:var(--primary-dark);
  border:1px solid #f0dac7;
  font-size:12px;
  font-weight:800;
}
.meter-wrap{
  padding:15px 16px 16px;
  background:#1d1714;
  color:#fff;
  border-radius:14px;
  box-shadow:0 16px 28px rgba(26,18,14,.16);
}
.meter-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
}
.meter-label{
  font-size:14px;
  font-weight:800;
}
.meter-value{
  font-size:13px;
  color:rgba(255,255,255,.74);
}
.meter{
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  overflow:hidden;
}
.meter > span{
  display:block;
  height:100%;
  width:68%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--accent) 0%, #f4cf5b 52%, #ff8b4d 100%);
  box-shadow:0 0 18px rgba(241,182,60,.22);
}
.hero-foot{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.hero-mini{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#f7efe5;
  border:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

.lane-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}
.step-card{
  padding:18px 16px 16px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.step-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%);
}
.step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  border-radius:12px;
  background:rgba(179,33,47,.10);
  color:var(--primary-dark);
  font-size:14px;
  font-weight:900;
}
.step-title{
  margin:12px 0 8px;
  font-size:18px;
  line-height:1.2;
  font-weight:800;
}
.step-desc{
  margin:0;
  color:var(--muted);
  font-size:14px;
}
.step-card:hover{
  border-color:rgba(179,33,47,.22);
  box-shadow:var(--shadow-strong);
  transform:translateY(-2px);
}

.filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:18px 0 10px;
}
.filter-chip{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-size:13px;
  font-weight:800;
}
.filter-chip:hover{
  border-color:rgba(179,33,47,.25);
  background:#fff5f2;
}
.filter-chip.is-active{
  background:linear-gradient(135deg, rgba(179,33,47,.12), rgba(227,106,51,.10));
  border-color:rgba(179,33,47,.28);
  color:var(--primary-dark);
}
.filter-status{
  margin:0 0 16px;
  color:var(--muted);
  font-size:14px;
}
.card-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.entry-card{
  padding:18px 16px 16px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:0 10px 20px rgba(48,30,18,.05);
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:100%;
}
.entry-card:hover{
  border-color:rgba(179,33,47,.22);
  box-shadow:var(--shadow-strong);
  transform:translateY(-2px);
}
.card-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.card-kicker{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#f7efe5;
  border:1px solid #ead7c4;
  color:var(--primary-dark);
  font-size:12px;
  font-weight:800;
}
.card-title{
  margin:12px 0 8px;
  font-size:19px;
  line-height:1.25;
  font-weight:900;
}
.card-desc{
  margin:0;
  color:var(--muted);
  font-size:14px;
}
.card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.tag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  background:#fff;
  border:1px solid var(--line);
  color:var(--muted);
}
.tag.hot{
  background:rgba(179,33,47,.08);
  color:var(--primary-dark);
  border-color:rgba(179,33,47,.16);
}
.tag.soft{
  background:rgba(31,118,100,.08);
  color:var(--teal);
  border-color:rgba(31,118,100,.16);
}
.card-actions{
  margin-top:auto;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.card-actions .button{
  min-height:40px;
  padding:0 14px;
  font-size:13px;
}
.card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
  color:var(--muted);
}
.card-flag{
  color:var(--success);
  font-weight:800;
}
.card-note{
  margin:18px 0 0;
  padding:14px 16px;
  background:#fff;
  border:1px dashed rgba(179,33,47,.22);
  border-radius:var(--radius-sm);
  color:var(--muted);
  font-size:14px;
}
.load-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow);
}
.load-row p{
  margin:0;
  color:var(--muted);
  font-size:14px;
}
.pager{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.pager a,
.pager span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-size:13px;
  font-weight:800;
}
.pager a:hover{
  border-color:rgba(179,33,47,.22);
  background:#fff5f2;
}
.pager .current{
  background:linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  color:#fff;
  border-color:transparent;
}

.compare-wrap{
  overflow:auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow);
}
.compare-table{
  width:100%;
  border-collapse:collapse;
  min-width:680px;
}
.compare-table th,
.compare-table td{
  padding:15px 14px;
  border-bottom:1px solid #eadfcf;
  text-align:left;
  font-size:14px;
}
.compare-table th{
  background:#f8efe4;
  color:var(--ink);
  font-weight:900;
}
.compare-table tr:last-child td{
  border-bottom:0;
}
.compare-table td strong{
  color:var(--primary-dark);
}
.compare-flag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#f7efe5;
  color:var(--muted);
  border:1px solid var(--line);
  font-size:12px;
  font-weight:800;
}
.compare-good{
  color:var(--success);
  font-weight:800;
}

.limit-band{
  padding:0;
}
.limit-panel{
  background:linear-gradient(135deg, #1d1714 0%, #341c18 44%, #4c201d 100%);
  color:#fff;
  border-radius:22px;
  padding:28px 24px;
  box-shadow:0 20px 34px rgba(33,23,18,.20);
  position:relative;
  overflow:hidden;
}
.limit-panel::before{
  content:"";
  position:absolute;
  inset:-35px auto auto -35px;
  width:150px;
  height:150px;
  background:radial-gradient(circle at center, rgba(241,182,60,.20) 0, rgba(241,182,60,.05) 58%, transparent 60%);
}
.limit-panel::after{
  content:"";
  position:absolute;
  right:-25px;
  bottom:-25px;
  width:180px;
  height:180px;
  background:linear-gradient(135deg, rgba(227,106,51,.18), rgba(241,182,60,.08));
  border-radius:30px;
  transform:rotate(16deg);
}
.limit-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
  align-items:center;
}
.limit-title{
  margin:0 0 10px;
  font-size:30px;
  line-height:1.12;
  font-weight:900;
}
.limit-text{
  margin:0;
  max-width:40rem;
  color:rgba(255,255,255,.78);
  font-size:15px;
}
.limit-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.limit-actions .button.primary{
  background:linear-gradient(135deg, var(--accent) 0%, #ff8b4d 100%);
  color:#1f1714;
  box-shadow:0 12px 20px rgba(241,182,60,.22);
}
.limit-actions .button.secondary{
  background:rgba(255,255,255,.06);
  color:#fff;
  border-color:rgba(255,255,255,.16);
}
.limit-actions .button.secondary:hover{
  background:rgba(255,255,255,.12);
}
.limit-state{
  display:grid;
  gap:12px;
}
.limit-chipline{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.limit-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.10);
}
.limit-meter{
  padding:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
}
.limit-meter .meter-head{
  margin-bottom:10px;
}
.limit-meter .meter{
  background:rgba(255,255,255,.10);
}
.limit-meter .meter > span{
  background:linear-gradient(90deg, #ffb24a 0%, #ffd96b 52%, #ff7f4d 100%);
}
.limit-foot{
  margin-top:12px;
  color:rgba(255,255,255,.7);
  font-size:13px;
}

.faq-list{
  display:grid;
  gap:12px;
}
.faq-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:0 10px 20px rgba(48,30,18,.05);
  overflow:hidden;
}
.faq-item[open]{
  border-color:rgba(179,33,47,.22);
}
.faq-item summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  cursor:pointer;
  font-weight:900;
  color:var(--ink);
}
.faq-item summary::-webkit-details-marker{
  display:none;
}
.faq-item summary::after{
  content:"+";
  font-size:18px;
  line-height:1;
  color:var(--primary-dark);
}
.faq-item[open] summary::after{
  content:"–";
}
.faq-answer{
  padding:0 18px 16px;
  color:var(--muted);
  font-size:14px;
}

.contact-grid{
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:18px;
}
.form-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:22px;
}
.contact-panel{
  background:linear-gradient(135deg, rgba(179,33,47,.07), rgba(227,106,51,.06));
  border:1px solid rgba(179,33,47,.16);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:var(--shadow);
}
.field-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.form-group{
  margin-bottom:14px;
}
.form-group label{
  display:block;
  margin-bottom:8px;
  font-size:13px;
  font-weight:800;
  color:var(--ink);
}
.form-group input,
.form-group select,
.form-group textarea{
  width:100%;
  min-height:46px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  padding:11px 14px;
  color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.form-group textarea{
  min-height:120px;
  resize:vertical;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:rgba(179,33,47,.34);
  box-shadow:0 0 0 4px rgba(179,33,47,.08);
  outline:none;
}
.form-note{
  margin:10px 0 0;
  color:var(--muted);
  font-size:13px;
}
.form-feedback{
  margin:12px 0 0;
  min-height:24px;
  font-size:14px;
  font-weight:700;
}
.form-feedback.is-success{
  color:var(--success);
}
.form-feedback.is-error{
  color:var(--danger);
}
.contact-panel h3,
.form-panel h3{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.2;
  font-weight:900;
}
.contact-panel p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:14px;
}
.contact-list{
  list-style:none;
  margin:16px 0 0;
  padding:0;
  display:grid;
  gap:10px;
}
.contact-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--ink);
  font-size:14px;
}
.contact-list i{
  color:var(--primary);
  margin-top:3px;
}
.contact-mini{
  margin-top:18px;
  padding:14px 16px;
  background:#fff;
  border:1px solid rgba(179,33,47,.16);
  border-radius:12px;
  color:var(--muted);
  font-size:13px;
}

.site-footer{
  margin-top:28px;
  background:#191311;
  color:rgba(255,255,255,.86);
  padding:38px 0 18px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr .8fr .8fr;
  gap:18px;
  align-items:start;
}
.footer-brand p{
  margin:14px 0 0;
  color:rgba(255,255,255,.70);
  font-size:14px;
  max-width:34rem;
}
.footer-block h4{
  margin:0 0 14px;
  font-size:15px;
  font-weight:900;
  color:#fff;
}
.footer-links{
  display:grid;
  gap:10px;
}
.footer-links a{
  color:rgba(255,255,255,.74);
  font-size:14px;
}
.footer-links a:hover{
  color:#fff;
}
.footer-note{
  margin-top:24px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  justify-content:space-between;
  color:rgba(255,255,255,.58);
  font-size:13px;
}

.hidden-card[hidden]{
  display:none !important;
}

@media (max-width: 63.9375em){
  .header-inner{
    flex-wrap:wrap;
  }
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    order:2;
  }
  .top-nav{
    width:100%;
    order:3;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    padding:6px 0 12px;
  }
  .top-nav.is-open{
    display:flex;
  }
  .nav-links{
    flex-wrap:wrap;
  }
  .search-box{
    width:100%;
    min-width:0;
  }
  .hero-grid,
  .limit-inner,
  .contact-grid,
  .footer-grid{
    grid-template-columns:1fr;
  }
  .lane-grid,
  .card-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .hero-copy h1{
    font-size:36px;
  }
}

@media (max-width: 39.9375em){
  .header-inner{
    min-height:68px;
  }
  .brand-name{
    font-size:15px;
    white-space:normal;
  }
  .brand-tag{
    white-space:normal;
    line-height:1.35;
  }
  .hero-band{
    padding-top:18px;
  }
  .hero-copy,
  .hero-visual,
  .step-card,
  .entry-card,
  .form-panel,
  .contact-panel{
    padding-left:16px;
    padding-right:16px;
  }
  .hero-copy h1{
    font-size:30px;
  }
  .hero-lead,
  .section-lead,
  .card-desc,
  .step-desc,
  .limit-text{
    font-size:14px;
  }
  .hero-stats{
    grid-template-columns:1fr;
  }
  .lane-grid,
  .card-grid,
  .field-row{
    grid-template-columns:1fr;
  }
  .section-title{
    font-size:24px;
  }
  .limit-title{
    font-size:24px;
  }
  .load-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .pager{
    width:100%;
  }
  .pager a,
  .pager span{
    min-width:34px;
    height:36px;
  }
  .board-row{
    grid-template-columns:1fr;
  }
  .visual-badges{
    justify-content:flex-start;
  }
  .footer-note{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* roulang page: category2 */
:root{
  --bg: #f6f1e8;
  --bg-soft: #fcfaf5;
  --panel: #ffffff;
  --panel-2: #f8f2e8;
  --ink: #1b1714;
  --ink-2: #4f453d;
  --muted: #75695f;
  --line: #dacdbd;
  --line-2: #c7b8a5;
  --brand: #d43d2f;
  --brand-dark: #a72418;
  --brand-soft: #ffe8e0;
  --accent: #f0b82b;
  --accent-2: #1f7074;
  --success: #1b7a56;
  --shadow: 0 16px 32px rgba(28, 22, 18, .11);
  --shadow-soft: 0 10px 20px rgba(28, 22, 18, .07);
  --radius: 10px;
  --radius-sm: 8px;
  --radius-xs: 6px;
  --space: 24px;
}

*,
*::before,
*::after{ box-sizing:border-box; }

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;
  color:var(--ink);
  background:
    linear-gradient(180deg, #f8f3ea 0, #f6f1e8 260px, #f7f2ea 100%);
  line-height:1.6;
  letter-spacing:0;
  text-rendering:optimizeLegibility;
}

img, svg{
  display:block;
  max-width:100%;
}

a{
  color:inherit;
  text-decoration:none;
}

button,
input,
select,
textarea{
  font:inherit;
}

button{
  cursor:pointer;
}

::selection{
  background: rgba(212, 61, 47, .16);
  color:var(--ink);
}

.container-fluid{
  width:100%;
}

.grid-container{
  max-width: 1220px;
  padding-left: 1.1rem;
  padding-right: 1.1rem;
}

.site-header{
  position: sticky;
  top:0;
  z-index: 1000;
  background: rgba(246, 241, 232, .98);
  border-bottom: 1px solid rgba(215, 201, 182, .92);
  box-shadow: 0 2px 0 rgba(255,255,255,.38);
}

.header-inner{
  min-height: 76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  position:relative;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap: 12px;
  min-width:0;
}

.brand-mark{
  width: 42px;
  height: 42px;
  position:relative;
  border-radius: 9px;
  background: linear-gradient(180deg, #2a211c 0, #171210 100%);
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: inset 0 0 0 1px rgba(240,184,43,.18);
  flex: none;
}
.brand-mark::before,
.brand-mark::after{
  content:"";
  position:absolute;
  inset: 9px;
  border-radius: 6px;
  border: 1px solid rgba(240,184,43,.48);
}
.brand-mark::after{
  inset: 14px 9px 9px 14px;
  border-radius: 4px;
  background: rgba(212,61,47,.82);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.brand-text{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.brand-name{
  font-size: 1.02rem;
  line-height:1.2;
  font-weight: 800;
  color: var(--ink);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.brand-tag{
  font-size: .84rem;
  color: var(--muted);
  line-height:1.2;
  margin-top: 2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  border:1px solid var(--line);
  background: var(--panel);
  color: var(--ink);
  box-shadow: var(--shadow-soft);
}

.top-nav{
  display:flex;
  align-items:center;
  gap: 16px;
  flex: 1 1 auto;
  justify-content:flex-end;
}

.nav-links{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap:wrap;
}

.nav-link{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: .64rem .9rem;
  border-radius: 8px;
  border:1px solid transparent;
  color: var(--ink-2);
  font-size: .95rem;
  font-weight: 700;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.nav-link:hover,
.nav-link:focus-visible{
  background: var(--panel);
  border-color: var(--line);
  color: var(--ink);
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}
.nav-link.is-active{
  background: #191411;
  color: #fff;
  border-color: #191411;
  box-shadow: 0 8px 18px rgba(25, 20, 17, .18);
}

.header-tools{
  display:flex;
  align-items:center;
  gap: 10px;
}

.search-box{
  display:flex;
  align-items:center;
  overflow:hidden;
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
  min-width: 290px;
}
.search-box input{
  border:0;
  background:transparent;
  padding: .72rem .85rem;
  min-width:0;
  color: var(--ink);
  flex: 1 1 auto;
  outline:none;
}
.search-box input::placeholder{
  color: #96897f;
}
.search-box button{
  width: 46px;
  height: 44px;
  border:0;
  background: #1d1815;
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  transition: background-color .18s ease, transform .18s ease;
}
.search-box button:hover{
  background: var(--brand);
}
.search-box button:active{
  transform: translateY(1px);
}

.limit-strip{
  background: #16110f;
  color:#fff;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.limit-strip .grid-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  padding-top: .85rem;
  padding-bottom: .85rem;
}
.limit-strip p{
  margin:0;
  font-size: .95rem;
  color: rgba(255,255,255,.88);
}
.strip-actions{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
}

.chip{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: .44rem .72rem;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:#fff;
  font-size: .84rem;
  font-weight: 700;
  line-height:1;
}
.chip strong{
  font-weight:800;
}
.chip.hot{
  background: rgba(212,61,47,.16);
  border-color: rgba(212,61,47,.34);
}
.chip.gold{
  background: rgba(240,184,43,.16);
  border-color: rgba(240,184,43,.34);
}
.chip.teal{
  background: rgba(31,112,116,.18);
  border-color: rgba(31,112,116,.38);
  color:#eaf7f7;
}

.button,
.button.secondary,
.button.hollow{
  border-radius: 8px;
  font-weight: 800;
  line-height:1;
  padding: .9rem 1.1rem;
  margin:0;
  border: 1px solid transparent;
  transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.button{
  background: var(--brand);
  color:#fff;
  box-shadow: 0 12px 22px rgba(212,61,47,.18);
}
.button:hover,
.button:focus-visible{
  background: var(--brand-dark);
  color:#fff;
  box-shadow: 0 14px 26px rgba(212,61,47,.22);
  transform: translateY(-1px);
}
.button.secondary{
  background: #1c1714;
  color:#fff;
  box-shadow: 0 12px 22px rgba(28,23,20,.14);
}
.button.secondary:hover,
.button.secondary:focus-visible{
  background: #2a221e;
  color:#fff;
  transform: translateY(-1px);
}
.button.hollow{
  background: transparent;
  color: var(--ink);
  border-color: var(--line-2);
}
.button.hollow:hover,
.button.hollow:focus-visible{
  border-color: var(--ink);
  background: #fff;
  color: var(--ink);
  transform: translateY(-1px);
}
.button .fa-solid{
  margin-right: .45rem;
}

.site-main{
  overflow:hidden;
}

.hero-section{
  background: #15110f;
  color:#fff;
  padding: 1.15rem 0 1.6rem;
  border-bottom: 1px solid rgba(255,255,255,.06);
  position:relative;
}
.hero-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg, rgba(212,61,47,.10) 0, rgba(212,61,47,.10) 24%, transparent 24%),
    linear-gradient(0deg, rgba(255,255,255,.02), rgba(255,255,255,.02));
  pointer-events:none;
}
.hero-inner{
  position:relative;
  z-index:1;
  padding-top: .8rem;
}

.breadcrumbs{
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap:wrap;
  color: rgba(255,255,255,.72);
  font-size: .88rem;
  margin-bottom: 1rem;
}
.breadcrumbs a{
  color: rgba(255,255,255,.84);
}
.breadcrumbs .sep{
  color: rgba(255,255,255,.34);
}

.hero-copy{
  padding: 1rem 0 1rem;
}
.hero-badge-row{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap:wrap;
  margin-bottom: .95rem;
}
.badge-pill{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: .46rem .72rem;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 800;
  line-height:1;
  border:1px solid rgba(255,255,255,.14);
}
.badge-pill.hot{
  background: rgba(212,61,47,.18);
  color:#fff;
  border-color: rgba(212,61,47,.42);
}
.badge-pill.gold{
  background: rgba(240,184,43,.18);
  color:#fff;
  border-color: rgba(240,184,43,.36);
}
.badge-pill.teal{
  background: rgba(31,112,116,.18);
  color:#fff;
  border-color: rgba(31,112,116,.42);
}
.hero-copy h1{
  margin:0 0 .95rem;
  font-size: clamp(2rem, 4.1vw, 3.85rem);
  line-height:1.06;
  letter-spacing:0;
  font-weight: 900;
  max-width: 12.5ch;
}
.hero-copy .summary{
  margin:0;
  max-width: 58ch;
  color: rgba(255,255,255,.78);
  font-size: 1.02rem;
}
.hero-stats{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 1.35rem 0 1.4rem;
}
.stat{
  padding: .95rem .95rem .9rem;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  min-width:0;
}
.stat .num{
  font-size: 1.55rem;
  font-weight: 900;
  color:#fff;
  line-height:1.05;
}
.stat .label{
  margin-top: .34rem;
  color: rgba(255,255,255,.72);
  font-size: .88rem;
}
.hero-actions{
  display:flex;
  gap: 12px;
  flex-wrap:wrap;
  align-items:center;
}
.hero-actions .button{
  min-width: 148px;
}
.hero-actions .button.hollow{
  color:#fff;
  border-color: rgba(255,255,255,.24);
}
.hero-actions .button.hollow:hover,
.hero-actions .button.hollow:focus-visible{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.34);
}

.hero-visual{
  position:relative;
  min-height: 460px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at top right, rgba(212,61,47,.14), transparent 32%),
    linear-gradient(180deg, #1b1613 0, #12100e 100%);
  padding: 18px;
  box-shadow: 0 22px 40px rgba(0,0,0,.22);
  overflow:hidden;
}
.hero-visual::before{
  content:"";
  position:absolute;
  inset: 16px;
  border-radius: 12px;
  border: 1px solid rgba(240,184,43,.14);
  pointer-events:none;
}
.hero-visual-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.hero-visual-title{
  font-size: .95rem;
  font-weight: 800;
  color:#fff;
  letter-spacing:0;
}
.hero-visual-status{
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap:wrap;
}
.mini-chip{
  display:inline-flex;
  align-items:center;
  gap: 5px;
  padding: .36rem .56rem;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 800;
  line-height:1;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color:#fff;
}
.mini-chip.live{
  background: rgba(212,61,47,.24);
  border-color: rgba(212,61,47,.42);
}
.mini-chip.ok{
  background: rgba(27,122,86,.24);
  border-color: rgba(27,122,86,.42);
}
.mini-chip.warn{
  background: rgba(240,184,43,.18);
  color:#fff;
  border-color: rgba(240,184,43,.36);
}
.hero-svg-wrap{
  position:relative;
  margin-top: .35rem;
  border-radius: 12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:#0f0d0b;
}
.hero-svg{
  width:100%;
  height:auto;
}
.hero-callouts{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.callout{
  padding: .82rem .86rem;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 10px;
}
.callout .k{
  display:block;
  font-size: .75rem;
  color: rgba(255,255,255,.62);
  margin-bottom: .28rem;
}
.callout .v{
  display:block;
  font-size: .98rem;
  font-weight: 800;
  color:#fff;
}
.callout .sub{
  display:block;
  margin-top: .22rem;
  font-size: .76rem;
  color: rgba(255,255,255,.64);
}

.section{
  padding: 1.5rem 0;
}
.section.alt{
  background: linear-gradient(180deg, #fbf7f0 0, #f6f1e8 100%);
  border-top: 1px solid rgba(215,201,182,.55);
  border-bottom: 1px solid rgba(215,201,182,.45);
}
.section.dark-band{
  background: #191411;
  color:#fff;
}

.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 18px;
  margin-bottom: 1rem;
  flex-wrap:wrap;
}
.section-head .copy{
  max-width: 58ch;
}
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  font-size: .78rem;
  font-weight: 800;
  color: var(--brand);
  text-transform:none;
  margin-bottom: .45rem;
}
.section h2{
  margin:0;
  font-size: 1.52rem;
  line-height:1.16;
  font-weight: 900;
}
.section .lead{
  margin: .55rem 0 0;
  color: var(--muted);
}
.section.dark-band .section-kicker,
.section.dark-band .lead,
.section.dark-band h2{
  color:#fff;
}
.section.dark-band .lead{
  color: rgba(255,255,255,.76);
}

.filter-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
  padding: .95rem 1rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  box-shadow: var(--shadow-soft);
  margin-bottom: 1rem;
}
.filter-list{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap: 10px;
}
.filter-chip{
  display:inline-flex;
  align-items:center;
  gap: 7px;
  padding: .54rem .82rem;
  border-radius: 999px;
  border:1px solid var(--line);
  background: #fff;
  color: var(--ink-2);
  font-size: .9rem;
  font-weight: 800;
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.filter-chip:hover,
.filter-chip:focus-visible{
  transform: translateY(-1px);
  border-color: var(--line-2);
  box-shadow: var(--shadow-soft);
}
.filter-chip.is-active{
  background: var(--ink);
  color:#fff;
  border-color: var(--ink);
}
.filter-meta{
  display:flex;
  align-items:center;
  gap: 10px;
  color: var(--muted);
  font-size: .9rem;
  font-weight: 700;
}
.counter-badge{
  padding: .34rem .62rem;
  border-radius: 999px;
  background: var(--brand-soft);
  border:1px solid rgba(212,61,47,.18);
  color: var(--brand-dark);
  font-size: .8rem;
  font-weight: 900;
}

.ladder-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.ladder-card{
  position:relative;
  padding: 1rem 1rem .95rem;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow-soft);
  min-width:0;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ladder-card:hover{
  transform: translateY(-2px);
  border-color: var(--line-2);
  box-shadow: var(--shadow);
}
.ladder-card .step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 44px;
  height: 28px;
  padding: 0 .55rem;
  border-radius: 999px;
  background: #1a1512;
  color:#fff;
  font-size: .8rem;
  font-weight: 900;
  margin-bottom: .75rem;
}
.ladder-card .title{
  margin:0 0 .38rem;
  font-size: 1.02rem;
  line-height:1.22;
  font-weight: 900;
  color: var(--ink);
}
.ladder-card .text{
  margin:0;
  color: var(--ink-2);
  font-size: .95rem;
}

.compare-wrap{
  border:1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  box-shadow: var(--shadow-soft);
  overflow:hidden;
}
.compare-table{
  width:100%;
  border-collapse:collapse;
  min-width: 760px;
}
.compare-table th,
.compare-table td{
  padding: 1rem 1rem;
  border-bottom:1px solid rgba(215,201,182,.75);
  vertical-align:top;
  text-align:left;
}
.compare-table th{
  background: #1a1512;
  color:#fff;
  font-size: .92rem;
  font-weight: 800;
}
.compare-table td:first-child{
  font-weight: 800;
  color: var(--ink);
  width: 18%;
  background: #fcf8f1;
}
.compare-table tr:last-child td{
  border-bottom:0;
}
.compare-table .tag{
  display:inline-flex;
  align-items:center;
  padding: .28rem .55rem;
  margin-right: .4rem;
  margin-top: .18rem;
  border-radius: 999px;
  background: #f0ede7;
  border:1px solid var(--line);
  font-size: .78rem;
  font-weight: 800;
  color: var(--ink-2);
}

.limit-panel{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 16px;
  align-items:stretch;
}
.limit-spot{
  padding: 1.2rem;
  background: linear-gradient(180deg, #1a1512 0, #12100d 100%);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  box-shadow: 0 22px 40px rgba(0,0,0,.2);
}
.limit-spot h3{
  margin:0 0 .65rem;
  font-size: 1.25rem;
  font-weight: 900;
}
.limit-spot p{
  margin:0;
  color: rgba(255,255,255,.76);
}
.limit-bar{
  margin-top: 1rem;
  display:flex;
  gap: 8px;
  flex-wrap:wrap;
}
.limit-bar .mini-chip{
  border-color: rgba(255,255,255,.14);
}
.limit-cta{
  display:grid;
  gap: 12px;
}
.limit-actions{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.action-box{
  padding: 1rem;
  border-radius: 10px;
  background: var(--panel);
  border:1px solid var(--line);
  box-shadow: var(--shadow-soft);
  min-width:0;
}
.action-box .top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom:.7rem;
}
.action-box .top strong{
  font-size: .98rem;
}
.action-box .top .flag{
  font-size: .76rem;
  font-weight: 900;
  color: var(--brand-dark);
  background: var(--brand-soft);
  border:1px solid rgba(212,61,47,.16);
  padding: .24rem .46rem;
  border-radius: 999px;
}
.action-box p{
  margin:0 0 .8rem;
  color: var(--ink-2);
  font-size: .93rem;
}
.action-box .button{
  width:100%;
  justify-content:center;
}

.card-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.story-card{
  position:relative;
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: var(--shadow-soft);
  min-width:0;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.story-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: var(--line-2);
}
.story-card .meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: .8rem;
}
.story-card .index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 2.15rem;
  height: 2.15rem;
  padding: 0 .55rem;
  border-radius: 8px;
  background: #1a1512;
  color:#fff;
  font-weight: 900;
  font-size: .86rem;
}
.story-card .pill{
  display:inline-flex;
  align-items:center;
  gap: 5px;
  font-size: .76rem;
  font-weight: 900;
  color: var(--accent-2);
  background: rgba(31,112,116,.08);
  border:1px solid rgba(31,112,116,.16);
  padding: .28rem .48rem;
  border-radius: 999px;
}
.story-card h3{
  margin:0 0 .42rem;
  font-size: 1.03rem;
  line-height:1.25;
  font-weight: 900;
}
.story-card p{
  margin:0;
  color: var(--ink-2);
  font-size: .94rem;
}
.story-card .foot{
  margin-top: .92rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  flex-wrap:wrap;
}
.story-card .foot .mini{
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}
.story-card .foot a{
  color: var(--brand-dark);
  font-size: .86rem;
  font-weight: 900;
}
.story-card .foot a:hover,
.story-card .foot a:focus-visible{
  color: var(--brand);
}
.story-card.extra-card{
  display:none;
}
.story-card.is-visible{
  display:block;
}
.story-card.is-filtered-out{
  display:none !important;
}
.story-card .tag-row{
  display:flex;
  gap: 8px;
  flex-wrap:wrap;
  margin-top: .76rem;
}
.story-card .tag-row span{
  display:inline-flex;
  align-items:center;
  padding: .24rem .5rem;
  border-radius: 999px;
  background: #f2ede6;
  border:1px solid var(--line);
  color: var(--ink-2);
  font-size: .76rem;
  font-weight: 800;
}

.pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
  margin-top: 1rem;
  padding: .95rem 1rem;
  border:1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  box-shadow: var(--shadow-soft);
}
.page-links{
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap:wrap;
}
.page-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 2.4rem;
  height: 2.4rem;
  padding: 0 .72rem;
  border-radius: 8px;
  border:1px solid var(--line);
  background:#fff;
  color: var(--ink-2);
  font-size: .9rem;
  font-weight: 800;
}
.page-link.is-current{
  background: #1a1512;
  border-color: #1a1512;
  color:#fff;
}
.load-btn{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  justify-content:center;
  padding: .85rem 1rem;
  border-radius: 8px;
  border:1px solid var(--line-2);
  background: var(--panel-2);
  color: var(--ink);
  font-weight: 900;
}
.load-btn:hover,
.load-btn:focus-visible{
  background: #fff;
  border-color: var(--ink);
}
.load-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}

.note-band{
  margin-top: 1rem;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
}
.note-block{
  padding: 1rem;
  border-radius: 10px;
  border:1px solid var(--line);
  background: var(--panel);
  box-shadow: var(--shadow-soft);
}
.note-block.dark{
  background: #191411;
  color:#fff;
  border-color: rgba(255,255,255,.08);
}
.note-block h3{
  margin:0 0 .55rem;
  font-size: 1.02rem;
  font-weight: 900;
}
.note-block p{
  margin:0;
  color: inherit;
}
.note-list{
  margin: .85rem 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap: 10px;
}
.note-list li{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  color: var(--ink-2);
  font-size: .94rem;
}
.note-block.dark .note-list li{
  color: rgba(255,255,255,.78);
}
.note-list i{
  color: var(--brand);
  margin-top: .18rem;
}
.note-block.dark .note-list i{
  color: var(--accent);
}
.note-list strong{
  color: inherit;
}

.faq-list{
  display:grid;
  gap: 12px;
}
.faq-item{
  border:1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  box-shadow: var(--shadow-soft);
  overflow:hidden;
}
.faq-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 1rem 1rem;
  border:0;
  background:transparent;
  color: var(--ink);
  text-align:left;
}
.faq-trigger span{
  font-weight: 900;
  line-height:1.35;
}
.faq-trigger .icon{
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: #f2ede6;
  border:1px solid var(--line);
  flex: none;
  transition: transform .18s ease, background-color .18s ease;
}
.faq-item.is-open .faq-trigger .icon{
  transform: rotate(180deg);
  background: var(--brand-soft);
  border-color: rgba(212,61,47,.16);
}
.faq-panel{
  max-height:0;
  overflow:hidden;
  transition: max-height .24s ease;
}
.faq-panel-inner{
  padding: 0 1rem 1rem;
  color: var(--ink-2);
}
.faq-panel-inner p{
  margin:0;
}
.faq-item.is-open .faq-panel{
  max-height: 240px;
}

.contact-section{
  background: #1a1512;
  color:#fff;
  padding: 1.8rem 0 2rem;
  border-top: 1px solid rgba(255,255,255,.06);
}
.contact-grid{
  display:grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 18px;
  align-items:start;
}
.contact-copy h2{
  margin:0 0 .7rem;
  font-size: 1.5rem;
  font-weight: 900;
}
.contact-copy p{
  margin:0;
  color: rgba(255,255,255,.74);
}
.contact-points{
  margin: 1rem 0 0;
  display:grid;
  gap: 10px;
}
.contact-point{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: rgba(255,255,255,.82);
}
.contact-point i{
  color: var(--accent);
  margin-top: .2rem;
}
.form-shell{
  padding: 1rem;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.04);
}
.form-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.field{
  display:flex;
  flex-direction:column;
  gap: 7px;
}
.field.full{
  grid-column: 1 / -1;
}
.field label{
  font-size: .88rem;
  font-weight: 800;
  color: rgba(255,255,255,.88);
}
.field input,
.field select,
.field textarea{
  width:100%;
  border-radius: 8px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.96);
  color: var(--ink);
  padding: .82rem .9rem;
  outline:none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color: rgba(240,184,43,.78);
  box-shadow: 0 0 0 3px rgba(240,184,43,.18);
}
.field textarea{
  min-height: 118px;
  resize: vertical;
}
.form-foot{
  margin-top: 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
}
.form-note{
  font-size: .84rem;
  color: rgba(255,255,255,.68);
}
.form-status{
  min-height: 1.4em;
  font-size: .9rem;
  font-weight: 800;
}
.form-status.ok{
  color: #9ef0cb;
}
.form-status.err{
  color: #ffb5aa;
}

.site-footer{
  background: #12100e;
  color:#fff;
  padding: 1.7rem 0 1.15rem;
  border-top: 1px solid rgba(255,255,255,.06);
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.35fr .8fr .8fr;
  gap: 18px;
}
.footer-brand p{
  margin: 1rem 0 0;
  color: rgba(255,255,255,.68);
  max-width: 42ch;
  font-size: .94rem;
}
.footer-block h4{
  margin: 0 0 .8rem;
  font-size: 1rem;
  font-weight: 900;
}
.footer-links{
  display:grid;
  gap: 10px;
}
.footer-links a{
  color: rgba(255,255,255,.74);
  font-size: .94rem;
}
.footer-links a:hover,
.footer-links a:focus-visible{
  color:#fff;
}
.footer-note{
  margin-top: 1.2rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  color: rgba(255,255,255,.55);
  font-size: .86rem;
  flex-wrap:wrap;
}

.no-results{
  display:none;
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 10px;
  border:1px dashed var(--line-2);
  background: #fff;
  color: var(--ink-2);
  font-weight: 700;
}

.button:focus-visible,
.nav-link:focus-visible,
.filter-chip:focus-visible,
.page-link:focus-visible,
.search-box input:focus-visible,
.search-box button:focus-visible,
.faq-trigger:focus-visible,
.load-btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline: 2px solid rgba(212,61,47,.72);
  outline-offset: 2px;
}

@media (max-width: 1024px){
  .hero-copy h1{
    max-width: 14ch;
  }
  .hero-visual{
    min-height: 420px;
  }
  .ladder-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .limit-panel,
  .note-band,
  .contact-grid{
    grid-template-columns: 1fr;
  }
  .limit-actions{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .card-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .footer-grid{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px){
  .header-inner{
    min-height: 68px;
    gap: 12px;
  }
  .nav-toggle{
    display:inline-flex;
  }
  .top-nav{
    position:absolute;
    left: 0;
    right: 0;
    top: 100%;
    padding: .85rem 1.1rem 1rem;
    background: rgba(246, 241, 232, .99);
    border-bottom: 1px solid rgba(215,201,182,.92);
    display:block;
    max-height:0;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
    transition: max-height .22s ease, opacity .18s ease;
  }
  .top-nav.is-open{
    max-height: 440px;
    opacity:1;
    pointer-events:auto;
  }
  .nav-links{
    width:100%;
    justify-content:flex-start;
  }
  .header-tools{
    margin-top: 12px;
  }
  .search-box{
    min-width:0;
    width:100%;
  }
  .hero-section{
    padding-top: .9rem;
  }
  .hero-copy h1{
    font-size: 2.15rem;
  }
  .hero-stats{
    grid-template-columns: 1fr;
  }
  .hero-visual{
    min-height: auto;
    margin-top: 1rem;
  }
  .hero-callouts{
    grid-template-columns: 1fr;
  }
  .limit-actions{
    grid-template-columns: 1fr;
  }
  .card-grid{
    grid-template-columns: 1fr;
  }
  .footer-grid{
    grid-template-columns: 1fr;
  }
  .compare-table{
    min-width: 680px;
  }
  .form-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px){
  .grid-container{
    padding-left: .9rem;
    padding-right: .9rem;
  }
  .limit-strip .grid-container{
    flex-direction:column;
    align-items:flex-start;
  }
  .hero-copy h1{
    font-size: 1.92rem;
    max-width: 100%;
  }
  .hero-copy .summary{
    font-size: .98rem;
  }
  .hero-actions .button{
    min-width: 0;
    width:100%;
    justify-content:center;
  }
  .section{
    padding: 1.2rem 0;
  }
  .section h2,
  .contact-copy h2{
    font-size: 1.28rem;
  }
  .filter-bar{
    padding: .85rem;
  }
  .filter-list{
    gap: 8px;
  }
  .filter-chip{
    padding: .5rem .72rem;
  }
  .pager{
    padding: .85rem;
  }
}
