:root{
      --bg:#f7fbf8;
      --bg2:#f3f8f5;
      --card:#ffffff;
      --text:#1f2a25;
      --muted:#5a6b62;
      --muted2:#7c8a82;
      --line:rgba(18,33,24,.10);
      --line2:rgba(18,33,24,.14);
      --shadow:0 18px 40px rgba(16, 34, 24, .10);
      --shadow2:0 10px 26px rgba(16, 34, 24, .10);
      --mint:#2bbf86;
      --mint2:#16a371;
      --moss:#3fb58f;
      --sea:#1f9bb3;
      --amber:#f2b44b;
      --focus:rgba(43,191,134,.28);
      --radius-xl:26px;
      --radius-lg:18px;
      --radius-md:14px;
      --radius-sm:12px;
      --container:1160px;
    }

    *{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans", sans-serif;
      background:
        radial-gradient(1200px 600px at 15% 0%, rgba(43,191,134,.10), transparent 55%),
        radial-gradient(900px 500px at 90% 10%, rgba(31,155,179,.10), transparent 55%),
        linear-gradient(180deg, var(--bg) 0%, #ffffff 55%, var(--bg2) 100%);
      color:var(--text);
      line-height:1.55;
    }

    .skip-link{
      position:absolute;
      left:-999px;
      top:auto;
      width:1px;
      height:1px;
      overflow:hidden;
    }
    .skip-link:focus{
      left:16px;
      top:16px;
      z-index:9999;
      width:auto;
      height:auto;
      padding:10px 12px;
      background:#fff;
      border:1px solid var(--line2);
      border-radius:10px;
      box-shadow:var(--shadow2);
      outline:none;
    }

    .container{
      width:100%;
      max-width:var(--container);
      margin:0 auto;
      padding:0 18px;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(247, 251, 248, .72);
      backdrop-filter: blur(12px);
      border-bottom:1px solid rgba(18,33,24,.08);
    }

    .nav-container{
      height:74px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:260px;
    }
    .brand-link{
      display:flex;
      align-items:center;
      text-decoration:none;
      color:inherit;
      padding:6px;
      border-radius:14px;
    }
    .brand-link:focus-visible{
      outline:3px solid var(--focus);
      outline-offset:2px;
    }
    .brand-text{ display:flex; flex-direction:column; gap:2px; }
    .brand-name{ font-weight:820; letter-spacing:.2px; }
    .brand-sub{ font-size:12px; color:var(--muted2); }

    .desktop-nav{
      display:flex;
      align-items:center;
      gap:16px;
      flex-wrap:nowrap;
      overflow:hidden;
    }
    .nav-item{
      text-decoration:none;
      color:var(--muted);
      font-size:14px;
      padding:8px 6px;
      border-radius:12px;
      white-space:nowrap;
      transition: color .15s ease, background .15s ease;
    }
    .nav-item:hover{
      background:rgba(43,191,134,.10);
      color:var(--text);
    }
    .nav-item:focus-visible{
      outline:3px solid var(--focus);
      outline-offset:2px;
    }

    .nav-actions{
      display:flex;
      align-items:center;
      gap:10px;
    }

    .primary-pill, .ghost-pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      height:40px;
      padding:0 14px;
      border-radius:999px;
      text-decoration:none;
      font-weight:750;
      font-size:14px;
      border:1px solid transparent;
      transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
      white-space:nowrap;
    }
    .primary-pill{
      background:linear-gradient(135deg, var(--mint) 0%, #19a57b 55%, #0a8f6a 100%);
      color:#062016;
      box-shadow:0 10px 22px rgba(22, 163, 113, .22);
    }
    .primary-pill:hover{ transform:translateY(-1px); box-shadow:0 14px 28px rgba(22, 163, 113, .28); }
    .primary-pill:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }

    .ghost-pill{
      background:rgba(255,255,255,.75);
      border-color:rgba(18,33,24,.12);
      color:var(--text);
    }
    .ghost-pill:hover{ transform:translateY(-1px); border-color:rgba(18,33,24,.18); box-shadow:0 10px 24px rgba(16, 34, 24, .08); }
    .ghost-pill:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }

    .burger{
      width:44px;
      height:40px;
      border-radius:14px;
      border:1px solid rgba(18,33,24,.12);
      background:rgba(255,255,255,.78);
      display:none;
      align-items:center;
      justify-content:center;
      padding:0;
      cursor:pointer;
      transition: transform .12s ease, box-shadow .12s ease;
    }
    .burger:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(16, 34, 24, .08); }
    .burger:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }
    .burger span{
      display:block;
      width:18px;
      height:2px;
      background:rgba(15, 35, 25, .85);
      border-radius:2px;
      margin:2.2px 0;
    }

    .mobile-menu{
      position:relative;
      border-top:1px solid rgba(18,33,24,.08);
      background:rgba(247, 251, 248, .92);
      backdrop-filter: blur(10px);
    }
    .mobile-menu-inner{
      padding:14px 18px 18px;
      display:flex;
      flex-direction:column;
      gap:14px;
    }
    .mobile-links{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px 12px;
    }
    .mobile-link{
      text-decoration:none;
      color:var(--text);
      padding:10px 12px;
      border-radius:14px;
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.10);
      font-weight:700;
      font-size:14px;
    }
    .mobile-link:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }
    .mobile-cta{
      display:flex;
      gap:10px;
      flex-direction:column;
    }
    .primary-btn.full, .ghost-pill.full{ width:100%; }

    .primary-btn, .secondary-btn, .primary-btn.small, .secondary-btn.small, .submit-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      text-decoration:none;
      border-radius:14px;
      border:1px solid transparent;
      cursor:pointer;
      font-weight:820;
      transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
      user-select:none;
    }
    .primary-btn{
      height:46px;
      padding:0 18px;
      background:linear-gradient(135deg, var(--mint) 0%, #19a57b 55%, #0a8f6a 100%);
      color:#052016;
      box-shadow:0 14px 32px rgba(22, 163, 113, .26);
    }
    .primary-btn:hover{ transform:translateY(-1px); box-shadow:0 18px 38px rgba(22, 163, 113, .34); }
    .primary-btn:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }
    .primary-btn.small{
      height:42px;
      padding:0 14px;
      font-size:14px;
      box-shadow:0 12px 26px rgba(22, 163, 113, .18);
    }

    .secondary-btn{
      height:46px;
      padding:0 18px;
      background:rgba(255,255,255,.78);
      border-color:rgba(18,33,24,.14);
      color:var(--text);
      box-shadow:0 10px 22px rgba(16, 34, 24, .08);
    }
    .secondary-btn:hover{ transform:translateY(-1px); box-shadow:0 16px 30px rgba(16, 34, 24, .12); border-color:rgba(18,33,24,.20); }
    .secondary-btn:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }
    .secondary-btn.small{
      height:42px;
      padding:0 14px;
      font-size:14px;
      box-shadow:0 10px 22px rgba(16, 34, 24, .08);
    }

    .text-btn{
      color:var(--text);
      font-weight:800;
      text-decoration:none;
      padding:8px 0;
      border-radius:10px;
      display:inline-flex;
      align-items:center;
      gap:8px;
      transition: color .15s ease, transform .12s ease;
    }
    .text-btn:hover{ color:#0b3b26; transform:translateY(-1px); }
    .text-btn:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }
    .sep-dot{ width:6px; height:6px; background:rgba(43,191,134,.55); border-radius:50%; display:inline-block; }

    .hero{
      position:relative;
      overflow:hidden;
      padding:56px 0 28px;
    }
    .hero-bg{
      position:absolute;
      inset:-200px -150px auto -150px;
      height:600px;
      background:
        radial-gradient(380px 220px at 22% 35%, rgba(43,191,134,.18), transparent 62%),
        radial-gradient(420px 260px at 70% 15%, rgba(31,155,179,.14), transparent 62%),
        radial-gradient(360px 240px at 85% 70%, rgba(242,180,75,.10), transparent 60%);
      pointer-events:none;
      filter:saturate(1.05);
    }

    .hero-grid{
      position:relative;
      display:grid;
      grid-template-columns: 1.12fr .88fr;
      gap:26px;
      align-items:start;
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:10px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.70);
      border:1px solid rgba(18,33,24,.12);
      box-shadow:0 14px 30px rgba(16, 34, 24, .06);
      color:var(--muted);
      font-weight:740;
      font-size:14px;
    }
    .dot{
      width:10px; height:10px; border-radius:50%;
      background:linear-gradient(135deg, var(--mint) 0%, #1aa07a 60%, #0a8f6a 100%);
      box-shadow:0 0 0 6px rgba(43,191,134,.14);
      flex:0 0 auto;
    }

    .hero-title{
      margin:16px 0 10px;
      font-size:44px;
      line-height:1.12;
      letter-spacing:-.6px;
    }
    .hero-lead{
      margin:0;
      color:var(--muted);
      font-size:16px;
      max-width:560px;
    }
    .hero-cta{
      display:flex;
      gap:12px;
      margin-top:18px;
      flex-wrap:wrap;
    }

    .hero-badges{
      display:flex;
      gap:12px;
      margin-top:18px;
      flex-wrap:wrap;
    }

    .badge{
      flex:1 1 180px;
      display:flex;
      align-items:center;
      gap:12px;
      padding:12px 12px;
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:18px;
      box-shadow:0 10px 24px rgba(16, 34, 24, .06);
      min-width:220px;
      transition: transform .18s ease, box-shadow .18s ease;
    }
    .badge:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(16, 34, 24, .10); }
    .badge-icon{ color:rgba(14, 75, 49, .92); display:flex; }
    .badge-title{ font-weight:900; letter-spacing:-.2px; }
    .badge-sub{ color:var(--muted2); font-size:13px; margin-top:2px; }

    .hero-mini{
      margin-top:18px;
      display:flex;
      align-items:stretch;
      gap:0;
      border-radius:18px;
      border:1px solid rgba(18,33,24,.12);
      background:rgba(255,255,255,.66);
      box-shadow:0 12px 28px rgba(16, 34, 24, .06);
      overflow:hidden;
    }
    .mini-item{
      padding:14px 16px;
      display:flex;
      flex-direction:column;
      gap:4px;
      justify-content:center;
      min-width:0;
      flex:1 1 0;
    }
    .mini-sep{ width:1px; background:rgba(18,33,24,.12); }
    .mini-kpi{
      display:flex;
      align-items:baseline;
      gap:8px;
      font-weight:950;
      letter-spacing:-.6px;
    }
    .kpi-num{ font-size:28px; color:#0b3b26; }
    .kpi-unit{ color:var(--muted2); font-weight:860; font-size:13px; }
    .mini-label{ color:var(--muted); font-size:13px; font-weight:760; }

    .glass-panel{
      background:rgba(255,255,255,.70);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      box-shadow: var(--shadow);
      overflow:hidden;
      position:sticky;
      top:92px;
    }
    .panel-head{
      padding:18px 18px 12px;
      border-bottom:1px solid rgba(18,33,24,.10);
      background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.60));
    }
    .panel-title{ font-weight:950; letter-spacing:-.3px; }
    .panel-hint{ margin-top:6px; color:var(--muted2); font-size:13px; }

    .panel-grid{
      padding:16px 18px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }

    .panel-card{
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.72);
      border-radius:18px;
      padding:14px 14px;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
      min-width:0;
    }
    .panel-card:hover{
      transform:translateY(-2px);
      box-shadow:0 18px 34px rgba(16, 34, 24, .10);
      border-color:rgba(43,191,134,.25);
    }
    .panel-card-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .panel-status{ color:var(--muted2); font-size:12px; font-weight:780; }

    .chip{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      height:26px;
      padding:0 10px;
      border-radius:999px;
      font-size:12px;
      font-weight:900;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.65);
      color:#0b3b26;
    }
    .chip-mint{ background:rgba(43,191,134,.14); border-color:rgba(43,191,134,.30); }
    .chip-moss{ background:rgba(63,181,143,.14); border-color:rgba(63,181,143,.30); }
    .chip-sea{ background:rgba(31,155,179,.14); border-color:rgba(31,155,179,.30); }
    .chip-amber{ background:rgba(242,180,75,.16); border-color:rgba(242,180,75,.34); }

    .panel-card-body{ margin-top:10px; }
    .panel-big{ font-weight:950; letter-spacing:-.2px; }
    .panel-small{ margin-top:6px; color:var(--muted2); font-size:13px; }

    .panel-cta{
      grid-column: span 2;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .panel-card-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }
    .mini-link{
      text-decoration:none;
      font-weight:900;
      color:#0b3b26;
      padding:8px 10px;
      border-radius:999px;
      background:rgba(43,191,134,.10);
      border:1px solid rgba(43,191,134,.20);
      transition: transform .12s ease, background .15s ease, border-color .15s ease;
    }
    .mini-link:hover{ transform:translateY(-1px); background:rgba(43,191,134,.14); border-color:rgba(43,191,134,.30); }
    .mini-link:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }

    .panel-footer{
      padding:12px 18px 16px;
      border-top:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.56);
      display:flex;
      gap:12px;
      align-items:center;
    }
    .pulse-row{ display:flex; gap:7px; }
    .pulse-dot{
      width:10px; height:10px; border-radius:50%;
      background:rgba(43,191,134,.45);
      animation:pulse 1.8s infinite;
    }
    .pulse-dot:nth-child(2){ animation-delay:.2s; background:rgba(31,155,179,.40); }
    .pulse-dot:nth-child(3){ animation-delay:.4s; background:rgba(242,180,75,.35); }
    @keyframes pulse{
      0%,100%{ transform:translateY(0); opacity:.6; }
      50%{ transform:translateY(-2px); opacity:1; }
    }
    @media (prefers-reduced-motion: reduce){
      .pulse-dot{ animation:none; }
      html{ scroll-behavior:auto; }
    }

    .panel-footer-text{ color:var(--muted); font-weight:780; font-size:13px; }

    .hero-right{ display:flex; flex-direction:column; gap:14px; }
    .hero-stats-row{
      display:flex;
      gap:10px;
      align-items:stretch;
    }
    .stat{
      flex:1;
      background:rgba(255,255,255,.70);
      border:1px solid rgba(18,33,24,.12);
      border-radius:18px;
      padding:12px 12px;
      box-shadow:0 10px 24px rgba(16, 34, 24, .06);
    }
    .stat-num{ font-weight:950; letter-spacing:-.2px; }
    .stat-sub{ color:var(--muted2); margin-top:6px; font-size:13px; font-weight:760; }

    .section{
      padding:56px 0;
    }
    .section-soft{
      background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.40));
      border-top:1px solid rgba(18,33,24,.06);
      border-bottom:1px solid rgba(18,33,24,.06);
    }

    .section-head{
      margin-bottom:22px;
    }
    .kicker{
      font-weight:950;
      color:#0b3b26;
      letter-spacing:.4px;
      text-transform:none;
      display:inline-flex;
      gap:10px;
      align-items:center;
    }
    .kicker:before{
      content:"";
      width:10px; height:10px;
      border-radius:50%;
      background:linear-gradient(135deg, rgba(43,191,134,.85), rgba(31,155,179,.55));
      box-shadow:0 0 0 6px rgba(43,191,134,.12);
      display:inline-block;
    }
    h2{
      margin:10px 0 8px;
      font-size:30px;
      letter-spacing:-.4px;
      line-height:1.2;
    }
    .section-lead{
      margin:0;
      color:var(--muted);
      font-size:15.5px;
      max-width:780px;
    }

    .two-col{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:16px;
      align-items:stretch;
    }

    .info-card, .metrics-card, .callout-card, .comparison-bento, .price-card, .training-card, .join-card{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      box-shadow:0 16px 40px rgba(16, 34, 24, .08);
      overflow:hidden;
      position:relative;
    }

    .info-card{ padding:18px; }
    .info-title{ font-weight:980; font-size:18px; letter-spacing:-.2px; margin-bottom:10px; }
    .check-list{
      list-style:none; padding:0; margin:0;
      display:flex; flex-direction:column; gap:12px;
    }
    .check-list li{
      display:flex; gap:12px; align-items:flex-start;
      color:var(--muted);
      font-weight:760;
    }
    .check-icon{ color:#0b3b26; margin-top:2px; }

    .info-actions{
      margin-top:14px;
      display:flex;
      align-items:center;
      gap:14px;
      flex-wrap:wrap;
      color:var(--text);
    }

    .metrics-card{ padding:18px; }
    .metrics-head{ padding-bottom:14px; border-bottom:1px solid rgba(18,33,24,.10); }
    .metrics-title{ font-weight:980; font-size:18px; letter-spacing:-.2px; }
    .metrics-sub{ color:var(--muted2); margin-top:6px; font-size:13.5px; font-weight:760; }
    .metrics-grid{
      margin-top:14px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .metric{
      padding:14px 14px;
      background:rgba(255,255,255,.62);
      border:1px solid rgba(18,33,24,.10);
      border-radius:18px;
    }
    .metric-top{ display:flex; align-items:center; gap:10px; }
    .metric-icon{ color:#0b3b26; display:flex; }
    .metric-title{ font-weight:950; letter-spacing:-.2px; }
    .metric-desc{ margin-top:8px; color:var(--muted2); font-weight:760; font-size:13.5px; }

    .metrics-actions{
      margin-top:14px;
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }

    .service-grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
    }
    .service-card{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      padding:18px;
      box-shadow:0 16px 36px rgba(16, 34, 24, .07);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
      min-width:0;
      outline:none;
    }
    .service-card:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }
    .service-card:hover{
      transform:translateY(-3px);
      box-shadow:0 22px 52px rgba(16, 34, 24, .12);
      border-color:rgba(43,191,134,.25);
    }
    .service-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
    .service-icon{
      color:#0b3b26;
      width:44px; height:44px;
      border-radius:16px;
      background:rgba(43,191,134,.12);
      border:1px solid rgba(43,191,134,.22);
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
    }
    .service-title{ font-weight:980; font-size:17px; letter-spacing:-.2px; }
    .service-desc{ margin-top:10px; color:var(--muted); font-weight:760; }
    .service-tags{
      display:flex; flex-wrap:wrap; gap:10px;
      margin-top:14px;
    }
    .tag{
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.60);
      color:var(--muted);
      font-size:13px;
      font-weight:800;
    }

    .block-pad{ padding-top:6px; }

    .callout-card{ padding:18px; }
    .callout-title{ font-weight:980; letter-spacing:-.2px; font-size:18px; margin-bottom:10px; }
    .pill-grid{
      display:flex; flex-wrap:wrap; gap:10px;
    }
    .pill{
      padding:10px 12px;
      border-radius:999px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.62);
      font-weight:860;
      color:var(--muted);
      font-size:13.5px;
    }

    .callout-actions{
      margin-top:16px;
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }

    .comparison-bento{ padding:18px; }
    .bento-head{ margin-bottom:12px; }
    .bento-title{ font-weight:980; letter-spacing:-.2px; font-size:18px; }
    .bento-sub{ margin-top:6px; color:var(--muted2); font-size:13.5px; font-weight:760; }
    .bento-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin-top:12px;
    }
    .bento-item{
      padding:14px 14px;
      border-radius:18px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.62);
    }
    .bento-num{ font-weight:950; letter-spacing:-.2px; }
    .bento-desc{ margin-top:8px; color:var(--muted2); font-size:13.5px; font-weight:760; }
    .bento-cta{
      margin-top:14px;
      display:flex;
      align-items:center;
      gap:14px;
      flex-wrap:wrap;
    }

    .timeline{
      position:relative;
      padding:18px 0 10px;
      display:grid;
      grid-template-columns: 1fr;
      gap:12px;
    }
    .timeline-line{
      position:absolute;
      left:18px;
      top:26px;
      bottom:20px;
      width:2px;
      background:linear-gradient(180deg, rgba(43,191,134,.55), rgba(31,155,179,.25));
      opacity:.55;
    }
    .timeline-item{
      display:flex;
      gap:14px;
      align-items:flex-start;
      position:relative;
    }
    .timeline-dot{
      width:36px;
      height:36px;
      border-radius:14px;
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      box-shadow:0 12px 26px rgba(16, 34, 24, .06);
      position:relative;
      flex:0 0 auto;
      margin-left:6px;
    }
    .timeline-dot:after{
      content:"";
      position:absolute;
      left:50%;
      top:50%;
      width:10px;
      height:10px;
      background:linear-gradient(135deg, var(--mint) 0%, #19a57b 55%, #0a8f6a 100%);
      border-radius:50%;
      transform:translate(-50%,-50%);
      box-shadow:0 0 0 6px rgba(43,191,134,.12);
    }
    .timeline-content{
      background:rgba(255,255,255,.70);
      border:1px solid rgba(18,33,24,.10);
      border-radius:18px;
      padding:14px 14px;
      flex:1;
      min-width:0;
    }
    .timeline-title{ font-weight:980; letter-spacing:-.2px; }
    .timeline-desc{ margin-top:6px; color:var(--muted); font-weight:760; }

    .industry-grid{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:14px;
    }
    .industry-card{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      padding:18px;
      box-shadow:0 16px 36px rgba(16, 34, 24, .07);
      transition: transform .18s ease, box-shadow .18s ease;
      min-width:0;
    }
    .industry-card:hover{
      transform:translateY(-3px);
      box-shadow:0 22px 52px rgba(16, 34, 24, .12);
    }
    .industry-card h3{
      margin:0;
      font-size:18px;
      letter-spacing:-.2px;
    }
    .industry-card p{
      margin:10px 0 0;
      color:var(--muted);
      font-weight:760;
      font-size:14.5px;
    }
    .industry-meta{
      margin-top:14px;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .meta-chip{
      padding:9px 11px;
      border-radius:999px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.62);
      color:var(--muted2);
      font-weight:850;
      font-size:13px;
    }

    .process-grid{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:14px;
    }
    .process-step{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      padding:18px;
      box-shadow:0 16px 36px rgba(16, 34, 24, .07);
      position:relative;
      overflow:hidden;
    }
    .process-step:before{
      content:"";
      position:absolute;
      inset:-1px -1px auto -1px;
      height:120px;
      background:radial-gradient(220px 120px at 25% 10%, rgba(43,191,134,.18), transparent 60%);
      pointer-events:none;
    }
    .step-index{
      font-weight:1000;
      letter-spacing:-.6px;
      font-size:22px;
      color:#0b3b26;
    }
    .step-title{ margin-top:12px; font-weight:980; letter-spacing:-.2px; font-size:17px; position:relative; }
    .step-desc{ margin-top:8px; color:var(--muted); font-weight:760; }
    .step-actions{ margin-top:14px; display:flex; gap:10px; align-items:center; }

    .case-grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
    }
    .case-card{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      box-shadow:0 16px 36px rgba(16, 34, 24, .07);
      overflow:hidden;
      transition: transform .18s ease, box-shadow .18s ease;
      display:flex;
      flex-direction:column;
      min-width:0;
    }
    .case-card:hover{
      transform:translateY(-3px);
      box-shadow:0 22px 52px rgba(16, 34, 24, .12);
    }
    .case-media{
      background:linear-gradient(180deg, rgba(43,191,134,.12), rgba(31,155,179,.08));
      padding:12px;
    }
    .case-media img{
      width:100%;
      border-radius:18px;
      object-fit:cover;
      display:block;
      aspect-ratio: 16 / 10;
      border:1px solid rgba(18,33,24,.10);
      background:#fff;
    }
    .case-body{
      padding:16px 16px 14px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .case-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
    }
    .case-title{
      font-weight:980;
      letter-spacing:-.2px;
      font-size:16.5px;
    }
    .case-badge{
      color:var(--muted2);
      font-size:12.5px;
      font-weight:820;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.62);
      white-space:nowrap;
    }
    .case-desc{
      margin:0;
      color:var(--muted);
      font-weight:760;
      font-size:14.5px;
    }
    .case-foot{
      display:flex;
      align-items:center;
      gap:10px;
      justify-content:flex-start;
      flex-wrap:wrap;
      margin-top:auto;
    }
    .case-link{
      color:#0b3b26;
      font-weight:900;
      text-decoration:none;
      padding:8px 10px;
      border-radius:999px;
      background:rgba(43,191,134,.10);
      border:1px solid rgba(43,191,134,.20);
      transition: transform .12s ease, background .15s ease, border-color .15s ease;
    }
    .case-link:hover{ transform:translateY(-1px); background:rgba(43,191,134,.14); border-color:rgba(43,191,134,.30); }
    .case-dot{ width:6px; height:6px; border-radius:50%; background:rgba(43,191,134,.55); }

    .compare-top{
      display:grid;
      grid-template-columns: .95fr 1.05fr;
      gap:14px;
      align-items:start;
    }
    .rating-card{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      box-shadow:0 16px 36px rgba(16, 34, 24, .07);
      padding:18px;
      position:relative;
      overflow:hidden;
    }
    .rating-card:before{
      content:"";
      position:absolute;
      inset:-40px -60px auto -60px;
      height:180px;
      background:radial-gradient(240px 120px at 35% 30%, rgba(242,180,75,.22), transparent 60%);
      pointer-events:none;
    }
    .rating-title{ font-weight:980; letter-spacing:-.2px; font-size:16.5px; position:relative; }
    .rating-stars{ margin-top:12px; display:flex; gap:6px; }
    .star{
      font-size:20px;
      color:rgba(242,180,75,.95);
      text-shadow:0 10px 22px rgba(242,180,75,.20);
    }
    .rating-score{
      margin-top:10px;
      display:flex;
      align-items:baseline;
      gap:10px;
      position:relative;
    }
    .score-num{ font-size:48px; letter-spacing:-1.2px; font-weight:1100; color:#0b3b26; }
    .score-suffix{ font-weight:950; color:var(--text); font-size:18px; }
    .score-outof{ font-weight:900; color:var(--muted2); font-size:16px; }
    .rating-sub{ margin-top:8px; color:var(--muted); font-weight:760; position:relative; }

    .compare-note{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      box-shadow:0 16px 36px rgba(16, 34, 24, .07);
      padding:18px;
    }
    .note-title{ font-weight:980; letter-spacing:-.2px; font-size:17px; }
    .note-list{
      list-style:none; padding:0; margin:12px 0 0;
      display:flex; flex-direction:column; gap:10px;
    }
    .note-list li{
      display:flex; gap:10px; align-items:flex-start;
      color:var(--muted);
      font-weight:760;
    }
    .bullet{
      width:10px; height:10px;
      border-radius:50%;
      margin-top:6px;
      background:linear-gradient(135deg, rgba(43,191,134,.85), rgba(31,155,179,.55));
      box-shadow:0 0 0 6px rgba(43,191,134,.12);
      flex:0 0 auto;
    }
    .compare-actions{
      margin-top:16px;
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }

    .compare-table-wrap{
      margin-top:14px;
      background:rgba(255,255,255,.62);
      border:1px solid rgba(18,33,24,.10);
      border-radius:var(--radius-xl);
      box-shadow:0 16px 36px rgba(16, 34, 24, .05);
      overflow:hidden;
    }
    .table-head-row{
      padding:16px 18px;
      border-bottom:1px solid rgba(18,33,24,.10);
      display:flex;
      align-items:baseline;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .table-title{ font-weight:980; letter-spacing:-.2px; }
    .table-sub{ color:var(--muted2); font-weight:760; font-size:13.5px; }

    .table-scroll{ overflow:auto; }
    table.compare-table{
      width:100%;
      border-collapse:collapse;
      min-width:820px;
      font-size:14px;
    }
    .compare-table th, .compare-table td{
      padding:14px 14px;
      border-bottom:1px solid rgba(18,33,24,.08);
      vertical-align:top;
    }
    .compare-table th{
      background:rgba(43,191,134,.10);
      color:#0b3b26;
      font-weight:980;
      letter-spacing:-.2px;
      border-bottom:1px solid rgba(18,33,24,.12);
    }
    .compare-table td{ color:var(--muted); font-weight:760; }

    .form-shell{
      background:rgba(255,255,255,.68);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      box-shadow:0 18px 44px rgba(16, 34, 24, .10);
      overflow:hidden;
      display:grid;
      grid-template-columns: .9fr 1.1fr;
    }
    .form-left{
      padding:18px 18px;
      background:
        radial-gradient(550px 280px at 15% 10%, rgba(43,191,134,.20), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.62));
      border-right:1px solid rgba(18,33,24,.10);
    }
    .form-title{ font-weight:1100; letter-spacing:-.3px; font-size:18px; }
    .form-sub{ margin-top:8px; color:var(--muted); font-weight:760; font-size:14.5px; }
    .form-bullets{ margin-top:14px; display:flex; flex-direction:column; gap:10px; }
    .form-bullet{ display:flex; gap:10px; align-items:flex-start; color:var(--text); font-weight:820; }
    .form-bullet-icon{
      width:20px; height:20px;
      border-radius:8px;
      background:rgba(43,191,134,.14);
      border:1px solid rgba(43,191,134,.26);
      display:flex;
      align-items:center;
      justify-content:center;
      color:#0b3b26;
      flex:0 0 auto;
      font-weight:1100;
      margin-top:2px;
    }
    .contact-quick{ margin-top:18px; display:flex; flex-direction:column; gap:10px; }
    .contact-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:10px 12px;
      border-radius:16px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.62);
    }
    .contact-label{ color:var(--muted2); font-weight:860; font-size:13px; }
    .contact-link{ color:#0b3b26; text-decoration:none; font-weight:950; }
    .contact-link:hover{ text-decoration:underline; }
    .contact-value{ color:var(--text); font-weight:950; }

    .form-right{
      padding:18px;
      display:flex;
      flex-direction:column;
      gap:12px;
    }
    .lead-form{
      background:rgba(255,255,255,.70);
      border:1px solid rgba(18,33,24,.10);
      border-radius:var(--radius-xl);
      padding:16px;
      box-shadow:0 14px 30px rgba(16, 34, 24, .06);
    }
    .field-row{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .field{ display:flex; flex-direction:column; gap:8px; margin-top:12px; }
    .field-row .field{ margin-top:0; }
    label{
      color:var(--muted2);
      font-weight:880;
      font-size:13px;
    }
    input, select, textarea{
      width:100%;
      border-radius:14px;
      border:1px solid rgba(18,33,24,.14);
      background:rgba(255,255,255,.82);
      padding:12px 12px;
      color:var(--text);
      font-weight:780;
      outline:none;
      transition: box-shadow .15s ease, border-color .15s ease, transform .12s ease;
    }
    textarea{ resize:vertical; min-height:120px; }
    input:focus, select:focus, textarea:focus{
      border-color:rgba(43,191,134,.45);
      box-shadow:0 0 0 4px var(--focus);
    }

    .form-actions{
      margin-top:14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .submit-btn{
      height:46px;
      padding:0 18px;
      background:linear-gradient(135deg, var(--mint) 0%, #19a57b 55%, #0a8f6a 100%);
      color:#052016;
      border-color:transparent;
      box-shadow:0 14px 32px rgba(22, 163, 113, .26);
      min-width:220px;
    }
    .submit-btn:hover{ transform:translateY(-1px); box-shadow:0 18px 38px rgba(22, 163, 113, .34); }
    .submit-btn:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }
    .form-privacy{ color:var(--muted2); font-weight:760; font-size:13px; }

    .form-right-foot{
      display:grid;
      grid-template-columns: .9fr 1.1fr;
      gap:12px;
      align-items:start;
    }
    .qr-card{
      background:rgba(255,255,255,.70);
      border:1px solid rgba(18,33,24,.10);
      border-radius:var(--radius-xl);
      padding:14px 14px;
    }
    .qr-title{ font-weight:980; letter-spacing:-.2px; }
    .qr-img{
      width:100%;
      height:auto;
      border-radius:18px;
      margin-top:12px;
      border:1px solid rgba(18,33,24,.10);
      background:#fff;
      display:block;
    }
    .qr-sub{ margin-top:10px; color:var(--muted); font-weight:760; font-size:13.5px; }

    .side-links{
      background:rgba(255,255,255,.70);
      border:1px solid rgba(18,33,24,.10);
      border-radius:var(--radius-xl);
      padding:14px 14px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .side-link{
      text-decoration:none;
      color:#0b3b26;
      font-weight:950;
      background:rgba(43,191,134,.10);
      border:1px solid rgba(43,191,134,.20);
      padding:10px 12px;
      border-radius:16px;
      transition: transform .12s ease, background .15s ease, border-color .15s ease;
    }
    .side-link:hover{ transform:translateY(-1px); background:rgba(43,191,134,.14); border-color:rgba(43,191,134,.30); }
    .side-link:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }

    .price-grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
      align-items:start;
    }
    .price-card{
      padding:18px;
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      box-shadow:0 16px 36px rgba(16, 34, 24, .07);
    }
    .price-card.alt{
      background:
        radial-gradient(520px 240px at 20% 10%, rgba(31,155,179,.18), transparent 58%),
        rgba(255,255,255,.72);
    }
    .price-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .price-title{ font-weight:1100; letter-spacing:-.3px; font-size:18px; }
    .price-badge{
      padding:8px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.62);
      border:1px solid rgba(18,33,24,.10);
      color:var(--muted2);
      font-weight:900;
      font-size:12.5px;
      white-space:nowrap;
    }
    .seg-list{
      list-style:none; margin:14px 0 0; padding:0;
      display:flex; flex-direction:column; gap:12px;
    }
    .seg-list li{
      display:flex; gap:12px; align-items:flex-start;
      color:var(--muted);
      font-weight:820;
    }
    .seg-num{
      width:26px; height:26px;
      border-radius:10px;
      background:rgba(43,191,134,.14);
      border:1px solid rgba(43,191,134,.26);
      display:flex; align-items:center; justify-content:center;
      color:#0b3b26;
      font-weight:1100;
      flex:0 0 auto;
      margin-top:2px;
    }
    .price-cta{ margin-top:16px; display:flex; gap:12px; flex-wrap:wrap; }

    .mini-table{
      margin-top:14px;
      border-radius:18px;
      border:1px solid rgba(18,33,24,.10);
      overflow:hidden;
      background:rgba(255,255,255,.62);
    }
    .mini-row{
      display:grid;
      grid-template-columns: 1.1fr 1fr .9fr;
      gap:10px;
      padding:12px 14px;
      border-bottom:1px solid rgba(18,33,24,.08);
      align-items:start;
    }
    .mini-row:last-child{ border-bottom:none; }
    .mini-head{
      background:rgba(43,191,134,.10);
      color:#0b3b26;
      font-weight:1000;
    }
    .mini-note{ color:var(--muted2); margin-top:12px; font-weight:760; font-size:13.5px; }
    .price-note{ margin-top:12px; color:var(--muted2); font-weight:760; font-size:13.5px; }

    .training-grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
    }
    .training-card{ padding:18px; }
    .training-card.alt{
      background:
        radial-gradient(560px 260px at 15% 10%, rgba(43,191,134,.18), transparent 58%),
        rgba(255,255,255,.72);
    }
    .training-title{ font-weight:1100; letter-spacing:-.3px; font-size:18px; }
    .training-list{
      margin-top:14px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .training-item{
      display:flex; gap:10px; align-items:center;
      padding:12px 12px;
      background:rgba(255,255,255,.62);
      border:1px solid rgba(18,33,24,.10);
      border-radius:16px;
      color:var(--muted);
      font-weight:860;
    }
    .training-dot{
      width:12px; height:12px; border-radius:50%;
      background:linear-gradient(135deg, var(--mint) 0%, #19a57b 55%, #0a8f6a 100%);
      box-shadow:0 0 0 6px rgba(43,191,134,.12);
      flex:0 0 auto;
    }
    .training-actions{ margin-top:16px; display:flex; gap:12px; flex-wrap:wrap; }

    .value-grid{
      margin-top:14px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .value{
      padding:14px;
      border-radius:18px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.62);
      min-width:0;
    }
    .value-top{ display:flex; gap:10px; align-items:center; }
    .value-icon{ color:#0b3b26; width:38px; height:38px; border-radius:16px; background:rgba(43,191,134,.12); border:1px solid rgba(43,191,134,.22); display:flex; align-items:center; justify-content:center; }
    .value-title{ font-weight:980; letter-spacing:-.2px; }
    .value-desc{ margin-top:8px; color:var(--muted2); font-weight:760; font-size:13.5px; }
    .training-cta{
      margin-top:14px;
      padding:14px 14px;
      border-radius:18px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.62);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .training-cta-text{ color:var(--muted); font-weight:780; }

    .help-grid{
      display:grid;
      grid-template-columns:1.15fr 1fr 1fr;
      gap:14px;
    }
    .help-card{
      padding:18px;
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      box-shadow:0 16px 36px rgba(16, 34, 24, .07);
    }
    .help-card.alt{
      background:
        radial-gradient(520px 240px at 20% 10%, rgba(31,155,179,.18), transparent 60%),
        rgba(255,255,255,.72);
    }
    .help-title{ font-weight:1100; letter-spacing:-.3px; font-size:18px; }
    .help-desc{ margin-top:10px; color:var(--muted); font-weight:760; }
    .help-actions{ margin-top:14px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
    .help-list{ margin-top:12px; display:flex; flex-wrap:wrap; gap:10px; }
    .help-pill{
      padding:10px 12px;
      border-radius:999px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.62);
      color:var(--muted);
      font-weight:860;
      font-size:13.5px;
    }
    .help-badges{ margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; }

    .faq-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      align-items:start;
    }
    .faq-item{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      padding:0 10px;
      box-shadow:0 16px 36px rgba(16, 34, 24, .07);
      overflow:hidden;
    }
    .faq-item summary{
      cursor:pointer;
      list-style:none;
      padding:16px 10px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      font-weight:980;
      letter-spacing:-.2px;
    }
    .faq-item summary::-webkit-details-marker{ display:none; }
    .faq-icon{
      width:18px; height:18px;
      border-radius:8px;
      border:1px solid rgba(18,33,24,.14);
      background:rgba(255,255,255,.62);
      position:relative;
      flex:0 0 auto;
    }
    .faq-icon:before, .faq-icon:after{
      content:"";
      position:absolute;
      left:50%; top:50%;
      width:10px; height:2px;
      background:rgba(11,59,38,.85);
      transform:translate(-50%,-50%);
      border-radius:2px;
      transition: transform .18s ease, opacity .18s ease;
    }
    .faq-icon:after{
      width:2px; height:10px;
      transition: transform .18s ease;
    }
    .faq-item[open] .faq-icon:before{ opacity:1; }
    .faq-item[open] .faq-icon:after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }

    .faq-body{
      padding:0 16px 16px;
      color:var(--muted);
      font-weight:760;
      font-size:14.5px;
    }

    .faq-bottom{ margin-top:16px; }
    .faq-bottom-card{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      box-shadow:0 16px 36px rgba(16, 34, 24, .07);
      padding:18px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
    }
    .faq-bottom-title{ font-weight:1100; letter-spacing:-.3px; font-size:18px; }
    .faq-bottom-desc{ color:var(--muted); font-weight:760; margin-top:6px; max-width:640px; }
    .faq-bottom-actions{ display:flex; gap:12px; flex-wrap:wrap; }

    .three-col{
      display:grid;
      grid-template-columns: .85fr 1.1fr 1.0fr;
      gap:14px;
      align-items:start;
    }

    .side-section, .article-list, .article-media{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,33,24,.12);
      border-radius:var(--radius-xl);
      box-shadow:0 16px 36px rgba(16, 34, 24, .07);
      padding:18px;
      min-width:0;
    }
    .side-title{ font-weight:1100; letter-spacing:-.3px; font-size:18px; }
    .side-list{ margin-top:12px; display:flex; flex-direction:column; gap:10px; }
    .side-item{
      text-decoration:none;
      border-radius:18px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.62);
      padding:12px 12px;
      transition: transform .12s ease, border-color .15s ease, box-shadow .15s ease;
    }
    .side-item:hover{ transform:translateY(-2px); border-color:rgba(43,191,134,.25); box-shadow:0 18px 34px rgba(16, 34, 24, .10); }
    .side-item:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }
    .side-item-head{ display:flex; align-items:center; gap:10px; font-weight:950; color:var(--text); }
    .side-item-dot{ width:10px; height:10px; border-radius:50%; background:linear-gradient(135deg, rgba(43,191,134,.85), rgba(31,155,179,.55)); box-shadow:0 0 0 6px rgba(43,191,134,.12); }
    .side-item-sub{ margin-top:6px; color:var(--muted2); font-weight:760; font-size:13.5px; }

    .article-head{ display:flex; flex-direction:column; gap:6px; }
    .article-sub{ margin-top:6px; color:var(--muted2); font-weight:760; font-size:13.5px; }
    .article-items{ margin-top:14px; display:flex; flex-direction:column; gap:10px; }
    .article-item{
      text-decoration:none;
      border-radius:18px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.62);
      padding:12px 12px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      transition: transform .12s ease, border-color .15s ease, box-shadow .15s ease;
    }
    .article-item:hover{ transform:translateY(-2px); border-color:rgba(43,191,134,.25); box-shadow:0 18px 34px rgba(16, 34, 24, .10); }
    .article-item:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }
    .article-left{ display:flex; gap:10px; align-items:flex-start; }
    .article-dot{ width:10px; height:10px; border-radius:50%; background:rgba(43,191,134,.75); box-shadow:0 0 0 6px rgba(43,191,134,.10); margin-top:6px; }
    .article-title{ font-weight:980; letter-spacing:-.2px; color:var(--text); font-size:14.5px; }
    .article-right{
      color:#0b3b26;
      font-weight:980;
      padding:10px 12px;
      border-radius:16px;
      border:1px solid rgba(43,191,134,.20);
      background:rgba(43,191,134,.10);
      white-space:nowrap;
    }
    .article-footer{ margin-top:14px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }

    .media-grid{
      margin-top:12px;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
      align-items:start;
    }
    .media-tile{
      border-radius:18px;
      border:1px solid rgba(18,33,24,.10);
      background:rgba(255,255,255,.62);
      padding:10px;
      overflow:hidden;
    }
    .media-tile.wide{ grid-column: 1 / -1; }
    .media-tile img{
      width:100%;
      height:auto;
      display:block;
      border-radius:14px;
      border:1px solid rgba(18,33,24,.10);
      background:#fff;
      object-fit:cover;
    }
    .media-note{ margin-top:12px; color:var(--muted2); font-weight:760; font-size:13.5px; }

    .join-grid{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:14px;
    }
    .join-card{ padding:18px; }
    .join-card.alt{
      background:
        radial-gradient(560px 260px at 15% 10%, rgba(242,180,75,.16), transparent 58%),
        rgba(255,255,255,.72);
    }
    .join-title{ font-weight:1100; letter-spacing:-.3px; font-size:18px; }
    .join-list{ margin:12px 0 0; padding-left:18px; color:var(--muted); font-weight:760; }
    .join-list li{ margin:10px 0; }
    .join-actions{ margin-top:16px; display:flex; gap:12px; flex-wrap:wrap; }
    .join-pills{ margin-top:14px; display:flex; flex-wrap:wrap; gap:10px; }
    .join-divider{ height:1px; background:rgba(18,33,24,.10); margin:16px 0; }
    .join-remark{ color:var(--muted); font-weight:760; }
    .join-cta-row{ margin-top:12px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }

    .site-footer{
      background:linear-gradient(180deg, rgba(9, 24, 16, .98), rgba(7, 18, 12, .98));
      color:#eaf4ee;
      border-top:1px solid rgba(255,255,255,.10);
      padding:36px 0 22px;
    }
    .site-footer a{ color:#dff5e8; }
    .footer-inner{ }
    .footer-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:18px;
      flex-wrap:wrap;
    }
    .footer-brand{
      min-width:320px;
      flex: 1 1 380px;
    }
    .footer-logo-row{
      display:flex;
      align-items:center;
      gap:12px;
    }
    .footer-logo{
      width:46px; height:46px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.06);
      padding:8px;
      object-fit:contain;
    }
    .footer-name{ font-weight:1100; letter-spacing:-.3px; font-size:18px; }
    .footer-sub{ margin-top:6px; color:rgba(234,244,238,.78); font-weight:760; }
    .footer-links-row{ margin-top:14px; display:flex; gap:12px; flex-wrap:wrap; }
    .footer-link{
      text-decoration:none;
      padding:10px 12px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.06);
      font-weight:900;
      color:#eaf4ee;
      transition: transform .12s ease, background .15s ease, border-color .15s ease;
    }
    .footer-link:hover{ transform:translateY(-1px); background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.20); }
    .footer-columns{
      display:grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap:14px;
      flex:1 1 560px;
      min-width:360px;
    }
    .footer-col{
      padding:14px 14px;
      border-radius:22px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.10);
    }
    .footer-col-title{
      font-weight:1100;
      letter-spacing:-.3px;
      margin-bottom:10px;
    }
    .friend-grid{
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .friend-grid a{
      text-decoration:none;
      padding:10px 12px;
      border-radius:16px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      font-weight:900;
      transition: transform .12s ease, background .15s ease, border-color .15s ease;
    }
    .friend-grid a:hover{ transform:translateY(-1px); background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.18); }

    .footer-social{
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .social-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:10px 12px;
      border-radius:16px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.10);
    }
    .social-label{ color:rgba(234,244,238,.78); font-weight:900; font-size:13px; }
    .social-link{
      text-decoration:none;
      color:#eaf4ee;
      font-weight:1100;
    }
    .social-value{ color:#eaf4ee; font-weight:1100; }

    .footer-quick{
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .footer-quick a{
      text-decoration:none;
      padding:10px 12px;
      border-radius:16px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      font-weight:900;
      transition: transform .12s ease, background .15s ease, border-color .15s ease;
    }
    .footer-quick a:hover{ transform:translateY(-1px); background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.18); }

    .footer-bottom{
      margin-top:18px;
      padding-top:16px;
      border-top:1px solid rgba(255,255,255,.10);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .footer-copyright{ color:rgba(234,244,238,.82); font-weight:760; }
    .footer-legal{ display:flex; align-items:center; gap:10px; }
    .legal-link{
      text-decoration:none;
      color:rgba(234,244,238,.86);
      font-weight:900;
    }
    .legal-link:hover{ text-decoration:underline; }
    .legal-sep{ width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.22); display:inline-block; }

    .floating{
      position:fixed;
      right:16px;
      bottom:18px;
      z-index:90;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .float-btn{
      height:46px;
      padding:0 14px;
      border-radius:18px;
      border:1px solid rgba(18,33,24,.12);
      background:rgba(255,255,255,.82);
      box-shadow:0 16px 36px rgba(16, 34, 24, .14);
      color:var(--text);
      text-decoration:none;
      display:flex;
      align-items:center;
      gap:10px;
      justify-content:flex-start;
      font-weight:980;
      cursor:pointer;
      transition: transform .12s ease, box-shadow .12s ease;
    }
    .float-btn:hover{ transform:translateY(-2px); box-shadow:0 22px 52px rgba(16, 34, 24, .18); }
    .float-btn:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }
    .float-btn.alt{ background:rgba(255,255,255,.78); }
    .float-icon{ color:#0b3b26; display:flex; }
    .float-text{ font-size:14px; }

    .qr-modal{
      position:fixed;
      inset:0;
      z-index:120;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:18px;
    }
    .qr-modal-backdrop{
      position:absolute;
      inset:0;
      background:rgba(10, 18, 13, .45);
      backdrop-filter: blur(6px);
    }
    .qr-modal-panel{
      position:relative;
      width:min(520px, 100%);
      background:rgba(255,255,255,.88);
      border:1px solid rgba(255,255,255,.30);
      border-radius:26px;
      box-shadow:0 30px 90px rgba(0,0,0,.25);
      overflow:hidden;
    }
    .qr-modal-head{
      padding:14px 16px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      border-bottom:1px solid rgba(18,33,24,.10);
      background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.80));
    }
    .qr-modal-title{ font-weight:1100; letter-spacing:-.3px; }
    .icon-close{
      width:40px; height:40px;
      border-radius:16px;
      border:1px solid rgba(18,33,24,.14);
      background:rgba(255,255,255,.70);
      cursor:pointer;
      font-weight:1100;
      color:var(--text);
      transition: transform .12s ease, background .15s ease;
    }
    .icon-close:hover{ transform:translateY(-1px); background:rgba(255,255,255,.86); }
    .icon-close:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }

    .qr-modal-body{
      padding:16px;
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:12px;
    }
    .qr-modal-img{
      width:min(320px, 100%);
      height:auto;
      border-radius:22px;
      border:1px solid rgba(18,33,24,.12);
      background:#fff;
    }
    .qr-modal-note{
      color:var(--muted);
      font-weight:820;
      font-size:14.5px;
      text-align:center;
    }
    .qr-modal-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      width:100%;
    }

    .to-top{
      position:fixed;
      left:16px;
      bottom:18px;
      z-index:80;
      width:44px;
      height:44px;
      border-radius:18px;
      border:1px solid rgba(18,33,24,.12);
      background:rgba(255,255,255,.84);
      box-shadow:0 16px 36px rgba(16, 34, 24, .14);
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      transform:translateY(18px);
      opacity:0;
      pointer-events:none;
      transition: opacity .18s ease, transform .18s ease;
      font-size:18px;
      color:var(--text);
    }
    .to-top.show{
      opacity:1;
      transform:translateY(0);
      pointer-events:auto;
    }
    .to-top:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }

    body.no-scroll{ overflow:hidden; }

    @media (max-width: 1040px){
      .desktop-nav{ display:none; }
      .burger{ display:flex; }
      .glass-panel{ position:relative; top:auto; }
      .hero-grid{ grid-template-columns:1fr; }
      .hero-right{ order:2; }
      .hero-left{ order:1; }
      .service-grid{ grid-template-columns:1fr 1fr; }
      .industry-grid{ grid-template-columns:1fr 1fr; }
      .process-grid{ grid-template-columns:1fr 1fr; }
      .case-grid{ grid-template-columns:1fr; }
      .compare-top{ grid-template-columns:1fr; }
      .three-col{ grid-template-columns:1fr; }
      .help-grid{ grid-template-columns:1fr; }
      .faq-grid{ grid-template-columns:1fr; }
      .form-shell{ grid-template-columns:1fr; }
      .form-left{ border-right:none; border-bottom:1px solid rgba(18,33,24,.10); }
      .form-right-foot{ grid-template-columns:1fr; }
      .price-grid{ grid-template-columns:1fr; }
      .training-grid{ grid-template-columns:1fr; }
      .join-grid{ grid-template-columns:1fr; }
      .footer-columns{ grid-template-columns:1fr; }
    }

    @media (max-width: 560px){
      .hero-title{ font-size:34px; }
      .badge{ min-width:0; }
      .panel-grid{ grid-template-columns:1fr; }
      .panel-cta{ grid-column: auto; }
      .hero-mini{ flex-direction:column; }
      .mini-sep{ width:100%; height:1px; }
      .service-grid{ grid-template-columns:1fr; }
      .field-row{ grid-template-columns:1fr; }
      .mini-row{ grid-template-columns:1fr; }
      .floating .float-text{ display:none; }
      .floating{ right:12px; bottom:12px; }
      .to-top{ left:12px; bottom:12px; }
    }

    .no-anim .pulse-dot{ animation:none !important; }
    .reveal{ opacity:0; transform: translateY(10px); transition: opacity .6s ease, transform .6s ease; }
    .reveal.in-view{ opacity:1; transform: translateY(0); }