:root { --gn-ink:#082927; --gn-deep:#031c1c; --gn-paper:#f4f0e6; --gn-cream:#fffaf0; --gn-teal:#14b8a6; --gn-coral:#f2664f; --gn-saffron:#f3ae2b; --gn-line:rgba(8,41,39,.14); }
.page-gannan { background:var(--gn-paper); color:var(--gn-ink); overflow-x:hidden; }
.page-gannan main { overflow:hidden; }
.page-gannan .city-shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.page-gannan .gn-section { padding:120px 0; position:relative; }
.page-gannan .gn-hero { min-height:820px; background:var(--gn-deep); color:#fff; position:relative; isolation:isolate; overflow:hidden; }
.page-gannan .gn-hero-media,.page-gannan .gn-hero-shade { position:absolute; inset:0; }
.page-gannan .gn-hero-media img { width:100%; height:100%; object-fit:cover; }
.page-gannan .gn-hero-shade { background:linear-gradient(90deg,rgba(3,28,28,.97) 0%,rgba(3,28,28,.88) 42%,rgba(3,28,28,.36) 72%,rgba(3,28,28,.56) 100%),linear-gradient(0deg,rgba(3,28,28,.72),transparent 48%); }
.page-gannan .gn-hero-shell { min-height:820px; padding-top:86px; display:flex; flex-direction:column; position:relative; z-index:2; }
.page-gannan .city-breadcrumb { margin-top:32px; color:rgba(255,255,255,.72); }
.page-gannan .city-breadcrumb a,.page-gannan .city-breadcrumb strong { color:inherit; }
.page-gannan .gn-hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr); gap:72px; align-items:center; flex:1; padding:66px 0 96px; }
.page-gannan .gn-kicker,.page-gannan .gn-heading>div>p,.page-gannan .gn-service-copy>span,.page-gannan .gn-faq-grid>header>p { font-size:12px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--gn-saffron); }
.page-gannan .gn-hero h1 { font-size:58px; line-height:1.08; letter-spacing:-.045em; margin:22px 0 26px; max-width:680px; }
.page-gannan .gn-hero h1 em { color:#8ce3d5; font-style:normal; display:block; }
.page-gannan .gn-hero-copy>p:not(.gn-kicker) { max-width:640px; font-size:18px; line-height:1.9; color:rgba(255,255,255,.78); }
.page-gannan .gn-hero-actions { margin-top:34px; display:flex; gap:12px; flex-wrap:wrap; }
.page-gannan .gn-hero-actions a { min-height:50px; padding:0 22px; border:1px solid rgba(255,255,255,.28); display:inline-flex; align-items:center; gap:18px; color:#fff; font-weight:750; border-radius:4px; background:rgba(255,255,255,.06); backdrop-filter:blur(8px); }
.page-gannan .gn-hero-actions a:first-child { background:var(--gn-coral); border-color:var(--gn-coral); }
.page-gannan .gn-workbench { border:1px solid rgba(255,255,255,.26); background:rgba(4,31,30,.76); padding:18px; border-radius:6px; box-shadow:20px 24px 0 rgba(0,0,0,.16); backdrop-filter:blur(14px); }
.page-gannan .gn-workbench-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; color:rgba(255,255,255,.68); font-size:11px; letter-spacing:.16em; }
.page-gannan .gn-workbench-head i { width:64px; height:8px; background:repeating-linear-gradient(90deg,var(--gn-teal) 0 8px,transparent 8px 13px); }
.page-gannan .gn-workbench-grid { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:128px 116px 92px; gap:9px; }
.page-gannan .gn-workbench-grid article { padding:16px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.08); display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; position:relative; }
.page-gannan .gn-workbench-grid article::before { content:""; position:absolute; width:70px; height:70px; border:1px solid rgba(255,255,255,.12); border-radius:50%; right:-24px; top:-28px; }
.page-gannan .gn-workbench-grid .is-large { grid-row:span 2; background:linear-gradient(145deg,rgba(20,184,166,.38),rgba(255,255,255,.07)); }
.page-gannan .gn-workbench-grid .is-wide { grid-column:1/-1; background:linear-gradient(90deg,rgba(242,102,79,.46),rgba(243,174,43,.16)); }
.page-gannan .gn-workbench-grid small { font-size:9px; letter-spacing:.18em; color:#99eadf; margin-bottom:auto; }
.page-gannan .gn-workbench-grid b { font-size:20px; }
.page-gannan .gn-workbench-grid p { color:rgba(255,255,255,.66); margin:5px 0 0; font-size:12px; }
.page-gannan .gn-skyline { height:34px; position:absolute; z-index:3; bottom:0; left:0; right:0; display:flex; align-items:flex-end; gap:3px; opacity:.7; }
.page-gannan .gn-skyline i { display:block; background:var(--gn-paper); flex:1; clip-path:polygon(0 70%,12% 70%,12% 35%,22% 35%,22% 80%,42% 80%,42% 48%,54% 48%,54% 8%,68% 8%,68% 66%,82% 66%,82% 40%,100% 40%,100% 100%,0 100%); height:100%; }
.page-gannan .gn-skyline i:nth-child(2n) { transform:scaleX(-1); }
.page-gannan .gn-contour { position:absolute; width:520px; height:520px; border:1px solid rgba(140,227,213,.24); border-radius:44% 56% 41% 59%/53% 38% 62% 47%; pointer-events:none; }
.page-gannan .gn-contour::before,.page-gannan .gn-contour::after { content:""; position:absolute; inset:40px; border:inherit; border-radius:inherit; transform:rotate(12deg); }
.page-gannan .gn-contour::after { inset:86px; transform:rotate(-9deg); }
.page-gannan .gn-contour-a { left:-240px; bottom:-210px; }
.page-gannan .city-ad { background:var(--gn-paper); }
.page-gannan .gn-first-ad { padding-top:26px; }
.page-gannan .gn-heading { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.58fr); gap:80px; align-items:end; margin-bottom:54px; }
.page-gannan .gn-heading h2,.page-gannan .gn-service-copy h2,.page-gannan .gn-faq-grid h2,.page-gannan .gn-final h2 { font-size:46px; line-height:1.13; letter-spacing:-.04em; margin:12px 0 0; }
.page-gannan .gn-heading>p { color:#506965; line-height:1.9; margin:0; }
.page-gannan .gn-industry-grid { display:grid; grid-template-columns:1.25fr .75fr 1fr; grid-template-rows:270px 246px; gap:14px; }
.page-gannan .gn-industry-grid article { background:var(--gn-cream); border:1px solid var(--gn-line); padding:30px; display:flex; flex-direction:column; border-radius:4px; box-shadow:0 12px 30px rgba(8,41,39,.05); }
.page-gannan .gn-industry-grid .is-feature { grid-row:span 2; background:var(--gn-ink); color:#fff; padding:42px; }
.page-gannan .gn-industry-grid .is-tall { grid-row:span 2; }
.page-gannan .gn-industry-grid .is-coral { background:#f9d9ce; }
.page-gannan .gn-industry-grid .is-saffron { background:#f6dfaa; }
.page-gannan .gn-industry-grid .is-dark { background:#12413d; color:#fff; }
.page-gannan .gn-industry-grid span { font-size:10px; letter-spacing:.18em; font-weight:800; color:var(--gn-coral); }
.page-gannan .gn-industry-grid h3 { font-size:25px; margin:18px 0 12px; }
.page-gannan .gn-industry-grid p { margin:0; color:#526762; line-height:1.8; }
.page-gannan .gn-industry-grid .is-feature p,.page-gannan .gn-industry-grid .is-dark p { color:rgba(255,255,255,.72); }
.page-gannan .gn-industry-grid article>div { display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:16px; }
.page-gannan .gn-industry-grid article>div b { font-size:11px; padding:7px 9px; border:1px solid currentColor; border-radius:2px; }
.page-gannan .gn-service { border-top:1px solid var(--gn-line); }
.page-gannan .gn-register { background:#fffaf0; }
.page-gannan .gn-accounting { background:#e6f0ec; }
.page-gannan .gn-growth { background:#f4e7de; }
.page-gannan .gn-service-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:74px; align-items:center; }
.page-gannan .gn-service-copy>p:first-of-type { color:var(--gn-coral); font-size:11px; font-weight:800; letter-spacing:.17em; }
.page-gannan .gn-service-copy>p:nth-of-type(2) { color:#4e6763; line-height:1.9; font-size:16px; }
.page-gannan .gn-mini-bento { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:28px 0; }
.page-gannan .gn-mini-bento article { padding:15px; background:rgba(255,255,255,.7); border:1px solid var(--gn-line); display:grid; grid-template-columns:28px 1fr; gap:3px 8px; }
.page-gannan .gn-mini-bento i { grid-row:span 2; font-style:normal; font-size:10px; color:var(--gn-coral); }
.page-gannan .gn-mini-bento small { color:#637571; }
.page-gannan .gn-service-copy aside { border-left:3px solid var(--gn-saffron); padding:14px 18px; background:rgba(255,255,255,.55); color:#405c58; line-height:1.75; font-size:14px; }
.page-gannan .gn-photo-card { margin:0; padding:12px; border:1px solid var(--gn-line); background:#fff; box-shadow:18px 20px 0 rgba(8,41,39,.08); }
.page-gannan .gn-photo-card img { width:100%; aspect-ratio:3/2; object-fit:cover; display:block; }
.page-gannan .gn-photo-card figcaption { display:flex; justify-content:space-between; align-items:center; padding:15px 5px 3px; gap:18px; }
.page-gannan .gn-photo-card figcaption span { font-size:10px; letter-spacing:.16em; color:var(--gn-coral); }
.page-gannan .gn-ledger-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:28px 0; }
.page-gannan .gn-ledger-grid b { padding:15px; text-align:center; background:var(--gn-ink); color:#fff; font-size:13px; }
.page-gannan .gn-ledger-grid b:nth-child(2),.page-gannan .gn-ledger-grid b:nth-child(5) { background:var(--gn-teal); color:var(--gn-ink); }
.page-gannan .gn-product-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:28px 0; }
.page-gannan .gn-product-grid a { min-height:150px; padding:20px; background:var(--gn-ink); color:#fff; display:flex; flex-direction:column; border-top:6px solid var(--gn-coral); }
.page-gannan .gn-product-grid a:nth-child(2) { border-color:var(--gn-teal); }
.page-gannan .gn-product-grid span { font-size:9px; letter-spacing:.16em; color:#a0dbd3; }
.page-gannan .gn-product-grid b { margin:15px 0; line-height:1.5; }
.page-gannan .gn-product-grid em { margin-top:auto; font-style:normal; font-size:12px; }
.page-gannan .gn-services { background:var(--gn-paper); }
.page-gannan .gn-service-tiles { display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:repeat(2,220px); gap:12px; }
.page-gannan .gn-service-tiles a { padding:28px; border:1px solid var(--gn-line); background:#fff; color:var(--gn-ink); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.page-gannan .gn-service-tiles a:nth-child(2),.page-gannan .gn-service-tiles a:nth-child(3) { background:#dcebe5; }
.page-gannan .gn-service-tiles span { color:var(--gn-coral); font-size:10px; letter-spacing:.16em; }
.page-gannan .gn-service-tiles h3 { font-size:25px; margin:16px 0 6px; }
.page-gannan .gn-service-tiles p { color:#586e69; margin:0; }
.page-gannan .gn-service-tiles b { margin-top:auto; font-size:12px; }
.page-gannan .gn-platform { background:var(--gn-deep); color:#fff; overflow:hidden; }
.page-gannan .gn-heading.is-light>p { color:rgba(255,255,255,.66); }
.page-gannan .gn-platform .gn-contour-b { right:-170px; top:60px; border-color:rgba(20,184,166,.18); }
.page-gannan .gn-platform-layout { display:grid; grid-template-columns:1.18fr .82fr; gap:14px; position:relative; }
.page-gannan .gn-platform-layout figure { margin:0; padding:12px; background:#fff; color:var(--gn-ink); }
.page-gannan .gn-platform-layout figure img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.page-gannan .gn-platform-layout figure figcaption { display:flex; justify-content:space-between; padding:15px 3px 3px; gap:20px; }
.page-gannan .gn-platform-layout figure span { color:#56706b; font-size:12px; }
.page-gannan .gn-workspaces { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.page-gannan .gn-workspaces article { border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06); padding:22px; min-height:188px; }
.page-gannan .gn-workspaces article:nth-child(2),.page-gannan .gn-workspaces article:nth-child(3) { background:rgba(20,184,166,.14); }
.page-gannan .gn-workspaces span { font-size:10px; color:var(--gn-saffron); }
.page-gannan .gn-workspaces h3 { font-size:21px; margin:24px 0 8px; }
.page-gannan .gn-workspaces p { color:rgba(255,255,255,.65); line-height:1.7; margin:0; font-size:13px; }
.page-gannan .gn-platform-note { margin-top:14px; display:flex; justify-content:space-between; gap:32px; align-items:center; padding:22px 24px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.05); }
.page-gannan .gn-platform-note p { margin:5px 0 0; color:rgba(255,255,255,.68); }
.page-gannan .gn-platform-note a { color:#fff; flex:none; border-bottom:1px solid var(--gn-coral); padding-bottom:4px; }
.page-gannan .gn-articles { background:#fffaf0; }
.page-gannan .gn-article-bento { display:grid; grid-template-columns:1.1fr .9fr .9fr; grid-template-rows:245px 220px; gap:12px; }
.page-gannan .gn-article-bento a { padding:28px; border:1px solid var(--gn-line); background:#fff; color:var(--gn-ink); display:flex; flex-direction:column; }
.page-gannan .gn-article-bento .is-feature { grid-row:span 2; background:var(--gn-ink); color:#fff; padding:40px; }
.page-gannan .gn-article-bento .is-wide { grid-column:span 2; background:#dcebe5; }
.page-gannan .gn-article-bento span { color:var(--gn-coral); font-size:10px; letter-spacing:.14em; }
.page-gannan .gn-article-bento h3 { font-size:21px; line-height:1.45; margin:18px 0 8px; }
.page-gannan .gn-article-bento .is-feature h3 { font-size:30px; }
.page-gannan .gn-article-bento p { color:#62736f; line-height:1.7; margin:0; }
.page-gannan .gn-article-bento .is-feature p { color:rgba(255,255,255,.65); }
.page-gannan .gn-article-bento b { margin-top:auto; font-size:12px; }
.page-gannan .gn-faq { background:#e2eee9; }
.page-gannan .gn-faq-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:76px; align-items:start; }
.page-gannan .gn-faq-grid>header { position:sticky; top:110px; }
.page-gannan .gn-faq-grid>header>p:not(:first-child) { color:#516c67; line-height:1.8; }
.page-gannan .gn-faq-symbol { display:grid; grid-template-columns:repeat(2,38px); gap:5px; margin-top:34px; }
.page-gannan .gn-faq-symbol i { width:38px; height:38px; background:var(--gn-coral); }
.page-gannan .gn-faq-symbol i:nth-child(2),.page-gannan .gn-faq-symbol i:nth-child(3) { background:var(--gn-saffron); border-radius:50%; }
.page-gannan .gn-faq-symbol i:nth-child(4) { background:var(--gn-teal); transform:rotate(45deg); }
.page-gannan .gn-faq-list { border-top:1px solid var(--gn-line); }
.page-gannan .gn-faq-list details { border-bottom:1px solid var(--gn-line); }
.page-gannan .gn-faq-list summary { list-style:none; display:grid; grid-template-columns:44px 1fr 30px; gap:12px; align-items:center; min-height:92px; cursor:pointer; }
.page-gannan .gn-faq-list summary::-webkit-details-marker { display:none; }
.page-gannan .gn-faq-list summary span { color:var(--gn-coral); font-size:11px; }
.page-gannan .gn-faq-list summary b { font-size:17px; }
.page-gannan .gn-faq-list summary em { font-style:normal; font-size:24px; transition:transform .25s; }
.page-gannan .gn-faq-list details[open] summary em { transform:rotate(45deg); }
.page-gannan .gn-faq-list details>p { margin:0 36px 28px 56px; color:#4d6661; line-height:1.9; }
.page-gannan .gn-final-ad { background:var(--gn-deep); }
.page-gannan .gn-final { background:#061f1f; color:#fff; padding:92px 0; }
.page-gannan .gn-final .city-shell { display:grid; grid-template-columns:.7fr 1.25fr; gap:18px 70px; align-items:start; }
.page-gannan .gn-final p { color:var(--gn-saffron); font-size:11px; letter-spacing:.18em; grid-row:span 2; }
.page-gannan .gn-final h2 { margin:0; }
.page-gannan .gn-final span { color:rgba(255,255,255,.7); line-height:1.9; }
.page-gannan .gn-final div { grid-column:2; display:flex; gap:12px; flex-wrap:wrap; }
.page-gannan .gn-final a { color:#fff; padding-bottom:5px; border-bottom:1px solid var(--gn-coral); }
.page-gannan .ct-public-footer { background:#041818; }
.page-gannan .reveal { opacity:0; transform:translateY(22px); transition:opacity .68s ease,transform .68s ease; }
.page-gannan .reveal.is-visible { opacity:1; transform:none; }
@media (max-width:980px) {
  .page-gannan .gn-hero-grid { grid-template-columns:1fr; gap:38px; }
  .page-gannan .gn-workbench { max-width:620px; }
  .page-gannan .gn-hero,.page-gannan .gn-hero-shell { min-height:1060px; }
  .page-gannan .gn-industry-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .page-gannan .gn-industry-grid .is-feature,.page-gannan .gn-industry-grid .is-tall { grid-row:auto; }
  .page-gannan .gn-industry-grid .is-feature { grid-column:span 2; }
  .page-gannan .gn-service-grid { gap:42px; }
  .page-gannan .gn-platform-layout { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  .page-gannan .city-shell { width:min(100% - 30px,1180px); }
  .page-gannan .gn-section { padding:78px 0; }
  .page-gannan .gn-hero,.page-gannan .gn-hero-shell { min-height:844px; }
  .page-gannan .gn-hero-shade { background:linear-gradient(180deg,rgba(3,28,28,.93) 0%,rgba(3,28,28,.78) 54%,rgba(3,28,28,.56) 100%); }
  .page-gannan .gn-hero-shell { padding-top:72px; }
  .page-gannan .city-breadcrumb { margin-top:20px; }
  .page-gannan .gn-hero-grid { display:block; padding:50px 0 72px; }
  .page-gannan .gn-kicker { font-size:10px; }
  .page-gannan .gn-hero h1 { font-size:38px; line-height:1.1; margin:18px 0 20px; }
  .page-gannan .gn-hero-copy>p:not(.gn-kicker) { font-size:15px; line-height:1.75; }
  .page-gannan .gn-hero-actions { margin-top:24px; }
  .page-gannan .gn-hero-actions a { min-height:44px; padding:0 15px; font-size:13px; }
  .page-gannan .gn-workbench { display:none; }
  .page-gannan .gn-heading { grid-template-columns:1fr; gap:24px; margin-bottom:36px; }
  .page-gannan .gn-heading h2,.page-gannan .gn-service-copy h2,.page-gannan .gn-faq-grid h2,.page-gannan .gn-final h2 { font-size:31px; }
  .page-gannan .gn-industry-grid { display:grid; grid-template-columns:1fr 1fr; }
  .page-gannan .gn-industry-grid .is-feature { grid-column:span 2; }
  .page-gannan .gn-industry-grid article { padding:22px; min-height:210px; }
  .page-gannan .gn-industry-grid .is-feature { min-height:270px; padding:28px; }
  .page-gannan .gn-industry-grid h3 { font-size:21px; }
  .page-gannan .gn-industry-grid p { font-size:14px; }
  .page-gannan .gn-service-grid { grid-template-columns:1fr; gap:34px; }
  .page-gannan .gn-accounting .gn-photo-card { order:2; }
  .page-gannan .gn-accounting .gn-service-copy { order:1; }
  .page-gannan .gn-mini-bento { grid-template-columns:1fr; }
  .page-gannan .gn-product-grid { grid-template-columns:1fr 1fr; }
  .page-gannan .gn-product-grid a { min-height:138px; padding:15px; }
  .page-gannan .gn-service-tiles { grid-template-columns:1fr; grid-template-rows:none; }
  .page-gannan .gn-service-tiles a { min-height:190px; }
  .page-gannan .gn-platform-layout figure figcaption { flex-direction:column; gap:4px; }
  .page-gannan .gn-workspaces { grid-template-columns:1fr; }
  .page-gannan .gn-workspaces article { min-height:150px; }
  .page-gannan .gn-platform-note { flex-direction:column; align-items:flex-start; }
  .page-gannan .gn-article-bento { grid-template-columns:1fr; grid-template-rows:none; }
  .page-gannan .gn-article-bento .is-feature,.page-gannan .gn-article-bento .is-wide { grid-row:auto; grid-column:auto; }
  .page-gannan .gn-article-bento a { min-height:218px; padding:24px; }
  .page-gannan .gn-article-bento .is-feature { padding:28px; }
  .page-gannan .gn-article-bento .is-feature h3 { font-size:25px; }
  .page-gannan .gn-faq-grid { grid-template-columns:1fr; gap:34px; }
  .page-gannan .gn-faq-grid>header { position:static; }
  .page-gannan .gn-faq-list summary { grid-template-columns:32px 1fr 24px; min-height:98px; gap:8px; }
  .page-gannan .gn-faq-list summary b { font-size:15px; line-height:1.55; }
  .page-gannan .gn-faq-list details>p { margin:0 0 24px 40px; font-size:14px; }
  .page-gannan .gn-final { padding:70px 0; }
  .page-gannan .gn-final .city-shell { display:flex; flex-direction:column; gap:20px; }
  .page-gannan .gn-final div { display:flex; }
  .page-gannan .ct-public-footer .footer-bottom { flex-direction:column; align-items:flex-start; gap:10px; }
  .page-gannan .ct-public-footer .footer-bottom .footer-beian { min-width:0; max-width:100%; overflow:visible; white-space:normal!important; flex-wrap:wrap!important; justify-content:flex-start; column-gap:4px; row-gap:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .page-gannan * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
  .page-gannan .reveal { opacity:1!important; transform:none!important; }
}
