/* roulang page: index */
:root{
  --c-primary:#FF5A22;
  --c-primary-dark:#E14B16;
  --c-accent:#0FA3A3;
  --c-dark:#0B1120;
  --c-dark-panel:#141D2E;
  --c-bg:#F5F6FA;
  --c-white:#FFFFFF;
  --c-text:#1D2433;
  --c-muted:#5C6B7A;
  --c-weak:#8A93A0;
  --c-border:#E4E8EF;
  --c-warning:#FFF6DE;
  --c-nav-text:#E7EDF5;
  --radius-lg:16px;
  --radius-md:12px;
  --radius-sm:10px;
  --shadow-sm:0 4px 20px rgba(15, 23, 42, 0.06);
  --shadow-hover:0 14px 28px rgba(15, 23, 42, 0.12);
  --font-system:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Microsoft JhengHei", sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-system);
  font-size:16px;
  line-height:1.75;
  color:var(--c-text);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease}
ul,ol{margin:0;padding:0}
button,input{font-family:inherit;font-size:1rem}
p{margin:0 0 20px}
h1,h2,h3,h4{line-height:1.35;margin:0 0 16px;color:var(--c-text)}
.container,.grid-container{max-width:1220px;padding-left:24px;padding-right:24px;margin-left:auto;margin-right:auto}
.grid-container{padding-left:24px;padding-right:24px}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--c-primary);
  text-transform:uppercase;
}
.eyebrow::before{content:"";display:inline-block;width:18px;height:2px;background:var(--c-primary)}
a:focus-visible,.accordion-title:focus-visible,button:focus-visible,.nav-burger:focus-visible,input:focus-visible{
  outline:2px solid rgba(255,90,34,.55);
  outline-offset:3px;
  border-radius:4px;
}
.section{padding:96px 0}
.section--white{background:var(--c-white)}
.section--soft{background:#F5F6FA}
.section--dark{background:var(--c-dark);color:#CDD7E4}
.section--dark h1,.section--dark h2,.section--dark h3{color:#FFFFFF}
.section--dark .eyebrow{color:#FF835D}
.section-header{
  max-width:800px;
  margin-bottom:48px;
}
.section-header.center{text-align:center;margin-left:auto;margin-right:auto}
.section-header h2{
  font-size:clamp(28px, 3.2vw, 36px);
  font-weight:800;
  letter-spacing:0;
  line-height:1.25;
  margin-top:10px;
}
.section-desc{
  color:var(--c-muted);
  font-size:17px;
  margin-top:-4px;
}
.section--dark .section-desc{color:#9AA9BB}

/* Header */
.site-header{
  background:var(--c-dark);
  border-bottom:1px solid rgba(255,255,255,.06);
  position:relative;
  z-index:1000;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
}
.site-header__inner{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  min-height:76px;
  column-gap:20px;
  max-width:1260px;
  margin:0 auto;
  padding:0 24px;
}
.site-logo{
  grid-column:2;
  text-align:center;
  line-height:1.2;
  padding:10px 0;
}
.site-logo a{
  color:#FFFFFF;
  font-weight:800;
  font-size:21px;
  letter-spacing:0;
  white-space:nowrap;
}
.site-logo small{
  display:block;
  font-size:11px;
  color:#7E8FA3;
  font-weight:500;
  margin-top:4px;
  letter-spacing:.02em;
}
.header-nav--left{display:flex;align-items:center;justify-content:flex-start;gap:28px}
.header-nav--right{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.header-right-links{
  display:flex;
  align-items:center;
  gap:22px;
}
.header-right-links .btn-download{
  margin-left:6px;
}
.nav-link{
  position:relative;
  color:var(--c-nav-text);
  font-size:15px;
  font-weight:600;
  line-height:76px;
  padding:0 2px;
  white-space:nowrap;
}
.nav-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:16px;
  height:2px;
  background:var(--c-primary);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.nav-link:hover{color:#FF835D}
.nav-link:hover::after{transform:scaleX(1)}
.nav-link.is-active{color:#FF835D}
.nav-link.is-active::after{transform:scaleX(1)}
.nav-burger{
  display:none;
  width:46px;
  height:46px;
  padding:0;
  background:transparent;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.nav-burger span,.nav-burger span::before,.nav-burger span::after{
  content:"";
  display:block;
  width:20px;
  height:2px;
  background:#FFFFFF;
  border-radius:2px;
  transition:transform .2s ease;
}
.nav-burger span{position:relative}
.nav-burger span::before{transform:translateY(-6px)}
.nav-burger span::after{transform:translateY(4px)}
.nav-burger.is-active span{background:transparent}
.nav-burger.is-active span::before{transform:rotate(45deg)}
.nav-burger.is-active span::after{transform:rotate(-45deg)}
.mobile-nav{
  display:none;
  background:var(--c-dark-panel);
  border-top:1px solid rgba(255,255,255,.06);
  padding:12px 24px 22px;
}
.mobile-nav.is-visible{display:block}
.mobile-nav a{
  display:block;
  color:#DCE4EE;
  font-size:16px;
  font-weight:600;
  padding:13px 4px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.mobile-nav a.is-active{color:#FF835D}
.mobile-nav .mobile-download{
  margin-top:12px;
  text-align:center;
  background:var(--c-primary);
  color:#fff;
  border-radius:10px;
  border:none;
}

/* buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  border-radius:10px;
  padding:0 28px;
  font-size:16px;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  background:transparent;
  border:1.5px solid transparent;
  transition:background .2s, border-color .2s, color .2s, transform .2s, box-shadow .2s;
  vertical-align:middle;
}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{
  background:var(--c-primary);
  border-color:var(--c-primary);
  color:#FFFFFF;
  box-shadow:0 6px 18px rgba(255,90,34,.24);
}
.btn-primary:hover{
  background:var(--c-primary-dark);
  border-color:var(--c-primary-dark);
  color:#FFFFFF;
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(255,90,34,.3);
}
.btn-primary:active{transform:translateY(1px)}
.btn-outline{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.5);
  color:#ECF1F7;
}
.btn-outline:hover{
  border-color:var(--c-primary);
  color:#FF835D;
  transform:translateY(-2px);
  background:rgba(255,255,255,.06);
}
.btn-light-outline{
  background:#FFFFFF;
  border-color:#E4E8EF;
  color:var(--c-text);
}
.btn-light-outline:hover{
  border-color:var(--c-primary);
  color:var(--c-primary);
  transform:translateY(-2px);
}
.btn-dark-solid{
  background:var(--c-dark);
  border-color:var(--c-dark);
  color:#FFFFFF;
}
.btn-dark-solid:hover{
  background:var(--c-dark-panel);
  border-color:var(--c-dark-panel);
  color:var(--c-primary);
  transform:translateY(-2px);
}

/* Hero */
.hero{
  position:relative;
  overflow:hidden;
  background:var(--c-dark);
  color:var(--c-nav-text);
  padding:112px 0 120px;
}
.hero-bg-wrap{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.hero-bg-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.24;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(11,17,32,.97) 0%, rgba(11,17,32,.84) 45%, rgba(11,17,32,.6) 100%),
    linear-gradient(0deg, rgba(11,17,32,.15), rgba(11,17,32,.15));
  z-index:1;
}
.hero-inner{position:relative;z-index:2}
.hero-copy .eyebrow{color:#FF835D}
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,90,34,.45);
  background:rgba(255,90,34,.1);
  color:#FF9B76;
  font-size:12px;
  font-weight:700;
  padding:7px 14px;
  border-radius:999px;
  margin-bottom:24px;
  letter-spacing:.02em;
}
.hero h1{
  font-size:clamp(32px, 4.5vw, 48px);
  font-weight:800;
  color:#FFFFFF;
  letter-spacing:0;
  line-height:1.2;
  margin-bottom:18px;
}
.hero h1 .h1-sub{
  display:inline-block;
  color:#FF835D;
  font-size:.6em;
  vertical-align:baseline;
  margin-left:6px;
  font-weight:750;
}
.hero .hero-sub{
  font-size:17px;
  color:#AEBDCC;
  max-width:560px;
  line-height:1.85;
  margin-bottom:32px;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:38px;
}
.hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.hero-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:#D7E1EA;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:8px 15px;
}
.hero-tag svg{width:16px;height:16px;color:#60D6CD}
.hero-visual{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  background:var(--c-dark-panel);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 18px 40px rgba(0,0,0,.5);
}
.hero-visual img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.hero-float-note{
  position:absolute;
  left:18px;
  bottom:18px;
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(11,17,32,.84);
  border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(10px);
  padding:12px 16px;
  border-radius:14px;
  color:#E6EDF4;
  font-size:13px;
  line-height:1.4;
  max-width:220px;
}
.hero-float-note svg{width:20px;height:20px;color:#60D6CD;flex:none}

/* feature */
.home-feature-grid .feature-row{margin-bottom:56px}
.feature-row:last-child{margin-bottom:0}
.feature-visual{
  border-radius:18px;
  overflow:hidden;
  background:var(--c-dark-panel);
  border:1px solid var(--c-border);
  box-shadow:var(--shadow-sm);
}
.feature-visual img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/11}
.feature-info{padding-left:16px;padding-right:16px}
.feature-info .feature-label{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  color:var(--c-accent);
  background:rgba(15,163,163,.08);
  border:1px solid rgba(15,163,163,.22);
  border-radius:999px;
  padding:5px 12px;
  margin-bottom:14px;
}
.feature-info h3{font-size:24px;font-weight:750;line-height:1.4;margin-bottom:14px}
.feature-info p{color:var(--c-muted);font-size:16px;margin-bottom:16px}
.feature-link{
  font-weight:700;
  color:var(--c-primary);
  display:inline-flex;
  gap:6px;
  align-items:center;
  font-size:15px;
}
.feature-link:hover{color:var(--c-primary-dark)}
.feature-link svg{width:16px;height:16px;transition:transform .2s}
.feature-link:hover svg{transform:translateX(4px)}
.stat-strip{
  background:#FFFFFF;
  border:1px solid var(--c-border);
  border-radius:18px;
  box-shadow:var(--shadow-sm);
  padding:34px 26px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.stat-item{
  text-align:center;
  padding:8px 6px;
}
.stat-item strong{
  display:block;
  font-size:20px;
  font-weight:800;
  color:var(--c-dark);
  letter-spacing:.01em;
  margin-bottom:4px;
}
.stat-item span{
  font-size:14px;
  color:var(--c-muted);
}

/* demo */
.demo{position:relative;overflow:hidden}
.demo .grid-container{position:relative;z-index:2}
.demo::before{
  content:"";
  position:absolute;
  top:-80px;left:10%;right:10%;
  height:260px;
  background:
    radial-gradient(ellipse, rgba(255,90,34,.12) 0%, transparent 70%),
    linear-gradient(90deg, transparent, rgba(255,116,83,.07), transparent);
  z-index:1;
}
.demo-intro{
  max-width:640px;
  margin:0 auto 48px;
  text-align:center;
}
.demo-intro h2{color:#FFFFFF}
.demo-intro .section-desc{color:#9AA9BB}
.demo-stage{margin-top:44px}
.demo-gallery{
  display:grid;
  grid-template-columns:1fr 1.35fr 1fr;
  align-items:center;
  gap:18px;
}
.demo-figure{
  margin:0;
  border-radius:18px;
  overflow:hidden;
  background:var(--c-dark-panel);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 16px 30px rgba(0,0,0,.35);
  transform:scale(.94);
  transition:transform .25s;
}
.demo-figure:hover{transform:scale(1)}
.demo-figure--main{transform:scale(1);z-index:2}
.demo-figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.demo-caption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:12px 16px;
  color:#DDE6EE;
  font-size:13px;
}
.demo-caption span:first-child{font-weight:600}
.demo-status{
  color:#60D6CD;
  background:rgba(15,163,163,.12);
  border:1px solid rgba(15,163,163,.2);
  border-radius:999px;
  font-size:12px;
  padding:3px 10px;
}
.demo-more{
  text-align:center;
  margin-top:34px;
}
.demo-more a{
  display:inline-flex;
  gap:8px;
  font-weight:700;
  color:#FF835D;
  align-items:center;
}
.demo-more a:hover{color:#FFB9A1}

/* dynamic */
.dynamic-layout{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);
  gap:56px;
  align-items:start;
}
.dynamic-intro .h2-spacer{margin-bottom:16px}
.dynamic-intro p{
  color:var(--c-muted);
  margin-bottom:22px;
  font-size:16px;
}
.dynamic-more{
  display:inline-flex;
  gap:8px;
  font-weight:700;
  color:var(--c-primary);
  align-items:center;
  font-size:15px;
}
.dynamic-more:hover{color:var(--c-primary-dark)}
.dynamic-more svg{width:16px;height:16px}
.dynamic-list{display:flex;flex-direction:column;gap:18px}
.dynamic-card{
  background:#FFFFFF;
  border:1px solid var(--c-border);
  border-radius:16px;
  padding:26px 24px;
  box-shadow:var(--shadow-sm);
  position:relative;
  transition:box-shadow .25s ease, transform .25s ease;
}
.dynamic-card:hover{
  box-shadow:var(--shadow-hover);
  transform:translateY(-3px);
}
.dynamic-card--lead{
  padding:30px 28px;
  border-left:4px solid var(--c-primary);
  background:
    linear-gradient(135deg, rgba(255,90,34,.04), rgba(255,255,255,0)),
    #FFFFFF;
}
.dynamic-card-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.dynamic-tag{
  display:inline-block;
  background:rgba(255,90,34,.1);
  color:var(--c-primary-dark);
  font-size:12px;
  font-weight:700;
  border-radius:999px;
  padding:4px 12px;
  letter-spacing:.02em;
}
.dynamic-card--lead .dynamic-tag{
  background:var(--c-primary);
  color:#FFFFFF;
}
.dynamic-time{
  font-size:13px;
  color:var(--c-weak);
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.dynamic-time svg{width:14px;height:14px}
.dynamic-card h3{
  font-size:20px;
  line-height:1.5;
  margin-bottom:8px;
}
.dynamic-card--lead h3{font-size:22px;line-height:1.4}
.dynamic-card h3 a{color:var(--c-text)}
.dynamic-card h3 a:hover{color:var(--c-primary)}
.dynamic-card p{
  color:var(--c-muted);
  font-size:15px;
  line-height:1.7;
  margin-bottom:10px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dynamic-card .more-line{
  font-size:14px;
  font-weight:700;
  color:var(--c-primary);
  display:inline-flex;
  gap:4px;
  align-items:center;
}
.dynamic-card .more-line svg{width:15px;height:15px}
.dynamic-footer{
  margin-top:20px;
  text-align:right;
}
.dynamic-empty{
  background:#FFFFFF;
  border:1px dashed #C7D0DC;
  border-radius:16px;
  padding:42px 28px;
  text-align:center;
  color:var(--c-muted);
}
.dynamic-empty svg{width:34px;height:34px;color:var(--c-weak);margin:0 auto 10px}
.dynamic-empty p{margin:0}
.dynamic-list-more{display: none}
.dynamic-list-more.is-visible{display:block}

/* version/price */
.version-section{background:#F5F6FA}
.version-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  align-items:stretch;
}
.version-card{
  background:#FFFFFF;
  border:1px solid var(--c-border);
  border-radius:18px;
  padding:30px 26px;
  box-shadow:var(--shadow-sm);
  position:relative;
  display:flex;
  flex-direction:column;
  transition:box-shadow .25s ease, transform .25s ease;
}
.version-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-5px)}
.version-card--featured{
  border:2px solid var(--c-primary);
  padding:36px 28px;
  background:#FFFFFF;
}
.version-card--featured .featured-topline{
  position:absolute;
  top:0;left:24px;right:24px;
  height:4px;
  background:var(--c-primary);
  border-radius:0 0 8px 8px;
}
.version-name{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  font-size:18px;
  margin-bottom:8px;
  color:var(--c-dark);
}
.version-badge{
  font-size:12px;
  font-weight:700;
  background:rgba(15,163,163,.1);
  color:var(--c-accent);
  border-radius:999px;
  padding:4px 10px;
}
.version-featured-tag{
  background:var(--c-primary);
  color:#FFFFFF;
}
.version-desc{
  font-size:14px;
  color:var(--c-muted);
  border-bottom:1px solid #EEF1F5;
  padding-bottom:18px;
  margin-bottom:18px;
  flex:0;
}
.version-price{
  font-size:30px;
  font-weight:800;
  color:var(--c-dark);
  margin-bottom:14px;
  line-height:1.2;
}
.version-price small{
  font-size:14px;
  color:var(--c-weak);
  font-weight:500;
  margin-left:4px;
}
.version-list{
  list-style:none;
  margin:0 0 24px;
}
.version-list li{
  position:relative;
  padding:4px 0 4px 28px;
  font-size:15px;
  color:var(--c-text);
}
.version-list li::before{
  content:"";
  position:absolute;
  left:2px;top:13px;
  width:16px;height:16px;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12.5L9.8 17L19 7' stroke='%23FF5A22' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.version-card .btn{margin-top:auto}
.version-note{
  margin-top:28px;
  background:var(--c-warning);
  border:1px solid #F0D89A;
  border-radius:14px;
  padding:15px 18px;
  font-size:14px;
  color:#7A5A1B;
  line-height:1.7;
}

/* faq */
.faq-layout{
  display:grid;
  grid-template-columns:minmax(0,4fr) minmax(0,8fr);
  gap:44px;
  align-items:start;
}
.faq-side .section-header{margin-bottom:18px}
.faq-side .faq-contact{
  display:inline-flex;
  gap:8px;
  color:var(--c-primary);
  font-weight:700;
  align-items:center;
  font-size:15px;
}
.faq-side .faq-contact svg{width:16px;height:16px}
.accordion{border-radius:16px;overflow:visible;background:#fff}
.accordion .accordion-item{
  background:#fff;
  border:1px solid var(--c-border);
  border-radius:14px;
  margin-bottom:12px;
  overflow:hidden;
  box-shadow:0 3px 12px rgba(15,23,42,.03);
}
.accordion .accordion-item:last-child{margin-bottom:0}
.accordion .accordion-title{
  background:transparent;
  color:var(--c-text);
  font-size:16px;
  font-weight:650;
  line-height:1.5;
  padding:22px 56px 22px 22px;
  margin:0;
  position:relative;
}
.accordion .accordion-title:hover,.accordion .accordion-title:focus{background:#F9FAFC;color:var(--c-primary)}
.accordion .accordion-title::before{
  content:none;
}
.accordion-title .acc-icon{
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  height:24px;
  border-radius:50%;
  border:1.5px solid #C6CFDB;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s, border-color .2s;
}
.accordion-title .acc-icon::before,.accordion-title .acc-icon::after{
  content:"";
  position:absolute;
  width:12px;height:2px;
  background:var(--c-muted);
  border-radius:2px;
  transition:background .2s, transform .2s, opacity .2s;
}
.accordion-title .acc-icon::after{transform:rotate(90deg)}
.accordion-title:hover .acc-icon,.accordion-item.is-active .accordion-title .acc-icon{
  border-color:var(--c-primary);
}
.accordion-title:hover .acc-icon::before,.accordion-title:hover .acc-icon::after,
.accordion-item.is-active .accordion-title .acc-icon::before,.accordion-item.is-active .accordion-title .acc-icon::after{
  background:var(--c-primary);
}
.accordion-item.is-active .accordion-title .acc-icon::after{transform:rotate(0deg);opacity:.4}
.accordion .accordion-content{
  border-top:1px solid #F0F2F6;
  background:#FFFFFF;
  padding:18px 22px;
  color:var(--c-muted);
  font-size:15px;
  line-height:1.8;
}
.accordion .accordion-content p:last-child{margin-bottom:0}

/* CTA */
.cta-band{
  position:relative;
  background:var(--c-dark);
  border-radius:24px;
  overflow:hidden;
  padding:76px 40px;
  color:#FFFFFF;
  text-align:center;
}
.cta-band::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 25%, rgba(255,90,34,.22), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(15,163,163,.18), transparent 40%);
}
.cta-band > *{position:relative;z-index:2}
.cta-band h2{
  font-size:clamp(26px,3vw,35px);
  color:#FFFFFF;
  margin-bottom:12px;
  letter-spacing:0;
}
.cta-band p{
  color:#A8B8CA;
  max-width:620px;
  margin:0 auto 32px;
  font-size:16px;
}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* Footer */
.site-footer{
  background:var(--c-dark);
  color:#A7B5C5;
  margin-top:104px;
}
.site-footer__top{
  padding:76px 0 40px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.footer-brand a{
  font-size:20px;
  font-weight:800;
  color:#FFFFFF;
  letter-spacing:0;
}
.footer-brand p{
  color:#8494A6;
  font-size:14px;
  line-height:1.8;
  margin-top:14px;
  margin-bottom:20px;
  max-width:320px;
}
.footer-col-title{
  font-size:16px;
  color:#FFFFFF;
  font-weight:700;
  margin-bottom:14px;
}
.footer-links li{list-style:none;margin-bottom:10px}
.footer-links a{
  color:#A7B5C5;
  font-size:14px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.footer-links a:hover{color:#FF835D;padding-left:4px}
.footer-subscribe p{
  font-size:14px;
  color:#94A4B5;
  margin-bottom:14px;
}
.footer-form{display:flex;gap:8px}
.footer-form input{
  height:46px;
  flex:1;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  color:#FFFFFF;
  padding:0 16px;
  min-width:0;
}
.footer-form input::placeholder{color:#78899D}
.footer-form input:focus{
  border-color:var(--c-primary);
  outline:2px solid rgba(255,90,34,.3);
  outline-offset:1px;
}
.footer-form .btn{
  height:46px;
  min-height:46px;
  white-space:nowrap;
}
.footer-form-success{
  display:none;
  font-size:14px;
  color:#60D6CD;
  margin-top:12px;
}
.footer-form.is-valid .footer-form-success{display:block}
.site-footer__bottom{
  padding:22px 0;
  background:#070C17;
}
.footer-meta{
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  align-items:center;
}
.footer-meta p{margin:0;font-size:13px;color:#687B90}
.footer-tech{
  font-size:12px;
  color:#4A5E75;
  letter-spacing:.04em;
}
.back-to-top{
  font-size:13px;
  color:#A7B5C5;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:600;
}
.back-to-top:hover{color:#FF835D}
.back-to-top svg{width:15px;height:15px}

/* floating CTA */
.float-cta{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:var(--c-primary);
  color:#FFFFFF;
  font-weight:700;
  font-size:16px;
  min-height:54px;
  padding:0 24px;
  border-radius:999px;
  box-shadow:0 12px 28px rgba(255,90,34,.4);
  transition:opacity .25s, transform .25s, background .2s;
}
.float-cta:hover{
  background:var(--c-primary-dark);
  color:#fff;
  transform:translateY(-3px);
}
.float-cta svg{width:19px;height:19px}
.float-cta.is-hidden{opacity:0;pointer-events:none;transform:translateY(12px)}
.float-cta .float-mobile-text{display:none}

@media (max-width: 1024px){
  .section{padding:72px 0}
  .dynamic-layout{gap:36px}
  .hero{padding:88px 0 90px}
  .hero-visual{max-width:520px;margin-left:auto;margin-right:auto}
  .hero-inner .cell:first-child{margin-bottom:0}
  .cta-band{padding:58px 26px}
}
@media (max-width: 880px){
  .site-header__inner{grid-template-columns:1fr auto 68px;padding:0 18px;min-height:70px}
  .header-nav--left{display:none}
  .site-logo{grid-column:2}
  .site-logo a{font-size:18px}
  .header-nav--right{grid-column:3}
  .header-right-links{display:none}
  .nav-burger{display:flex;width:44px;height:44px}
  .mobile-nav{position:relative;z-index:999}
  .hero{padding:70px 0 76px}
  .hero-sub{font-size:16px}
  .section{padding:64px 0}
  .feature-info{padding-left:0;padding-right:0}
  .dynamic-layout{grid-template-columns:1fr;gap:38px}
  .stat-strip{grid-template-columns:repeat(2,1fr);padding:24px}
  .version-grid{grid-template-columns:1fr 1fr;gap:18px}
  .version-card--featured{grid-column:1/-1;order:-1}
  .faq-layout{grid-template-columns:1fr;gap:20px}
  .cta-band{padding:52px 20px}
}
@media (max-width: 680px){
  body{font-size:15px}
  .grid-container,.container{padding-left:18px;padding-right:18px}
  .site-header__inner{padding:0 16px}
  .section{padding:56px 0}
  .section-header{margin-bottom:28px}
  .section-desc{font-size:16px}
  .hero h1{line-height:1.25}
  .hero-tags{gap:8px}
  .hero-tag{padding:6px 10px;font-size:12px}
  .hero .btn{
    width:100%;
    min-height:50px;
  }
  .hero-actions{gap:10px}
  .hero-float-note{left:10px;right:10px;bottom:10px;max-width:none}
  .feature-info h3{font-size:20px}
  .feature-row{margin-bottom:36px}
  .stat-strip{grid-template-columns:1fr 1fr;gap:12px;padding:14px}
  .stat-item strong{font-size:17px}
  .stat-item span{font-size:13px}
  .version-grid{grid-template-columns:1fr}
  .version-card--featured{grid-column:auto;order:0}
  .demo-gallery{display:flex}
  .demo-figure{
    min-width:90%;
    transform:none;
    scroll-snap-align:center;
  }
  .demo-gallery{overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:10px}
  .demo-figure--main{min-width:86%}
  .faq-layout{grid-template-columns:1fr}
  .accordion .accordion-title{padding:18px 52px 18px 18px}
  .cta-band{padding:46px 16px;border-radius:18px}
  .cta-actions .btn{width:100%}
  .site-footer__top{padding:56px 0 24px}
  .footer-form{flex-direction:column}
  .footer-form .btn{width:100%;height:48px}
  .float-cta{
    right:16px;bottom:16px;
    padding:0 14px;
    min-width:52px;
    min-height:52px;
    width:52px;
    border-radius:16px;
  }
  .float-cta .float-text{display:none}
  .float-cta .float-mobile-text{display:inline}
}
@media (min-width: 641px){
  .mobile-nav{display:none !important}
}

/* roulang page: article */
:root{
  --c-primary:#FF5A22;
  --c-primary-h:#E14B16;
  --c-accent:#0FA3A3;
  --c-base:#0B1120;
  --c-base-light:#141D2E;
  --c-bg:#F5F6FA;
  --c-white:#FFFFFF;
  --c-text:#1D2433;
  --c-text-2:#5C6B7A;
  --c-text-3:#8A93A0;
  --c-border:#E4E8EF;
  --c-warn-bg:#FFF6DE;
  --radius:14px;
  --radius-sm:10px;
  --shadow-sm:0 4px 20px rgba(15,23,42,0.06);
  --shadow-lg:0 14px 28px rgba(15,23,42,0.12);
  --transition:all .25s ease;
  --font-main:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-main);
  color:var(--c-text);
  background:var(--c-bg);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:var(--transition)}
ul,ol{list-style:none}
button,input{font-family:inherit;font-size:inherit}
.container,.grid-container{max-width:1200px;width:100%;margin:0 auto;padding-left:24px;padding-right:24px}
@media screen and (max-width:639px){.container,.grid-container{padding-left:18px;padding-right:18px}}
:focus-visible{outline:2px solid rgba(255,90,34,.55);outline-offset:2px;border-radius:4px}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--c-primary);
  text-transform:uppercase;
}
.eyebrow::before{content:"";width:16px;height:2px;background:var(--c-primary);display:inline-block}
.section{padding:88px 0}
.section-tight{padding:72px 0}
.section-white{background:#fff}
.section-dark{background:var(--c-base)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 28px;border:1.5px solid transparent;border-radius:var(--radius-sm);
  font-weight:700;font-size:16px;line-height:1;color:#fff;background:var(--c-primary);
  cursor:pointer;transition:var(--transition);text-align:center;text-decoration:none;white-space:nowrap;
}
.btn:hover{background:var(--c-primary-h);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px rgba(225,75,22,.22)}
.btn:active{transform:translateY(0)}
.btn svg{width:18px;height:18px;flex:0 0 auto}
.btn-ghost{background:transparent;border-color:#C6CED8;color:var(--c-text)}
.btn-ghost:hover{background:transparent;border-color:var(--c-primary);color:var(--c-primary);box-shadow:none;transform:translateY(-1px)}
.btn-ghost-light{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
.btn-ghost-light:hover{background:transparent;border-color:var(--c-primary);color:#fff}
.btn-block{width:100%}
.btn-sm{min-height:42px;padding:0 18px;font-size:15px;border-radius:9px}
/* header */
.site-header{background:var(--c-base);position:sticky;top:0;z-index:997;border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:78px}
.header-nav{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.header-nav--left{justify-content:flex-start}
.header-right{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.header-nav .nav-link{
  display:inline-flex;align-items:center;min-height:44px;padding:0 16px;
  color:#E7EDF5;font-weight:600;font-size:15px;border-radius:8px;position:relative;white-space:nowrap;
}
.header-nav .nav-link:hover{color:var(--c-primary)}
.header-nav .nav-link.is-active{color:var(--c-primary)}
.header-nav .nav-link.is-active::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:2px;background:var(--c-primary);border-radius:2px}
.header-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 14px;text-align:center;line-height:1.2}
.header-logo strong{font-size:21px;font-weight:800;color:#fff;letter-spacing:0;white-space:nowrap}
.header-logo span{font-size:11px;color:rgba(231,237,245,.55);letter-spacing:.02em;margin-top:3px}
.logo-tip{display:inline-flex;align-items:center;height:18px;padding:0 8px;margin-left:6px;background:rgba(15,163,163,.14);color:var(--c-accent);font-size:10px;border-radius:999px;font-weight:700;vertical-align:middle;letter-spacing:.02em}
.menu-toggle{
  display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;cursor:pointer;
}
.menu-toggle svg{width:22px;height:22px}
.mobile-menu{
  display:none;background:var(--c-base);padding:8px 20px 20px;border-top:1px solid rgba(255,255,255,.06);
}
.mobile-menu.is-open{display:block}
.mobile-menu a{
  display:block;padding:13px 4px;color:#E7EDF5;font-size:16px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.06);
}
.mobile-menu a:hover{color:var(--c-primary)}
.mobile-menu .btn{display:flex;margin-top:16px}
.btn-header{min-height:42px;padding:0 18px;font-size:14px;border-radius:999px;margin-left:6px}
/* page band */
.page-band{
  position:relative;background:linear-gradient(178deg,rgba(11,17,32,.92),rgba(11,17,32,.78)),url('/assets/images/backpic/back-1.png') center/cover no-repeat #0B1120;
  color:#fff;padding:46px 0 54px;overflow:hidden;
}
.page-band::after{content:"";position:absolute;inset:auto -10% -60% 20%;width:480px;height:250px;background:radial-gradient(circle,rgba(255,90,34,.15),transparent 65%);pointer-events:none}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;color:rgba(231,237,245,.68);position:relative;z-index:2}
.breadcrumb a{display:inline-flex;align-items:center;gap:6px}
.breadcrumb a:hover{color:var(--c-primary)}
.breadcrumb .sep{opacity:.4}
.breadcrumb .current{color:#fff;font-weight:600;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* article layout */
.article-page{padding:56px 0 88px}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:36px;align-items:start}
.article-main{min-width:0}
.article-card{background:var(--c-white);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden}
.article-card__inner{padding:0 54px 56px}
.article-title{
  font-size:clamp(28px,3.6vw,40px);line-height:1.32;font-weight:800;color:var(--c-text);margin:28px 0 20px;letter-spacing:0;
}
.article-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;background:#F7F8FC;border:1px solid var(--c-border);
  border-radius:12px;padding:12px 18px;margin-bottom:34px;color:var(--c-text-2);font-size:14px;
}
.article-meta span{display:inline-flex;align-items:center;gap:7px;min-height:24px}
.article-meta svg{width:15px;height:15px;color:var(--c-accent);flex:0 0 auto}
.article-meta .tag-badge{
  display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;
  background:rgba(15,163,163,.1);color:#0B8D8D;font-size:13px;font-weight:600;
}
.article-content{color:var(--c-text);font-size:17px;line-height:1.8;letter-spacing:.005em}
.article-content h2{
  font-size:26px;line-height:1.45;color:var(--c-text);font-weight:750;margin:42px 0 16px;padding-left:14px;
  border-left:4px solid var(--c-primary);letter-spacing:0;
}
.article-content h3{font-size:22px;font-weight:700;margin:32px 0 14px;color:var(--c-text)}
.article-content p{margin-bottom:26px;line-height:1.8}
.article-content a{color:var(--c-primary);font-weight:600;border-bottom:1px solid rgba(255,90,34,.25)}
.article-content a:hover{border-color:var(--c-primary)}
.article-content ul{list-style:disc;margin:0 0 26px;padding-left:24px}
.article-content ul li{margin-bottom:8px}
.article-content ol{list-style:decimal;margin:0 0 26px;padding-left:24px}
.article-content ol li{margin-bottom:8px}
.article-content img{border-radius:14px;margin:18px 0 12px;width:100%;height:auto;object-fit:cover}
.article-content blockquote{border-left:4px solid var(--c-primary);background:#FAF7F4;padding:18px 22px;border-radius:0 12px 12px 0;margin:28px 0;color:var(--c-text-2);font-size:16px}
.article-content table{width:100%;border-collapse:collapse;margin:22px 0;display:block;overflow-x:auto}
.article-content table th,.article-content table td{border:1px solid var(--c-border);padding:10px 14px;text-align:left;font-size:15px}
.not-found-panel{
  background:#fff;border:1px dashed var(--c-border);border-radius:16px;padding:80px 20px;text-align:center;box-shadow:var(--shadow-sm);
}
.not-found-panel .nf-icon{width:46px;height:46px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center}
.not-found-panel h1{font-size:24px;font-weight:700;color:var(--c-text);margin-bottom:10px}
.not-found-panel p{color:var(--c-text-2);margin-bottom:22px}
.article-nav{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;margin:30px 0 0;
  padding-top:22px;border-top:1px solid var(--c-border);
}
.article-nav-left a{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--c-text-2)}
.article-nav-left a:hover{color:var(--c-primary)}
.article-nav-left svg{width:16px;height:16px}
/* side */
.article-aside{position:sticky;top:100px;display:flex;flex-direction:column;gap:26px}
.widget-card{background:#fff;border:1px solid var(--c-border);border-radius:16px;box-shadow:var(--shadow-sm);padding:22px;overflow:hidden}
.widget-card .widget-title{font-size:17px;font-weight:750;color:var(--c-text);margin-bottom:6px}
.widget-card .widget-sub{font-size:14px;color:var(--c-text-2);line-height:1.7;margin-bottom:14px}
.widget-download .widget-card{background:var(--c-base);border-color:transparent}
.widget-download{background:var(--c-base);border-color:rgba(255,255,255,.08);color:#fff;position:relative}
.widget-download::after{content:"";position:absolute;right:-30px;bottom:-50px;width:180px;height:180px;background:radial-gradient(circle,rgba(255,90,34,.2),transparent 70%)}
.widget-download .widget-title{color:#fff;font-size:20px}
.widget-download .widget-sub{color:rgba(231,237,245,.66)}
.widget-download img{margin:0 0 14px;border-radius:10px;max-height:150px;width:100%;object-fit:cover}
.widget-links{display:flex;flex-direction:column;margin-top:4px}
.widget-links a{
  display:flex;align-items:center;justify-content:space-between;padding:10px 2px;
  font-size:15px;font-weight:600;color:var(--c-text);border-bottom:1px solid var(--c-border);
}
.widget-links a:last-child{border-bottom:0}
.widget-links a:hover{color:var(--c-primary);padding-left:6px}
.widget-links a svg{width:14px;height:14px;color:var(--c-text-3)}
.widget-catalog-list li a{display:block;padding:9px 12px;font-size:14px;line-height:1.55;border-radius:8px;color:var(--c-text-2);border-left:2px solid transparent}
.widget-catalog-list li a:hover,.widget-catalog-list li a.is-active{color:var(--c-primary);background:#FFF6F0;border-left-color:var(--c-primary)}
.widget-empty{font-size:14px;color:var(--c-text-3);padding:6px 0}
/* related wrapper */
.related-section{background:#fff;border-top:1px solid var(--c-border)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.related-card{border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;background:#fff;transition:var(--transition);display:flex;flex-direction:column}
.related-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}
.related-card figure{overflow:hidden;background:#EAF0F4;aspect-ratio:16/10}
.related-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.related-card:hover figure img{transform:scale(1.04)}
.related-card-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.related-card-body h3{font-size:20px;font-weight:750;line-height:1.35;margin-bottom:8px}
.related-card-body p{color:var(--c-text-2);font-size:15px;line-height:1.7;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.related-card-meta{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--c-text-3);margin-top:auto}
.related-card-meta .tag-badge{display:inline-flex;align-items:center;height:22px;padding:0 9px;background:rgba(15,163,163,.1);color:#0B8D8D;font-size:12px;border-radius:999px}
/* cta */
.page-cta{position:relative;overflow:hidden;background:linear-gradient(115deg,rgba(11,17,32,.95),rgba(20,29,46,.92)),url('/assets/images/backpic/back-3.webp') center/cover no-repeat var(--c-base);color:#fff;padding:90px 0;text-align:center}
.page-cta::after{content:"";position:absolute;left:8%;top:-80%;width:300px;height:300px;background:radial-gradient(circle,rgba(15,163,163,.12),transparent 70%)}
.page-cta h2{font-size:clamp(26px,3.6vw,38px);font-weight:800;position:relative;z-index:2}
.page-cta p{max-width:660px;margin:16px auto 0;color:rgba(231,237,245,.75);font-size:17px;position:relative;z-index:2}
.cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:32px;position:relative;z-index:2}
/* footer */
.site-footer{background:var(--c-base);color:#C6D0DD;font-size:15px}
.site-footer__top{padding:68px 0 44px}
.footer-brand a{display:inline-block;font-size:20px;font-weight:800;color:#fff;margin-bottom:12px;line-height:1.3}
.footer-brand p{color:rgba(231,237,245,.55);line-height:1.8;font-size:15px;max-width:320px}
.footer-col-title{color:#fff;font-weight:750;font-size:16px;margin-bottom:16px}
.footer-links li+li{margin-top:8px}
.footer-links a{display:inline-block;padding:3px 0;color:rgba(231,237,245,.7)}
.footer-links a:hover{color:var(--c-primary);padding-left:4px}
.footer-form{display:flex;gap:10px;margin-top:16px}
.footer-form input{
  height:46px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);
  color:#fff;padding:0 14px;min-width:0;flex:1;transition:var(--transition);
}
.footer-form input::placeholder{color:rgba(255,255,255,.36)}
.footer-form input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(255,90,34,.18)}
.footer-form .btn{min-height:46px;border-radius:10px;padding:0 18px;font-size:15px}
.footer-form-success{display:none;color:var(--c-accent);font-size:14px;margin-top:10px}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.07);padding:20px 0}
.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:rgba(231,237,245,.5)}
.footer-tech{color:rgba(231,237,245,.32);font-size:13px}
.back-to-top{display:inline-flex;align-items:center;gap:7px;color:rgba(231,237,245,.75);font-size:14px;font-weight:600}
.back-to-top:hover{color:var(--c-primary)}
.back-to-top svg{width:15px;height:15px}
/* float cta */
.float-cta{
  position:fixed;right:24px;bottom:24px;z-index:960;
  display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 20px;
  background:var(--c-primary);color:#fff;border-radius:999px;font-size:16px;font-weight:700;
  box-shadow:0 16px 40px rgba(225,75,22,.35);transition:var(--transition);
}
.float-cta:hover{background:var(--c-primary-h);color:#fff;transform:translateY(-2px);box-shadow:0 18px 44px rgba(225,75,22,.42)}
.float-cta svg{width:20px;height:20px}
.float-cta.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}
/* override foundation */
.grid-container{max-width:1200px}
.grid-container .grid-container{max-width:100%;padding:0}
@media screen and (max-width:1024px){
  .section{padding:72px 0}
  .article-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
  .article-title{font-size:34px}
  .related-grid{grid-template-columns:repeat(2,1fr)}
}
@media screen and (max-width:900px){
  .header-logo strong{font-size:20px}
  .header-nav .nav-link{padding:0 12px;font-size:14px}
  .header-logo{font-size:20px}
}
@media screen and (max-width:768px){
  body{font-size:15px}
  .section{padding:60px 0}
  .section-tight{padding:52px 0}
  .header-inner{grid-template-columns:auto 1fr auto;min-height:70px}
  .header-logo{grid-column:2;grid-row:1;justify-content:center}
  .header-nav--left,.header-nav--right,.btn-header{display:none}
  .header-right{grid-column:3;grid-row:1;justify-content:flex-end}
  .menu-toggle{display:flex}
  .mobile-menu{display:block}
  .mobile-menu:not(.is-open){display:none}
  .article-page{padding:36px 0 64px}
  .article-layout{grid-template-columns:1fr;gap:32px}
  .article-aside{position:static;display:grid;grid-template-columns:1fr;gap:20px}
  .page-cta{padding:64px 0}
  .footer-form{flex-direction:column}
  .footer-form .btn{width:100%}
  .footer-form input{width:100%}
}
@media screen and (max-width:640px){
  .header-logo strong{font-size:13px;letter-spacing:0}
  .header-logo span{font-size:9px}
  .page-band{padding:32px 0 38px}
  .article-card__inner{padding:0 20px 40px}
  .article-title{font-size:27px;margin-top:22px}
  .article-meta{gap:6px 12px;padding:12px 12px;font-size:13px}
  .article-meta span{white-space:nowrap}
  .article-content h2{font-size:22px}
  .article-content h3{font-size:19px}
  .article-content p{font-size:16px;line-height:1.8}
  .related-grid{grid-template-columns:1fr;gap:18px}
  .cta-actions{gap:10px}
  .cta-actions .btn{width:100%}
  .float-cta{bottom:18px;right:18px;min-height:50px;padding:0 16px;font-size:15px}
  .back-to-top svg{display:none}
  .footer-meta{justify-content:center;text-align:center}
}
@media screen and (max-width:400px){
  .header-logo{max-width:180px;white-space:normal}
  .header-logo strong{white-space:normal;font-size:15px}
}

/* roulang page: category1 */
:root {
      --primary: #FF5A22;
      --primary-dark: #E14B16;
      --cyan: #0FA3A3;
      --dark: #0B1120;
      --panel: #141D2E;
      --bg: #F5F6FA;
      --surface: #FFFFFF;
      --text: #1D2433;
      --muted: #5C6B7A;
      --soft: #8A93A0;
      --line: #E4E8EF;
      --dark-line: rgba(255, 255, 255, 0.08);
      --warning-bg: #FFF6DE;
      --radius-lg: 16px;
      --radius-md: 13px;
      --radius-sm: 10px;
      --shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
      --shadow-lg: 0 14px 28px rgba(15, 23, 42, 0.12);
      --font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: var(--font);
      background: var(--bg);
      color: var(--text);
      font-size: 16px;
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }

    a {
      color: inherit;
      text-decoration: none;
      transition: color 0.22s ease, border-color 0.22s ease, background 0.22s ease;
    }

    img {
      max-width: 100%;
      display: block;
    }

    ul,
    ol {
      padding: 0;
      margin: 0;
      list-style: none;
    }

    button,
    input {
      font-family: inherit;
      font-size: inherit;
    }

    .container,
    .grid-container {
      max-width: 1200px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 24px;
      padding-right: 24px;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 48px;
      padding: 0 28px;
      border-radius: var(--radius-sm);
      border: 1.5px solid transparent;
      font-size: 16px;
      font-weight: 700;
      line-height: 1;
      cursor: pointer;
      transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }

    .btn svg {
      width: 18px;
      height: 18px;
      flex: 0 0 auto;
    }

    .btn-primary {
      background: var(--primary);
      color: #FFFFFF;
      box-shadow: 0 6px 18px rgba(255, 90, 34, 0.24);
    }

    .btn-primary:hover,
    .btn-primary:focus-visible {
      background: var(--primary-dark);
      transform: translateY(-1px);
      color: #fff;
      box-shadow: 0 10px 22px rgba(225, 75, 22, 0.28);
    }

    .btn-primary:active {
      transform: translateY(1px);
    }

    .btn-circle {
      border-radius: 999px;
    }

    .btn-outline-light {
      border-color: rgba(255, 255, 255, 0.45);
      color: #E7EDF5;
      background: transparent;
    }

    .btn-outline-light:hover,
    .btn-outline-light:focus-visible {
      border-color: var(--primary);
      color: var(--primary);
      background: transparent;
      transform: translateY(-1px);
    }

    .btn-ghost-dark {
      border-color: #C9D1DE;
      color: var(--text);
      background: #fff;
    }

    .btn-ghost-dark:hover,
    .btn-ghost-dark:focus-visible {
      border-color: var(--primary);
      color: var(--primary);
      transform: translateY(-1px);
    }

    .btn:focus-visible,
    .nav-link:focus-visible,
    .accordion-title:focus-visible,
    input:focus-visible {
      outline: 2px solid rgba(255, 90, 34, 0.55);
      outline-offset: 2px;
    }

    .badge {
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 4px 13px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
    }

    .badge--primary {
      color: var(--primary);
      background: rgba(255, 90, 34, 0.1);
    }

    .badge--cyan {
      color: var(--cyan);
      background: rgba(15, 163, 163, 0.1);
    }

    .badge--dark {
      color: #BFC8D5;
      background: rgba(255, 255, 255, 0.1);
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--primary);
      font-size: 14px;
      font-weight: 800;
      letter-spacing: 0.03em;
      line-height: 1.4;
      margin-bottom: 14px;
    }

    .eyebrow::before {
      content: "";
      width: 22px;
      height: 2px;
      background: currentColor;
      border-radius: 999px;
      flex: 0 0 auto;
    }

    .section-title {
      font-size: clamp(28px, 3.4vw, 34px);
      font-weight: 800;
      line-height: 1.3;
      letter-spacing: 0;
      margin: 0 0 14px;
    }

    .section-desc {
      color: var(--muted);
      font-size: 16px;
      max-width: 640px;
      line-height: 1.8;
      margin: 0 0 40px;
    }

    section {
      padding: 88px 0;
    }

    .site-header {
      background: var(--dark);
      position: sticky;
      top: 0;
      z-index: 80;
      border-bottom: 1px solid var(--dark-line);
    }

    .header-inner {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      min-height: 76px;
      position: relative;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 24px;
    }

    .brand {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      line-height: 1.2;
      padding: 10px 0;
    }

    .brand__main {
      color: #F1F5F9;
      font-size: 21px;
      font-weight: 800;
      letter-spacing: 0;
      white-space: nowrap;
    }

    .brand__sub {
      margin-top: 3px;
      color: rgba(255, 255, 255, 0.46);
      font-size: 11px;
      letter-spacing: 0.04em;
    }

    .brand__tag {
      display: inline-block;
      margin-top: 5px;
      padding: 2px 8px;
      border-radius: 999px;
      background: rgba(15, 163, 163, 0.14);
      color: #7FE0E2;
      font-size: 10px;
      font-weight: 700;
      text-align: center;
      line-height: 1.4;
    }

    .header-nav {
      display: flex;
      align-items: center;
      gap: 7px;
      min-width: 0;
    }

    .header-nav--left {
      justify-content: flex-start;
    }

    .header-nav--right {
      justify-content: flex-end;
    }

    .nav-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 10px 14px;
      border-radius: 8px;
      color: #C8D1DE;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.2;
      position: relative;
    }

    .nav-link:hover {
      color: var(--primary);
      background: rgba(255, 255, 255, 0.04);
    }

    .nav-link.is-active {
      color: var(--primary);
    }

    .nav-link.is-active::after {
      content: "";
      position: absolute;
      left: 14px;
      right: 14px;
      bottom: 4px;
      height: 2px;
      border-radius: 99px;
      background: var(--primary);
    }

    .nav-button {
      min-height: 42px;
      padding: 0 20px;
      margin-left: 8px;
      border-radius: 999px;
    }

    .nav-button svg {
      width: 16px;
      height: 16px;
    }

    .nav-toggle {
      display: none;
      width: 44px;
      height: 44px;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 5px;
      background: transparent;
      border: 1px solid rgba(255, 255, 255, 0.16);
      border-radius: 10px;
      cursor: pointer;
      padding: 0;
    }

    .nav-toggle span {
      width: 18px;
      height: 2px;
      border-radius: 99px;
      background: #E7EDF5;
    }

    .mobile-nav {
      display: none;
      background: #0B1120;
      overflow: hidden;
      max-height: 0;
      transition: max-height 0.3s ease;
      border-top: 1px solid var(--dark-line);
    }

    .mobile-nav.is-open {
      max-height: 560px;
      display: block;
    }

    .mobile-nav__links {
      padding: 18px 24px 26px;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .mobile-nav__links .nav-link {
      justify-content: flex-start;
      padding: 13px 8px;
      border-radius: 8px;
    }

    .mobile-nav__links .nav-link.is-active {
      color: var(--primary);
    }

    .category-banner {
      background-color: #0B1120;
      background-image: url('/assets/images/backpic/back-1.png');
      background-size: cover;
      background-position: center;
      padding: 74px 0 70px;
      position: relative;
      overflow: hidden;
      color: #F1F5F9;
      border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    }

    .category-banner::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(11, 17, 32, 0.98) 20%, rgba(11, 17, 32, 0.82) 64%, rgba(11, 17, 32, 0.72));
      pointer-events: none;
    }

    .category-banner .container,
    .category-banner .grid-container,
    .category-banner .grid-x {
      position: relative;
      z-index: 2;
    }

    .breadcrumb {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
      color: rgba(255, 255, 255, 0.55);
      font-size: 13px;
      margin-bottom: 18px;
    }

    .breadcrumb a {
      color: rgba(255, 255, 255, 0.72);
    }

    .breadcrumb a:hover {
      color: var(--primary);
    }

    .breadcrumb i {
      font-style: normal;
      opacity: 0.45;
    }

    .banner-h1 {
      margin: 16px 0 16px;
      font-size: clamp(38px, 5vw, 52px);
      font-weight: 800;
      line-height: 1.2;
      letter-spacing: 0;
      color: #FFFFFF;
    }

    .banner-lead {
      font-size: 17px;
      line-height: 1.85;
      color: rgba(231, 237, 245, 0.9);
      max-width: 620px;
      margin-bottom: 28px;
    }

    .banner-meta-list {
      display: flex;
      flex-wrap: wrap;
      gap: 12px 22px;
      color: rgba(231, 237, 245, 0.85);
      font-size: 14px;
    }

    .banner-meta-list li {
      display: flex;
      align-items: center;
      gap: 7px;
    }

    .banner-meta-list svg {
      width: 15px;
      height: 15px;
      color: var(--cyan);
      flex: 0 0 auto;
    }

    .banner-meta-card {
      background: rgba(20, 29, 46, 0.9);
      border: 1px solid var(--dark-line);
      border-radius: var(--radius-lg);
      padding: 28px;
      box-shadow: 0 22px 50px rgba(0, 0, 0, 0.18);
      color: #E7EDF5;
    }

    .banner-meta-card__label {
      font-size: 13px;
      color: var(--cyan);
      font-weight: 700;
      letter-spacing: 0.04em;
      margin-bottom: 8px;
    }

    .banner-meta-card h2 {
      font-size: 24px;
      font-weight: 700;
      margin: 0 0 12px;
      color: #fff;
    }

    .banner-meta-card p {
      margin: 0;
      font-size: 14px;
      line-height: 1.75;
      color: #AFC0CE;
    }

    .banner-meta-card ul {
      margin-top: 18px;
      display: grid;
      gap: 10px;
    }

    .banner-meta-card li {
      display: flex;
      gap: 8px;
      align-items: flex-start;
      font-size: 13px;
      color: #AFC0CE;
      line-height: 1.6;
    }

    .banner-meta-card li svg {
      width: 15px;
      height: 15px;
      margin-top: 4px;
      color: var(--cyan);
      flex: 0 0 auto;
    }

    .version-focus {
      background: #FFFFFF;
      padding: 0;
      position: relative;
    }

    .version-focus__inner {
      background-image: linear-gradient(135deg, rgba(20, 29, 46, 0.04), rgba(0, 0, 0, 0.01));
      border: 1px solid var(--line);
      border-radius: 20px;
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .version-focus__inner .grid-x {
      align-items: stretch;
    }

    .version-focus__content {
      padding: clamp(30px, 4vw, 58px);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .version-focus__meta {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 14px;
    }

    .version-focus h2 {
      font-size: clamp(26px, 3.2vw, 34px);
      font-weight: 800;
      line-height: 1.3;
      margin: 0 0 16px;
    }

    .version-focus p {
      color: var(--muted);
      line-height: 1.85;
      margin-bottom: 18px;
    }

    .version-focus__checklist {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin: 14px 0 28px;
    }

    .version-focus__checklist li {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      color: var(--text);
      font-weight: 500;
    }

    .version-focus__checklist svg {
      width: 17px;
      height: 17px;
      color: var(--cyan);
      flex: 0 0 auto;
    }

    .version-focus__actions {
      display: flex;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
    }

    .version-focus__media {
      position: relative;
      min-height: 320px;
      background: var(--panel);
    }

    .version-focus__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      inset: 0;
    }

    .media-card-float {
      position: absolute;
      left: 18px;
      bottom: 18px;
      right: 18px;
      z-index: 3;
      background: rgba(11, 17, 32, 0.82);
      border: 1px solid rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(6px);
      border-radius: 14px;
      padding: 14px 16px;
      color: #E7EDF5;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }

    .media-card-float__tag {
      color: var(--cyan);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.04em;
    }

    .media-card-float strong {
      display: block;
      margin-top: 3px;
      font-size: 15px;
      color: #fff;
    }

    .media-card-float .btn {
      min-height: 40px;
      padding: 0 16px;
      font-size: 14px;
    }

    .science-band {
      background: var(--bg);
      padding-top: 0;
    }

    .data-cards {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 20px;
    }

    .data-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 24px;
      box-shadow: var(--shadow);
      transition: transform 0.22s ease, box-shadow 0.22s ease;
    }

    .data-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-lg);
    }

    .data-card__icon {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(255, 90, 34, 0.1);
      color: var(--primary);
      margin-bottom: 18px;
    }

    .data-card__icon svg {
      width: 22px;
      height: 22px;
    }

    .data-card h3 {
      font-size: 17px;
      font-weight: 700;
      margin: 0 0 8px;
      line-height: 1.5;
    }

    .data-card p {
      font-size: 14px;
      color: var(--muted);
      line-height: 1.7;
      margin: 0;
    }

    .timeline-section {
      background: var(--bg);
      padding-top: 0;
    }

    .timeline-header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
      flex-wrap: wrap;
      margin-bottom: 28px;
    }

    .timeline-header .section-title {
      margin-bottom: 6px;
    }

    .timeline-header .section-desc {
      margin-bottom: 0;
    }

    .timeline {
      position: relative;
      padding-left: 20px;
    }

    .timeline::before {
      content: "";
      position: absolute;
      left: 0;
      top: 16px;
      bottom: 16px;
      width: 2px;
      border-radius: 999px;
      background: linear-gradient(to bottom, var(--primary), rgba(15, 163, 163, 0.55), transparent);
    }

    .timeline-item {
      position: relative;
      padding-left: 46px;
      margin-bottom: 32px;
    }

    .timeline-item:last-child {
      margin-bottom: 0;
    }

    .timeline-item::before {
      content: "";
      position: absolute;
      left: -7px;
      top: 32px;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: #fff;
      border: 4px solid var(--primary);
      box-shadow: 0 0 0 4px rgba(255, 90, 34, 0.12);
    }

    .timeline-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 16px;
      box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
      overflow: hidden;
      display: grid;
      grid-template-columns: 36% minmax(0, 1fr);
      transition: transform 0.22s ease, box-shadow 0.22s ease;
    }

    .timeline-card:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow-lg);
    }

    .timeline-card__media {
      position: relative;
      min-height: 220px;
      overflow: hidden;
    }

    .timeline-card__media::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 45%, rgba(11, 17, 32, 0.48));
    }

    .timeline-card__media img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.6s ease;
    }

    .timeline-card:hover .timeline-card__media img {
      transform: scale(1.04);
    }

    .timeline-card__content {
      padding: 26px 28px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .timeline-card__meta {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 10px;
    }

    .timeline-card__label {
      font-size: 13px;
      color: var(--soft);
    }

    .timeline-card h3 {
      font-size: 22px;
      font-weight: 700;
      margin: 0 0 12px;
      line-height: 1.4;
    }

    .timeline-card p {
      color: var(--muted);
      font-size: 15px;
      line-height: 1.8;
      margin: 0 0 14px;
    }

    .timeline-card__tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 18px;
    }

    .timeline-card__tags span {
      padding: 3px 10px;
      border-radius: 999px;
      background: #F1F4F8;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
    }

    .timeline-card__actions {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      margin-top: auto;
    }

    .link-arrow {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: var(--primary);
      font-weight: 700;
      font-size: 14px;
    }

    .link-arrow svg {
      width: 16px;
      height: 16px;
      transition: transform 0.2s ease;
    }

    .link-arrow:hover svg {
      transform: translateX(4px);
    }

    .download-band {
      background: #0B1120;
      position: relative;
      overflow: hidden;
      color: #E7EDF5;
    }

    .download-band::before {
      content: "";
      position: absolute;
      width: 560px;
      height: 560px;
      right: -180px;
      top: -220px;
      background: radial-gradient(circle, rgba(255, 90, 34, 0.18), transparent 65%);
      pointer-events: none;
    }

    .download-band .container {
      position: relative;
      z-index: 2;
    }

    .download-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
      gap: 54px;
      align-items: center;
    }

    .download-band h2 {
      margin-top: 16px;
      font-size: clamp(27px, 3.2vw, 38px);
      font-weight: 800;
      line-height: 1.3;
      color: #fff;
    }

    .download-band p {
      color: #AFC0CE;
      line-height: 1.85;
      margin-bottom: 24px;
    }

    .download-tips {
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 16px;
      padding: 24px;
    }

    .download-tips h3 {
      color: #fff;
      font-size: 18px;
      font-weight: 700;
      margin: 0 0 14px;
    }

    .download-tips li {
      display: flex;
      gap: 9px;
      align-items: flex-start;
      color: #B7C4D2;
      font-size: 14px;
      margin-bottom: 9px;
    }

    .download-tips li svg {
      width: 15px;
      height: 15px;
      margin-top: 6px;
      color: var(--cyan);
      flex: 0 0 auto;
    }

    .faq-section {
      background: #fff;
    }

    .faq-layout {
      display: grid;
      grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
      gap: 48px;
      align-items: start;
    }

    .faq-aside {
      position: sticky;
      top: 110px;
    }

    .faq-aside .section-title {
      margin-bottom: 12px;
    }

    .faq-aside p {
      color: var(--muted);
      line-height: 1.8;
      margin-bottom: 22px;
    }

    .faq-aside__actions {
      display: flex;
      flex-direction: column;
      gap: 12px;
      align-items: flex-start;
    }

    .faq-accordion {
      background: #fff;
    }

    .faq-accordion .accordion-item {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 13px;
      margin-bottom: 13px;
      overflow: hidden;
      box-shadow: 0 1px 6px rgba(15, 23, 42, 0.03);
      transition: box-shadow 0.2s ease;
    }

    .faq-accordion .accordion-item:hover {
      box-shadow: 0 8px 16px rgba(15, 23, 42, 0.06);
    }

    .faq-accordion .accordion-title {
      font-family: var(--font);
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      min-height: 58px;
      padding: 16px 22px;
      color: var(--text);
      font-size: 16px;
      font-weight: 650;
      line-height: 1.6;
      background: #fff;
      border-bottom: 1px solid transparent;
    }

    .faq-accordion .accordion-title::after {
      content: "+";
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: var(--bg);
      color: var(--primary);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      font-weight: 400;
      line-height: 1;
      flex: 0 0 auto;
      margin-left: 12px;
      transition: transform 0.26s ease, color 0.2s ease;
    }

    .faq-accordion .accordion-item.is-active > .accordion-title {
      color: var(--primary);
    }

    .faq-accordion .accordion-item.is-active > .accordion-title::after {
      transform: rotate(45deg);
      color: #fff;
      background: var(--primary);
    }

    .faq-accordion .accordion-content {
      background: #fff;
      border-top: 1px solid var(--line);
      padding: 18px 22px 22px;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.85;
    }

    .faq-accordion .accordion-content p {
      margin: 0;
    }

    .cta-final {
      background: linear-gradient(135deg, #141D2E, #0B1120);
      padding: 60px 0;
    }

    .cta-final__card {
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 20px;
      padding: clamp(32px, 5vw, 60px);
      text-align: center;
      color: #E7EDF5;
      position: relative;
      overflow: hidden;
    }

    .cta-final__card::before {
      content: "";
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: -130px;
      width: 300px;
      height: 240px;
      background: radial-gradient(ellipse, rgba(15, 163, 163, 0.18), transparent 68%);
    }

    .cta-final__card h2 {
      color: #fff;
      font-size: clamp(27px, 3vw, 38px);
      margin: 0 0 12px;
      line-height: 1.3;
    }

    .cta-final__card p {
      color: #AFC0CE;
      max-width: 560px;
      margin: 0 auto 28px;
      line-height: 1.8;
    }

    .cta-final__actions {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
      position: relative;
      z-index: 2;
    }

    .site-footer {
      background: #0B1120;
      color: rgba(231, 237, 245, 0.82);
    }

    .site-footer__top {
      padding: 54px 0 34px;
    }

    .footer-brand a {
      display: inline-block;
      color: #fff;
      font-size: 21px;
      font-weight: 800;
      margin-bottom: 12px;
    }

    .footer-brand p {
      font-size: 14px;
      color: #8D9BAA;
      line-height: 1.7;
      max-width: 360px;
      margin: 0;
    }

    .footer-col-title {
      font-size: 15px;
      color: #E7EDF5;
      font-weight: 700;
      margin-bottom: 15px;
    }

    .footer-links li {
      margin-bottom: 10px;
    }

    .footer-links a {
      color: #8D9BAA;
      font-size: 14px;
    }

    .footer-links a:hover {
      color: var(--primary);
    }

    .footer-form {
      display: flex;
      gap: 10px;
      margin-top: 14px;
      flex-wrap: wrap;
    }

    .footer-form input {
      height: 44px;
      flex: 1;
      min-width: 0;
      padding: 0 14px;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.16);
      background: rgba(255, 255, 255, 0.07);
      color: #fff;
      font-size: 14px;
    }

    .footer-form input::placeholder {
      color: rgba(255, 255, 255, 0.38);
    }

    .footer-form input:focus {
      border-color: var(--primary);
      outline: 2px solid rgba(255, 90, 34, 0.24);
    }

    .footer-form .btn {
      min-height: 44px;
      padding: 0 18px;
      font-size: 14px;
    }

    .footer-form-success {
      color: var(--cyan);
      font-size: 13px;
      display: none;
      margin-top: 10px;
    }

    .footer-form-success.is-visible {
      display: block;
    }

    .site-footer__bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      padding: 18px 0;
    }

    .footer-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
      color: rgba(255, 255, 255, 0.45);
      font-size: 13px;
    }

    .footer-meta p {
      margin: 0;
    }

    .footer-tech {
      color: rgba(255, 255, 255, 0.28);
      font-size: 12px;
    }

    .back-to-top {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: rgba(255, 255, 255, 0.72);
      font-size: 13px;
      font-weight: 600;
      padding: 4px 8px;
      border-radius: 6px;
    }

    .back-to-top:hover {
      color: var(--primary);
    }

    .back-to-top svg {
      width: 16px;
      height: 16px;
    }

    .float-cta {
      position: fixed;
      right: 24px;
      bottom: 24px;
      z-index: 72;
      border-radius: 999px;
      background: var(--primary);
      color: #fff;
      box-shadow: 0 12px 28px rgba(255, 90, 34, 0.35);
      width: auto;
      min-height: 52px;
      padding: 0 22px;
      font-size: 15px;
      font-weight: 700;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      transition: transform 0.2s ease, background 0.2s ease, opacity 0.2s ease;
    }

    .float-cta svg {
      width: 17px;
      height: 17px;
    }

    .float-cta:hover {
      background: var(--primary-dark);
      transform: translateY(-2px);
    }

    .float-cta.is-faded {
      opacity: 0.15;
      transform: translateY(90px);
      pointer-events: none;
    }

    @media (max-width: 1023px) {
      .header-inner {
        grid-template-columns: 1fr 1fr;
        min-height: 66px;
        padding: 0 16px;
      }

      .header-nav {
        display: none;
      }

      .brand {
        grid-column: 1 / 2;
        justify-content: flex-start;
        align-items: flex-start;
        min-width: 0;
      }

      .brand__main {
        font-size: 18px;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 62vw;
      }

      .brand__sub {
        display: none;
      }

      .brand__tag {
        display: none;
      }

      .nav-toggle {
        display: inline-flex;
        grid-column: 2 / 3;
        justify-self: end;
        align-self: center;
      }

      .mobile-nav {
        display: block;
      }

      .mobile-nav.is-open {
        max-height: 560px;
      }

      .data-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .download-grid {
        grid-template-columns: 1fr;
        gap: 30px;
      }

      .faq-layout {
        grid-template-columns: 1fr;
        gap: 30px;
      }

      .faq-aside {
        position: static;
      }

      .timeline-card {
        grid-template-columns: 30% minmax(0, 1fr);
      }

      .timeline-card__content {
        padding: 22px;
      }
    }

    @media (max-width: 639px) {
      section {
        padding: 56px 0;
      }

      .container,
      .grid-container {
        padding-left: 18px;
        padding-right: 18px;
      }

      .header-inner {
        grid-template-columns: 1fr auto;
        padding: 0 14px;
      }

      .brand {
        padding: 10px 4px;
      }

      .brand__main {
        font-size: 16px;
        white-space: nowrap;
      }

      .mobile-nav__links {
        padding: 14px 14px 22px;
      }

      .mobile-nav__links .nav-link {
        padding: 11px 6px;
      }

      .btn {
        min-height: 44px;
        padding: 0 20px;
        font-size: 15px;
      }

      .category-banner {
        padding: 54px 0 50px;
      }

      .banner-h1 {
        font-size: 36px;
      }

      .version-focus__inner .grid-x {
        display: block;
      }

      .version-focus__content,
      .version-focus__media {
        width: 100%;
      }

      .version-focus__content {
        padding: 24px 20px;
      }

      .version-focus__media {
        min-height: 220px;
        position: relative;
        padding-bottom: 36%;
      }

      .version-focus__media img {
        position: relative;
        inset: auto;
        height: 220px;
      }

      .media-card-float {
        left: 12px;
        right: 12px;
        bottom: 12px;
      }

      .version-focus__checklist {
        grid-template-columns: 1fr;
      }

      .data-cards {
        grid-template-columns: 1fr;
        gap: 14px;
      }

      .timeline {
        padding-left: 12px;
      }

      .timeline-item {
        padding-left: 30px;
      }

      .timeline-item::before {
        left: -7px;
      }

      .timeline-card {
        grid-template-columns: 1fr;
      }

      .timeline-card__media {
        min-height: 0;
        height: 190px;
        padding: 0;
      }

      .timeline-card__media img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
      }

      .timeline-card__content {
        padding: 20px;
      }

      .download-band {
        padding: 40px 0;
      }

      .download-tips {
        padding: 20px;
      }

      .faq-accordion .accordion-title {
        padding: 14px 16px;
        font-size: 15px;
      }

      .faq-accordion .accordion-content {
        padding: 15px 16px 18px;
      }

      .footer-form {
        flex-direction: column;
      }

      .footer-form input {
        width: 100%;
      }

      .footer-meta {
        justify-content: center;
        text-align: center;
      }

      .float-cta {
        right: 16px;
        bottom: 16px;
        width: 52px;
        height: 52px;
        min-height: 52px;
        padding: 0;
        justify-content: center;
      }

      .float-cta span {
        display: none;
      }
    }

/* roulang page: category2 */
:root {
      --c-primary: #FF5A22;
      --c-primary-dark: #E14B16;
      --c-accent: #0FA3A3;
      --c-bg-dark: #0B1120;
      --c-panel-dark: #141D2E;
      --c-page-bg: #F5F6FA;
      --c-white: #FFFFFF;
      --c-text: #1D2433;
      --c-text-secondary: #5C6B7A;
      --c-text-weak: #8A93A0;
      --c-border: #E4E8EF;
      --radius: 14px;
      --radius-sm: 10px;
      --shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
      --shadow-hover: 0 14px 28px rgba(15, 23, 42, 0.12);
      --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
      --font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: var(--font-sans);
      font-size: 16px;
      line-height: 1.75;
      color: var(--c-text);
      background: var(--c-page-bg);
      -webkit-font-smoothing: antialiased;
    }

    body.mobile-menu-open {
      overflow: hidden;
    }

    img {
      display: block;
      max-width: 100%;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    ul,
    ol,
    p,
    h1,
    h2,
    h3,
    h4 {
      margin-top: 0;
    }

    button,
    input {
      font: inherit;
    }

    :where(a, button, input, textarea):focus-visible {
      outline: 2px solid rgba(255, 90, 34, 0.7);
      outline-offset: 2px;
      border-radius: 6px;
    }

    .grid-container {
      max-width: 1200px;
      padding-left: 24px;
      padding-right: 24px;
      margin-left: auto;
      margin-right: auto;
    }

    .section {
      padding: 96px 0;
    }

    .section-soft {
      background: var(--c-page-bg);
    }

    .section-white {
      background: var(--c-white);
    }

    .section-dark {
      background: var(--c-bg-dark);
      color: #E7EDF5;
    }

    .section[id],
    section[id] {
      scroll-margin-top: 92px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--c-primary);
      text-transform: uppercase;
      margin-bottom: 12px;
    }

    .eyebrow::before {
      content: "";
      width: 18px;
      height: 2px;
      background: var(--c-primary);
      border-radius: 2px;
      display: inline-block;
    }

    .section-heading {
      max-width: 680px;
      margin-bottom: 48px;
    }

    .section-heading h2 {
      font-size: clamp(28px, 3vw, 34px);
      font-weight: 800;
      line-height: 1.3;
      color: var(--c-text);
      margin-bottom: 14px;
      letter-spacing: 0;
    }

    .section-heading p {
      color: var(--c-text-secondary);
      font-size: 16px;
      line-height: 1.75;
      margin-bottom: 0;
    }

    .section-heading-center {
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }

    .section-heading-center .eyebrow {
      justify-content: center;
    }

    .section-heading-center .eyebrow::before {
      display: none;
    }

    .text-center {
      text-align: center;
    }

    .mt-8 {
      margin-top: 8px;
    }

    .badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 28px;
      padding: 0 12px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 600;
      line-height: 1;
      white-space: nowrap;
      border: 1px solid transparent;
    }

    .badge-primary {
      background: rgba(255, 90, 34, 0.12);
      color: var(--c-primary);
      border-color: rgba(255, 90, 34, 0.22);
    }

    .badge-accent {
      background: rgba(15, 163, 163, 0.12);
      color: var(--c-accent);
      border-color: rgba(15, 163, 163, 0.24);
    }

    .badge-outline-light {
      border-color: rgba(255, 255, 255, 0.3);
      color: rgba(255, 255, 255, 0.9);
      background: transparent;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 48px;
      padding: 0 28px;
      border-radius: var(--radius-sm);
      font-size: 15px;
      font-weight: 700;
      line-height: 1;
      border: 1.5px solid transparent;
      cursor: pointer;
      transition: background 0.25s var(--ease), border-color 0.25s var(--ease), color 0.25s var(--ease), transform 0.2s var(--ease), box-shadow 0.25s var(--ease);
      text-align: center;
      white-space: nowrap;
    }

    .btn svg {
      width: 18px;
      height: 18px;
      flex: none;
    }

    .btn-primary {
      background: var(--c-primary);
      border-color: var(--c-primary);
      color: #FFFFFF;
      box-shadow: 0 6px 16px rgba(255, 90, 34, 0.24);
    }

    .btn-primary:hover {
      background: var(--c-primary-dark);
      border-color: var(--c-primary-dark);
      transform: translateY(-2px);
      box-shadow: 0 12px 24px rgba(255, 90, 34, 0.28);
    }

    .btn-primary:active {
      transform: translateY(0);
    }

    .btn-outline-light {
      background: transparent;
      border-color: rgba(255, 255, 255, 0.4);
      color: #FFFFFF;
    }

    .btn-outline-light:hover {
      border-color: var(--c-primary);
      color: var(--c-primary);
      transform: translateY(-2px);
    }

    .btn-outline-dark {
      background: transparent;
      border-color: var(--c-text);
      color: var(--c-text);
    }

    .btn-outline-dark:hover {
      border-color: var(--c-primary);
      color: var(--c-primary);
      transform: translateY(-2px);
    }

    .text-cta {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-weight: 600;
      font-size: 15px;
      color: var(--c-primary);
      transition: color 0.2s var(--ease), gap 0.2s var(--ease);
    }

    .text-cta:hover {
      color: var(--c-primary-dark);
      gap: 10px;
    }

    .text-cta svg {
      width: 16px;
      height: 16px;
    }

    /* ========== Header ========== */
    .site-header {
      background: var(--c-bg-dark);
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      position: sticky;
      top: 0;
      z-index: 90;
    }

    .header-grid {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      min-height: 76px;
      position: relative;
    }

    .header-nav {
      display: flex;
      align-items: center;
      gap: 4px;
    }

    .header-nav--left {
      justify-content: flex-start;
    }

    .header-nav--right {
      justify-content: flex-end;
      gap: 4px;
    }

    .nav-link {
      display: inline-flex;
      align-items: center;
      min-height: 36px;
      padding: 0 16px;
      border-radius: 8px;
      color: #C5D0DC;
      font-size: 15px;
      font-weight: 600;
      position: relative;
      transition: background 0.2s var(--ease), color 0.2s var(--ease);
    }

    .nav-link:hover {
      color: var(--c-primary);
      background: rgba(255, 255, 255, 0.04);
    }

    .nav-link.is-active {
      color: var(--c-primary);
    }

    .nav-link.is-active::after {
      content: "";
      position: absolute;
      left: 14px;
      right: 14px;
      bottom: -2px;
      height: 2px;
      background: var(--c-primary);
      border-radius: 2px;
    }

    .nav-download {
      margin-left: 10px;
      min-height: 42px;
      padding: 0 22px;
      border-radius: 999px;
    }

    .site-logo {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      padding: 8px 18px;
      border-radius: 14px;
      transition: background 0.25s var(--ease);
    }

    .site-logo:hover {
      background: rgba(255, 255, 255, 0.04);
    }

    .site-logo__main {
      font-size: 20px;
      font-weight: 800;
      line-height: 1.2;
      color: #FFFFFF;
      letter-spacing: 0;
      white-space: nowrap;
    }

    .site-logo__meta {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 11px;
      color: rgba(255, 255, 255, 0.48);
      line-height: 1.4;
      margin-top: 4px;
    }

    .site-logo__meta .logo-badge {
      background: rgba(15, 163, 163, 0.18);
      color: #44C7C0;
      padding: 1px 7px;
      border-radius: 999px;
      font-style: normal;
      font-size: 10px;
      font-weight: 700;
    }

    .mobile-menu-toggle {
      display: none;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      border-radius: 10px;
      background: transparent;
      border: 1px solid rgba(255, 255, 255, 0.12);
      cursor: pointer;
      padding: 0;
      flex-direction: column;
      gap: 5px;
      transition: background 0.2s var(--ease), border-color 0.2s var(--ease);
    }

    .mobile-menu-toggle:hover {
      background: rgba(255, 255, 255, 0.06);
      border-color: rgba(255, 255, 255, 0.2);
    }

    .mobile-menu-toggle span {
      width: 18px;
      height: 2px;
      background: #E7EDF5;
      border-radius: 4px;
      display: block;
      transition: transform 0.25s var(--ease), opacity 0.2s var(--ease);
    }

    body.mobile-menu-open .mobile-menu-toggle span:nth-child(1) {
      transform: translateY(7px) rotate(45deg);
    }

    body.mobile-menu-open .mobile-menu-toggle span:nth-child(2) {
      opacity: 0;
    }

    body.mobile-menu-open .mobile-menu-toggle span:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg);
    }

    .mobile-menu {
      display: none;
      z-index: 98;
      background: var(--c-bg-dark);
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      padding: 18px 16px 24px;
      box-shadow: 0 20px 36px rgba(0, 0, 0, 0.3);
    }

    body.mobile-menu-open .mobile-menu {
      display: block;
    }

    .mobile-menu a {
      display: block;
      color: #E7EDF5;
      font-size: 16px;
      font-weight: 600;
      padding: 14px 16px;
      border-radius: 10px;
      transition: background 0.2s var(--ease), color 0.2s var(--ease);
    }

    .mobile-menu a:hover {
      color: var(--c-primary);
      background: rgba(255, 255, 255, 0.04);
    }

    .mobile-menu a.is-active {
      color: var(--c-primary);
    }

    .mobile-menu .btn {
      margin: 10px 16px 4px;
      display: flex;
    }

    /* ========== Category Hero ========== */
    .category-hero {
      position: relative;
      padding: 96px 0 84px;
      color: #FFFFFF;
      background: var(--c-bg-dark);
      overflow: hidden;
    }

    .category-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(120deg, rgba(11, 17, 32, 0.95), rgba(20, 29, 46, 0.88)), url("/assets/images/backpic/back-2.webp") center center / cover no-repeat;
      pointer-events: none;
    }

    .category-hero::after {
      content: "";
      position: absolute;
      right: -180px;
      top: -200px;
      width: 640px;
      height: 640px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255, 90, 34, 0.22), rgba(15, 163, 163, 0.06) 62%, transparent 72%);
      pointer-events: none;
    }

    .category-hero .grid-container {
      position: relative;
      z-index: 2;
    }

    .category-hero h1 {
      font-size: clamp(38px, 5vw, 56px);
      line-height: 1.15;
      font-weight: 800;
      margin: 18px 0 20px;
      letter-spacing: 0;
    }

    .category-hero__lead {
      font-size: 18px;
      line-height: 1.8;
      color: rgba(255, 255, 255, 0.78);
      max-width: 520px;
      margin-bottom: 32px;
    }

    .category-hero__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
    }

    .hero-guide-card {
      background: rgba(20, 29, 46, 0.72);
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 18px;
      padding: 34px 30px;
      box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);
    }

    .hero-guide-card h3 {
      color: #FFFFFF;
      font-size: 19px;
      font-weight: 700;
      margin-bottom: 8px;
    }

    .hero-guide-card p {
      color: rgba(255, 255, 255, 0.56);
      font-size: 14px;
      margin-bottom: 20px;
    }

    .hero-guide-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .hero-guide-tags a {
      display: inline-flex;
      align-items: center;
      min-height: 36px;
      padding: 0 14px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.12);
      color: rgba(255, 255, 255, 0.9);
      font-size: 14px;
      font-weight: 600;
      transition: border-color 0.2s var(--ease), color 0.2s var(--ease), background 0.2s var(--ease);
    }

    .hero-guide-tags a:hover {
      color: var(--c-primary);
      border-color: rgba(255, 90, 34, 0.5);
      background: rgba(255, 90, 34, 0.12);
    }

    /* ========== Guide Index ========== */
    .guide-sticky-wrap {
      position: relative;
    }

    .guide-sticky {
      position: sticky;
      top: 104px;
    }

    .guide-sticky h2 {
      font-size: clamp(28px, 2.6vw, 36px);
      font-weight: 800;
      line-height: 1.3;
      margin-bottom: 16px;
    }

    .guide-intro {
      color: var(--c-text-secondary);
      margin-bottom: 32px;
    }

    .guide-index-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .guide-index-list a {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 16px 18px;
      background: #FFFFFF;
      border: 1px solid var(--c-border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      transition: transform 0.22s var(--ease), box-shadow 0.25s var(--ease), border-color 0.2s var(--ease);
    }

    .guide-index-list a:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow-hover);
      border-color: rgba(255, 90, 34, 0.32);
    }

    .guide-index-list .guide-index-num {
      font-family: sans-serif;
      font-size: 15px;
      font-weight: 800;
      color: var(--c-primary);
      opacity: 0.7;
      line-height: 1;
    }

    .guide-index-list strong {
      display: block;
      font-size: 16px;
      font-weight: 700;
      color: var(--c-text);
      line-height: 1.4;
    }

    .guide-index-list small {
      display: block;
      font-size: 13px;
      font-weight: 400;
      color: var(--c-text-secondary);
      margin-top: 4px;
      line-height: 1.5;
    }

    .guide-index-list svg {
      flex: none;
      width: 16px;
      height: 16px;
      margin-left: auto;
      color: var(--c-text-weak);
      transition: color 0.2s var(--ease);
    }

    .guide-index-list a:hover svg {
      color: var(--c-primary);
    }

    .guide-feature-card {
      display: block;
      background: #FFFFFF;
      border: 1px solid var(--c-border);
      border-radius: 18px;
      overflow: hidden;
      box-shadow: var(--shadow);
      transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
    }

    .guide-feature-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-hover);
    }

    .guide-feature-card__media {
      position: relative;
      aspect-ratio: 16 / 9;
      background: #E4E8EF;
      overflow: hidden;
    }

    .guide-feature-card__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s var(--ease);
    }

    .guide-feature-card:hover .guide-feature-card__media img {
      transform: scale(1.03);
    }

    .guide-feature-card__media .badge {
      position: absolute;
      top: 18px;
      left: 18px;
      background: rgba(255, 90, 34, 0.92);
      color: #FFFFFF;
      border-color: transparent;
    }

    .guide-feature-card__body {
      padding: 28px 30px 26px;
    }

    .guide-feature-card__body h3 {
      font-size: 22px;
      font-weight: 700;
      color: var(--c-text);
      line-height: 1.45;
      margin-bottom: 12px;
    }

    .guide-feature-card__body p {
      color: var(--c-text-secondary);
      margin-bottom: 20px;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .guide-feature-card__meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      color: var(--c-text-weak);
      font-size: 13px;
    }

    /* ========== Mode Split ========== */
    .split-block + .split-block {
      margin-top: 68px;
    }

    .split-media {
      border-radius: 18px;
      overflow: hidden;
      background: #E4E8EF;
      box-shadow: var(--shadow);
    }

    .split-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .split-content h3 {
      font-size: clamp(22px, 2vw, 28px);
      font-weight: 750;
      line-height: 1.4;
      margin: 16px 0 14px;
      letter-spacing: 0;
    }

    .split-content p {
      color: var(--c-text-secondary);
      margin-bottom: 20px;
    }

    .check-list {
      list-style: none;
      margin: 0 0 24px;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .check-list li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      color: var(--c-text);
      font-size: 15px;
    }

    .check-list li svg {
      width: 18px;
      height: 18px;
      color: var(--c-accent);
      flex: none;
      margin-top: 4px;
    }

    .mode-tag-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 22px;
    }

    .mode-tag {
      display: inline-flex;
      align-items: center;
      min-height: 30px;
      padding: 0 12px;
      border-radius: 999px;
      background: rgba(15, 163, 163, 0.1);
      color: #0B7F7F;
      font-size: 13px;
      font-weight: 600;
      border: 1px solid rgba(15, 163, 163, 0.16);
    }

    /* ========== Quickstart ========== */
    .quickstart-heading {
      margin-bottom: 42px;
    }

    .quickstart-row {
      border-top: 4px solid var(--c-primary);
      background: #FFFFFF;
      border-radius: 0 0 20px 20px;
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .quickstart-item {
      padding: 34px 30px 36px;
      position: relative;
    }

    .quickstart-item + .quickstart-item {
      border-left: 1px solid var(--c-border);
    }

    .step-number {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 46px;
      height: 46px;
      border-radius: 14px;
      background: var(--c-bg-dark);
      color: var(--c-primary);
      font-size: 18px;
      font-weight: 800;
      margin-bottom: 20px;
    }

    .quickstart-item h3 {
      font-size: 20px;
      font-weight: 750;
      margin-bottom: 10px;
      letter-spacing: 0;
    }

    .quickstart-item p {
      font-size: 15px;
      color: var(--c-text-secondary);
      margin-bottom: 0;
    }

    /* ========== Topic Cards ========== */
    .topic-card {
      display: flex;
      flex-direction: column;
      background: #FFFFFF;
      border: 1px solid var(--c-border);
      border-radius: 18px;
      overflow: hidden;
      height: 100%;
      box-shadow: var(--shadow);
      transition: transform 0.28s var(--ease), box-shadow 0.28s var(--ease);
    }

    .topic-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-hover);
    }

    .topic-card__media {
      aspect-ratio: 4 / 3;
      background: #E4E8EF;
      overflow: hidden;
      position: relative;
    }

    .topic-card__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s var(--ease);
    }

    .topic-card:hover .topic-card__media img {
      transform: scale(1.03);
    }

    .topic-card__media .badge {
      position: absolute;
      left: 16px;
      bottom: 14px;
      background: rgba(11, 17, 32, 0.78);
      color: #FFFFFF;
      border: 1px solid rgba(255, 255, 255, 0.14);
      backdrop-filter: blur(4px);
    }

    .topic-card__body {
      padding: 26px 26px 24px;
      display: flex;
      flex-direction: column;
      flex: 1;
    }

    .topic-card__body h3 {
      font-size: 20px;
      font-weight: 700;
      line-height: 1.45;
      margin-bottom: 12px;
      letter-spacing: 0;
    }

    .topic-card__body p {
      color: var(--c-text-secondary);
      font-size: 15px;
      flex: 1;
      margin-bottom: 20px;
    }

    .topic-card__footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      font-size: 13px;
      color: var(--c-text-weak);
    }

    /* ========== FAQ ========== */
    .faq-title-col h2 {
      font-size: clamp(28px, 3vw, 36px);
      font-weight: 800;
      line-height: 1.3;
      margin-bottom: 16px;
      letter-spacing: 0;
    }

    .faq-title-col p {
      color: var(--c-text-secondary);
      margin-bottom: 28px;
    }

    .faq-accordion {
      list-style: none;
      margin: 0;
      padding: 0;
      background: transparent;
    }

    .faq-accordion .accordion-item {
      background: #FFFFFF;
      border: 1px solid var(--c-border);
      border-radius: 16px;
      margin-bottom: 16px;
      overflow: hidden;
      box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
      transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
    }

    .faq-accordion .accordion-item:hover {
      border-color: rgba(255, 90, 34, 0.26);
    }

    .faq-accordion .accordion-item.is-active {
      border-color: rgba(255, 90, 34, 0.28);
      box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    }

    .faq-accordion .accordion-title {
      position: relative;
      display: block;
      background: #FFFFFF;
      border: 0;
      color: var(--c-text);
      font-family: var(--font-sans);
      font-size: 16px;
      font-weight: 650;
      line-height: 1.6;
      padding: 22px 60px 22px 26px;
      transition: color 0.2s var(--ease);
    }

    .faq-accordion .accordion-title:hover,
    .faq-accordion .accordion-item.is-active .accordion-title {
      color: var(--c-primary);
      background: #FFFFFF;
    }

    .faq-accordion .accordion-title::after {
      display: none;
    }

    .faq-accordion .accordion-title::before,
    .faq-accordion .accordion-title::after {
      content: "";
      position: absolute;
      width: 14px;
      height: 2px;
      background: var(--c-primary);
      border-radius: 4px;
      right: 24px;
      top: 31px;
      transition: transform 0.25s var(--ease), opacity 0.2s var(--ease);
    }

    .faq-accordion .accordion-title::after {
      transform: rotate(90deg);
    }

    .faq-accordion .accordion-item.is-active .accordion-title::after {
      transform: rotate(0deg);
    }

    .faq-accordion .accordion-content {
      background: #FFFFFF;
      border-top: 1px solid rgba(228, 232, 239, 0.7);
      padding: 4px 26px 24px;
      color: var(--c-text-secondary);
      font-size: 15px;
      line-height: 1.75;
    }

    .faq-accordion .accordion-content p {
      margin: 18px 0 0;
    }

    /* ========== CTA ========== */
    .cta-panel {
      position: relative;
      overflow: hidden;
      background: var(--c-bg-dark);
    }

    .cta-panel::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 20% 40%, rgba(255, 90, 34, 0.16), transparent 45%), radial-gradient(circle at 82% 70%, rgba(15, 163, 163, 0.12), transparent 46%);
      pointer-events: none;
    }

    .cta-panel .grid-container {
      position: relative;
      z-index: 2;
    }

    .cta-panel-inner {
      max-width: 820px;
      margin: 0 auto;
      text-align: center;
      padding: 40px 0 10px;
    }

    .cta-panel h2 {
      color: #FFFFFF;
      font-size: clamp(28px, 3.6vw, 40px);
      font-weight: 800;
      line-height: 1.3;
      margin-bottom: 16px;
      letter-spacing: 0;
    }

    .cta-panel p {
      color: rgba(255, 255, 255, 0.66);
      font-size: 16px;
      margin-bottom: 32px;
    }

    .cta-panel .btn-group {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 16px;
    }

    /* ========== Floating CTA ========== */
    .floating-cta {
      position: fixed;
      right: 24px;
      bottom: 24px;
      z-index: 70;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      background: var(--c-primary);
      color: #FFFFFF;
      font-size: 15px;
      font-weight: 700;
      min-height: 56px;
      padding: 0 24px;
      border-radius: 999px;
      box-shadow: 0 14px 30px rgba(255, 90, 34, 0.35);
      transition: background 0.25s var(--ease), transform 0.25s var(--ease), opacity 0.3s var(--ease);
    }

    .floating-cta svg {
      width: 20px;
      height: 20px;
    }

    .floating-cta:hover {
      background: var(--c-primary-dark);
      transform: translateY(-3px);
    }

    .floating-cta.is-hidden {
      opacity: 0;
      pointer-events: none;
    }

    /* ========== Footer ========== */
    .site-footer {
      background: var(--c-bg-dark);
      color: #8A93A0;
      border-top: 1px solid rgba(255, 255, 255, 0.06);
    }

    .site-footer__top {
      padding: 72px 0 48px;
    }

    .site-footer__top p {
      font-size: 14px;
      line-height: 1.7;
      color: rgba(255, 255, 255, 0.52);
      margin-bottom: 18px;
    }

    .footer-brand__title {
      display: inline-block;
      font-size: 21px;
      font-weight: 800;
      color: #FFFFFF;
      line-height: 1.3;
      margin-bottom: 18px;
      letter-spacing: 0;
    }

    .footer-brand__title:hover {
      color: var(--c-primary);
    }

    .footer-brand__note {
      color: rgba(255, 255, 255, 0.34);
      font-size: 12px;
      margin-bottom: 14px;
    }

    .footer-col-title {
      color: #E7EDF5;
      font-size: 15px;
      font-weight: 700;
      margin-bottom: 18px;
    }

    .footer-links {
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .footer-links li + li {
      margin-top: 10px;
    }

    .footer-links a {
      color: rgba(255, 255, 255, 0.58);
      font-size: 14px;
      line-height: 1.6;
      transition: color 0.2s var(--ease), padding-left 0.2s var(--ease);
    }

    .footer-links a:hover {
      color: var(--c-primary);
      padding-left: 4px;
    }

    .footer-form {
      display: flex;
      gap: 10px;
      margin-top: 4px;
    }

    .footer-form input {
      height: 46px;
      min-width: 0;
      width: auto;
      flex: 1;
      border: 1px solid rgba(255, 255, 255, 0.16);
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.06);
      color: #FFFFFF;
      font-size: 14px;
      padding: 0 16px;
      transition: border-color 0.2s var(--ease), background 0.2s var(--ease);
    }

    .footer-form input::placeholder {
      color: rgba(255, 255, 255, 0.36);
    }

    .footer-form input:focus {
      outline: none;
      border-color: rgba(255, 90, 34, 0.7);
      background: rgba(255, 255, 255, 0.08);
    }

    .footer-form .btn {
      min-height: 46px;
      padding: 0 20px;
      flex: none;
    }

    .footer-form-success {
      display: none;
      color: #44C7C0;
      font-size: 13px;
      margin: 10px 0 0;
    }

    .footer-form-success.is-visible {
      display: block;
    }

    .site-footer__bottom {
      background: rgba(0, 0, 0, 0.18);
      border-top: 1px solid rgba(255, 255, 255, 0.05);
      padding: 20px 0;
    }

    .footer-meta {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      font-size: 13px;
      color: rgba(255, 255, 255, 0.36);
    }

    .footer-meta p {
      margin: 0;
    }

    .footer-tech {
      font-size: 12px;
      color: rgba(255, 255, 255, 0.24);
    }

    .back-to-top {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: rgba(255, 255, 255, 0.46);
      font-size: 13px;
      transition: color 0.2s var(--ease);
    }

    .back-to-top svg {
      width: 14px;
      height: 14px;
    }

    .back-to-top:hover {
      color: var(--c-primary);
    }

    /* ========== Media Queries ========== */
    @media screen and (max-width: 1024px) {
      .section {
        padding: 76px 0;
      }

      .header-nav--left,
      .header-nav--right {
        display: none;
      }

      .mobile-menu-toggle {
        display: inline-flex;
      }

      .header-grid {
        grid-template-columns: 1fr auto 1fr;
        min-height: 72px;
      }

      .mobile-menu {
        display: none;
      }

      .guide-sticky {
        position: static;
      }

      .split-media {
        margin-bottom: 12px;
      }

      .quickstart-row .quickstart-item + .quickstart-item {
        border-left: 0;
        border-top: 1px solid var(--c-border);
      }

      .site-footer__top {
        padding: 58px 0 42px;
      }
    }

    @media screen and (max-width: 640px) {
      .section {
        padding: 62px 0;
      }

      .grid-container {
        padding-left: 20px;
        padding-right: 20px;
      }

      .category-hero {
        padding: 72px 0 64px;
      }

      .category-hero h1 {
        font-size: 34px;
      }

      .category-hero__lead {
        font-size: 16px;
        margin-bottom: 26px;
      }

      .category-hero__actions,
      .cta-panel .btn-group {
        flex-direction: column;
        align-items: stretch;
      }

      .category-hero__actions .btn,
      .cta-panel .btn-group .btn {
        width: 100%;
      }

      .hero-guide-card {
        margin-top: 28px;
        padding: 24px 20px;
      }

      .split-block + .split-block {
        margin-top: 48px;
      }

      .quickstart-item {
        padding: 28px 22px 30px;
      }

      .quickstart-heading {
        margin-bottom: 30px;
      }

      .guide-feature-card__body {
        padding: 20px 20px 18px;
      }

      .faq-accordion .accordion-title {
        padding: 18px 48px 18px 20px;
        font-size: 15px;
      }

      .faq-accordion .accordion-content {
        padding: 2px 20px 20px;
      }

      .footer-form {
        flex-direction: column;
      }

      .footer-links,
      .footer-col {
        margin-bottom: 18px;
      }

      .footer-meta {
        flex-direction: column;
        align-items: flex-start;
      }

      .floating-cta {
        right: 16px;
        bottom: 16px;
        width: 56px;
        height: 56px;
        padding: 0;
        border-radius: 18px;
      }

      .floating-cta span {
        display: none;
      }
    }

/* roulang page: category3 */
:root {
            --brand: #FF5A22;
            --brand-dark: #E14B16;
            --cyan: #0FA3A3;
            --bg-dark: #0B1120;
            --panel-dark: #141D2E;
            --bg-light: #F5F6FA;
            --white: #FFFFFF;
            --text-main: #1D2433;
            --text-sub: #5C6B7A;
            --text-weak: #8A93A0;
            --border: #E4E8EF;
            --radius-lg: 16px;
            --radius-md: 14px;
            --radius-sm: 12px;
            --shadow-card: 0 4px 20px rgba(15, 23, 42, 0.06);
            --shadow-hover: 0 14px 28px rgba(15, 23, 42, 0.12);
            --section-space: 96px;
            --font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
        }

        *,
        *::before,
        *::after {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 96px;
        }

        body {
            margin: 0;
            font-family: var(--font-family);
            font-size: 16px;
            line-height: 1.75;
            color: var(--text-main);
            background: var(--bg-light);
            -webkit-font-smoothing: antialiased;
        }

        img {
            max-width: 100%;
            display: block;
            border: 0;
        }

        a {
            color: inherit;
            text-decoration: none;
            transition: color .2s ease, border-color .2s ease, background-color .2s ease;
        }

        button {
            font-family: inherit;
            cursor: pointer;
        }

        input {
            font-family: inherit;
        }

        a:focus-visible,
        button:focus-visible,
        input:focus-visible,
        summary:focus-visible {
            outline: 2px solid rgba(255, 90, 34, .45);
            outline-offset: 3px;
        }

        h1,
        h2,
        h3,
        h4,
        p,
        ul,
        ol,
        figure,
        blockquote {
            margin-top: 0;
            margin-bottom: 0;
        }

        ul,
        ol {
            padding-left: 0;
            list-style: none;
        }

        .grid-container {
            max-width: 1200px;
            width: 100%;
            margin-left: auto;
            margin-right: auto;
            padding-left: 24px;
            padding-right: 24px;
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 48px;
            padding: 0 28px;
            border-radius: 10px;
            border: 1.5px solid transparent;
            font-size: 15px;
            font-weight: 700;
            line-height: 1;
            transition: all .22s ease;
            text-align: center;
            white-space: nowrap;
        }

        .btn svg {
            width: 18px;
            height: 18px;
            flex: 0 0 auto;
        }

        .btn-primary {
            background: var(--brand);
            color: #fff;
        }

        .btn-primary:hover {
            background: var(--brand-dark);
            transform: translateY(-1px);
            box-shadow: 0 10px 22px rgba(255, 90, 34, .24);
        }

        .btn-primary:active {
            transform: translateY(1px);
        }

        .btn-outline {
            background: transparent;
            color: var(--text-main);
            border-color: #B7C0CC;
        }

        .btn-outline:hover {
            border-color: var(--brand);
            color: var(--brand);
        }

        .btn-light-outline {
            background: transparent;
            color: #F0F3F8;
            border-color: rgba(255, 255, 255, .45);
        }

        .btn-light-outline:hover {
            border-color: var(--brand);
            color: var(--brand);
        }

        .section-space {
            padding-top: var(--section-space);
            padding-bottom: var(--section-space);
        }

        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-size: 13px;
            letter-spacing: .03em;
            color: var(--brand);
            font-weight: 700;
            margin-bottom: 14px;
        }

        .eyebrow::before {
            content: "";
            width: 22px;
            height: 2px;
            background: var(--brand);
            border-radius: 99px;
        }

        .eyebrow--center {
            justify-content: center;
        }

        .section-title {
            font-size: clamp(28px, 3.2vw, 36px);
            line-height: 1.3;
            font-weight: 800;
            color: var(--text-main);
            letter-spacing: 0;
        }

        .section-desc {
            font-size: 16px;
            line-height: 1.75;
            color: var(--text-sub);
            margin-top: 14px;
            max-width: 640px;
        }

        .section-head {
            margin-bottom: 44px;
        }

        .site-header {
            background: var(--bg-dark);
            position: sticky;
            top: 0;
            z-index: 60;
            box-shadow: 0 6px 20px rgba(0, 0, 0, .28);
            border-bottom: 1px solid rgba(255, 255, 255, .05);
        }

        .site-header__inner {
            max-width: 100%;
            height: 80px;
            margin: 0 auto;
            padding: 0 28px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            width: 100%;
        }

        .site-header__toggle {
            display: none;
            width: 44px;
            height: 44px;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(255, 255, 255, .12);
            background: rgba(255, 255, 255, .04);
            border-radius: 10px;
            color: #fff;
            position: absolute;
            left: 12px;
            top: 50%;
            transform: translateY(-50%);
            z-index: 30;
        }

        .site-header__toggle svg {
            width: 22px;
            height: 22px;
        }

        .header__logo {
            display: inline-flex;
            flex-direction: column;
            align-items: center;
            gap: 2px;
            text-align: center;
            max-width: 300px;
            z-index: 5;
            position: relative;
        }

        .header__logo-badge {
            position: absolute;
            right: -26px;
            top: -4px;
            background: rgba(15, 163, 163, .15);
            color: #8CE1E1;
            border: 1px solid rgba(15, 163, 163, .4);
            padding: 2px 9px;
            border-radius: 999px;
            font-size: 10px;
            line-height: 1;
            font-weight: 600;
            letter-spacing: .02em;
        }

        .header__logo-word {
            color: #FFFFFF;
            font-size: 21px;
            line-height: 1.3;
            font-weight: 800;
            letter-spacing: 0;
        }

        .header__logo-sub {
            color: #9AA6B5;
            font-size: 11px;
            letter-spacing: .04em;
            line-height: 1.4;
        }

        .header-navbar {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 28px;
            right: 28px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 28px;
            pointer-events: none;
        }

        .header-nav {
            display: flex;
            align-items: center;
            gap: 6px;
            pointer-events: auto;
        }

        .nav-link {
            display: inline-flex;
            align-items: center;
            height: 80px;
            padding: 0 16px;
            color: #DCE4EE;
            font-size: 15px;
            font-weight: 600;
            position: relative;
            border-bottom: 2px solid transparent;
            transition: color .2s ease;
        }

        .nav-link:hover {
            color: var(--brand);
        }

        .nav-link.is-active {
            color: var(--brand);
        }

        .nav-link.is-active::after {
            content: "";
            position: absolute;
            left: 14px;
            right: 14px;
            bottom: -1px;
            height: 2px;
            background: var(--brand);
            border-radius: 99px 99px 0 0;
        }

        .header-nav .btn {
            min-height: 44px;
            padding-left: 22px;
            padding-right: 22px;
            border-radius: 999px;
            margin-left: 8px;
        }

        .mobile-menu {
            display: none;
            position: absolute;
            left: 16px;
            right: 16px;
            top: calc(100% + 8px);
            background: var(--bg-dark);
            border: 1px solid rgba(255, 255, 255, .1);
            border-radius: 16px;
            padding: 14px;
            box-shadow: 0 20px 40px rgba(0, 0, 0, .3);
            z-index: 50;
            flex-direction: column;
            gap: 8px;
        }

        .mobile-menu.is-open {
            display: flex;
        }

        .mobile-menu .nav-link,
        .mobile-menu .btn {
            width: 100%;
            height: 44px;
            justify-content: center;
            border-radius: 10px;
            border-bottom: none;
        }

        .mobile-menu .btn {
            margin-top: 6px;
        }

        .cat-hero {
            background: var(--bg-dark);
            position: relative;
            padding: 72px 0 84px;
            color: #fff;
            overflow: hidden;
        }

        .cat-hero::before {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background-image: url('/assets/images/backpic/back-1.png');
            background-size: cover;
            background-position: center;
            opacity: .22;
        }

        .cat-hero::after {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background: linear-gradient(106deg, rgba(11, 17, 32, .96) 0%, rgba(11, 17, 32, .86) 40%, rgba(11, 17, 32, .6) 100%);
        }

        .cat-hero .grid-container {
            position: relative;
            z-index: 2;
        }

        .breadcrumb {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 13px;
            color: #9FAEBF;
            margin-bottom: 32px;
        }

        .breadcrumb a {
            color: #9FAEBF;
        }

        .breadcrumb a:hover {
            color: var(--cyan);
        }

        .breadcrumb span.divider {
            color: rgba(255, 255, 255, .28);
        }

        .cat-hero h1 {
            font-size: clamp(34px, 4vw, 46px);
            line-height: 1.2;
            font-weight: 800;
            margin: 0 0 16px;
            color: #FFFFFF;
            letter-spacing: 0;
        }

        .cat-hero__lead {
            color: #DCE6F2;
            font-size: 17px;
            line-height: 1.75;
            margin-bottom: 24px;
            max-width: 560px;
        }

        .hero-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 10px;
        }

        .hero-tags span {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            background: rgba(255, 255, 255, .08);
            border: 1px solid rgba(255, 255, 255, .1);
            color: #DCE6F2;
            padding: 6px 13px;
            border-radius: 999px;
            font-size: 13px;
        }

        .hero-tags svg {
            width: 16px;
            height: 16px;
            stroke: var(--cyan);
        }

        .cat-hero__visual {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            min-height: 340px;
        }

        .hero-visual-card {
            width: 100%;
            max-width: 460px;
            border-radius: 20px;
            overflow: hidden;
            background: var(--panel-dark);
            border: 1px solid rgba(255, 255, 255, .1);
            box-shadow: 0 24px 60px rgba(0, 0, 0, .3);
            margin-left: auto;
        }

        .hero-visual-card img {
            aspect-ratio: 4 / 3;
            width: 100%;
            object-fit: cover;
        }

        .hero-visual-card__meta {
            padding: 16px 20px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            color: #E7EDF5;
            font-size: 14px;
            background: rgba(20, 29, 46, .92);
            border-top: 1px solid rgba(255, 255, 255, .06);
        }

        .hero-visual-card__meta strong {
            color: #FFFFFF;
            font-weight: 700;
        }

        .hero-visual-card__meta span {
            color: var(--cyan);
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 13px;
        }

        .help-nav-section {
            background: var(--bg-light);
            padding-bottom: calc(var(--section-space) - 24px);
        }

        .help-nav-grid .help-block {
            background: var(--white);
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            padding: 28px 24px 26px;
            box-shadow: var(--shadow-card);
            transition: transform .2s ease, box-shadow .2s ease;
            height: 100%;
            position: relative;
        }

        .help-block:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-hover);
            border-color: #F1D9CE;
        }

        .help-block__icon {
            width: 50px;
            height: 50px;
            border-radius: 14px;
            background: rgba(255, 90, 34, .1);
            color: var(--brand);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 18px;
        }

        .help-block__icon svg {
            width: 24px;
            height: 24px;
        }

        .help-block h3 {
            font-size: 19px;
            font-weight: 700;
            margin-bottom: 10px;
            color: #111A2D;
            line-height: 1.4;
        }

        .help-block p {
            font-size: 14px;
            color: var(--text-sub);
            line-height: 1.75;
        }

        .help-detail {
            background: var(--white);
            padding: calc(var(--section-space) - 32px) 0;
            border-bottom: 1px solid #E7EBF1;
            border-top: 1px solid #E7EBF1;
        }

        .help-layout__left {
            padding-right: 30px;
        }

        .help-layout__left .eyebrow {
            margin-bottom: 12px;
        }

        .help-layout__left .section-desc {
            margin-bottom: 26px;
        }

        .help-guide-tabs {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .tab-btn {
            display: inline-flex;
            align-items: center;
            min-height: 50px;
            padding: 0 18px;
            border-radius: 12px;
            border: 1px solid var(--border);
            background: var(--white);
            color: var(--text-main);
            font-size: 15px;
            font-weight: 600;
            width: 100%;
            transition: all .2s ease;
            gap: 10px;
        }

        .tab-btn svg {
            width: 18px;
            height: 18px;
            color: var(--text-weak);
            transition: color .2s ease;
        }

        .tab-btn:hover {
            border-color: #F5C4B1;
            color: var(--brand);
        }

        .tab-btn.is-active {
            background: var(--brand);
            border-color: var(--brand);
            color: #fff;
            box-shadow: 0 8px 16px rgba(255, 90, 34, .18);
        }

        .tab-btn.is-active svg {
            color: #fff;
        }

        .help-panel {
            display: none;
        }

        .help-panel.is-active {
            display: block;
        }

        .acc-item {
            background: var(--white);
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            margin-bottom: 14px;
            box-shadow: 0 2px 8px rgba(15, 23, 42, .03);
            overflow: hidden;
            transition: border-color .2s ease, box-shadow .2s ease;
        }

        .acc-item[open] {
            border-color: #F0C1AC;
            box-shadow: 0 6px 16px rgba(15, 23, 42, .07);
        }

        .acc-item summary {
            list-style: none;
            display: flex;
            align-items: center;
            gap: 12px;
            min-height: 62px;
            padding: 14px 22px;
            cursor: pointer;
            color: var(--text-main);
            font-size: 16px;
            font-weight: 650;
            line-height: 1.5;
            position: relative;
        }

        .acc-item summary::-webkit-details-marker {
            display: none;
        }

        .acc-icon {
            width: 26px;
            height: 26px;
            flex: 0 0 auto;
            margin-left: auto;
            position: relative;
            border-radius: 50%;
            background: rgba(255, 90, 34, .08);
        }

        .acc-icon::before,
        .acc-icon::after {
            content: "";
            position: absolute;
            background: var(--brand);
            border-radius: 2px;
            transition: transform .2s ease, opacity .2s ease;
        }

        .acc-icon::before {
            width: 12px;
            height: 2px;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        .acc-icon::after {
            width: 2px;
            height: 12px;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        .acc-item[open] .acc-icon::after {
            transform: translate(-50%, -50%) scaleY(0);
        }

        .acc-item .acc-content {
            padding: 0 22px 22px;
            color: var(--text-sub);
            font-size: 15px;
            line-height: 1.8;
        }

        .acc-content p {
            margin-bottom: 8px;
        }

        .quick-process {
            background: var(--bg-dark);
            padding: 88px 0 92px;
            position: relative;
            overflow: hidden;
            color: #fff;
        }

        .quick-process::after {
            content: "";
            position: absolute;
            inset: 0;
            background-image: url('/assets/images/backpic/back-3.webp');
            background-size: cover;
            background-position: center;
            opacity: .08;
        }

        .quick-process .grid-container {
            position: relative;
            z-index: 2;
        }

        .quick-process .eyebrow,
        .quick-process .section-title {
            color: #FFFFFF;
        }

        .process-grid {
            margin-top: 36px;
        }

        .process-step {
            padding: 28px 20px 26px;
            border-radius: 18px;
            background: rgba(255, 255, 255, .04);
            border: 1px solid rgba(255, 255, 255, .1);
            height: 100%;
            position: relative;
        }

        .process-step__num {
            color: var(--brand);
            font-size: 15px;
            font-weight: 700;
            letter-spacing: .05em;
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 16px;
        }

        .process-step__num svg {
            width: 22px;
            height: 22px;
        }

        .process-step h3 {
            font-size: 18px;
            font-weight: 700;
            margin-bottom: 8px;
            color: #FFFFFF;
        }

        .process-step p {
            color: #B8C3D2;
            font-size: 14px;
            line-height: 1.7;
        }

        .cta-section {
            padding: 92px 0;
            background: var(--bg-light);
        }

        .cta-card {
            background: var(--bg-dark);
            border-radius: 24px;
            padding: 48px 48px 44px;
            position: relative;
            overflow: hidden;
            color: #fff;
        }

        .cta-card::before {
            content: "";
            position: absolute;
            right: -60px;
            top: -80px;
            width: 280px;
            height: 280px;
            background: var(--brand);
            opacity: .1;
            border-radius: 50%;
            filter: blur(48px);
        }

        .cta-card h2 {
            color: #FFFFFF;
            font-size: clamp(24px, 3vw, 33px);
            font-weight: 800;
            line-height: 1.35;
            margin-bottom: 14px;
        }

        .cta-card p {
            color: #BBC7D4;
            max-width: 590px;
            margin-bottom: 30px;
        }

        .cta-card .btn + .btn {
            margin-left: 12px;
        }

        .site-footer {
            background: var(--bg-dark);
            color: #AAB5C1;
            font-size: 14px;
            line-height: 1.7;
        }

        .site-footer__top {
            padding: 64px 0 46px;
            border-bottom: 1px solid rgba(255, 255, 255, .08);
        }

        .footer-brand {
            padding-right: 20px;
        }

        .footer-brand a {
            color: #FFFFFF;
            font-size: 21px;
            font-weight: 800;
            display: inline-block;
            margin-bottom: 12px;
        }

        .footer-brand p {
            color: #9BA6B5;
            max-width: 360px;
        }

        .footer-col-title {
            color: #F1F4F8;
            font-weight: 700;
            margin-bottom: 16px;
            font-size: 15px;
        }

        .footer-links li {
            margin-bottom: 8px;
        }

        .footer-links a {
            color: #9BA6B5;
            font-size: 14px;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .footer-links a:hover {
            color: var(--brand);
        }

        .footer-form {
            display: flex;
            margin-top: 20px;
            gap: 8px;
            flex-wrap: wrap;
        }

        .footer-form input {
            flex: 1 1 180px;
            min-height: 44px;
            background: rgba(255, 255, 255, .08);
            border: 1px solid rgba(255, 255, 255, .1);
            border-radius: 10px;
            padding: 0 14px;
            color: #fff;
            font-size: 14px;
            outline: none;
            transition: border-color .2s ease, background .2s ease;
        }

        .footer-form input:focus {
            border-color: rgba(255, 90, 34, .8);
            background: rgba(255, 255, 255, .12);
            outline: 2px solid rgba(255, 90, 34, .2);
            outline-offset: 1px;
        }

        .footer-form input::placeholder {
            color: rgba(255, 255, 255, .34);
        }

        .footer-form .btn {
            min-height: 44px;
            padding-left: 18px;
            padding-right: 18px;
        }

        .footer-form-success {
            display: none;
            margin-top: 10px;
            color: #85E1C3;
            font-size: 13px;
        }

        .footer-form-success.is-visible {
            display: block;
        }

        .site-footer__bottom {
            padding: 18px 0;
        }

        .footer-meta {
            display: flex;
            align-items: center;
            gap: 20px;
            flex-wrap: wrap;
        }

        .footer-meta p {
            margin-right: auto;
            color: #778396;
            font-size: 13px;
        }

        .footer-tech {
            color: rgba(255, 255, 255, .3);
            font-size: 12px;
            letter-spacing: .02em;
        }

        .back-to-top {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #8B97A8;
            font-size: 13px;
        }

        .back-to-top svg {
            width: 16px;
            height: 16px;
        }

        .back-to-top:hover {
            color: var(--brand);
        }

        .float-cta {
            position: fixed;
            right: 24px;
            bottom: 24px;
            z-index: 90;
            min-height: 52px;
            background: var(--brand);
            color: #fff;
            border: none;
            border-radius: 999px;
            padding: 0 22px;
            display: inline-flex;
            align-items: center;
            gap: 9px;
            box-shadow: 0 12px 32px rgba(255, 90, 34, .35);
            font-weight: 700;
            font-size: 15px;
            transition: all .2s ease;
            cursor: pointer;
        }

        .float-cta:hover {
            transform: translateY(-3px);
            background: var(--brand-dark);
        }

        .float-cta svg {
            width: 20px;
            height: 20px;
        }

        @media (max-width: 1023.98px) {
            .site-header__toggle {
                display: inline-flex;
            }

            .site-header__inner {
                height: 76px;
                padding: 0 52px;
                justify-content: center;
            }

            .header__logo-badge {
                right: -24px;
                top: -2px;
            }

            .header-navbar {
                display: none;
                position: absolute;
                top: calc(100% + 4px);
                left: 16px;
                right: 16px;
                width: auto;
                bottom: auto;
                background: var(--bg-dark);
                border: 1px solid rgba(255, 255, 255, .1);
                border-radius: 14px;
                padding: 14px;
                box-shadow: 0 20px 34px rgba(0, 0, 0, .3);
                flex-direction: column;
                gap: 8px;
            }

            .header-navbar.is-open {
                display: flex;
            }

            .header-nav {
                display: flex;
                flex-direction: column;
                width: 100%;
                gap: 2px;
            }

            .nav-link,
            .header-nav .nav-link {
                width: 100%;
                height: 46px;
                justify-content: center;
                border-radius: 10px;
                border-bottom: 0;
            }

            .nav-link.is-active::after,
            .header-nav .nav-link.is-active::after {
                display: none;
            }

            .header-nav .nav-link.is-active {
                background: rgba(255, 90, 34, .16);
            }

            .header-nav .btn {
                width: 100%;
                justify-content: center;
                margin-top: 8px;
            }
        }

        @media (max-width: 767.98px) {
            :root {
                --section-space: 64px;
            }

            .cat-hero {
                padding: 56px 0 64px;
            }

            .cat-hero h1 {
                font-size: 32px;
            }

            .cat-hero__lead {
                font-size: 15px;
            }

            .cat-hero__visual {
                min-height: auto;
                margin-top: 36px;
                justify-content: center;
            }

            .hero-visual-card {
                max-width: 100%;
            }

            .help-block {
                padding: 22px 18px;
            }

            .help-layout__left {
                padding-right: 12px;
                margin-bottom: 26px;
            }

            .section-space {
                padding-top: 64px;
                padding-bottom: 64px;
            }

            .cta-card {
                padding: 32px 22px;
            }

            .footer-form .btn,
            .footer-form input {
                width: 100%;
                justify-content: center;
            }

            .float-cta {
                right: 18px;
                bottom: 18px;
            }
        }

        @media (max-width: 520px) {
            .header__logo-word {
                font-size: 18px;
            }

            .header__logo-sub {
                font-size: 10px;
            }

            .header__logo-badge {
                display: none;
            }

            .hero-tags {
                gap: 8px;
            }

            .hero-tags span {
                font-size: 12px;
                padding: 5px 10px;
            }

            .process-step {
                padding: 24px 16px;
            }

            .btn {
                min-height: 44px;
                padding: 0 18px;
                font-size: 14px;
            }
        }

        @media (max-width: 1023.98px) and (min-width: 641px) {
            .help-layout__left .section-desc {
                font-size: 15px;
            }
        }
