@charset "utf-8";
:root{--pg-ink:#1c1915;--pg-muted:#6b6258;--pg-bg:#f4efe6;--pg-card:#fffdf8;--pg-line:#e4d8c6;--pg-brand:#1f4e79;--pg-brand-ink:#12263a;--pg-foot:#161410;--pg-accent:#c2410c;--pg-radius:18px;--pg-shadow:0 18px 40px rgba(28,25,21,.08);--pg-head:rgba(244,239,230,.92)}
*{box-sizing:border-box}html,body{margin:0;padding:0;max-width:100%;overflow-x:clip}
body{font-family:"Iowan Old Style","Palatino Linotype","PingFang SC","Microsoft YaHei","Noto Serif SC",serif;color:var(--pg-ink);background:var(--pg-bg);line-height:1.8;font-size:16px}
img,svg,video,canvas{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul{list-style:none;margin:0;padding:0}
:where(.wrap,header .wrap,footer .wrap,.hero-inner,.inner){width:min(1180px,92%);margin-left:auto;margin-right:auto;max-width:100%}
:where(body>header,.site-header){position:sticky;top:0;z-index:30;background:var(--pg-head);border-bottom:1px solid var(--pg-line);backdrop-filter:blur(14px)}
:where(body>header>nav,body>header .nav,.site-header>nav,.site-header .nav){width:min(1180px,92%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;flex-wrap:wrap}
:where(.logo,.nav .logo,body>header .brand,.site-header .brand){font-weight:800;font-size:22px;letter-spacing:.02em;color:var(--pg-brand-ink);white-space:nowrap}
:where(body>header nav ul,.site-header nav ul){display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0}
:where(body>header nav a,.site-header nav a){color:var(--pg-muted);font-size:14px}
:where(body>header nav a:hover,.site-header nav a:hover){color:var(--pg-brand)}
:where(.nav-cta,.btn,.hero-actions a,a.btn,.pg-cta a){display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:999px;font-weight:700;border:1px solid transparent}
:where(.btn-solid,.nav-cta){background:var(--pg-brand);color:#fff}
:where(.btn-line){border-color:currentColor;background:transparent}
:where(.hero){padding:84px 0 72px;background:radial-gradient(1200px 480px at 10% -10%,#dbe7f3 0%,transparent 55%),linear-gradient(160deg,#12263a,#1f4e79 58%,#9a3412);color:#fff;text-align:center}
:where(.hero h1){font-size:clamp(30px,5.4vw,52px);line-height:1.18;margin:12px 0 16px;letter-spacing:-.02em}
:where(.hero-text,.hero p){max-width:740px;margin:0 auto 24px;color:rgba(255,255,255,.9)}
:where(.hero-actions){display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:24px 0 36px}
:where(.hero-stats,.stat-row,.stats,.data-row,.pg-stats){display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;width:min(1180px,92%);margin:28px auto 0}
:where(.stat,.hero-stats>div,.data-card,.pg-stat){background:var(--pg-card);color:var(--pg-ink);border-radius:var(--pg-radius);padding:24px 20px;box-shadow:var(--pg-shadow);border:1px solid var(--pg-line);text-align:left}
:where(.slash-1,.slash-2,.slash-3){border-left:5px solid var(--pg-accent)}
:where(.stat .num,.stats .num,.stat-row .num,.data-row .num,.pg-stats .num,.data-card .num,.pg-stat .num,.stat b,.stat strong,.hero-stats strong,.hero-stats b){display:block;font-size:clamp(28px,4vw,40px);font-weight:800;line-height:1.15;color:var(--pg-brand);overflow:visible;white-space:nowrap}
:where(.stat p,.stat span:not(.num),.hero-stats span){display:block;margin:8px 0 0;color:var(--pg-muted);font-size:14px}
:where(section,.pg-extra){padding:72px 0}
:where(section h2,.pg-extra h2){font-size:clamp(26px,3.2vw,36px);text-align:center;margin:0 0 12px;letter-spacing:-.02em}
:where(section>p,.pg-extra>p,.pg-lead){text-align:center;color:var(--pg-muted);max-width:740px;margin:0 auto 36px}
:where(.grid-2,.grid-3,.grid-4,.pg-grid,.cards){display:grid;gap:22px}
:where(.grid-2){grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
:where(.grid-3,.cards,.pg-grid){grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
:where(.grid-4){grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
:where(.card,article.card,.pg-card){background:var(--pg-card);border:1px solid var(--pg-line);border-radius:var(--pg-radius);padding:26px 24px;box-shadow:var(--pg-shadow)}
:where(.card h3,.pg-card h3){margin:0 0 10px;font-size:19px;color:var(--pg-brand-ink)}
:where(.card p,.pg-card p){margin:0;color:var(--pg-muted)}
:where(.pg-step){counter-increment:pgstep;position:relative;padding-top:8px}
:where(.pg-step:before){content:counter(pgstep,decimal-leading-zero);display:block;font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--pg-accent);margin-bottom:8px}
:where(.pg-quote,.testimonial){background:var(--pg-card);border:1px solid var(--pg-line);border-radius:var(--pg-radius);padding:28px;box-shadow:var(--pg-shadow)}
:where(.pg-quote p){font-size:18px;color:var(--pg-ink)}
:where(.pg-faq details){background:var(--pg-card);border:1px solid var(--pg-line);border-radius:14px;padding:16px 18px;margin:0 0 12px}
:where(.pg-faq summary){cursor:pointer;font-weight:700;color:var(--pg-brand-ink)}
:where(.pg-chips){display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 28px}
:where(.pg-chips span){border:1px solid var(--pg-line);background:var(--pg-card);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--pg-muted)}
:where(.pg-cta){text-align:center;background:linear-gradient(135deg,#12263a,#1f4e79);color:#fff;border-radius:28px;padding:48px 28px}
:where(.dark-band){background:linear-gradient(135deg,#161410,#1f4e79);color:#fff}
:where(.dark-band h2,.dark-band>p){color:#fff}
:where(.dark-band .card){background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}
:where(.dark-band .card h3){color:#fff}:where(.dark-band .card p){color:rgba(255,255,255,.82)}
:where(.contact){text-align:center}
:where(body>footer,main~footer,.footer){background:var(--pg-foot);color:#e8dfd2;padding:56px 0 28px;margin-top:8px;display:block}
:where(.footer-links,.footer-nav,body>footer ul){width:min(1180px,92%);margin:0 auto 20px;display:flex;flex-wrap:wrap;gap:10px 22px;padding:0}
:where(.footer-links a,body>footer a){color:#f3ebe0}
:where(.copyright,.footer-copy){width:min(1180px,92%);margin:0 auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#a89c8c}
@media(max-width:720px){:where(body>header>nav,.site-header>nav,.nav){padding:10px 0}:where(.hero){padding:52px 0}:where(section,.pg-extra){padding:44px 0}:where(.stat .num,.stat b,.stat strong){white-space:normal}}

nav{background-color:transparent;height:auto;line-height:inherit;color:inherit;box-shadow:none;width:auto}nav a,nav ul a{color:inherit;font-size:inherit;display:inline-block}nav ul li{float:none}nav .brand-logo{position:static;transform:none;font-size:inherit}nav i,nav [class^="mdi-"],nav i.material-icons{height:auto;line-height:inherit;display:inline-block;font-size:inherit}.card{background-color:var(--pg-card)}.card .card-title,.card .card-content,.card .card-action a{color:inherit}.page-footer,footer.page-footer{background-color:var(--pg-foot)}.collection,.collection .collection-item{background-color:var(--pg-card);color:inherit}

:where(.container){width:90%;max-width:1280px;margin-left:auto;margin-right:auto}
:where(.row){display:flex;flex-wrap:wrap;margin-left:auto;margin-right:auto;margin-bottom:0}
:where(.row .col){float:none;padding:0 .75rem;min-height:1px}
:where(.col){display:block}
:where(.section){padding:2rem 0}
:where(.valign-wrapper){display:flex;align-items:center}
:where(.center),:where(.center-align){text-align:center}
:where(.left-align){text-align:left}:where(.right-align){text-align:right}
:where(.card){display:block;position:relative;margin:.5rem 0 1rem;border-radius:2px;overflow:hidden}
:where(.card .card-content){padding:24px;border-radius:0 0 2px 2px}
:where(.card .card-content p){margin:0}
:where(.card .card-title){display:block;font-size:1.5rem;font-weight:300;line-height:1.3}
:where(.card .card-action){padding:16px 24px}
:where(.card-panel){padding:24px;border-radius:2px;display:block}
:where(.btn),:where(.waves-effect){display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:0 16px;height:36px;line-height:36px;border:0;border-radius:2px;cursor:pointer;text-align:center;white-space:nowrap;text-decoration:none;background:transparent;color:inherit;box-shadow:none;text-transform:none}
:where(.btn-large){height:54px;line-height:54px;font-size:1.1rem}
:where(.btn-small){height:32px;line-height:32px;font-size:.9rem}
:where(.chip){display:inline-flex;align-items:center;gap:.4rem;height:32px;padding:0 12px;border-radius:16px;font-size:13px;line-height:32px}
:where(.collection){display:block;margin:0;border-radius:2px;overflow:hidden}
:where(.collection .collection-item){display:block;padding:10px 20px;line-height:1.5}
:where(.collapsible){display:block;margin:0}
:where(.collapsible-header){display:flex;align-items:center;gap:.6rem;padding:1rem;cursor:pointer}
:where(.collapsible-body){display:none;padding:1rem}
:where(.collapsible li.active .collapsible-body),:where(.collapsible-body.active){display:block}
:where(nav){display:block}
:where(nav .nav-wrapper){display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 1rem}
:where(nav ul){display:flex;align-items:center;list-style:none;margin:0;padding:0}
:where(nav ul li){float:none}
:where(nav ul a){display:inline-flex;align-items:center;padding:0 12px;text-decoration:none}
:where(.material-icons){display:inline-block;vertical-align:middle}
:where(.z-depth-1){box-shadow:0 2px 2px 0 rgba(0,0,0,.14)}
:where(.z-depth-2){box-shadow:0 4px 5px 0 rgba(0,0,0,.14)}
:where(.z-depth-3){box-shadow:0 8px 17px 2px rgba(0,0,0,.14)}
:where(.white-text){color:#fff!important}:where(.black-text){color:#111!important}
:where(.grey-text),:where([class$="-text"]){color:inherit}
:where(.hide){display:none!important}:where(.hide-on-small-only){display:block}
:where(.left){float:left}:where(.right){float:right}
:where(.divider){height:1px;overflow:hidden;margin:.5rem 0}
:where(.input-field){position:relative;margin-top:1rem;margin-bottom:1rem;display:block}
:where(.input-field input),:where(.input-field textarea){display:block;width:100%;padding:.5rem 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font:inherit}
:where(.input-field label){display:block;font-size:.8rem}
:where(select){display:block;width:100%}
:where(.tabs){display:flex;list-style:none;margin:0;padding:0;overflow-x:auto}
:where(.tabs .tab a){display:block;padding:0 24px;line-height:48px;text-decoration:none}
:where(.modal){display:none}:where(.modal.open){display:block}
:where(.preloader-wrapper){display:inline-block}
:where(img.responsive-img),:where(.responsive-img){max-width:100%;height:auto}
:where(.parallax-container){position:relative;overflow:hidden}
:where(.slider){position:relative;height:400px;overflow:hidden}
:where(.slider .slides){display:flex;height:100%;margin:0;padding:0;list-style:none}
:where(.slider .slides li){flex:0 0 100%;position:relative}
:where(.col.s1){flex:0 0 auto;width:8.3333%}
:where(.col.s2){flex:0 0 auto;width:16.6667%}
:where(.col.s3){flex:0 0 auto;width:25.0000%}
:where(.col.s4){flex:0 0 auto;width:33.3333%}
:where(.col.s5){flex:0 0 auto;width:41.6667%}
:where(.col.s6){flex:0 0 auto;width:50.0000%}
:where(.col.s7){flex:0 0 auto;width:58.3333%}
:where(.col.s8){flex:0 0 auto;width:66.6667%}
:where(.col.s9){flex:0 0 auto;width:75.0000%}
:where(.col.s10){flex:0 0 auto;width:83.3333%}
:where(.col.s11){flex:0 0 auto;width:91.6667%}
:where(.col.s12){flex:0 0 auto;width:100.0000%}
:where(.col.s-offset-1){margin-left:8.3333%}
:where(.col.s-offset-2){margin-left:16.6667%}
:where(.col.s-offset-3){margin-left:25.0000%}
:where(.col.s-offset-4){margin-left:33.3333%}
:where(.col.s-offset-5){margin-left:41.6667%}
:where(.col.s-offset-6){margin-left:50.0000%}
:where(.col.s-offset-7){margin-left:58.3333%}
:where(.col.s-offset-8){margin-left:66.6667%}
:where(.col.s-offset-9){margin-left:75.0000%}
:where(.col.s-offset-10){margin-left:83.3333%}
:where(.col.s-offset-11){margin-left:91.6667%}
@media(min-width:601px){:where(.col.m1){flex:0 0 auto;width:8.3333%}:where(.col.m2){flex:0 0 auto;width:16.6667%}:where(.col.m3){flex:0 0 auto;width:25.0000%}:where(.col.m4){flex:0 0 auto;width:33.3333%}:where(.col.m5){flex:0 0 auto;width:41.6667%}:where(.col.m6){flex:0 0 auto;width:50.0000%}:where(.col.m7){flex:0 0 auto;width:58.3333%}:where(.col.m8){flex:0 0 auto;width:66.6667%}:where(.col.m9){flex:0 0 auto;width:75.0000%}:where(.col.m10){flex:0 0 auto;width:83.3333%}:where(.col.m11){flex:0 0 auto;width:91.6667%}:where(.col.m12){flex:0 0 auto;width:100.0000%}:where(.col.m-offset-1){margin-left:8.3333%}:where(.col.m-offset-2){margin-left:16.6667%}:where(.col.m-offset-3){margin-left:25.0000%}:where(.col.m-offset-4){margin-left:33.3333%}:where(.col.m-offset-5){margin-left:41.6667%}:where(.col.m-offset-6){margin-left:50.0000%}:where(.col.m-offset-7){margin-left:58.3333%}:where(.col.m-offset-8){margin-left:66.6667%}:where(.col.m-offset-9){margin-left:75.0000%}:where(.col.m-offset-10){margin-left:83.3333%}:where(.col.m-offset-11){margin-left:91.6667%}}
@media(min-width:993px){:where(.col.l1){flex:0 0 auto;width:8.3333%}:where(.col.l2){flex:0 0 auto;width:16.6667%}:where(.col.l3){flex:0 0 auto;width:25.0000%}:where(.col.l4){flex:0 0 auto;width:33.3333%}:where(.col.l5){flex:0 0 auto;width:41.6667%}:where(.col.l6){flex:0 0 auto;width:50.0000%}:where(.col.l7){flex:0 0 auto;width:58.3333%}:where(.col.l8){flex:0 0 auto;width:66.6667%}:where(.col.l9){flex:0 0 auto;width:75.0000%}:where(.col.l10){flex:0 0 auto;width:83.3333%}:where(.col.l11){flex:0 0 auto;width:91.6667%}:where(.col.l12){flex:0 0 auto;width:100.0000%}:where(.col.l-offset-1){margin-left:8.3333%}:where(.col.l-offset-2){margin-left:16.6667%}:where(.col.l-offset-3){margin-left:25.0000%}:where(.col.l-offset-4){margin-left:33.3333%}:where(.col.l-offset-5){margin-left:41.6667%}:where(.col.l-offset-6){margin-left:50.0000%}:where(.col.l-offset-7){margin-left:58.3333%}:where(.col.l-offset-8){margin-left:66.6667%}:where(.col.l-offset-9){margin-left:75.0000%}:where(.col.l-offset-10){margin-left:83.3333%}:where(.col.l-offset-11){margin-left:91.6667%}}
@media(max-width:600px){:where(.hide-on-small-only){display:none!important}:where(.col){width:100%}}

:root{--pg-brand:#0f3d6e;--pg-brand-ink:#1b5e9e;--pg-accent:#f0a500;--pg-radius:24px}
:where(.hero){background:linear-gradient(160deg,#1b5e9e,#0f3d6e 58%,#f0a500)}
:where(body>header,.site-header){border-bottom-color:#0f3d6e33}

:root {
  --primary: #0f3d6e;
  --secondary: #1b5e9e;
  --accent: #f0a500;
  --bg-page: #f6f8fb;
  --text-primary: #122033;
  --text-secondary: #5a6d85;
  --border-color: #dce3ec;
  --radius: 24px;
  --shadow-card: 0 4px 20px rgba(15,61,110,0.08);
  --shadow-hover: 0 8px 32px rgba(15,61,110,0.15);
  --radius-sm: 12px;
  --radius-lg: 32px;
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --max-width: 1280px;
  --nav-height: 68px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  background: var(--bg-page);
  color: var(--text-primary);
  line-height: 1.75;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; transition: var(--transition); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; padding: 0; margin: 0; }

.container { width: 100%; max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }

/* ===== NAVIGATION ===== */
.nav-wrapper-custom {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  height: var(--nav-height);
  background: rgba(15, 61, 110, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 2px 20px rgba(0,0,0,0.12);
  transition: var(--transition);
}

.nav-container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--nav-height);
}

.nav-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Montserrat", "PingFang SC", sans-serif;
  font-weight: 800;
  font-size: 16px;
  color: #fff;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.nav-logo-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, var(--accent), #ffcc02);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--primary);
  font-weight: 900;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(240,165,0,0.4);
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
}

.nav-links a, .nav-dropdown > a {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 16px;
  color: rgba(255,255,255,0.82);
  font-size: 14px;
  font-weight: 500;
  border-radius: var(--radius-sm);
  transition: var(--transition);
  position: relative;
  white-space: nowrap;
}

.nav-links a:hover, .nav-dropdown:hover > a,
.nav-links a.active {
  color: #fff;
  background: rgba(255,255,255,0.1);
}

.nav-links a.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 2px;
  background: var(--accent);
  border-radius: 2px;
}

.nav-dropdown {
  position: relative;
}

.dropdown-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  background: #fff;
  border-radius: var(--radius);
  box-shadow: 0 12px 40px rgba(0,0,0,0.18);
  padding: 16px;
  min-width: 200px;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition);
  pointer-events: none;
  border: 1px solid var(--border-color);
}

.nav-dropdown:hover .dropdown-panel {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.dropdown-panel a {
  display: block;
  padding: 10px 14px !important;
  color: var(--text-primary) !important;
  font-size: 13px !important;
  border-radius: var(--radius-sm);
}

.dropdown-panel a:hover {
  background: var(--bg-page) !important;
  color: var(--primary) !important;
}

.dropdown-panel a .material-icons {
  font-size: 16px;
  color: var(--accent);
  margin-right: 6px;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.btn-nav-login {
  padding: 8px 22px;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 50px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  transition: var(--transition);
  cursor: pointer;
  background: transparent;
}

.btn-nav-login:hover {
  background: rgba(255,255,255,0.15);
  border-color: rgba(255,255,255,0.5);
}

.btn-nav-reg {
  padding: 8px 22px;
  background: var(--accent);
  border: 1px solid var(--accent);
  border-radius: 50px;
  color: var(--primary);
  font-size: 13px;
  font-weight: 700;
  transition: var(--transition);
  cursor: pointer;
}

.btn-nav-reg:hover {
  background: #ffb81c;
  box-shadow: 0 4px 16px rgba(240,165,0,0.4);
  transform: translateY(-1px);
}

/* Mobile hamburger */
.mobile-toggle {
  display: none;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 6px;
}

.mobile-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  margin: 5px 0;
  border-radius: 2px;
  transition: var(--transition);
}

.mobile-menu {
  display: none;
  position: fixed;
  top: var(--nav-height);
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--primary);
  z-index: 9998;
  padding: 24px;
  overflow-y: auto;
}

.mobile-menu.open { display: block; }

.mobile-menu a {
  display: block;
  padding: 14px 0;
  color: rgba(255,255,255,0.85);
  font-size: 16px;
  font-weight: 500;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* ===== HERO / BENTO GRID ===== */
.hero-section {
  padding-top: calc(var(--nav-height) + 40px);
  padding-bottom: 40px;
  background: linear-gradient(180deg, var(--primary) 0%, #0a2e52 100%);
  position: relative;
  overflow:visible;
}

.hero-section::before {
  content: '';
  position: absolute;
  top: -200px;
  right: -200px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(240,165,0,0.08) 0%, transparent 70%);
  border-radius: 50%;
}

.hero-bento {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: minmax(140px, auto);
  gap: 16px;
}

.bento-hero-title {
  grid-column: span 8;
  grid-row: span 2;
  background: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius);
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.bento-hero-title h1 {
  font-family: "Montserrat", "PingFang SC", sans-serif;
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 800;
  color: #fff;
  line-height: 1.35;
  margin-bottom: 14px;
  letter-spacing: 0.5px;
}

.bento-hero-title p {
  color: rgba(255,255,255,0.7);
  font-size: 15px;
  line-height: 1.7;
  max-width: 520px;
}

.bento-stat {
  grid-column: span 4;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: var(--transition);
}

.bento-stat:hover {
  background: rgba(255,255,255,0.09);
  transform: translateY(-2px);
}

.bento-stat .stat-label {
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
}

.bento-stat .stat-value {
  font-family: "Montserrat", sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: var(--accent);
}

.bento-stat .stat-sub {
  font-size: 12px;
  color: rgba(255,255,255,0.55);
  margin-top: 4px;
}

.bento-tag {
  grid-column: span 4;
  background: rgba(240,165,0,0.1);
  border: 1px solid rgba(240,165,0,0.2);
  border-radius: var(--radius);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: var(--transition);
}

.bento-tag:hover {
  background: rgba(240,165,0,0.18);
  transform: translateY(-2px);
}

.bento-tag .tag-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 8px;
}

.bento-tag .tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.bento-tag .tag-pill {
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.8);
  padding: 4px 10px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 500;
}

.bento-enter {
  grid-column: span 4;
  background: linear-gradient(135deg, var(--accent), #ffb81c);
  border-radius: var(--radius);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  cursor: pointer;
  transition: var(--transition);
}

.bento-enter:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(240,165,0,0.35);
}

.bento-enter h3 {
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: var(--primary);
  margin-bottom: 4px;
}

.bento-enter p {
  font-size: 12px;
  color: rgba(15,61,110,0.7);
}

.bento-enter .material-icons {
  font-size: 28px;
  color: var(--primary);
  margin-top: 4px;
}

/* ===== BUTTONS ===== */
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 30px;
  background: var(--accent);
  color: var(--primary);
  border: 1px solid var(--accent);
  border-radius: 50px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  white-space: nowrap;
}

.btn-primary:hover {
  background: #ffb81c;
  box-shadow: 0 4px 20px rgba(240,165,0,0.35);
  transform: translateY(-1px);
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 30px;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  white-space: nowrap;
}

.btn-outline:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.55);
  color: #fff;
}

.btn-dark {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 30px;
  background: var(--primary);
  color: #fff;
  border: 1px solid var(--primary);
  border-radius: 50px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  white-space: nowrap;
}

.btn-dark:hover {
  background: #164f85;
  box-shadow: 0 4px 20px rgba(15,61,110,0.3);
  transform: translateY(-1px);
}

.btn-sm {
  padding: 8px 18px;
  font-size: 12px;
}

/* ===== SECTIONS ===== */
.section {
  padding: 72px 0;
  position: relative;
}

.section-alt {
  background: #fff;
}

.section-dark {
  background: var(--primary);
  color: #fff;
}

.section-header {
  text-align: center;
  margin-bottom: 48px;
}

.section-header h2 {
  font-family: "Montserrat", "PingFang SC", sans-serif;
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 12px;
  letter-spacing: 0.3px;
}

.section-dark .section-header h2 {
  color: #fff;
}

.section-header p {
  font-size: 15px;
  color: var(--text-secondary);
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.7;
}

.section-dark .section-header p {
  color: rgba(255,255,255,0.65);
}

/* ===== GUARANTEE BAR ===== */
.guarantee-bar {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px;
  padding: 24px 0;
  margin-top: -32px;
  position: relative;
  z-index: 10;
}

.guarantee-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  border: 1px solid var(--border-color);
  transition: var(--transition);
}

.guarantee-item:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.guarantee-item .material-icons {
  color: var(--accent);
  font-size: 22px;
}

.guarantee-item span {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
}

/* ===== REVIEW CARDS ===== */
.review-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}

.review-card {
  background: #fff;
  border-radius: var(--radius);
  padding: 28px;
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-card);
  transition: var(--transition);
  position: relative;
}

.review-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-3px);
}

.review-card .stars {
  color: var(--accent);
  font-size: 16px;
  margin-bottom: 12px;
  letter-spacing: 2px;
}

.review-card .review-text {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: 16px;
}

.review-card .review-author {
  display: flex;
  align-items: center;
  gap: 10px;
}

.review-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.review-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.review-meta {
  font-size: 11px;
  color: var(--text-secondary);
}

/* ===== STEPS ===== */
.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  counter-reset: step;
}

.step-card {
  background: #fff;
  border-radius: var(--radius);
  padding: 32px 28px;
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-card);
  transition: var(--transition);
  counter-increment: step;
  position: relative;
  text-align: center;
}

.step-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-3px);
}

.step-num {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  box-shadow: 0 4px 16px rgba(15,61,110,0.25);
}

.step-card h3 {
  font-family: "Montserrat", "PingFang SC", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.step-card p {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.7;
}

/* ===== COMPARISON TABLE ===== */
.comparison-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--border-color);
}

.comparison-table thead th {
  background: var(--primary);
  color: #fff;
  padding: 16px 20px;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}

.comparison-table tbody td {
  padding: 14px 20px;
  font-size: 13px;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-color);
}

.comparison-table tbody tr:last-child td {
  border-bottom: none;
}

.comparison-table tbody tr:hover {
  background: rgba(15,61,110,0.03);
}

.comparison-table .highlight-col {
  background: rgba(240,165,0,0.06);
  font-weight: 700;
  color: var(--accent);
}

.check-icon { color: #22c55e; }
.cross-icon { color: #ef4444; }

/* ===== TAG CLOUD ===== */
.tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.tag-pill-lg {
  padding: 8px 20px;
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  cursor: pointer;
  transition: var(--transition);
}

.tag-pill-lg:hover {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
  box-shadow: 0 4px 16px rgba(15,61,110,0.2);
}

.tag-pill-lg.hot {
  background: rgba(240,165,0,0.1);
  border-color: rgba(240,165,0,0.3);
  color: var(--accent);
}

.tag-pill-lg.hot:hover {
  background: var(--accent);
  color: var(--primary);
}

/* ===== DATA STRIP ===== */
.data-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.data-block {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius);
  padding: 32px 24px;
  text-align: center;
  transition: var(--transition);
}

.data-block:hover {
  background: rgba(255,255,255,0.1);
  transform: translateY(-2px);
}

.data-block .data-val {
  font-family: "Montserrat", sans-serif;
  font-size: 36px;
  font-weight: 800;
  color: var(--accent);
  margin-bottom: 6px;
}

.data-block .data-lbl {
  font-size: 13px;
  color: rgba(255,255,255,0.6);
}

/* ===== FAQ ===== */
.faq-list {
  max-width: 800px;
  margin: 0 auto;
}

details.faq-item {
  background: #fff;
  border-radius: var(--radius);
  margin-bottom: 12px;
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  transition: var(--transition);
}

details.faq-item[open] {
  box-shadow: var(--shadow-hover);
}

details.faq-item summary {
  padding: 20px 24px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: var(--transition);
}

details.faq-item summary::-webkit-details-marker { display: none; }

details.faq-item summary::after {
  content: '+';
  font-size: 22px;
  font-weight: 300;
  color: var(--accent);
  transition: var(--transition);
}

details.faq-item[open] summary::after {
  content: '−';
}

details.faq-item summary:hover {
  color: var(--primary);
}

details.faq-item .faq-answer {
  padding: 0 24px 20px;
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.8;
}

/* ===== CATEGORY GRID ===== */
.category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
}

.category-card {
  background: #fff;
  border-radius: var(--radius);
  padding: 24px;
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-card);
  transition: var(--transition);
  cursor: pointer;
  text-align: center;
}

.category-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-3px);
  border-color: var(--accent);
}

.category-card .cat-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(15,61,110,0.08), rgba(15,61,110,0.03));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
}

.category-card .cat-icon .material-icons {
  font-size: 26px;
  color: var(--primary);
}

.category-card h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.category-card p {
  font-size: 12px;
  color: var(--text-secondary);
}

/* ===== NEWS LIST ===== */
.news-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.news-item {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #fff;
  border-radius: var(--radius);
  padding: 20px 24px;
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-card);
  transition: var(--transition);
}

.news-item:hover {
  box-shadow: var(--shadow-hover);
  transform: translateX(4px);
}

.news-date {
  flex-shrink: 0;
  width: 56px;
  text-align: center;
}

.news-date .nd-day {
  font-family: "Montserrat", sans-serif;
  font-size: 24px;
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
}

.news-date .nd-month {
  font-size: 11px;
  color: var(--text-secondary);
}

.news-info {
  flex: 1;
}

.news-info h4 {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.news-info p {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
}

.news-tag-badge {
  flex-shrink: 0;
  padding: 4px 12px;
  background: rgba(240,165,0,0.1);
  color: var(--accent);
  border-radius: 50px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

/* ===== HORIZONTAL CARDS ===== */
.horizontal-scroll {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding-bottom: 12px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.horizontal-scroll::-webkit-scrollbar {
  height: 6px;
}

.horizontal-scroll::-webkit-scrollbar-track {
  background: var(--border-color);
  border-radius: 3px;
}

.horizontal-scroll::-webkit-scrollbar-thumb {
  background: var(--accent);
  border-radius: 3px;
}

.hz-card {
  flex: 0 0 320px;
  scroll-snap-align: start;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius);
  padding: 28px;
  transition: var(--transition);
  cursor: pointer;
}

.hz-card:hover {
  background: rgba(255,255,255,0.1);
  transform: translateY(-3px);
}

.hz-card .hz-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(240,165,0,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.hz-card .hz-icon .material-icons {
  font-size: 24px;
  color: var(--accent);
}

.hz-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
}

.hz-card p {
  font-size: 13px;
  color: rgba(255,255,255,0.6);
  line-height: 1.7;
}

/* ===== CTA SECTION ===== */
.cta-section {
  background: linear-gradient(135deg, var(--primary), #0a2e52);
  border-radius: var(--radius-lg);
  padding: 60px 40px;
  text-align: center;
  position: relative;
  overflow:visible;
  margin: 0 24px;
}

.cta-section::before {
  content: '';
  position: absolute;
  top: -100px;
  left: -100px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(240,165,0,0.1), transparent 70%);
  border-radius: 50%;
}

.cta-section h2 {
  font-family: "Montserrat", "PingFang SC", sans-serif;
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  color: #fff;
  margin-bottom: 14px;
  position: relative;
}

.cta-section p {
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 28px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  position: relative;
}

/* ===== FOOTER ===== */
.site-footer {
  background: #081e36;
  color: rgba(255,255,255,0.6);
  padding: 56px 0 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
}

.footer-brand h3 {
  font-family: "Montserrat", "PingFang SC", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-brand p {
  font-size: 13px;
  line-height: 1.7;
  color: rgba(255,255,255,0.5);
  max-width: 300px;
}

.footer-col h4 {
  font-size: 14px;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.footer-col ul li {
  margin-bottom: 10px;
}

.footer-col ul li a {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  transition: var(--transition);
}

.footer-col ul li a:hover {
  color: var(--accent);
  padding-left: 4px;
}

.footer-divider {
  border: none;
  border-top: 1px solid rgba(255,255,255,0.08);
  margin: 0;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  font-size: 12px;
  color: rgba(255,255,255,0.35);
  flex-wrap: wrap;
  gap: 10px;
}

.footer-bottom a {
  color: rgba(255,255,255,0.45);
}

.footer-bottom a:hover {
  color: var(--accent);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .hero-bento {
    grid-template-columns: repeat(6, 1fr);
  }
  .bento-hero-title { grid-column: span 6; grid-row: span 1; padding: 28px; }
  .bento-stat { grid-column: span 2; }
  .bento-tag { grid-column: span 2; }
  .bento-enter { grid-column: span 2; }
  .steps-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .data-strip { grid-template-columns: repeat(2, 1fr); }}

@media (max-width: 768px) {
  :root { --nav-height: 58px; }
  .nav-links, .nav-actions { display: none; }
  .mobile-toggle { display: block; }
  .bento-hero-title { grid-column: span 6; grid-row: span 1; }
  .guarantee-bar { gap: 12px; margin-top: -24px; }
  .guarantee-item { padding: 10px 16px; }
  .guarantee-item span { font-size: 12px; }
  .step-card { padding: 24px 20px; }
  .comparison-table { font-size: 12px; }
  .comparison-table thead th,
  .comparison-table tbody td { padding: 10px 12px; }
  .cta-section { padding: 40px 24px; margin: 0 16px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .section { padding: 48px 0; }
  .section-header { margin-bottom: 32px; }
  .news-item { flex-direction: column; align-items: flex-start; gap: 10px; }
  .hz-card { flex: 0 0 260px; }}

@media (max-width: 520px) {
  .container { padding: 0 16px; }
  .hero-bento {
    grid-template-columns: repeat(4, 1fr);
  }
  .bento-hero-title { grid-column: span 4; padding: 22px; }
  .bento-hero-title h1 { font-size: 20px; }
  .bento-stat { grid-column: span 2; }
  .bento-tag { grid-column: span 2; }
  .bento-enter { grid-column: span 4; }
  .review-grid { grid-template-columns: 1fr; }
  .steps-grid { grid-template-columns: 1fr; }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .data-strip { grid-template-columns: 1fr 1fr; }
  .data-block .data-val { font-size: 26px; }
  .guarantee-item { width: 100%; }
  .cta-buttons { flex-direction: column; align-items: center; }
  .btn-primary, .btn-outline, .btn-dark { width: 100%; justify-content: center; }}

/* Focus accessibility */
*:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Animation */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-in {
  animation: fadeInUp 0.6s ease forwards;
}

.bento-hero-title h1{color:#1a1a1a!important}
.bento-hero-title p{color:#1a1a1a!important}
.bento-enter h3{color:#1a1a1a!important}
.bento-enter p{color:#1a1a1a!important}
#review h2{color:#1a1a1a!important}
.review-card p{color:#1a1a1a!important}
.section.section-alt h2{color:#1a1a1a!important}
.step-card h3{color:#1a1a1a!important}
.step-card p{color:#1a1a1a!important}
.section h2{color:#1a1a1a!important}
.section p{color:#1a1a1a!important}
#faq h2{color:#1a1a1a!important}
#faq p{color:#1a1a1a!important}

html,body{max-width:100%!important;overflow-x:clip!important}
body,main{transform:none!important;left:auto!important;right:auto!important}
main{width:100%;max-width:100%;display:block;position:relative}
section,article,.hero,header,footer,.pg-extra{max-width:100%;overflow:visible!important}
p,h1,h2,h3,h4,h5,h6,li{overflow:visible!important;max-width:100%;text-indent:0}
.min-h-screen{min-height:72vh}
.text-transparent,[class~="text-transparent"],.bg-clip-text{color:inherit!important;-webkit-text-fill-color:currentColor!important;background-clip:border-box!important;-webkit-background-clip:border-box!important}
img,svg,video,canvas{max-width:100%;height:auto}
.stat-row .stat .num,.stat .num,.hero-stats .num,.stat b,.stat strong,.hero-stats strong,.hero-stats b{display:block!important;font-size:clamp(28px,4vw,42px)!important;font-weight:800!important;line-height:1.15!important;overflow:visible!important;max-width:none!important;white-space:nowrap}
.card .num{width:auto!important;height:auto!important;min-width:0!important}
mark,mark[data-pg-kw]{background:transparent!important;color:inherit!important;padding:0!important}

section header,article header,.sec-head,.section-head,.sec-header,header.sec-head{position:static!important;top:auto!important;height:auto!important;min-height:0!important;line-height:inherit!important}