/* ============================================================
   HyperRank v1.0 — Complete Design System
   Stripe-dark hero + Vision + Iceberg + World Map + Logo Wall
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap');

:root {
  --white: #FFFFFF; --off-white: #F8F9FA; --light-bg: #F0F2F5;
  --border: #E5E7EB; --text-primary: #123233; --text-secondary: #4A5568; --text-muted: #9CA3AF;
  --dark: #123233; --darker: #081F22; --darkest: #041315;
  --accent: #2BBDB2; --accent-dark: #0F6C75; --accent-light: rgba(43,189,178,0.08);
  --accent-glow: rgba(43,189,178,0.25); --accent-border: rgba(43,189,178,0.2);
  --highlight: #38BDF8; --highlight-light: rgba(56,189,248,0.1);
  --font-sans: 'Inter','Noto Sans SC',-apple-system,BlinkMacSystemFont,sans-serif;
  --section-pad: clamp(4rem,8vh,6rem); --container-max: 1200px; --container-pad: clamp(1.5rem,4vw,3rem);
  --radius-sm: 0.5rem; --radius-md: 0.75rem; --radius-lg: 1rem; --radius-xl: 1.5rem; --radius-full: 9999px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.04); --shadow-md: 0 4px 16px rgba(0,0,0,0.06);
  --shadow-lg: 0 8px 30px rgba(0,0,0,0.08); --ease: cubic-bezier(0.4,0,0.2,1); --duration: 300ms;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;font-size:18px;overflow-x:hidden}
body{font-family:var(--font-sans);color:var(--text-primary);background:var(--white);line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:color var(--duration) var(--ease)}
ul,ol{list-style:none} button{border:none;background:none;cursor:pointer;font-family:inherit}
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}

/* Typography */
h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);line-height:1.2;font-weight:700;letter-spacing:-0.02em}
.section-label{display:flex;align-items:center;justify-content:center;gap:0.75rem;font-size:0.9rem;font-weight:600;text-transform:uppercase;letter-spacing:0.2em;color:var(--accent);margin-bottom:1.25rem;width:100%;text-align:center}
.section-label::before,.section-label::after{content:'';width:2rem;height:2px;background:var(--accent);flex-shrink:0}
.section-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:1.25rem;color:var(--text-primary);text-align:center}
.section-subtitle{font-size:clamp(1rem,1.5vw,1.15rem);color:var(--text-secondary);max-width:800px;line-height:1.8;text-align:center;margin-left:auto;margin-right:auto;text-wrap:balance;word-break:keep-all;}
.accent-text{color:var(--accent)} .highlight-text{color:var(--highlight)}

/* ===== NAV ===== */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1rem 0;transition:all 0.4s var(--ease)}
.site-nav.scrolled{background:rgba(255,255,255,0.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 1px 0 var(--border);padding:0.65rem 0}
.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:min(1360px,calc(100% - 2rem));margin:0 auto;padding:0 var(--container-pad);position:relative}
.nav-logo{display:flex;align-items:center;z-index:1001;flex-shrink:0;margin-right:1rem;position:relative}
.nav-logo img{height:48px;width:auto;padding:0;transition:all var(--duration) var(--ease);object-fit:contain}
.site-nav.scrolled .nav-logo img{height:40px;padding:0}
.nav-links{display:flex;align-items:center;gap:0.75rem;min-width:0}
.nav-links a{font-size:0.84rem;font-weight:500;color:var(--text-secondary);padding:0.25rem 0;position:relative;transition:color var(--duration);white-space:nowrap}
.nav-links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent);transition:width var(--duration)}
.nav-links a:hover{color:var(--accent)} .nav-links a:hover::after{width:100%}
.site-nav.scrolled .nav-links a{color:var(--text-secondary)}
.site-nav.scrolled .nav-links a:hover{color:var(--accent)}
.nav-right{display:flex;align-items:center;gap:0.45rem;flex-shrink:0}


.nav-toggle{display:none;flex-direction:column;gap:5px;z-index:1002;padding:0.5rem;position:relative;-webkit-tap-highlight-color:transparent}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--text-primary);transition:all var(--duration)}
.site-nav.scrolled .nav-toggle span{background:var(--text-primary)}

/* Desktop nav layout */
@media(min-width:1025px){
  .nav-inner{padding:0}
}
@media(min-width:1025px) and (max-width:1320px){
  .nav-logo{margin-right:0.5rem}
  .nav-logo img{height:44px}
  .nav-links{gap:0.45rem}
  .nav-links a{font-size:0.78rem}
  .btn-primary{font-size:0.82rem;padding:0.55rem 1.05rem}
}
@media(min-width:1025px) and (max-width:1200px){
  .nav-right .btn-primary{display:none}
}
.nav-drawer-overlay{
  position:fixed;
  inset:0;
  background:rgba(8,12,20,0.56);
  opacity:0;
  pointer-events:none;
  transition:opacity 0.48s var(--ease);
  z-index:2990;
}
body.menu-open .nav-drawer-overlay{opacity:1;pointer-events:auto}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;gap:0.6rem;padding:0.6rem 1.4rem;background:var(--accent);color:var(--white);font-size:0.875rem;font-weight:600;border-radius:var(--radius-full);transition:all var(--duration);white-space:nowrap}
.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}
.btn-accent{display:inline-flex;align-items:center;gap:0.75rem;padding:1rem 1rem 1rem 2rem;background:var(--highlight);color:var(--text-primary);font-size:1rem;font-weight:600;border-radius:var(--radius-full);transition:all var(--duration);box-shadow:0 4px 20px rgba(56,189,248,0.3);white-space:nowrap}
.btn-accent .arrow{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--text-primary);color:var(--highlight);border-radius:50%;font-size:1.1rem;transition:all var(--duration)}
.btn-accent:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(56,189,248,0.4)}
.btn-accent:hover .arrow{transform:translateX(3px)}
.btn-outline{display:inline-flex;align-items:center;gap:0.5rem;padding:0.85rem 1.75rem;background:transparent;color:var(--accent-dark);font-size:0.9rem;font-weight:600;border:1.5px solid var(--accent);border-radius:var(--radius-full);transition:all var(--duration);white-space:nowrap}
.btn-outline:hover{background:var(--accent);color:var(--white);box-shadow:0 4px 12px var(--accent-glow)}
.nav-phone{display:inline-flex;align-items:center;gap:0.4rem;font-size:1rem;font-weight:700;color:var(--text-primary);margin-right:1.5rem;transition:all var(--duration)}
.nav-phone:hover{color:var(--accent);transform:translateY(-1px);}

/* ===== HERO ===== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--off-white)}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 800px 600px at 20% 50%,rgba(43,189,178,0.06),transparent),radial-gradient(ellipse 600px 400px at 80% 30%,rgba(43,189,178,0.04),transparent),radial-gradient(ellipse 1200px 600px at 50% 120%,rgba(56,189,248,0.06),transparent);animation:heroFloat 20s ease-in-out infinite alternate}
@keyframes heroFloat{0%{transform:scale(1)}100%{transform:scale(1.05) translate(-1%,1%)}}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,0.04) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,rgba(0,0,0,0.8) 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,rgba(0,0,0,0.8) 0%,transparent 70%)}
.hero-content{position:relative;z-index:2;padding:0 var(--container-pad);max-width:900px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.8rem;font-weight:600;color:var(--accent-dark);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:2rem;padding:0.4rem 1.2rem;border:1px solid rgba(43,189,178,0.15);border-radius:var(--radius-full);background:rgba(43,189,178,0.05)}
.hero-title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;color:var(--text-primary);letter-spacing:-0.03em;line-height:1.1;margin-bottom:1.5rem}
.hero-tagline{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--text-secondary);max-width:600px;margin:0 auto 1rem;line-height:1.7;font-weight:500}
.hero-tagline .hl{color:var(--accent);font-weight:700;display:inline-block;transition:opacity 0.4s,transform 0.4s}
.hero-tagline .hl.fade-out{opacity:0;transform:translateY(-8px)}
.hero-sub{font-size:0.85rem;color:var(--accent-dark);letter-spacing:0.08em;text-transform:uppercase;font-weight:700;margin-bottom:2.5rem}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.5rem;z-index:2}
.hero-scroll span{font-size:0.7rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-muted)}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--accent),transparent);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:0.4}50%{opacity:1}}

/* ===== SECTIONS ===== */
.section{padding:var(--section-pad) 0;position:relative;min-height:90vh;display:flex;flex-direction:column;justify-content:center}
.section-dark{background:var(--dark);color:var(--white)}
.section-dark .section-label{color:var(--highlight)} .section-dark .section-label::before,.section-dark .section-label::after{background:var(--highlight)}
.section-dark .section-title{color:var(--white)} .section-dark .section-subtitle{color:rgba(255,255,255,0.6)}
.section-light{background:var(--off-white)}
.section-accent-bg{background:linear-gradient(180deg,var(--white) 0%,rgba(43,189,178,0.03) 100%)}

/* ===== VISION H2A→A2A ===== */
.vision-section{background:var(--off-white);overflow:hidden}
.vision-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;margin-top:3rem}
.vision-card{padding:2.5rem;border-radius:var(--radius-xl);border:1px solid var(--border);transition:all 0.4s var(--ease);position:relative;background:var(--white)}
.vision-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.vision-card.next-gen{border-color:var(--accent);background:linear-gradient(135deg,rgba(43,189,178,0.03),rgba(43,189,178,0.08))}
.vision-badge{position:absolute;top:-0.75rem;right:1.5rem;padding:0.3rem 0.9rem;background:var(--accent);color:var(--white);font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;border-radius:var(--radius-full)}
.vision-icon{width:4rem;height:4rem;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);font-size:2rem}
.vision-card:not(.next-gen) .vision-icon{background:var(--light-bg);color:var(--text-muted)}
.vision-card.next-gen .vision-icon{background:var(--accent-light);color:var(--accent)}
.vision-card h3{font-size:1.5rem;font-weight:800;text-align:center;margin-bottom:0.5rem}
.vision-card .vision-en{font-size:0.8rem;color:var(--text-muted);text-align:center;margin-bottom:0.75rem}
.vision-card p{font-size:0.85rem;color:var(--text-secondary);text-align:center;line-height:1.6}
.vision-card .vision-core{display:inline-flex;align-items:center;gap:0.35rem;margin-top:0.75rem;padding:0.35rem 0.9rem;border-radius:var(--radius-full);font-size:0.75rem;font-weight:600;width:fit-content;margin-left:auto;margin-right:auto}
.vision-card:not(.next-gen) .vision-core{background:var(--light-bg);color:var(--text-muted)}
.vision-card.next-gen .vision-core{background:var(--accent-light);color:var(--accent)}
.vision-arrow{display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:var(--accent);font-size:0.75rem;font-weight:600;letter-spacing:0.1em}
.vision-arrow svg{width:40px;height:40px}
.vision-strategy{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}
.strategy-card{padding:1.75rem;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);border-top:3px solid var(--accent);transition:all 0.3s var(--ease)}
.strategy-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.strategy-num{font-size:0.75rem;font-weight:800;color:var(--accent);letter-spacing:0.1em;margin-bottom:0.5rem}
.strategy-card h4{font-size:1rem;font-weight:700;margin-bottom:0.5rem}
.strategy-card p{font-size:0.8rem;color:var(--text-secondary);line-height:1.6}

/* ===== STATS ===== */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
.stat-card{text-align:center;padding:2.5rem 1.5rem;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all 0.4s var(--ease)}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent)}
.stat-value-row{display:flex;align-items:baseline;justify-content:center;gap:0.15rem;white-space:nowrap;margin-bottom:0.35rem}
.stat-number{font-size:clamp(2.5rem,4vw,3.5rem);font-weight:800;color:var(--accent);line-height:1}
.stat-suffix{font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700;color:var(--accent);white-space:nowrap}
.stat-unit{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0.5rem 0 0.25rem}
.stat-label{font-size:0.8rem;color:var(--text-muted);line-height:1.5}

/* ===== GEO ===== */
.geo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem}
.geo-card{padding:2.5rem;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all 0.4s var(--ease);position:relative;overflow:hidden}
.geo-card::before{content:attr(data-num);position:absolute;top:-0.5rem;right:1rem;font-size:5rem;font-weight:900;color:rgba(43,189,178,0.05);line-height:1}
.geo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent)}
.geo-icon{width:3rem;height:3rem;background:var(--accent-light);color:var(--accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}
.geo-card h3{font-size:1.25rem;font-weight:700;margin-bottom:0.75rem}
.geo-card p{color:var(--text-secondary);font-size:0.9rem;line-height:1.7}

/* ===== ICEBERG MODEL ===== */
.iceberg-section{background:var(--white);color:var(--text-primary);overflow:hidden;padding:var(--section-pad) 0}
.iceberg-section .section-label{color:var(--accent)} .iceberg-section .section-label::before,.iceberg-section .section-label::after{background:var(--accent)}
.iceberg-section .section-title{color:var(--text-primary)} .iceberg-section .section-subtitle{color:var(--text-secondary)}
.iceberg-container{position:relative;max-width:900px;margin:2rem auto 0}

/* Iceberg image effects */
.iceberg-visual-wrapper { position: relative; max-width: 800px; margin: 2rem auto; text-align: center; }
.iceberg-glow-bg { position: absolute; top: 60%; left: 50%; transform: translate(-50%, -50%); width: 70%; height: 50%; background: radial-gradient(ellipse, rgba(43,189,178,0.25) 0%, transparent 65%); filter: blur(30px); z-index: 0; animation: pulseGlow 4s ease-in-out infinite alternate; pointer-events: none;}
.iceberg-img { position: relative; z-index: 1; width: 100%; height: auto; display: block; margin: 0 auto; object-fit: contain; }
.floating-anim { animation: floatAnim 6s ease-in-out infinite; }
@keyframes floatAnim { 0% { transform: translateY(0); } 50% { transform: translateY(-12px); } 100% { transform: translateY(0); } }
@keyframes pulseGlow { 0% { opacity: 0.6; transform: translate(-50%, -50%) scale(0.95); } 100% { opacity: 1.2; transform: translate(-50%, -50%) scale(1.05); } }

.water-surface{position:relative;margin:2rem -5%;height:4px;background:linear-gradient(90deg,transparent,rgba(43,189,178,0.6),rgba(43,189,178,0.8),rgba(43,189,178,0.6),transparent);z-index:10}
.water-surface::before{content:'';position:absolute;left:0;right:0;top:-20px;height:40px;background:linear-gradient(180deg,transparent 0%,rgba(43,189,178,0.08) 50%,transparent 100%);animation:waterShimmer 3s ease-in-out infinite}
@keyframes waterShimmer{0%,100%{opacity:0.5}50%{opacity:1}}
.water-labels{display:flex;justify-content:space-between;margin-top:0.5rem;padding:0 5%}
.water-labels span{font-size:0.65rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted)}

.iceberg-peak{background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2.5rem;transition:all 0.5s var(--ease);position:relative}
.iceberg-peak:hover{border-color:var(--accent-border);transform:translateY(-4px);box-shadow:0 8px 40px rgba(43,189,178,0.1)}
.iceberg-peak-label{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.7rem;font-weight:700;color:var(--accent);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:1rem;padding:0.3rem 0.8rem;background:rgba(43,189,178,0.1);border-radius:var(--radius-full)}
.iceberg-peak h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:0.75rem}
.iceberg-peak p{color:var(--text-secondary);font-size:0.9rem;line-height:1.7}
.iceberg-peak-stats{display:flex;gap:2rem;margin-top:1.5rem;flex-wrap:wrap}
.iceberg-peak-stat .val{font-size:1.75rem;font-weight:800;color:var(--accent)}
.iceberg-peak-stat .lbl{font-size:0.75rem;color:var(--text-muted);margin-top:0.25rem}

.iceberg-depth{background:var(--white);border:1px solid var(--accent-border);border-radius:var(--radius-xl);padding:2.5rem;position:relative;overflow:hidden;margin-top:2rem;transition:all 0.5s var(--ease)}
.iceberg-depth:hover{box-shadow:0 8px 40px rgba(43,189,178,0.15)}
.iceberg-depth-label{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.7rem;font-weight:700;color:var(--highlight);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:1rem;padding:0.3rem 0.8rem;background:var(--highlight-light);border-radius:var(--radius-full);position:relative;z-index:1}
.iceberg-depth h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:0.75rem;position:relative;z-index:1}
.iceberg-depth>p{color:var(--text-secondary);font-size:0.9rem;line-height:1.7;position:relative;z-index:1}
.iceberg-depth-features{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;position:relative;z-index:1}
.iceberg-feature{display:flex;align-items:flex-start;gap:0.75rem;padding:1rem;background:var(--off-white);border-radius:var(--radius-md);border:1px solid var(--border);transition:all 0.3s var(--ease)}
.iceberg-feature:hover{border-color:rgba(43,189,178,0.3);background:rgba(43,189,178,0.05)}
.iceberg-feature-icon{flex-shrink:0;width:2.25rem;height:2.25rem;background:rgba(43,189,178,0.15);border-radius:0.5rem;display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:1rem}
.iceberg-feature-text{font-size:0.8rem;color:var(--text-secondary);line-height:1.5}
.iceberg-feature-text strong{color:var(--accent);display:block;margin-bottom:0.15rem;font-size:0.85rem}

/* ===== ICEBERG VISUAL CONTAINER ===== */
.iceberg-visual-wrapper { position: relative; max-width: 900px; margin: 0 auto; text-align: center; }
.iceberg-glow-bg { position:absolute; width:400px; height:400px; background:radial-gradient(circle, rgba(43,189,178,0.15), transparent 60%); filter:blur(40px); left:50%; top:50%; transform:translate(-50%, -50%); z-index:0; pointer-events:none;}
.iceberg-img { 
  position: relative;
  z-index: 1;
  width: 100%; 
  height: auto; 
  transition: transform 0.4s var(--ease); 
}
.iceberg-visual-wrapper:hover .iceberg-img { transform: translateY(-8px); }
.floating-anim { animation: float-up-down 6s ease-in-out infinite; }
@keyframes float-up-down {
  0% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
  100% { transform: translateY(0); }
}

/* ===== TECH STACK (native high-fidelity UI rebuild) ===== */
#agent-os {
  background: var(--darkest); /* dark technical base */
  color: var(--white);
  padding: 5rem 0;
}
#agent-os .section-label { color: var(--highlight); }
#agent-os .section-label::before,#agent-os .section-label::after { background: var(--highlight); }
#agent-os .section-title { color: var(--white); margin-bottom: 1rem; }
#agent-os .section-subtitle { color: rgba(255,255,255,0.6); margin-bottom: 3rem; }

.tech-stack{display:flex;flex-direction:column;gap:1.2rem;margin-top:2rem;max-width:1100px;margin-left:auto;margin-right:auto}
.tech-layer{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg, rgba(14,24,38,0.95), rgba(6,12,25,0.98));border:1px solid rgba(43,189,178,0.2);border-radius:var(--radius-xl);padding:1.5rem 2rem;transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);position:relative;overflow:hidden;box-shadow: 0 10px 30px rgba(0,0,0,0.3);}
.tech-layer::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--accent);border-radius:6px 0 0 6px;box-shadow:0 0 15px var(--accent);}
.tech-layer.layer-5::before{background:#2BBDB2; opacity:0.9} 
.tech-layer.layer-4::before{background:#0CD3CC; opacity:0.8} 
.tech-layer.layer-3::before{background:#11E2DC; opacity:0.7} 
.tech-layer.layer-2::before{background:#2BBDB2; opacity:0.6} 
.tech-layer.layer-1::before{background:#0F6C75; opacity:0.5}

.tech-layer:hover{transform:translateX(10px);border-color:rgba(43,189,178,0.6);box-shadow:0 15px 40px rgba(43,189,178,0.15);}

.tech-layer-content{flex:1; max-width: 60%; position:relative; z-index:2;} 
.tech-layer-content h4{font-size:1.35rem;font-weight:800;color:var(--highlight);margin-bottom:0.5rem;display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;letter-spacing:0.02em;}
.layer-en{font-size:0.7rem;font-weight:700;color:rgba(43,189,178,0.6);text-transform:uppercase;letter-spacing:0.08em;}
.tech-layer-content p{font-size:0.9rem;color:rgba(255,255,255,0.7);line-height:1.7;margin-top:0.5rem; margin-bottom: 0;}
.layer-tags{display:flex;gap:0.5rem;flex-wrap:wrap;margin-top:0.8rem;}
.layer-tag{font-size:0.7rem;padding:0.25rem 0.8rem;border-radius:var(--radius-full);background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.8);border:1px solid rgba(255,255,255,0.1);letter-spacing:0.02em;}

.tech-visual-block {flex:0.35; display:flex; justify-content:flex-end; align-items:center; position:relative;}
.tech-visual-glow {position:absolute; width:150px; height:150px; background:radial-gradient(circle, rgba(43,189,178,0.2), transparent 70%); filter:blur(20px); z-index:0; top: 50%; right: 0; transform: translateY(-50%); pointer-events: none;}
.tech-badge-container {display:flex; gap:1rem; z-index:1; align-items:center;}
.tech-badge-card {background:rgba(14,24,38,0.9); border:1px solid rgba(43,189,178,0.3); border-radius:var(--radius-md); padding:0.75rem 1.25rem; font-size:0.85rem; font-weight:700; color:var(--white); box-shadow:0 8px 20px rgba(0,0,0,0.4); display:flex; align-items:center; gap:0.5rem;}
.tech-badge-card.warn {border-color:rgba(56,189,248,0.5); color:var(--accent);}
.tech-badge-card.success {border-color:rgba(43,189,178,0.5); color:var(--highlight);}

/* ===== SERVICES ===== */
.services-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0.75rem;margin-top:3rem}
.service-card{position:relative;padding:1.75rem 1.25rem 1.25rem;border-radius:var(--radius-lg);background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);transition:all 0.4s var(--ease);display:flex;flex-direction:column}
.service-card:hover{background:rgba(255,255,255,0.08);border-color:var(--accent);transform:translateY(-4px)}
.service-num{font-size:3rem;font-weight:900;color:rgba(43,189,178,0.12);line-height:1;margin-bottom:0.75rem}
.service-card h3{font-size:1rem;font-weight:600;margin-bottom:0.5rem;color:var(--white)}
.service-card p{font-size:0.8rem;color:rgba(255,255,255,0.5);line-height:1.6;flex:1}
.card-arrow{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:rgba(255,255,255,0.08);color:var(--accent);font-size:0.8rem;margin-top:0.75rem;transition:all var(--duration);align-self:flex-start}
.service-card:hover .card-arrow{background:var(--accent);color:var(--white);transform:translateX(3px)}

/* ===== PLATFORMS (20+ Brand Chips) ===== */
.platform-group{margin-top:2.5rem}
.platform-group-title{font-size:0.85rem;font-weight:600;color:var(--text-muted);margin-bottom:1rem;letter-spacing:0.05em}
.platforms-flex{display:flex;flex-wrap:wrap;gap:0.75rem}
.pf-chip{display:inline-flex;align-items:center;gap:0.6rem;padding:0.6rem 1rem 0.6rem 0.6rem;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-full);font-size:0.9rem;font-weight:600;color:var(--text-primary);transition:all 0.3s var(--ease);cursor:default}
.pf-chip:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent)}
.pf-icon{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:0.75rem;font-weight:800}
.pf-icon-img{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;object-fit:cover;background:var(--white);border:1px solid rgba(0,0,0,0.05);padding:1px}
.pf-chip em{font-style:normal;font-size:0.7rem;color:var(--text-muted);font-weight:400;margin-left:auto;padding-left:0.4rem}

/* ===== ADVANTAGES ===== */
.cmp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.25fr);gap:1.25rem;margin-top:3rem}
.cmp-col{display:flex;flex-direction:column}
.cmp-header{padding:0.95rem 0;text-align:center;font-weight:700;font-size:0.9rem;line-height:1.35;border-radius:var(--radius-md) var(--radius-md) 0 0;border:1px solid var(--border);border-bottom:none;display:flex;align-items:center;justify-content:center;white-space:nowrap}
.cmp-col:not(:last-child) .cmp-header{background:var(--light-bg);color:var(--text-muted)}
.cmp-col:last-child .cmp-header{background:var(--accent);color:var(--white);border-color:var(--accent)}
.cmp-cell{padding:0.8rem 0.65rem;font-size:0.8rem;color:var(--text-secondary);border:1px solid var(--border);border-top:none;line-height:1.45;min-height:4.25rem;display:flex;align-items:center;justify-content:center;text-align:center}
.cmp-col:last-child .cmp-cell{background:rgba(43,189,178,0.03);color:var(--text-primary);font-weight:500;border-color:var(--accent-border)}
.cmp-cell:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}

/* ===== ABOUT ===== */
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-top:3rem}
.about-visual{position:relative;padding:2.5rem;background:linear-gradient(135deg,rgba(43,189,178,0.06),rgba(56,189,248,0.03));border-radius:var(--radius-xl);text-align:center}
.about-visual .brand-mark{font-size:4rem;font-weight:900;color:var(--accent);opacity:0.12}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.5rem}
.about-stat{text-align:center} .about-stat .num{font-size:1.75rem;font-weight:800;color:var(--accent)} .about-stat .label{font-size:0.75rem;color:var(--text-muted);margin-top:0.15rem}
.about-content h3{font-size:clamp(1.5rem,3vw,2.25rem);margin-bottom:1.25rem}
.about-text{color:var(--text-secondary);line-height:1.8;margin-bottom:1.25rem;font-size:0.95rem}
.about-tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.25rem}
.about-tag{padding:0.35rem 0.9rem;background:var(--accent-light);color:var(--accent);font-size:0.75rem;font-weight:500;border-radius:var(--radius-full)}

/* ===== BRAND WALL (Logo Images) ===== */
.brand-wall-section{padding-bottom:4rem;overflow:hidden}
.global-logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;max-width:1040px;margin:0 auto}
.global-logo-card{height:92px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-sm)}
.global-logo-card img{max-width:135px;max-height:58px;object-fit:contain}
.marquee-wrapper{width:100%;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent 0%,black 8%,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 8%,black 92%,transparent 100%)}
.marquee-track{display:flex;gap:0;width:max-content;animation:marqueeScroll 900s linear infinite;align-items:center}
.marquee-reverse .marquee-track{animation:marqueeScrollReverse 950s linear infinite}
.marquee-item{flex-shrink:0;width:160px;height:60px;padding:0 1.5rem;display:flex;align-items:center;justify-content:center}
.marquee-item img{max-height:44px;max-width:140px;width:auto;height:auto;object-fit:contain;opacity:0.75;transition:opacity 0.4s var(--ease);vertical-align:middle}
.marquee-item img:hover{opacity:1}
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes marqueeScrollReverse{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}

/* ===== GLOBAL MAP ===== */
.global-section{background:var(--dark);color:var(--white);overflow:hidden}
.global-section > .container{max-width:100%;margin:0;padding:0}
.global-section .section-label{color:var(--highlight)} .global-section .section-label::before,.global-section .section-label::after{background:var(--highlight)}
.global-section .section-title{color:var(--white)} .global-section .section-subtitle{color:rgba(255,255,255,0.6)}
.world-map-container{position:relative;margin:2.35rem auto 0;width:min(100%,1680px);max-width:1680px;padding:0 var(--container-pad);box-sizing:border-box}
.world-map-svg{width:100%;height:auto;display:block}
.network-map-svg{overflow:visible;filter:drop-shadow(0 22px 54px rgba(0,0,0,0.32))}
.network-map-bg{fill:transparent;stroke:none;stroke-width:0}
.network-map-image{opacity:1}
.network-map-vignette{fill:transparent;stroke:none;stroke-width:0;box-shadow:none}
.map-grid-lines path,.map-grid-lines ellipse{fill:none;stroke:rgba(255,255,255,0.08);stroke-width:1;vector-effect:non-scaling-stroke}
.continent-map{fill:url(#continentFill);stroke:rgba(255,255,255,0.22);stroke-width:1.2;vector-effect:non-scaling-stroke}
.continent-map.asia{fill:rgba(43,189,178,0.12);stroke:rgba(43,189,178,0.25)}
.world-map-svg .continent{fill:rgba(255,255,255,0.06);stroke:rgba(255,255,255,0.12);stroke-width:0.8}
.world-map-svg .map-arc{stroke-dashoffset:200;animation:arcDash 4s linear infinite}
.route-layer .map-arc{fill:none;stroke-linecap:round;stroke-dasharray:4 7;vector-effect:non-scaling-stroke}
.route-layer .route-strong{stroke:rgba(255,212,59,0.78);stroke-width:1.75}
.route-layer .route-soft{stroke:rgba(255,212,59,0.36);stroke-width:1.25}
@keyframes arcDash{to{stroke-dashoffset:0}}
.map-dot{cursor:pointer;transition:all 0.3s var(--ease)}
.map-dot .office-leader{stroke:rgba(255,212,59,0.58);stroke-width:1.25;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.map-dot circle.dot-core{fill:#ffd43b;r:4.7;transition:r 0.3s var(--ease)}
.map-dot.is-hub circle.dot-core{r:5.4;fill:#ffd43b}
.map-dot circle.dot-pulse{fill:#ffd43b;opacity:0;r:4;animation:dotPulse 2.5s ease-out infinite}
.map-dot.is-hub circle.dot-pulse{fill:#ffd43b}
.map-dot.is-us .office-leader{stroke:rgba(255,212,59,0.68)}
.map-dot.is-us circle.dot-core{fill:#ffd43b;stroke:rgba(255,255,255,0.98);stroke-width:1.35;vector-effect:non-scaling-stroke}
.map-dot.is-us circle.dot-pulse{fill:#ffd43b}
.map-dot.is-us:hover circle.dot-core{fill:#fff176;stroke:#fff}
.office-name{font-size:15px;font-weight:900;fill:rgba(255,255,255,0.96);paint-order:stroke;stroke:rgba(6,10,24,0.96);stroke-width:5.2;stroke-linejoin:round}
.office-name .office-flag{paint-order:normal;stroke:none}
/* HQ labels are larger; other city labels are slightly smaller on desktop. */
.map-dot[data-type="HQ"] .office-name{font-size:16px;font-weight:900}
.map-dot:not([data-type="HQ"]) .office-name{font-size:14px}
.map-dot:hover circle.dot-core{r:6;fill:#fff176}
.map-dot:hover circle.dot-pulse{animation:none;opacity:0}
@keyframes dotPulse{0%{r:4;opacity:0.6}100%{r:18;opacity:0}}
.region-badge text{font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;fill:rgba(255,255,255,0.42)}
.region-badge.is-accent text{fill:rgba(56,189,248,0.68)}
.map-tooltip{position:absolute;background:rgba(6,6,16,0.96);border:1px solid var(--accent-border);border-radius:var(--radius-md);padding:1.15rem 1.4rem;pointer-events:none;opacity:0;transform:translateY(8px);transition:all 0.3s var(--ease);z-index:20;min-width:250px;max-width:340px;backdrop-filter:blur(12px)}
.map-tooltip.visible{opacity:1;transform:translateY(0)}
.map-tooltip h4{font-size:0.95rem;font-weight:700;color:var(--white);margin-bottom:0.35rem;display:flex;align-items:center;gap:0.4rem}
.map-tooltip .tip-flag{font-size:1rem;line-height:1}
.map-tooltip p{font-size:0.78rem;color:rgba(255,255,255,0.5);line-height:1.6}
.map-tooltip .tip-detail{font-size:0.72rem;color:rgba(255,255,255,0.4);margin-top:0.5rem;display:flex;flex-direction:column;gap:0.25rem}
.map-tooltip .tip-detail span{display:flex;align-items:center;gap:0.35rem}
.map-tooltip .tip-close{display:none}
.offices-summary{display:flex;gap:1.5rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}
.global-office-list{flex-direction:column;align-items:center;gap:0.7rem;margin-top:0.85rem}
.office-row{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap}
.office-row-title{font-size:0.7rem;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.36);margin-top:0.35rem}
.office-chip{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-full);font-size:0.8rem;color:rgba(255,255,255,0.6);transition:all 0.3s var(--ease);cursor:pointer}
.office-chip:hover,.office-chip.active{border-color:#ffd43b;color:#ffd43b;background:rgba(255,212,59,0.08)}
.office-chip .chip-dot{width:6px;height:6px;border-radius:50%;background:#ffd43b}
.office-chip .flag-logo{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;background:rgba(255,212,59,0.12);font-size:0.7rem;font-weight:900;letter-spacing:0;color:#ffd43b;box-shadow:inset 0 0 0 1px rgba(255,212,59,0.2)}

/* ===== CONTACT ===== */
.contact-section{text-align:center;background:linear-gradient(135deg,var(--dark) 0%,#0a1628 100%);color:var(--white)}
.contact-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:1.25rem;color:var(--white)}
.contact-sub{font-size:1rem;color:rgba(255,255,255,0.55);max-width:520px;margin:0 auto 2.5rem;line-height:1.7}
.contact-email{display:inline-flex;align-items:center;gap:0.5rem;font-size:1rem;color:var(--accent);font-weight:500;margin-bottom:2rem;padding:0.85rem 1.75rem;background:rgba(43,189,178,0.08);border-radius:var(--radius-full);border:1px solid var(--accent-border);transition:all var(--duration)}
.contact-email:hover{background:rgba(43,189,178,0.15);border-color:var(--accent)}

/* ===== FOOTER ===== */
.site-footer{background:var(--darkest);color:rgba(255,255,255,0.5);padding:4rem 0 2rem}
.footer-top{display:grid;grid-template-columns:1.4fr 0.8fr 1.3fr;gap:2.5rem;margin-bottom:3rem}
.footer-brand-col .footer-logo{height:32px;padding:6px 10px;background:rgba(255,255,255,0.9);border-radius:8px;display:inline-block;margin-bottom:1rem}
.footer-brand-col .footer-desc{font-size:0.8rem;color:rgba(255,255,255,0.4);line-height:1.7;max-width:300px;margin-bottom:1.5rem}
.footer-social-group{margin-bottom:1.25rem}
.footer-social-group h6{font-size:0.7rem;color:rgba(255,255,255,0.5);margin-bottom:0.6rem;font-weight:600}
.social-links{display:flex;flex-wrap:wrap;gap:0.6rem}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:50%;transition:all var(--duration);}
.social-link:hover{transform:translateY(-2px) scale(1.05)}
.social-link img{width:100%;height:100%;object-fit:contain;border-radius:50%;}
.footer-col h5{font-size:0.8rem;font-weight:700;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:1rem}
.footer-col a{display:block;font-size:0.8rem;color:rgba(255,255,255,0.4);margin-bottom:0.6rem;transition:color var(--duration)}
.footer-col a:hover{color:var(--accent)}
.footer-col p{font-size:0.72rem;color:rgba(255,255,255,0.35);line-height:1.6;margin-bottom:0.6rem}
.footer-col-offices p strong{color:rgba(255,255,255,0.6)}
.footer-divider{height:1px;background:rgba(255,255,255,0.06);margin-bottom:1.5rem}
.footer-bottom{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.75rem;font-size:0.75rem;text-align:center;padding:1.5rem 0 0 0;}
.footer-bottom div{color:rgba(255,255,255,0.6);}
/* ===== GENO SYSTEM ===== */
.geno-app-layer{margin-top:1rem;}
.layer-title{font-size:0.85rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;border-bottom:2px solid var(--accent);padding-bottom:0.5rem;display:inline-block;}
.layer-title span{font-size:0.7rem;color:var(--text-muted);font-weight:600;margin-left:0.5rem;}
.geno-agents-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:1rem;}
.geno-agent-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1rem;text-align:center;transition:all 0.4s var(--ease);}
.geno-agent-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--accent);}
.agent-icon{width:3rem;height:3rem;margin:0 auto 0.75rem;background:var(--accent-light);color:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;}
.geno-agent-card h3{font-size:1.1rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary);line-height:1.4;}
.geno-agent-card h3 span{display:block;font-size:0.7rem;color:var(--text-muted);font-weight:500;margin-top:0.2rem;}
.agent-features{list-style:none;padding:0;margin:0 0 1.5rem;text-align:left;}
.agent-features li{font-size:0.8rem;color:var(--text-secondary);margin-bottom:0.6rem;display:flex;align-items:flex-start;gap:0.4rem;}
.agent-features li::before{content:"✓";color:var(--accent);font-weight:bold;}
.agent-core-value{background:var(--light-bg);padding:0.75rem;border-radius:var(--radius-md);font-size:0.7rem;color:var(--text-muted);border-left:3px solid var(--accent);text-align:left;}
.agent-core-value strong{display:block;font-size:0.85rem;color:var(--text-primary);margin-top:0.25rem;}

.geno-core-layer{background:var(--dark);border-radius:var(--radius-xl);padding:2rem 2rem;margin-top:1.5rem;color:var(--white);}
.layer-title-dark{font-size:0.85rem;font-weight:700;color:var(--white);margin-bottom:1.5rem;text-align:center;letter-spacing:0.1em;}
.layer-title-dark span{font-size:0.7rem;color:rgba(255,255,255,0.4);font-weight:600;margin-left:0.5rem;}
.geno-core-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1rem;}
.core-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-md);padding:1.5rem;transition:all 0.3s var(--ease);}
.core-card:hover{background:rgba(255,255,255,0.08);border-color:var(--accent);transform:translateY(-2px);}
.core-header{display:flex;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;}
.core-icon{width:2rem;height:2rem;background:rgba(43,189,178,0.15);color:var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:800;margin-right:1rem;}
.core-header h4{font-size:0.95rem;font-weight:700;}
.core-en{font-size:0.65rem;color:rgba(255,255,255,0.3);margin-left:auto;}
.core-card p{font-size:0.78rem;color:rgba(255,255,255,0.6);line-height:1.6;}

/* QR Modal */
.qr-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:9999;align-items:center;justify-content:center;backdrop-filter:blur(5px);}
.qr-modal.active{display:flex;}
.qr-modal-content{background:var(--white);padding:2rem;border-radius:var(--radius-lg);max-width:320px;width:90%;position:relative;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,0.2);animation:modalIn 0.3s cubic-bezier(0,0,0.2,1);}
@keyframes modalIn{from{opacity:0;transform:scale(0.95) translateY(10px);}to{opacity:1;transform:scale(1) translateY(0);}}
.qr-close{position:absolute;top:1rem;right:1.25rem;font-size:1.75rem;cursor:pointer;color:var(--text-muted);line-height:1;}
.qr-close:hover{color:var(--text-primary);}
.qr-modal-content img{width:100%;height:auto;border-radius:8px;}
.qr-modal-content p{margin-top:1rem;font-size:0.9rem;font-weight:600;color:var(--text-primary);}

/* ===== BENCHMARK CASES ===== */
.cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
.case-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl); overflow: hidden; transition: all 0.4s var(--ease); display: flex; flex-direction: column; }
.case-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); border-color: var(--accent); }
.case-content-row { display: flex; flex-direction: column; height: 100%; }
.case-text { padding: 2.5rem; flex: 1; }
.case-industry { display: inline-block; font-size: 0.75rem; font-weight: 700; color: var(--accent); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 1rem; padding: 0.35rem 1rem; background: rgba(43,189,178,0.08); border-radius: var(--radius-full); }
.case-card h3 { font-size: 1.35rem; font-weight: 800; color: var(--text-primary); margin-bottom: 1rem; line-height: 1.4; }
.case-desc { font-size: 0.9rem; color: var(--text-secondary); line-height: 1.7; margin-bottom: 2rem; }
.case-strategy h4, .case-result h4 { font-size: 0.9rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.75rem; display: flex; align-items: center; gap: 0.5rem; }
.case-strategy h4::before { content: '🎯'; }
.case-result h4::before { content: '📈'; }
.case-strategy ul { list-style: none; padding: 0; margin-bottom: 2rem; }
.case-strategy li { font-size: 0.85rem; color: var(--text-secondary); line-height: 1.6; margin-bottom: 0.5rem; padding-left: 1.25rem; position: relative; }
.case-strategy li::before { content: '▸'; position: absolute; left: 0; color: var(--accent); font-weight: bold; }
.result-items { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.result-tag { font-size: 0.75rem; font-weight: 600; color: var(--highlight); background: rgba(56,189,248,0.1); border: 1px solid rgba(56,189,248,0.2); padding: 0.4rem 0.8rem; border-radius: var(--radius-sm); }
.case-screenshots { display: grid; gap: 1px; background: var(--border); border-top: 1px solid var(--border); }
.case-img { width: 100%; height: auto; display: block; object-fit: cover; background: var(--light-bg); }

/* ===== ANIMATIONS ===== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s cubic-bezier(0,0,0.2,1),transform 0.7s cubic-bezier(0,0,0.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s} .reveal-delay-2{transition-delay:0.2s} .reveal-delay-3{transition-delay:0.3s} .reveal-delay-4{transition-delay:0.4s} .reveal-delay-5{transition-delay:0.5s}
.global-section .reveal{opacity:1;transform:none}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .stats-grid{grid-template-columns:repeat(2,1fr)} .services-grid{grid-template-columns:repeat(3,1fr)} .about-layout{grid-template-columns:1fr}
  .cmp-grid{grid-template-columns:repeat(2,1fr)} .platforms-grid{grid-template-columns:repeat(2,1fr)} .footer-top{grid-template-columns:1fr 1fr}
  .iceberg-depth-features{grid-template-columns:1fr} .vision-grid{grid-template-columns:1fr;gap:1rem} .vision-arrow{transform:rotate(90deg)} .strategy-card{padding:1.25rem}
  .geno-agents-grid{grid-template-columns:repeat(2,1fr)} .geno-core-grid{grid-template-columns:repeat(2, 1fr)} .cases-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1024px){
  body.menu-open{overflow:hidden}
  .site-nav{z-index:3000}
  .site-nav.scrolled,
  .site-nav.menu-open{
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    box-shadow:0 1px 0 var(--border);
    padding:0.65rem 0;
  }
  .nav-logo img{height:40px;max-width:56vw}
  html{font-size:16px}
  .nav-links{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:0.35rem;
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    height:100dvh;
    padding:5.5rem 1.35rem 1.5rem;
    background:#ffffff;
    box-shadow:0 8px 30px rgba(6,10,20,0.12);
    transform:translateX(110%);
    opacity:0;
    pointer-events:none;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    transition:transform 0.52s cubic-bezier(0.22,1,0.36,1),opacity 0.4s ease;
    z-index:3012;
  }
  .nav-links a{
    font-size:1.06rem;
    color:var(--text-primary);
    padding:0.65rem 0;
    width:100%;
    background:#ffffff;
  }
  .nav-links a::after{display:none}
  .nav-links.open{
    transform:translateX(0);
    opacity:1;
    pointer-events:auto;
    background:#ffffff;
  }
  .nav-toggle{display:flex;z-index:3015}
  .site-nav.menu-open .nav-logo{pointer-events:none}
  .site-nav.menu-open .nav-toggle{z-index:3015}
  .nav-right .btn-primary{display:none}
  .container{margin:0 auto;padding:0 var(--container-pad);}
  .global-section > .container{max-width:100%;margin:0;padding:0}
  .global-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%;gap:0.75rem}
  .global-logo-card{height:84px;padding:0.85rem}
  .global-logo-card img{max-width:120px;max-height:50px}
  .section-title{font-size:26px;line-height:1.3}
  .hero{min-height:calc(100vh - 56px);padding-top:4.5rem}
  .hero-scroll{display:none}
  .hero-title{font-size:clamp(2rem,10vw,3.5rem)} .stats-grid{grid-template-columns:repeat(2,1fr);gap:0.75rem}
  .geo-grid,.services-grid,.platforms-grid,.cases-grid{grid-template-columns:1fr} .services-grid{grid-template-columns:1fr}
  .cmp-grid{grid-template-columns:1fr;overflow-x:auto}
  .section{padding:clamp(2.75rem,7vw,4.5rem) 0;min-height:auto}
  .section-label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:0.72rem;
    padding:0.3rem 0.68rem;
  }
  .footer-top{grid-template-columns:1fr;gap:2rem} .iceberg-peak-stats{flex-direction:column;gap:1rem} .vision-strategy{grid-template-columns:1fr}
  .geno-agents-grid,.geno-core-grid{grid-template-columns:1fr} .geno-core-layer{padding:2rem 1.5rem;}
  .hide-on-mobile{display:none!important;}
  .tech-layer{flex-direction:column;align-items:flex-start;padding:1.5rem;gap:1.5rem;}
  .tech-layer-content{max-width:100%;}
  .tech-visual-block{justify-content:center;width:100%;margin-top:0.5rem;}
  .tech-cap-grid,.tech-agent-grid{grid-template-columns:1fr!important;gap:0.9rem!important;}
  .tech-cap-grid > div,.tech-agent-grid > div{padding:1.15rem 1rem!important;}
  .tech-agent-grid > div > div:nth-of-type(2){line-height:1.35;word-break:break-word;overflow-wrap:anywhere;}
  .world-map-container{width:100%;max-width:100%;margin-top:1.45rem;overflow:visible;padding:0 0.75rem 0.5rem;}
  .world-map-svg{width:100%;min-width:0;}
  .region-badge text{display:none;}
  .office-name{
    display:block;
    font-size:20px;
    font-weight:900;
    fill:rgba(255,255,255,0.96);
    stroke:rgba(6,10,24,0.96);
    stroke-width:5;
  }
  .map-dot[data-type="HQ"] .office-name{font-size:21px;}
  .map-dot:not([data-type="HQ"]) .office-name{font-size:19px;}
  .map-dot .office-leader{display:block;opacity:0.72;stroke-width:1.6;}
  .map-dot circle.dot-core{r:6}
  .map-dot.is-hub circle.dot-core{r:6.5}
  .map-dot.is-us circle.dot-core{stroke-width:3}
  .map-dot circle.dot-pulse{r:6}
  .global-office-list{padding:0 var(--container-pad);}
  .office-row{gap:0.55rem}
  .platforms-flex{display:flex;flex-direction:column;gap:0.65rem;}
  .pf-chip{width:100%;max-width:100%;min-height:44px;}
  .pf-chip em{margin-left:auto}
  .map-tooltip{
    display:block!important;
    position:fixed;
    left:1rem!important;
    right:1rem;
    bottom:1rem;
    top:auto!important;
    min-width:0;
    max-width:none;
    width:auto;
    padding:1rem 2.8rem 1rem 1rem;
    border-color:rgba(43,189,178,0.38);
    box-shadow:0 18px 50px rgba(0,0,0,0.35);
    pointer-events:none;
    transform:translateY(12px)!important;
  }
  .map-tooltip.visible{transform:translateY(0)!important;pointer-events:auto}
  .map-tooltip h4{font-size:0.9rem;padding-right:0.25rem}
  .map-tooltip p{font-size:0.76rem;line-height:1.55}
  .map-tooltip .tip-detail{font-size:0.72rem}
  .map-tooltip .tip-close{
    position:absolute;
    top:0.65rem;
    right:0.75rem;
    display:flex;
    align-items:center;
    justify-content:center;
    width:1.8rem;
    height:1.8rem;
    border-radius:50%;
    color:rgba(255,255,255,0.72);
    background:rgba(255,255,255,0.08);
    font-size:1.3rem;
    line-height:1;
  }
  .floating-action-stack{right:1rem!important;bottom:1rem!important;gap:0.5rem!important;}
}
@media(max-width:420px){
  .nav-inner{max-width:100%;padding:0 0.72rem}
  .nav-logo{margin-right:0.4rem}
  .nav-logo img{height:36px;max-width:40vw}
  .nav-right{gap:0.3rem}
  .nav-toggle{padding:0.42rem}
  .nav-toggle span{width:20px}
}
@media(max-width:600px){
  .hero-content{width:100%;max-width:100%;box-sizing:border-box;padding:0 1.25rem}
  .hero-eyebrow{max-width:100%;white-space:normal;text-align:center;line-height:1.35;letter-spacing:0.08em;padding:0.4rem 0.9rem}
  .hero-title{font-size:2rem!important;line-height:1.14;letter-spacing:0}
  .hero-tagline{max-width:100%;font-size:1rem;line-height:1.58}
  .hero-sub{font-size:0.75rem;line-height:1.5;letter-spacing:0.06em;overflow-wrap:anywhere}
  .hero-actions{flex-direction:column;align-items:stretch;width:100%;max-width:330px;margin:0 auto}
  .hero-actions .btn-accent,.hero-actions .btn-outline{width:100%;justify-content:center;box-sizing:border-box}
}
@media(max-width:480px){
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn-accent,.hero-actions .btn-outline{width:100%;justify-content:center}
  .stat-card{padding:1.5rem 1rem}
  .stats-grid{grid-template-columns:1fr}
  .section-subtitle{text-wrap:pretty;word-break:break-word}
  .global-logo-grid{gap:0.65rem}
  .global-logo-card{height:78px;padding:0.75rem}
  .global-logo-card img{max-width:108px;max-height:46px}
  .world-map-container{width:100%;margin-top:1.25rem;padding-left:0.5rem;padding-right:0.5rem}
  .office-name{font-size:19px;stroke-width:5}
  .map-dot[data-type="HQ"] .office-name{font-size:20px;}
  .map-dot:not([data-type="HQ"]) .office-name{font-size:18px;}
  .global-office-list{padding:0 0.75rem;gap:0.55rem}
  .office-row{gap:0.42rem}
  .office-row-title{font-size:0.62rem}
  .office-chip{font-size:0.72rem;padding:0.42rem 0.65rem;gap:0.35rem}
  .office-chip .flag-logo{width:1.12rem;height:1.12rem;font-size:0.78rem}
  .pf-chip{font-size:0.82rem;padding:0.5rem 0.8rem 0.5rem 0.5rem}
}

/* ===== PRICING TABLE ===== */
.pricing-table-wrap{background:var(--surface);border-radius:var(--radius-lg);overflow-x:auto;box-shadow:0 8px 32px var(--shadow);border:1px solid var(--border);margin-bottom:2rem}
.pricing-table{width:100%;border-collapse:collapse;text-align:left;min-width:600px}
.pricing-table th,.pricing-table td{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}
.pricing-table thead th{background:var(--accent);color:#fff;font-weight:600;font-size:0.9rem}
.pricing-table thead th:first-child{border-radius:var(--radius-lg) 0 0 0}
.pricing-table thead th:last-child{border-radius:0 var(--radius-lg) 0 0}
.pricing-table td{font-size:0.95rem;color:var(--text-primary);font-weight:500}
.pricing-table tr:last-child td{border-bottom:none}
.pricing-table .example{color:var(--text-secondary);font-size:0.85rem;font-style:italic}
.pricing-notes{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.note-item{background:var(--surface);border:1px solid var(--border);padding:0.75rem 1.25rem;border-radius:var(--radius-full);font-size:0.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:0.5rem}

/* ===== LEAD FORM MODAL ===== */
.lead-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all 0.35s var(--ease)}
.lead-modal-overlay.active{opacity:1;visibility:visible}
.lead-modal{background:var(--white);border-radius:var(--radius-xl);width:92%;max-width:560px;max-height:90vh;overflow-y:auto;padding:2.5rem 2.5rem 2rem;position:relative;transform:translateY(24px) scale(0.96);transition:transform 0.35s var(--ease);box-shadow:0 24px 64px rgba(0,0,0,0.18)}
.lead-modal-overlay.active .lead-modal{transform:translateY(0) scale(1)}
.lead-modal-close{position:absolute;top:1rem;right:1.25rem;font-size:1.5rem;color:var(--text-muted);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--duration)}
.lead-modal-close:hover{background:var(--light-bg);color:var(--text-primary)}
.lead-modal h2{font-size:1.6rem;text-align:center;margin-bottom:0.5rem;color:var(--text-primary)}
.lead-modal h2 .hl{color:var(--accent)}
.lead-modal .lead-desc{text-align:center;color:var(--text-secondary);font-size:0.9rem;line-height:1.7;margin-bottom:1.75rem}
.lead-form{display:grid;gap:1rem}
.lead-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.lead-form label{font-size:0.85rem;font-weight:600;color:var(--text-primary);margin-bottom:0.3rem;display:block}
.lead-form label .req{color:#E53E3E;margin-left:2px}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;padding:0.7rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:0.9rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--off-white);transition:border-color var(--duration);outline:none}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:var(--text-muted)}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--accent);background:var(--white)}
.lead-form textarea{resize:vertical;min-height:60px}
.lead-form .form-field{display:flex;flex-direction:column}
.lead-submit{width:100%;padding:0.85rem;background:var(--accent);color:var(--white);font-size:1rem;font-weight:700;border:none;border-radius:var(--radius-full);cursor:pointer;margin-top:0.5rem;transition:all var(--duration);letter-spacing:0.03em}
.lead-submit:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 6px 20px var(--accent-glow)}
.lead-submit:disabled{opacity:0.6;cursor:not-allowed;transform:none}
.lead-privacy{text-align:center;font-size:0.75rem;color:var(--text-muted);margin-top:0.75rem}
.lead-success{text-align:center;padding:3rem 1rem}
.lead-success .check-icon{width:64px;height:64px;margin:0 auto 1rem;background:var(--accent-light);border-radius:50%;display:flex;align-items:center;justify-content:center}
.lead-success .check-icon svg{color:var(--accent)}
.lead-success h3{font-size:1.4rem;margin-bottom:0.5rem;color:var(--text-primary)}
.lead-success p{color:var(--text-secondary);font-size:0.95rem;line-height:1.7}
@media(max-width:576px){
  .lead-modal{padding:2rem 1.5rem 1.5rem}
  .lead-form .form-row{grid-template-columns:1fr}
}

/* ===== FLOATING CTA ===== */
.floating-cta{position:fixed;bottom:2rem;right:2rem;z-index:998;display:flex;align-items:center;gap:0.6rem;padding:0.85rem 1.5rem;background:var(--accent);color:var(--white);font-size:0.9rem;font-weight:700;border-radius:var(--radius-full);cursor:pointer;box-shadow:0 6px 24px var(--accent-glow);transition:all 0.35s var(--ease);border:none;animation:floatPulse 3s ease-in-out infinite}
.floating-cta:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(43,189,178,0.4)}
.floating-cta svg{flex-shrink:0}
@keyframes floatPulse{0%,100%{box-shadow:0 6px 24px var(--accent-glow)} 50%{box-shadow:0 8px 32px rgba(43,189,178,0.45)}}
@media(max-width:768px){.floating-cta{bottom:1.25rem;right:1.25rem;padding:0.75rem 1.25rem;font-size:0.85rem}}


/* ===== GEO AUDIT DATA NOTES ===== */
.stat-source-note{margin:1rem auto 0;max-width:760px;text-align:center;color:rgba(255,255,255,.72);font-size:.82rem;line-height:1.7;}
.section:not(.section-accent-bg) .stat-source-note{color:var(--text-secondary);}

/* ========== CLIENT TESTIMONIALS ========== */
.testimonial-section{background:var(--off-white)}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1rem}
.testimonial-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2rem 1.75rem 1.5rem;transition:all .4s var(--ease);position:relative;display:flex;flex-direction:column}
.testimonial-card::before{content:'\201C';position:absolute;top:0.4rem;left:1.2rem;font-size:3.5rem;line-height:1;color:var(--accent);opacity:0.16;font-family:Georgia,serif}
.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-border)}
.tm-quote{position:relative;z-index:1;font-size:1.05rem;line-height:1.75;color:var(--text-primary);font-weight:500;margin:1.5rem 0 1.5rem;flex:1}
.tm-meta{display:flex;flex-direction:column;gap:0.2rem;border-top:1px solid var(--border);padding-top:1rem}
.tm-client{font-weight:700;color:var(--text-primary);font-size:0.98rem}
.tm-industry{font-size:0.8rem;color:var(--text-muted)}
.tm-tag{display:inline-block;margin-top:0.55rem;font-size:0.7rem;font-weight:600;color:var(--accent-dark);background:var(--accent-light);padding:0.25rem 0.7rem;border-radius:var(--radius-full);align-self:flex-start}
@media(max-width:900px){.testimonial-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.testimonial-grid{grid-template-columns:1fr}}

/* Article information graphics */
.article-infographic {
  margin: 1.75rem 0 2.25rem;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(43, 189, 178, 0.18);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
  background: #08111f;
}
.article-infographic img {
  display: block;
  width: 100%;
  height: auto;
}
.article-infographic figcaption {
  margin: 0;
  padding: 0.72rem 1rem;
  font-size: 0.86rem;
  line-height: 1.55;
  color: #64748b;
  background: #fff;
  border-top: 1px solid #eef2f7;
}
@media (max-width: 640px) {
  .article-infographic {
    margin: 1.25rem 0 1.75rem;
    border-radius: 14px;
  }
  .article-infographic figcaption {
    font-size: 0.8rem;
  }
}

