/* roulang page: index */
:root{
  --bg:#050a18;
  --bg-soft:#070e20;
  --bg-deep:#03060f;
  --panel:rgba(17,27,54,.72);
  --panel-solid:#0c1530;
  --line:rgba(112,156,255,.16);
  --line-strong:rgba(112,156,255,.42);
  --text:#e9efff;
  --muted:#94a3c8;
  --primary:#3f7dff;
  --primary-deep:#2b5cd8;
  --cyan:#3ee0ff;
  --violet:#8f6bff;
  --gold:#ffc861;
  --radius:14px;
  --radius-sm:10px;
  --shadow:0 20px 44px -24px rgba(2,7,22,.92);
  --glow:0 0 0 1px rgba(62,224,255,.28), 0 12px 34px -12px rgba(63,125,255,.62);
  --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.75;
  color:var(--text);
  background:
    radial-gradient(1100px 620px at 82% -8%, rgba(63,125,255,.22), transparent 62%),
    radial-gradient(880px 520px at 4% 6%, rgba(143,107,255,.16), transparent 60%),
    linear-gradient(180deg,var(--bg-deep) 0%, var(--bg) 42%, var(--bg-soft) 100%);
  background-attachment:fixed;
  min-height:100vh;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button,input{font-family:inherit;font-size:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,figure{margin:0}
ul,ol{padding:0;list-style:none}
.container{width:min(1180px,calc(100% - 48px));margin:0 auto}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}

/* ===== header ===== */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(5,10,26,.82);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .25s ease,background .25s ease;
}
.site-header.is-stuck{box-shadow:0 14px 34px -20px rgba(0,0,0,.95);background:rgba(5,10,26,.94)}
.header-top-inner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:64px;padding:8px 0;
}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand-mark{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  font-size:19px;font-weight:800;letter-spacing:0;color:#04101f;
  background:linear-gradient(145deg,var(--cyan),var(--primary));
  box-shadow:0 0 0 1px rgba(62,224,255,.4),0 10px 22px -12px rgba(62,224,255,.9);
}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-text strong{font-size:17px;letter-spacing:.4px;font-weight:800}
.brand-text em{font-style:normal;font-size:11px;color:var(--muted);letter-spacing:1.2px}
.header-tools{display:flex;align-items:center;gap:12px}
.search-box{
  display:flex;align-items:center;gap:6px;
  background:rgba(12,21,48,.9);
  border:1px solid var(--line);
  border-radius:999px;
  padding:5px 6px 5px 14px;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.search-box:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 3px rgba(63,125,255,.16)}
.search-box input{
  width:158px;background:transparent;border:0;outline:none;
  font-size:13px;color:var(--text);padding:4px 0;
}
.search-box input::placeholder{color:#66759c}
.search-box button{
  border:0;cursor:pointer;border-radius:999px;
  padding:6px 14px;font-size:12px;font-weight:700;letter-spacing:.5px;
  background:rgba(62,224,255,.16);color:var(--cyan);
  transition:background .2s ease,color .2s ease;
}
.search-box button:hover{background:var(--cyan);color:#03111c}
.nav-toggle{
  display:none;width:42px;height:42px;border-radius:11px;cursor:pointer;
  background:rgba(12,21,48,.9);border:1px solid var(--line);
  color:var(--text);font-size:16px;
}
.channel-bar{border-top:1px solid rgba(112,156,255,.1);background:rgba(7,13,30,.5)}
.channel-inner{
  display:flex;align-items:center;gap:8px;overflow-x:auto;
  scrollbar-width:none;padding:8px 0;
}
.channel-inner::-webkit-scrollbar{display:none}
.channel{
  flex:0 0 auto;padding:8px 16px;border-radius:999px;
  font-size:14px;color:var(--muted);border:1px solid transparent;
  transition:color .2s ease,background .2s ease,border-color .2s ease;
  white-space:nowrap;
}
.channel:hover{color:var(--text);background:rgba(63,125,255,.12)}
.channel.is-active{
  color:#eaf7ff;background:rgba(62,224,255,.12);
  border-color:rgba(62,224,255,.38);
  box-shadow:0 0 20px -8px rgba(62,224,255,.85);
}
.mobile-drawer{display:none;border-top:1px solid var(--line);background:rgba(6,12,30,.98);padding:14px 0 20px}
.mobile-drawer.is-open{display:block}
.mobile-drawer a{
  display:block;padding:12px 4px;border-bottom:1px solid rgba(112,156,255,.1);
  font-size:15px;color:var(--text);min-height:44px;
}
.mobile-drawer .btn{margin-top:14px;width:100%;justify-content:center}

/* ===== buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 24px;border-radius:10px;border:1px solid transparent;
  font-size:14px;font-weight:700;letter-spacing:.4px;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
  min-height:44px;
}
.btn-glow{
  color:#f4fbff;
  background:linear-gradient(135deg,var(--primary),#6b46ff);
  box-shadow:var(--glow);
}
.btn-glow:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(62,224,255,.5),0 18px 40px -12px rgba(63,125,255,.9)}
.btn-glow:active{transform:translateY(0)}
.btn-ghost{
  color:var(--text);border-color:var(--line-strong);
  background:rgba(14,24,52,.6);
}
.btn-ghost:hover{border-color:var(--cyan);color:#dff9ff;background:rgba(62,224,255,.1);transform:translateY(-2px)}
.btn-sm{padding:9px 18px;font-size:13px;min-height:40px}

/* ===== hero ===== */
.hero{
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
  background-image:linear-gradient(115deg,rgba(4,9,23,.96) 32%,rgba(6,13,33,.78) 62%,rgba(6,13,33,.55)),url("/assets/images/麻将说胡江苏建达全过程工程咨询有限公司.webp");
  background-size:cover;background-position:center;
}
.hero::after{
  content:"";position:absolute;inset:auto -10% -40% -10%;height:60%;
  background:radial-gradient(closest-side,rgba(63,125,255,.24),transparent 70%);
  pointer-events:none;
}
.hero-inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;
  padding:64px 0 68px;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border-radius:999px;font-size:12px;letter-spacing:1px;
  color:var(--cyan);background:rgba(62,224,255,.1);
  border:1px solid rgba(62,224,255,.32);
}
.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);display:inline-block}
.hero h1{
  margin:18px 0 14px;font-size:clamp(28px,3.6vw,42px);
  line-height:1.28;font-weight:800;letter-spacing:.5px;
  background:linear-gradient(100deg,#ffffff 22%,#9fd8ff 62%,#9c8dff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{font-size:15px;color:#a9bce4;letter-spacing:.4px;margin-bottom:14px}
.hero-lead{font-size:15px;line-height:1.85;color:#b6c4e4;max-width:640px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 18px}
.pill-row{display:flex;flex-wrap:wrap;gap:10px}
.pill{
  font-size:12.5px;padding:6px 14px;border-radius:999px;
  color:#a9c2ee;border:1px solid rgba(112,156,255,.24);background:rgba(12,22,50,.6);
}
.hero-panel{
  border-radius:18px;padding:26px;position:relative;
  background:linear-gradient(165deg,rgba(23,36,72,.78),rgba(9,16,38,.86));
  border:1px solid rgba(112,156,255,.28);
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.hero-panel h2{font-size:16px;letter-spacing:.6px;margin-bottom:6px}
.hero-panel .panel-note{font-size:13px;color:var(--muted);margin-bottom:18px}
.squad-cells{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.cell{
  height:64px;border-radius:12px;display:grid;place-items:center;
  font-size:12px;color:#7d8db5;border:1px dashed rgba(112,156,255,.3);
  background:rgba(9,16,38,.6);text-align:center;padding:4px;
}
.cell.filled{
  border:1px solid rgba(62,224,255,.5);color:#d8f6ff;
  background:linear-gradient(160deg,rgba(62,224,255,.22),rgba(63,125,255,.18));
  box-shadow:0 0 22px -10px rgba(62,224,255,.95);
}
.squad-bar{
  height:8px;border-radius:999px;background:rgba(112,156,255,.16);overflow:hidden;margin-bottom:10px;
}
.squad-bar span{display:block;height:100%;width:75%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--primary));box-shadow:0 0 14px rgba(62,224,255,.8)}
.squad-meta{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted)}
.panel-list{margin-top:16px;display:grid;gap:9px}
.panel-list li{font-size:13px;color:#b1c2e6;display:flex;gap:8px;align-items:flex-start}
.panel-list li::before{content:"·";color:var(--cyan);font-weight:800}

/* ===== sections ===== */
.section{padding:64px 0;border-bottom:1px solid rgba(112,156,255,.08)}
.section.alt{background:linear-gradient(180deg,rgba(9,16,36,.72),rgba(6,11,26,.36));border-top:1px solid rgba(112,156,255,.08)}
.section-head{max-width:760px;margin-bottom:34px}
.section-kicker{
  display:inline-block;font-size:12px;letter-spacing:2px;color:var(--cyan);
  padding-bottom:6px;border-bottom:2px solid rgba(62,224,255,.4);margin-bottom:14px;
}
.section-title{font-size:clamp(22px,2.6vw,30px);line-height:1.35;font-weight:800;letter-spacing:.4px}
.section-desc{margin-top:12px;font-size:14.5px;color:var(--muted);line-height:1.85}

/* category cards */
.cat-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:20px}
.cat-card{
  display:flex;flex-direction:column;gap:12px;
  padding:26px 24px;border-radius:var(--radius);
  background:linear-gradient(170deg,rgba(21,33,68,.82),rgba(9,16,38,.86));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
  position:relative;overflow:hidden;
}
.cat-card::before{
  content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--cyan),transparent);opacity:.7;
}
.cat-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 26px 52px -26px rgba(0,0,0,.95),0 0 0 1px rgba(62,224,255,.22)}
.cat-card.feature{background:linear-gradient(165deg,rgba(41,72,158,.55),rgba(11,19,44,.9))}
.cat-icon{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  border:1px solid rgba(62,224,255,.35);background:rgba(62,224,255,.1);
  font-size:15px;font-weight:800;color:var(--cyan);letter-spacing:0;
}
.cat-card h3{font-size:18px;font-weight:800;letter-spacing:.3px}
.cat-card p{font-size:13.5px;color:var(--muted);line-height:1.8}
.cat-card .cat-foot{margin-top:auto;padding-top:14px;font-size:13px;color:var(--cyan);font-weight:700;display:flex;align-items:center;gap:6px}
.cat-tags{display:flex;flex-wrap:wrap;gap:8px}
.cat-tags span{font-size:11.5px;color:#9fb4e0;border:1px solid rgba(112,156,255,.24);padding:3px 10px;border-radius:999px}

/* flow list */
.flow-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px}
.flow-item{
  display:flex;gap:16px;padding:18px 20px;border-radius:var(--radius-sm);
  background:rgba(12,21,48,.62);border:1px solid rgba(112,156,255,.14);
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.flow-item:hover{border-color:var(--line-strong);background:rgba(18,30,64,.8);transform:translateY(-2px)}
.flow-num{
  flex:0 0 auto;font-size:13px;font-weight:800;color:var(--cyan);
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:rgba(62,224,255,.1);border:1px solid rgba(62,224,255,.28);
}
.flow-item h4{font-size:15px;margin-bottom:4px}
.flow-item p{font-size:13px;color:var(--muted);line-height:1.75}

/* proof */
.proof-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:start}
.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.proof-card{
  padding:22px;border-radius:var(--radius);
  background:linear-gradient(160deg,rgba(20,32,66,.82),rgba(9,16,38,.86));
  border:1px solid var(--line);box-shadow:var(--shadow);
  transition:transform .2s ease,border-color .2s ease;
}
.proof-card:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.proof-card h4{font-size:15px;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.proof-card h4::before{content:"";width:8px;height:8px;border-radius:3px;background:var(--cyan);box-shadow:0 0 10px rgba(62,224,255,.9)}
.proof-card p{font-size:13px;color:var(--muted);line-height:1.8}

/* stat band */
.stat-band{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  padding:26px;border-radius:16px;
  background:linear-gradient(120deg,rgba(30,52,112,.6),rgba(11,19,44,.82));
  border:1px solid rgba(112,156,255,.22);
  box-shadow:var(--shadow);
}
.stat-item{text-align:center;padding:8px 6px;border-right:1px solid rgba(112,156,255,.14)}
.stat-item:last-child{border-right:0}
.stat-num{font-size:clamp(24px,3vw,32px);font-weight:800;color:#eafaff;letter-spacing:.5px;
  background:linear-gradient(120deg,#ffffff,#7fd8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-label{font-size:12.5px;color:var(--muted);margin-top:4px;letter-spacing:.5px}
.stat-sub{font-size:11.5px;color:#7c8cb4;margin-top:2px}

/* rank */
.rank-list{display:grid;gap:10px}
.rank-row{
  display:grid;grid-template-columns:52px 1.4fr .9fr .9fr 70px;align-items:center;gap:14px;
  padding:16px 20px;border-radius:var(--radius-sm);
  background:rgba(12,21,48,.6);border:1px solid rgba(112,156,255,.12);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.rank-row:hover{background:rgba(20,33,70,.82);border-color:var(--line-strong);transform:translateX(3px)}
.rank-no{font-size:16px;font-weight:800;color:#8ba0cc}
.rank-row.top .rank-no{color:var(--gold)}
.rank-name{font-size:14.5px;font-weight:700}
.rank-name small{display:block;font-size:11.5px;color:var(--muted);font-weight:400;margin-top:2px}
.rank-meta{font-size:12.5px;color:var(--muted);text-align:right}
.trend{font-size:12px;font-weight:700;text-align:right}
.trend.up{color:#5ce6a8}
.trend.down{color:#ff8b9b}
.trend.flat{color:#9aa8cc}

/* scene */
.scene-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:36px;align-items:center}
.scene-media{
  border-radius:18px;overflow:hidden;border:1px solid rgba(112,156,255,.28);
  box-shadow:var(--shadow);position:relative;
}
.scene-media img{width:100%;aspect-ratio:16/10;object-fit:cover}
.scene-media figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:16px 18px;font-size:12.5px;color:#dbe8ff;
  background:linear-gradient(180deg,transparent,rgba(3,7,20,.92));
}
.scene-items{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.scene-card{
  padding:20px;border-radius:var(--radius-sm);
  background:rgba(12,21,48,.66);border:1px solid rgba(112,156,255,.14);
  transition:transform .2s ease,border-color .2s ease;
}
.scene-card:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.scene-card h4{font-size:14.5px;margin-bottom:6px}
.scene-card p{font-size:12.8px;color:var(--muted);line-height:1.78}

/* objections */
.objection-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:36px;align-items:start}
.objection-list{display:grid;gap:12px}
details.obj{
  border-radius:var(--radius-sm);border:1px solid rgba(112,156,255,.16);
  background:rgba(12,21,48,.62);overflow:hidden;
  transition:border-color .2s ease,background .2s ease;
}
details.obj[open]{border-color:rgba(62,224,255,.36);background:rgba(16,28,60,.86)}
details.obj summary{
  cursor:pointer;list-style:none;padding:16px 20px;font-size:14.5px;font-weight:700;
  display:flex;justify-content:space-between;gap:14px;align-items:center;min-height:48px;
}
details.obj summary::-webkit-details-marker{display:none}
details.obj summary::after{
  content:"+";flex:0 0 auto;color:var(--cyan);font-size:18px;font-weight:700;line-height:1;
  transition:transform .2s ease;
}
details.obj[open] summary::after{content:"–";transform:rotate(0)}
details.obj .obj-body{padding:0 20px 18px;font-size:13.4px;color:#a9b9dd;line-height:1.85}

/* apply */
.apply-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:start}
.apply-card{
  padding:26px;border-radius:16px;
  background:linear-gradient(165deg,rgba(22,35,72,.82),rgba(9,16,38,.88));
  border:1px solid rgba(112,156,255,.22);box-shadow:var(--shadow);
}
.apply-block{margin-bottom:22px}
.apply-block h4{font-size:14.5px;margin-bottom:10px;color:#dceaff}
.apply-block h4 span{
  font-size:11px;color:var(--cyan);border:1px solid rgba(62,224,255,.35);
  border-radius:999px;padding:1px 9px;margin-left:8px;font-weight:600;
}
.apply-list{display:grid;gap:9px}
.apply-list li{
  font-size:13.2px;color:#a9b9dd;line-height:1.78;padding-left:18px;position:relative;
}
.apply-list li::before{
  content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;
  background:linear-gradient(135deg,var(--cyan),var(--primary));
}
.apply-form{
  padding:26px;border-radius:16px;
  background:linear-gradient(170deg,rgba(31,52,110,.62),rgba(8,14,34,.92));
  border:1px solid rgba(112,156,255,.3);
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.06);
}
.apply-form h3{font-size:17px;margin-bottom:6px}
.apply-form .form-note{font-size:12.5px;color:var(--muted);margin-bottom:18px}
.field{margin-bottom:14px}
.field label{display:block;font-size:12.5px;color:#a9b9dd;margin-bottom:6px;letter-spacing:.4px}
.field input,.field select,.field textarea{
  width:100%;padding:11px 14px;border-radius:10px;
  background:rgba(6,12,30,.85);border:1px solid rgba(112,156,255,.22);
  color:var(--text);font-size:13.5px;outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
  min-height:44px;
}
.field textarea{min-height:92px;resize:vertical;line-height:1.7}
.field input::placeholder,.field textarea::placeholder{color:#65739a}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--cyan);box-shadow:0 0 0 3px rgba(62,224,255,.14);
}
.form-hint{font-size:11.5px;color:#78889f;margin-top:10px;line-height:1.7}

/* news */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.news-card{
  display:flex;flex-direction:column;gap:10px;padding:22px;
  border-radius:var(--radius);
  background:linear-gradient(165deg,rgba(19,31,64,.8),rgba(9,16,38,.88));
  border:1px solid var(--line);box-shadow:var(--shadow);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.news-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 26px 50px -26px rgba(0,0,0,.95)}
.news-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px;color:#7f8fb8}
.tag{
  display:inline-block;font-size:11.5px;padding:2px 10px;border-radius:999px;
  color:var(--cyan);background:rgba(62,224,255,.1);border:1px solid rgba(62,224,255,.3);
}
.news-card h3{font-size:15.5px;line-height:1.55;font-weight:700}
.news-card h3 a{transition:color .2s ease}
.news-card h3 a:hover{color:var(--cyan)}
.news-card p{font-size:13px;color:var(--muted);line-height:1.78;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-more{margin-top:auto;padding-top:10px;font-size:12.5px;color:var(--cyan);font-weight:700}
.news-more:hover{text-decoration:underline}
.empty-state{
  padding:44px 24px;text-align:center;color:var(--muted);font-size:14px;
  border:1px dashed rgba(112,156,255,.28);border-radius:var(--radius);background:rgba(12,21,48,.5);
}

/* timeline */
.timeline{position:relative;display:grid;gap:18px;padding-left:26px}
.timeline::before{
  content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(180deg,var(--cyan),rgba(63,125,255,.16));
}
.tl-item{position:relative;padding:16px 20px;border-radius:var(--radius-sm);
  background:rgba(12,21,48,.6);border:1px solid rgba(112,156,255,.14);}
.tl-item::before{
  content:"";position:absolute;left:-25px;top:24px;width:10px;height:10px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 0 4px rgba(62,224,255,.14),0 0 14px rgba(62,224,255,.8);
}
.tl-item b{font-size:13px;color:var(--cyan);letter-spacing:.6px}
.tl-item h4{font-size:14.5px;margin:4px 0 6px}
.tl-item p{font-size:13px;color:var(--muted);line-height:1.78}

/* cta band */
.cta-band{
  position:relative;overflow:hidden;padding:44px 40px;border-radius:20px;
  background:linear-gradient(120deg,rgba(48,86,182,.62),rgba(14,23,52,.94));
  border:1px solid rgba(112,156,255,.34);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
}
.cta-band::after{
  content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(62,224,255,.35),transparent 70%);
}
.cta-band h2{font-size:clamp(20px,2.4vw,26px);font-weight:800;margin-bottom:8px;position:relative;z-index:2}
.cta-band p{font-size:13.5px;color:#b7c7e8;max-width:620px;position:relative;z-index:2}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:2}

/* footer */
.site-footer{border-top:1px solid var(--line);background:rgba(4,8,20,.9);padding:48px 0 0;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:36px;padding-bottom:34px}
.footer-brand{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.footer-brand .brand-mark{width:38px;height:38px;border-radius:11px;font-size:17px}
.footer-brand strong{font-size:16px;display:block;line-height:1.4}
.footer-brand em{font-style:normal;font-size:11.5px;color:var(--muted);letter-spacing:.8px}
.footer-col p{font-size:13px;color:var(--muted);line-height:1.85;max-width:360px}
.footer-col h4{font-size:13.5px;letter-spacing:1px;margin-bottom:14px;color:#d9e6ff}
.footer-links{display:grid;gap:9px}
.footer-links a{font-size:13px;color:var(--muted);transition:color .2s ease,transform .2s ease;min-height:32px;display:inline-block}
.footer-links a:hover{color:var(--cyan);transform:translateX(3px)}
.footer-bottom{
  border-top:1px solid rgba(112,156,255,.12);padding:18px 0 24px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font-size:12px;color:#7a89ad;
}
.footer-bottom span{line-height:1.8}

@media (max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:34px;padding:50px 0 54px}
  .hero-lead{max-width:none}
  .cat-grid{grid-template-columns:1fr 1fr}
  .cat-card.feature{grid-column:1/-1}
  .proof-wrap{grid-template-columns:1fr;gap:24px}
  .scene-grid{grid-template-columns:1fr}
  .objection-grid{grid-template-columns:1fr;gap:24px}
  .apply-grid{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr 1fr}
  .stat-band{grid-template-columns:1fr 1fr;gap:10px}
  .stat-item:nth-child(2){border-right:0}
  .stat-item:nth-child(1),.stat-item:nth-child(2){border-bottom:1px solid rgba(112,156,255,.14);padding-bottom:16px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .container{width:calc(100% - 32px)}
  .search-box{display:none}
  .nav-toggle{display:grid;place-items:center}
  .header-tools .btn-sm{display:none}
  .channel-bar{display:none}
  .section{padding:48px 0}
  .flow-list{grid-template-columns:1fr}
  .proof-grid{grid-template-columns:1fr}
  .scene-items{grid-template-columns:1fr}
  .rank-row{grid-template-columns:40px 1fr 64px;row-gap:6px}
  .rank-meta{grid-column:2/3;text-align:left}
  .rank-row .rank-meta:nth-of-type(2){display:none}
  .cta-band{padding:30px 22px}
  .footer-grid{grid-template-columns:1fr;gap:26px}
}
@media (max-width:520px){
  .hero-inner{padding:40px 0 44px}
  .hero h1{font-size:26px}
  .hero-lead{font-size:14px}
  .cat-grid{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr}
  .stat-band{grid-template-columns:1fr;padding:20px}
  .stat-item{border-right:0;border-bottom:1px solid rgba(112,156,255,.14);padding-bottom:14px}
  .stat-item:last-child{border-bottom:0;padding-bottom:0}
  .squad-cells{grid-template-columns:repeat(2,1fr)}
  .apply-form,.apply-card,.hero-panel{padding:20px}
  .cta-actions .btn{width:100%}
  .footer-bottom{flex-direction:column}
}

/* roulang page: article */
:root{
 --bg:#050a18;
 --bg-soft:#070e20;
 --bg-deep:#03060f;
 --panel:rgba(17,27,54,.72);
 --panel-solid:#0c1530;
 --line:rgba(112,156,255,.16);
 --line-strong:rgba(112,156,255,.42);
 --text:#e9efff;
 --muted:#94a3c8;
 --primary:#3f7dff;
 --primary-deep:#2b5cd8;
 --cyan:#3ee0ff;
 --violet:#8f6bff;
 --gold:#ffc861;
 --radius:14px;
 --radius-sm:10px;
 --shadow:0 20px 44px -24px rgba(2,7,22,.92);
 --glow:0 0 0 1px rgba(62,224,255,.28), 0 12px 34px -12px rgba(63,125,255,.62);
 --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
 margin:0;
 font-family:var(--font);
 font-size:16px;
 line-height:1.75;
 color:var(--text);
 background:
  radial-gradient(1100px 620px at 82% -8%, rgba(63,125,255,.22), transparent 62%),
  radial-gradient(880px 520px at 4% 6%, rgba(143,107,255,.16), transparent 60%),
  linear-gradient(180deg,var(--bg-deep) 0%, var(--bg) 42%, var(--bg-soft) 100%);
 background-attachment:fixed;
 min-height:100vh;
 overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button,input{font-family:inherit;font-size:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:.3px}
p{margin:0}
ul{margin:0}
::selection{background:rgba(62,224,255,.32);color:#fff}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.container{width:min(1180px,calc(100% - 48px));margin:0 auto}

/* ===== header ===== */
.site-header{
 position:sticky;top:0;z-index:60;
 background:rgba(5,10,26,.82);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
 border-bottom:1px solid var(--line);
 transition:box-shadow .25s ease,background .25s ease;
}
.site-header.is-stuck{box-shadow:0 14px 34px -20px rgba(0,0,0,.95);background:rgba(5,10,26,.94)}
.header-top-inner{
 display:flex;align-items:center;justify-content:space-between;gap:20px;
 min-height:64px;padding:8px 0;
}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand-mark{
 width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
 font-size:19px;font-weight:800;color:#04101f;
 background:linear-gradient(145deg,var(--cyan),var(--primary));
 box-shadow:0 0 0 1px rgba(62,224,255,.4),0 10px 22px -12px rgba(62,224,255,.9);
}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-text strong{font-size:17px;letter-spacing:.4px;font-weight:800}
.brand-text em{font-style:normal;font-size:11px;color:var(--muted);letter-spacing:1.2px}
.header-tools{display:flex;align-items:center;gap:12px}
.search-box{
 display:flex;align-items:center;gap:6px;
 background:rgba(12,21,48,.9);
 border:1px solid var(--line);
 border-radius:999px;
 padding:5px 6px 5px 14px;
 transition:border-color .2s ease,box-shadow .2s ease;
}
.search-box:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 3px rgba(63,125,255,.16)}
.search-box input{
 width:158px;background:transparent;border:0;outline:none;
 font-size:13px;color:var(--text);padding:4px 0;
}
.search-box input::placeholder{color:#66759c}
.search-box button{
 border:0;cursor:pointer;border-radius:999px;
 padding:6px 14px;font-size:12px;font-weight:700;letter-spacing:.5px;
 background:rgba(62,224,255,.16);color:var(--cyan);
 transition:background .2s ease,color .2s ease;
}
.search-box button:hover{background:var(--cyan);color:#03111c}
.nav-toggle{
 display:none;width:42px;height:42px;border-radius:11px;cursor:pointer;
 background:rgba(12,21,48,.9);border:1px solid var(--line);
 color:var(--text);font-size:15px;font-weight:700;
}
.channel-bar{border-top:1px solid rgba(112,156,255,.12);background:rgba(6,12,30,.6)}
.channel-inner{
 display:flex;align-items:center;gap:8px;
 padding:6px 0;overflow-x:auto;scrollbar-width:none;
}
.channel-inner::-webkit-scrollbar{display:none}
.channel{
 flex:0 0 auto;display:inline-flex;align-items:center;
 padding:9px 18px;border-radius:999px;
 font-size:13.5px;color:#9fb0d4;letter-spacing:.4px;
 border:1px solid transparent;white-space:nowrap;
 transition:color .2s ease,background .2s ease,border-color .2s ease;
 min-height:38px;
}
.channel:hover{color:#e9f6ff;background:rgba(62,224,255,.1);border-color:rgba(62,224,255,.28)}
.channel.is-active{
 color:#eaf7ff;background:rgba(63,125,255,.2);
 border-color:rgba(62,224,255,.45);
 box-shadow:0 0 0 1px rgba(62,224,255,.16) inset;
}
.mobile-drawer{display:none;border-top:1px solid var(--line);background:rgba(6,12,30,.98);padding:14px 0 20px}
.mobile-drawer.is-open{display:block}
.mobile-drawer a{
 display:block;padding:12px 4px;border-bottom:1px solid rgba(112,156,255,.1);
 font-size:15px;color:var(--text);min-height:44px;
}
.mobile-drawer .btn{margin-top:14px;width:100%;justify-content:center}

/* ===== buttons / tags ===== */
.btn{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 padding:12px 24px;border-radius:10px;border:1px solid transparent;
 font-size:14px;font-weight:700;letter-spacing:.4px;cursor:pointer;
 transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
 min-height:44px;
}
.btn-glow{
 color:#f4fbff;
 background:linear-gradient(135deg,var(--primary),#6b46ff);
 box-shadow:var(--glow);
}
.btn-glow:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(62,224,255,.5),0 18px 40px -12px rgba(63,125,255,.9)}
.btn-glow:active{transform:translateY(0)}
.btn-ghost{
 color:var(--text);border-color:var(--line-strong);
 background:rgba(14,24,52,.6);
}
.btn-ghost:hover{border-color:var(--cyan);color:#dff9ff;background:rgba(62,224,255,.1);transform:translateY(-2px)}
.btn-sm{padding:9px 18px;font-size:13px;min-height:40px}
.tag{
 display:inline-flex;align-items:center;gap:6px;
 font-size:12.5px;padding:6px 14px;border-radius:999px;
 color:#a8ddff;background:rgba(63,125,255,.14);
 border:1px solid rgba(112,156,255,.26);
}
.tag--cyan{color:var(--cyan);background:rgba(62,224,255,.1);border-color:rgba(62,224,255,.32)}
.tag--gold{color:var(--gold);background:rgba(255,200,97,.1);border-color:rgba(255,200,97,.32)}
.badge{
 display:inline-flex;align-items:center;gap:6px;
 font-size:12px;letter-spacing:.6px;padding:5px 12px;border-radius:8px;
 color:var(--cyan);background:rgba(62,224,255,.1);
 border:1px solid rgba(62,224,255,.3);
}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}

/* ===== article hero ===== */
.article-hero{
 position:relative;overflow:hidden;
 border-bottom:1px solid var(--line);
 background-image:linear-gradient(112deg,rgba(4,9,23,.96) 30%,rgba(6,13,33,.8) 62%,rgba(6,13,33,.62)),url("/assets/images/打麻将老是输怎么办熟记8个麻将口诀_让你十打九赢.webp");
 background-size:cover;background-position:center;
}
.article-hero::after{
 content:"";position:absolute;inset:auto -12% -46% -12%;height:62%;
 background:radial-gradient(closest-side,rgba(63,125,255,.22),transparent 70%);
 pointer-events:none;
}
.article-hero .container{position:relative;z-index:2;padding:34px 0 52px}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:#8d9dc2}
.crumb a{color:#a9bce4;transition:color .2s ease}
.crumb a:hover{color:var(--cyan)}
.crumb span.sep{color:#4d5c80}
.article-hero-grid{
 display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px;align-items:center;
 margin-top:22px;
}
.meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
.article-hero h1{
 font-size:clamp(26px,3.4vw,38px);line-height:1.34;letter-spacing:.5px;
 background:linear-gradient(100deg,#ffffff 24%,#a6dbff 64%,#a094ff 100%);
 -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-lead{
 margin-top:16px;font-size:15px;line-height:1.9;color:#b3c2e2;max-width:680px;
}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero-thumb{
 position:relative;margin:0;border-radius:var(--radius);overflow:hidden;
 border:1px solid var(--line-strong);
 box-shadow:var(--shadow);
}
.hero-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-thumb::after{
 content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,transparent 45%,rgba(3,6,15,.82));
}
.hero-thumb figcaption{
 position:absolute;left:16px;right:16px;bottom:14px;z-index:2;
 font-size:12.5px;color:#cfdcf7;line-height:1.6;
}

/* ===== layout ===== */
.article-layout{
 display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px;
 padding:52px 0 8px;align-items:start;
}
.article-main{min-width:0;max-width:720px}
.card{
 background:var(--panel);
 border:1px solid var(--line);
 border-radius:var(--radius);
 box-shadow:var(--shadow);
 backdrop-filter:blur(14px);
 -webkit-backdrop-filter:blur(14px);
}
.article-card{padding:30px 30px 34px}
.article-card-head{
 display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
 padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid var(--line);
}
.article-card-head strong{font-size:14px;letter-spacing:.6px;color:#cfe0ff}
.article-card-head span{font-size:12.5px;color:#7f8db0}

/* CMS content */
.article-content{font-size:15.5px;line-height:1.85;color:#c3cfea}
.article-content h2{
 font-size:21px;color:#eaf1ff;margin:30px 0 12px;padding-left:12px;
 border-left:3px solid var(--cyan);
}
.article-content h3{font-size:17.5px;color:#dde8ff;margin:24px 0 10px}
.article-content h4{font-size:16px;color:#d3e0fb;margin:20px 0 8px}
.article-content p{margin:0 0 14px}
.article-content ul,.article-content ol{margin:0 0 16px;padding-left:22px}
.article-content li{margin-bottom:8px}
.article-content strong{color:#ffffff;font-weight:700}
.article-content a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.article-content a:hover{color:#a5f2ff}
.article-content img{border-radius:12px;border:1px solid var(--line);margin:18px 0}
.article-content table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px}
.article-content th,.article-content td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.article-content th{background:rgba(63,125,255,.14);color:#e2ecff;font-weight:700}
.article-content tr:nth-child(even) td{background:rgba(12,21,48,.5)}
.article-content blockquote{
 margin:18px 0;padding:14px 18px;border-left:3px solid var(--primary);
 background:rgba(63,125,255,.09);border-radius:0 10px 10px 0;color:#bccae8;
}
.article-content code{
 background:rgba(62,224,255,.13);color:#9ff0ff;padding:2px 7px;border-radius:6px;font-size:13.5px;
}
.article-empty{text-align:center;padding:26px 0 6px}
.article-empty h2{font-size:20px;margin-bottom:10px}
.article-empty p{color:var(--muted);font-size:14px;margin-bottom:18px}

/* sidebar */
.article-side{position:sticky;top:92px;display:grid;gap:18px}
.side-card{padding:22px}
.side-title{
 font-size:13px;letter-spacing:1.2px;color:#9fb2d8;font-weight:700;
 display:flex;align-items:center;gap:8px;margin-bottom:16px;
}
.side-title::before{content:"";width:14px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--cyan),var(--primary))}
.info-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.info-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;font-size:13.5px;color:#b6c4e4}
.info-list li span:first-child{color:#8b9cbf;flex:0 0 auto}
.info-list li span:last-child{text-align:right;color:#e2ecff;font-weight:600;word-break:break-word}
.stat-mini{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stat-mini div{
 background:rgba(10,19,42,.8);border:1px solid var(--line);border-radius:var(--radius-sm);
 padding:12px 14px;
}
.stat-mini b{display:block;font-size:19px;color:var(--cyan);letter-spacing:.5px}
.stat-mini small{display:block;font-size:11.5px;color:#8494b8;letter-spacing:.6px;margin-top:2px}
.side-links{display:grid;gap:10px}
.side-links a{
 display:flex;align-items:center;justify-content:space-between;gap:10px;
 padding:10px 14px;border-radius:var(--radius-sm);
 border:1px solid var(--line);background:rgba(12,21,48,.6);
 font-size:13.5px;color:#c3cfea;min-height:42px;
 transition:border-color .2s ease,background .2s ease,transform .2s ease,color .2s ease;
}
.side-links a:hover{border-color:var(--line-strong);background:rgba(63,125,255,.14);color:#eaf6ff;transform:translateY(-2px)}
.side-links a i{font-style:normal;color:var(--cyan);font-size:12px}

/* ===== sections ===== */
.section{padding:56px 0;position:relative}
.section--alt{
 background:linear-gradient(180deg,rgba(7,14,32,.78),rgba(5,10,26,.42));
 border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.section-head{margin-bottom:26px;max-width:760px}
.kicker{
 display:inline-flex;align-items:center;gap:8px;
 font-size:12px;letter-spacing:1.4px;color:var(--cyan);
 margin-bottom:12px;
}
.kicker::before{content:"";width:20px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--cyan),transparent)}
.section-title{font-size:clamp(20px,2.3vw,27px);line-height:1.4}
.section-desc{margin-top:10px;font-size:14.5px;color:#a7b6d7;line-height:1.85}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.feature-card{padding:24px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.feature-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 24px 48px -26px rgba(2,7,22,.98),0 0 0 1px rgba(62,224,255,.16)}
.feature-icon{
 width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
 background:rgba(63,125,255,.16);border:1px solid rgba(112,156,255,.3);
 color:var(--cyan);margin-bottom:16px;
}
.feature-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.feature-card h3{font-size:16.5px;margin-bottom:10px;color:#eaf1ff}
.feature-card p{font-size:14px;line-height:1.8;color:#a9b8d8}
.feature-card .tag{margin-top:16px}

/* params */
.param-wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:34px;align-items:center}
.param-media{
 border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-strong);
 box-shadow:var(--shadow);position:relative;
}
.param-media img{width:100%;aspect-ratio:16/11;object-fit:cover}
.param-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.param-item{
 padding:16px 18px;border-radius:var(--radius-sm);
 background:rgba(10,19,42,.78);border:1px solid var(--line);
 transition:border-color .2s ease,transform .2s ease;
}
.param-item:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.param-item b{display:block;font-size:21px;color:#eaf6ff;letter-spacing:.6px}
.param-item b em{font-style:normal;color:var(--cyan);font-size:14px;margin-left:4px}
.param-item small{display:block;margin-top:4px;font-size:12.5px;color:#8595b9;letter-spacing:.4px}
.param-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.param-list li{
 position:relative;padding-left:22px;font-size:14.5px;color:#b6c4e4;line-height:1.8;
}
.param-list li::before{
 content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;border-radius:2px;
 background:linear-gradient(135deg,var(--cyan),var(--primary));
 box-shadow:0 0 10px rgba(62,224,255,.6);
}
.param-list li strong{color:#ffffff}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:step}
.step{
 position:relative;padding:24px 20px 22px;border-radius:var(--radius);
 background:rgba(11,20,44,.72);border:1px solid var(--line);
 transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.step:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:var(--shadow)}
.step-num{
 display:inline-flex;align-items:center;justify-content:center;
 width:32px;height:32px;border-radius:10px;margin-bottom:14px;
 font-size:13px;font-weight:800;color:#04101f;
 background:linear-gradient(145deg,var(--cyan),var(--primary));
}
.step h3{font-size:15.5px;margin-bottom:8px;color:#eaf1ff}
.step p{font-size:13.5px;color:#a5b4d6;line-height:1.8}

/* channel matrix */
.matrix-card{padding:24px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.matrix-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 24px 48px -26px rgba(2,7,22,.98)}
.matrix-card h3{font-size:16.5px;margin:0 0 8px;color:#eaf1ff}
.matrix-card p{font-size:13.8px;color:#a9b8d8;line-height:1.8;margin-bottom:16px}
.matrix-more{
 display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--cyan);
 transition:gap .2s ease,color .2s ease;
}
.matrix-more:hover{gap:11px;color:#a5f2ff}

/* faq */
.faq-list{display:grid;gap:14px}
.faq-item{padding:20px 24px;border-radius:var(--radius);background:rgba(11,20,44,.7);border:1px solid var(--line)}
.faq-item h3{font-size:15.5px;color:#e8f0ff;margin-bottom:8px;display:flex;gap:10px;align-items:flex-start}
.faq-item h3 span{color:var(--cyan);font-weight:800}
.faq-item p{font-size:14px;color:#a7b6d7;line-height:1.85}

/* cta */
.cta-band{
 position:relative;overflow:hidden;
 border-radius:var(--radius);
 border:1px solid var(--line-strong);
 background:
  radial-gradient(680px 300px at 84% 0%, rgba(143,107,255,.32), transparent 68%),
  radial-gradient(620px 320px at 8% 100%, rgba(62,224,255,.22), transparent 66%),
  linear-gradient(140deg,rgba(13,24,54,.96),rgba(7,13,32,.96));
 padding:40px 38px;
 display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;
 box-shadow:var(--shadow);
}
.cta-band h2{font-size:clamp(20px,2.2vw,26px);line-height:1.45;margin-bottom:10px}
.cta-band p{font-size:14.5px;color:#b4c3e3;line-height:1.85;max-width:640px}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}

/* footer */
.site-footer{
 margin-top:56px;
 background:rgba(3,6,15,.94);
 border-top:1px solid var(--line);
 padding:52px 0 0;
}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.footer-brand span strong{display:block;font-size:16px;color:#eaf1ff}
.footer-brand span em{font-style:normal;font-size:11.5px;color:var(--muted);letter-spacing:1px}
.footer-col p{font-size:13.5px;color:#93a3c6;line-height:1.85;max-width:420px}
.footer-col h4{font-size:13px;letter-spacing:1.2px;color:#c4d3f0;margin-bottom:16px}
.footer-links{display:grid;gap:10px}
.footer-links a{font-size:13.5px;color:#93a3c6;transition:color .2s ease,transform .2s ease;display:inline-block}
.footer-links a:hover{color:var(--cyan);transform:translateX(3px)}
.footer-bottom{
 display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;
 margin-top:38px;padding:18px 0 22px;border-top:1px solid var(--line);
 font-size:12.5px;color:#7b8aad;
}

/* ===== responsive ===== */
@media (max-width:1024px){
 .article-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .article-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}
 .article-main{max-width:none}
 .article-hero-grid{grid-template-columns:minmax(0,1fr) 280px;gap:28px}
 .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .param-wrap{grid-template-columns:minmax(0,1fr)}
 .param-media{order:2}
 .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
 .cta-band{grid-template-columns:minmax(0,1fr);padding:32px 28px}
}
@media (max-width:768px){
 .container{width:calc(100% - 32px)}
 .header-tools .search-box{display:none}
 .nav-toggle{display:inline-grid;place-items:center}
 .article-hero .container{padding:24px 0 40px}
 .article-hero-grid{grid-template-columns:minmax(0,1fr)}
 .hero-thumb{order:-1;max-width:420px}
 .hero-thumb img{aspect-ratio:16/9}
 .article-card{padding:22px 18px 26px}
 .grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}
 .steps{grid-template-columns:minmax(0,1fr)}
 .article-side{grid-template-columns:minmax(0,1fr)}
 .section{padding:42px 0}
 .footer-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:520px){
 .brand-text strong{font-size:15px}
 .brand-text em{font-size:10px;letter-spacing:.6px}
 .hero-tags{gap:8px}
 .tag{font-size:12px;padding:5px 12px}
 .param-grid{grid-template-columns:minmax(0,1fr)}
 .cta-band{padding:26px 20px}
 .cta-actions .btn{width:100%}
 .footer-bottom{flex-direction:column;align-items:flex-start}
}

/* roulang page: category1 */
:root{
 --bg:#050a18;
 --bg-soft:#070e20;
 --bg-deep:#03060f;
 --panel:rgba(17,27,54,.72);
 --panel-solid:#0c1530;
 --line:rgba(112,156,255,.16);
 --line-strong:rgba(112,156,255,.42);
 --text:#e9efff;
 --muted:#94a3c8;
 --primary:#3f7dff;
 --primary-deep:#2b5cd8;
 --cyan:#3ee0ff;
 --violet:#8f6bff;
 --gold:#ffc861;
 --radius:14px;
 --radius-sm:10px;
 --shadow:0 20px 44px -24px rgba(2,7,22,.92);
 --glow:0 0 0 1px rgba(62,224,255,.28), 0 12px 34px -12px rgba(63,125,255,.62);
 --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
 margin:0;
 font-family:var(--font);
 font-size:16px;
 line-height:1.75;
 color:var(--text);
 background:
 radial-gradient(1100px 620px at 82% -8%, rgba(63,125,255,.22), transparent 62%),
 radial-gradient(880px 520px at 4% 6%, rgba(143,107,255,.16), transparent 60%),
 linear-gradient(180deg,var(--bg-deep) 0%, var(--bg) 42%, var(--bg-soft) 100%);
 background-attachment:fixed;
 min-height:100vh;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.container{width:min(1180px,calc(100% - 48px));margin:0 auto}
/* ===== header ===== */
.site-header{
 position:sticky;top:0;z-index:60;
 background:rgba(5,10,26,.82);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
 border-bottom:1px solid var(--line);
 transition:box-shadow .25s ease,background .25s ease;
}
.site-header.is-stuck{box-shadow:0 14px 34px -20px rgba(0,0,0,.95);background:rgba(5,10,26,.94)}
.header-top-inner{
 display:flex;align-items:center;justify-content:space-between;gap:20px;
 min-height:64px;padding:8px 0;
}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand-mark{
 width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
 font-size:19px;font-weight:800;color:#04101f;
 background:linear-gradient(145deg,var(--cyan),var(--primary));
 box-shadow:0 0 0 1px rgba(62,224,255,.4),0 10px 22px -12px rgba(62,224,255,.9);
}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-text strong{font-size:17px;letter-spacing:.4px;font-weight:800}
.brand-text em{font-style:normal;font-size:11px;color:var(--muted);letter-spacing:1.2px}
.header-tools{display:flex;align-items:center;gap:12px}
.search-box{
 display:flex;align-items:center;gap:6px;
 background:rgba(12,21,48,.9);
 border:1px solid var(--line);
 border-radius:999px;
 padding:5px 6px 5px 14px;
 transition:border-color .2s ease,box-shadow .2s ease;
}
.search-box:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 3px rgba(63,125,255,.16)}
.search-box input{width:158px;background:transparent;border:0;outline:none;font-size:13px;color:var(--text);padding:4px 0}
.search-box input::placeholder{color:#66759c}
.search-box button{
 border:0;cursor:pointer;border-radius:999px;padding:6px 14px;
 font-size:12px;font-weight:700;letter-spacing:.5px;
 background:rgba(62,224,255,.16);color:var(--cyan);
 transition:background .2s ease,color .2s ease;
}
.search-box button:hover{background:var(--cyan);color:#03111c}
.nav-toggle{
 display:none;width:42px;height:42px;border-radius:11px;cursor:pointer;
 background:rgba(12,21,48,.9);border:1px solid var(--line);
 color:var(--text);font-size:16px;
}
.mobile-drawer{display:none;border-top:1px solid var(--line);background:rgba(6,12,30,.98);padding:14px 0 20px}
.mobile-drawer.is-open{display:block}
.mobile-drawer a{
 display:block;padding:12px 4px;border-bottom:1px solid rgba(112,156,255,.1);
 font-size:15px;color:var(--text);min-height:44px;
}
.mobile-drawer .btn{margin-top:14px;width:100%;justify-content:center}
/* ===== channel tabs ===== */
.channel-bar{background:rgba(4,9,22,.72);border-bottom:1px solid var(--line)}
.channel-inner{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:10px 0;scrollbar-width:none}
.channel-inner::-webkit-scrollbar{display:none}
.channel{
 flex:0 0 auto;display:inline-flex;align-items:center;
 padding:8px 16px;border-radius:999px;font-size:13.5px;color:var(--muted);
 border:1px solid transparent;min-height:38px;letter-spacing:.3px;
 transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.channel:hover{color:#e2f4ff;background:rgba(63,125,255,.14);border-color:var(--line)}
.channel.is-active{
 color:#03111c;font-weight:700;
 background:linear-gradient(135deg,var(--cyan),var(--primary));
 box-shadow:0 10px 22px -12px rgba(62,224,255,.95);
}
/* ===== buttons ===== */
.btn{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 padding:12px 24px;border-radius:10px;border:1px solid transparent;
 font-size:14px;font-weight:700;letter-spacing:.4px;cursor:pointer;min-height:44px;
 transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.btn-glow{color:#f4fbff;background:linear-gradient(135deg,var(--primary),#6b46ff);box-shadow:var(--glow)}
.btn-glow:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(62,224,255,.5),0 18px 40px -12px rgba(63,125,255,.9)}
.btn-ghost{color:var(--text);border-color:var(--line-strong);background:rgba(14,24,52,.6)}
.btn-ghost:hover{border-color:var(--cyan);color:#dff9ff;background:rgba(62,224,255,.1);transform:translateY(-2px)}
.btn-sm{padding:9px 18px;font-size:13px;min-height:40px}
/* ===== hero ===== */
.hero{
 position:relative;overflow:hidden;
 border-bottom:1px solid var(--line);
 background-image:linear-gradient(118deg,rgba(4,9,23,.97) 30%,rgba(6,13,33,.82) 62%,rgba(6,13,33,.6)),url("/assets/images/麻将说胡江苏建达全过程工程咨询有限公司.webp");
 background-size:cover;background-position:center;
}
.hero::after{
 content:"";position:absolute;inset:auto -10% -45% -10%;height:65%;
 background:radial-gradient(closest-side,rgba(63,125,255,.26),transparent 70%);
 pointer-events:none;
}
.hero-inner{
 position:relative;z-index:2;
 display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;
 padding:56px 0 62px;
}
.eyebrow{
 display:inline-flex;align-items:center;gap:8px;
 padding:6px 14px;border-radius:999px;font-size:12px;letter-spacing:1px;
 color:var(--cyan);background:rgba(62,224,255,.1);border:1px solid rgba(62,224,255,.32);
}
.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);display:inline-block}
.hero h1{
 margin:16px 0 12px;font-size:clamp(27px,3.4vw,40px);line-height:1.3;font-weight:800;letter-spacing:.5px;
 background:linear-gradient(100deg,#ffffff 22%,#9fd8ff 62%,#9c8dff 100%);
 -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{font-size:15px;color:#a9bce4;letter-spacing:.4px;margin-bottom:12px}
.hero-lead{font-size:15px;line-height:1.85;color:#b6c4e4;max-width:600px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 16px}
.pill-row{display:flex;flex-wrap:wrap;gap:10px}
.pill{
 font-size:12.5px;padding:6px 14px;border-radius:999px;color:#b9cdf2;
 background:rgba(17,27,54,.8);border:1px solid var(--line);
}
/* hero stacked cards */
.hero-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stack-card{
 padding:18px 20px;border-radius:var(--radius);
 background:var(--panel);border:1px solid var(--line);
 backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 box-shadow:var(--shadow);transition:transform .25s ease,border-color .25s ease;
}
.stack-card:hover{transform:translateY(-4px);border-color:var(--line-strong)}
.stack-main{grid-column:1/-1;background:linear-gradient(150deg,rgba(23,38,80,.92),rgba(10,18,42,.86));border-color:rgba(62,224,255,.34)}
.stack-main .metric{font-size:36px;font-weight:800;color:#eaf7ff;letter-spacing:1px;line-height:1.15}
.stack-main .metric small{font-size:15px;color:var(--cyan);font-weight:700;margin-left:4px}
.stack-card h3{font-size:14px;font-weight:700;color:#dce8ff;margin-bottom:6px}
.stack-card p{font-size:13px;color:var(--muted);line-height:1.7}
.stack-side .num{font-size:24px;font-weight:800;color:var(--gold);letter-spacing:.5px}
.stack-side:nth-child(3){transform:translateY(-12px)}
.stack-side:nth-child(3):hover{transform:translateY(-16px)}
/* ===== section base ===== */
main{display:block}
.section{padding:64px 0}
.section-alt{background:linear-gradient(180deg,rgba(8,15,34,.86),rgba(5,10,24,.5));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.sec-title{font-size:clamp(21px,2.3vw,27px);font-weight:800;letter-spacing:.4px;display:flex;align-items:center;gap:12px}
.sec-title::before{content:"";width:4px;height:24px;border-radius:3px;background:linear-gradient(180deg,var(--cyan),var(--primary))}
.sec-desc{font-size:14px;color:var(--muted);max-width:640px;margin-top:10px;line-height:1.8}
.sec-link{font-size:13px;color:var(--cyan);border-bottom:1px solid rgba(62,224,255,.4);padding-bottom:2px;transition:opacity .2s ease}
.sec-link:hover{opacity:.75}
/* ===== grids & cards ===== */
.grid{display:grid;gap:18px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{
 position:relative;display:flex;flex-direction:column;gap:10px;
 padding:22px;border-radius:var(--radius);
 background:var(--panel);border:1px solid var(--line);
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
 box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 26px 50px -26px rgba(2,7,22,1),0 0 0 1px rgba(62,224,255,.18)}
.card-icon{
 width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
 font-size:13px;font-weight:800;letter-spacing:.5px;color:#04101f;
 background:linear-gradient(145deg,rgba(62,224,255,.95),rgba(63,125,255,.95));
}
.card h3{font-size:16.5px;font-weight:700;letter-spacing:.3px;color:#eaf1ff}
.card p{font-size:14px;line-height:1.8;color:var(--muted)}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.tag{
 font-size:11.5px;padding:4px 10px;border-radius:999px;color:#a9c4f5;
 background:rgba(63,125,255,.12);border:1px solid rgba(112,156,255,.24);letter-spacing:.3px;
}
.tag-gold{color:var(--gold);background:rgba(255,200,97,.1);border-color:rgba(255,200,97,.3)}
.tag-cyan{color:var(--cyan);background:rgba(62,224,255,.1);border-color:rgba(62,224,255,.3)}
/* stats strip */
.stat-strip{
 display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
 padding:22px;border-radius:var(--radius);
 background:linear-gradient(140deg,rgba(19,33,70,.9),rgba(8,15,34,.8));
 border:1px solid var(--line);margin-bottom:26px;
}
.stat{padding:4px 8px}
.stat b{display:block;font-size:26px;font-weight:800;color:#eaf7ff;letter-spacing:.6px}
.stat span{font-size:12.5px;color:var(--muted);letter-spacing:.4px}
/* steps */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:step}
.step{
 position:relative;padding:20px 18px;border-radius:var(--radius);
 background:rgba(13,22,48,.78);border:1px solid var(--line);
 transition:transform .2s ease,border-color .2s ease;
}
.step:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.step::before{
 counter-increment:step;content:counter(step,decimal-leading-zero);
 display:block;font-size:12px;font-weight:800;letter-spacing:1.4px;color:var(--cyan);margin-bottom:8px;
}
.step h4{font-size:14.5px;font-weight:700;margin-bottom:6px;color:#e6efff}
.step p{font-size:13px;color:var(--muted);line-height:1.75}
/* scene block with image */
.scene-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}
.scene-figure{
 border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
 box-shadow:var(--shadow);background:var(--panel-solid);
}
.scene-figure img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .35s ease}
.scene-figure:hover img{transform:scale(1.03)}
.scene-body h2{font-size:clamp(20px,2.2vw,25px);font-weight:800;margin-bottom:12px;letter-spacing:.4px}
.scene-body p{font-size:14.5px;color:#b4c2e2;line-height:1.85;margin-bottom:12px}
.check-list{display:grid;gap:10px;margin-top:8px}
.check-list li{
 display:flex;gap:10px;align-items:flex-start;
 font-size:14px;color:#c2cfe9;line-height:1.75;
 padding:12px 14px;border-radius:var(--radius-sm);
 background:rgba(13,22,48,.66);border:1px solid var(--line);
}
.check-list li::before{
 content:"";flex:0 0 auto;width:8px;height:8px;margin-top:9px;border-radius:2px;
 background:linear-gradient(135deg,var(--cyan),var(--primary));box-shadow:0 0 10px rgba(62,224,255,.7);
}
/* list items */
.algo-list{display:grid;gap:12px}
.algo-item{
 display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;
 padding:18px 20px;border-radius:var(--radius);
 background:rgba(13,22,48,.72);border:1px solid var(--line);
 transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.algo-item:hover{transform:translateY(-3px);border-color:var(--line-strong);background:rgba(18,30,62,.86)}
.algo-no{font-size:13px;font-weight:800;letter-spacing:1px;color:var(--cyan)}
.algo-main h4{font-size:15.5px;font-weight:700;margin-bottom:4px;color:#eaf1ff}
.algo-main p{font-size:13.5px;color:var(--muted);line-height:1.75}
.algo-meta{font-size:12px;color:#8fa2c8;white-space:nowrap;letter-spacing:.4px}
/* proof table-ish rows */
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.proof-card{
 padding:20px;border-radius:var(--radius);
 background:linear-gradient(160deg,rgba(21,36,76,.86),rgba(9,16,36,.84));
 border:1px solid var(--line);
}
.proof-card b{display:block;font-size:22px;color:#eaf7ff;margin-bottom:6px;letter-spacing:.6px}
.proof-card span{font-size:13px;color:var(--muted);line-height:1.75}
/* faq */
.faq-list{display:grid;gap:12px}
.faq-item{
 background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
 padding:0 20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
 transition:border-color .2s ease;
}
.faq-item:hover{border-color:var(--line-strong)}
.faq-item summary{
 cursor:pointer;list-style:none;padding:16px 0;font-weight:700;font-size:15px;
 display:flex;justify-content:space-between;align-items:center;gap:16px;color:#eaf1ff;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--cyan);font-size:20px;line-height:1;font-weight:400}
.faq-item[open] summary::after{content:"–"}
.faq-item p{padding:0 0 18px;font-size:14px;line-height:1.85;color:var(--muted);margin:0}
/* news list */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.news-card{
 display:flex;flex-direction:column;gap:10px;padding:20px;
 border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);
 transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.news-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 24px 46px -26px rgba(2,7,22,1)}
.news-card .news-cat{font-size:11.5px;color:var(--cyan);letter-spacing:.6px}
.news-card h4{font-size:15.5px;font-weight:700;line-height:1.6;color:#eaf1ff}
.news-card p{font-size:13.5px;color:var(--muted);line-height:1.78;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-card time{font-size:12px;color:#8194ba;letter-spacing:.4px}
.empty-note{
 padding:26px;border-radius:var(--radius);text-align:center;
 background:rgba(13,22,48,.66);border:1px dashed var(--line-strong);color:var(--muted);font-size:14px;
}
/* apply */
.apply-panel{
 display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;
 padding:34px;border-radius:18px;
 background:linear-gradient(135deg,rgba(26,44,92,.92),rgba(10,18,42,.9));
 border:1px solid rgba(62,224,255,.28);
 box-shadow:0 30px 60px -34px rgba(2,7,22,1);
}
.apply-panel h2{font-size:clamp(21px,2.3vw,26px);font-weight:800;margin-bottom:12px;letter-spacing:.4px}
.apply-panel p{font-size:14.5px;color:#b6c4e4;line-height:1.85}
.apply-form{display:grid;gap:12px}
.field{display:grid;gap:6px}
.field label{font-size:12.5px;color:#a7b8dc;letter-spacing:.4px}
.field input,.field textarea{
 width:100%;padding:11px 14px;border-radius:10px;
 background:rgba(6,12,30,.86);border:1px solid var(--line);color:var(--text);
 outline:none;transition:border-color .2s ease,box-shadow .2s ease;
}
.field textarea{min-height:92px;resize:vertical;line-height:1.7}
.field input::placeholder,.field textarea::placeholder{color:#66759c}
.field input:focus,.field textarea:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px rgba(63,125,255,.16)}
.form-note{font-size:12.5px;color:var(--cyan);min-height:20px}
/* ===== footer ===== */
.site-footer{
 margin-top:20px;padding:52px 0 26px;
 border-top:1px solid var(--line);
 background:linear-gradient(180deg,rgba(5,10,24,.6),rgba(3,6,15,.96));
}
.footer-grid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:36px;padding-bottom:32px}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.footer-brand strong{display:block;font-size:16px;font-weight:800;letter-spacing:.4px}
.footer-brand em{font-style:normal;font-size:11.5px;color:var(--muted);letter-spacing:1px}
.footer-col p{font-size:13.5px;color:var(--muted);line-height:1.85;max-width:420px}
.footer-col h4{font-size:13px;letter-spacing:1.4px;color:#d6e3ff;margin-bottom:14px;font-weight:700}
.footer-links{display:grid;gap:10px}
.footer-links a{font-size:13.5px;color:var(--muted);transition:color .2s ease,transform .2s ease;display:inline-block}
.footer-links a:hover{color:var(--cyan);transform:translateX(3px)}
.footer-bottom{
 display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
 padding-top:20px;border-top:1px solid rgba(112,156,255,.12);
 font-size:12.5px;color:#7f8fb4;letter-spacing:.3px;
}
/* ===== responsive ===== */
@media (max-width:1024px){
 .hero-inner{grid-template-columns:1fr;gap:30px;padding:44px 0 50px}
 .hero-stack{max-width:640px}
 .grid-4{grid-template-columns:repeat(2,1fr)}
 .grid-3{grid-template-columns:repeat(2,1fr)}
 .steps{grid-template-columns:repeat(3,1fr)}
 .scene-wrap{grid-template-columns:1fr}
 .proof-grid{grid-template-columns:1fr 1fr}
 .news-grid{grid-template-columns:repeat(2,1fr)}
 .apply-panel{grid-template-columns:1fr;padding:26px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media (max-width:768px){
 .container{width:calc(100% - 32px)}
 .header-tools .search-box{display:none}
 .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
 .header-tools .btn{display:none}
 .section{padding:46px 0}
 .stat-strip{grid-template-columns:repeat(2,1fr)}
 .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
 .steps{grid-template-columns:1fr 1fr}
 .algo-item{grid-template-columns:1fr;gap:8px}
 .algo-meta{white-space:normal}
 .proof-grid{grid-template-columns:1fr}
 .news-grid{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr}
 .footer-bottom{flex-direction:column;gap:6px}
 .stack-side:nth-child(3){transform:none}
}
@media (max-width:520px){
 .brand-text em{display:none}
 .hero h1{font-size:26px}
 .hero-actions .btn{width:100%}
 .steps{grid-template-columns:1fr}
 .stat b{font-size:22px}
 .stack-main .metric{font-size:29px}
 .sec-head{flex-direction:column;align-items:flex-start;gap:10px}
}

/* roulang page: category2 */
:root{
 --bg:#050a18;
 --bg-soft:#070e20;
 --bg-deep:#03060f;
 --panel:rgba(17,27,54,.72);
 --panel-solid:#0c1530;
 --line:rgba(112,156,255,.16);
 --line-strong:rgba(112,156,255,.42);
 --text:#e9efff;
 --muted:#94a3c8;
 --primary:#3f7dff;
 --primary-deep:#2b5cd8;
 --cyan:#3ee0ff;
 --violet:#8f6bff;
 --gold:#ffc861;
 --radius:14px;
 --radius-sm:10px;
 --shadow:0 20px 44px -24px rgba(2,7,22,.92);
 --glow:0 0 0 1px rgba(62,224,255,.28), 0 12px 34px -12px rgba(63,125,255,.62);
 --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
 margin:0;
 font-family:var(--font);
 font-size:16px;
 line-height:1.75;
 color:var(--text);
 background:
  radial-gradient(1100px 620px at 82% -8%, rgba(63,125,255,.22), transparent 62%),
  radial-gradient(880px 520px at 4% 6%, rgba(143,107,255,.16), transparent 60%),
  linear-gradient(180deg,var(--bg-deep) 0%, var(--bg) 42%, var(--bg-soft) 100%);
 background-attachment:fixed;
 min-height:100vh;
 -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
p{margin:0 0 14px}
h1,h2,h3,h4{margin:0;line-height:1.32;font-weight:800}
ul,ol{margin:0;padding:0;list-style:none}
button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.container{width:min(1180px,calc(100% - 48px));margin:0 auto}

/* ===== header ===== */
.site-header{
 position:sticky;top:0;z-index:60;
 background:rgba(5,10,26,.84);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
 border-bottom:1px solid var(--line);
 transition:box-shadow .25s ease,background .25s ease;
}
.site-header.is-stuck{box-shadow:0 14px 34px -20px rgba(0,0,0,.95);background:rgba(5,10,26,.95)}
.header-top-inner{
 display:flex;align-items:center;justify-content:space-between;gap:20px;
 min-height:64px;padding:8px 0;
}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand-mark{
 width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
 font-size:19px;font-weight:800;color:#04101f;
 background:linear-gradient(145deg,var(--cyan),var(--primary));
 box-shadow:0 0 0 1px rgba(62,224,255,.4),0 10px 22px -12px rgba(62,224,255,.9);
 flex:0 0 auto;
}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-text strong{font-size:17px;letter-spacing:.4px;font-weight:800}
.brand-text em{font-style:normal;font-size:11px;color:var(--muted);letter-spacing:1.1px}
.header-tools{display:flex;align-items:center;gap:12px}
.search-box{
 display:flex;align-items:center;gap:6px;
 background:rgba(12,21,48,.9);
 border:1px solid var(--line);
 border-radius:999px;
 padding:5px 6px 5px 14px;
 transition:border-color .2s ease,box-shadow .2s ease;
}
.search-box:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 3px rgba(63,125,255,.16)}
.search-box input{
 width:158px;background:transparent;border:0;outline:none;
 font-size:13px;color:var(--text);padding:4px 0;
}
.search-box input::placeholder{color:#66759c}
.search-box button{
 border:0;cursor:pointer;border-radius:999px;
 padding:6px 14px;font-size:12px;font-weight:700;letter-spacing:.5px;
 background:rgba(62,224,255,.16);color:var(--cyan);
 transition:background .2s ease,color .2s ease;
}
.search-box button:hover{background:var(--cyan);color:#03111c}
.nav-toggle{
 display:none;width:42px;height:42px;border-radius:11px;cursor:pointer;
 background:rgba(12,21,48,.9);border:1px solid var(--line);
 color:var(--text);font-size:16px;line-height:1;
}
.channel-bar{border-top:1px solid rgba(112,156,255,.1);background:rgba(6,12,30,.55)}
.channel-inner{
 display:flex;align-items:center;gap:6px;
 overflow-x:auto;scrollbar-width:none;
 padding:6px 0;
}
.channel-inner::-webkit-scrollbar{display:none}
.channel{
 flex:0 0 auto;padding:9px 16px;border-radius:999px;
 font-size:13.5px;font-weight:600;color:#9db0d6;
 border:1px solid transparent;
 transition:color .2s ease,background .2s ease,border-color .2s ease;
 min-height:40px;display:inline-flex;align-items:center;
}
.channel:hover{color:#dcecff;background:rgba(63,125,255,.14);border-color:rgba(112,156,255,.28)}
.channel.is-active{
 color:#03121f;font-weight:800;
 background:linear-gradient(135deg,var(--cyan),#66c4ff);
 border-color:transparent;
 box-shadow:0 10px 24px -14px rgba(62,224,255,.95);
}
.mobile-drawer{display:none;border-top:1px solid var(--line);background:rgba(6,12,30,.98);padding:12px 0 18px}
.mobile-drawer.is-open{display:block}
.mobile-drawer a{
 display:block;padding:12px 4px;border-bottom:1px solid rgba(112,156,255,.1);
 font-size:15px;color:var(--text);min-height:44px;
}
.mobile-drawer a.is-active{color:var(--cyan);font-weight:700}
.mobile-drawer .btn{margin-top:14px;width:100%;justify-content:center}

/* ===== buttons ===== */
.btn{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 padding:12px 24px;border-radius:10px;border:1px solid transparent;
 font-size:14px;font-weight:700;letter-spacing:.4px;cursor:pointer;
 transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
 min-height:44px;text-align:center;
}
.btn-glow{
 color:#f4fbff;
 background:linear-gradient(135deg,var(--primary),#6b46ff);
 box-shadow:var(--glow);
}
.btn-glow:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(62,224,255,.5),0 18px 40px -12px rgba(63,125,255,.9)}
.btn-glow:active{transform:translateY(0)}
.btn-ghost{
 color:var(--text);border-color:var(--line-strong);
 background:rgba(14,24,52,.6);
}
.btn-ghost:hover{border-color:var(--cyan);color:#dff9ff;background:rgba(62,224,255,.1);transform:translateY(-2px)}
.btn-sm{padding:9px 18px;font-size:13px;min-height:40px}

/* ===== hero ===== */
.hero{
 position:relative;overflow:hidden;
 border-bottom:1px solid var(--line);
 background-image:linear-gradient(112deg,rgba(4,9,23,.97) 34%,rgba(6,13,33,.82) 64%,rgba(6,13,33,.58)),url("/assets/images/麻将说胡江苏建达全过程工程咨询有限公司.webp");
 background-size:cover;background-position:center;
}
.hero::after{
 content:"";position:absolute;inset:auto -10% -42% -10%;height:60%;
 background:radial-gradient(closest-side,rgba(63,125,255,.24),transparent 70%);
 pointer-events:none;
}
.hero-inner{
 position:relative;z-index:2;
 display:grid;grid-template-columns:1.12fr .88fr;gap:48px;align-items:center;
 padding:58px 0 62px;
}
.eyebrow{
 display:inline-flex;align-items:center;gap:8px;
 padding:6px 14px;border-radius:999px;font-size:12px;letter-spacing:1px;
 color:var(--cyan);background:rgba(62,224,255,.1);
 border:1px solid rgba(62,224,255,.32);
}
.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);display:inline-block}
.hero h1{
 margin:18px 0 12px;font-size:clamp(28px,3.6vw,42px);
 line-height:1.26;font-weight:800;letter-spacing:.5px;
 background:linear-gradient(100deg,#ffffff 22%,#9fd8ff 62%,#9c8dff 100%);
 -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{font-size:13.5px;color:#8fa8d8;letter-spacing:.6px;margin-bottom:12px}
.hero-lead{font-size:15px;line-height:1.85;color:#b6c4e4;max-width:640px;margin-bottom:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 18px}
.pill-row{display:flex;flex-wrap:wrap;gap:10px}
.pill{
 font-size:12.5px;padding:6px 14px;border-radius:999px;
 color:#a9c2ee;background:rgba(17,27,54,.8);
 border:1px solid var(--line);
}
.hero-card{
 background:linear-gradient(160deg,rgba(23,36,72,.92),rgba(10,18,42,.94));
 border:1px solid var(--line-strong);
 border-radius:18px;
 padding:26px 24px 22px;
 box-shadow:var(--shadow),0 0 0 1px rgba(62,224,255,.08) inset;
 backdrop-filter:blur(12px);
}
.hero-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.badge{
 display:inline-flex;align-items:center;gap:6px;
 font-size:11.5px;font-weight:700;letter-spacing:1px;
 padding:4px 11px;border-radius:999px;
 color:var(--cyan);background:rgba(62,224,255,.12);
 border:1px solid rgba(62,224,255,.34);
}
.badge-gold{color:var(--gold);background:rgba(255,200,97,.12);border-color:rgba(255,200,97,.38)}
.hero-card-code{font-size:12px;color:#7f92ba;letter-spacing:1px}
.hero-card h2{font-size:20px;margin-bottom:10px;color:#f2f7ff}
.hero-card-desc{font-size:13.5px;color:#a7b8dc;line-height:1.8;margin-bottom:16px}
.hero-card-list{display:grid;gap:9px;margin-bottom:20px}
.hero-card-list li{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 padding:9px 12px;border-radius:var(--radius-sm);
 background:rgba(8,15,34,.66);
 border:1px solid rgba(112,156,255,.12);
 font-size:13px;
}
.hero-card-list span{color:#8fa1c9}
.hero-card-list b{color:#dff0ff;font-size:13.5px}
.hero-card-actions{display:flex;flex-wrap:wrap;gap:10px}
.hero-card-actions .btn{flex:1 1 auto}

/* ===== sections ===== */
.section{padding:64px 0;position:relative}
.section--soft{
 background:linear-gradient(180deg,rgba(10,18,40,.6),rgba(7,14,32,.32));
 border-top:1px solid rgba(112,156,255,.1);
 border-bottom:1px solid rgba(112,156,255,.1);
}
.section-head{max-width:760px;margin-bottom:34px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-kicker{
 display:inline-flex;align-items:center;gap:9px;
 font-size:12px;letter-spacing:2px;color:var(--cyan);font-weight:700;
 margin-bottom:12px;
}
.section-kicker::before{content:"";width:22px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--cyan),transparent)}
.section-title{font-size:clamp(22px,2.6vw,30px);letter-spacing:.4px;color:#f1f6ff}
.section-sub{margin-top:12px;font-size:14.5px;color:var(--muted);line-height:1.85;margin-bottom:0}

/* ===== cards ===== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{
 background:linear-gradient(165deg,rgba(20,32,66,.86),rgba(9,16,38,.92));
 border:1px solid var(--line);
 border-radius:var(--radius);
 padding:24px 22px;
 box-shadow:var(--shadow);
 transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
 position:relative;
 overflow:hidden;
}
.card::before{
 content:"";position:absolute;top:0;left:22px;right:22px;height:1px;
 background:linear-gradient(90deg,transparent,rgba(62,224,255,.5),transparent);
 opacity:0;transition:opacity .2s ease;
}
.card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 28px 52px -26px rgba(2,7,22,.98)}
.card:hover::before{opacity:1}
.card-icon{
 width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
 margin-bottom:16px;color:var(--cyan);
 background:rgba(62,224,255,.1);
 border:1px solid rgba(62,224,255,.24);
}
.card-icon svg{width:22px;height:22px}
.card h3{font-size:17px;margin-bottom:10px;color:#eef5ff;letter-spacing:.3px}
.card p{font-size:14px;color:#9fb0d4;line-height:1.8;margin-bottom:14px}
.tag-row{display:flex;flex-wrap:wrap;gap:8px}
.tag{
 font-size:11.5px;padding:3px 10px;border-radius:999px;
 color:#8fb6ee;background:rgba(63,125,255,.12);
 border:1px solid rgba(63,125,255,.24);
}
.card-meta{
 display:flex;align-items:center;justify-content:space-between;gap:10px;
 margin-top:16px;padding-top:14px;border-top:1px dashed rgba(112,156,255,.16);
 font-size:12.5px;color:#7f92ba;
}
.card-meta b{color:var(--gold);font-size:14px}

/* ===== feature split ===== */
.split{
 display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;
}
.split-media{
 position:relative;border-radius:18px;overflow:hidden;
 border:1px solid var(--line-strong);
 box-shadow:var(--shadow);
}
.split-media img{width:100%;aspect-ratio:16/11;object-fit:cover}
.split-media::after{
 content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(4,9,23,.05),rgba(4,9,23,.72));
}
.split-media figcaption{
 position:absolute;left:20px;right:20px;bottom:16px;z-index:2;
 font-size:13px;color:#cfe1ff;letter-spacing:.4px;
}
.check-list{display:grid;gap:14px;margin-top:22px}
.check-list li{
 display:flex;gap:12px;align-items:flex-start;
 font-size:14px;color:#a8bade;line-height:1.78;
}
.check-list strong{color:#e7f2ff;display:block;font-size:14.5px;margin-bottom:3px}
.check-dot{
 flex:0 0 auto;width:22px;height:22px;border-radius:7px;margin-top:3px;
 display:grid;place-items:center;
 background:rgba(62,224,255,.14);border:1px solid rgba(62,224,255,.34);
 color:var(--cyan);font-size:12px;font-weight:800;
}

/* ===== stat strip ===== */
.stat-strip{
 display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
 padding:26px 0 0;
}
.stat-item{
 background:rgba(12,21,48,.72);
 border:1px solid var(--line);
 border-radius:var(--radius);
 padding:20px 18px;
 transition:border-color .2s ease,transform .2s ease;
}
.stat-item:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.stat-item b{
 display:block;font-size:clamp(22px,2.6vw,30px);
 background:linear-gradient(120deg,var(--cyan),#93b7ff);
 -webkit-background-clip:text;background-clip:text;color:transparent;
 letter-spacing:.5px;line-height:1.2;
}
.stat-item span{display:block;font-size:12.5px;color:var(--muted);margin-top:6px;letter-spacing:.4px}

/* ===== rank / calc list ===== */
.calc-list{display:grid;gap:16px}
.calc-item{
 display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
 background:linear-gradient(120deg,rgba(18,29,60,.9),rgba(9,17,39,.9));
 border:1px solid var(--line);
 border-radius:var(--radius);
 padding:20px 22px;
 transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.calc-item:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow)}
.calc-no{
 font-size:13px;font-weight:800;letter-spacing:1px;color:var(--cyan);
 background:rgba(62,224,255,.1);border:1px solid rgba(62,224,255,.28);
 border-radius:10px;padding:9px 13px;white-space:nowrap;
}
.calc-body h3{font-size:16px;margin-bottom:6px;color:#eef5ff}
.calc-body p{font-size:13.5px;color:#95a7cc;margin:0;line-height:1.78}
.calc-body code{
 font-family:var(--font);color:#cfe3ff;background:rgba(63,125,255,.13);
 border-radius:6px;padding:1px 7px;font-size:13px;
}
.calc-value{
 font-size:19px;font-weight:800;color:var(--gold);white-space:nowrap;letter-spacing:.5px;
}

/* ===== steps ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:8px}
.step{
 position:relative;padding:24px 20px 22px;
 background:rgba(12,21,48,.66);
 border:1px solid var(--line);
 border-radius:var(--radius);
 transition:border-color .2s ease,transform .2s ease;
}
.step:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.step-num{
 font-size:12px;font-weight:800;letter-spacing:2px;color:var(--violet);
 margin-bottom:10px;display:block;
}
.step h3{font-size:15.5px;margin-bottom:8px;color:#eef5ff}
.step p{font-size:13.5px;color:#98a9ce;margin:0;line-height:1.78}

/* ===== quotes ===== */
.quote{
 background:rgba(12,21,48,.72);
 border:1px solid var(--line);
 border-radius:var(--radius);
 padding:22px 22px 20px;
 display:flex;flex-direction:column;gap:14px;
 transition:transform .2s ease,border-color .2s ease;
}
.quote:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.quote p{font-size:14px;color:#b3c4e6;line-height:1.85;margin:0}
.quote-who{display:flex;align-items:center;gap:11px;margin-top:auto}
.avatar{
 width:36px;height:36px;border-radius:11px;display:grid;place-items:center;
 font-size:14px;font-weight:800;color:#04101f;
 background:linear-gradient(145deg,var(--cyan),var(--primary));
 flex:0 0 auto;
}
.quote-who strong{display:block;font-size:13.5px;color:#e7f2ff}
.quote-who em{font-style:normal;font-size:12px;color:#7f92ba}

/* ===== faq ===== */
.faq{display:grid;gap:12px;max-width:900px;margin:0 auto}
.faq-item{
 background:rgba(12,21,48,.7);
 border:1px solid var(--line);
 border-radius:var(--radius);
 padding:2px 20px;
 transition:border-color .2s ease,background .2s ease;
}
.faq-item[open]{border-color:var(--line-strong);background:rgba(15,25,54,.9)}
.faq-item summary{
 cursor:pointer;list-style:none;padding:16px 0;
 font-size:15px;font-weight:700;color:#eaf3ff;
 display:flex;align-items:center;justify-content:space-between;gap:16px;
 min-height:44px;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
 content:"+";font-size:19px;font-weight:400;color:var(--cyan);
 transition:transform .2s ease;line-height:1;
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{font-size:14px;color:#9fb0d4;line-height:1.85;margin:0 0 18px}

/* ===== news ===== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.news-item{
 display:flex;flex-direction:column;gap:10px;
 background:linear-gradient(165deg,rgba(19,30,62,.86),rgba(9,16,38,.92));
 border:1px solid var(--line);
 border-radius:var(--radius);
 padding:20px;
 transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
 min-height:100%;
}
.news-item:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow)}
.news-cat{
 align-self:flex-start;font-size:11.5px;letter-spacing:.6px;
 padding:3px 10px;border-radius:999px;color:var(--cyan);
 background:rgba(62,224,255,.1);border:1px solid rgba(62,224,255,.26);
}
.news-item h3{font-size:15.5px;color:#eef5ff;line-height:1.55}
.news-item p{font-size:13.5px;color:#94a6cb;margin:0;line-height:1.78}
.news-item time{font-size:12px;color:#7488ad;margin-top:auto;letter-spacing:.4px}
.news-empty{
 text-align:center;font-size:14px;color:#8395bb;
 padding:36px 18px;border:1px dashed rgba(112,156,255,.24);border-radius:var(--radius);
 background:rgba(12,21,48,.5);margin:0;
}

/* ===== cta / form ===== */
.cta-band{
 position:relative;overflow:hidden;
 border-radius:22px;
 border:1px solid var(--line-strong);
 background-image:linear-gradient(115deg,rgba(8,15,36,.96),rgba(17,29,62,.88)),url("/assets/images/怀旧经典游戏水果拉霸-日常娱乐分享.webp");
 background-size:cover;background-position:center;
 padding:46px 42px;
 box-shadow:var(--shadow);
 display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;
}
.cta-band h2{font-size:clamp(21px,2.4vw,28px);margin-bottom:12px;color:#f4f9ff}
.cta-band p{font-size:14.5px;color:#a9bce4;line-height:1.85;margin-bottom:0}
.form-card{
 background:rgba(8,15,34,.82);
 border:1px solid var(--line);
 border-radius:16px;
 padding:22px;
 backdrop-filter:blur(10px);
}
.field{margin-bottom:14px}
.field label{display:block;font-size:12.5px;color:#9ab0d6;margin-bottom:6px;letter-spacing:.5px}
.field input,.field textarea{
 width:100%;padding:11px 14px;border-radius:10px;
 background:rgba(5,11,28,.9);border:1px solid var(--line);
 color:var(--text);font-size:14px;outline:none;
 transition:border-color .2s ease,box-shadow .2s ease;
}
.field textarea{resize:vertical;min-height:84px}
.field input::placeholder,.field textarea::placeholder{color:#5f7098}
.field input:focus,.field textarea:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px rgba(63,125,255,.16)}
.form-note{font-size:11.5px;color:#7285a9;margin:10px 0 0;line-height:1.7}
.form-card .btn{width:100%;margin-top:4px}

/* ===== footer ===== */
.site-footer{
 border-top:1px solid var(--line);
 background:linear-gradient(180deg,rgba(4,9,23,.6),rgba(3,6,15,.96));
 padding:52px 0 26px;
 margin-top:20px;
}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}
.footer-brand{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}
.footer-brand strong{display:block;font-size:16px;color:#eef5ff;letter-spacing:.4px}
.footer-brand em{font-style:normal;display:block;font-size:11.5px;color:var(--muted);letter-spacing:1px;margin-top:4px}
.footer-col p{font-size:13px;color:#8ea1c7;line-height:1.85;margin:0;max-width:420px}
.footer-col h4{font-size:13.5px;color:#dbe8ff;margin-bottom:16px;letter-spacing:1px}
.footer-links{display:grid;gap:10px}
.footer-links a{
 font-size:13.5px;color:#93a6cb;
 transition:color .2s ease,transform .2s ease;
 display:inline-block;min-height:24px;
}
.footer-links a:hover{color:var(--cyan);transform:translateX(3px)}
.footer-bottom{
 margin-top:36px;padding-top:20px;border-top:1px solid rgba(112,156,255,.12);
 display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;
 font-size:12px;color:#7285a9;letter-spacing:.3px;
}

/* ===== responsive ===== */
@media (max-width:1024px){
 .hero-inner{grid-template-columns:1fr;gap:32px;padding:46px 0 52px}
 .split{grid-template-columns:1fr;gap:30px}
 .grid-3{grid-template-columns:repeat(2,1fr)}
 .grid-4{grid-template-columns:repeat(2,1fr)}
 .steps{grid-template-columns:repeat(2,1fr)}
 .news-grid{grid-template-columns:repeat(2,1fr)}
 .cta-band{grid-template-columns:1fr;padding:36px 28px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
 .footer-col:first-child{grid-column:1 / -1}
 .stat-strip{grid-template-columns:repeat(2,1fr)}
 .search-box input{width:120px}
}
@media (max-width:768px){
 .container{width:calc(100% - 32px)}
 .header-top-inner{min-height:60px;gap:12px}
 .search-box{display:none}
 .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
 .channel-bar{display:none}
 .brand-text em{display:none}
 .section{padding:48px 0}
 .grid-3,.grid-2,.grid-4,.steps,.news-grid{grid-template-columns:1fr}
 .calc-item{grid-template-columns:1fr;gap:12px;align-items:flex-start}
 .calc-value{font-size:17px}
 .hero-card{padding:22px 18px 18px}
 .cta-band{padding:30px 20px;border-radius:18px}
 .footer-grid{grid-template-columns:1fr}
 .footer-bottom{flex-direction:column}
 .stat-strip{grid-template-columns:repeat(2,1fr);gap:12px}
 .hero-actions .btn{flex:1 1 100%}
}
@media (max-width:520px){
 .brand-mark{width:36px;height:36px;font-size:17px;border-radius:10px}
 .brand-text strong{font-size:15px}
 .btn{padding:11px 18px;font-size:13.5px}
 .hero h1{font-size:26px}
 .section-title{font-size:21px}
 .card{padding:20px 18px}
 .stat-item{padding:16px 14px}
 .stat-item b{font-size:22px}
 .cta-band h2{font-size:20px}
 .form-card{padding:18px 16px}
}

/* roulang page: category3 */
:root{
 --bg:#050a18;
 --bg-soft:#070e20;
 --bg-deep:#03060f;
 --panel:rgba(17,27,54,.72);
 --panel-solid:#0c1530;
 --line:rgba(112,156,255,.16);
 --line-strong:rgba(112,156,255,.42);
 --text:#e9efff;
 --muted:#94a3c8;
 --primary:#3f7dff;
 --primary-deep:#2b5cd8;
 --cyan:#3ee0ff;
 --violet:#8f6bff;
 --gold:#ffc861;
 --radius:14px;
 --radius-sm:10px;
 --shadow:0 20px 44px -24px rgba(2,7,22,.92);
 --glow:0 0 0 1px rgba(62,224,255,.28), 0 12px 34px -12px rgba(63,125,255,.62);
 --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
 margin:0;
 font-family:var(--font);
 font-size:16px;
 line-height:1.75;
 color:var(--text);
 background:
 radial-gradient(1100px 620px at 82% -8%, rgba(63,125,255,.22), transparent 62%),
 radial-gradient(880px 520px at 4% 6%, rgba(143,107,255,.16), transparent 60%),
 linear-gradient(180deg,var(--bg-deep) 0%, var(--bg) 42%, var(--bg-soft) 100%);
 background-attachment:fixed;
 min-height:100vh;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font-family:inherit;font-size:inherit;color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:8px}
.container{width:min(1180px,calc(100% - 48px));margin:0 auto}

/* ===== header ===== */
.site-header{
 position:sticky;top:0;z-index:60;
 background:rgba(5,10,26,.82);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
 border-bottom:1px solid var(--line);
 transition:box-shadow .25s ease,background .25s ease;
}
.site-header.is-stuck{box-shadow:0 14px 34px -20px rgba(0,0,0,.95);background:rgba(5,10,26,.94)}
.header-top-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:8px 0}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand-mark{
 width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
 font-size:19px;font-weight:800;color:#04101f;
 background:linear-gradient(145deg,var(--cyan),var(--primary));
 box-shadow:0 0 0 1px rgba(62,224,255,.4),0 10px 22px -12px rgba(62,224,255,.9);
}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-text strong{font-size:17px;letter-spacing:.4px;font-weight:800}
.brand-text em{font-style:normal;font-size:11px;color:var(--muted);letter-spacing:1.2px}
.header-tools{display:flex;align-items:center;gap:12px}
.search-box{
 display:flex;align-items:center;gap:6px;
 background:rgba(12,21,48,.9);border:1px solid var(--line);
 border-radius:999px;padding:5px 6px 5px 14px;
 transition:border-color .2s ease,box-shadow .2s ease;
}
.search-box:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 3px rgba(63,125,255,.16)}
.search-box input{width:158px;background:transparent;border:0;outline:none;font-size:13px;color:var(--text);padding:4px 0}
.search-box input::placeholder{color:#66759c}
.search-box button{
 border:0;cursor:pointer;border-radius:999px;padding:6px 14px;
 font-size:12px;font-weight:700;letter-spacing:.5px;
 background:rgba(62,224,255,.16);color:var(--cyan);
 transition:background .2s ease,color .2s ease;
}
.search-box button:hover{background:var(--cyan);color:#03111c}
.nav-toggle{
 display:none;width:44px;height:44px;border-radius:11px;cursor:pointer;
 background:rgba(12,21,48,.9);border:1px solid var(--line);
 color:var(--text);font-size:13px;font-weight:700;letter-spacing:.5px;
 transition:border-color .2s ease,color .2s ease;
}
.nav-toggle:hover{border-color:var(--line-strong);color:var(--cyan)}
.channel-bar{background:rgba(6,12,30,.72);border-top:1px solid rgba(112,156,255,.1);border-bottom:1px solid var(--line)}
.channel-inner{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:8px 0;scrollbar-width:none}
.channel-inner::-webkit-scrollbar{display:none}
.channel{
 display:inline-flex;align-items:center;min-height:38px;padding:8px 18px;
 border-radius:999px;font-size:13.5px;color:var(--muted);white-space:nowrap;
 border:1px solid transparent;
 transition:color .2s ease,background .2s ease,border-color .2s ease;
}
.channel:hover{color:var(--text);background:rgba(63,125,255,.12);border-color:var(--line)}
.channel.is-active{
 color:#03111c;font-weight:700;
 background:linear-gradient(135deg,var(--cyan),var(--primary));
 box-shadow:0 0 0 1px rgba(62,224,255,.4),0 10px 22px -12px rgba(62,224,255,.85);
}
.mobile-drawer{display:none;border-top:1px solid var(--line);background:rgba(6,12,30,.98);padding:14px 0 20px}
.mobile-drawer.is-open{display:block}
.mobile-drawer a{display:flex;align-items:center;min-height:44px;padding:10px 4px;border-bottom:1px solid rgba(112,156,255,.1);font-size:15px}
.mobile-drawer a:hover{color:var(--cyan)}

/* ===== buttons ===== */
.btn{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 padding:12px 24px;border-radius:10px;border:1px solid transparent;
 font-size:14px;font-weight:700;letter-spacing:.4px;cursor:pointer;
 min-height:44px;
 transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.btn-glow{color:#f4fbff;background:linear-gradient(135deg,var(--primary),#6b46ff);box-shadow:var(--glow)}
.btn-glow:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(62,224,255,.5),0 18px 40px -12px rgba(63,125,255,.9)}
.btn-glow:active{transform:translateY(0)}
.btn-ghost{color:var(--text);border-color:var(--line-strong);background:rgba(14,24,52,.6)}
.btn-ghost:hover{border-color:var(--cyan);color:#dff9ff;background:rgba(62,224,255,.1);transform:translateY(-2px)}
.btn-sm{padding:9px 18px;font-size:13px;min-height:40px}

/* ===== hero ===== */
.hero{
 position:relative;overflow:hidden;border-bottom:1px solid var(--line);
 background-image:linear-gradient(112deg,rgba(4,9,23,.97) 30%,rgba(6,13,33,.84) 62%,rgba(9,16,40,.62)),url("/assets/images/打麻将老是输怎么办熟记8个麻将口诀_让你十打九赢.webp");
 background-size:cover;background-position:center;
}
.hero::after{
 content:"";position:absolute;inset:auto -10% -46% -10%;height:62%;
 background:radial-gradient(closest-side,rgba(63,125,255,.24),transparent 70%);
 pointer-events:none;
}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:44px;align-items:center;padding:60px 0 64px}
.eyebrow{
 display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;
 font-size:12px;letter-spacing:1px;color:var(--cyan);
 background:rgba(62,224,255,.1);border:1px solid rgba(62,224,255,.32);
}
.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);display:inline-block}
.hero h1{
 margin:18px 0 14px;font-size:clamp(28px,3.6vw,42px);line-height:1.28;font-weight:800;letter-spacing:.5px;
 background:linear-gradient(100deg,#ffffff 22%,#9fd8ff 62%,#9c8dff 100%);
 -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{font-size:15px;color:#a9bce4;letter-spacing:.4px;margin:0 0 12px}
.hero-lead{font-size:15px;line-height:1.85;color:#b6c4e4;max-width:640px;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 18px}
.pill-row{display:flex;flex-wrap:wrap;gap:10px}
.pill{
 font-size:12.5px;padding:6px 14px;border-radius:999px;color:#9fd8ff;
 background:rgba(63,125,255,.12);border:1px solid rgba(112,156,255,.28);
 transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.pill:hover{border-color:rgba(62,224,255,.6);color:#dff9ff;background:rgba(62,224,255,.14)}
.panel{
 border:1px solid var(--line);border-radius:18px;padding:24px;
 background:linear-gradient(155deg,rgba(23,36,72,.9),rgba(9,16,38,.86));
 box-shadow:var(--shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.panel h2{font-size:16px;margin:0 0 4px;letter-spacing:.5px}
.panel-sub{font-size:12.5px;color:var(--muted);margin:0 0 16px}
.check-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.check-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#c8d5f0;line-height:1.6}
.tick{
 flex:0 0 auto;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;
 font-size:11px;font-weight:800;color:#03111c;
 background:linear-gradient(145deg,var(--cyan),var(--primary));margin-top:2px;
}
.panel-foot{
 margin-top:16px;padding-top:14px;border-top:1px solid rgba(112,156,255,.14);
 font-size:12.5px;color:var(--muted);
}

/* ===== sections ===== */
.section{padding:62px 0;border-bottom:1px solid rgba(112,156,255,.08)}
.section--soft{background:linear-gradient(180deg,rgba(10,18,42,.62),rgba(5,10,26,.18))}
.section--deep{background:linear-gradient(180deg,rgba(3,6,15,.82),rgba(8,15,36,.72))}
.section-head{max-width:780px;margin:0 0 30px}
.deco{width:44px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--cyan),var(--violet));margin-bottom:14px}
.section-head h2{margin:0 0 10px;font-size:clamp(21px,2.4vw,28px);line-height:1.35;font-weight:800;letter-spacing:.3px}
.section-head p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.8}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{
 background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
 padding:22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
 transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 22px 46px -26px rgba(2,7,22,.95),0 0 0 1px rgba(62,224,255,.18);background:rgba(20,32,64,.82)}
.card h3{margin:0 0 10px;font-size:16.5px;line-height:1.45;font-weight:700}
.card p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.badge{
 display:inline-flex;align-items:center;gap:6px;font-size:11.5px;letter-spacing:.6px;
 padding:4px 11px;border-radius:999px;color:var(--cyan);
 background:rgba(62,224,255,.1);border:1px solid rgba(62,224,255,.26);margin-bottom:12px;
}
.badge--violet{color:#c7b8ff;background:rgba(143,107,255,.14);border-color:rgba(143,107,255,.34)}
.badge--gold{color:var(--gold);background:rgba(255,200,97,.12);border-color:rgba(255,200,97,.32)}

/* bar list */
.bar-list{display:grid;gap:18px}
.bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:14px;margin-bottom:8px;color:#c8d5f0}
.bar-head b{font-size:15px;color:var(--cyan);letter-spacing:.4px}
.bar-track{height:10px;border-radius:999px;background:rgba(112,156,255,.12);overflow:hidden}
.bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--cyan));box-shadow:0 0 14px rgba(62,224,255,.5)}
.note{margin:22px 0 0;font-size:12.8px;color:#7d8cb3}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:step}
.step{
 position:relative;background:rgba(13,22,48,.78);border:1px solid var(--line);
 border-radius:var(--radius-sm);padding:20px 18px;
 transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.step:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 18px 36px -22px rgba(2,7,22,.95)}
.step-num{
 display:inline-flex;align-items:center;justify-content:center;
 width:32px;height:32px;border-radius:9px;font-size:13px;font-weight:800;color:#03111c;
 background:linear-gradient(145deg,var(--cyan),var(--primary));margin-bottom:12px;
}
.step h3{margin:0 0 8px;font-size:15px;font-weight:700}
.step p{margin:0;font-size:13.2px;line-height:1.7;color:var(--muted)}

/* stats */
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{
 background:linear-gradient(160deg,rgba(20,32,64,.86),rgba(9,16,38,.86));
 border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;text-align:left;
 transition:border-color .2s ease,transform .2s ease;
}
.stat:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.stat strong{display:block;font-size:28px;line-height:1.2;font-weight:800;letter-spacing:.5px;
 background:linear-gradient(100deg,#ffffff,#8fd4ff 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{display:block;margin-top:6px;font-size:13px;color:var(--muted)}

/* figure */
.figure{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(9,16,38,.8);box-shadow:var(--shadow)}
.figure img{width:100%;aspect-ratio:16/10;object-fit:cover}
.figure figcaption{padding:14px 18px;font-size:12.8px;color:var(--muted);border-top:1px solid rgba(112,156,255,.12)}
.proof-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.proof-list li{
 display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;
 background:rgba(13,22,48,.7);border:1px solid var(--line);border-radius:var(--radius-sm);
 padding:16px 18px;font-size:14px;color:#c8d5f0;line-height:1.7;
 transition:border-color .2s ease,background .2s ease;
}
.proof-list li:hover{border-color:var(--line-strong);background:rgba(20,32,64,.8)}
.proof-list b{color:var(--cyan);font-weight:700}

/* news */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.news-card{
 display:flex;flex-direction:column;gap:10px;
 background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
 padding:20px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.news-card:hover{transform:translateY(-4px);border-color:var(--line-strong);background:rgba(20,32,64,.84);box-shadow:0 22px 44px -26px rgba(2,7,22,.95)}
.news-tag{
 align-self:flex-start;font-size:11.5px;padding:3px 10px;border-radius:999px;
 color:#9fd8ff;background:rgba(63,125,255,.14);border:1px solid rgba(112,156,255,.3);
}
.news-card h3{margin:0;font-size:15.5px;line-height:1.5;font-weight:700}
.news-card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.72;
 display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-date{font-size:12.5px;color:#7d8cb3;margin-top:auto;padding-top:6px}
.empty-tip{
 border:1px dashed rgba(112,156,255,.3);border-radius:var(--radius);
 padding:26px;text-align:center;color:var(--muted);font-size:14px;background:rgba(9,16,38,.6);
}

/* faq */
.faq{display:grid;gap:14px}
.faq details{
 background:rgba(13,22,48,.74);border:1px solid var(--line);border-radius:var(--radius-sm);
 padding:16px 20px;transition:border-color .2s ease,background .2s ease;
}
.faq details[open]{border-color:var(--line-strong);background:rgba(20,32,64,.84)}
.faq summary{
 cursor:pointer;font-size:15px;font-weight:700;color:var(--text);
 list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:19px;color:var(--cyan);line-height:1;transition:transform .2s ease}
.faq details[open] summary::after{content:"−"}
.faq p{margin:12px 0 0;font-size:14px;color:var(--muted);line-height:1.8}

/* apply */
.apply-wrap{
 display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;
 border:1px solid var(--line-strong);border-radius:18px;padding:34px;
 background:
 radial-gradient(600px 300px at 88% 0%, rgba(63,125,255,.24), transparent 65%),
 linear-gradient(150deg,rgba(18,29,60,.94),rgba(7,13,32,.94));
 box-shadow:var(--shadow);
}
.apply-wrap h2{margin:0 0 12px;font-size:clamp(21px,2.4vw,27px);line-height:1.35;font-weight:800}
.apply-wrap p{margin:0;color:#b6c4e4;font-size:14.5px;line-height:1.8}
.apply-form{display:grid;gap:12px}
.apply-form label{font-size:13px;color:var(--muted)}
.apply-form input,.apply-form textarea{
 width:100%;background:rgba(5,10,26,.86);border:1px solid var(--line);border-radius:10px;
 padding:12px 14px;font-size:14px;color:var(--text);outline:none;
 transition:border-color .2s ease,box-shadow .2s ease;
}
.apply-form textarea{min-height:88px;resize:vertical}
.apply-form input:focus,.apply-form textarea:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px rgba(63,125,255,.16)}
.apply-form input::placeholder,.apply-form textarea::placeholder{color:#66759c}
.form-note{font-size:12.5px;color:var(--cyan);min-height:18px}

/* footer */
.site-footer{
 border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(4,9,23,.9),rgba(3,6,15,.98));
 padding:46px 0 26px;margin-top:0;
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;padding-bottom:30px}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.footer-brand .brand-mark{width:38px;height:38px;font-size:18px}
.footer-brand strong{display:block;font-size:16px;font-weight:800;letter-spacing:.3px}
.footer-brand em{display:block;font-style:normal;font-size:11.5px;color:var(--muted);letter-spacing:.8px;margin-top:2px}
.footer-col p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.8;max-width:420px}
.footer-col h4{margin:0 0 14px;font-size:14px;font-weight:700;letter-spacing:.5px;color:#d5e2ff}
.footer-links{display:grid;gap:9px}
.footer-links a{font-size:13.5px;color:var(--muted);transition:color .2s ease,transform .2s ease;width:fit-content}
.footer-links a:hover{color:var(--cyan);transform:translateX(2px)}
.footer-bottom{
 display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;
 border-top:1px solid rgba(112,156,255,.12);padding-top:20px;
 font-size:12.5px;color:#7788ae;
}

/* ===== responsive ===== */
@media (max-width:1024px){
 .hero-inner{grid-template-columns:1fr;gap:34px;padding:48px 0 52px}
 .grid-4{grid-template-columns:repeat(2,1fr)}
 .steps{grid-template-columns:repeat(3,1fr)}
 .stat-row{grid-template-columns:repeat(2,1fr)}
 .news-grid{grid-template-columns:repeat(2,1fr)}
 .apply-wrap{grid-template-columns:1fr;gap:24px;padding:28px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media (max-width:768px){
 .container{width:min(1180px,calc(100% - 32px))}
 .search-box{display:none}
 .header-tools .btn{display:none}
 .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
 .grid-3,.grid-2{grid-template-columns:1fr}
 .grid-4{grid-template-columns:1fr}
 .steps{grid-template-columns:1fr 1fr}
 .stat-row{grid-template-columns:1fr 1fr}
 .news-grid{grid-template-columns:1fr}
 .section{padding:48px 0}
 .footer-grid{grid-template-columns:1fr}
 .footer-bottom{flex-direction:column;align-items:flex-start}
}
@media (max-width:520px){
 .brand-text em{display:none}
 .brand-text strong{font-size:15.5px}
 .hero h1{font-size:26px}
 .steps{grid-template-columns:1fr}
 .stat-row{grid-template-columns:1fr}
 .apply-wrap{padding:22px}
 .panel{padding:20px}
 .bar-head{font-size:13px}
}
