/* Generated by Trae Work - shared subpage stylesheet */
@font-face { font-family:'Outfit'; src:url('../fonts/Outfit-Regular.ttf') format('truetype'); font-weight:400; }
@font-face { font-family:'Outfit'; src:url('../fonts/Outfit-Bold.ttf') format('truetype'); font-weight:700; }
@font-face { font-family:'WorkSans'; src:url('../fonts/WorkSans-Regular.ttf') format('truetype'); font-weight:400; }
@font-face { font-family:'WorkSans'; src:url('../fonts/WorkSans-Bold.ttf') format('truetype'); font-weight:700; }
@font-face { font-family:'JetBrainsMono'; src:url('../fonts/JetBrainsMono-Regular.ttf') format('truetype'); font-weight:400; }

:root{
  --bg:#ffffff; --bg2:#f7f9fc; --bg3:#eef4ff;
  --ink:#0f172a; --muted:#64748b; --rule:#e5eaf3;
  --accent:#ff5a3c; --accent2:#2563eb;
  --accent-glow:rgba(255,90,60,0.14); --accent2-glow:rgba(37,99,235,0.14);
  --shadow:0 18px 46px rgba(15,23,42,0.08);
  --font-display:'Outfit','PingFang SC','Microsoft YaHei',sans-serif;
  --font-body:'WorkSans','PingFang SC','Microsoft YaHei',sans-serif;
  --font-mono:'JetBrainsMono',monospace;
  --max:1240px;
}
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ font-size:16px; scroll-behavior:smooth; }
body{
  font-family:var(--font-body); color:var(--ink);
  background:
    radial-gradient(900px 520px at 10% -10%, var(--accent-glow), transparent 62%),
    radial-gradient(1000px 620px at 100% 12%, var(--accent2-glow), transparent 62%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 48%,#ffffff 100%),
    var(--bg);
  line-height:1.65; overflow-x:hidden;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

/* ===== Top Nav ===== */
.topbar{ background:linear-gradient(90deg,#0b1024,#1a2a5e); color:#cdd6ff; font-size:.82rem; }
.topbar-inner{ max-width:var(--max); margin:0 auto; padding:.55rem 1.5rem; display:flex; gap:.8rem; align-items:center; }
.topbar-tag{ font-family:var(--font-mono); letter-spacing:.18em; padding:.1rem .55rem; border-radius:6px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); color:#fff; font-size:.66rem; }
.topbar-text{ flex:1; }
.topbar-link{ color:#fff; font-weight:600; }

nav.topnav{ position:sticky; top:0; z-index:100; backdrop-filter:blur(18px); background:rgba(255,255,255,.82); border-bottom:1px solid var(--rule); box-shadow:0 8px 28px rgba(15,23,42,.04); }
nav.topnav .inner{ max-width:var(--max); margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:.95rem 1.5rem; }
nav .brand{ display:flex; align-items:center; gap:.7rem; }
nav .brand-mark{ display:inline-flex; }
nav .brand-text{ display:flex; flex-direction:column; line-height:1; }
nav .brand-text strong{ font-family:var(--font-display); font-weight:700; font-size:1.1rem; }
nav .brand-text em{ font-style:normal; font-family:var(--font-mono); font-size:.66rem; letter-spacing:.18em; color:var(--muted); margin-top:.18rem; }
nav .links{ display:flex; gap:1.6rem; font-size:.92rem; color:var(--muted); align-items:center; }
nav .links a{ position:relative; padding:.4rem .1rem; transition:color .2s; }
nav .links a:hover, nav .links a.active{ color:var(--ink); }
nav .links a.active::after{ content:''; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:linear-gradient(90deg,var(--accent),var(--accent2)); border-radius:2px; }
nav .has-sub{ position:relative; }
nav .has-sub > a::after{ content:'▾'; margin-left:.3rem; font-size:.7rem; color:var(--muted); }
nav .submenu{ position:absolute; top:calc(100% + 6px); left:-12px; min-width:240px; background:#fff; border:1px solid var(--rule); border-radius:14px; box-shadow:var(--shadow); padding:.6rem; opacity:0; transform:translateY(6px); pointer-events:none; transition:.2s; }
nav .has-sub:hover .submenu{ opacity:1; transform:translateY(0); pointer-events:auto; }
nav .submenu a{ display:block; padding:.6rem .8rem; border-radius:10px; font-size:.88rem; color:var(--ink); }
nav .submenu a small{ display:block; color:var(--muted); font-size:.74rem; margin-top:.15rem; }
nav .submenu a:hover{ background:var(--bg2); }
nav .cta-btn{ padding:.55rem 1.1rem; border-radius:999px; background:var(--accent); color:#fff; font-weight:600; font-size:.9rem; transition:transform .18s, box-shadow .18s; }
nav .cta-btn:hover{ transform:translateY(-1px); box-shadow:0 8px 24px var(--accent-glow); }
@media (max-width:900px){ nav .links{ display:none; } }

/* ===== Page Hero ===== */
.page-hero{ max-width:var(--max); margin:0 auto; padding:4.5rem 1.5rem 3rem; position:relative; }
.page-hero .crumb{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:1.1rem; }
.page-hero .crumb a{ color:var(--accent2); }
.page-hero .crumb span{ margin:0 .5rem; color:var(--rule); }
.page-hero .eyebrow{ display:inline-block; font-family:var(--font-mono); font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); padding:.4rem .9rem; border:1px solid rgba(255,90,60,.22); border-radius:999px; background:rgba(255,90,60,.08); margin-bottom:1.1rem; }
.page-hero h1{ font-family:var(--font-display); font-size:clamp(2rem,4vw,3.2rem); line-height:1.12; letter-spacing:-.02em; max-width:22ch; margin-bottom:1rem; }
.page-hero h1 .grad{ background:linear-gradient(95deg,var(--accent),var(--accent2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.page-hero p.lede{ font-size:1.05rem; color:var(--muted); max-width:64ch; }
.page-hero .actions{ margin-top:1.6rem; display:flex; gap:.9rem; flex-wrap:wrap; }
.btn-primary,.btn-ghost{ display:inline-flex; align-items:center; gap:.5rem; padding:.85rem 1.4rem; border-radius:10px; font-weight:600; font-size:.95rem; transition:transform .18s, box-shadow .18s, background .18s; }
.btn-primary{ background:var(--accent); color:#fff; }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 30px var(--accent-glow); }
.btn-ghost{ border:1px solid var(--rule); color:var(--ink); background:rgba(255,255,255,.85); }
.btn-ghost:hover{ background:var(--bg2); }

/* ===== Sections ===== */
section.section{ max-width:var(--max); margin:0 auto; padding:3.5rem 1.5rem; }
.section-eyebrow{ font-family:var(--font-mono); font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin-bottom:.9rem; }
.section h2{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.6rem,2.6vw,2.2rem); letter-spacing:-.01em; line-height:1.2; margin-bottom:.8rem; }
.section .subhead{ color:var(--muted); font-size:1.02rem; max-width:62ch; margin-bottom:2.4rem; }

/* Card grid */
.card-grid{ display:grid; gap:1.2rem; }
.card-grid.cols-2{ grid-template-columns:repeat(2,1fr); }
.card-grid.cols-3{ grid-template-columns:repeat(3,1fr); }
.card-grid.cols-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .card-grid.cols-3,.card-grid.cols-4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .card-grid.cols-2,.card-grid.cols-3,.card-grid.cols-4{ grid-template-columns:1fr; } }
.card{ background:#fff; border:1px solid var(--rule); border-radius:18px; padding:1.6rem; box-shadow:0 6px 18px rgba(15,23,42,.04); transition:transform .22s, box-shadow .22s, border-color .22s; }
.card:hover{ transform:translateY(-3px); box-shadow:var(--shadow); border-color:rgba(37,99,235,.22); }
.card .tag{ display:inline-block; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.14em; color:var(--accent2); background:rgba(37,99,235,.08); border:1px solid rgba(37,99,235,.18); padding:.18rem .5rem; border-radius:6px; margin-bottom:.85rem; }
.card h3{ font-family:var(--font-display); font-size:1.15rem; margin-bottom:.5rem; }
.card p{ color:var(--muted); font-size:.92rem; }
.card ul{ list-style:none; padding:0; margin-top:.7rem; }
.card ul li{ padding:.45rem 0; border-bottom:1px dashed var(--rule); font-size:.9rem; display:flex; gap:.6rem; align-items:center; }
.card ul li:last-child{ border-bottom:none; }
.card ul li::before{ content:'▸'; color:var(--accent); }

/* Feature columns */
.feature-row{ display:grid; grid-template-columns:1.2fr 1fr; gap:2.4rem; align-items:center; margin:2rem 0; }
.feature-row.reverse{ grid-template-columns:1fr 1.2fr; }
.feature-row .feature-text h3{ font-family:var(--font-display); font-size:1.4rem; margin-bottom:.6rem; }
.feature-row .feature-text p{ color:var(--muted); font-size:.98rem; }
.feature-row .feature-visual{ background:linear-gradient(135deg,rgba(255,90,60,.08),rgba(37,99,235,.10)); border:1px solid var(--rule); border-radius:18px; padding:1.6rem; min-height:240px; display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); color:var(--muted); font-size:.85rem; text-align:center; }
@media (max-width:760px){ .feature-row,.feature-row.reverse{ grid-template-columns:1fr; } }
.solution-list{ list-style:none; padding:0; margin-top:1rem; display:grid; gap:.65rem; }
.solution-list li{ position:relative; padding:.75rem .9rem .75rem 2.1rem; border:1px solid var(--rule); border-radius:12px; background:rgba(255,255,255,.75); color:var(--muted); font-size:.92rem; }
.solution-list li::before{ content:'✓'; position:absolute; left:.85rem; top:.72rem; color:var(--accent); font-weight:700; }
.table-wrap{ width:100%; overflow-x:auto; overflow-y:auto; max-height:620px; border-radius:14px; }
@media (max-width:768px){ .table-wrap table{ min-width:760px; } }
.matrix-subtitle{ font-family:var(--font-display); font-size:1.35rem; margin:2.2rem 0 1rem; padding-left:.9rem; border-left:4px solid var(--accent); }
.detail-panel{ margin:1.6rem 0; padding:1.5rem; border:1px solid var(--rule); border-radius:18px; background:linear-gradient(180deg,#fff,var(--bg2)); box-shadow:0 8px 24px rgba(15,23,42,.04); }
.detail-panel h3{ font-family:var(--font-display); font-size:1.22rem; margin-bottom:.65rem; }
.detail-panel p{ color:var(--muted); font-size:.94rem; }
.chapter-index{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.4rem; }
.chapter-card{ display:block; padding:1.15rem; border:1px solid var(--rule); border-radius:16px; background:rgba(255,255,255,.82); box-shadow:0 8px 22px rgba(15,23,42,.04); transition:transform .18s,border-color .18s,box-shadow .18s; }
.chapter-card:hover{ transform:translateY(-2px); border-color:rgba(37,99,235,.25); box-shadow:var(--shadow); }
.chapter-card b{ display:block; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.16em; color:var(--accent); margin-bottom:.35rem; }
.chapter-card strong{ display:block; font-family:var(--font-display); font-size:1.02rem; margin-bottom:.3rem; }
.chapter-card span{ display:block; color:var(--muted); font-size:.86rem; line-height:1.55; }
.product-shot{ margin:1.8rem 0 2.2rem; padding:1rem; border:1px solid var(--rule); border-radius:20px; background:linear-gradient(180deg,#fff,#f8fbff); box-shadow:var(--shadow); }
.product-shot .shot-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:.4rem .4rem 1rem; }
.product-shot .shot-head h3{ font-family:var(--font-display); font-size:1.2rem; margin:0; }
.product-shot .shot-head p{ color:var(--muted); font-size:.88rem; max-width:58ch; }
.product-shot figure{ border:1px solid var(--rule); border-radius:16px; overflow:hidden; background:#fff; }
.product-shot figcaption{ padding:.75rem 1rem; color:var(--muted); font-size:.82rem; border-top:1px solid var(--rule); background:#fff; }
.showcase-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.product-page{ margin:1.4rem 0; padding:1.45rem; border:1px solid var(--rule); border-radius:20px; background:rgba(255,255,255,.9); box-shadow:0 8px 24px rgba(15,23,42,.04); }
.product-page .page-kicker{ display:inline-block; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.16em; color:#fff; background:linear-gradient(90deg,var(--accent),var(--accent2)); padding:.24rem .55rem; border-radius:999px; margin-bottom:.7rem; }
.product-page h3{ font-family:var(--font-display); font-size:1.25rem; margin-bottom:.5rem; }
.product-page p{ color:var(--muted); font-size:.94rem; }
.product-page .page-columns{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; }
.mini-list{ list-style:none; padding:0; display:grid; gap:.55rem; }
.mini-list li{ padding:.7rem .85rem; border:1px solid var(--rule); border-radius:12px; background:var(--bg2); color:var(--muted); font-size:.88rem; }
.dense-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:1rem; }
.dense-item{ border:1px solid var(--rule); border-radius:14px; padding:1rem; background:#fff; }
.dense-item strong{ display:block; font-family:var(--font-display); font-size:.98rem; margin-bottom:.35rem; }
.dense-item span{ color:var(--muted); font-size:.88rem; }
.pill-row{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.9rem; }
.pill-row span{ display:inline-flex; padding:.36rem .65rem; border-radius:999px; background:rgba(37,99,235,.07); border:1px solid rgba(37,99,235,.14); color:var(--ink); font-size:.78rem; }
.process-strip{ display:grid; grid-template-columns:repeat(5,1fr); gap:.75rem; margin:1.2rem 0; }
.process-step{ position:relative; padding:1rem; border-radius:14px; background:#fff; border:1px solid var(--rule); min-height:132px; }
.process-step b{ display:block; color:var(--accent); font-family:var(--font-mono); font-size:.74rem; letter-spacing:.1em; margin-bottom:.45rem; }
.process-step strong{ display:block; font-family:var(--font-display); margin-bottom:.3rem; }
.process-step span{ color:var(--muted); font-size:.84rem; }
.kpi-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:.8rem; margin-top:1rem; }
.kpi-card{ padding:1rem; border-radius:14px; background:rgba(255,90,60,.06); border:1px solid rgba(255,90,60,.14); }
.kpi-card strong{ display:block; font-family:var(--font-display); font-size:1.1rem; color:var(--accent); }
.kpi-card span{ color:var(--muted); font-size:.82rem; }
@media (max-width:900px){ .chapter-index{ grid-template-columns:1fr 1fr; } .showcase-grid,.product-page .page-columns,.dense-grid{ grid-template-columns:1fr; } .process-strip{ grid-template-columns:1fr 1fr; } .kpi-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .chapter-index{ grid-template-columns:1fr; } .product-shot .shot-head{ display:block; } }
@media (max-width:560px){ .process-strip,.kpi-grid{ grid-template-columns:1fr; } }

/* Stats */
.stats-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; padding:1.6rem; border:1px solid var(--rule); border-radius:18px; background:#fff; box-shadow:var(--shadow); margin-top:1.5rem; }
.stat-cell .num{ font-family:var(--font-display); font-weight:700; font-size:1.9rem; background:linear-gradient(135deg,var(--accent),var(--accent2)); -webkit-background-clip:text; background-clip:text; color:transparent; line-height:1; }
.stat-cell .lbl{ color:var(--muted); font-size:.85rem; margin-top:.3rem; }
@media (max-width:760px){ .stats-row{ grid-template-columns:repeat(2,1fr); } }

/* Tables */
table.std-table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--rule); border-radius:14px; overflow:hidden; font-size:.92rem; }
table.std-table th{ text-align:left; background:linear-gradient(180deg,#f8fafc,#fff); padding:.85rem 1rem; font-family:var(--font-mono); font-size:.78rem; letter-spacing:.1em; color:var(--muted); border-bottom:1px solid var(--rule); }
table.std-table td{ padding:.85rem 1rem; border-bottom:1px solid var(--rule); vertical-align:top; }
table.std-table tr:last-child td{ border-bottom:none; }

/* Quote / case */
.case-card{ background:#fff; border:1px solid var(--rule); border-radius:18px; padding:1.8rem; box-shadow:0 6px 18px rgba(15,23,42,.04); position:relative; overflow:hidden; }
.case-card::before{ content:'"'; position:absolute; top:-30px; right:10px; font-family:var(--font-display); font-size:11rem; color:rgba(37,99,235,.06); line-height:1; }
.case-card .industry{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em; color:var(--accent); margin-bottom:.6rem; }
.case-card .quote{ font-size:1rem; line-height:1.7; color:var(--ink); margin-bottom:1rem; }
.case-card .who{ font-family:var(--font-display); font-weight:700; font-size:.95rem; }
.case-card .who small{ display:block; color:var(--muted); font-weight:400; font-size:.8rem; margin-top:.2rem; }

/* CTA banner */
.page-cta{ max-width:var(--max); margin:3rem auto; padding:0 1.5rem; }
.page-cta .inner{ position:relative; padding:2.6rem 2.2rem; border-radius:22px; color:#fff; background:radial-gradient(700px 300px at 0% 0%,rgba(255,90,60,.32),transparent 65%),radial-gradient(700px 300px at 100% 100%,rgba(56,114,255,.42),transparent 60%),linear-gradient(135deg,#0b1024,#1a2a5e); display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; box-shadow:0 30px 60px -25px rgba(15,23,42,.45); }
.page-cta h2{ font-family:var(--font-display); font-size:clamp(1.4rem,2.5vw,1.9rem); }
.page-cta p{ color:rgba(255,255,255,.78); margin-top:.5rem; font-size:.95rem; max-width:50ch; }
.page-cta .actions{ display:flex; gap:.8rem; flex-wrap:wrap; }
.page-cta .btn-primary{ background:#fff; color:#0b1024; }
.page-cta .btn-ghost{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.34); }
.page-cta .btn-ghost:hover{ background:rgba(255,255,255,.12); }

/* ===== Footer ===== */
.site-footer{ max-width:var(--max); margin:4rem auto 0; padding:3rem 1.5rem 2rem; border-top:1px solid var(--rule); }
.site-footer .grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:1.6rem; }
.site-footer h5{ font-family:var(--font-display); font-size:.95rem; margin-bottom:.85rem; }
.site-footer p{ color:var(--muted); font-size:.88rem; }
.site-footer ul{ list-style:none; padding:0; }
.site-footer ul li{ padding:.3rem 0; }
.site-footer ul a{ color:var(--muted); font-size:.88rem; }
.site-footer ul a:hover{ color:var(--ink); }
.site-footer .copy{ margin-top:2rem; padding-top:1.4rem; border-top:1px dashed var(--rule); display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem; color:var(--muted); font-size:.78rem; font-family:var(--font-mono); letter-spacing:.05em; }
@media (max-width:760px){ .site-footer .grid{ grid-template-columns:1fr 1fr; } }

/* Form */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.form-grid .full{ grid-column:1/-1; }
.form-grid label{ display:block; font-family:var(--font-mono); font-size:.74rem; letter-spacing:.12em; color:var(--muted); margin-bottom:.4rem; text-transform:uppercase; }
.form-grid input,.form-grid select,.form-grid textarea{ width:100%; padding:.8rem 1rem; border:1px solid var(--rule); border-radius:12px; background:#fff; font-family:var(--font-body); font-size:.95rem; color:var(--ink); transition:border-color .2s, box-shadow .2s; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{ outline:none; border-color:var(--accent2); box-shadow:0 0 0 3px var(--accent2-glow); }
.form-grid textarea{ min-height:140px; resize:vertical; }
@media (max-width:760px){ .form-grid{ grid-template-columns:1fr; } }

/* Timeline */
.timeline{ position:relative; padding-left:2rem; }
.timeline::before{ content:''; position:absolute; left:8px; top:6px; bottom:6px; width:2px; background:linear-gradient(180deg,var(--accent),var(--accent2)); }
.timeline .ti{ position:relative; padding:0 0 1.4rem 0; }
.timeline .ti::before{ content:''; position:absolute; left:-26px; top:6px; width:14px; height:14px; border-radius:50%; background:#fff; border:3px solid var(--accent); }
.timeline .ti .y{ font-family:var(--font-mono); font-size:.78rem; letter-spacing:.12em; color:var(--accent2); margin-bottom:.2rem; }
.timeline .ti .t{ font-family:var(--font-display); font-weight:700; font-size:1rem; }
.timeline .ti .d{ color:var(--muted); font-size:.9rem; margin-top:.2rem; }


/* City service network */
.city-network-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin-top:1.4rem; }
.city-card{ overflow:hidden; border:1px solid var(--rule); border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(15,23,42,.06); transition:transform .22s, box-shadow .22s, border-color .22s; }
.city-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow); border-color:rgba(37,99,235,.24); }
.city-card img{ width:100%; aspect-ratio:16/9; object-fit:cover; background:#f8fbff; }
.city-card .city-body{ padding:1rem 1.1rem 1.15rem; }
.city-card .city-region{ display:inline-block; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.14em; color:var(--accent2); background:rgba(37,99,235,.08); border:1px solid rgba(37,99,235,.16); padding:.18rem .5rem; border-radius:999px; margin-bottom:.55rem; }
.city-card h3{ font-family:var(--font-display); font-size:1.15rem; margin-bottom:.35rem; }
.city-card p{ color:var(--muted); font-size:.88rem; line-height:1.58; }
.network-lead-card{ padding:1.5rem; border-radius:20px; background:linear-gradient(135deg,#fff,#f4f8ff); border:1px solid var(--rule); box-shadow:0 10px 28px rgba(15,23,42,.05); }
.network-lead-card h3{ font-family:var(--font-display); font-size:1.24rem; margin-bottom:.55rem; }
.network-lead-card p{ color:var(--muted); font-size:.94rem; }
@media (max-width:900px){ .city-network-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .city-network-grid{ grid-template-columns:1fr; } }


/* Redesigned contact page */
.contact-hero{ max-width:var(--max); margin:0 auto; padding:3.2rem 1.5rem 2.2rem; }
.contact-hero-card{ position:relative; overflow:hidden; border-radius:30px; min-height:520px; display:grid; grid-template-columns:1.05fr .95fr; align-items:stretch; background:#07142f; box-shadow:0 34px 80px -34px rgba(15,23,42,.55); }
.contact-hero-copy{ position:relative; z-index:2; padding:3.2rem; color:#fff; display:flex; flex-direction:column; justify-content:center; }
.contact-hero-copy .crumb{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.16em; color:rgba(255,255,255,.62); margin-bottom:1rem; }
.contact-hero-copy .crumb a{ color:#fff; }
.contact-hero-copy .eyebrow{ display:inline-flex; width:max-content; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.18em; color:#ffe1d8; background:rgba(255,90,60,.16); border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:.38rem .75rem; margin-bottom:1.1rem; }
.contact-hero-copy h1{ font-family:var(--font-display); font-size:clamp(2.1rem,4vw,3.8rem); line-height:1.08; letter-spacing:-.03em; max-width:10ch; margin-bottom:1rem; }
.contact-hero-copy p{ color:rgba(255,255,255,.76); font-size:1.04rem; max-width:56ch; }
.contact-hero-copy .contact-actions{ display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.6rem; }
.contact-hero-visual{ position:relative; min-height:520px; background:linear-gradient(135deg,rgba(7,20,47,.05),rgba(37,99,235,.20)); }
.contact-hero-visual img{ width:100%; height:100%; object-fit:cover; opacity:.95; mix-blend-mode:screen; }
.contact-hero-visual::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg,#07142f 0%,rgba(7,20,47,.68) 16%,rgba(7,20,47,.08) 58%,rgba(7,20,47,.15) 100%); }
.contact-metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; margin-top:1.8rem; max-width:560px; }
.contact-metric{ padding:.9rem 1rem; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(255,255,255,.08); backdrop-filter:blur(12px); }
.contact-metric strong{ display:block; font-family:var(--font-display); font-size:1.45rem; line-height:1; color:#fff; }
.contact-metric span{ display:block; color:rgba(255,255,255,.68); font-size:.78rem; margin-top:.35rem; }
.contact-layout{ display:grid; grid-template-columns:1.25fr .75fr; gap:1.3rem; align-items:start; }
.contact-panel{ background:#fff; border:1px solid var(--rule); border-radius:24px; padding:2rem; box-shadow:var(--shadow); }
.contact-panel h3{ font-family:var(--font-display); font-size:1.3rem; margin-bottom:.55rem; }
.contact-panel p{ color:var(--muted); font-size:.94rem; }
.contact-info-stack{ display:grid; gap:1rem; }
.contact-method{ padding:1.35rem; border:1px solid var(--rule); border-radius:20px; background:linear-gradient(180deg,#fff,#f8fbff); }
.contact-method .label{ display:inline-block; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.14em; color:var(--accent2); margin-bottom:.55rem; }
.contact-method h3{ font-family:var(--font-display); font-size:1.15rem; margin-bottom:.35rem; }
.contact-method p{ color:var(--muted); font-size:.9rem; }
.service-map{ position:relative; border:1px solid var(--rule); border-radius:28px; padding:2rem; background:radial-gradient(640px 260px at 22% 20%,rgba(37,99,235,.12),transparent 62%),linear-gradient(180deg,#fff,#f8fbff); box-shadow:var(--shadow); overflow:hidden; }
.service-map::before{ content:''; position:absolute; right:-140px; top:-120px; width:420px; height:420px; border-radius:50%; border:1px solid rgba(37,99,235,.18); }
.service-map h3{ font-family:var(--font-display); font-size:1.45rem; margin-bottom:.5rem; }
.service-map p{ color:var(--muted); font-size:.94rem; max-width:68ch; }
.city-orbit{ position:relative; margin-top:1.4rem; min-height:360px; border-radius:24px; background:linear-gradient(135deg,#0b1024,#18356d); overflow:hidden; }
.city-orbit::before{ content:''; position:absolute; inset:38px; border:1px dashed rgba(255,255,255,.18); border-radius:50%; transform:rotate(-8deg); }
.city-orbit::after{ content:''; position:absolute; left:8%; right:8%; top:50%; height:1px; background:linear-gradient(90deg,transparent,rgba(125,211,252,.7),transparent); }
.city-node{ position:absolute; display:flex; flex-direction:column; align-items:center; gap:.25rem; color:#fff; font-size:.82rem; }
.city-node b{ width:10px; height:10px; border-radius:50%; background:#60a5fa; box-shadow:0 0 0 6px rgba(96,165,250,.16),0 0 26px rgba(96,165,250,.8); }
.city-node span{ padding:.2rem .55rem; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(8px); }
.city-node.center b{ width:16px; height:16px; background:#ff6b4a; box-shadow:0 0 0 8px rgba(255,90,60,.18),0 0 32px rgba(255,90,60,.9); }
.city-node.center span{ background:rgba(255,90,60,.22); }
.city-node.n1{ left:47%; top:45%; }.city-node.n2{ left:20%; top:25%; }.city-node.n3{ left:56%; top:22%; }.city-node.n4{ left:73%; top:36%; }.city-node.n5{ left:32%; top:58%; }.city-node.n6{ left:45%; top:68%; }.city-node.n7{ left:66%; top:64%; }.city-node.n8{ left:12%; top:61%; }.city-node.n9{ left:82%; top:58%; }
.city-strip{ display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }
.city-strip span{ display:inline-flex; padding:.42rem .76rem; border-radius:999px; background:#fff; border:1px solid var(--rule); color:var(--ink); font-size:.84rem; box-shadow:0 4px 14px rgba(15,23,42,.04); }
.contact-form-actions{ display:flex; align-items:center; gap:.9rem; flex-wrap:wrap; margin-top:.2rem; }
.contact-note{ color:var(--muted); font-size:.82rem; }
@media (max-width:980px){ .contact-hero-card,.contact-layout{ grid-template-columns:1fr; } .contact-hero-visual{ min-height:300px; order:-1; } .contact-hero-copy{ padding:2.2rem; } .contact-metrics{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .contact-metrics{ grid-template-columns:1fr; } .city-orbit{ min-height:420px; } }


/* Enterprise-style contact page */
.enterprise-contact-hero{ position:relative; overflow:hidden; background:#f7f9fc; border-bottom:1px solid var(--rule); }
.enterprise-contact-hero::before{ content:''; position:absolute; inset:0; background:radial-gradient(760px 320px at 72% 20%,rgba(37,99,235,.12),transparent 64%),radial-gradient(520px 260px at 12% 16%,rgba(255,90,60,.10),transparent 62%); }
.enterprise-contact-hero .inner{ position:relative; max-width:var(--max); margin:0 auto; padding:5.4rem 1.5rem 4.2rem; display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; }
.enterprise-kicker{ font-family:var(--font-mono); font-size:.76rem; letter-spacing:.18em; color:var(--accent2); text-transform:uppercase; margin-bottom:1rem; }
.enterprise-contact-hero h1{ font-family:var(--font-display); font-size:clamp(2.6rem,5vw,5rem); line-height:1.02; letter-spacing:-.045em; color:#081126; margin-bottom:1.2rem; }
.enterprise-contact-hero p{ color:#516079; font-size:1.08rem; max-width:62ch; }
.enterprise-actions{ display:flex; gap:.9rem; flex-wrap:wrap; margin-top:1.8rem; }
.enterprise-hero-board{ position:relative; min-height:380px; border-radius:34px; background:linear-gradient(135deg,#081126,#173a7a 58%,#2457d6); box-shadow:0 34px 80px -36px rgba(15,23,42,.66); overflow:hidden; }
.enterprise-hero-board::before{ content:''; position:absolute; inset:34px; border:1px solid rgba(255,255,255,.16); border-radius:26px; }
.enterprise-hero-board::after{ content:''; position:absolute; left:-8%; right:-8%; top:50%; height:1px; background:linear-gradient(90deg,transparent,rgba(125,211,252,.7),transparent); }
.board-title{ position:absolute; left:34px; top:30px; color:#fff; }
.board-title strong{ display:block; font-family:var(--font-display); font-size:1.28rem; }
.board-title span{ color:rgba(255,255,255,.62); font-size:.82rem; }
.board-center{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:108px; height:108px; border-radius:50%; background:radial-gradient(circle,#ff795c,#ff5a3c); box-shadow:0 0 0 18px rgba(255,90,60,.12),0 0 46px rgba(255,90,60,.52); display:flex; align-items:center; justify-content:center; color:#fff; font-family:var(--font-display); font-weight:700; }
.board-ring{ position:absolute; border:1px solid rgba(255,255,255,.16); border-radius:50%; transform:rotate(-12deg); }
.board-ring.r1{ left:18%; right:18%; top:22%; bottom:22%; }
.board-ring.r2{ left:8%; right:8%; top:10%; bottom:10%; opacity:.55; }
.board-node{ position:absolute; color:#fff; font-size:.78rem; padding:.32rem .62rem; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(10px); }
.board-node::before{ content:''; display:inline-block; width:7px; height:7px; border-radius:50%; background:#7dd3fc; margin-right:.36rem; box-shadow:0 0 18px rgba(125,211,252,.9); }
.board-node.b1{ left:15%; top:30%; }.board-node.b2{ left:62%; top:23%; }.board-node.b3{ left:74%; top:48%; }.board-node.b4{ left:51%; top:72%; }.board-node.b5{ left:18%; top:66%; }
.enterprise-section{ max-width:var(--max); margin:0 auto; padding:4rem 1.5rem; }
.enterprise-section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem; margin-bottom:1.5rem; }
.enterprise-section-head h2{ font-family:var(--font-display); font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.08; letter-spacing:-.03em; }
.enterprise-section-head p{ color:var(--muted); max-width:58ch; }
.contact-route-grid{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--rule); border-radius:26px; overflow:hidden; background:#fff; box-shadow:var(--shadow); }
.route-card{ min-height:250px; padding:1.5rem; border-right:1px solid var(--rule); display:flex; flex-direction:column; transition:background .22s, transform .22s; }
.route-card:last-child{ border-right:none; }
.route-card:hover{ background:#f8fbff; }
.route-card .num{ font-family:var(--font-mono); font-size:.76rem; color:var(--accent2); letter-spacing:.14em; margin-bottom:1.2rem; }
.route-card h3{ font-family:var(--font-display); font-size:1.25rem; margin-bottom:.55rem; }
.route-card p{ color:var(--muted); font-size:.9rem; flex:1; }
.route-card a{ display:inline-flex; width:max-content; margin-top:1.1rem; color:var(--accent2); font-weight:700; font-size:.88rem; }
.office-grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:1.3rem; align-items:stretch; }
.office-map-panel{ position:relative; min-height:520px; border-radius:30px; padding:2rem; overflow:hidden; color:#fff; background:radial-gradient(540px 300px at 70% 28%,rgba(37,99,235,.48),transparent 62%),linear-gradient(135deg,#081126,#102a59 58%,#0b1228); box-shadow:0 32px 72px -34px rgba(15,23,42,.72); }
.office-map-panel h3{ font-family:var(--font-display); font-size:1.55rem; margin-bottom:.45rem; }
.office-map-panel p{ color:rgba(255,255,255,.68); max-width:52ch; }
.office-map-lines{ position:absolute; inset:0; opacity:.7; background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.08) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgba(255,255,255,.08) 50%,transparent 50.2%); background-size:82px 82px; }
.office-dot{ position:absolute; color:#fff; font-size:.82rem; display:flex; align-items:center; gap:.4rem; }
.office-dot b{ width:10px; height:10px; border-radius:50%; background:#60a5fa; box-shadow:0 0 0 7px rgba(96,165,250,.15),0 0 24px rgba(96,165,250,.86); }
.office-dot.main b{ background:#ff6b4a; box-shadow:0 0 0 9px rgba(255,90,60,.17),0 0 30px rgba(255,90,60,.9); }
.office-dot.d1{ left:46%; top:42%; }.office-dot.d2{ left:68%; top:51%; }.office-dot.d3{ left:56%; top:66%; }.office-dot.d4{ left:39%; top:56%; }.office-dot.d5{ left:51%; top:58%; }.office-dot.d6{ left:62%; top:59%; }.office-dot.d7{ left:66%; top:34%; }.office-dot.d8{ left:37%; top:68%; }.office-dot.d9{ left:75%; top:72%; }
.office-list-panel{ display:grid; gap:1rem; }
.office-list-card{ border:1px solid var(--rule); border-radius:22px; padding:1.35rem; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.04); }
.office-list-card strong{ display:block; font-family:var(--font-display); font-size:1.12rem; margin-bottom:.35rem; }
.office-list-card span{ color:var(--muted); font-size:.9rem; }
.enterprise-form-wrap{ display:grid; grid-template-columns:.86fr 1.14fr; gap:1.3rem; align-items:start; }
.contact-black-card{ position:sticky; top:92px; border-radius:28px; padding:2rem; min-height:360px; color:#fff; background:linear-gradient(145deg,#080f22,#183b78); box-shadow:0 30px 70px -36px rgba(15,23,42,.72); }
.contact-black-card h3{ font-family:var(--font-display); font-size:1.55rem; margin-bottom:.8rem; }
.contact-black-card p{ color:rgba(255,255,255,.72); margin-bottom:1.2rem; }
.contact-line{ padding:1rem 0; border-top:1px solid rgba(255,255,255,.12); }
.contact-line b{ display:block; color:#fff; font-family:var(--font-display); }
.contact-line span{ color:rgba(255,255,255,.66); font-size:.9rem; }
.enterprise-form-card{ border:1px solid var(--rule); border-radius:28px; background:#fff; padding:2rem; box-shadow:var(--shadow); }
.enterprise-form-card h3{ font-family:var(--font-display); font-size:1.4rem; margin-bottom:.5rem; }
.enterprise-form-card > p{ color:var(--muted); margin-bottom:1.3rem; }
@media (max-width:980px){ .enterprise-contact-hero .inner,.office-grid,.enterprise-form-wrap{ grid-template-columns:1fr; } .contact-route-grid{ grid-template-columns:repeat(2,1fr); } .route-card:nth-child(2){ border-right:none; } .route-card{ border-bottom:1px solid var(--rule); } .route-card:nth-child(3),.route-card:nth-child(4){ border-bottom:none; } }
@media (max-width:640px){ .contact-route-grid{ grid-template-columns:1fr; } .route-card{ border-right:none !important; border-bottom:1px solid var(--rule) !important; } .route-card:last-child{ border-bottom:none !important; } .enterprise-section-head{ display:block; } .office-map-panel{ min-height:620px; } }


/* China map for contact page */
.china-map-stage{ position:relative; margin-top:1.3rem; border-radius:24px; overflow:hidden; min-height:420px; background:#0b1530; border:1px solid rgba(255,255,255,.12); box-shadow:inset 0 0 0 1px rgba(255,255,255,.04); }
.china-map-stage img{ width:100%; height:100%; min-height:420px; object-fit:cover; display:block; opacity:.98; }
.china-map-caption{ display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-top:1rem; padding:1rem 1.1rem; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.08); color:rgba(255,255,255,.74); }
.china-map-caption strong{ color:#fff; font-family:var(--font-display); }
.china-map-caption span{ font-size:.86rem; }
@media (max-width:760px){ .china-map-caption{ display:block; } .china-map-caption span{ display:block; margin-top:.35rem; } }


/* Light blue theme refresh - Volcengine-inspired */
:root{
  --bg:#ffffff;
  --bg2:#f6faff;
  --bg3:#eaf5ff;
  --ink:#0b1f3a;
  --muted:#5d718c;
  --rule:#dbe9f8;
  --accent:#1677ff;
  --accent2:#00a3ff;
  --accent-glow:rgba(22,119,255,0.13);
  --accent2-glow:rgba(0,163,255,0.14);
  --shadow:0 18px 46px rgba(22,119,255,0.10);
}
body{
  background:
    radial-gradient(900px 520px at 8% -10%, rgba(0,163,255,.12), transparent 64%),
    radial-gradient(1000px 620px at 100% 12%, rgba(22,119,255,.11), transparent 64%),
    linear-gradient(180deg,#ffffff 0%,#f6fbff 48%,#ffffff 100%),
    var(--bg);
}
.topbar{
  background:linear-gradient(90deg,#eaf5ff,#f7fbff);
  color:#42698f;
  border-bottom:1px solid #dbeafe;
}
.topbar-tag{ background:#fff; border:1px solid #cfe4ff; color:#1677ff; }
.topbar-link{ color:#1677ff; }
nav .links a.active::after,
.timeline::before,
.page-hero h1 .grad,
.stat-cell .num{
  background:linear-gradient(95deg,#1677ff,#00b8ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
nav .links a.active::after{
  background:linear-gradient(90deg,#1677ff,#00b8ff);
  color:initial;
}
nav .cta-btn,
.btn-primary{
  background:linear-gradient(135deg,#1677ff,#00a3ff);
  color:#fff;
}
nav .cta-btn:hover,
.btn-primary:hover{
  box-shadow:0 14px 30px rgba(22,119,255,.18);
}
.page-hero .eyebrow,
.section-eyebrow,
.chapter-card b,
.process-step b,
.case-card .industry{
  color:#1677ff;
}
.page-hero .eyebrow{
  border-color:rgba(22,119,255,.18);
  background:rgba(22,119,255,.07);
}
.card ul li::before,
.solution-list li::before{
  color:#1677ff;
}
.matrix-subtitle{ border-left-color:#1677ff; }
.product-page .page-kicker{
  background:linear-gradient(90deg,#1677ff,#00b8ff);
}
.kpi-card{
  background:rgba(22,119,255,.06);
  border-color:rgba(22,119,255,.14);
}
.kpi-card strong{ color:#1677ff; }
.page-cta .inner{
  color:#0b1f3a;
  background:
    radial-gradient(680px 300px at 0% 0%,rgba(0,184,255,.20),transparent 68%),
    radial-gradient(700px 300px at 100% 100%,rgba(22,119,255,.16),transparent 64%),
    linear-gradient(135deg,#eef8ff,#ffffff);
  border:1px solid #dbe9f8;
  box-shadow:0 24px 56px -26px rgba(22,119,255,.28);
}
.page-cta p{ color:#5d718c; }
.page-cta .btn-primary{
  background:linear-gradient(135deg,#1677ff,#00a3ff);
  color:#fff;
}
.page-cta .btn-ghost{
  background:#fff;
  color:#0b1f3a;
  border:1px solid #dbe9f8;
}
.enterprise-contact-hero{
  background:linear-gradient(180deg,#f1f8ff,#ffffff);
}
.enterprise-contact-hero::before{
  background:radial-gradient(760px 320px at 72% 20%,rgba(0,163,255,.16),transparent 64%),radial-gradient(520px 260px at 12% 16%,rgba(22,119,255,.11),transparent 62%);
}
.enterprise-contact-hero h1{ color:#0b1f3a; }
.enterprise-hero-board{
  background:linear-gradient(135deg,#eaf6ff,#cfeaff 52%,#f7fbff);
  border:1px solid rgba(22,119,255,.18);
  box-shadow:0 30px 70px -36px rgba(22,119,255,.45);
}
.enterprise-hero-board::before{ border-color:rgba(22,119,255,.22); }
.enterprise-hero-board::after{ background:linear-gradient(90deg,transparent,rgba(22,119,255,.56),transparent); }
.board-title{ color:#0b1f3a; }
.board-title span{ color:#5d718c; }
.board-ring{ border-color:rgba(22,119,255,.20); }
.board-center{
  background:radial-gradient(circle,#2aa8ff,#1677ff);
  box-shadow:0 0 0 18px rgba(22,119,255,.12),0 0 46px rgba(22,119,255,.28);
}
.board-node{
  color:#0b1f3a;
  background:rgba(255,255,255,.72);
  border-color:rgba(22,119,255,.18);
}
.board-node::before{
  background:#00a3ff;
  box-shadow:0 0 18px rgba(0,163,255,.65);
}
.office-map-panel{
  color:#0b1f3a;
  background:linear-gradient(135deg,#eef8ff,#ffffff 58%,#dff1ff);
  border:1px solid #dbe9f8;
  box-shadow:0 28px 68px -34px rgba(22,119,255,.38);
}
.office-map-panel p{ color:#5d718c; }
.contact-black-card{
  color:#0b1f3a;
  background:linear-gradient(145deg,#eef8ff,#ffffff);
  border:1px solid #dbe9f8;
  box-shadow:0 26px 60px -34px rgba(22,119,255,.38);
}
.contact-black-card p,
.contact-line span{ color:#5d718c; }
.contact-line{ border-top:1px solid #dbe9f8; }
.contact-line b{ color:#0b1f3a; }
.china-map-stage{
  background:#f2f9ff;
  border:1px solid #dbe9f8;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
.china-map-caption{
  background:#ffffff;
  border:1px solid #dbe9f8;
  color:#5d718c;
}
.china-map-caption strong{ color:#0b1f3a; }


/* About page refined */
.about-hero{ max-width:var(--max); margin:0 auto; padding:4.8rem 1.5rem 3.4rem; }
.about-hero-wrap{ display:grid; grid-template-columns:1.08fr .92fr; gap:2rem; align-items:stretch; }
.about-hero-copy{ padding:2.6rem 0; }
.about-hero-copy .crumb{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:1.1rem; }
.about-hero-copy .crumb a{ color:var(--accent); }
.about-hero-copy .eyebrow{ display:inline-block; font-family:var(--font-mono); font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); padding:.4rem .9rem; border:1px solid rgba(22,119,255,.18); border-radius:999px; background:rgba(22,119,255,.07); margin-bottom:1.1rem; }
.about-hero-copy h1{ font-family:var(--font-display); font-size:clamp(2.3rem,5vw,4.6rem); line-height:1.05; letter-spacing:-.045em; color:#0b1f3a; margin-bottom:1rem; max-width:11ch; }
.about-hero-copy h1 span{ background:linear-gradient(95deg,#1677ff,#00b8ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.about-hero-copy p{ color:var(--muted); font-size:1.08rem; max-width:62ch; }
.about-hero-visual{ position:relative; min-height:430px; border-radius:34px; overflow:hidden; background:linear-gradient(135deg,#eef8ff,#fff 46%,#dff1ff); border:1px solid var(--rule); box-shadow:var(--shadow); }
.about-hero-visual::before{ content:''; position:absolute; width:440px; height:440px; border-radius:50%; right:-160px; top:-150px; background:radial-gradient(circle,rgba(0,163,255,.22),transparent 68%); }
.about-hero-visual::after{ content:''; position:absolute; inset:34px; border:1px solid rgba(22,119,255,.16); border-radius:26px; }
.about-orbit{ position:absolute; inset:40px; }
.about-core{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:142px; height:142px; border-radius:38px; background:linear-gradient(135deg,#1677ff,#00a3ff); color:#fff; display:flex; align-items:center; justify-content:center; text-align:center; font-family:var(--font-display); font-weight:700; box-shadow:0 22px 46px rgba(22,119,255,.24); }
.about-node{ position:absolute; padding:.62rem .82rem; border-radius:999px; background:rgba(255,255,255,.86); border:1px solid #dbe9f8; color:#0b1f3a; font-size:.86rem; box-shadow:0 8px 24px rgba(22,119,255,.08); }
.about-node.n1{ left:5%; top:18%; }.about-node.n2{ right:6%; top:22%; }.about-node.n3{ left:7%; bottom:22%; }.about-node.n4{ right:8%; bottom:18%; }.about-node.n5{ left:38%; bottom:5%; }
.about-metrics{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:1.4rem; }
.about-metric{ padding:1.2rem; border:1px solid var(--rule); border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(22,119,255,.05); }
.about-metric strong{ display:block; font-family:var(--font-display); font-size:1.8rem; color:#1677ff; line-height:1; }
.about-metric span{ display:block; color:var(--muted); font-size:.86rem; margin-top:.45rem; }
.about-intro{ display:grid; grid-template-columns:.8fr 1.2fr; gap:2rem; align-items:start; }
.about-intro-title{ position:sticky; top:92px; }
.about-intro-title h2{ font-family:var(--font-display); font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.08; letter-spacing:-.03em; margin-bottom:.8rem; }
.about-intro-title p{ color:var(--muted); }
.about-copy-card{ padding:1.7rem; border-radius:22px; background:#fff; border:1px solid var(--rule); box-shadow:var(--shadow); margin-bottom:1rem; }
.about-copy-card h3{ font-family:var(--font-display); font-size:1.22rem; margin-bottom:.55rem; }
.about-copy-card p{ color:var(--muted); font-size:.95rem; }
.capability-band{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.capability-card{ padding:1.55rem; border-radius:22px; border:1px solid var(--rule); background:linear-gradient(180deg,#fff,#f6faff); box-shadow:0 8px 24px rgba(22,119,255,.05); }
.capability-card .cap-num{ font-family:var(--font-mono); color:#1677ff; font-size:.76rem; letter-spacing:.14em; margin-bottom:.8rem; }
.capability-card h3{ font-family:var(--font-display); font-size:1.25rem; margin-bottom:.55rem; }
.capability-card p{ color:var(--muted); font-size:.92rem; }
.principle-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.principle-card{ padding:1.5rem; border-radius:20px; border:1px solid var(--rule); background:#fff; }
.principle-card strong{ display:block; font-family:var(--font-display); font-size:1.16rem; margin-bottom:.4rem; }
.principle-card span{ color:var(--muted); font-size:.92rem; }
@media (max-width:980px){ .about-hero-wrap,.about-intro{ grid-template-columns:1fr; } .about-intro-title{ position:static; } .about-metrics{ grid-template-columns:repeat(2,1fr); } .capability-band{ grid-template-columns:1fr; } }
@media (max-width:640px){ .about-metrics,.principle-grid{ grid-template-columns:1fr; } .about-hero-visual{ min-height:360px; } }


/* FLINCO refined layout */
.flinco-architecture{ margin-top:1.6rem; padding:1.5rem; border:1px solid var(--rule); border-radius:28px; background:linear-gradient(135deg,#ffffff,#eef8ff); box-shadow:var(--shadow); }
.flinco-arch-grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; margin-top:1rem; }
.flinco-arch-card{ position:relative; min-height:170px; padding:1.35rem; border-radius:20px; background:#fff; border:1px solid #dbe9f8; overflow:hidden; }
.flinco-arch-card::after{ content:''; position:absolute; right:-42px; top:-42px; width:120px; height:120px; border-radius:50%; background:rgba(0,163,255,.10); }
.flinco-arch-card b{ display:block; font-family:var(--font-mono); color:#1677ff; letter-spacing:.14em; font-size:.72rem; margin-bottom:.8rem; }
.flinco-arch-card strong{ display:block; font-family:var(--font-display); font-size:1.18rem; margin-bottom:.45rem; }
.flinco-arch-card span{ color:var(--muted); font-size:.9rem; }
.flinco-scene-table td:first-child{ font-family:var(--font-display); color:#0b1f3a; font-weight:700; }
@media (max-width:900px){ .flinco-arch-grid{ grid-template-columns:1fr; } }


/* Detailed cases page */
.case-library{ display:grid; gap:1.2rem; }
.case-detail-card{ border:1px solid var(--rule); border-radius:26px; background:#fff; box-shadow:var(--shadow); overflow:hidden; }
.case-detail-head{ display:grid; grid-template-columns:.72fr 1.28fr; gap:1.2rem; padding:1.5rem; background:linear-gradient(135deg,#ffffff,#eef8ff); border-bottom:1px solid var(--rule); }
.case-badge{ display:inline-flex; width:max-content; padding:.34rem .68rem; border-radius:999px; background:rgba(22,119,255,.08); border:1px solid rgba(22,119,255,.16); color:#1677ff; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.12em; margin-bottom:.75rem; }
.case-detail-head h3{ font-family:var(--font-display); font-size:1.5rem; line-height:1.16; margin-bottom:.55rem; }
.case-detail-head p{ color:var(--muted); font-size:.94rem; }
.case-profile{ display:grid; gap:.65rem; align-content:start; }
.case-profile div{ padding:.8rem .9rem; border:1px solid #dbe9f8; border-radius:16px; background:#fff; }
.case-profile b{ display:block; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.12em; color:#1677ff; margin-bottom:.25rem; }
.case-profile span{ color:#0b1f3a; font-size:.9rem; }
.case-detail-body{ padding:1.5rem; display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.case-block{ padding:1rem; border:1px solid var(--rule); border-radius:18px; background:#fff; }
.case-block strong{ display:block; font-family:var(--font-display); font-size:1.02rem; margin-bottom:.45rem; }
.case-block p{ color:var(--muted); font-size:.88rem; }
.case-tags{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.75rem; }
.case-tags span{ padding:.28rem .55rem; border-radius:999px; background:#f2f8ff; border:1px solid #dbe9f8; color:#456984; font-size:.76rem; }
.case-index-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:1.4rem; }
.case-index-card{ padding:1.1rem; border:1px solid var(--rule); border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(22,119,255,.05); }
.case-index-card strong{ display:block; font-family:var(--font-display); font-size:1.08rem; margin-bottom:.35rem; }
.case-index-card span{ color:var(--muted); font-size:.86rem; }
@media (max-width:980px){ .case-detail-head,.case-detail-body{ grid-template-columns:1fr; } .case-index-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .case-index-grid{ grid-template-columns:1fr; } }


/* Customer logo wall */
.customer-logo-wall{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.4rem; }
.customer-logo-card{ position:relative; min-height:190px; border:1px solid var(--rule); border-radius:24px; background:linear-gradient(135deg,#ffffff,#f3f9ff); box-shadow:0 12px 32px rgba(22,119,255,.08); overflow:hidden; padding:1.35rem; display:flex; flex-direction:column; justify-content:space-between; }
.customer-logo-card::before{ content:''; position:absolute; right:-52px; top:-52px; width:150px; height:150px; border-radius:50%; background:rgba(22,119,255,.10); }
.customer-logo-card::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg,#1677ff,#00a3ff); opacity:.75; }
.customer-logo-mark{ position:relative; z-index:1; height:86px; border:1px solid #dbe9f8; border-radius:18px; background:#fff; display:flex; align-items:center; justify-content:center; text-align:center; padding:0 1rem; }
.customer-logo-mark strong{ font-family:var(--font-display); font-size:1.72rem; letter-spacing:.02em; color:#0b1f3a; }
.customer-logo-mark em{ display:block; margin-top:.3rem; font-style:normal; font-family:var(--font-mono); letter-spacing:.16em; color:#1677ff; font-size:.68rem; }
.customer-logo-card h3{ position:relative; z-index:1; font-family:var(--font-display); font-size:1.12rem; margin:.9rem 0 .28rem; }
.customer-logo-card p{ position:relative; z-index:1; color:var(--muted); font-size:.86rem; line-height:1.55; }
.customer-logo-note{ margin-top:1rem; padding:1rem 1.1rem; border:1px dashed #b8dcff; border-radius:18px; background:#f7fbff; color:#5d718c; font-size:.88rem; }
@media (max-width:900px){ .customer-logo-wall{ grid-template-columns:1fr; } }

.customer-logo-card.partner .customer-logo-mark strong{ color:#1677ff; }
.customer-logo-card.partner::after{ background:linear-gradient(90deg,#00a3ff,#7dd3fc); }


/* FLINCO overseas delivery */
.overseas-panel{ margin-top:1.4rem; padding:1.6rem; border:1px solid var(--rule); border-radius:28px; background:linear-gradient(135deg,#ffffff,#eef8ff 58%,#f8fcff); box-shadow:var(--shadow); }
.overseas-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:1.1rem; }
.overseas-card{ position:relative; padding:1.25rem; min-height:190px; border:1px solid #dbe9f8; border-radius:20px; background:#fff; overflow:hidden; }
.overseas-card::after{ content:''; position:absolute; right:-42px; top:-42px; width:126px; height:126px; border-radius:50%; background:rgba(0,163,255,.10); }
.overseas-card b{ display:block; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.14em; color:#1677ff; margin-bottom:.7rem; }
.overseas-card strong{ display:block; position:relative; z-index:1; font-family:var(--font-display); font-size:1.08rem; margin-bottom:.45rem; color:#0b1f3a; }
.overseas-card span{ display:block; position:relative; z-index:1; color:var(--muted); font-size:.88rem; line-height:1.58; }
.overseas-flow{ display:grid; grid-template-columns:repeat(5,1fr); gap:.8rem; margin-top:1.2rem; }
.overseas-flow-step{ padding:1rem; border:1px solid #dbe9f8; border-radius:18px; background:#fff; }
.overseas-flow-step b{ display:block; color:#1677ff; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.12em; margin-bottom:.45rem; }
.overseas-flow-step strong{ display:block; font-family:var(--font-display); margin-bottom:.35rem; }
.overseas-flow-step span{ color:var(--muted); font-size:.84rem; line-height:1.5; }
.overseas-mapline{ margin-top:1rem; padding:1rem 1.1rem; border:1px dashed #b8dcff; border-radius:18px; background:#f7fbff; color:#5d718c; font-size:.9rem; }
@media (max-width:1050px){ .overseas-grid{ grid-template-columns:repeat(2,1fr); } .overseas-flow{ grid-template-columns:1fr; } }
@media (max-width:640px){ .overseas-grid{ grid-template-columns:1fr; } }


/* FLINCO hero image */
.flinco-hero-image{ position:relative; min-height:430px; border-radius:34px; overflow:hidden; border:1px solid var(--rule); background:linear-gradient(135deg,#eef8ff,#fff); box-shadow:var(--shadow); }
.flinco-hero-image img{ width:100%; height:100%; min-height:430px; object-fit:cover; display:block; }
.flinco-hero-image::after{ content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,0) 45%,rgba(22,119,255,.08)); pointer-events:none; }
.flinco-hero-caption{ position:absolute; left:22px; bottom:22px; right:22px; z-index:2; padding:1rem 1.1rem; border:1px solid rgba(255,255,255,.72); border-radius:18px; background:rgba(255,255,255,.74); backdrop-filter:blur(12px); box-shadow:0 12px 28px rgba(22,119,255,.10); }
.flinco-hero-caption strong{ display:block; font-family:var(--font-display); color:#0b1f3a; margin-bottom:.25rem; }
.flinco-hero-caption span{ display:block; color:#5d718c; font-size:.86rem; line-height:1.5; }
