
/* ============================================================
   GAIA Exploration — Bilingual Static Website
   Pure HTML + CSS + JS, no frameworks, no external libraries.
   Visual direction: editorial, minimal, strong grid, Anthropic-inspired.
   ============================================================ */
:root{
  --paper:#f4efe6;
  --paper-2:#fff8ee;
  --paper-3:#ece1d2;
  --ink:#11110f;
  --ink-2:#27241f;
  --muted:#665f55;
  --soft:#8b8174;
  --line:#d8ccbb;
  --dark:#11110f;
  --dark-2:#17231f;
  --green:#22493b;
  --green-2:#315b4c;
  --accent:#d96f32;
  --accent-2:#f3a15d;
  --blue:#1f6d7a;
  --shadow:0 22px 70px rgba(29,22,13,.13);
  --radius:22px;
  --radius-lg:34px;
  --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper);}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif;line-height:1.55;font-size:16px;}
body.menu-open{overflow:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button,input,textarea,select{font:inherit;}
::selection{background:var(--accent);color:#fff;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}
.kicker,.section-tag{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:12px;color:var(--accent);}
.kicker:before,.section-tag:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--accent);display:inline-block;}
h1,h2,h3,p{margin:0;}
h1,.display{font-family:Georgia, "Times New Roman", serif;font-weight:500;letter-spacing:-.055em;line-height:.94;}
h2{font-family:Georgia, "Times New Roman", serif;font-size:clamp(34px,5vw,64px);font-weight:500;letter-spacing:-.045em;line-height:1.02;}
h3{font-size:clamp(22px,2.4vw,34px);line-height:1.08;letter-spacing:-.035em;}
p{color:var(--muted);font-size:17px;}
.zh h1,.zh .display,.zh h2{font-family:"Noto Serif SC", "Songti SC", STSong, SimSun, Georgia, serif;letter-spacing:-.04em;}
.zh p{font-size:17px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ink);border-radius:999px;padding:13px 18px;font-weight:800;font-size:14px;letter-spacing:.01em;transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;cursor:pointer;white-space:nowrap;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.btn-primary:hover{background:var(--accent);border-color:var(--accent);}
.btn-ghost{background:transparent;color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--paper);}
.btn-light{background:var(--paper);border-color:var(--paper);color:var(--ink);}
.btn-sm{padding:9px 13px;font-size:12px;}
.site-header{position:sticky;top:0;z-index:100;background:rgba(17,17,15,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(244,239,230,.12);transition:box-shadow .2s ease, background .2s ease;}
.site-header.is-scrolled{box-shadow:0 16px 40px rgba(0,0,0,.16);background:rgba(17,17,15,.97);}
.site-nav{height:74px;display:flex;align-items:center;gap:20px;}
.brand{display:flex;align-items:center;gap:11px;min-width:190px;}
.brand img{height:28px;width:auto;object-fit:contain;}
.nav-links{display:flex;align-items:center;justify-content:center;gap:3px;flex:1;}
.nav-links a{color:#e8dfd2;font-weight:700;font-size:13px;padding:10px 22px;border-radius:999px;opacity:.83;}
.nav-links a:hover,.nav-links a.active{background:rgba(244,239,230,.1);opacity:1;}
.nav-cta{display:flex;align-items:center;gap:8px;}
.nav-cta .btn-ghost{color:var(--paper);border-color:rgba(244,239,230,.34);}
.nav-cta .btn-ghost:hover{background:var(--paper);color:var(--ink);}
.lang-link{border:1px solid rgba(244,239,230,.25);color:var(--paper);padding:8px 11px;border-radius:999px;font-size:12px;font-weight:800;}
.menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid rgba(244,239,230,.25);border-radius:999px;background:transparent;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;}
.menu-toggle span{display:block;width:18px;height:2px;background:var(--paper);border-radius:10px;transition:.2s ease;}
.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-open .menu-toggle span:nth-child(2){opacity:0;}
.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.home-hero{position:relative;overflow:hidden;padding:78px 0 42px;border-bottom:1px solid var(--line);}
.home-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 10%, rgba(217,111,50,.20), transparent 31%), radial-gradient(circle at 30% 40%, rgba(31,109,122,.10), transparent 34%);pointer-events:none;}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(410px,.94fr);gap:34px;align-items:stretch;}
.hero-copy{padding:54px 0 18px;}
.hero-copy h1{font-size:clamp(58px,9vw,118px);max-width:920px;}
.hero-copy .lede{font-size:clamp(18px,2vw,23px);line-height:1.45;max-width:760px;margin-top:28px;color:#4f483f;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;}
.hero-note{margin-top:38px;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:15px;max-width:720px;}
.hero-visual{position:relative;min-height:590px;border-radius:var(--radius-lg);overflow:hidden;background:#0f1d1b;box-shadow:var(--shadow);isolation:isolate;}
.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.05) brightness(.7);}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(17,17,15,.12), rgba(17,17,15,.78));z-index:1;}
#geoCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;mix-blend-mode:screen;opacity:.74;}
.visual-card{position:absolute;z-index:3;left:24px;right:24px;bottom:24px;background:rgba(244,239,230,.92);border:1px solid rgba(255,255,255,.4);border-radius:22px;padding:22px;backdrop-filter:blur(16px);}
.visual-card h3{font-size:26px;margin-bottom:10px;}
.visual-card p{font-size:14.5px;line-height:1.45;}
.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;}
.metric{border:1px solid var(--line);border-radius:16px;padding:12px;background:rgba(255,248,238,.7);}
.metric strong{display:block;font-size:23px;line-height:1;color:var(--ink);letter-spacing:-.04em;}
.metric span{display:block;font-size:12px;color:var(--muted);margin-top:5px;}
section{padding:92px 0;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px;border-top:1px solid var(--line);padding-top:22px;}
.section-head p{max-width:520px;}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:34px;align-items:center;}
.split-visual{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--dark);box-shadow:var(--shadow);}
.split-visual img,.split-visual svg{width:100%;height:100%;object-fit:cover;}
.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-2);padding:34px;box-shadow:0 18px 42px rgba(29,22,13,.06);}
.panel.dark{background:var(--dark);color:var(--paper);border-color:#2e312b;}
.panel.dark p,.panel.dark li{color:#d2c8b8;}
.panel.dark .eyebrow{color:var(--accent-2);}
.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:var(--accent);margin-bottom:12px;display:block;}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.card-grid.two{grid-template-columns:repeat(2,1fr);}
.card{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.72);padding:26px;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;background-clip:padding-box;}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(29,22,13,.09);border-color:#baa98f;}
.card .num{font-family:Georgia,serif;font-size:42px;line-height:1;color:var(--accent);margin-bottom:22px;display:block;}
.card h3{font-size:25px;margin-bottom:12px;}
.card p{font-size:15.5px;}
.card ul,.clean-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:9px;}
.card li,.clean-list li{color:var(--muted);font-size:15px;position:relative;padding-left:18px;}
.card li:before,.clean-list li:before{content:"";position:absolute;left:0;top:1.2em;width:6px;height:6px;border-radius:99px;background:var(--accent);}
.comparison{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--paper-2);}
.compare-col{padding:34px;}
.compare-col + .compare-col{border-left:1px solid var(--line);background:#fbf1e4;}
.compare-col h3{margin-bottom:18px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.chip,.tag{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:rgba(255,248,238,.72);font-size:13px;font-weight:800;color:var(--ink-2);}
.chip[data-filter]{cursor:pointer;}
.chip[data-filter].active{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.workflow{counter-reset:step;display:grid;gap:14px;}
.workflow-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:24px;align-items:start;border-top:1px solid var(--line);padding:24px 0;}
.workflow-item:before{counter-increment:step;content:"0"counter(step);font-family:Georgia,serif;font-size:52px;line-height:1;color:var(--accent);}
.workflow-item h3{margin-bottom:8px;}
.workflow-item p{max-width:820px;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.stat{border-top:1px solid var(--line);padding:18px 0;}
.stat b{font-size:clamp(28px,4.4vw,52px);font-family:Georgia,serif;font-weight:500;letter-spacing:-.055em;display:block;line-height:.98;color:var(--ink);}
.stat span{display:block;color:var(--muted);font-size:14px;margin-top:10px;}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.project-card{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--paper-2);box-shadow:0 18px 42px rgba(29,22,13,.07);}
.project-card img{height:210px;width:100%;object-fit:cover;filter:saturate(.9);}
.project-card .project-body{padding:25px;}
.project-card h3{margin-bottom:8px;}
.project-card p{font-size:15.5px;}
.case-list{display:grid;gap:24px;}
.case{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-2);overflow:hidden;}
.case-head{padding:28px 32px;background:var(--dark);color:var(--paper);display:flex;justify-content:space-between;gap:20px;align-items:flex-start;}
.case-head .loc{color:#cfc3b2;font-size:15px;margin-top:8px;}
.case-mineral{border:1px solid rgba(244,239,230,.24);border-radius:999px;padding:8px 12px;color:#efe3cf;font-weight:900;font-size:12px;white-space:nowrap;}
.case-body{display:grid;grid-template-columns:repeat(2,1fr);gap:0;}
.case-block{padding:28px 32px;border-top:1px solid var(--line);}
.case-block:nth-child(odd){border-right:1px solid var(--line);}
.case-block h4{margin:0 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);}
.case-block p{font-size:15.8px;}
.role-list{display:grid;gap:10px;}
.role-row{display:grid;grid-template-columns:250px minmax(0,1fr) auto;gap:20px;align-items:center;border:1px solid var(--line);border-radius:20px;background:var(--paper-2);padding:20px 22px;}
.role-row h3{font-size:23px;}
.role-en{display:block;color:var(--soft);font-weight:800;margin-top:4px;font-size:13px;}
.role-focus{display:flex;flex-wrap:wrap;gap:8px;}
.contact-grid{
  /*display:grid;*/
  grid-template-columns:.85fr 1.15fr;gap:22px;align-items:start;}
.office-list{display:grid;gap:12px;}
.office{border:1px solid var(--line);border-radius:18px;background:var(--paper-2);padding:18px;}
.office h3{font-size:20px;margin-bottom:5px;}
.office p{font-size:14.5px;}
.form-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-2);padding:28px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field{display:grid;gap:7px;}
.field.full{grid-column:1/-1;}
label{font-weight:800;font-size:13px;color:var(--ink-2);}
input,textarea,select{width:100%;border:1px solid var(--line);background:#fffaf1;color:var(--ink);border-radius:14px;padding:13px 14px;outline:none;transition:border-color .2s ease, box-shadow .2s ease;}
textarea{min-height:150px;resize:vertical;}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(217,111,50,.12);}
.form-note{font-size:13px;margin-top:12px;color:var(--soft);}
.cta-band{background:var(--dark);color:var(--paper);padding:70px 0;}
.cta-band .wrap{display:flex;justify-content:space-between;gap:34px;align-items:center;}
.cta-band h2{max-width:850px;font-size:clamp(34px,5.5vw,70px);}
.cta-band p{color:#d1c6b6;margin-top:16px;max-width:690px;}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;}
.site-footer{background:var(--dark);color:var(--paper);padding:58px 0 26px;border-top:1px solid rgba(244,239,230,.12);}
.footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:30px;}
.footer-col h4{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-2);margin:0 0 15px;}
.footer-col a{display:block;color:#d9cfbf;font-size:14px;margin:9px 0;}
.footer-col a:hover{color:#fff;}
.footer-about{color:#cfc3b2;font-size:14px;max-width:310px;margin-top:16px;}
.footer-logo{height:26px;width:auto;}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(244,239,230,.13);padding-top:18px;margin-top:38px;color:#958c80;font-size:12px;}
.page-hero{position:relative;overflow:hidden;padding:92px 0 70px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 80% 20%, rgba(217,111,50,.16), transparent 30%), var(--paper);}
.page-hero h1{font-size:clamp(52px,8.4vw,108px);max-width:1120px;margin-top:16px;}
.page-hero .lede{max-width:850px;font-size:clamp(18px,2vw,22px);margin-top:24px;color:#4f483f;}
.page-hero-visual{margin-top:34px;border-radius:var(--radius-lg);overflow:hidden;background:var(--dark);box-shadow:var(--shadow);}
.page-hero-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.75);}
.breadcrumb{display:flex;gap:8px;align-items:center;color:var(--soft);font-size:13px;margin-bottom:20px;}
.breadcrumb a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.reveal{opacity:1;transform:translateY(18px);}
.reveal.visible{animation:reveal .65s ease forwards;}
@keyframes reveal{to{opacity:1;transform:none;}}
@media (max-width:1080px){
  .nav-links,.nav-cta{display:none;}
  .menu-toggle{display:flex;}
  .site-header .wrap{position:relative;}
  .menu-open .nav-links{display:flex;position:fixed;left:16px;right:16px;top:82px;z-index:99;flex-direction:column;align-items:stretch;background:#181814;border:1px solid rgba(244,239,230,.15);border-radius:22px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.25);}
  .menu-open .nav-links a{font-size:17px;padding:14px 16px;}
  .menu-open .nav-cta{display:flex;position:fixed;left:34px;right:34px;top:560px;z-index:100;flex-wrap:wrap;}
  .hero-grid,.split,.contact-grid{grid-template-columns:1fr;}
  .hero-visual{min-height:520px;}
  .project-grid,.card-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:repeat(2,1fr);}
  .role-row{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .wrap{padding:0 18px;}
  .site-nav{height:66px;}
  .brand img{height:22px;}
  .home-hero{padding-top:50px;}
  .hero-copy{padding-top:24px;}
  .hero-copy h1{font-size:clamp(52px,16vw,78px);}
  .hero-visual{min-height:500px;border-radius:24px;}
  .visual-card{left:14px;right:14px;bottom:14px;padding:18px;}
  .metric-row,.stats,.card-grid,.card-grid.two,.project-grid,.case-body,.comparison,.form-grid{grid-template-columns:1fr;}
  .compare-col + .compare-col,.case-block:nth-child(odd){border-left:0;border-right:0;}
  section{padding:66px 0;}
  .section-head{display:block;}
  .section-head p{margin-top:18px;}
  .workflow-item{grid-template-columns:1fr;gap:6px;}
  .workflow-item:before{font-size:40px;}
  .case-head,.cta-band .wrap,.footer-bottom{flex-direction:column;align-items:flex-start;}
  .footer-grid{grid-template-columns:1fr;}
  .page-hero{padding:62px 0 50px;}
  .page-hero h1{font-size:clamp(38px,12vw,60px);}
}
.cta-band .btn-ghost{color:var(--paper);border-color:rgba(244,239,230,.35);}
.cta-band .btn-ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);}


/* --- Optimized grouped navigation + News --- */
.nav-links{gap:4px;}
.nav-single,.nav-trigger{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#e8decf;font-weight:850;font-size:14px;padding:10px 11px;border-radius:999px;cursor:pointer;line-height:1;}
.nav-trigger::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.75;}
.nav-single:hover,.nav-trigger:hover,.nav-single.active,.nav-item.active>.nav-trigger{background:rgba(244,239,230,.11);color:#fff;}
.nav-item{position:relative;}
.dropdown-menu{position:absolute;left:0;top:calc(100% + 10px);min-width:230px;background:#171713;border:1px solid rgba(244,239,230,.14);border-radius:18px;padding:10px;box-shadow:0 24px 70px rgba(0,0,0,.26);display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;}
.nav-item:hover .dropdown-menu,.nav-item:focus-within .dropdown-menu,.nav-item.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown-menu a{display:block;padding:11px 12px;border-radius:12px;color:#dfd4c5;font-size:14px;font-weight:800;white-space:nowrap;}
.dropdown-menu a:hover{background:rgba(244,239,230,.1);color:#fff;}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.news-grid.full{grid-template-columns:repeat(2,1fr);}
.news-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-2);overflow:hidden;box-shadow:0 18px 42px rgba(29,22,13,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.news-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(29,22,13,.11);border-color:#baa98f;}
.news-card img{width:100%;height:190px;object-fit:cover;background:var(--dark);}
.news-card-body{padding:24px;}
.news-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.news-card h3{font-size:24px;margin-bottom:10px;}
.news-card p{font-size:15.5px;}
.news-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.article-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start;}
.article-main{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-2);padding:clamp(26px,4vw,48px);}
.article-main h2{font-size:clamp(34px,4.6vw,58px);margin:18px 0 18px;}
.article-body{display:grid;gap:18px;margin-top:28px;}
.article-body p,.article-body li{font-size:17px;color:var(--muted);}
.article-body ul{margin:0;padding-left:22px;}
.article-sidebar{position:sticky;top:104px;border:1px solid var(--line);border-radius:24px;background:#fbf1e4;padding:22px;}
.article-sidebar h3{font-size:22px;margin-bottom:10px;}
.article-sidebar p{font-size:12px;margin-bottom:14px;color: #777;}
.original-link-box{border:1px dashed rgba(217,111,50,.55);border-radius:18px;padding:16px;background:rgba(217,111,50,.07);}
.news-note{font-size:13px;color:var(--soft);margin-top:10px;}
@media (max-width:1080px){
  .menu-open .nav-links{gap:5px;overflow:auto;max-height:calc(100vh - 170px);}
  .menu-open .nav-item{width:100%;}
  .menu-open .nav-single,.menu-open .nav-trigger{width:100%;justify-content:space-between;font-size:17px;padding:14px 16px;border-radius:14px;}
  .menu-open .dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(255,255,255,.04);border-color:rgba(244,239,230,.1);margin:0 0 8px 0;}
  .menu-open .dropdown-menu a{font-size:15px;}
  .news-grid,.news-grid.full{grid-template-columns:repeat(2,1fr);}
  .article-shell{grid-template-columns:1fr;}
  .article-sidebar{position:static;}
}
@media (max-width:760px){
  .news-grid,.news-grid.full{grid-template-columns:1fr;}
  .news-card img{height:180px;}
}

/* ============================================================
   2026-07 optimization: calmer typography, adaptive header,
   and clean editorial news pages.
   ============================================================ */
body{font-size:15.5px;line-height:1.58;}
p{font-size:16px;line-height:1.62;}
.zh p{font-size:12px;line-height:1.72;color: #777;}
h2{font-size:clamp(28px,3.9vw,48px);line-height:1.08;letter-spacing:-.035em;}
h3{font-size:clamp(19px,1.8vw,26px);line-height:1.16;letter-spacing:-.025em;}
section{padding:78px 0;}
.home-hero{padding:58px 0 38px;}
.hero-copy{padding:42px 0 12px;}
.hero-copy h1{font-size:clamp(44px,6.7vw,86px);line-height:.98;letter-spacing:-.055em;}
.zh .hero-copy h1{font-size:clamp(44px,6.7vw,88px);line-height:.98;letter-spacing:.05em;}
.hero-copy .lede{font-size:clamp(16px,1.45vw,19px);line-height:1.58;margin-top:22px;}
.hero-note{font-size:14.5px;margin-top:28px;padding-top:18px;}
.hero-visual{min-height:520px;}
.visual-card h3{font-size:22px;}
.metric strong{font-size:15px;}
.section-head{margin-bottom:28px;}
.card h3{font-size:22px;}
.card p{font-size:15px;}
.card .num{font-size:34px;margin-bottom:16px;}
.workflow-item:before{font-size:42px;}
.stat b{font-size:clamp(26px,3.6vw,42px);}
.page-hero{padding:72px 0 56px;}
.page-hero h1{font-size:clamp(30px,5vw,56px);line-height:1;letter-spacing:-.045em;}
.zh .page-hero h1{letter-spacing: 0.05em;}
.page-hero .lede{font-size:clamp(16px,1.6vw,19px);line-height:1.62;}
.cta-band h2{font-size:clamp(30px,4.4vw,56px);}

/* Header width auto-fit */
.site-nav.wrap{width:min(100% - 32px, 1380px);max-width:1380px;padding-left:0;padding-right:0;}
.site-nav{gap:clamp(10px,1.4vw,20px);}
.brand{min-width:0;flex:0 1 172px;}
.brand img{height:26px;max-width:100%;}
.nav-links{flex:1 1 auto;min-width:0;gap:2px;justify-content:center;}
.nav-single,.nav-trigger{font-size:13px;padding:9px 15px;white-space:nowrap;}
.nav-cta{flex:0 0 auto;gap:6px;}
.nav-cta .btn-sm{padding:8px 11px;font-size:11.5px;}
.lang-link{padding:7px 10px;font-size:11.5px;}
.dropdown-menu{min-width:210px;}
@media (max-width:1260px){
  .nav-cta .btn-ghost{display:none;}
  .brand{flex-basis:150px;}
}
@media (max-width:1120px){
  .nav-cta .btn-light{display:none;}
}
@media (max-width:1080px){
  .site-nav.wrap{width:100%;padding-left:22px;padding-right:22px;max-width:100%;}
  .brand{flex:0 1 180px;}
  .menu-open .nav-cta{top:auto;bottom:22px;left:34px;right:34px;}
  .menu-open .nav-cta .btn-light,.menu-open .nav-cta .btn-ghost{display:inline-flex;}
}
@media (max-width:760px){
  body{font-size:15px;}
  p,.zh p{font-size:15.5px;}
  section{padding:58px 0;}
  .hero-copy h1{font-size:clamp(38px,12vw,58px);}
  .page-hero h1{font-size:clamp(34px,11vw,58px);}
  .hero-visual{min-height:500px;}
  .site-nav.wrap{padding-left:16px;padding-right:16px;}
}

/* Clean news typography */
.news-card h3{font-size:21px;line-height:1.22;}
.news-card p{font-size:15px;}
.news-meta{font-size:11px;letter-spacing:.08em;}
.article-shell{grid-template-columns:minmax(0,1fr) 300px;}
.article-main{padding:clamp(24px,4vw,42px);}
.article-main h2{font-size:clamp(30px,4vw,44px);line-height:1.12;}
.article-body{gap:22px;}
.article-body p,.article-body li{font-size:16px;line-height:1.82;color:#4f483f;}
.zh .article-body p,.zh .article-body li{font-size:16px;line-height:1.9;}
.article-body h3{font-size:clamp(22px,2.4vw,31px);line-height:1.24;margin:20px 0 2px;}
.article-body h4{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:8px 0 -6px;}
.article-body blockquote{margin:8px 0;padding:20px 24px;border-left:4px solid var(--accent);background:#fbf1e4;border-radius:0 18px 18px 0;color:var(--ink-2);font-size:18px;line-height:1.65;}
.article-figure{margin:8px 0 18px;border-radius:24px;overflow:hidden;background:#171713;border:1px solid var(--line);}
.article-figure img{width:100%;height:auto;max-height:430px;object-fit:cover;}
.article-figure figcaption{padding:12px 16px;color:#7a7064;background:#fbf1e4;font-size:13px;line-height:1.55;}
.article-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 12px;}
.article-summary .summary-item{border:1px solid var(--line);border-radius:18px;background:#fbf1e4;padding:16px;}
.article-summary b{display:block;font-size:18px;margin-bottom:7px;}
.article-summary span{display:block;color:var(--muted);font-size:14px;line-height:1.55;}
.article-sidebar .clean-list li{font-size:14px;padding-left: 18px;border-top: 1px solid rgba(0,0,0,.2);padding-top: 8px;}
@media (max-width:1080px){
  .article-shell{grid-template-columns:1fr;}
  .article-summary{grid-template-columns:1fr;}
}
.card-grid .card .card1{width: 100%;display: flex;}
.card-grid .card .h1{font-size: 20px;font-weight: 700;color: #000;margin-bottom: 5px;}
.card-grid .card .h3{font-size: 15px;color: var(--accent);}
.card-grid .card .card1 img{width: 40%;}
.card-grid .card .card1 div{width: 55%;margin-left: 5%;display: flex;flex-direction: column;justify-content: center;}
.card-grid .card .card2{width: 100%;margin: 35px 0;}
.card-grid .card .card2 p{font-size: 15px;color: rgba(17,24,39,.8);line-height: 2.0;}
.card-grid .card .card3{width: 100%;display: flex;align-items: flex-end;justify-content: flex-end;}
.card-grid .card .card3 img{width: 45px;}

/* Homepage technical comparison table */
.tech-comparison{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-2);box-shadow:0 18px 42px rgba(29,22,13,.06);}
.tech-comparison:focus-visible{outline:3px solid rgba(217,111,50,.35);outline-offset:4px;}
.tech-comparison-table{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed;}
.tech-comparison-table th,.tech-comparison-table td{padding:22px 24px;text-align:left;vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px;line-height:1.65;}
.tech-comparison-table thead th{background:var(--dark);color:var(--paper);font-size:13px;line-height:1.45;letter-spacing:.04em;text-transform:uppercase;}
.zh .tech-comparison-table thead th{text-transform:none;letter-spacing:.05em;font-size:14px;}
.tech-comparison-table th:first-child{width:20%;}
.tech-comparison-table th:nth-child(2),.tech-comparison-table th:nth-child(3){width:40%;}
.tech-comparison-table tbody th{background:#fbf1e4;color:var(--ink);font-size:17px;line-height:1.45;}
.tech-comparison-table tbody td{color:var(--muted);}
.tech-comparison-table tbody td:last-child{background:rgba(34,73,59,.06);color:var(--ink-2);}
.tech-comparison-table th:last-child,.tech-comparison-table td:last-child{border-right:0;}
.tech-comparison-table tbody tr:last-child th,.tech-comparison-table tbody tr:last-child td{border-bottom:0;}
.tech-comparison-note{margin-top:14px;font-size:13px;line-height:1.6;color:var(--soft);}
@media (max-width:1080px){
  .tech-advantages .section-head{display:block;}
  .tech-advantages .section-head p{max-width:760px;margin-top:18px;}
}
@media (max-width:760px){
  .tech-comparison-table{min-width:760px;}
  .tech-comparison-table th,.tech-comparison-table td{padding:18px;font-size:14px;}
  .tech-comparison-table tbody th{font-size:16px;}
}


/* GAIA NEWS DETAIL ENHANCEMENTS */
.article-page .page-hero h1{font-size:clamp(34px,5.2vw,72px);max-width:1180px;line-height:1.02;}
.article-cover{border-radius:24px;margin-bottom:28px;max-height:520px;width:100%;object-fit:cover;background:#111;}
.article-toc{display:grid;gap:10px;}
.article-toc li{padding:0;border:0;}
.article-toc a{color:var(--ink-2);font-size:14px;line-height:1.45;text-decoration:none;}
.article-toc a:hover{color:var(--accent);}
.article-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 18px;}
.article-facts>div{border:1px solid var(--line);border-radius:18px;background:#fbf1e4;padding:16px;}
.article-facts b,.article-facts span{display:block;}
.article-facts b{font-size:14px;margin-bottom:6px;color:var(--accent);}
.article-facts span{font-size:15px;line-height:1.55;color:var(--ink-2);}
.article-body h4[id]{scroll-margin-top:120px;}
@media(max-width:700px){.article-page .page-hero h1{font-size:clamp(30px,10vw,48px);}.article-facts{grid-template-columns:1fr;}.article-cover{max-height:360px;}}
/* =========================================================
   Mobile navigation overflow fix
   ========================================================= */
@media (max-width:1080px){

  /* 避免 backdrop-filter 导致 fixed 菜单定位异常 */
  .site-header{
    overflow:visible;
  }

  body.menu-open .site-header{
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  /* 导航主体占满可视区域，并允许独立滚动 */
  .menu-open .nav-links{
    display:flex;
    position:fixed;
    top:82px;
    left:12px;
    right:12px;
    bottom:12px;

    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;

    padding:14px 14px 108px;
    gap:5px;
    z-index:99;
  }

  /*
   原样式会让移动端所有二级菜单同时展开，
   导致整个导航高度过长。这里改成默认收起。
  */
  .menu-open .dropdown-menu{
    display:none;
    position:static;

    opacity:1;
    visibility:visible;
    transform:none;

    box-shadow:none;
    background:rgba(255,255,255,.04);
    border-color:rgba(244,239,230,.1);
    margin:0 0 8px;
  }

  /* 点击对应栏目后，再展开该二级菜单 */
  .menu-open .nav-item.open > .dropdown-menu{
    display:grid;
  }

  /* 底部按钮固定显示 */
  .menu-open .nav-cta{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    gap:6px;

    position:fixed;
    top:auto;
    left:26px;
    right:26px;
    bottom:calc(20px + env(safe-area-inset-bottom, 0px));

    z-index:101;
    padding-top:10px;
    background:linear-gradient(
            to bottom,
            rgba(24,24,20,0),
            #181814 12px
    );
  }

  .menu-open .nav-cta > *{
    min-width:0;
  }
}

@media (max-width:760px){

  .menu-open .nav-links{
    top:74px;
    left:8px;
    right:8px;
    bottom:8px;
    padding:12px 12px 112px;
    border-radius:18px;
  }

  .menu-open .nav-cta{
    left:20px;
    right:20px;
    bottom:calc(16px + env(safe-area-inset-bottom, 0px));
  }

  .menu-open .nav-cta .btn,
  .menu-open .nav-cta .lang-link{
    padding:9px 7px;
    font-size:11px;
    line-height:1.2;
    white-space:normal;
    text-align:center;
  }
}

/* 特别窄的手机改为两列，避免英文按钮被挤出屏幕 */
@media (max-width:420px){

  .menu-open .nav-links{
    padding-bottom:154px;
  }

  .menu-open .nav-cta{
    grid-template-columns:1fr 1fr;
  }

  .menu-open .nav-cta .lang-link{
    grid-column:1 / -1;
  }
}

.contact-content{padding:72px 0 100px;}
.contact-hub{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(34px,5vw,72px);align-items:center;padding:clamp(30px,4.6vw,58px);border:1px solid #2e312b;border-radius:var(--radius-lg);background:var(--dark);box-shadow:var(--shadow);}
.contact-hub::before{content:"";position:absolute;width:520px;height:520px;right:-170px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(217,111,50,.23),rgba(217,111,50,0) 68%);pointer-events:none;}
.contact-hub-main,.contact-hub-aside{position:relative;z-index:1;}
.contact-overline{display:block;margin-bottom:16px;color:var(--accent-2);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.contact-main-email{display:inline-block;color:#fff8ee;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,5vw,58px);line-height:1.04;letter-spacing:-.05em;overflow-wrap:anywhere;transition:color .2s ease;}
.contact-main-email:hover{color:var(--accent-2);}
.contact-hub-main > p{max-width:680px;margin-top:20px;color:#cfc5b6;font-size:16px;}
.contact-hub-aside{padding-left:clamp(28px,4vw,52px);border-left:1px solid rgba(244,239,230,.17);}
.contact-hub-aside h2{max-width:470px;color:var(--paper);font-size:clamp(30px,3.3vw,46px);}
.contact-hub-aside > p{max-width:480px;margin-top:16px;color:#cfc5b6;font-size:15px;}
.contact-platform{display:inline-flex;flex-wrap:wrap;align-items:center;gap:7px 12px;margin-top:20px;padding:10px 14px;border:1px solid rgba(244,239,230,.18);border-radius:999px;color:#d9cfbf;font-size:13px;transition:background .2s ease,border-color .2s ease;}
.contact-platform strong{color:var(--paper);}
.contact-platform::after{content:"\2197";color:var(--accent-2);font-size:16px;}
.contact-platform:hover{border-color:rgba(244,239,230,.4);background:rgba(244,239,230,.08);}
.contact-offices{margin-top:76px;}
.contact-offices-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:30px;align-items:end;margin-bottom:28px;padding-top:22px;border-top:1px solid var(--line);}
.contact-offices-head h2{max-width:760px;margin-top:12px;font-size:clamp(38px,5vw,62px);}
.contact-offices-head > p{padding-bottom:4px;font-size:16px;}
.contact-office-list{display:grid;gap:16px;}
.contact-office-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding:24px 26px;border:1px solid var(--line);border-radius:24px;background:var(--paper-2);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.contact-office-card:hover{transform:translateY(-3px);border-color:#baa98f;box-shadow:0 16px 38px rgba(29,22,13,.08);}
.contact-office-copy{min-width:0;padding:8px 0;}
.contact-office-meta{display:flex;align-items:center;gap:11px;margin-bottom:18px;}
.contact-office-number{position:static;right:auto;top:auto;color:var(--accent);font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1;}
.contact-office-region{padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:var(--soft);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}
.contact-office-card h3{max-width:630px;margin-bottom:10px;font-size:clamp(24px,2.7vw,30px);}
.contact-office-card p{max-width:650px;font-size:15.5px;line-height:1.55;}
.contact-office-contact{padding-left:30px;border-left:1px solid var(--line);}
.contact-person-label{display:block;margin-bottom:12px;color:var(--soft);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}
.contact-office-codes{display:grid;grid-template-columns:repeat(2,minmax(126px,150px));gap:14px;}
.contact-code{min-width:0;margin:0;padding:9px;border:1px solid #e2d7c8;border-radius:18px;background:#fff;}
.contact-code-image{width:100%;aspect-ratio:1;padding:3px;border-radius:12px;background:#fff;overflow:hidden;}
.contact-code-image img{width:100%;height:100%;object-fit:contain;}
.contact-code figcaption{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 3px 2px;}
.contact-code figcaption > span:last-child{display:block;min-width:0;}
.contact-code strong{display:block;color:var(--ink);font-size:12px;line-height:1.2;overflow-wrap:anywhere;}
.contact-code small{display:block;margin-top:3px;color:var(--soft);font-size:9px;line-height:1.2;}
.contact-code-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;}
.contact-code-dot-wechat{background:#07c160;box-shadow:0 0 0 4px rgba(7,193,96,.11);}
.contact-code-dot-whatsapp{background:#25d366;box-shadow:0 0 0 4px rgba(37,211,102,.12);}

@media (max-width:1000px){
  .contact-hub{grid-template-columns:1fr;}
  .contact-hub-aside{padding-top:28px;padding-left:0;border-top:1px solid rgba(244,239,230,.17);border-left:0;}
}

@media (max-width:860px){
  .contact-office-card{grid-template-columns:1fr;gap:22px;}
  .contact-office-contact{padding-top:22px;padding-left:0;border-top:1px solid var(--line);border-left:0;}
}

@media (max-width:760px){
  .contact-content{padding:52px 0 72px;}
  .contact-hub{padding:26px;border-radius:26px;}
  .contact-offices{margin-top:56px;}
  .contact-offices-head{grid-template-columns:1fr;gap:16px;}
  .contact-office-card{padding:22px;}
}

@media (max-width:520px){
  .contact-main-email{font-size:clamp(26px,9vw,38px);}
  .contact-office-codes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .contact-code{padding:7px;border-radius:15px;}
  .contact-code figcaption{gap:6px;padding-top:7px;}
  .contact-code strong{font-size:11px;}
}
body[data-page="team"] .card-grid {
  align-items: stretch;
}

body[data-page="team"] .card-grid > .card {
  display: flex;
  flex-direction: column;
}

body[data-page="team"] .card-grid > .card .card2 {
  flex: 0 0 auto;
}

body[data-page="team"] .card-grid > .card .card3 {
  flex: 0 0 auto;
  min-height: 45px;
  margin-top: auto;
  padding-top: 8px;
}