/* Premium category landing page, aligned with the product detail visual language. */
.geo-page-main { background:#fff; color:#1b1c1c; counter-reset:quicknav; }
.geo-page-main .geo-shell { box-sizing:border-box; width:100%; max-width:1280px; margin:0 auto; padding:0 48px; }
.geo-page-main .geo-kicker {
  display:inline-flex; align-items:center; gap:10px;
  color:#9a7830; font-family:'JetBrains Mono',monospace; font-size:11px;
  font-weight:700; line-height:1.4; letter-spacing:0; text-transform:uppercase;
}
.geo-section-number {
  flex:none; color:#ad8a36; font-family:'JetBrains Mono',monospace;
  font-size:12px; font-weight:700; line-height:1.5;
}
.geo-breadcrumb-bar {
  position:sticky; top:60px; z-index:40; background:linear-gradient(180deg,#fff 0%,#f5f7fa 100%);
  border-bottom:1px solid rgba(13,33,55,.14);
  box-shadow:0 7px 18px -16px rgba(13,33,55,.90),inset 0 -2px 0 rgba(201,168,76,.30);
}
.geo-breadcrumb-bar .geo-shell { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:52px; }
.geo-breadcrumb-bar .geo-breadcrumb {
  display:flex; flex-wrap:wrap; align-items:center; gap:7px; padding:13px 0;
  color:#7b8794; font-size:13px; letter-spacing:0;
}
.geo-breadcrumb-bar .geo-breadcrumb a { color:#536273; text-decoration:none; transition:color .2s ease; }
.geo-breadcrumb-bar .geo-breadcrumb a:hover { color:#0d2137; }
.geo-breadcrumb-bar .geo-breadcrumb [aria-current="page"] { color:#0d2137; font-weight:600; }
.geo-breadcrumb-back {
  flex:none; display:inline-flex; align-items:center; gap:6px; color:#1a3a5c;
  font-size:13px; font-weight:700; text-decoration:none;
}
.geo-breadcrumb-back:hover { color:#9a7830; }

.geo-hero {
  position:relative; overflow:hidden; isolation:isolate;
  background:
    radial-gradient(ellipse 52% 62% at 76% 46%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.50) 46%,rgba(255,255,255,0) 78%),
    radial-gradient(ellipse at 86% -8%,rgba(201,168,76,.12) 0%,transparent 42%),
    radial-gradient(ellipse at 8% 108%,rgba(45,89,134,.08) 0%,transparent 46%),
    linear-gradient(118deg,#dbe2e9 0%,#eef1f4 42%,#f8f9fa 70%,#e4e9ee 100%);
  border-bottom:1px solid rgba(13,33,55,.10);
}
.geo-hero::before {
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:linear-gradient(rgba(26,58,92,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(26,58,92,.045) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 78% 74% at 60% 48%,black 0%,transparent 78%);
  mask-image:radial-gradient(ellipse 78% 74% at 60% 48%,black 0%,transparent 78%);
}
.geo-hero::after {
  content:''; position:absolute; left:0; right:0; bottom:0; height:18px; background:#fff;
  clip-path:polygon(0 0,100% 0,calc(100% - 68px) 100%,68px 100%); pointer-events:none;
}
.geo-hero-grid { position:relative; }
.geo-hero-inner {
  display:grid; grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr); gap:44px;
  align-items:center; min-height:590px; padding-top:58px; padding-bottom:58px;
}
.geo-hero-copy { position:relative; z-index:2; max-width:590px; }
.geo-hero-kicker span {
  width:34px; height:8px; transform:skewX(-24deg);
  background:linear-gradient(180deg,#e0c878 0%,#c9a84c 100%); box-shadow:0 2px 6px rgba(201,168,76,.4);
}
.geo-hero h1 {
  max-width:650px; margin:20px 0 22px; color:#0d2137;
  font-family:'Hanken Grotesk','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:68px; font-weight:800; line-height:1.05; letter-spacing:0;
  text-wrap:balance; text-shadow:0 1px 0 rgba(255,255,255,.7),0 18px 34px rgba(13,33,55,.07);
}
.geo-hero-lede {
  display:-webkit-box; max-width:560px; margin:0; overflow:hidden; color:#475569;
  font-size:17px; line-height:1.9; -webkit-line-clamp:3; -webkit-box-orient:vertical;
}
.geo-hero-facts {
  display:flex; flex-wrap:wrap; gap:0; margin:28px 0 0; padding:17px 0 0;
  border-top:1px solid rgba(13,33,55,.16); color:#5f6d7c; font-size:13px; line-height:1.6;
}
.geo-hero-facts span { display:inline-flex; align-items:baseline; gap:4px; padding:0 18px; border-left:1px solid rgba(13,33,55,.12); }
.geo-hero-facts span:first-child { padding-left:0; border-left:0; }
.geo-hero-facts strong { color:#0d2137; font-family:'JetBrains Mono',monospace; font-size:22px; line-height:1; }
.geo-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:30px; }
.geo-primary-link,
.geo-secondary-link { display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:700; text-decoration:none; }
.geo-primary-link {
  position:relative; overflow:hidden; padding:13px 24px; border-radius:4px;
  background:linear-gradient(135deg,#c9a84c 0%,#d9bc68 100%); color:#0d2137;
  box-shadow:0 8px 18px -10px rgba(201,168,76,.75); transition:transform .25s ease,box-shadow .25s ease;
}
.geo-primary-link::after {
  content:''; position:absolute; top:-24%; bottom:-24%; right:-18px; width:44px; transform:skewX(-24deg);
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.32)); pointer-events:none;
}
.geo-primary-link:hover { transform:translateY(-2px); box-shadow:0 14px 28px -14px rgba(201,168,76,.88); }
.geo-secondary-link { padding:8px 0; border-bottom:1px solid rgba(26,58,92,.32); color:#1a3a5c; }
.geo-secondary-link:hover { color:#9a7830; border-bottom-color:#c9a84c; }
.geo-hero-visual {
  position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-width:0; aspect-ratio:1.08; margin:0;
}
.geo-hero-visual::before {
  content:''; position:absolute; inset:7% 3% 11%; z-index:-1; border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,255,255,.92) 0%,rgba(255,255,255,.60) 46%,rgba(255,255,255,0) 78%);
  filter:blur(4px);
}
.geo-hero-visual::after {
  content:''; position:absolute; left:50%; bottom:12%; width:50%; height:5%; transform:translateX(-50%);
  border-radius:50%; background:radial-gradient(ellipse at 50% 50%,rgba(13,33,55,.22) 0%,rgba(13,33,55,.08) 46%,rgba(13,33,55,0) 76%);
  filter:blur(8px); pointer-events:none;
}
.geo-hero-product {
  position:relative; z-index:2; display:flex; align-items:center; justify-content:center;
  width:100%; min-height:0; padding:2% 4% 1%;
}
.geo-hero-product img {
  display:block; width:100%; max-width:620px; max-height:470px; object-fit:contain; border-radius:6px;
  box-shadow:0 28px 64px -28px rgba(13,33,55,.72),0 10px 24px -18px rgba(13,33,55,.55);
}
.geo-hero-product > span {
  color:rgba(26,58,92,.10); font-family:'Hanken Grotesk','PingFang SC',sans-serif;
  font-size:220px; font-weight:800; line-height:1;
}
.geo-hero-visual-index {
  position:absolute; top:1%; right:5%; z-index:1; color:rgba(26,58,92,.065);
  font-family:'Hanken Grotesk','PingFang SC',sans-serif; font-size:138px; font-weight:800; line-height:1; pointer-events:none;
}
.geo-hero-visual-label {
  position:absolute; left:-6px; top:48%; z-index:2; transform:translateY(-50%);
  color:#8593a2; font-family:'JetBrains Mono',monospace; font-size:10px; line-height:1; writing-mode:vertical-rl;
}
.geo-hero-visual figcaption {
  position:relative; z-index:2; min-width:220px; padding-top:11px; border-top:1px solid rgba(13,33,55,.18);
  color:#657487; font-family:'JetBrains Mono',monospace; font-size:11px; line-height:1.5; text-align:center;
}

.geo-overview-section { position:relative; padding:74px 0 76px; background:#fff; border-bottom:0; }
.geo-overview-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr); gap:80px; align-items:start; }
.geo-section-heading { display:flex; align-items:flex-start; gap:18px; margin-bottom:28px; }
.geo-section-heading .geo-section-number { padding-top:3px; }
.geo-section-heading h2 {
  margin:8px 0 0; color:#0d2137; font-family:'Hanken Grotesk','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:34px; font-weight:800; line-height:1.2; letter-spacing:0;
}
.geo-overview-intro { padding-left:36px; border-left:1px solid #e1e6eb; }
.geo-overview-intro p { max-width:760px; margin:0; color:#475569; font-size:17px; line-height:1.95; }
.geo-overview-intro p + p { margin-top:9px; }
.geo-quick-panel {
  display:grid; gap:0; align-self:start; padding:28px 0 0 28px; border-left:1px solid #dce2e7;
}
.geo-quick-title { margin-bottom:10px; color:#0d2137; font-size:14px; font-weight:700; }
.geo-quick-panel a {
  counter-increment:quicknav; display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 0;
  border-bottom:1px solid #e9edf0; color:#526173; font-size:14px; line-height:1.5; text-decoration:none;
  transition:color .2s ease,padding-left .2s ease;
}
.geo-quick-panel a::before {
  content:'0' counter(quicknav); flex:none; color:#b29349; font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700;
}
.geo-quick-panel a:hover { padding-left:5px; color:#0d2137; }
.geo-quick-panel .geo-quick-primary { color:#0d2137; font-weight:700; }
.geo-quick-primary span {
  display:inline-flex; min-width:24px; height:22px; align-items:center; justify-content:center;
  margin-left:auto; border:1px solid rgba(201,168,76,.38); border-radius:2px; color:#8b6d2b;
  font-family:'JetBrains Mono',monospace; font-size:11px;
}

#products, #guide, #faq, .geo-guide-card [id] { scroll-margin-top:124px; }
.geo-catalog-section { position:relative; padding:78px 0 70px; background:#e9edf0; }
.geo-catalog-section::before {
  content:''; position:absolute; top:0; left:0; right:0; height:22px; background:#fff; pointer-events:none;
  clip-path:polygon(0 0,100% 0,calc(100% - 66px) 100%,66px 100%);
}
.geo-catalog-title-row { display:flex; align-items:center; gap:12px; margin-bottom:24px; color:#798693; font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; line-height:1.4; }
.geo-catalog-head { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; margin-bottom:40px; }
.geo-catalog-head h2 {
  margin:9px 0 11px; color:#0d2137; font-family:'Hanken Grotesk','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:40px; font-weight:800; line-height:1.18; letter-spacing:0;
}
.geo-catalog-head p { max-width:680px; margin:0; color:#617082; font-size:15px; line-height:1.8; }
.geo-text-link {
  flex:none; display:inline-flex; align-items:center; gap:6px; padding-bottom:5px;
  border-bottom:1px solid rgba(26,58,92,.28); color:#1a3a5c; font-size:14px; font-weight:700; text-decoration:none;
}
.geo-text-link:hover { color:#9a7830; border-bottom-color:#c9a84c; }
.geo-empty-products { grid-column:1/-1; padding:34px 32px; border:1px solid rgba(13,33,55,.12); border-radius:4px; background:rgba(255,255,255,.56); color:#617082; line-height:1.8; }
.geo-category-strip { display:flex; align-items:center; gap:20px; margin-top:52px; padding-top:24px; border-top:1px solid rgba(13,33,55,.15); }
.geo-category-strip-label { flex:none; color:#0d2137; font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; }
.geo-category-strip-links { display:flex; flex-wrap:wrap; gap:8px; }
.geo-category-strip a {
  display:inline-flex; align-items:center; min-height:34px; padding:7px 13px;
  border:1px solid rgba(13,33,55,.16); border-radius:3px; background:rgba(255,255,255,.58);
  color:#44566a; font-size:13px; text-decoration:none;
  transition:border-color .2s ease,color .2s ease,transform .2s ease,background .2s ease;
}
.geo-category-strip a:hover { transform:translateY(-1px); border-color:rgba(201,168,76,.70); background:#fff; color:#1a3a5c; }

.geo-guide-section { position:relative; padding:78px 0 82px; background:#fff; }
.geo-guide-section::before {
  content:''; position:absolute; top:0; left:0; right:0; height:22px; background:#e9edf0; pointer-events:none;
  clip-path:polygon(0 0,100% 0,calc(100% - 58px) 100%,58px 100%);
}
.geo-guide-layout { display:grid; grid-template-columns:290px minmax(0,1fr); gap:76px; align-items:start; }
main > section.geo-guide-section { background:#fff; background-image:none; }
.geo-guide-head { position:sticky; top:137px; }
.geo-guide-head .geo-section-number { display:block; margin-bottom:18px; }
.geo-guide-head h2 {
  margin:10px 0 16px; color:#0d2137; font-family:'Hanken Grotesk','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:36px; font-weight:800; line-height:1.2; letter-spacing:0;
}
.geo-guide-head p { margin:0; color:#64748b; font-size:15px; line-height:1.85; }
.geo-guide-content { min-width:0; }
.geo-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; }
.geo-guide-card {
  position:relative; min-width:0; padding:30px 42px 34px 30px; border:0; border-top:1px solid #dfe5ea;
  border-radius:0; background:transparent;
}
.geo-guide-card::before {
  content:''; position:absolute; left:0; top:32px; width:4px; height:44px;
  background:linear-gradient(180deg,#e0c878 0%,#c9a84c 100%); box-shadow:0 3px 10px rgba(201,168,76,.30);
}
.geo-guide-index { position:absolute; top:30px; right:0; color:#b29349; font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; }
.geo-guide-card h2 {
  margin:0 0 16px; padding-right:38px; color:#0d2137; font-family:'Hanken Grotesk','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:24px; font-weight:700; line-height:1.4; letter-spacing:0;
}
.geo-guide-text { margin:0 0 13px; color:#536273; font-size:15px; line-height:1.85; }
.geo-guide-text:last-child { margin-bottom:0; }
.geo-guide-list { display:grid; gap:9px; margin:8px 0 18px; padding-left:19px; color:#536273; font-size:15px; line-height:1.75; }
.geo-guide-list:last-child { margin-bottom:0; }
.geo-guide-list li::marker { color:#c9a84c; }

.geo-faq-section { position:relative; padding:76px 0; background:#f3f4f4; border-top:0; }
.geo-faq-section::before {
  content:''; position:absolute; top:0; left:0; right:0; height:22px; background:#fff; pointer-events:none;
  clip-path:polygon(0 0,100% 0,calc(100% - 62px) 100%,62px 100%);
}
.geo-faq-layout { display:grid; grid-template-columns:minmax(250px,.68fr) minmax(0,1.32fr); gap:76px; align-items:start; }
.geo-faq-intro { position:sticky; top:140px; padding-left:28px; border-left:1px solid rgba(13,33,55,.16); }
.geo-faq-intro h2 {
  margin:9px 0 14px; color:#0d2137; font-family:'Hanken Grotesk','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:34px; font-weight:800; line-height:1.24; letter-spacing:0;
}
.geo-faq-intro p { margin:0 0 18px; color:#617082; font-size:15px; line-height:1.85; }
.geo-faq-intro a { color:#1a3a5c; font-size:14px; font-weight:700; text-decoration:none; }
.geo-faq-intro a:hover { color:#9a7830; }
.geo-faq-list { max-width:none; margin:0; border-top:1px solid rgba(13,33,55,.17); }
.geo-faq-list details { border-bottom:1px solid rgba(13,33,55,.17); }
.geo-faq-list summary {
  display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0;
  color:#0d2137; font-size:16px; font-weight:600; line-height:1.65; cursor:pointer; list-style:none;
}
.geo-faq-list summary::-webkit-details-marker { display:none; }
.geo-faq-list summary::after { content:'+'; flex:none; color:#9a7830; font-family:'JetBrains Mono',monospace; font-size:20px; font-weight:400; }
.geo-faq-list details[open] summary::after { content:'-'; }
.geo-faq-list details p { margin:0; padding:0 48px 22px 0; color:#617082; font-size:15px; line-height:1.9; }

.geo-cta-section { position:relative; overflow:hidden; padding:76px 0 72px; border-top:0; color:#fff;
  background:radial-gradient(ellipse at 16% -10%,rgba(45,89,134,.62) 0%,transparent 50%),radial-gradient(ellipse at 88% 112%,rgba(201,168,76,.17) 0%,transparent 50%),linear-gradient(180deg,#0d2137 0%,#16324f 100%);
}
.geo-cta-section::before {
  content:''; position:absolute; top:0; left:0; right:0; height:22px; background:#f3f4f4; pointer-events:none;
  clip-path:polygon(0 0,100% 0,calc(100% - 70px) 100%,70px 100%);
}
.geo-cta-section::after {
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.55;
  background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.045) 0 1px,transparent 1px 16px);
}
.geo-cta-inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:56px; }
.geo-cta-copy { max-width:820px; }
.geo-cta-copy h2 {
  margin:10px 0 0; color:#fff; font-family:'Hanken Grotesk','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:38px; font-weight:800; line-height:1.25; letter-spacing:0;
}
.geo-cta-copy p { max-width:720px; margin:13px 0 0; color:rgba(255,255,255,.66); font-size:15px; line-height:1.8; }
.geo-cta-section .geo-kicker { color:#d9bd77; }
.geo-cta-inner > a {
  flex:none; display:inline-flex; align-items:center; gap:8px; padding:14px 24px; border-radius:4px;
  background:linear-gradient(135deg,#c9a84c 0%,#ddc170 100%); color:#0d2137; font-size:14px; font-weight:700; text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease;
}
.geo-cta-inner > a:hover { transform:translateY(-2px); box-shadow:0 14px 30px -14px rgba(201,168,76,.90); }
.geo-page-main + footer {
  border-top:1px solid rgba(201,168,76,.16); background:linear-gradient(180deg,#0d2137 0%,#0a1a2c 100%);
}
.geo-primary-link:focus-visible,.geo-secondary-link:focus-visible,.geo-breadcrumb-back:focus-visible,.geo-text-link:focus-visible,.geo-category-strip a:focus-visible,.geo-faq-list summary:focus-visible {
  outline:2px solid #c9a84c; outline-offset:3px;
}

@media (max-width:1100px) {
  .geo-page-main .geo-shell { padding:0 34px; }
  .geo-hero-inner { grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr); gap:28px; min-height:540px; }
  .geo-hero h1 { font-size:56px; }
  .geo-overview-grid { gap:48px; }
  .geo-guide-layout { grid-template-columns:240px minmax(0,1fr); gap:48px; }
  .geo-guide-grid { gap:0 32px; }
  .geo-faq-layout { gap:48px; }
}

@media (max-width:920px) {
  .geo-breadcrumb-bar { position:static; }
  .geo-hero-inner { grid-template-columns:1fr; gap:18px; min-height:0; padding-top:54px; padding-bottom:42px; }
  .geo-hero-copy { max-width:720px; }
  .geo-hero h1 { font-size:52px; }
  .geo-hero-visual { width:100%; max-width:680px; margin:0 auto; aspect-ratio:1.32; }
  .geo-hero-product img { max-height:390px; }
  .geo-hero-visual-label { display:none; }
  .geo-overview-grid,.geo-faq-layout { grid-template-columns:1fr; gap:38px; }
  .geo-quick-panel { grid-template-columns:repeat(2,minmax(0,1fr)); padding:24px 0 0; border-left:0; border-top:1px solid #dce2e7; }
  .geo-quick-title { grid-column:1/-1; }
  .geo-guide-layout { grid-template-columns:1fr; gap:38px; }
  .geo-guide-head,.geo-faq-intro { position:static; }
  .geo-guide-head { max-width:720px; }
  .geo-faq-intro { padding:0 0 0 22px; }
  .geo-cta-inner { align-items:flex-start; flex-direction:column; gap:32px; }
}

@media (max-width:640px) {
  .geo-page-main .geo-shell { padding:0 20px; }
  .geo-breadcrumb-bar .geo-shell { min-height:48px; }
  .geo-breadcrumb-bar .geo-breadcrumb { font-size:12px; padding:12px 0; }
  .geo-breadcrumb-back { display:none; }
  .geo-hero::after { height:14px; clip-path:polygon(0 0,100% 0,calc(100% - 34px) 100%,34px 100%); }
  .geo-hero-inner { padding-top:42px; padding-bottom:30px; gap:10px; }
  .geo-hero h1 { margin:17px 0 18px; font-size:42px; line-height:1.1; }
  .geo-hero-lede { font-size:16px; line-height:1.8; -webkit-line-clamp:4; }
  .geo-hero-facts { gap:8px 0; margin-top:24px; padding-top:15px; font-size:12px; }
  .geo-hero-facts span { padding:0 12px; }
  .geo-hero-facts strong { font-size:19px; }
  .geo-hero-actions { gap:18px; margin-top:25px; }
  .geo-primary-link { flex:1; justify-content:center; min-width:150px; padding:13px 20px; }
  .geo-hero-visual { aspect-ratio:1.12; }
  .geo-hero-product { padding:3% 2% 0; }
  .geo-hero-product img { max-height:300px; }
  .geo-hero-visual-index { top:0; right:2%; font-size:82px; }
  .geo-hero-visual figcaption { min-width:190px; }
  .geo-overview-section,.geo-catalog-section,.geo-guide-section,.geo-faq-section,.geo-cta-section { padding-top:54px; padding-bottom:54px; }
  .geo-section-heading { gap:13px; margin-bottom:22px; }
  .geo-section-heading h2,.geo-faq-intro h2 { font-size:28px; }
  .geo-overview-intro { padding-left:18px; }
  .geo-overview-intro p { font-size:16px; line-height:1.9; }
  .geo-quick-panel { grid-template-columns:1fr; }
  .geo-catalog-title-row { margin-bottom:20px; }
  .geo-catalog-head { align-items:flex-start; flex-direction:column; gap:20px; margin-bottom:34px; }
  .geo-catalog-head h2 { font-size:30px; }
  .geo-catalog-head p { font-size:14px; }
  .geo-category-strip { align-items:flex-start; flex-direction:column; gap:12px; }
  .geo-guide-layout { gap:30px; }
  .geo-guide-head h2 { font-size:29px; }
  .geo-guide-grid { grid-template-columns:1fr; }
  .geo-guide-card { padding:26px 34px 29px 22px; }
  .geo-guide-card::before { top:28px; }
  .geo-guide-index { top:26px; }
  .geo-guide-card h2 { font-size:22px; }
  .geo-faq-layout { gap:30px; }
  .geo-faq-list summary { gap:16px; padding:19px 0; font-size:15px; }
  .geo-faq-list details p { padding-right:22px; }
  .geo-cta-copy h2 { font-size:29px; }
  .geo-cta-inner > a { width:100%; justify-content:center; }
}

/* Unified editorial hero for news, product center and keyword landing pages. */
.hero-banner {
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:315px;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(at 18% 0%,rgba(45,89,134,.60) 0%,transparent 55%),
    radial-gradient(at 84% 112%,rgba(201,168,76,.16) 0%,transparent 48%),
    linear-gradient(135deg,#0d2137 0%,#1a3a5c 50%,#0d2137 100%);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),96% 100%,4% 100%,0 calc(100% - 18px));
}
.hero-banner::after { content:none; display:none; }
.hero-banner-bg {
  opacity:.50;
  transform:scale(1.04);
  filter:contrast(1.06) saturate(.96);
  transition:transform 8s ease,opacity .45s ease;
}
.hero-banner:hover .hero-banner-bg { opacity:.56; transform:scale(1); }
.hero-banner-overlay {
  background:linear-gradient(to bottom,rgba(13,33,55,.20) 0%,rgba(13,33,55,.52) 58%,rgba(13,33,55,.72) 100%);
}
.hero-grid {
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:60px 60px;
  -webkit-mask-image:radial-gradient(ellipse 82% 80% at 50% 40%,rgba(0,0,0,.68),transparent 72%);
  mask-image:radial-gradient(ellipse 82% 80% at 50% 40%,rgba(0,0,0,.68),transparent 72%);
}
.hero-content {
  position:relative;
  z-index:2;
  width:100%;
  max-width:1080px;
  padding:48px 24px 62px;
  text-align:center;
}
.hero-badge {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#d8bb72;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.2em;
  text-transform:uppercase;
  backdrop-filter:none;
}
.hero-badge > span:first-child {
  width:28px !important;
  height:1px !important;
  border-radius:0 !important;
  background:linear-gradient(90deg,transparent,#c9a84c) !important;
}
.hero-badge::after {
  content:'';
  width:28px;
  height:1px;
  background:linear-gradient(90deg,#c9a84c,transparent);
}
.hero-badge > span:last-child { display:block; }
.hero-title {
  max-width:1040px;
  margin:0 auto;
  color:#fff;
  font-family:'Hanken Grotesk','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:clamp(34px,4.4vw,52px);
  font-weight:700;
  line-height:1.18;
  letter-spacing:.04em;
  text-wrap:balance;
  text-shadow:0 4px 20px rgba(0,0,0,.30);
}
.hero-subtitle {
  max-width:760px;
  margin:16px auto 0;
  color:rgba(255,255,255,.66);
  font-size:15px;
  font-weight:400;
  line-height:1.7;
  letter-spacing:.01em;
}
@media (max-width:860px) {
  .hero-banner { min-height:280px; }
}
@media (max-width:640px) {
  .hero-banner { min-height:250px; clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),93% 100%,7% 100%,0 calc(100% - 12px)); }
  .hero-banner-bg { opacity:.54; }
  .hero-content { padding:36px 20px 49px; }
  .hero-badge { margin-bottom:10px; font-size:9px; letter-spacing:.13em; }
  .hero-badge > span:first-child,.hero-badge::after { width:18px; }
  .hero-title { font-size:clamp(29px,8.8vw,34px); line-height:1.3; }
  .hero-subtitle { margin-top:12px; font-size:13px; line-height:1.65; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-banner-bg { transition:none; }
}
