/* roulang page: index */
:root{
      --primary:#10B981;
      --primary-dark:#047857;
      --accent:#F97316;
      --bg:#F7FAF6;
      --ink:#10231E;
      --muted:#4B5F58;
      --soft:#EEF8F2;
      --border:#DDEFE6;
      --radius:28px;
      --shadow:0 18px 50px rgba(16,185,129,.12);
      --sidebar:96px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:
        radial-gradient(circle at 15% 8%, rgba(20,184,166,.14), transparent 28rem),
        radial-gradient(circle at 88% 18%, rgba(249,115,22,.10), transparent 24rem),
        linear-gradient(180deg,#F7FAF6 0%,#FFFFFF 42%,#F3F8F5 100%);
      font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,Helvetica Neue,Arial,sans-serif;
      line-height:1.75;
      overflow-x:hidden;
    }
    body:before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      opacity:.45;
      background-image:
        linear-gradient(rgba(16,185,129,.05) 1px, transparent 1px),
        linear-gradient(90deg,rgba(16,185,129,.05) 1px, transparent 1px);
      background-size:36px 36px;
      mask-image:linear-gradient(to bottom, black, transparent 78%);
      z-index:-1;
    }
    a{color:inherit;text-decoration:none}
    button,input,textarea{font:inherit}
    button{cursor:pointer}
    ::selection{background:#A7F3D0;color:#063C2D}
    .site-shell{min-height:100vh}
    .content-wrap{width:100%;max-width:1280px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}
    .section{padding:88px 0}
    .section-tight{padding:64px 0}
    .section-kicker{
      display:inline-flex;align-items:center;gap:.5rem;
      padding:.45rem .85rem;border:1px solid rgba(16,185,129,.18);
      border-radius:999px;background:rgba(236,253,245,.82);
      color:#047857;font-size:.86rem;font-weight:700;
      box-shadow:0 8px 24px rgba(16,185,129,.08);
    }
    .section-kicker:before{content:"";width:.55rem;height:.55rem;border-radius:999px;background:var(--primary);box-shadow:0 0 0 6px rgba(16,185,129,.12)}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
      min-height:46px;padding:.78rem 1.25rem;border-radius:999px;
      font-weight:800;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease;
      outline:none;
    }
    .btn-primary{background:linear-gradient(135deg,#10B981,#14B8A6);color:#fff;box-shadow:0 14px 34px rgba(16,185,129,.25)}
    .btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(16,185,129,.32)}
    .btn-primary:active,.btn-secondary:active{transform:scale(.97)}
    .btn-secondary{border:1px solid rgba(16,185,129,.22);background:rgba(255,255,255,.78);color:#065F46}
    .btn-secondary:hover{background:#ECFDF5;border-color:#10B981;transform:translateY(-3px)}
    .btn:focus-visible,.nav-link:focus-visible,.mobile-link:focus-visible,.faq-button:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(16,185,129,.22)}
    .badge{
      display:inline-flex;align-items:center;gap:.35rem;
      padding:.34rem .68rem;border-radius:999px;
      font-size:.78rem;font-weight:700;background:#ECFDF5;color:#047857;border:1px solid rgba(16,185,129,.14)
    }
    .badge-accent{background:#FFF7ED;color:#C2410C;border-color:#FED7AA}
    .card{
      background:rgba(255,255,255,.86);
      border:1px solid rgba(16,185,129,.14);
      border-radius:28px;
      box-shadow:0 14px 38px rgba(15,35,30,.07);
      transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease;
    }
    .card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(16,185,129,.38);background:#fff}
    .side-nav{
      position:fixed;left:0;top:0;width:var(--sidebar);height:100vh;
      background:rgba(255,255,255,.92);
      border-right:1px solid rgba(16,185,129,.16);
      display:flex;flex-direction:column;align-items:center;
      padding:22px 12px;z-index:50;
      backdrop-filter:saturate(140%) blur(10px);
    }
    .logo-mark{
      width:58px;height:58px;border-radius:22px;
      display:grid;place-items:center;
      background:linear-gradient(135deg,#10B981,#14B8A6);
      color:#fff;font-weight:900;box-shadow:0 18px 42px rgba(16,185,129,.24);
      position:relative;
    }
    .logo-mark:after{
      content:"";width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid rgba(255,255,255,.95);
      position:absolute;left:24px;top:21px;
    }
    .logo-text-vertical{writing-mode:vertical-rl;letter-spacing:.08em;font-size:.72rem;color:#047857;font-weight:800;margin-top:10px;line-height:1.2}
    .nav-list{display:flex;flex-direction:column;gap:12px;margin-top:34px;width:100%;align-items:center}
    .nav-link{
      width:72px;min-height:58px;border-radius:22px;
      display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
      color:#4B5F58;font-size:.73rem;font-weight:800;
      transition:.22s ease;border:1px solid transparent;
    }
    .nav-link .nav-icon{font-size:1.05rem;line-height:1}
    .nav-link:hover{background:#ECFDF5;color:#047857;transform:translateX(3px);border-color:rgba(16,185,129,.16)}
    .nav-link.active{background:#10B981;color:#fff;box-shadow:0 14px 30px rgba(16,185,129,.24)}
    .side-status{
      margin-top:auto;width:72px;border-radius:22px;
      background:#F3F8F5;border:1px solid rgba(16,185,129,.13);
      padding:12px 6px;text-align:center;color:#047857;font-size:.7rem;font-weight:800;
    }
    .mobile-header{
      display:none;position:sticky;top:0;z-index:60;
      background:rgba(255,255,255,.92);
      border-bottom:1px solid rgba(16,185,129,.16);
      backdrop-filter:saturate(140%) blur(12px);
    }
    .mobile-menu{display:none;border-top:1px solid rgba(16,185,129,.12);background:#fff}
    .mobile-menu.open{display:block}
    .mobile-link{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-radius:18px;font-weight:800;color:#245149}
    .mobile-link.active{background:#ECFDF5;color:#047857}
    .main-area{margin-left:var(--sidebar)}
    .hero-panel{
      position:relative;
      overflow:hidden;
      border-radius:34px;
      background:
        radial-gradient(circle at 20% 20%, rgba(16,185,129,.18), transparent 16rem),
        linear-gradient(145deg,#FFFFFF 0%,#F0FBF6 52%,#FFF7ED 100%);
      border:1px solid rgba(16,185,129,.18);
      box-shadow:var(--shadow);
    }
    .hero-panel:before,.cta-band:before{
      content:"";position:absolute;inset:auto -20% -35% auto;width:360px;height:360px;border-radius:999px;
      border:42px solid rgba(16,185,129,.08);
      animation:pulse-ring 5.6s ease-in-out infinite;
    }
    .player-screen{
      background:linear-gradient(135deg,#0B1F19,#12382E);
      border-radius:28px;
      position:relative;
      min-height:240px;
      overflow:hidden;
    }
    .player-screen:before{
      content:"";position:absolute;inset:0;
      background:
        radial-gradient(circle at 68% 32%, rgba(20,184,166,.34), transparent 11rem),
        linear-gradient(120deg, transparent, rgba(255,255,255,.06), transparent);
    }
    .play-button{
      width:76px;height:76px;border-radius:999px;background:#fff;
      display:grid;place-items:center;box-shadow:0 18px 46px rgba(0,0,0,.24);
      position:relative;
    }
    .play-button:before{
      content:"";position:absolute;inset:-14px;border-radius:999px;border:1px solid rgba(255,255,255,.38);animation:pulse-ring 2.8s ease-in-out infinite;
    }
    .play-button:after{content:"";margin-left:5px;width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:20px solid #10B981}
    .progress-line{height:9px;border-radius:999px;background:#DCFCE7;overflow:hidden}
    .progress-line span{display:block;height:100%;width:72%;border-radius:999px;background:linear-gradient(90deg,#10B981,#F97316);animation:flow 4.2s ease-in-out infinite}
    .timeline-item{position:relative;padding-left:34px}
    .timeline-item:before{
      content:"";position:absolute;left:7px;top:8px;width:12px;height:12px;border-radius:50%;
      background:#10B981;box-shadow:0 0 0 8px rgba(16,185,129,.12)
    }
    .timeline-item:after{
      content:"";position:absolute;left:12px;top:28px;width:2px;height:calc(100% - 12px);
      background:linear-gradient(#A7F3D0, transparent)
    }
    .timeline-item:last-child:after{display:none}
    .step-card{position:relative;overflow:hidden}
    .step-card:before{
      content:"";position:absolute;left:0;top:22px;bottom:22px;width:4px;border-radius:99px;background:#D1FAE5;transition:.24s ease;
    }
    .step-card:hover:before{background:#10B981;box-shadow:0 0 0 5px rgba(16,185,129,.10)}
    .metric-card{background:linear-gradient(180deg,#fff,#F6FCF8);border:1px solid rgba(16,185,129,.14);border-radius:28px;padding:24px;box-shadow:0 12px 32px rgba(15,35,30,.06)}
    .quote-card{min-width:310px;background:#fff;border:1px solid rgba(16,185,129,.14);border-radius:28px;padding:24px;box-shadow:0 12px 32px rgba(15,35,30,.06)}
    .avatar{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:#ECFDF5;color:#047857;font-weight:900}
    .faq-item{border:1px solid rgba(16,185,129,.14);background:rgba(255,255,255,.88);border-radius:24px;overflow:hidden;transition:.22s ease}
    .faq-item:hover{border-color:rgba(16,185,129,.42);box-shadow:0 12px 28px rgba(16,185,129,.08)}
    .faq-button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:20px 22px;font-weight:900;color:#10231E}
    .faq-content{display:none;padding:0 22px 22px;color:#4B5F58}
    .faq-item.open .faq-content{display:block}
    .faq-icon{width:28px;height:28px;border-radius:999px;background:#ECFDF5;color:#047857;display:grid;place-items:center;flex:none;transition:.2s ease}
    .faq-item.open .faq-icon{transform:rotate(45deg);background:#10B981;color:#fff}
    .cta-band{
      position:relative;overflow:hidden;
      border-radius:34px;border:1px solid rgba(16,185,129,.18);
      background:linear-gradient(135deg,#ECFDF5,#FFFFFF 55%,#FFF7ED);
      box-shadow:var(--shadow);
    }
    .footer{
      background:#0B1F19;color:#DFF8ED;position:relative;overflow:hidden;
    }
    .footer:before{
      content:"";position:absolute;left:0;right:0;top:0;height:5px;
      background:linear-gradient(90deg,#10B981,#14B8A6,#F97316,#10B981);
    }
    .footer a{color:#DFF8ED;transition:.2s ease}
    .footer a:hover{color:#A7F3D0;transform:translateX(2px)}
    .footer-muted{color:rgba(223,248,237,.72)}
    @keyframes pulse-ring{
      0%,100%{transform:scale(.96);opacity:.72}
      50%{transform:scale(1.05);opacity:1}
    }
    @keyframes flow{
      0%,100%{width:62%}
      50%{width:82%}
    }
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      *,*:before,*:after{animation:none!important;transition:none!important}
    }
    @media (max-width:1024px){
      .content-wrap{padding-left:1.25rem;padding-right:1.25rem}
      .section{padding:72px 0}
    }
    @media (max-width:767px){
      .side-nav{display:none}
      .mobile-header{display:block}
      .main-area{margin-left:0}
      .content-wrap{padding-left:1rem;padding-right:1rem}
      .section{padding:58px 0}
      .section-tight{padding:44px 0}
      .hero-panel{border-radius:28px}
      .player-screen{min-height:210px}
      .quote-card{min-width:270px}
      .btn{width:100%}
    }
    @media (max-width:520px){
      .content-wrap{padding-left:.9rem;padding-right:.9rem}
      .logo-mark{width:50px;height:50px;border-radius:19px}
      .hero-panel,.cta-band,.card{border-radius:24px}
      .metric-card{padding:20px}
      .faq-button{padding:18px}
      .faq-content{padding:0 18px 18px}
    }

/* roulang page: category1 */
:root{
      --primary:#10B981;
      --primary-dark:#047857;
      --mint:#14B8A6;
      --leaf:#22C55E;
      --accent:#F97316;
      --bg:#F7FAF6;
      --cream:#FFF8EC;
      --ink:#10231E;
      --text:#4B5F58;
      --muted:#8A9A94;
      --line:#DCEBE5;
      --card:#FFFFFF;
      --footer:#0B1F19;
      --shadow:0 18px 50px rgba(16,185,129,.12);
      --shadow-strong:0 28px 80px rgba(16,185,129,.20);
      --radius-xl:24px;
      --radius-2xl:32px;
      --side-width:96px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:'PingFang SC','Microsoft YaHei','Noto Sans SC','Helvetica Neue',Arial,sans-serif;
      color:var(--ink);
      background:
        radial-gradient(circle at 12% 10%, rgba(34,197,94,.15), transparent 30%),
        radial-gradient(circle at 86% 20%, rgba(249,115,22,.10), transparent 26%),
        linear-gradient(135deg,#F7FAF6 0%,#FFFFFF 46%,#F1FBF6 100%);
      line-height:1.75;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    button,a,input,textarea{font:inherit}
    button{cursor:pointer}
    img,svg{max-width:100%;display:block}
    ::selection{background:rgba(16,185,129,.22);color:var(--ink)}
    :focus-visible{outline:3px solid rgba(16,185,129,.35);outline-offset:3px;border-radius:16px}
    .content-wrap{width:min(1180px, calc(100% - 48px));margin-inline:auto}
    .main-shell{min-height:100vh}
    .side-nav{
      position:fixed;
      inset:0 auto 0 0;
      z-index:50;
      width:var(--side-width);
      height:100vh;
      padding:22px 14px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:space-between;
      background:rgba(255,255,255,.92);
      border-right:1px solid rgba(16,185,129,.16);
      box-shadow:12px 0 40px rgba(15,35,30,.04);
      backdrop-filter:saturate(160%) blur(12px);
    }
    .logo-mark{
      position:relative;
      display:inline-flex;
      width:48px;
      height:48px;
      border-radius:20px;
      background:linear-gradient(135deg,var(--primary),var(--mint));
      box-shadow:0 16px 34px rgba(16,185,129,.28);
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
    }
    .logo-mark:before{
      content:"";
      width:0;height:0;
      border-top:9px solid transparent;
      border-bottom:9px solid transparent;
      border-left:14px solid #fff;
      transform:translateX(2px);
      filter:drop-shadow(0 2px 4px rgba(0,0,0,.12));
    }
    .logo-mark:after{
      content:"";
      position:absolute;
      inset:-7px;
      border-radius:26px;
      border:1px solid rgba(16,185,129,.18);
      animation:pulseRing 2.8s ease-in-out infinite;
    }
    .logo-text-vertical{
      margin-top:10px;
      writing-mode:vertical-rl;
      letter-spacing:.08em;
      font-size:12px;
      font-weight:900;
      color:#0f513f;
      line-height:1.2;
      max-height:210px;
    }
    .nav-list{
      display:grid;
      gap:12px;
      width:100%;
    }
    .nav-link{
      min-height:62px;
      padding:10px 6px;
      border-radius:22px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:3px;
      color:#507066;
      font-size:12px;
      font-weight:800;
      transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;
    }
    .nav-icon{font-size:18px;line-height:1}
    .nav-link:hover{
      transform:translateY(-2px);
      background:#ECFDF5;
      color:var(--primary-dark);
      box-shadow:0 10px 24px rgba(16,185,129,.12);
    }
    .nav-link.active{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--mint));
      box-shadow:0 14px 34px rgba(16,185,129,.28);
    }
    .side-status{
      width:100%;
      border:1px solid rgba(16,185,129,.18);
      background:#F0FDF4;
      color:#065F46;
      border-radius:20px;
      padding:10px 6px;
      text-align:center;
      font-size:11px;
      font-weight:900;
      line-height:1.35;
    }
    .mobile-header{
      display:none;
      position:sticky;
      top:0;
      z-index:60;
      background:rgba(255,255,255,.94);
      border-bottom:1px solid rgba(16,185,129,.14);
      backdrop-filter:saturate(160%) blur(14px);
    }
    .mobile-menu{
      display:none;
      border-top:1px solid rgba(16,185,129,.12);
      background:#fff;
    }
    .mobile-menu.open{display:block}
    .hamburger{
      width:46px;height:46px;
      border-radius:16px;
      border:1px solid rgba(16,185,129,.20);
      background:#F0FDF4;
      display:grid;
      place-items:center;
      transition:.2s ease;
    }
    .hamburger:hover{background:#DCFCE7;transform:translateY(-1px)}
    .hamburger span,.hamburger span:before,.hamburger span:after{
      display:block;width:18px;height:2px;border-radius:999px;background:#047857;content:"";
    }
    .hamburger span:before{transform:translateY(-6px)}
    .hamburger span:after{transform:translateY(4px)}
    main{margin-left:var(--side-width)}
    .section{padding:84px 0}
    .section-tight{padding:58px 0}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      border:1px solid rgba(16,185,129,.18);
      background:rgba(240,253,244,.86);
      color:#047857;
      border-radius:999px;
      padding:8px 13px;
      font-size:13px;
      font-weight:900;
      line-height:1.1;
    }
    .eyebrow:before{
      content:"";
      width:8px;height:8px;
      border-radius:999px;
      background:var(--accent);
      box-shadow:0 0 0 6px rgba(249,115,22,.10);
    }
    .btn{
      min-height:48px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border-radius:999px;
      padding:12px 22px;
      font-weight:900;
      transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease,color .22s ease;
      border:1px solid transparent;
      white-space:nowrap;
    }
    .btn-primary{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--mint));
      box-shadow:0 16px 36px rgba(16,185,129,.24);
    }
    .btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-strong);background:linear-gradient(135deg,#059669,#0D9488)}
    .btn-secondary{
      color:#065F46;
      background:#fff;
      border-color:rgba(16,185,129,.22);
      box-shadow:0 12px 28px rgba(15,35,30,.05);
    }
    .btn-secondary:hover{transform:translateY(-3px);background:#ECFDF5;border-color:rgba(16,185,129,.45)}
    .btn:active{transform:scale(.97)}
    .card{
      background:rgba(255,255,255,.88);
      border:1px solid rgba(16,185,129,.13);
      border-radius:var(--radius-xl);
      box-shadow:0 18px 45px rgba(15,35,30,.06);
      transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease;
    }
    .card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(16,185,129,.36);background:#fff}
    .tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:999px;
      background:#ECFDF5;
      color:#047857;
      font-size:12px;
      font-weight:900;
      border:1px solid rgba(16,185,129,.14);
    }
    .tag.orange{background:#FFF7ED;color:#C2410C;border-color:rgba(249,115,22,.18)}
    .breadcrumb a{color:#64786f;transition:.2s ease}
    .breadcrumb a:hover{color:var(--primary-dark)}
    .hero-panel{
      position:relative;
      overflow:hidden;
      border-radius:34px;
      background:
        linear-gradient(135deg,rgba(255,255,255,.95),rgba(240,253,244,.94)),
        radial-gradient(circle at 20% 20%,rgba(16,185,129,.22),transparent 30%);
      border:1px solid rgba(16,185,129,.16);
      box-shadow:var(--shadow);
    }
    .hero-panel:before{
      content:"";
      position:absolute;
      inset:-1px;
      background:
        linear-gradient(90deg, transparent 0 46%, rgba(16,185,129,.10) 46% 47%, transparent 47%),
        linear-gradient(0deg, transparent 0 46%, rgba(16,185,129,.08) 46% 47%, transparent 47%);
      background-size:34px 34px;
      opacity:.45;
      pointer-events:none;
    }
    .filter-chip{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      border-radius:20px;
      padding:13px 14px;
      background:#fff;
      border:1px solid rgba(16,185,129,.14);
      box-shadow:0 10px 24px rgba(15,35,30,.05);
    }
    .progress-line{
      position:relative;
      width:100%;
      height:8px;
      border-radius:999px;
      background:#DDF6EA;
      overflow:hidden;
    }
    .progress-line span{
      position:absolute;
      left:0;top:0;bottom:0;
      border-radius:999px;
      background:linear-gradient(90deg,var(--primary),var(--accent));
      animation:flowBar 3.2s ease-in-out infinite;
    }
    .feature-item{
      position:relative;
      overflow:hidden;
      padding:20px;
      border-radius:24px;
      background:#fff;
      border:1px solid rgba(16,185,129,.13);
      transition:.24s ease;
    }
    .feature-item:before{
      content:"";
      position:absolute;
      left:0;top:0;bottom:0;
      width:5px;
      background:linear-gradient(180deg,var(--primary),var(--mint));
      transform:scaleY(.25);
      transform-origin:top;
      transition:transform .24s ease;
      border-radius:999px;
    }
    .feature-item:hover{transform:translateX(4px);box-shadow:var(--shadow);border-color:rgba(16,185,129,.34)}
    .feature-item:hover:before{transform:scaleY(1)}
    .tag-wall a,.tag-wall span{
      display:inline-flex;
      align-items:center;
      border-radius:999px;
      padding:10px 14px;
      color:#0F766E;
      font-size:14px;
      font-weight:900;
      border:1px solid rgba(16,185,129,.16);
      background:rgba(255,255,255,.84);
      transition:.22s ease;
    }
    .tag-wall a:hover,.tag-wall span:hover{
      transform:translateY(-2px);
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--mint));
      box-shadow:0 14px 32px rgba(16,185,129,.18);
    }
    .advice-list li{
      display:flex;
      gap:12px;
      padding:14px 0;
      border-bottom:1px dashed rgba(16,185,129,.22);
      color:#4B5F58;
      font-weight:700;
    }
    .advice-list li:last-child{border-bottom:0}
    .check-dot{
      width:24px;height:24px;
      flex:0 0 auto;
      border-radius:999px;
      display:grid;
      place-items:center;
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--mint));
      font-size:13px;
      font-weight:900;
      margin-top:2px;
    }
    .faq-item{
      border:1px solid rgba(16,185,129,.14);
      border-radius:24px;
      background:#fff;
      padding:22px;
      transition:.22s ease;
    }
    .faq-item:hover{border-color:rgba(16,185,129,.42);box-shadow:var(--shadow);transform:translateY(-2px)}
    .cta-band{
      position:relative;
      overflow:hidden;
      border-radius:34px;
      border:1px solid rgba(16,185,129,.18);
      background:
        radial-gradient(circle at 80% 20%, rgba(249,115,22,.20), transparent 24%),
        radial-gradient(circle at 8% 85%, rgba(20,184,166,.25), transparent 28%),
        linear-gradient(135deg,#ECFDF5,#FFFFFF 55%,#FFF7ED);
      box-shadow:var(--shadow);
    }
    .cta-band:before,.cta-band:after{
      content:"";
      position:absolute;
      border-radius:999px;
      border:1px solid rgba(16,185,129,.18);
      width:240px;height:240px;
      right:-80px;top:-80px;
    }
    .cta-band:after{width:150px;height:150px;left:-42px;bottom:-50px;right:auto;top:auto;border-color:rgba(249,115,22,.16)}
    .footer{
      margin-left:var(--side-width);
      color:#fff;
      background:
        linear-gradient(90deg,rgba(16,185,129,.78),rgba(16,185,129,.15) 34%,transparent 34%) top/100% 4px no-repeat,
        radial-gradient(circle at 10% 10%,rgba(16,185,129,.20),transparent 24%),
        var(--footer);
    }
    .footer a{color:rgba(236,253,245,.88);transition:.2s ease}
    .footer a:hover{color:#fff;transform:translateX(2px)}
    .footer-muted{color:rgba(220,252,231,.70)}
    @keyframes pulseRing{
      0%,100%{transform:scale(.94);opacity:.45}
      50%{transform:scale(1.05);opacity:.9}
    }
    @keyframes flowBar{
      0%,100%{width:58%}
      50%{width:86%}
    }
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      *,*:before,*:after{animation:none!important;transition:none!important}
    }
    @media (max-width:1024px){
      .content-wrap{width:min(100% - 36px, 960px)}
      .section{padding:68px 0}
    }
    @media (max-width:768px){
      .side-nav{display:none}
      .mobile-header{display:block}
      main,.footer{margin-left:0}
      .content-wrap{width:min(100% - 28px, 720px)}
      .section{padding:56px 0}
      .section-tight{padding:42px 0}
      .btn{width:100%;min-height:50px}
      .mobile-menu a{
        display:flex;
        align-items:center;
        justify-content:space-between;
        min-height:48px;
        border-radius:16px;
        padding:10px 14px;
        font-weight:900;
        color:#31534a;
      }
      .mobile-menu a.active{background:#ECFDF5;color:#047857}
    }
    @media (max-width:520px){
      .content-wrap{width:min(100% - 22px, 520px)}
      .hero-panel{border-radius:26px}
      .card,.faq-item,.feature-item{border-radius:20px}
      .tag-wall a,.tag-wall span{font-size:13px;padding:9px 11px}
    }
