/* roulang page: index */
:root {
      --bg: #fffaf0;
      --bg-soft: #f4fff7;
      --card: #ffffff;
      --text: #242826;
      --muted: #66736d;
      --primary: #24c67a;
      --primary-dark: #0c9b5a;
      --cyan: #22c7d9;
      --accent: #ffb84d;
      --coral: #ff755f;
      --border: rgba(36, 40, 38, .11);
      --line: rgba(36, 198, 122, .24);
      --shadow: 0 18px 50px rgba(25, 78, 55, .10);
      --shadow-soft: 0 10px 28px rgba(25, 78, 55, .08);
      --radius: 20px;
      --radius-lg: 28px;
      --container: 1240px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
      color: var(--text);
      line-height: 1.7;
      background:
        radial-gradient(circle at 14% 8%, rgba(36, 198, 122, .13), transparent 28%),
        radial-gradient(circle at 88% 16%, rgba(255, 184, 77, .18), transparent 30%),
        linear-gradient(180deg, #fffdf7 0%, var(--bg) 44%, #f7fff9 100%);
      overflow-x: hidden;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img, svg {
      max-width: 100%;
      display: block;
    }

    button, input {
      font: inherit;
    }

    button {
      cursor: pointer;
    }

    ::selection {
      background: rgba(36, 198, 122, .24);
    }

    ::-webkit-scrollbar {
      width: 10px;
      height: 10px;
    }

    ::-webkit-scrollbar-track {
      background: #fff7e8;
    }

    ::-webkit-scrollbar-thumb {
      background: linear-gradient(180deg, var(--primary), var(--cyan));
      border-radius: 999px;
      border: 2px solid #fff7e8;
    }

    .site-container {
      width: min(var(--container), calc(100% - 40px));
      margin: 0 auto;
    }

    .top-alert {
      position: relative;
      z-index: 30;
      background: linear-gradient(90deg, #17352b, #1b4938 50%, #24462f);
      color: #f8fff9;
      border-bottom: 1px solid rgba(255, 255, 255, .16);
    }

    .top-alert .grid-line {
      background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
      background-size: 18px 18px;
    }

    .count-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 12px;
      border-radius: 999px;
      background: rgba(255, 255, 255, .12);
      border: 1px solid rgba(255, 255, 255, .22);
      white-space: nowrap;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 40;
      backdrop-filter: blur(18px);
      background: rgba(255, 253, 247, .88);
      border-bottom: 1px solid var(--border);
      box-shadow: 0 12px 28px rgba(26, 53, 43, .05);
    }

    .header-main {
      display: grid;
      grid-template-columns: auto minmax(220px, 1fr) auto;
      align-items: center;
      gap: 22px;
      padding: 18px 0 14px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-weight: 900;
      letter-spacing: -.02em;
      min-width: max-content;
    }

    .brand-mark {
      width: 42px;
      height: 42px;
      border-radius: 16px;
      display: grid;
      place-items: center;
      color: #12392a;
      background:
        radial-gradient(circle, rgba(255,255,255,.92) 0 18%, transparent 20%),
        conic-gradient(from 45deg, var(--primary), var(--cyan), var(--accent), var(--primary));
      box-shadow: 0 12px 26px rgba(36, 198, 122, .22);
      position: relative;
    }

    .brand-mark::after {
      content: "";
      width: 14px;
      height: 14px;
      border: 2px solid rgba(18, 57, 42, .8);
      border-radius: 50%;
      position: absolute;
    }

    .brand-text {
      font-size: clamp(16px, 2vw, 22px);
      color: #16231e;
    }

    .search-box {
      position: relative;
      display: flex;
      align-items: center;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 999px;
      box-shadow: var(--shadow-soft);
      padding: 8px 10px 8px 16px;
      min-width: 0;
    }

    .search-box input {
      width: 100%;
      border: 0;
      outline: 0;
      background: transparent;
      color: var(--text);
      min-width: 0;
    }

    .search-box input::placeholder {
      color: #91a19a;
    }

    .search-box:focus-within {
      border-color: rgba(36, 198, 122, .66);
      box-shadow: 0 0 0 4px rgba(36, 198, 122, .13), var(--shadow-soft);
    }

    .icon-btn {
      width: 38px;
      height: 38px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      border: 0;
      background: linear-gradient(135deg, var(--primary), var(--cyan));
      color: #fff;
      transition: transform .2s ease, box-shadow .2s ease;
    }

    .icon-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 24px rgba(36, 198, 122, .22);
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 46px;
      padding: 0 20px;
      border-radius: 999px;
      font-weight: 800;
      border: 1px solid transparent;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
      white-space: nowrap;
    }

    .btn:focus-visible,
    .channel-link:focus-visible,
    .footer-link:focus-visible,
    details summary:focus-visible {
      outline: 3px solid rgba(34, 199, 217, .35);
      outline-offset: 3px;
    }

    .btn-primary {
      color: #0f2a20;
      background: linear-gradient(135deg, #8cffc7, var(--primary) 52%, #49d9e6);
      box-shadow: 0 16px 30px rgba(36, 198, 122, .24);
    }

    .btn-primary:hover {
      transform: translateY(-3px);
      box-shadow: 0 22px 42px rgba(36, 198, 122, .30);
    }

    .btn-secondary {
      color: #174334;
      background: rgba(255,255,255,.74);
      border-color: rgba(36, 198, 122, .28);
    }

    .btn-secondary:hover {
      transform: translateY(-2px);
      border-color: rgba(36, 198, 122, .64);
      box-shadow: var(--shadow-soft);
    }

    .btn:active {
      transform: translateY(1px) scale(.99);
    }

    .channel-nav {
      border-top: 1px solid rgba(36, 40, 38, .07);
      overflow-x: auto;
      scrollbar-width: none;
    }

    .channel-nav::-webkit-scrollbar {
      display: none;
    }

    .channel-list {
      display: flex;
      gap: 10px;
      padding: 11px 0 15px;
      min-width: max-content;
    }

    .channel-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 9px 14px;
      border-radius: 999px;
      color: #41504a;
      border: 1px solid rgba(36, 40, 38, .09);
      background: rgba(255,255,255,.58);
      font-weight: 750;
      transition: .2s ease;
    }

    .channel-link:hover,
    .channel-link.active {
      color: #10382a;
      background: rgba(36, 198, 122, .13);
      border-color: rgba(36, 198, 122, .36);
      box-shadow: 0 8px 20px rgba(36, 198, 122, .11);
    }

    main {
      position: relative;
    }

    .section {
      padding: 38px 0;
    }

    .hero {
      padding: 46px 0 30px;
    }

    .hero-panel {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      background:
        linear-gradient(135deg, rgba(255,255,255,.95), rgba(243,255,247,.92)),
        repeating-linear-gradient(90deg, rgba(36,198,122,.07) 0 1px, transparent 1px 48px);
      box-shadow: var(--shadow);
      padding: clamp(24px, 5vw, 54px);
    }

    .hero-panel::before,
    .hero-panel::after {
      content: "";
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
    }

    .hero-panel::before {
      width: 260px;
      height: 260px;
      right: -90px;
      top: -120px;
      background: radial-gradient(circle, rgba(34,199,217,.22), transparent 66%);
    }

    .hero-panel::after {
      width: 220px;
      height: 220px;
      left: -82px;
      bottom: -110px;
      background: radial-gradient(circle, rgba(255,184,77,.24), transparent 68%);
    }

    .hud-bar {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 20px;
      z-index: 1;
    }

    .hud-item,
    .badge {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      border: 1px solid rgba(36, 198, 122, .28);
      color: #215244;
      background: rgba(255,255,255,.76);
      padding: 7px 11px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 800;
    }

    .dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--coral);
      box-shadow: 0 0 0 5px rgba(255, 117, 95, .14);
    }

    .hero-title {
      position: relative;
      z-index: 1;
      max-width: 850px;
      font-size: clamp(34px, 6vw, 72px);
      line-height: 1.02;
      letter-spacing: -.055em;
      font-weight: 950;
      color: #14231d;
    }

    .hero-copy {
      position: relative;
      z-index: 1;
      max-width: 820px;
      margin-top: 18px;
      color: #52625c;
      font-size: clamp(16px, 1.55vw, 20px);
    }

    .hero-actions {
      position: relative;
      z-index: 1;
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 28px;
    }

    .icon-matrix {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 12px;
      margin-top: 32px;
    }

    .matrix-card {
      min-height: 96px;
      border-radius: 18px;
      padding: 14px;
      background: rgba(255,255,255,.78);
      border: 1px solid rgba(36, 40, 38, .09);
      box-shadow: var(--shadow-soft);
      position: relative;
      overflow: hidden;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }

    .matrix-card:hover {
      transform: translateY(-4px);
      border-color: rgba(36, 198, 122, .36);
      box-shadow: var(--shadow);
    }

    .matrix-card::after {
      content: "";
      position: absolute;
      right: 12px;
      bottom: 12px;
      width: 22px;
      height: 22px;
      border: 2px solid rgba(36, 198, 122, .22);
      border-radius: 50%;
      box-shadow: inset 0 0 0 6px rgba(36, 198, 122, .08);
    }

    .matrix-no {
      color: var(--primary-dark);
      font-weight: 950;
      font-size: 13px;
    }

    .matrix-title {
      margin-top: 9px;
      color: #1c2d26;
      font-weight: 900;
    }

    .section-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
      gap: 20px;
      margin-bottom: 22px;
    }

    .section-kicker {
      color: var(--primary-dark);
      font-weight: 950;
      letter-spacing: .04em;
      font-size: 13px;
    }

    .section-title {
      margin-top: 6px;
      font-size: clamp(25px, 3vw, 42px);
      line-height: 1.15;
      letter-spacing: -.035em;
      font-weight: 950;
      color: #18231f;
    }

    .section-desc {
      margin-top: 10px;
      max-width: 720px;
      color: var(--muted);
    }

    .card {
      background: rgba(255,255,255,.82);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow-soft);
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
      overflow: hidden;
    }

    .card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
      border-color: rgba(36, 198, 122, .30);
    }

    .entry-grid {
      display: grid;
      grid-template-columns: 1.2fr .8fr .8fr;
      gap: 16px;
    }

    .entry-card {
      padding: 24px;
      min-height: 190px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      background:
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(244,255,247,.86)),
        linear-gradient(90deg, transparent 0 92%, rgba(36,198,122,.12) 92% 100%);
    }

    .entry-card.featured {
      background:
        radial-gradient(circle at 90% 10%, rgba(255,184,77,.22), transparent 26%),
        linear-gradient(135deg, #ffffff, #eefdf5);
    }

    .entry-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
    }

    .entry-no {
      width: 40px;
      height: 40px;
      border-radius: 14px;
      display: grid;
      place-items: center;
      font-weight: 950;
      color: #12382a;
      background: rgba(36, 198, 122, .16);
      border: 1px solid rgba(36, 198, 122, .28);
    }

    .entry-card h3 {
      margin-top: 18px;
      font-size: 22px;
      font-weight: 950;
      color: #1b2b25;
    }

    .entry-card p {
      margin-top: 8px;
      color: var(--muted);
      font-size: 15px;
    }

    .feature-strip {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }

    .feature-card {
      padding: 24px;
      background: linear-gradient(135deg, #17382c, #246348);
      color: #f6fff9;
      position: relative;
    }

    .feature-card:nth-child(2) {
      background: linear-gradient(135deg, #124459, #22a1b0);
    }

    .feature-card:nth-child(3) {
      background: linear-gradient(135deg, #5d3b15, #d89023);
    }

    .feature-card .mini-icon {
      width: 46px;
      height: 46px;
      border-radius: 16px;
      display: grid;
      place-items: center;
      background: rgba(255,255,255,.15);
      border: 1px solid rgba(255,255,255,.22);
      margin-bottom: 18px;
    }

    .feature-card h3 {
      font-size: 22px;
      font-weight: 950;
    }

    .feature-card p {
      color: rgba(255,255,255,.80);
      margin-top: 9px;
      font-size: 15px;
    }

    .wall-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }

    .cover-card {
      min-height: 230px;
      padding: 18px;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      background:
        linear-gradient(145deg, rgba(255,255,255,.70), rgba(255,255,255,.92)),
        radial-gradient(circle at 20% 20%, rgba(36,198,122,.20), transparent 34%),
        radial-gradient(circle at 84% 74%, rgba(255,184,77,.22), transparent 35%);
    }

    .cover-art {
      height: 92px;
      border-radius: 18px;
      background:
        linear-gradient(90deg, rgba(36,198,122,.16) 1px, transparent 1px),
        linear-gradient(rgba(36,198,122,.16) 1px, transparent 1px),
        linear-gradient(135deg, #ecfff3, #fff8e7);
      background-size: 22px 22px, 22px 22px, auto;
      border: 1px solid rgba(36, 198, 122, .18);
      position: relative;
    }

    .cover-art::before {
      content: "";
      position: absolute;
      inset: 22px auto auto 22px;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: 2px solid rgba(34, 199, 217, .48);
      box-shadow: 0 0 0 10px rgba(34,199,217,.08);
    }

    .cover-card h3 {
      margin-top: 16px;
      font-weight: 950;
      font-size: 20px;
    }

    .cover-card p {
      margin-top: 6px;
      color: var(--muted);
      font-size: 15px;
    }

    .milestone-wrap {
      display: grid;
      grid-template-columns: .85fr 1.15fr;
      gap: 18px;
      align-items: stretch;
    }

    .campaign-card {
      padding: 28px;
      background:
        radial-gradient(circle at 84% 20%, rgba(255,117,95,.18), transparent 28%),
        linear-gradient(135deg, #fff3dc, #f3fff7);
    }

    .campaign-card h3 {
      font-size: 28px;
      line-height: 1.18;
      font-weight: 950;
    }

    .campaign-card p {
      margin-top: 12px;
      color: #6d5c43;
    }

    .timeline {
      display: grid;
      gap: 12px;
    }

    .time-row {
      display: grid;
      grid-template-columns: 88px minmax(0, 1fr);
      gap: 14px;
      padding: 17px;
      border-radius: 18px;
      border: 1px solid var(--border);
      background: rgba(255,255,255,.80);
      box-shadow: var(--shadow-soft);
    }

    .time-code {
      font-weight: 950;
      color: var(--primary-dark);
      font-variant-numeric: tabular-nums;
    }

    .time-row h3 {
      font-weight: 900;
      color: #21322b;
    }

    .time-row p {
      color: var(--muted);
      font-size: 15px;
      margin-top: 3px;
    }

    .news-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
      gap: 18px;
    }

    .news-list {
      display: grid;
      gap: 12px;
    }

    .news-item {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: center;
      gap: 14px;
      padding: 16px;
      border-radius: 18px;
      background: rgba(255,255,255,.82);
      border: 1px solid var(--border);
      transition: .2s ease;
    }

    .news-item:hover {
      transform: translateX(4px);
      border-color: rgba(36, 198, 122, .34);
      box-shadow: var(--shadow-soft);
    }

    .news-index {
      width: 36px;
      height: 36px;
      border-radius: 13px;
      display: grid;
      place-items: center;
      color: #17382c;
      background: rgba(36,198,122,.14);
      font-weight: 950;
    }

    .news-item h3 {
      font-weight: 900;
      color: #1d2b26;
    }

    .news-item p {
      color: var(--muted);
      font-size: 14px;
      margin-top: 2px;
    }

    .recommend-panel {
      padding: 22px;
      background:
        linear-gradient(180deg, rgba(23,56,44,.96), rgba(23,56,44,.88)),
        linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
      background-size: auto, 24px 24px;
      color: #f5fff8;
    }

    .recommend-panel p {
      color: rgba(245,255,248,.76);
      margin-top: 10px;
    }

    .proof-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
    }

    .proof-card {
      padding: 20px;
      text-align: left;
    }

    .proof-num {
      font-size: 30px;
      line-height: 1;
      color: var(--primary-dark);
      font-weight: 950;
      letter-spacing: -.04em;
    }

    .proof-card p {
      margin-top: 10px;
      color: var(--muted);
      font-size: 15px;
    }

    .bubble-wall {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }

    .bubble {
      padding: 20px;
      border-radius: 22px 22px 22px 8px;
      background: rgba(255,255,255,.86);
      border: 1px solid var(--border);
      box-shadow: var(--shadow-soft);
    }

    .avatar {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: linear-gradient(135deg, rgba(36,198,122,.55), rgba(34,199,217,.55));
      border: 3px solid #fff;
      box-shadow: 0 7px 18px rgba(34,199,217,.16);
      flex: 0 0 auto;
    }

    .bubble-top {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px;
    }

    .bubble strong {
      font-weight: 950;
    }

    .bubble p {
      color: var(--muted);
      font-size: 15px;
    }

    .mobile-panel {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
      align-items: center;
      padding: 28px;
      background:
        radial-gradient(circle at 82% 18%, rgba(34,199,217,.18), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,.95), rgba(239,255,246,.9));
    }

    .scan-card {
      min-height: 260px;
      border-radius: 24px;
      background:
        linear-gradient(90deg, rgba(36,198,122,.13) 1px, transparent 1px),
        linear-gradient(rgba(36,198,122,.13) 1px, transparent 1px),
        #ffffff;
      background-size: 28px 28px;
      border: 1px solid rgba(36, 198, 122, .18);
      position: relative;
      overflow: hidden;
    }

    .scan-card::before {
      content: "";
      position: absolute;
      inset: 34px;
      border: 2px solid rgba(255, 184, 77, .42);
      border-radius: 50%;
      box-shadow: 0 0 0 20px rgba(255,184,77,.09), inset 0 0 0 20px rgba(36,198,122,.06);
    }

    .scan-card::after {
      content: "同域入口";
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      padding: 10px 16px;
      border-radius: 999px;
      color: #15382b;
      font-weight: 950;
      background: #fff;
      border: 1px solid var(--border);
      box-shadow: var(--shadow-soft);
      white-space: nowrap;
    }

    .faq-list {
      display: grid;
      gap: 12px;
    }

    details {
      border-radius: 18px;
      border: 1px solid var(--border);
      background: rgba(255,255,255,.86);
      box-shadow: var(--shadow-soft);
      overflow: hidden;
    }

    details summary {
      list-style: none;
      padding: 18px 20px;
      font-weight: 950;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
    }

    details summary::-webkit-details-marker {
      display: none;
    }

    details summary::after {
      content: "+";
      width: 28px;
      height: 28px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: #174334;
      background: rgba(36,198,122,.13);
      flex: 0 0 auto;
      transition: transform .2s ease;
    }

    details[open] summary::after {
      content: "−";
      transform: rotate(180deg);
    }

    .faq-body {
      padding: 0 20px 20px;
      color: var(--muted);
      border-top: 1px solid rgba(36, 40, 38, .07);
    }

    .cta-panel {
      padding: clamp(24px, 4vw, 44px);
      border-radius: var(--radius-lg);
      color: #f8fff9;
      background:
        radial-gradient(circle at 15% 20%, rgba(140,255,199,.20), transparent 28%),
        radial-gradient(circle at 90% 70%, rgba(255,184,77,.22), transparent 30%),
        linear-gradient(135deg, #14372b, #1d6848);
      box-shadow: var(--shadow);
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 22px;
      align-items: center;
      overflow: hidden;
      position: relative;
    }

    .cta-panel::after {
      content: "";
      position: absolute;
      inset: 18px;
      border: 1px solid rgba(255,255,255,.11);
      border-radius: 22px;
      pointer-events: none;
    }

    .cta-panel h2 {
      font-size: clamp(26px, 3vw, 42px);
      line-height: 1.12;
      font-weight: 950;
      letter-spacing: -.035em;
      position: relative;
      z-index: 1;
    }

    .cta-panel p {
      color: rgba(248,255,249,.78);
      margin-top: 10px;
      max-width: 720px;
      position: relative;
      z-index: 1;
    }

    .cta-panel .btn {
      position: relative;
      z-index: 1;
    }

    .site-footer {
      padding: 40px 0 28px;
      background: #14241e;
      color: #eafff1;
      margin-top: 36px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.3fr .8fr .8fr 1fr;
      gap: 26px;
    }

    .footer-title {
      font-size: 20px;
      font-weight: 950;
      margin-bottom: 12px;
    }

    .footer-text {
      color: rgba(234,255,241,.72);
      font-size: 15px;
    }

    .footer-link {
      display: block;
      color: rgba(234,255,241,.74);
      padding: 5px 0;
      transition: color .2s ease, transform .2s ease;
    }

    .footer-link:hover {
      color: #8cffc7;
      transform: translateX(3px);
    }

    .footer-bottom {
      margin-top: 26px;
      padding-top: 20px;
      border-top: 1px solid rgba(255,255,255,.10);
      color: rgba(234,255,241,.62);
      display: flex;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
      font-size: 14px;
    }

    @media (max-width: 1024px) {
      .header-main {
        grid-template-columns: 1fr auto;
      }

      .search-box {
        grid-column: 1 / -1;
        order: 3;
      }

      .icon-matrix {
        grid-template-columns: repeat(3, 1fr);
      }

      .entry-grid,
      .milestone-wrap,
      .news-layout,
      .mobile-panel {
        grid-template-columns: 1fr;
      }

      .wall-grid,
      .bubble-wall {
        grid-template-columns: repeat(2, 1fr);
      }

      .proof-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .footer-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 768px) {
      .site-container {
        width: min(100% - 28px, var(--container));
      }

      .section {
        padding: 30px 0;
      }

      .hero {
        padding-top: 30px;
      }

      .header-main {
        gap: 12px;
        padding: 14px 0 10px;
      }

      .brand-mark {
        width: 38px;
        height: 38px;
        border-radius: 14px;
      }

      .brand-text {
        font-size: 16px;
        max-width: 210px;
        line-height: 1.25;
      }

      .header-main > .btn {
        min-height: 40px;
        padding: 0 13px;
        font-size: 14px;
      }

      .channel-list {
        padding-bottom: 12px;
      }

      .hero-panel {
        padding: 24px;
      }

      .icon-matrix,
      .feature-strip,
      .wall-grid,
      .bubble-wall,
      .proof-grid {
        grid-template-columns: 1fr;
      }

      .section-head {
        grid-template-columns: 1fr;
        align-items: start;
      }

      .news-item {
        grid-template-columns: auto minmax(0, 1fr);
      }

      .news-item .badge {
        grid-column: 2;
        justify-self: start;
      }

      .cta-panel {
        grid-template-columns: 1fr;
      }

      .time-row {
        grid-template-columns: 1fr;
      }

      .footer-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 520px) {
      .top-alert .site-container {
        flex-direction: column;
        align-items: flex-start;
      }

      .hero-title {
        font-size: 34px;
      }

      .hero-actions .btn {
        width: 100%;
      }

      .entry-card,
      .campaign-card,
      .mobile-panel {
        padding: 20px;
      }

      .scan-card {
        min-height: 210px;
      }

      .footer-bottom {
        display: block;
      }
    }

/* roulang page: category1 */
:root{
  --bg:#f7f4ed;
  --bg-2:#fbfaf6;
  --panel:#ffffff;
  --panel-soft:#f6fbfa;
  --text:#1f2937;
  --muted:#667085;
  --line:#d9e0e6;
  --mint:#18a999;
  --mint-2:#c7f0e8;
  --sky:#2f8cff;
  --coral:#f28d66;
  --sand:#f3ead8;
  --shadow:0 14px 30px rgba(31,41,55,.08);
  --shadow-2:0 18px 38px rgba(24,169,153,.10);
  --radius:18px;
  --radius-sm:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,255,255,.6)),
    linear-gradient(90deg, rgba(24,169,153,.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(24,169,153,.05) 1px, transparent 1px),
    var(--bg);
  background-size:auto, 22px 22px, 22px 22px, auto;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input{font:inherit}
::selection{background:rgba(24,169,153,.18)}
.site-container{
  width:min(100% - 32px, 1280px);
  margin-inline:auto;
}
.site-header{
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter:saturate(170%) blur(14px);
  background:rgba(247,244,237,.84);
  border-bottom:1px solid rgba(217,224,230,.9);
}
.header-main{
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 0 10px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  flex:0 0 auto;
}
.brand-mark{
  width:38px;height:38px;border-radius:14px;
  background:
    linear-gradient(135deg, rgba(24,169,153,1), rgba(47,140,255,1));
  box-shadow:var(--shadow-2);
  position:relative;
}
.brand-mark::before,
.brand-mark::after{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.82);
}
.brand-mark::after{
  inset:14px;
  border-radius:8px;
}
.brand-text{
  font-weight:800;
  letter-spacing:0;
  font-size:1rem;
  white-space:nowrap;
}
.search-box{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  max-width:560px;
  margin-left:auto;
  padding:10px 12px;
  border:1px solid rgba(217,224,230,.95);
  border-radius:999px;
  background:rgba(255,255,255,.9);
  box-shadow:0 8px 20px rgba(31,41,55,.04);
}
.search-box input{
  width:100%;
  border:0;
  outline:none;
  background:transparent;
  color:var(--text);
}
.search-box input::placeholder{color:#8a94a6}
.icon-btn{
  width:36px;height:36px;
  border:1px solid rgba(24,169,153,.22);
  border-radius:999px;
  background:linear-gradient(180deg, #f8fffd, #edf9f6);
  color:var(--mint);
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.icon-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(24,169,153,.5);
  box-shadow:var(--shadow);
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:999px;
  padding:11px 18px;
  font-weight:700;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  white-space:nowrap;
  border:1px solid transparent;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg, var(--mint), #12c08f);
  box-shadow:var(--shadow-2);
}
.btn-primary:hover{box-shadow:0 16px 34px rgba(24,169,153,.18)}
.btn-secondary{
  color:var(--text);
  background:rgba(255,255,255,.74);
  border-color:rgba(217,224,230,.98);
}
.channel-nav{
  padding:0 0 14px;
}
.channel-list{
  display:flex;
  gap:10px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  padding-bottom:4px;
}
.channel-list::-webkit-scrollbar{height:6px}
.channel-list::-webkit-scrollbar-thumb{
  background:rgba(102,112,133,.28);
  border-radius:999px;
}
.channel-link{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(217,224,230,.98);
  background:rgba(255,255,255,.72);
  color:#4b5563;
  font-size:.92rem;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.channel-link:hover{
  transform:translateY(-1px);
  border-color:rgba(24,169,153,.3);
  color:var(--text);
}
.channel-link.active{
  background:linear-gradient(135deg, rgba(24,169,153,.14), rgba(47,140,255,.12));
  border-color:rgba(24,169,153,.4);
  color:#0f766e;
  font-weight:700;
}
main{padding:20px 0 42px}
.panel{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(217,224,230,.9);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.soft-panel{
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(246,251,250,.92));
  border:1px solid rgba(24,169,153,.12);
  border-radius:var(--radius);
  box-shadow:var(--shadow-2);
}
.section-title{
  font-size:1.2rem;
  line-height:1.25;
  font-weight:800;
  letter-spacing:0;
}
.section-subtitle{
  color:var(--muted);
  font-size:.96rem;
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:7px 11px;
  background:rgba(24,169,153,.08);
  color:#0f766e;
  border:1px solid rgba(24,169,153,.18);
  font-size:.86rem;
  font-weight:700;
}
.badge-coral{
  background:rgba(242,141,102,.1);
  border-color:rgba(242,141,102,.18);
  color:#b4532f;
}
.stat{
  border-radius:16px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(217,224,230,.9);
  padding:14px;
}
.stat strong{
  display:block;
  font-size:1.18rem;
  line-height:1.1;
}
.stat span{
  color:var(--muted);
  font-size:.9rem;
}
.notice-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
}
.notice-left{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 12px;
}
.notice-timer{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(24,169,153,.12), rgba(47,140,255,.09));
  border:1px solid rgba(24,169,153,.18);
  font-weight:800;
  color:#0f766e;
}
.notice-text{
  color:#4b5563;
}
.hero-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}
.hero-copy{
  grid-column:span 7;
  padding:24px;
  position:relative;
  overflow:hidden;
}
.hero-copy::after{
  content:"";
  position:absolute;
  inset:auto -15% -25% auto;
  width:320px;height:320px;
  background:
    linear-gradient(135deg, rgba(24,169,153,.12), rgba(47,140,255,.08));
  border-radius:48px;
  transform:rotate(8deg);
  pointer-events:none;
}
.hero-aside{
  grid-column:span 5;
  display:grid;
  gap:14px;
}
.hero-heading{
  font-size:clamp(1.8rem, 2.3vw, 2.55rem);
  line-height:1.12;
  font-weight:900;
  letter-spacing:0;
  margin:12px 0 14px;
}
.hero-description{
  color:#4b5563;
  font-size:1rem;
  max-width:58ch;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}
.step-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.step-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(217,224,230,.92);
  color:#374151;
  font-size:.92rem;
  font-weight:700;
}
.step-pill b{
  color:var(--mint);
}
.hero-side-card{
  padding:18px;
  position:relative;
  overflow:hidden;
}
.hero-side-card + .hero-side-card{
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,244,237,.94));
}
.corner-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(24,169,153,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24,169,153,.08) 1px, transparent 1px);
  background-size:20px 20px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.55), transparent 75%);
  opacity:.5;
  pointer-events:none;
}
.hero-side-inner{
  position:relative;
  z-index:1;
}
.matrix{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.mini-card{
  padding:14px;
  border-radius:16px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(217,224,230,.92);
}
.mini-card strong{
  display:block;
  font-size:.98rem;
  margin-bottom:4px;
}
.mini-card p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}
.filter-bar{
  margin-top:20px;
  padding:16px;
}
.filter-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.filter-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.filter-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(217,224,230,.96);
  background:#fff;
  color:#374151;
  font-weight:700;
  font-size:.9rem;
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.filter-chip:hover{
  transform:translateY(-1px);
  border-color:rgba(24,169,153,.28);
}
.filter-chip.active{
  background:rgba(24,169,153,.1);
  color:#0f766e;
  border-color:rgba(24,169,153,.28);
}
.results{
  margin-top:20px;
}
.results-head{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.card-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0,1fr));
  gap:16px;
}
.result-card{
  grid-column:span 4;
  padding:18px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
  border:1px solid rgba(217,224,230,.94);
  box-shadow:0 12px 24px rgba(31,41,55,.05);
  display:flex;
  flex-direction:column;
  min-height:240px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.result-card:hover{
  transform:translateY(-2px);
  border-color:rgba(24,169,153,.28);
  box-shadow:0 16px 32px rgba(24,169,153,.1);
}
.card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.card-no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(24,169,153,.12), rgba(47,140,255,.09));
  color:#0f766e;
  font-weight:900;
}
.card-tag{
  font-size:.82rem;
  color:#0f766e;
  background:rgba(24,169,153,.08);
  border:1px solid rgba(24,169,153,.18);
  padding:6px 10px;
  border-radius:999px;
  font-weight:700;
}
.card-title{
  margin:14px 0 8px;
  font-size:1.04rem;
  line-height:1.35;
  font-weight:800;
}
.card-desc{
  color:var(--muted);
  font-size:.94rem;
  margin:0 0 12px;
}
.card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
}
.meta-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid rgba(217,224,230,.92);
  color:#475569;
  font-size:.82rem;
}
.card-action{
  margin-top:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--mint), #12c08f);
  color:#fff;
  font-weight:800;
  width:fit-content;
  box-shadow:var(--shadow-2);
}
.card-action:hover{box-shadow:0 16px 32px rgba(24,169,153,.18)}
.matrix-section{
  margin-top:20px;
  padding:18px;
}
.matrix-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
  margin-top:14px;
}
.focus-card{
  padding:20px;
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,251,250,.96));
  border:1px solid rgba(24,169,153,.14);
}
.focus-card h3{
  font-size:1.18rem;
  line-height:1.3;
  margin:10px 0 10px;
  font-weight:900;
}
.focus-card p{
  color:#4b5563;
  margin:0 0 14px;
}
.callout-list{
  display:grid;
  gap:10px;
}
.callout-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 13px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(217,224,230,.92);
}
.callout-dot{
  width:10px;height:10px;border-radius:999px;
  margin-top:6px;
  background:linear-gradient(135deg, var(--mint), var(--sky));
  flex:0 0 auto;
}
.callout-item strong{
  display:block;
  margin-bottom:2px;
}
.callout-item span{
  display:block;
  color:var(--muted);
  font-size:.92rem;
}
.compact-grid{
  display:grid;
  gap:12px;
}
.compact-item{
  padding:14px;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(217,224,230,.92);
}
.compact-item .line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.compact-item strong{
  font-size:.98rem;
}
.compact-item p{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}
.faq-wrap{
  margin-top:20px;
  padding:18px;
}
.faq-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}
.faq-item{
  border-radius:16px;
  border:1px solid rgba(217,224,230,.92);
  background:#fff;
  overflow:hidden;
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:15px 16px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";
  width:28px;height:28px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(217,224,230,.95);
  color:#6b7280;
  flex:0 0 auto;
  transition:transform .2s ease, background .2s ease;
}
.faq-item[open] summary::after{
  content:"−";
  background:rgba(24,169,153,.08);
  color:#0f766e;
}
.faq-item .faq-body{
  padding:0 16px 16px;
  color:var(--muted);
}
.cta-block{
  margin-top:20px;
  padding:22px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:linear-gradient(135deg, rgba(24,169,153,.12), rgba(47,140,255,.09));
}
.cta-block h2{
  margin:0 0 8px;
  font-size:1.28rem;
  line-height:1.2;
  font-weight:900;
}
.cta-block p{
  margin:0;
  color:#415066;
}
.cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.site-footer{
  margin-top:22px;
  padding:28px 0 18px;
  border-top:1px solid rgba(217,224,230,.95);
  background:rgba(247,244,237,.78);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr repeat(3, .8fr);
  gap:20px;
}
.footer-title{
  font-size:1rem;
  font-weight:900;
  margin-bottom:10px;
}
.footer-text{
  color:var(--muted);
  margin:0;
}
.footer-link{
  display:block;
  width:fit-content;
  color:#374151;
  margin-top:8px;
  transition:color .2s ease, transform .2s ease;
}
.footer-link:hover{
  color:var(--mint);
  transform:translateX(2px);
}
.footer-bottom{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(217,224,230,.95);
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
  justify-content:space-between;
  color:#6b7280;
  font-size:.92rem;
}
@media (max-width: 1100px){
  .hero-copy{grid-column:span 12}
  .hero-aside{grid-column:span 12}
  .result-card{grid-column:span 6}
  .matrix-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 767px){
  .header-main{
    flex-wrap:wrap;
    gap:12px;
  }
  .brand{order:1}
  .search-box{
    order:3;
    max-width:none;
    width:100%;
  }
  .btn-primary{
    order:2;
    margin-left:auto;
  }
  .hero-copy,
  .hero-aside,
  .result-card{
    grid-column:span 12;
  }
  .card-grid{
    grid-template-columns:1fr;
  }
  .footer-grid{
    grid-template-columns:1fr;
  }
  .cta-block{
    align-items:flex-start;
  }
}
@media (max-width: 520px){
  .site-container{width:min(100% - 20px, 1280px)}
  main{padding-top:14px}
  .hero-copy,
  .filter-bar,
  .matrix-section,
  .faq-wrap,
  .cta-block,
  .notice-strip,
  .hero-side-card,
  .result-card{
    padding:16px;
  }
  .hero-heading{
    font-size:1.6rem;
  }
  .hero-actions,
  .cta-actions{
    width:100%;
  }
  .btn,
  .card-action{
    width:100%;
    justify-content:center;
  }
}

/* roulang page: category2 */
:root {
      --color-bg: #fffaf0;
      --color-panel: #ffffff;
      --color-panel-soft: #f6fff8;
      --color-primary: #19b86a;
      --color-primary-dark: #0d8d52;
      --color-primary-light: #d9fbe7;
      --color-accent: #ff8b57;
      --color-accent-soft: #fff0e8;
      --color-ink: #1f2a24;
      --color-muted: #64736b;
      --color-line: #dce9df;
      --color-grid: rgba(25, 184, 106, .12);
      --radius-sm: 12px;
      --radius-md: 18px;
      --radius-lg: 28px;
      --shadow-soft: 0 18px 48px rgba(31, 42, 36, .08);
      --shadow-card: 0 10px 30px rgba(31, 42, 36, .07);
      --shadow-hover: 0 18px 42px rgba(25, 184, 106, .16);
      --container: 1240px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      min-height: 100vh;
      color: var(--color-ink);
      font-family: "Inter", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
      line-height: 1.7;
      background:
        linear-gradient(90deg, var(--color-grid) 1px, transparent 1px),
        linear-gradient(0deg, var(--color-grid) 1px, transparent 1px),
        radial-gradient(circle at 12% 10%, rgba(255, 139, 87, .14), transparent 28%),
        radial-gradient(circle at 86% 18%, rgba(25, 184, 106, .16), transparent 24%),
        var(--color-bg);
      background-size: 44px 44px, 44px 44px, auto, auto, auto;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img {
      max-width: 100%;
      display: block;
    }

    button,
    input {
      font: inherit;
    }

    button,
    .btn {
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
    }

    button:focus-visible,
    input:focus-visible,
    a:focus-visible,
    summary:focus-visible {
      outline: 3px solid rgba(25, 184, 106, .28);
      outline-offset: 3px;
      border-radius: 12px;
    }

    ::selection {
      color: #0f2018;
      background: var(--color-primary-light);
    }

    ::-webkit-scrollbar {
      width: 10px;
      height: 10px;
    }

    ::-webkit-scrollbar-thumb {
      background: rgba(25, 184, 106, .36);
      border-radius: 999px;
    }

    .site-container {
      width: min(var(--container), calc(100% - 40px));
      margin: 0 auto;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(255, 250, 240, .86);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid rgba(220, 233, 223, .8);
      box-shadow: 0 10px 30px rgba(31, 42, 36, .05);
    }

    .header-main {
      display: grid;
      grid-template-columns: auto minmax(260px, 1fr) auto;
      align-items: center;
      gap: 18px;
      padding: 18px 0 12px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
      font-weight: 900;
      letter-spacing: -.02em;
    }

    .brand-mark {
      position: relative;
      width: 38px;
      height: 38px;
      flex: 0 0 auto;
      border-radius: 14px;
      background: linear-gradient(135deg, var(--color-primary), #6ee7b7);
      box-shadow: 0 12px 28px rgba(25, 184, 106, .24);
    }

    .brand-mark::before,
    .brand-mark::after {
      content: "";
      position: absolute;
      inset: 9px;
      border: 2px solid rgba(255, 255, 255, .88);
      border-radius: 50%;
    }

    .brand-mark::after {
      inset: 17px 6px auto;
      height: 2px;
      border: 0;
      background: rgba(255, 255, 255, .9);
      transform: rotate(-25deg);
    }

    .brand-text {
      font-size: clamp(18px, 2.3vw, 25px);
      white-space: nowrap;
    }

    .search-box {
      display: flex;
      align-items: center;
      width: 100%;
      min-width: 0;
      padding: 5px;
      border: 1px solid var(--color-line);
      border-radius: 999px;
      background: rgba(255, 255, 255, .92);
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55);
    }

    .search-box input {
      width: 100%;
      min-width: 0;
      border: 0;
      outline: 0;
      color: var(--color-ink);
      background: transparent;
      padding: 10px 14px;
    }

    .search-box input::placeholder {
      color: #8a9b91;
    }

    .icon-btn {
      width: 42px;
      height: 42px;
      border: 0;
      border-radius: 999px;
      color: #0b5f3b;
      background: var(--color-primary-light);
      cursor: pointer;
    }

    .icon-btn:hover {
      transform: translateY(-1px);
      background: #c3f8d9;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 44px;
      padding: 11px 18px;
      border-radius: 999px;
      border: 1px solid transparent;
      font-weight: 800;
      cursor: pointer;
      white-space: nowrap;
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .btn:active {
      transform: translateY(0) scale(.98);
    }

    .btn-primary {
      color: #ffffff;
      background: linear-gradient(135deg, var(--color-primary), #0aa6a6);
      box-shadow: 0 12px 28px rgba(25, 184, 106, .24);
    }

    .btn-primary:hover {
      box-shadow: var(--shadow-hover);
    }

    .btn-secondary {
      color: var(--color-primary-dark);
      border-color: rgba(25, 184, 106, .28);
      background: rgba(255, 255, 255, .82);
    }

    .btn-secondary:hover {
      border-color: var(--color-primary);
      background: var(--color-primary-light);
      box-shadow: var(--shadow-card);
    }

    .channel-nav {
      padding: 0 0 14px;
      overflow: hidden;
    }

    .channel-list {
      display: flex;
      gap: 10px;
      overflow-x: auto;
      padding-bottom: 2px;
      scrollbar-width: none;
    }

    .channel-list::-webkit-scrollbar {
      display: none;
    }

    .channel-link {
      position: relative;
      display: inline-flex;
      align-items: center;
      min-height: 38px;
      padding: 9px 15px;
      border: 1px solid var(--color-line);
      border-radius: 999px;
      color: var(--color-muted);
      background: rgba(255, 255, 255, .72);
      font-size: 14px;
      font-weight: 800;
      white-space: nowrap;
      transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
    }

    .channel-link:hover {
      color: var(--color-primary-dark);
      border-color: rgba(25, 184, 106, .45);
      transform: translateY(-1px);
    }

    .channel-link.active {
      color: #0f3b2a;
      border-color: rgba(25, 184, 106, .45);
      background: linear-gradient(135deg, #e9fff1, #fff7eb);
      box-shadow: 0 8px 18px rgba(25, 184, 106, .12);
    }

    .section {
      padding: 38px 0;
    }

    .top-alert {
      margin-top: 26px;
      border: 1px solid rgba(25, 184, 106, .22);
      border-radius: var(--radius-md);
      background: rgba(255, 255, 255, .78);
      box-shadow: var(--shadow-card);
      overflow: hidden;
    }

    .alert-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 14px 18px;
    }

    .status-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--color-accent);
      box-shadow: 0 0 0 6px rgba(255, 139, 87, .16);
    }

    .hero {
      padding: 34px 0 44px;
    }

    .hero-panel {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
      gap: 28px;
      align-items: stretch;
      padding: clamp(24px, 4vw, 42px);
      border: 1px solid rgba(220, 233, 223, .9);
      border-radius: var(--radius-lg);
      background:
        radial-gradient(circle at top right, rgba(25, 184, 106, .13), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(246, 255, 248, .9));
      box-shadow: var(--shadow-soft);
      overflow: hidden;
    }

    .hero-panel::before {
      content: "";
      position: absolute;
      width: 210px;
      height: 210px;
      right: -80px;
      top: -80px;
      border: 1px solid rgba(25, 184, 106, .18);
      border-radius: 50%;
      box-shadow: inset 0 0 0 18px rgba(25, 184, 106, .05);
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      width: fit-content;
      padding: 7px 12px;
      border: 1px solid rgba(25, 184, 106, .24);
      border-radius: 999px;
      color: var(--color-primary-dark);
      background: var(--color-primary-light);
      font-size: 13px;
      font-weight: 900;
    }

    h1 {
      margin: 18px 0 14px;
      font-size: clamp(34px, 5.2vw, 64px);
      line-height: 1.05;
      letter-spacing: -.055em;
      font-weight: 950;
    }

    .hero-desc {
      max-width: 720px;
      color: var(--color-muted);
      font-size: clamp(16px, 2vw, 19px);
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 24px;
    }

    .benefit-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 24px;
    }

    .badge {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 7px 11px;
      border-radius: 999px;
      color: #315044;
      border: 1px solid rgba(220, 233, 223, .9);
      background: rgba(255, 255, 255, .78);
      font-size: 13px;
      font-weight: 800;
    }

    .hero-card {
      position: relative;
      z-index: 1;
      padding: 22px;
      border: 1px solid rgba(25, 184, 106, .18);
      border-radius: 24px;
      background: #10221b;
      color: #eafff2;
      box-shadow: 0 20px 44px rgba(16, 34, 27, .16);
      overflow: hidden;
    }

    .hero-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.055) 1px, transparent 1px);
      background-size: 30px 30px;
      opacity: .75;
      pointer-events: none;
    }

    .hero-card > * {
      position: relative;
      z-index: 1;
    }

    .mini-title {
      color: #a8f4cc;
      font-size: 13px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .priority-list {
      display: grid;
      gap: 12px;
      margin-top: 18px;
    }

    .priority-item {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 12px;
      align-items: start;
      padding: 14px;
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 16px;
      background: rgba(255, 255, 255, .06);
    }

    .num {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 34px;
      height: 34px;
      border-radius: 12px;
      color: #10221b;
      background: #bdf7d6;
      font-weight: 950;
    }

    .section-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 20px;
      align-items: end;
      margin-bottom: 22px;
    }

    .section-kicker {
      color: var(--color-primary-dark);
      font-size: 13px;
      font-weight: 950;
      letter-spacing: .12em;
    }

    .section-title {
      margin: 8px 0 0;
      font-size: clamp(26px, 3vw, 40px);
      line-height: 1.18;
      letter-spacing: -.035em;
      font-weight: 950;
    }

    .section-desc {
      margin: 10px 0 0;
      color: var(--color-muted);
      max-width: 760px;
    }

    .summary-strip {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
    }

    .summary-card {
      padding: 17px;
      border: 1px solid var(--color-line);
      border-radius: var(--radius-md);
      background: rgba(255, 255, 255, .82);
      box-shadow: var(--shadow-card);
    }

    .summary-card strong {
      display: block;
      font-size: 24px;
      line-height: 1;
      color: var(--color-primary-dark);
    }

    .summary-card span {
      display: block;
      margin-top: 8px;
      color: var(--color-muted);
      font-size: 14px;
    }

    .split-layout {
      display: grid;
      grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
      gap: 22px;
      align-items: start;
    }

    .feature-card,
    .soft-card,
    .matrix-card,
    .compare-box,
    .faq-item,
    .cta-panel {
      border: 1px solid var(--color-line);
      border-radius: var(--radius-md);
      background: rgba(255, 255, 255, .84);
      box-shadow: var(--shadow-card);
    }

    .feature-card {
      position: sticky;
      top: 138px;
      padding: 24px;
      overflow: hidden;
    }

    .feature-card::after {
      content: "";
      position: absolute;
      right: -42px;
      bottom: -42px;
      width: 150px;
      height: 150px;
      border: 1px dashed rgba(25, 184, 106, .28);
      border-radius: 50%;
      background: rgba(25, 184, 106, .05);
    }

    .feature-top {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: start;
    }

    .feature-title {
      font-size: 26px;
      line-height: 1.2;
      font-weight: 950;
      letter-spacing: -.025em;
    }

    .rank-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 52px;
      height: 38px;
      border-radius: 14px;
      color: #813711;
      background: var(--color-accent-soft);
      font-weight: 950;
    }

    .check-list {
      display: grid;
      gap: 12px;
      margin-top: 22px;
    }

    .check-item {
      display: flex;
      gap: 11px;
      align-items: flex-start;
      color: var(--color-muted);
    }

    .check-item::before {
      content: "✓";
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      flex: 0 0 auto;
      margin-top: 2px;
      border-radius: 50%;
      color: #ffffff;
      background: var(--color-primary);
      font-size: 13px;
      font-weight: 900;
    }

    .small-grid {
      display: grid;
      gap: 14px;
    }

    .soft-card {
      display: grid;
      grid-template-columns: 54px minmax(0, 1fr);
      gap: 14px;
      padding: 18px;
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }

    .soft-card:hover {
      transform: translateY(-3px);
      border-color: rgba(25, 184, 106, .38);
      box-shadow: var(--shadow-hover);
    }

    .soft-card h3 {
      margin: 0;
      font-size: 18px;
      font-weight: 950;
    }

    .soft-card p {
      margin: 6px 0 0;
      color: var(--color-muted);
      font-size: 14px;
    }

    .filter-bar {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      padding: 12px;
      border: 1px solid var(--color-line);
      border-radius: 18px;
      background: rgba(255, 255, 255, .76);
      box-shadow: var(--shadow-card);
    }

    .filter-pill {
      display: inline-flex;
      align-items: center;
      min-height: 36px;
      padding: 8px 13px;
      border: 1px solid var(--color-line);
      border-radius: 999px;
      color: var(--color-muted);
      background: #ffffff;
      font-size: 14px;
      font-weight: 850;
      cursor: pointer;
      transition: .2s ease;
    }

    .filter-pill:hover,
    .filter-pill.active {
      color: #0c422b;
      border-color: rgba(25, 184, 106, .45);
      background: var(--color-primary-light);
      transform: translateY(-1px);
    }

    .matrix-grid {
      display: grid;
      grid-template-columns: repeat(12, minmax(0, 1fr));
      gap: 14px;
      margin-top: 18px;
    }

    .matrix-card {
      grid-column: span 4;
      padding: 18px;
      transition: .22s ease;
    }

    .matrix-card:nth-child(1),
    .matrix-card:nth-child(4) {
      grid-column: span 6;
    }

    .matrix-card:hover {
      transform: translateY(-3px);
      border-color: rgba(25, 184, 106, .4);
      box-shadow: var(--shadow-hover);
    }

    .matrix-meta {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      margin-bottom: 12px;
      color: var(--color-muted);
      font-size: 13px;
      font-weight: 850;
    }

    .matrix-card h3 {
      margin: 0;
      font-size: 20px;
      font-weight: 950;
    }

    .matrix-card p {
      margin: 8px 0 16px;
      color: var(--color-muted);
      font-size: 14px;
    }

    .tag-row {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }

    .tag {
      display: inline-flex;
      padding: 5px 9px;
      border: 1px solid rgba(25, 184, 106, .18);
      border-radius: 999px;
      color: #176543;
      background: #edfff4;
      font-size: 12px;
      font-weight: 850;
    }

    .compare-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }

    .compare-box {
      padding: 20px;
    }

    .compare-box h3 {
      margin: 0 0 12px;
      font-size: 19px;
      font-weight: 950;
    }

    .compare-row {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      padding: 10px 0;
      border-top: 1px dashed rgba(100, 115, 107, .24);
      color: var(--color-muted);
      font-size: 14px;
    }

    .compare-row b {
      color: var(--color-ink);
    }

    .timeline {
      display: grid;
      gap: 14px;
    }

    .timeline-item {
      display: grid;
      grid-template-columns: 74px minmax(0, 1fr);
      gap: 14px;
      align-items: start;
      padding: 18px;
      border: 1px solid var(--color-line);
      border-radius: var(--radius-md);
      background: rgba(255, 255, 255, .84);
      box-shadow: var(--shadow-card);
    }

    .time-code {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 42px;
      border-radius: 14px;
      color: #0d5c39;
      background: var(--color-primary-light);
      font-weight: 950;
    }

    .timeline-item h3 {
      margin: 0;
      font-size: 18px;
      font-weight: 950;
    }

    .timeline-item p {
      margin: 6px 0 0;
      color: var(--color-muted);
      font-size: 14px;
    }

    .cta-panel {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 24px;
      align-items: center;
      padding: clamp(24px, 4vw, 36px);
      background:
        radial-gradient(circle at 88% 16%, rgba(255, 139, 87, .18), transparent 24%),
        linear-gradient(135deg, #ffffff, #f3fff7);
      overflow: hidden;
    }

    .cta-panel::before {
      content: "";
      position: absolute;
      inset: 16px;
      border: 1px solid rgba(25, 184, 106, .12);
      border-radius: 22px;
      pointer-events: none;
    }

    .cta-panel > * {
      position: relative;
      z-index: 1;
    }

    .cta-panel h2 {
      margin: 0;
      font-size: clamp(26px, 3.4vw, 44px);
      line-height: 1.16;
      letter-spacing: -.04em;
      font-weight: 950;
    }

    .cta-panel p {
      margin: 10px 0 0;
      color: var(--color-muted);
      max-width: 720px;
    }

    .faq-list {
      display: grid;
      gap: 12px;
    }

    .faq-item {
      overflow: hidden;
    }

    .faq-item summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 18px 20px;
      cursor: pointer;
      font-weight: 950;
      list-style: none;
    }

    .faq-item summary::-webkit-details-marker {
      display: none;
    }

    .faq-item summary::after {
      content: "+";
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      flex: 0 0 auto;
      border-radius: 50%;
      color: var(--color-primary-dark);
      background: var(--color-primary-light);
      font-weight: 950;
    }

    .faq-item[open] summary::after {
      content: "−";
    }

    .faq-item p {
      margin: 0;
      padding: 0 20px 20px;
      color: var(--color-muted);
    }

    .site-footer {
      margin-top: 42px;
      padding: 44px 0 26px;
      color: #dff8ea;
      background: #10221b;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.2fr .75fr .75fr 1fr;
      gap: 26px;
    }

    .footer-title {
      margin-bottom: 12px;
      color: #ffffff;
      font-weight: 950;
      font-size: 18px;
    }

    .footer-text {
      margin: 0;
      color: rgba(223, 248, 234, .72);
      font-size: 14px;
    }

    .footer-link {
      display: block;
      width: fit-content;
      margin: 7px 0;
      color: rgba(223, 248, 234, .78);
      font-size: 14px;
      transition: color .2s ease, transform .2s ease;
    }

    .footer-link:hover {
      color: #a8f4cc;
      transform: translateX(2px);
    }

    .footer-bottom {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: center;
      margin-top: 30px;
      padding-top: 18px;
      border-top: 1px solid rgba(223, 248, 234, .12);
      color: rgba(223, 248, 234, .72);
      font-size: 14px;
    }

    @media (max-width: 1024px) {
      .header-main {
        grid-template-columns: 1fr auto;
      }

      .search-box {
        grid-column: 1 / -1;
        order: 3;
      }

      .hero-panel,
      .split-layout,
      .cta-panel {
        grid-template-columns: 1fr;
      }

      .feature-card {
        position: static;
      }

      .summary-strip,
      .compare-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .matrix-card,
      .matrix-card:nth-child(1),
      .matrix-card:nth-child(4) {
        grid-column: span 6;
      }

      .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 768px) {
      .site-container {
        width: min(100% - 28px, var(--container));
      }

      .header-main {
        gap: 12px;
        padding-top: 14px;
      }

      .brand-text {
        max-width: 58vw;
        overflow: hidden;
        text-overflow: ellipsis;
      }

      .btn {
        padding: 10px 14px;
      }

      .alert-inner,
      .section-head {
        grid-template-columns: 1fr;
        display: grid;
      }

      .hero {
        padding-top: 24px;
      }

      .hero-panel {
        padding: 22px;
        border-radius: 22px;
      }

      .summary-strip,
      .compare-grid {
        grid-template-columns: 1fr;
      }

      .matrix-card,
      .matrix-card:nth-child(1),
      .matrix-card:nth-child(4) {
        grid-column: span 12;
      }

      .timeline-item {
        grid-template-columns: 1fr;
      }

      .footer-grid,
      .footer-bottom {
        grid-template-columns: 1fr;
        display: grid;
      }
    }

    @media (max-width: 520px) {
      .header-main {
        grid-template-columns: 1fr;
      }

      .brand {
        width: 100%;
      }

      .brand-text {
        max-width: none;
        white-space: normal;
        line-height: 1.25;
      }

      .header-main > .btn-primary {
        width: 100%;
      }

      .hero-actions,
      .cta-panel .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
      }

      .hero-actions .btn,
      .cta-panel .btn {
        width: 100%;
      }

      h1 {
        font-size: 36px;
      }

      .feature-top {
        display: grid;
      }
    }
