:root {
  --bg: #030705;
  --bg-soft: #07100c;
  --surface: #0b1510;
  --surface-2: #101d16;
  --ink: #f5f8f6;
  --muted: #a9b4ad;
  --muted-dark: #5a675f;
  --light: #f3f6f4;
  --light-2: #e8eeea;
  --dark: #07100b;
  --green: #00e676;
  --green-2: #00bd63;
  --green-soft: rgba(0, 230, 118, .12);
  --line: rgba(255,255,255,.11);
  --line-dark: rgba(3, 15, 9, .12);
  --shadow: 0 24px 80px rgba(0,0,0,.28);
  --radius-sm: 12px;
  --radius: 22px;
  --radius-lg: 32px;
  --container: 1240px;
  --header-h: 82px;
  --font-body: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Space Grotesk", "Manrope", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--green); color: #001b0d; }

.sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; z-index: 9999; left: 18px; top: -100px; padding: 12px 18px;
  background: var(--green); color: #00190d; border-radius: 8px; font-weight: 800;
  transition: top .2s ease;
}
.skip-link:focus { top: 18px; }
.site-shell { overflow: clip; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.container.narrow { width: min(calc(100% - 40px), 900px); }
.section { position: relative; padding: 110px 0; }
.section-light { background: var(--light); color: var(--dark); }
.section-dark { background: var(--bg); color: var(--ink); }
.section-system { background: linear-gradient(135deg, #ecf1ee 0%, #f9fbfa 48%, #e4ece7 100%); color: var(--dark); }

.icon { width: 1.15em; height: 1.15em; flex: 0 0 auto; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 20px;
  color: #b9c4bd; font-size: 12px; line-height: 1.2; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase;
}
.eyebrow > span { width: 26px; height: 2px; background: var(--green); box-shadow: 0 0 14px rgba(0,230,118,.65); }
.eyebrow-dark { color: #536158; }
h1, h2, h3, p, blockquote { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); line-height: 1.05; letter-spacing: -.045em; }
h1 { font-size: clamp(52px, 7.2vw, 104px); }
h2 { font-size: clamp(38px, 5vw, 68px); }
h3 { font-size: 24px; }
p { color: inherit; }

.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 11px;
  min-height: 54px; padding: 0 23px; border: 1px solid transparent; border-radius: 999px;
  font-size: 14px; font-weight: 800; letter-spacing: -.01em; transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--green); color: #00190d; box-shadow: 0 12px 36px rgba(0,230,118,.16); }
.button-primary:hover { background: #36f793; box-shadow: 0 16px 40px rgba(0,230,118,.24); }
.button-secondary { background: rgba(255,255,255,.06); border-color: var(--line); color: var(--ink); }
.button-secondary:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.24); }
.button-ghost { background: transparent; border-color: var(--line); color: var(--ink); }
.button-small { min-height: 42px; padding-inline: 18px; font-size: 13px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; color: #057b42; }
.text-link:hover { color: #004f2a; }

/* Header */
.site-header {
  position: fixed; z-index: 500; top: 0; left: 0; right: 0; height: var(--header-h);
  border-bottom: 1px solid transparent; transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
}
.site-header.scrolled, .site-header.menu-active {
  background: rgba(3,7,5,.86); border-color: var(--line); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.brand img { width: 46px; height: 28px; object-fit: contain; }
.brand-copy { display: grid; line-height: .92; }
.brand-copy strong { font-family: var(--font-display); font-size: 20px; letter-spacing: .19em; font-weight: 700; }
.brand-copy small { margin-top: 7px; color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .72em; }
.desktop-nav { display: flex; align-items: center; gap: 34px; margin-left: auto; }
.desktop-nav a { position: relative; color: #c2cbc5; font-size: 13px; font-weight: 700; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -10px; height: 2px; background: var(--green); transition: right .2s ease; }
.desktop-nav a:hover, .desktop-nav a.active { color: #fff; }
.desktop-nav a:hover::after, .desktop-nav a.active::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.language-switcher { position: relative; }
.language-button {
  display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 12px;
  color: #dce4df; background: rgba(255,255,255,.045); border: 1px solid var(--line); border-radius: 999px;
  font-size: 12px; font-weight: 800;
}
.language-button svg { width: 10px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .2s ease; }
.language-switcher.is-open .language-button svg { transform: rotate(180deg); }
.language-menu {
  position: absolute; right: 0; top: calc(100% + 12px); width: 210px; padding: 8px;
  background: #0a120e; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow);
  opacity: 0; visibility: hidden; transform: translateY(-7px); transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}
.language-switcher.is-open .language-menu { opacity: 1; visibility: visible; transform: none; }
.language-menu a { display: flex; align-items: center; justify-content: space-between; padding: 10px 11px; border-radius: 9px; color: #c9d1cc; font-size: 13px; }
.language-menu a:hover, .language-menu a.active { background: rgba(0,230,118,.1); color: var(--green); }
.language-menu small { color: #718078; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.mobile-menu-button {
  display: none; width: 42px; height: 42px; align-items: center; justify-content: center;
  color: #fff; background: rgba(255,255,255,.05); border: 1px solid var(--line); border-radius: 50%;
}
.mobile-menu-button .menu-close { display: none; }
.mobile-menu-button[aria-expanded="true"] .menu-open { display: none; }
.mobile-menu-button[aria-expanded="true"] .menu-close { display: block; }
.mobile-menu { position: fixed; z-index: 490; inset: var(--header-h) 0 auto; max-height: 0; overflow: hidden; background: rgba(3,7,5,.98); border-bottom: 1px solid transparent; transition: max-height .35s ease, border-color .35s ease; }
.mobile-menu.is-open { max-height: calc(100vh - var(--header-h)); border-color: var(--line); }
.mobile-menu-inner { padding: 22px 0 30px; display: grid; }
.mobile-menu-inner a { padding: 16px 2px; border-bottom: 1px solid var(--line); color: #e4eae6; font-family: var(--font-display); font-size: 22px; font-weight: 600; }

/* Hero */
.hero, .page-hero { position: relative; background: var(--bg); overflow: hidden; }
.hero-home { min-height: 780px; padding: calc(var(--header-h) + 40px) 0 34px; display: flex; flex-direction: column; justify-content: flex-start; }
.hero-grid, .page-hero-grid {
  position: absolute; inset: 0; opacity: .22; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.7) 58%, transparent 100%);
}
.hero-glow { position: absolute; width: 640px; height: 640px; border-radius: 50%; filter: blur(110px); opacity: .16; pointer-events: none; }
.hero-glow-one { background: var(--green); right: -280px; top: -130px; }
.hero-glow-two { background: #1c7dff; left: -420px; bottom: -380px; opacity: .09; }
.hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(430px,.92fr); align-items: start; gap: 56px; padding-top: 10px; }
.hero-copy { padding-top: 12px; }
.hero-copy h1 { max-width: 850px; margin-bottom: 24px; }
.hero-copy h1 em { display: block; color: var(--green); font-style: normal; text-shadow: 0 0 50px rgba(0,230,118,.12); }
.hero-lead { max-width: 720px; color: #b8c2bc; font-size: clamp(18px, 1.7vw, 22px); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.hero-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 32px; }
.hero-tags span { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: #aab6af; background: rgba(255,255,255,.025); font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.hero-visual { position: relative; min-height: 470px; display: grid; place-items: center; }
.signal-orbit { position: absolute; border: 1px solid rgba(0,230,118,.22); border-radius: 50%; animation: orbitPulse 4s ease-in-out infinite; }
.orbit-one { width: 520px; height: 520px; }
.orbit-two { width: 410px; height: 410px; animation-delay: -2s; }
.performance-card {
  position: relative; z-index: 2; width: min(100%, 480px); padding: 25px; overflow: hidden;
  background: linear-gradient(155deg, rgba(20,34,26,.96), rgba(7,14,10,.96)); border: 1px solid rgba(255,255,255,.13); border-radius: 28px; box-shadow: 0 38px 100px rgba(0,0,0,.52), inset 0 1px rgba(255,255,255,.05);
  transform: perspective(1000px) rotateY(-5deg) rotateX(2deg);
}
.performance-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 0%, rgba(0,230,118,.16), transparent 36%); pointer-events: none; }
.performance-card-head { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #94a199; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.performance-card-head > div { display: flex; align-items: center; gap: 8px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 16px var(--green); }
.performance-main { position: relative; padding: 52px 0 22px; }
.performance-main span { display: block; margin-bottom: 7px; color: #a8b4ac; font-size: 12px; }
.performance-main strong { display: block; color: #fff; font-family: var(--font-display); font-size: clamp(28px, 3vw, 42px); letter-spacing: -.04em; }
.performance-main small { display: block; margin-top: 10px; color: #77877d; }
.mini-chart { height: 150px; margin: 0 -5px; }
.mini-chart svg { width: 100%; height: 100%; overflow: visible; }
.chart-area { fill: url(#chartFill); }
.chart-line { fill: none; stroke: var(--green); stroke-width: 3; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 8px rgba(0,230,118,.55)); }
.performance-metrics { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin-top: 22px; }
.performance-metrics div { padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); }
.performance-metrics span, .performance-metrics strong { display: block; }
.performance-metrics span { color: #76847c; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.performance-metrics strong { margin-top: 5px; color: #e9eeeb; font-size: 12px; }
.proof-bar { position: relative; z-index: 1; display: grid; grid-template-columns: 230px 1fr; align-items: center; gap: 34px; margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--line); }
.proof-bar p { margin: 0; color: #7e8b83; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.proof-bar > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px 28px; }
.proof-bar span { display: inline-flex; align-items: center; gap: 8px; color: #c8d0cb; font-size: 13px; font-weight: 700; }
.proof-bar .icon { color: var(--green); }


.hero-copy { animation: heroLift .75s cubic-bezier(.2,.7,.2,1) both; }
.hero-visual { animation: heroFloatIn .9s cubic-bezier(.2,.7,.2,1) both; }
@keyframes heroLift { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes heroFloatIn { from { opacity: 0; transform: translateY(28px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* Section headings and cards */
.section-heading { margin-bottom: 58px; }
.section-heading h2 { max-width: 780px; margin-bottom: 0; }
.section-heading > p { max-width: 570px; color: var(--muted-dark); font-size: 17px; }
.split-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 70px; }
.centered { max-width: 810px; margin-inline: auto; text-align: center; }
.centered h2 { margin-inline: auto; }
.centered p { margin-inline: auto; color: #9ba8a0; }
.capability-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.capability-card { position: relative; min-height: 420px; padding: 34px; border: 1px solid var(--line-dark); border-radius: var(--radius); background: rgba(255,255,255,.65); overflow: hidden; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.capability-card:hover { transform: translateY(-7px); border-color: rgba(0,150,76,.26); box-shadow: 0 28px 65px rgba(13,44,27,.1); }
.card-number { position: absolute; right: 28px; top: 22px; color: rgba(5,31,17,.11); font-family: var(--font-display); font-size: 58px; font-weight: 700; }
.card-icon { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 52px; color: #006d39; background: var(--green-soft); border-radius: 15px; }
.card-icon .icon { width: 25px; height: 25px; }
.capability-card h3 { margin-bottom: 16px; font-size: 30px; }
.capability-card > p { color: var(--muted-dark); }
.capability-card ul, .global-copy ul, .method-content ul { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 10px; }
.capability-card li, .global-copy li, .method-content li { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; font-weight: 700; }
.capability-card li .icon, .global-copy li .icon, .method-content li .icon { color: #00a857; margin-top: 3px; }

.channels-section::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 40%, rgba(0,230,118,.09), transparent 40%); pointer-events: none; }
.channel-cloud { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.channel-pill { display: flex; align-items: center; gap: 16px; min-height: 108px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.035); transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.channel-pill:hover { transform: translateY(-4px); background: rgba(255,255,255,.06); border-color: rgba(0,230,118,.32); }
.channel-pulse { width: 12px; height: 12px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 7px rgba(0,230,118,.08), 0 0 18px rgba(0,230,118,.55); }
.channel-pill strong, .channel-pill small { display: block; }
.channel-pill strong { font-family: var(--font-display); font-size: 18px; }
.channel-pill small { color: #839087; font-size: 12px; }

.system-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: center; }
.system-copy h2 { margin-bottom: 26px; }
.system-copy p { color: var(--muted-dark); font-size: 17px; }
.system-copy .text-link { margin-top: 18px; }
.system-map { position: relative; padding-left: 40px; display: grid; gap: 12px; }
.system-map::before { content: ""; position: absolute; left: 67px; top: 35px; bottom: 35px; width: 1px; background: linear-gradient(var(--green), rgba(0,168,87,.1)); }
.system-node { position: relative; display: grid; grid-template-columns: 56px 1fr; align-items: center; gap: 22px; min-height: 105px; padding: 18px 22px; border: 1px solid var(--line-dark); border-radius: 18px; background: rgba(255,255,255,.58); }
.system-node > span { z-index: 1; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; color: #004924; background: #d7fbe8; border: 1px solid rgba(0,173,88,.2); font-family: var(--font-display); font-weight: 700; }
.system-node strong, .system-node small { display: block; }
.system-node strong { font-family: var(--font-display); font-size: 20px; }
.system-node small { color: var(--muted-dark); }

.cta-section { background: var(--bg); padding: 70px 0 100px; }
.cta-panel { position: relative; min-height: 310px; display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 48px; padding: 54px; overflow: hidden; border: 1px solid rgba(0,230,118,.24); border-radius: var(--radius-lg); background: linear-gradient(125deg, #0c1a12 0%, #07100b 70%); box-shadow: var(--shadow); }
.cta-panel::before { content: ""; position: absolute; right: -120px; top: -170px; width: 420px; height: 420px; border-radius: 50%; background: var(--green); filter: blur(120px); opacity: .12; }
.cta-mark { opacity: .7; }
.cta-panel h2 { margin-bottom: 14px; font-size: clamp(34px,4vw,56px); }
.cta-panel p { max-width: 700px; margin-bottom: 0; color: #aab5ae; }
.cta-panel > * { position: relative; }

/* Interior page hero */
.page-hero { padding: calc(var(--header-h) + 105px) 0 96px; }
.page-hero::after { content: ""; position: absolute; width: 600px; height: 500px; right: -260px; top: -240px; border-radius: 50%; background: var(--green); filter: blur(130px); opacity: .12; }
.page-hero .narrow { position: relative; z-index: 1; margin-left: max(20px, calc((100vw - min(calc(100vw - 40px), var(--container))) / 2)); }
.page-hero h1 { max-width: 940px; margin-bottom: 25px; font-size: clamp(52px,7vw,92px); }
.page-hero p { max-width: 780px; margin-bottom: 0; color: #aeb9b2; font-size: 20px; }
.page-hero .button { margin-top: 32px; }

/* About */
.story-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.story-statement { position: sticky; top: 130px; padding-left: 28px; border-left: 3px solid var(--green); }
.story-statement > span { display: block; margin-bottom: 18px; color: #637068; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.story-statement blockquote { font-family: var(--font-display); font-size: clamp(30px,3.5vw,48px); line-height: 1.15; letter-spacing: -.04em; }
.story-copy { color: var(--muted-dark); font-size: 18px; }
.story-copy p + p { margin-top: 28px; }
.value-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.value-card { min-height: 310px; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.025); }
.value-card > span { color: var(--green); font-family: var(--font-display); font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.value-card h3 { margin: 90px 0 16px; }
.value-card p { color: #91a097; font-size: 14px; }
.global-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: center; }
.global-visual { position: relative; min-height: 500px; display: grid; place-items: center; }
.globe-core { position: relative; z-index: 2; width: 155px; height: 155px; display: grid; place-items: center; color: #00562d; background: linear-gradient(145deg,#d6f9e6,#fff); border: 1px solid rgba(0,130,65,.18); border-radius: 50%; box-shadow: 0 35px 90px rgba(0,92,46,.18); }
.globe-core .icon { width: 72px; height: 72px; }
.globe-ring { position: absolute; border: 1px solid rgba(0,150,76,.18); border-radius: 50%; }
.ring-a { width: 340px; height: 340px; animation: spin 22s linear infinite; }
.ring-b { width: 490px; height: 490px; animation: spin 32s linear infinite reverse; }
.globe-ring::before, .globe-ring::after { content: ""; position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--green-2); box-shadow: 0 0 16px rgba(0,190,99,.55); }
.globe-ring::before { top: 8%; left: 28%; }
.globe-ring::after { right: 8%; bottom: 30%; }
.dot { position: absolute; width: 7px; height: 7px; background: #0b673a; border-radius: 50%; }
.dot-a { left: 18%; top: 31%; }.dot-b { right: 17%; top: 24%; }.dot-c { left: 32%; bottom: 12%; }
.global-copy p { color: var(--muted-dark); font-size: 18px; }
.global-copy ul { margin-top: 30px; }

/* Expertise */
.service-list { display: grid; }
.service-row { display: grid; grid-template-columns: 55px 70px minmax(0,1fr) minmax(240px,.75fr); gap: 28px; align-items: start; padding: 44px 0; border-bottom: 1px solid var(--line-dark); }
.service-row:first-child { border-top: 1px solid var(--line-dark); }
.service-index { padding-top: 16px; color: #7b877f; font-family: var(--font-display); font-size: 12px; font-weight: 700; }
.service-icon { width: 58px; height: 58px; display: grid; place-items: center; color: #006d39; background: var(--green-soft); border-radius: 15px; }
.service-icon .icon { width: 27px; height: 27px; }
.service-main h2 { margin-bottom: 14px; font-size: clamp(30px,3vw,43px); }
.service-main p { max-width: 650px; margin-bottom: 0; color: var(--muted-dark); }
.service-details { display: grid; gap: 12px; padding-top: 12px; }
.service-details span { display: flex; gap: 9px; color: #415047; font-size: 13px; font-weight: 700; }
.service-details .icon { color: #00a857; margin-top: 3px; }
.compliance-panel { display: grid; grid-template-columns: 100px 1fr; gap: 45px; align-items: center; max-width: 980px; padding: 45px; border: 1px solid rgba(0,230,118,.22); border-radius: 25px; background: linear-gradient(140deg,rgba(0,230,118,.07),rgba(255,255,255,.025)); }
.compliance-icon { width: 90px; height: 90px; display: grid; place-items: center; color: var(--green); border-radius: 22px; background: rgba(0,230,118,.08); }
.compliance-icon .icon { width: 44px; height: 44px; }
.compliance-panel h2 { margin-bottom: 16px; font-size: clamp(34px,4vw,55px); }
.compliance-panel p { margin-bottom: 0; color: #9ca9a1; }

/* Methodology */
.methodology-timeline { max-width: 1020px; }
.method-step { display: grid; grid-template-columns: 80px 1px 1fr; gap: 36px; min-height: 360px; }
.method-number { width: 74px; height: 74px; display: grid; place-items: center; color: #006738; background: #d8f9e8; border: 1px solid rgba(0,160,80,.18); border-radius: 50%; font-family: var(--font-display); font-size: 19px; font-weight: 700; }
.method-line { width: 1px; height: 100%; background: linear-gradient(rgba(0,167,84,.45), rgba(0,167,84,.08)); }
.method-step:last-child .method-line { background: linear-gradient(rgba(0,167,84,.45), transparent); }
.method-content { padding-bottom: 70px; }
.method-content > span { color: #008c49; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.method-content h2 { margin: 10px 0 18px; font-size: clamp(34px,4vw,52px); }
.method-content > p { max-width: 740px; color: var(--muted-dark); font-size: 17px; }
.method-content ul { grid-template-columns: repeat(3,auto); justify-content: start; column-gap: 28px; }
.principle-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: center; }
.principle-lead p { color: #9aa79f; font-size: 17px; }
.principle-list { display: grid; gap: 12px; }
.principle-list > div { display: grid; grid-template-columns: 48px 1fr; gap: 17px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.03); }
.principle-list > div > .icon { width: 28px; height: 28px; color: var(--green); }
.principle-list strong, .principle-list small { display: block; }
.principle-list strong { font-family: var(--font-display); font-size: 19px; }
.principle-list small { margin-top: 6px; color: #8e9c93; }

/* Partnerships */
.partner-fit-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.partner-fit-copy { position: sticky; top: 130px; }
.partner-fit-copy p { color: var(--muted-dark); font-size: 17px; }
.partner-fit-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 15px; }
.fit-card { min-height: 230px; padding: 26px; border: 1px solid var(--line-dark); border-radius: 18px; background: rgba(255,255,255,.55); }
.fit-card > .icon { width: 28px; height: 28px; margin-bottom: 52px; color: #00a657; }
.fit-card strong { font-family: var(--font-display); font-size: 21px; }
.fit-card p { margin: 12px 0 0; color: var(--muted-dark); font-size: 14px; }
.partner-process { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.partner-process article { min-height: 280px; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.025); }
.partner-process article > span { color: var(--green); font-family: var(--font-display); font-size: 12px; font-weight: 700; }
.partner-process h3 { margin: 78px 0 14px; }
.partner-process p { color: #8f9c94; font-size: 14px; }

/* Contact */
.contact-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 80px; align-items: start; }
.contact-aside { position: sticky; top: 120px; }
.contact-aside > p { color: var(--muted-dark); }
.contact-method { display: flex; align-items: center; gap: 15px; margin-top: 25px; }
.contact-method > div { width: 45px; height: 45px; display: grid; place-items: center; color: #00723b; background: var(--green-soft); border-radius: 13px; }
.contact-method small, .contact-method strong, .contact-method a { display: block; }
.contact-method small { color: #7c8981; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.contact-method a, .contact-method strong { color: #111a15; font-weight: 800; }
.contact-method a:hover { color: #008a49; }
.contact-expectations { display: grid; gap: 10px; margin-top: 42px; padding-top: 30px; border-top: 1px solid var(--line-dark); }
.contact-expectations > strong { margin-bottom: 6px; font-family: var(--font-display); }
.contact-expectations span { display: flex; align-items: center; gap: 8px; color: var(--muted-dark); font-size: 13px; font-weight: 700; }
.contact-expectations .icon { color: #00a857; }
.contact-form-wrap { padding: 38px; border: 1px solid var(--line-dark); border-radius: 24px; background: rgba(255,255,255,.7); box-shadow: 0 30px 80px rgba(13,44,27,.08); }
.form-status { margin-bottom: 24px; padding: 13px 16px; border-radius: 10px; font-size: 13px; font-weight: 700; }
.form-status.success { color: #006232; background: #d6f8e5; border: 1px solid #a7e9c6; }
.form-status.error { color: #812c28; background: #ffe7e5; border: 1px solid #f5b8b3; }
.contact-form { display: grid; gap: 22px; }
.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.contact-form label { display: grid; gap: 8px; color: #38443d; font-size: 12px; font-weight: 800; }
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%; color: #07100b; background: #f8faf9; border: 1px solid #cfd8d2; border-radius: 12px; outline: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.contact-form input, .contact-form select { height: 52px; padding: 0 15px; }
.contact-form textarea { min-height: 170px; padding: 14px 15px; resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { background: #fff; border-color: #00a959; box-shadow: 0 0 0 4px rgba(0,190,99,.1); }
.contact-form textarea::placeholder { color: #8a9690; }
.consent { grid-template-columns: 18px 1fr !important; align-items: start; gap: 10px !important; font-weight: 600 !important; line-height: 1.5; }
.consent input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: #00b95f; }
.consent a { color: #00783f; text-decoration: underline; }
.button-submit { justify-self: start; border: 0; }
.form-note { margin: -8px 0 0; color: #77837c; font-size: 11px; }
.honeypot { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }

/* Legal */
.legal-updated { display: block; margin-top: 24px; color: #708078; font-size: 12px; }
.legal-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 90px; align-items: start; }
.legal-toc { position: sticky; top: 120px; padding: 22px; border: 1px solid var(--line-dark); border-radius: 16px; background: rgba(255,255,255,.55); }
.legal-toc > strong { font-family: var(--font-display); font-size: 15px; }
.legal-toc nav { display: grid; margin-top: 16px; }
.legal-toc a { padding: 10px 0; border-top: 1px solid var(--line-dark); color: #56635b; font-size: 11px; line-height: 1.45; }
.legal-toc a:hover { color: #008245; }
.legal-content { max-width: 790px; }
.legal-content > section { scroll-margin-top: 110px; padding-bottom: 48px; margin-bottom: 48px; border-bottom: 1px solid var(--line-dark); }
.legal-content > section > span { color: #00a657; font-family: var(--font-display); font-size: 12px; font-weight: 700; }
.legal-content h2 { margin: 10px 0 22px; font-size: clamp(30px,3vw,42px); }
.legal-content p, .legal-content li { color: var(--muted-dark); }
.legal-content ul { padding-left: 22px; }
.legal-contact { padding: 24px; border-radius: 15px; background: #e2f8ec; }
.legal-contact p { margin: 6px 0 0; }
.legal-contact a { color: #006c38; font-weight: 800; }

/* Footer and cookie banner */
.site-footer { padding: 80px 0 25px; background: #020503; border-top: 1px solid var(--line); }
.footer-grid { display: grid; grid-template-columns: 1.5fr .7fr .85fr 1.1fr; gap: 54px; }
.footer-grid h2 { margin-bottom: 20px; color: #e8edea; font-family: var(--font-body); font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
.footer-grid ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 11px; }
.footer-grid li, .footer-grid p { color: #7f8c84; font-size: 12px; }
.footer-grid a:hover { color: var(--green); }
.footer-brand > p { max-width: 370px; margin: 23px 0 18px; }
.footer-email { display: inline-flex; align-items: center; gap: 9px; color: #c4cec8; font-size: 13px; font-weight: 700; }
.footer-company-data strong { color: #bfc9c3; }
.footer-disclaimer { margin-top: 18px; font-size: 10px !important; line-height: 1.6; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; margin-top: 54px; padding-top: 22px; border-top: 1px solid var(--line); }
.footer-bottom p { margin: 0; color: #58635d; font-size: 10px; letter-spacing: .04em; }
.cookie-banner {
  position: fixed; z-index: 900; left: 22px; right: 22px; bottom: 22px; max-width: 920px; margin-inline: auto;
  display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 20px 22px;
  color: #eaf0ec; background: rgba(8,16,11,.96); border: 1px solid rgba(255,255,255,.15); border-radius: 17px; box-shadow: 0 25px 90px rgba(0,0,0,.55); backdrop-filter: blur(16px);
}
.cookie-banner[hidden] { display: none; }
.cookie-copy strong { font-family: var(--font-display); }
.cookie-copy p { margin: 4px 0 0; color: #9aa69e; font-size: 11px; }
.cookie-copy a { color: var(--green); text-decoration: underline; }
.cookie-actions { display: flex; gap: 8px; flex: 0 0 auto; }

/* 404 */
.not-found { min-height: 100vh; display: grid; place-items: center; padding: calc(var(--header-h) + 50px) 0 70px; text-align: center; background: radial-gradient(circle at 50% 45%, rgba(0,230,118,.1), transparent 34%), var(--bg); }
.not-found-code { display: block; color: rgba(0,230,118,.28); font-family: var(--font-display); font-size: clamp(100px,24vw,280px); line-height: .72; font-weight: 700; }
.not-found h1 { margin: 38px 0 18px; font-size: clamp(40px,6vw,70px); }
.not-found p { max-width: 570px; margin-inline: auto; color: #9aa69f; }
.not-found .button { margin-top: 25px; }

/* Motion */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: .12s; }
@keyframes orbitPulse { 0%,100% { transform: scale(.96); opacity: .35; } 50% { transform: scale(1.03); opacity: .8; } }
@keyframes spin { to { transform: rotate(360deg); } }

/* Responsive */
@media (max-width: 1080px) {
  :root { --header-h: 74px; }
  .desktop-nav { display: none; }
  .mobile-menu-button { display: inline-flex; }
  .hero-home { min-height: auto; }
  .hero-layout { grid-template-columns: 1fr; gap: 60px; }
  .hero-copy { max-width: 850px; }
  .hero-visual { min-height: 500px; }
  .proof-bar { grid-template-columns: 1fr; }
  .proof-bar > div { justify-content: flex-start; }
  .value-grid, .partner-process { grid-template-columns: repeat(2,1fr); }
  .system-layout, .principle-grid { gap: 55px; }
  .cta-panel { grid-template-columns: 100px 1fr; }
  .cta-panel > .button { grid-column: 2; justify-self: start; }
  .footer-grid { grid-template-columns: 1.4fr .8fr .9fr; }
  .footer-company-data { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .section { padding: 82px 0; }
  .header-cta { display: none; }
  .hero-home { padding-top: calc(var(--header-h) + 26px); }
  .hero-layout { gap: 26px; padding-top: 0; }
  .hero-copy { padding-top: 0; }
  .hero-visual { min-height: 400px; }
  .performance-card { transform: none; }
  .orbit-one { width: 430px; height: 430px; }.orbit-two { width: 340px; height: 340px; }
  .split-heading, .system-layout, .story-layout, .global-layout, .principle-grid, .partner-fit-layout, .contact-layout, .legal-layout { grid-template-columns: 1fr; gap: 48px; }
  .section-heading > p { max-width: none; }
  .capability-grid { grid-template-columns: 1fr; }
  .channel-cloud { grid-template-columns: repeat(2,1fr); }
  .system-map { padding-left: 0; }
  .system-map::before { left: 27px; }
  .story-statement, .partner-fit-copy, .contact-aside, .legal-toc { position: static; }
  .global-visual { min-height: 440px; order: 2; }
  .global-copy { order: 1; }
  .service-row { grid-template-columns: 50px 1fr; }
  .service-index { grid-row: span 2; }
  .service-icon { grid-column: 2; }
  .service-main, .service-details { grid-column: 2; }
  .method-content ul { grid-template-columns: 1fr; }
  .contact-form-wrap { padding: 28px; }
  .legal-toc nav { grid-template-columns: repeat(2,1fr); gap: 0 20px; }
  .cta-panel { grid-template-columns: 1fr; gap: 24px; padding: 38px; }
  .cta-mark { display: none; }
  .cta-panel > .button { grid-column: 1; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .container, .container.narrow { width: min(calc(100% - 28px), var(--container)); }
  .brand-copy strong { font-size: 17px; }
  .brand-copy small { letter-spacing: .55em; }
  .language-button { height: 40px; }
  h1 { font-size: 48px; }
  h2 { font-size: 38px; }
  .hero-home { padding-top: calc(var(--header-h) + 18px); padding-bottom: 30px; min-height: auto; }
  .hero-lead { font-size: 17px; }
  .hero-actions .button { width: 100%; }
  .hero-visual { min-height: 390px; margin-inline: -3px; }
  .performance-card { padding: 18px; border-radius: 21px; }
  .performance-main { padding-top: 38px; }
  .performance-metrics div { padding: 10px; }
  .orbit-one { width: 360px; height: 360px; }.orbit-two { width: 290px; height: 290px; }
  .proof-bar { margin-top: 50px; }
  .proof-bar > div { display: grid; }
  .capability-card { min-height: 0; padding: 26px; }
  .card-icon { margin-bottom: 40px; }
  .channel-cloud, .value-grid, .partner-fit-grid, .partner-process, .form-grid, .footer-grid { grid-template-columns: 1fr; }
  .system-node { grid-template-columns: 48px 1fr; gap: 14px; padding: 14px; }
  .system-node > span { width: 48px; height: 48px; }
  .system-map::before { left: 24px; }
  .page-hero { padding-top: calc(var(--header-h) + 68px); padding-bottom: 70px; }
  .page-hero h1 { font-size: 48px; }
  .page-hero p { font-size: 17px; }
  .value-card { min-height: 240px; }
  .value-card h3 { margin-top: 56px; }
  .global-visual { min-height: 360px; }
  .ring-a { width: 270px; height: 270px; }.ring-b { width: 350px; height: 350px; }
  .globe-core { width: 125px; height: 125px; }
  .service-row { grid-template-columns: 38px 1fr; gap: 17px; }
  .service-icon { width: 50px; height: 50px; }
  .service-details { padding-top: 0; }
  .compliance-panel { grid-template-columns: 1fr; padding: 28px; }
  .method-step { grid-template-columns: 55px 1px 1fr; gap: 17px; min-height: 330px; }
  .method-number { width: 54px; height: 54px; }
  .partner-process article { min-height: 225px; }
  .partner-process h3 { margin-top: 48px; }
  .contact-form-wrap { padding: 20px; }
  .legal-toc nav { grid-template-columns: 1fr; }
  .cta-panel { padding: 30px 24px; }
  .footer-brand, .footer-company-data { grid-column: auto; }
  .footer-bottom { display: grid; }
  .cookie-banner { left: 10px; right: 10px; bottom: 10px; display: grid; gap: 16px; padding: 18px; }
  .cookie-actions { display: grid; grid-template-columns: repeat(2,1fr); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* =========================================================
   Gaucho Labs v2 — expanded media / native / markets system
   ========================================================= */
.desktop-nav { gap: clamp(18px, 1.75vw, 30px); }
.desktop-nav a { font-size: 12.5px; white-space: nowrap; }
.text-link-light { color: #a9ffcf; }
.text-link-light:hover { color: #fff; }

/* Home — Native spotlight */
.section-native-spotlight {
  background:
    radial-gradient(circle at 18% 50%, rgba(0,230,118,.13), transparent 30%),
    linear-gradient(125deg, #020704 0%, #06110b 52%, #020604 100%);
  color: var(--ink);
  overflow: hidden;
}
.section-native-spotlight::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.18;
  background-image: linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px; mask-image:linear-gradient(90deg,#000,transparent 72%);
}
.home-native-layout { position:relative; display:grid; grid-template-columns:minmax(420px,.92fr) minmax(0,1.08fr); gap:92px; align-items:center; }
.home-native-visual { position:relative; min-height:520px; display:grid; place-items:center; }
.native-orbit { position:absolute; border-radius:50%; border:1px solid rgba(0,230,118,.18); box-shadow:0 0 80px rgba(0,230,118,.035) inset; }
.native-orbit-a { width:470px; height:470px; }
.native-orbit-b { width:350px; height:350px; border-style:dashed; transform:rotate(20deg); }
.native-card-stack { position:relative; z-index:2; width:min(100%,400px); height:360px; perspective:1200px; }
.native-stack-card { position:absolute; width:330px; border-radius:22px; border:1px solid rgba(255,255,255,.13); box-shadow:0 34px 90px rgba(0,0,0,.45); }
.native-stack-back { height:190px; left:10px; top:20px; padding:25px; background:#0b1710; transform:rotate(-10deg); opacity:.5; }
.native-stack-back span { display:block; height:9px; margin:12px 0; border-radius:999px; background:rgba(255,255,255,.11); }
.native-stack-back span:nth-child(2){width:78%}.native-stack-back span:nth-child(3){width:54%}
.native-stack-mid { height:210px; right:2px; top:73px; padding:18px; display:grid; grid-template-columns:88px 1fr; gap:16px; background:#101e16; transform:rotate(7deg); opacity:.8; }
.native-thumb { border-radius:13px; background:linear-gradient(145deg,rgba(0,230,118,.5),#0a5a34 60%,#04160d); }
.native-stack-mid span { display:block; height:8px; margin:11px 0; border-radius:999px; background:rgba(255,255,255,.13); }
.native-stack-mid span:nth-child(2){width:84%}.native-stack-mid span:nth-child(3){width:62%}
.native-stack-front { left:35px; bottom:0; min-height:235px; padding:24px; background:linear-gradient(155deg,#121f18,#07100b); transform:rotate(-2deg); }
.native-stack-front small { color:var(--green); font-size:9px; font-weight:900; letter-spacing:.18em; }
.native-stack-image { height:84px; margin:15px 0 19px; border-radius:15px; display:grid; place-items:center; color:var(--green); background:linear-gradient(120deg,rgba(0,230,118,.18),rgba(255,255,255,.025)); border:1px solid rgba(0,230,118,.2); }
.native-stack-image .icon { width:34px; height:34px; }
.native-stack-front strong { display:block; font-family:var(--font-display); font-size:18px; letter-spacing:.02em; }
.native-stack-front p { margin:7px 0 0; color:#839188; font-size:11px; }
.home-native-copy h2 { max-width:720px; margin-bottom:26px; }
.home-native-copy > p { max-width:690px; color:#aab6af; font-size:18px; }
.native-feature-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; margin:30px 0; }
.native-feature-points span { display:flex; gap:9px; align-items:flex-start; color:#bec8c2; font-size:12px; font-weight:700; }
.native-feature-points .icon { margin-top:3px; color:var(--green); }

/* Home — corporate identity */
.home-company-section { overflow:hidden; }
.home-company-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(370px,.72fr); gap:80px; align-items:start; }
.home-company-copy > p { max-width:750px; color:var(--muted-dark); font-size:18px; }
.partner-type-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:34px; }
.partner-type-grid > div { min-height:126px; padding:20px; border:1px solid var(--line-dark); border-radius:15px; background:rgba(255,255,255,.55); }
.partner-type-grid strong { display:block; margin-bottom:8px; font-family:var(--font-display); font-size:15px; letter-spacing:-.02em; }
.partner-type-grid span { display:block; color:#68766e; font-size:12px; line-height:1.55; }
.company-identity-card { padding:29px; border:1px solid #c9d7ce; border-radius:24px; background:linear-gradient(155deg,#fff,#edf4ef); box-shadow:0 25px 70px rgba(16,46,29,.12); }
.company-card-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:22px; border-bottom:1px solid var(--line-dark); }
.company-card-top img { width:74px; height:auto; filter:drop-shadow(0 8px 14px rgba(0,0,0,.1)); }
.company-card-top span { padding:7px 10px; border-radius:999px; background:#dff7ea; color:#08703c; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.company-identity-card dl { margin:10px 0 22px; }
.company-identity-card dl > div { padding:14px 0; border-bottom:1px solid rgba(7,16,11,.09); }
.company-identity-card dt { margin-bottom:3px; color:#79877f; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.company-identity-card dd { margin:0; color:#101b14; font-size:12px; font-weight:800; line-height:1.45; }

/* About — corporate profile */
.company-profile-section { background:linear-gradient(140deg,#e8f0eb,#fff 48%,#e4eee8); }
.company-profile-layout { display:grid; grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr); gap:82px; align-items:center; }
.company-profile-copy p { color:var(--muted-dark); font-size:18px; }
.company-profile-card { overflow:hidden; border:1px solid #cad7cf; border-radius:24px; background:#fff; box-shadow:0 28px 80px rgba(15,48,28,.1); }
.company-profile-card > div { display:grid; grid-template-columns:150px 1fr; gap:22px; padding:18px 22px; border-bottom:1px solid var(--line-dark); }
.company-profile-card > div:last-child { border-bottom:0; }
.company-profile-card span { color:#728078; font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.company-profile-card strong, .company-profile-card a { color:#142018; font-size:13px; font-weight:800; word-break:break-word; }
.company-profile-card a:hover { color:#008c49; }

/* Expertise links */
.expertise-feature-links { padding-top:0; }
.feature-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.feature-link-card { position:relative; overflow:hidden; min-height:280px; padding:34px; border:1px solid rgba(255,255,255,.12); border-radius:22px; background:linear-gradient(145deg,#0e1b14,#07100b); transition:transform .25s ease,border-color .25s ease; }
.feature-link-card::after { content:""; position:absolute; right:-70px; bottom:-90px; width:220px; height:220px; border-radius:50%; background:rgba(0,230,118,.1); filter:blur(18px); }
.feature-link-card:hover { transform:translateY(-4px); border-color:rgba(0,230,118,.35); }
.feature-link-card > span { color:var(--green); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.feature-link-card h3 { margin:40px 0 15px; font-size:34px; }
.feature-link-card p { max-width:560px; color:#95a39a; font-size:14px; }
.feature-link-card .text-link-light { position:absolute; left:34px; bottom:31px; z-index:2; }

/* Partnerships expansion */
.partnership-audiences-section { background:#f4f7f5; }
.partnership-audience-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:46px; }
.partnership-audience-grid article { min-height:230px; padding:25px; border:1px solid var(--line-dark); border-radius:18px; background:#fff; }
.partnership-audience-grid .card-icon { margin:0 0 48px; }
.partnership-audience-grid h3 { margin-bottom:12px; font-size:20px; }
.partnership-audience-grid p { margin:0; color:#66736b; font-size:12px; }
.platform-partner-section { background:radial-gradient(circle at 90% 20%,rgba(0,230,118,.13),transparent 28%),#030705; }
.platform-partner-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:80px; align-items:center; }
.platform-partner-copy p { max-width:690px; color:#9dab9f; font-size:18px; }
.platform-partner-list { display:grid; gap:11px; }
.platform-partner-list > div { display:flex; gap:14px; padding:19px 20px; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:rgba(255,255,255,.035); }
.platform-partner-list > div > .icon { margin-top:3px; color:var(--green); }
.platform-partner-list strong { display:block; color:#e9eeeb; font-size:13px; }
.platform-partner-list small { display:block; margin-top:4px; color:#78877e; font-size:11px; line-height:1.5; }
.partner-process-light article { border-color:var(--line-dark); background:rgba(255,255,255,.55); color:var(--dark); }
.partner-process-light article > span { color:#05914c; }
.partner-process-light article p { color:#66736b; }

/* New page hero accents */
.page-hero-media::after, .native-hero::after, .markets-hero::after {
  content:""; position:absolute; width:680px; height:680px; right:-260px; top:-320px; border-radius:50%; background:var(--green); opacity:.09; filter:blur(120px); pointer-events:none;
}
.page-hero .hero-actions { justify-content:center; }

/* Media page */
.media-model-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:48px; }
.media-model-card { position:relative; min-height:385px; padding:24px; border:1px solid var(--line-dark); border-radius:18px; background:#fff; transition:transform .25s ease,box-shadow .25s ease; }
.media-model-card:hover { transform:translateY(-4px); box-shadow:0 20px 55px rgba(25,55,38,.1); }
.media-model-icon { width:52px; height:52px; display:grid; place-items:center; margin-bottom:48px; border-radius:14px; color:#087b42; background:#e1f8ec; }
.media-model-icon .icon { width:23px; height:23px; }
.media-model-kicker { display:block; margin-bottom:7px; color:#028847; font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.media-model-card h3 { margin-bottom:12px; font-size:22px; }
.media-model-card p { color:#65726a; font-size:12px; }
.media-model-card ul { list-style:none; padding:0; margin:20px 0 0; display:grid; gap:8px; }
.media-model-card li { display:flex; gap:7px; color:#48574e; font-size:10px; font-weight:700; }
.media-model-card li .icon { color:#00a657; margin-top:3px; }
.native-feature-section { overflow:hidden; }
.native-feature-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(520px,1.15fr); gap:80px; align-items:center; }
.native-feature-copy > p { max-width:650px; color:#a1aea6; font-size:18px; }
.native-feed-demo { overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:23px; background:#edf2ef; color:#101913; box-shadow:0 32px 100px rgba(0,0,0,.42); transform:rotate(1deg); }
.native-demo-bar { height:54px; display:flex; align-items:center; gap:7px; padding:0 18px; background:#111a15; color:#c9d1cc; }
.native-demo-bar > span { width:7px; height:7px; border-radius:50%; background:#354239; }
.native-demo-bar small { margin-left:auto; font-size:8px; font-weight:800; letter-spacing:.12em; }
.native-demo-content { display:grid; grid-template-columns:1fr 150px; min-height:390px; }
.native-demo-main { padding:28px; }
.native-demo-category { color:#058347; font-size:9px; font-weight:900; letter-spacing:.14em; }
.native-demo-image { position:relative; height:165px; margin:15px 0 22px; overflow:hidden; border-radius:15px; background:radial-gradient(circle at 66% 44%,rgba(0,230,118,.4),transparent 17%),linear-gradient(145deg,#102a1c,#06150d); }
.native-demo-image-grid { position:absolute; inset:0; opacity:.2; background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px); background-size:28px 28px; }
.native-demo-signal { position:absolute; left:50%; top:50%; width:58px; height:58px; margin:-29px; display:grid; place-items:center; border-radius:50%; color:var(--green); background:rgba(0,0,0,.45); border:1px solid rgba(0,230,118,.35); }
.native-demo-signal .icon { width:27px; height:27px; }
.native-demo-main h3 { margin-bottom:10px; font-size:24px; line-height:1.12; }
.native-demo-main p { color:#68766d; font-size:12px; }
.native-demo-main > small { color:#89948e; font-size:9px; }
.native-demo-side { padding:18px; display:grid; align-content:start; gap:10px; background:#e3ebe6; border-left:1px solid rgba(7,16,11,.08); }
.native-demo-side div { padding:14px 10px; border-radius:11px; background:rgba(255,255,255,.72); }
.native-demo-side span { display:block; color:#7c8981; font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.native-demo-side strong { display:block; margin-top:4px; font-size:11px; }
.media-matrix { overflow:hidden; border:1px solid #cad6ce; border-radius:19px; background:#fff; }
.media-matrix article { display:grid; grid-template-columns:220px 180px 1fr; gap:22px; align-items:center; padding:20px 24px; border-bottom:1px solid var(--line-dark); }
.media-matrix article:last-child { border-bottom:0; }
.media-matrix article > div { display:grid; }
.media-matrix strong { font-family:var(--font-display); font-size:17px; }
.media-matrix small { color:#7c8981; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.media-matrix article > span { justify-self:start; padding:6px 9px; border-radius:999px; background:#e3f7ec; color:#087541; font-size:9px; font-weight:800; }
.media-matrix p { margin:0; color:#637168; font-size:12px; }
.creative-destination-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr); gap:90px; align-items:center; }
.creative-destination-copy > p { color:#627067; font-size:18px; }
.journey-stack { display:grid; gap:10px; }
.journey-stack > div { display:grid; grid-template-columns:52px 150px 1fr; gap:18px; align-items:center; padding:18px 20px; border:1px solid var(--line-dark); border-radius:14px; background:#fff; }
.journey-stack > div > span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:#04733d; background:#ddf5e8; font-family:var(--font-display); font-size:11px; font-weight:800; }
.journey-stack strong { font-family:var(--font-display); font-size:15px; }
.journey-stack small { color:#748178; font-size:11px; line-height:1.5; }

/* Native page */
.native-philosophy-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(470px,1.15fr); gap:86px; align-items:center; }
.native-philosophy-copy p { color:#627067; font-size:18px; }
.native-philosophy-cards { display:grid; gap:11px; }
.native-philosophy-cards article { display:grid; grid-template-columns:48px 1fr; gap:17px; padding:20px; border:1px solid var(--line-dark); border-radius:16px; background:#fff; }
.native-philosophy-cards article > span { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; color:#078045; background:#dff7ea; }
.native-philosophy-cards strong { font-family:var(--font-display); font-size:15px; }
.native-philosophy-cards p { margin:5px 0 0; color:#6a786f; font-size:11px; }
.native-system-section { overflow:hidden; }
.native-system-flow { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1px; margin-top:56px; border:1px solid rgba(255,255,255,.1); border-radius:20px; overflow:hidden; background:rgba(255,255,255,.1); }
.native-system-flow article { min-height:300px; padding:23px 19px; background:#07100b; }
.native-system-flow article > span { color:#506059; font-family:var(--font-display); font-size:10px; font-weight:800; }
.native-flow-icon { width:48px; height:48px; display:grid; place-items:center; margin:50px 0 23px; border-radius:14px; color:var(--green); background:rgba(0,230,118,.09); border:1px solid rgba(0,230,118,.15); }
.native-system-flow h3 { margin-bottom:10px; font-size:18px; }
.native-system-flow p { margin:0; color:#809087; font-size:11px; }
.native-capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:44px; }
.native-capability-card { min-height:330px; padding:27px; border:1px solid var(--line-dark); border-radius:18px; background:#fff; }
.native-capability-card .card-icon { margin:0 0 42px; }
.native-capability-card h3 { margin-bottom:12px; font-size:22px; }
.native-capability-card > p { color:#65736a; font-size:12px; }
.native-capability-card ul { list-style:none; padding:0; margin:20px 0 0; display:grid; gap:8px; }
.native-capability-card li { display:flex; gap:8px; color:#4f5c54; font-size:10px; font-weight:700; }
.native-capability-card li .icon { color:#05a758; margin-top:2px; }
.native-manager-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(450px,1.15fr); gap:85px; align-items:center; }
.native-manager-copy p { color:#66736b; font-size:18px; }
.native-manager-list { display:grid; gap:10px; }
.native-manager-list > div { display:flex; gap:15px; padding:18px 20px; border:1px solid var(--line-dark); border-radius:14px; background:rgba(255,255,255,.72); }
.native-manager-list > div > .icon { color:#02994f; margin-top:3px; }
.native-manager-list strong { display:block; font-size:13px; }
.native-manager-list small { display:block; margin-top:4px; color:#6f7c74; font-size:11px; }
.compliance-panel { display:grid; grid-template-columns:92px 1fr; gap:35px; align-items:center; padding:46px; border:1px solid rgba(255,255,255,.12); border-radius:24px; background:linear-gradient(135deg,rgba(0,230,118,.08),rgba(255,255,255,.025)); }
.compliance-icon { width:82px; height:82px; display:grid; place-items:center; border-radius:20px; color:var(--green); background:rgba(0,230,118,.1); }
.compliance-icon .icon { width:37px; height:37px; }
.compliance-panel h2 { margin-bottom:16px; }
.compliance-panel p { margin:0; max-width:900px; color:#94a298; font-size:15px; }

/* Markets page */
.markets-snapshot-section { padding-top:70px; padding-bottom:70px; }
.market-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.market-stat-grid article { min-height:200px; padding:25px; border:1px solid var(--line-dark); border-radius:18px; background:#fff; }
.market-stat-grid strong { display:block; color:#078044; font-family:var(--font-display); font-size:36px; letter-spacing:-.05em; }
.market-stat-grid span { display:block; margin:7px 0 22px; color:#1b281f; font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.market-stat-grid p { margin:0; color:#6c7971; font-size:11px; }
.markets-map-layout { display:grid; grid-template-columns:minmax(500px,1.1fr) minmax(0,.9fr); gap:82px; align-items:center; }
.markets-map { position:relative; min-height:500px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:28px; background:radial-gradient(circle at 56% 44%,rgba(0,230,118,.15),transparent 22%),linear-gradient(140deg,#07110b,#030705); }
.markets-map-grid { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:36px 36px; }
.market-continent { position:absolute; color:rgba(255,255,255,.14); font-family:var(--font-display); font-size:30px; font-weight:700; letter-spacing:.08em; }
.market-americas{left:7%;top:47%}.market-europe{left:48%;top:31%}.market-asia{right:8%;top:51%}
.market-dot { position:absolute; width:10px; height:10px; border:2px solid #052312; border-radius:50%; background:var(--green); box-shadow:0 0 0 6px rgba(0,230,118,.1),0 0 25px rgba(0,230,118,.7); }
.md-1{left:16%;top:35%}.md-2{left:23%;top:58%}.md-3{left:34%;top:71%}.md-4{left:51%;top:36%}.md-5{left:57%;top:42%}.md-6{left:68%;top:49%}.md-7{right:20%;top:61%}.md-8{right:12%;top:39%}
.markets-map-copy > p { color:#9ba9a0; font-size:17px; }
.region-list { display:grid; gap:9px; margin-top:28px; }
.region-list div { padding:14px 0; border-top:1px solid rgba(255,255,255,.1); }
.region-list strong { display:block; color:#e3e9e5; font-size:12px; }
.region-list span { display:block; margin-top:4px; color:#718078; font-size:10px; }
.localization-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:45px; }
.localization-card { min-height:255px; padding:26px; border:1px solid var(--line-dark); border-radius:18px; background:#fff; }
.localization-card > div { width:50px; height:50px; display:grid; place-items:center; margin-bottom:55px; border-radius:14px; color:#058149; background:#e0f7eb; }
.localization-card h3 { margin-bottom:11px; font-size:20px; }
.localization-card p { margin:0; color:#69766e; font-size:11px; }
.market-evaluation-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(500px,1.22fr); gap:90px; align-items:center; }
.market-evaluation-copy > p { color:#647168; font-size:18px; }
.market-evaluation-list { overflow:hidden; border:1px solid #cbd8d0; border-radius:18px; background:rgba(255,255,255,.72); }
.market-evaluation-list > div { display:grid; grid-template-columns:46px 180px 1fr; gap:14px; align-items:center; padding:18px 20px; border-bottom:1px solid var(--line-dark); }
.market-evaluation-list > div:last-child { border-bottom:0; }
.market-evaluation-list > div > span { color:#04944e; font-family:var(--font-display); font-size:10px; font-weight:800; }
.market-evaluation-list strong { font-family:var(--font-display); font-size:13px; }
.market-evaluation-list small { color:#748178; font-size:10px; line-height:1.5; }

/* Expanded responsive behavior */
@media (max-width: 1180px) {
  .media-model-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .media-model-card:nth-child(n+4) { min-height:330px; }
  .native-system-flow { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .partnership-audience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .home-native-layout,.home-company-layout,.company-profile-layout,.platform-partner-layout,.native-feature-layout,.creative-destination-layout,.native-philosophy-layout,.native-manager-layout,.markets-map-layout,.market-evaluation-layout { grid-template-columns:1fr; gap:55px; }
  .home-native-visual { order:2; min-height:430px; }
  .home-native-copy { order:1; }
  .company-identity-card { max-width:680px; }
  .native-feed-demo { max-width:760px; transform:none; }
  .native-capability-grid,.localization-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .market-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .markets-map { min-height:460px; }
}
@media (max-width: 760px) {
  .native-feature-points,.partner-type-grid,.feature-link-grid { grid-template-columns:1fr; }
  .media-model-grid { grid-template-columns:1fr; }
  .media-model-card { min-height:0 !important; }
  .media-model-icon { margin-bottom:34px; }
  .native-system-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .native-capability-grid,.localization-grid,.partnership-audience-grid { grid-template-columns:1fr; }
  .media-matrix article { grid-template-columns:1fr; gap:8px; }
  .media-matrix article > span { margin:2px 0; }
  .journey-stack > div,.market-evaluation-list > div { grid-template-columns:45px 1fr; }
  .journey-stack small,.market-evaluation-list small { grid-column:2; }
  .company-profile-card > div { grid-template-columns:1fr; gap:5px; }
  .native-demo-content { grid-template-columns:1fr; }
  .native-demo-side { grid-template-columns:repeat(3,1fr); border-left:0; border-top:1px solid rgba(7,16,11,.08); }
  .compliance-panel { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .home-native-visual { min-height:380px; margin-inline:-8px; }
  .native-orbit-a { width:340px; height:340px; }
  .native-orbit-b { width:270px; height:270px; }
  .native-card-stack { width:340px; height:325px; transform:scale(.88); }
  .company-identity-card { padding:22px; }
  .company-card-top { align-items:flex-start; }
  .feature-link-card { min-height:300px; padding:27px; }
  .feature-link-card .text-link-light { left:27px; }
  .native-system-flow { grid-template-columns:1fr; }
  .native-system-flow article { min-height:235px; }
  .native-flow-icon { margin:30px 0 20px; }
  .market-stat-grid { grid-template-columns:1fr; }
  .markets-map { min-height:340px; margin-inline:-4px; }
  .market-continent { font-size:19px; }
  .native-demo-main { padding:20px; }
  .native-demo-side { grid-template-columns:1fr; }
  .journey-stack > div,.market-evaluation-list > div { padding:15px; }
  .partnership-audience-grid article { min-height:200px; }
}

/* --- V3 interface enhancements --- */
html { scrollbar-width: thin; scrollbar-color: var(--green) #07100b; }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: #06100b; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, rgba(0,230,118,.88), rgba(0,189,99,.88)); border-radius: 999px; border: 2px solid #06100b; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #34f693, #00c769); }


.hero::before,
.page-hero::before,
.section-dark::before,
.section-light::before,
.section-system::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 38px 38px;
  opacity: .18;
  mask-image: linear-gradient(180deg, transparent, rgba(0,0,0,.9) 8%, rgba(0,0,0,.9) 92%, transparent);
}
.hero > *,
.page-hero > *,
.section > * { position: relative; z-index: 1; }

.capability-card,
.channel-pill,
.performance-card,
.company-identity-card,
.media-model-card,
.native-capability-card,
.native-system-flow article,
.partnership-audience-grid article,
.fit-card,
.platform-partner-list > div,
.market-stat-grid article,
.localization-card,
.system-node,
.globe-info-card,
.region-filter,
.country-chip,
.globe-region-summary article,
.home-global-stats article,
.home-region-cloud > div,
.cta-panel,
.native-feed-demo,
.feature-link-card,
.company-profile-card,
.value-card {
  position: relative;
  overflow: hidden;
}
.capability-card::after,
.channel-pill::after,
.company-identity-card::after,
.media-model-card::after,
.native-capability-card::after,
.native-system-flow article::after,
.fit-card::after,
.platform-partner-list > div::after,
.market-stat-grid article::after,
.localization-card::after,
.system-node::after,
.globe-info-card::after,
.home-global-stats article::after,
.home-region-cloud > div::after,
.cta-panel::after {
  content: "";
  position: absolute;
  inset: -1px;
  opacity: 0;
  background: radial-gradient(200px circle at var(--spot-x, 50%) var(--spot-y, 50%), rgba(0,230,118,.18), transparent 45%);
  transition: opacity .3s ease;
  pointer-events: none;
}
.capability-card:hover::after,
.channel-pill:hover::after,
.company-identity-card:hover::after,
.media-model-card:hover::after,
.native-capability-card:hover::after,
.native-system-flow article:hover::after,
.fit-card:hover::after,
.platform-partner-list > div:hover::after,
.market-stat-grid article:hover::after,
.localization-card:hover::after,
.system-node:hover::after,
.globe-info-card:hover::after,
.home-global-stats article:hover::after,
.home-region-cloud > div:hover::after,
.cta-panel:hover::after { opacity: 1; }

.hero-home .hero-copy h1 em {
  display: inline-block;
  font-style: normal;
  color: var(--green);
  text-shadow: 0 0 22px rgba(0,230,118,.18);
}
.hero-home .hero-copy h1 { max-width: 12ch; }
.hero-tags span,
.channel-pill,
.capability-card,
.button,
.region-filter,
.country-chip,
.globe-dot { transition: transform .28s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease, opacity .25s ease; }

.signal-strip {
  position: relative;
  margin-top: 28px;
  padding: 14px 0 2px;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.07);
}
.signal-strip::before,
.signal-strip::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0; width: 120px; z-index: 2;
  pointer-events: none;
}
.signal-strip::before { left: 0; background: linear-gradient(90deg, rgba(3,7,5,1), rgba(3,7,5,0)); }
.signal-strip::after { right: 0; background: linear-gradient(270deg, rgba(3,7,5,1), rgba(3,7,5,0)); }
.signal-strip-track {
  display: flex;
  width: max-content;
  gap: 16px;
  animation: signalMarquee 28s linear infinite;
}
.signal-strip-track span {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035); color: #d9e2dc; font-size: 12px; font-weight: 700; letter-spacing: .03em;
  white-space: nowrap;
}
.signal-strip-track span::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--green);
  box-shadow: 0 0 0 5px rgba(0,230,118,.08), 0 0 10px rgba(0,230,118,.4);
}
@keyframes signalMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes globeFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes globeSheen { 0% { transform: translateX(-24%); } 100% { transform: translateX(24%); } }

.home-global-section { background: linear-gradient(135deg, #f2f6f3 0%, #ffffff 40%, #edf5f0 100%); color: var(--dark); }
.home-global-layout { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: 68px; align-items: center; }
.home-global-copy p { color: var(--muted-dark); font-size: 18px; max-width: 670px; }
.home-global-copy .button { margin-top: 22px; }
.home-global-board {
  padding: 28px; border-radius: 28px; border: 1px solid rgba(7,16,11,.09);
  background: rgba(255,255,255,.88); box-shadow: 0 28px 70px rgba(6,30,17,.08);
}
.home-global-stats { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.home-global-stats article {
  min-height: 132px; padding: 22px; border-radius: 18px; border: 1px solid rgba(7,16,11,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(239,247,242,.88));
}
.home-global-stats strong,
.home-global-stats span { display: block; }
.home-global-stats strong { font-family: var(--font-display); font-size: clamp(30px, 3.1vw, 42px); color: #052815; line-height: 1; }
.home-global-stats span { margin-top: 10px; color: #5f6d65; font-size: 13px; font-weight: 700; }
.home-region-cloud { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.home-region-cloud > div {
  padding: 18px; border-radius: 18px; border: 1px solid rgba(7,16,11,.08);
  background: rgba(245,249,246,.96);
}
.home-region-cloud strong { display: block; margin-bottom: 8px; font-family: var(--font-display); font-size: 18px; }
.home-region-cloud p { margin: 0; color: #66736b; font-size: 12px; line-height: 1.6; }

.globe-portfolio-section { background: radial-gradient(circle at 50% 20%, rgba(0,230,118,.08), transparent 28%), linear-gradient(180deg, #040906 0%, #07110b 55%, #050a07 100%); }
.globe-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 28px; align-items: start; }
.globe-stage,
.globe-sidebar {
  padding: 28px; border-radius: 28px; border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(10,18,14,.82), rgba(7,12,9,.92));
  box-shadow: 0 24px 70px rgba(0,0,0,.34);
}
.globe-stage { position: sticky; top: 110px; }
.globe-shell {
  position: relative; display: grid; place-items: center;
  min-height: 560px; padding: 24px; isolation: isolate;
}
.globe-aura {
  position: absolute; width: 88%; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,230,118,.18) 0%, rgba(0,230,118,.08) 35%, transparent 70%);
  filter: blur(10px); animation: globeFloat 7s ease-in-out infinite;
}
.globe-planet {
  position: relative; width: min(100%, 520px); aspect-ratio: 1; overflow: hidden;
  border-radius: 50%; border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 36% 30%, rgba(255,255,255,.08), transparent 20%),
    radial-gradient(circle at 50% 50%, rgba(0,230,118,.12), rgba(2,8,5,.1) 62%, rgba(2,5,4,.95) 100%),
    linear-gradient(135deg, #0a1812 0%, #07110b 48%, #020705 100%);
  box-shadow: inset -30px -40px 80px rgba(0,0,0,.3), inset 24px 30px 70px rgba(255,255,255,.03), 0 45px 85px rgba(0,0,0,.35);
  animation: globeFloat 7s ease-in-out infinite;
}
.globe-planet::before,
.globe-planet::after {
  content: "";
  position: absolute; inset: 0; border-radius: 50%; pointer-events: none;
}
.globe-planet::before {
  background:
    radial-gradient(circle at 50% 50%, transparent 55%, rgba(0,0,0,.22) 80%, rgba(0,0,0,.6) 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 56px);
  mix-blend-mode: screen;
}
.globe-planet::after {
  background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,.1) 30%, transparent 60%);
  transform: translateX(-12%);
  animation: globeSheen 6.5s ease-in-out infinite alternate;
}
.globe-latitude,
.globe-longitude {
  position: absolute; left: 50%; top: 50%; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; transform: translate(-50%, -50%);
}
.globe-latitude.lat-1 { width: 74%; height: 74%; }
.globe-latitude.lat-2 { width: 88%; height: 52%; }
.globe-latitude.lat-3 { width: 96%; height: 26%; }
.globe-longitude.lon-1 { width: 34%; height: 96%; }
.globe-longitude.lon-2 { width: 58%; height: 96%; }
.globe-longitude.lon-3 { width: 82%; height: 96%; }
.continent-blob {
  position: absolute; display: block; border-radius: 44% 56% 52% 48% / 42% 38% 62% 58%;
  background: linear-gradient(180deg, rgba(37,255,146,.38), rgba(0,148,78,.22));
  border: 1px solid rgba(0,230,118,.18); filter: blur(.25px); opacity: .62;
}
.continent-americas { left: 13%; top: 22%; width: 22%; height: 48%; transform: rotate(12deg); }
.continent-europe-africa { left: 45%; top: 20%; width: 16%; height: 46%; transform: rotate(-6deg); }
.continent-asia { left: 60%; top: 24%; width: 23%; height: 28%; transform: rotate(3deg); }
.continent-oceania { left: 75%; top: 71%; width: 10%; height: 7%; transform: rotate(8deg); }
.globe-dot {
  position: absolute; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%);
  width: 14px; height: 14px; margin: -7px 0 0 -7px; padding: 0; border: 0;
  border-radius: 50%; background: #b4ffd4; box-shadow: 0 0 0 0 rgba(0,230,118,.0);
  cursor: pointer;
}
.globe-dot::before,
.globe-dot::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
}
.globe-dot::before { background: var(--green); box-shadow: 0 0 14px rgba(0,230,118,.85); }
.globe-dot::after { inset: -7px; border: 1px solid rgba(0,230,118,.22); opacity: .55; }
.globe-dot:hover,
.globe-dot.is-active { transform: scale(1.3); }
.globe-dot.is-muted { opacity: .18; }
.globe-dot.is-active::after { animation: pulseRing 1.8s ease-out infinite; }
@keyframes pulseRing {
  0% { transform: scale(.65); opacity: .85; }
  100% { transform: scale(1.8); opacity: 0; }
}
.globe-info-card {
  margin-top: 24px; padding: 22px; border-radius: 22px; border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
}
.globe-info-card small,
.globe-info-card p { color: #9faea5; }
.globe-info-card strong[data-globe-title] {
  display: block; margin: 6px 0 12px; font-family: var(--font-display); font-size: clamp(28px, 3vw, 40px); letter-spacing: -.04em;
}
.globe-info-card p { margin: 0; font-size: 14px; line-height: 1.7; }
.globe-info-meta { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin-top: 20px; }
.globe-info-meta div { padding: 14px 15px; border-radius: 16px; border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.03); }
.globe-info-meta span,
.globe-info-meta strong { display: block; }
.globe-info-meta span { color: #7d8c84; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.globe-info-meta strong { margin-top: 8px; font-size: 13px; color: #e7efea; }
.globe-info-total { display: inline-flex; align-items: center; gap: 14px; margin-top: 20px; padding: 12px 16px; border-radius: 999px; background: rgba(0,230,118,.08); border: 1px solid rgba(0,230,118,.15); }
.globe-info-total span { font-family: var(--font-display); font-size: 28px; color: #ddffe9; line-height: 1; }
.globe-info-total small { color: #cce9d8; }
.globe-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.region-filter {
  min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.04); color: #dfe7e1; font-size: 12px; font-weight: 800; letter-spacing: .02em;
}
.region-filter:hover,
.region-filter.is-active { background: var(--green); color: #02210e; border-color: transparent; box-shadow: 0 12px 30px rgba(0,230,118,.18); }
.globe-region-summary { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.globe-region-summary article {
  padding: 18px; border-radius: 18px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.025);
}
.globe-region-summary article.is-muted { opacity: .3; }
.globe-region-summary strong,
.globe-region-summary span { display: block; }
.globe-region-summary strong { font-family: var(--font-display); font-size: 20px; }
.globe-region-summary span { margin-top: 6px; color: #8f9b95; font-size: 12px; }
.globe-country-panel {
  margin-top: 18px; padding: 20px; border-radius: 22px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.025);
}
.globe-country-panel-head strong { display: block; font-family: var(--font-display); font-size: 22px; }
.globe-country-panel-head p { margin: 10px 0 0; color: #95a49c; font-size: 13px; line-height: 1.7; }
.country-group + .country-group { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.07); }
.country-group.is-hidden { display: none; }
.country-group-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.country-group-head h3 { margin: 0; font-size: 16px; letter-spacing: -.02em; }
.country-group-head span { color: #8a9890; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.country-chip-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.country-chip {
  min-height: 42px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.03); color: #edf3ef; font-size: 12px; font-weight: 700;
}
.country-chip:hover,
.country-chip.is-active { transform: translateY(-2px); background: rgba(0,230,118,.12); border-color: rgba(0,230,118,.28); color: #d7ffe8; }
.country-chip.is-muted { opacity: .3; }
.globe-cta-card {
  margin-top: 18px; padding: 22px; border-radius: 22px; border: 1px solid rgba(0,230,118,.14);
  background: linear-gradient(140deg, rgba(0,230,118,.08), rgba(255,255,255,.03));
}
.globe-cta-card p { margin: 0 0 16px; color: #d8e6de; font-size: 15px; }

@media (max-width: 1180px) {
  .home-global-layout,
  .globe-layout { grid-template-columns: 1fr; }
  .globe-stage { position: relative; top: 0; }
}
@media (max-width: 980px) {
  .home-global-board,
  .globe-stage,
  .globe-sidebar { padding: 22px; }
  .globe-shell { min-height: 500px; }
}
@media (max-width: 760px) {
  .signal-strip { margin-top: 18px; }
  .signal-strip::before,
  .signal-strip::after { width: 44px; }
  .home-global-stats,
  .home-region-cloud,
  .globe-region-summary,
  .globe-info-meta { grid-template-columns: 1fr; }
  .globe-shell { min-height: 410px; padding: 12px; }
  .globe-planet { width: min(100%, 360px); }
  .globe-country-panel { padding: 18px; }
  .country-chip-grid { gap: 8px; }
}
@media (max-width: 560px) {
  .globe-shell { min-height: 330px; }
  .globe-dot { width: 12px; height: 12px; margin: -6px 0 0 -6px; }
  .region-filter,
  .country-chip { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .signal-strip-track,
  .globe-planet,
  .globe-aura,
  .globe-planet::after,
  .hero-copy,
  .hero-visual { animation: none !important; }
}

/* V3.2 refinements */
.desktop-nav { gap: 26px; }
.hero-home {
  min-height: 100svh;
  padding: calc(var(--header-h) + 24px) 0 24px;
}
.hero-layout {
  min-height: clamp(640px, 88vh, 860px);
  align-items: center;
  gap: 42px;
}
.hero-word {
  position: absolute; z-index: 0; font-family: var(--font-display); font-weight: 700;
  letter-spacing: -.06em; color: rgba(255,255,255,.03); pointer-events: none; user-select: none;
}
.hero-word-a { top: 108px; left: 4vw; font-size: clamp(70px, 10vw, 180px); }
.hero-word-b { right: 3vw; top: 34vh; font-size: clamp(56px, 7vw, 120px); }
.hero-word-c { left: 36vw; bottom: 95px; font-size: clamp(54px, 8vw, 150px); }
.hero-copy { max-width: 760px; }
.hero-copy h1 { max-width: 10.5ch; margin-bottom: 18px; }
.hero-rotator-wrap {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 20px;
  color: #d7dfda; font-size: clamp(16px, 1.65vw, 22px); font-weight: 600;
}
.hero-rotator {
  display: inline-flex; align-items: center; min-height: 1.35em; color: var(--green);
  text-shadow: 0 0 26px rgba(0,230,118,.18);
}
.hero-quick-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-top: 24px;
}
.hero-quick-card {
  position: relative; overflow: hidden; padding: 16px 16px 15px; border-radius: 18px;
  border: 1px solid rgba(255,255,255,.1); background: linear-gradient(155deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.hero-quick-card::after {
  content: ""; position: absolute; inset: auto -10% -35% auto; width: 120px; height: 120px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,230,118,.14), transparent 70%); pointer-events: none;
}
.hero-quick-card strong { display: block; color: #fff; font-family: var(--font-display); font-size: 21px; }
.hero-quick-card span { display: block; margin-top: 4px; color: #dfe5e1; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.hero-quick-card p { margin: 8px 0 0; color: #95a39a; font-size: 12px; line-height: 1.55; }
.hero-scroll-hint {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; color: #a6b1ab; font-size: 13px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .08em;
}
.hero-scroll-hint .icon { transform: rotate(90deg); color: var(--green); }
.hero-visual { min-height: 560px; }
.hero-float-card {
  position: absolute; z-index: 3; width: 230px; padding: 14px 15px; border-radius: 16px; border: 1px solid rgba(255,255,255,.1);
  background: rgba(10,16,13,.82); box-shadow: 0 18px 50px rgba(0,0,0,.24); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.hero-float-card small { display: block; color: #86f2b9; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.hero-float-card strong { display: block; margin-top: 6px; color: #fff; font-size: 15px; }
.hero-float-card span { display: block; margin-top: 8px; color: #92a198; font-size: 11px; line-height: 1.5; }
.hero-float-search { left: -8px; top: 72px; animation: floatCardA 5s ease-in-out infinite; }
.hero-float-native { right: -6px; bottom: 38px; animation: floatCardB 6s ease-in-out infinite; }
.performance-card { width: min(100%, 500px); }
.proof-bar { margin-top: 12px; }
@keyframes floatCardA { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes floatCardB { 0%,100% { transform: translateY(0); } 50% { transform: translateY(8px); } }

.partnership-audiences-layout {
  display: grid; grid-template-columns: minmax(280px,.86fr) minmax(0,1.14fr); gap: 34px; align-items: start;
}
.partnership-audiences-copy {
  position: sticky; top: calc(var(--header-h) + 20px); padding: 30px; border: 1px solid rgba(7,16,11,.08); border-radius: 24px;
  background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.66)); box-shadow: 0 20px 50px rgba(7,16,11,.05);
}
.partnership-audiences-copy h2 { margin-bottom: 16px; }
.partnership-audiences-copy p { color: #56645c; font-size: 17px; }
.partnership-stat-row { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-top: 22px; }
.partnership-stat-row article {
  padding: 15px 14px; border-radius: 16px; border: 1px solid rgba(7,16,11,.08); background: rgba(255,255,255,.72);
}
.partnership-stat-row strong { display: block; color: #07100b; font-size: 16px; font-family: var(--font-display); }
.partnership-stat-row span { display: block; margin-top: 5px; color: #5f6b64; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.partnership-audience-grid { align-self: stretch; margin-top: 0; }
.partnership-audience-grid article {
  position: relative; min-height: 250px; padding: 24px; border: 1px solid rgba(7,16,11,.1); border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,248,.96)); box-shadow: 0 16px 40px rgba(7,16,11,.06);
}
.partnership-audience-grid .card-badge {
  display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px;
  background: rgba(0,230,118,.12); color: #07733d; font-size: 12px; font-weight: 800; letter-spacing: .08em;
}
.partnership-audience-grid .card-icon { width: 52px; height: 52px; display: grid; place-items: center; margin: 22px 0 20px; border-radius: 16px; background: #08110c; color: var(--green); }
.partnership-audience-grid h3 { margin-bottom: 10px; color: #08110c; font-size: 22px; }
.partnership-audience-grid p { color: #596760; font-size: 14px; }

.brand-overview-layout,
.brand-assets-layout { display: grid; grid-template-columns: minmax(0,.92fr) minmax(360px,1.08fr); gap: 34px; align-items: center; }
.brand-overview-points { display: grid; gap: 10px; margin-top: 24px; }
.brand-overview-points span,
.brand-usage-list li {
  display: flex; align-items: flex-start; gap: 10px; color: #536158;
}
.brand-hero-card {
  display: grid; place-items: center; min-height: 440px; padding: 28px; border-radius: 30px;
  background: radial-gradient(circle at 50% 42%, rgba(0,230,118,.12), transparent 30%), linear-gradient(155deg, #0d1812, #050a07);
  box-shadow: var(--shadow);
}
.brand-hero-card img { width: min(100%, 420px); height: auto; }
.brand-meaning-grid,
.brand-palette-grid,
.brand-principles-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.brand-meaning-card,
.palette-card,
.brand-principle-card {
  padding: 26px; border-radius: 20px; border: 1px solid rgba(255,255,255,.1);
}
.brand-meaning-card { background: rgba(255,255,255,.04); }
.brand-meaning-card h3 { color: #fff; margin: 16px 0 10px; }
.brand-meaning-card p { color: #9ba8a0; }
.palette-card { background: #fff; border-color: rgba(7,16,11,.1); }
.palette-swatch { width: 100%; height: 118px; border-radius: 18px; background: var(--swatch); box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); margin-bottom: 18px; }
.palette-card strong { display: block; font-size: 19px; color: #07100b; }
.palette-card span { display: block; margin-top: 6px; color: #08a555; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.palette-card p { margin-top: 10px; color: #5a675f; font-size: 14px; }
.brand-principle-card { background: rgba(255,255,255,.75); border-color: rgba(7,16,11,.08); }
.brand-principle-card .card-number { width: auto; height: auto; background: none; color: var(--green-2); font-size: 22px; padding: 0; margin-bottom: 14px; }
.brand-principle-card h3 { color: #08110c; margin-bottom: 10px; }
.brand-principle-card p { color: #56645c; }
.brand-assets-showcase { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.brand-lockup-card {
  display: grid; place-items: center; min-height: 230px; padding: 24px; border-radius: 24px; background: #07100b; color: #fff; border: 1px solid rgba(255,255,255,.08);
}
.brand-lockup-card span { margin-top: 18px; color: #9eaba3; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.brand-lockup-inline,
.brand-lockup-dark { min-height: 190px; }
.brand-lockup-dark { background: #f4f7f5; color: #07100b; border-color: rgba(7,16,11,.08); }
.brand-lockup-dark span { color: #49564f; }
.brand-usage-list ul { display: grid; gap: 12px; padding: 0; margin: 16px 0 0; list-style: none; }

@media (max-width: 1080px) {
  .hero-layout { min-height: auto; }
  .hero-quick-grid { grid-template-columns: 1fr; }
  .partnership-audiences-layout,
  .brand-overview-layout,
  .brand-assets-layout { grid-template-columns: 1fr; }
  .partnership-audiences-copy { position: static; }
  .brand-meaning-grid,
  .brand-palette-grid,
  .brand-principles-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .hero-home { min-height: auto; padding-top: calc(var(--header-h) + 12px); }
  .hero-layout { gap: 24px; }
  .hero-word-a { top: 88px; }
  .hero-word-b { top: 250px; right: 0; }
  .hero-word-c { left: 26px; bottom: 20px; }
  .hero-visual { min-height: 470px; }
  .hero-float-search { left: 0; top: 35px; }
  .hero-float-native { right: 0; bottom: 6px; }
  .partnership-stat-row { grid-template-columns: 1fr; }
  .partnership-audience-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .brand-assets-showcase { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .hero-copy h1 { max-width: none; }
  .hero-rotator-wrap { font-size: 15px; }
  .hero-visual { min-height: 430px; }
  .hero-float-card { width: 180px; padding: 12px; }
  .hero-float-card strong { font-size: 13px; }
  .hero-float-card span { font-size: 10px; }
  .partnership-audiences-copy { padding: 22px; }
  .partnership-audience-grid,
  .brand-meaning-grid,
  .brand-palette-grid,
  .brand-principles-grid { grid-template-columns: 1fr; }
  .partnership-audience-grid article { min-height: 0; }
  .brand-hero-card { min-height: 300px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-float-search,
  .hero-float-native { animation: none !important; }
}

.hero-rotator { transition: opacity .18s ease, transform .18s ease; }
.hero-rotator.is-changing { opacity: .1; transform: translateY(5px); }


/* V3.3 focused refinements */
.hero-home {
  min-height: auto;
  padding-top: calc(var(--header-h) + 10px);
  overflow: clip;
}
.hero-layout {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  gap: 34px;
  min-height: calc(100svh - var(--header-h) - 22px);
  padding-bottom: 18px;
}
.hero-copy,
.hero-visual,
.proof-bar,
.signal-strip { opacity: 1 !important; transform: none !important; }
.hero-copy { position: relative; z-index: 3; padding-top: 12px; }
.hero-copy h1 { max-width: 11.5ch; }
.hero-brand-ghost {
  position: absolute; z-index: 1; left: 50%; top: clamp(80px, 14vh, 140px);
  width: min(42vw, 520px); transform: translateX(-50%) translateY(var(--hero-ghost-y, 0px)) scale(var(--hero-ghost-scale, 1));
  opacity: var(--hero-ghost-opacity, .18); filter: drop-shadow(0 0 32px rgba(0,230,118,.1)); pointer-events: none;
}
.hero-brand-ghost img { width: 100%; height: auto; display: block; }
.hero-word { opacity: .72; }
.hero-word-a { top: 125px; left: 3vw; }
.hero-word-b { right: 1vw; top: 30vh; }
.hero-word-c { left: 41vw; bottom: 82px; }
.hero-quick-grid { margin-top: 22px; }
.hero-scroll-hint { margin-top: 16px; }
.hero-visual {
  position: relative; z-index: 3; display: flex; flex-direction: column; gap: 18px; min-height: 0;
}
.hero-visual-card,
.performance-card-hero {
  position: relative; overflow: hidden; border-radius: 26px; border: 1px solid rgba(255,255,255,.1);
  background: linear-gradient(160deg, rgba(9,17,13,.96), rgba(4,8,6,.92));
  box-shadow: 0 30px 80px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.04);
}
.hero-visual-card::before,
.performance-card-hero::before {
  content: ""; position: absolute; inset: 0; background: radial-gradient(circle at var(--spot-x, 72%) var(--spot-y, 28%), rgba(0,230,118,.14), transparent 35%); pointer-events: none;
}
.hero-stage-card { padding: 22px 22px 20px; }
.hero-stage-top {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px;
}
.hero-stage-top small,
.hero-stage-top span {
  color: #9ba8a1; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em;
}
.hero-stage-logo-wrap {
  display: grid; place-items: center; min-height: 170px; padding: 26px 24px; border-radius: 22px;
  background: radial-gradient(circle at 50% 40%, rgba(0,230,118,.11), transparent 36%), rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.05);
}
.hero-stage-logo { width: min(100%, 460px); height: auto; display: block; }
.hero-stage-notes {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin-top: 18px;
}
.hero-stage-notes article {
  padding: 14px 15px; border-radius: 16px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04);
}
.hero-stage-notes small { display: block; color: #86f2b9; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero-stage-notes strong { display: block; margin-top: 8px; color: #fff; font-size: 15px; line-height: 1.35; }
.hero-stage-notes span { display: block; margin-top: 6px; color: #92a198; font-size: 11px; line-height: 1.5; }
.performance-card-hero { width: 100%; padding: 20px 20px 18px; }
.performance-main-wide { padding-top: 4px; }
.performance-main-wide strong {
  display: block; margin-top: 10px; font-size: clamp(28px, 3vw, 48px); line-height: .96; letter-spacing: -.04em;
}
.performance-main-wide small {
  display: block; margin-top: 12px; max-width: 44ch; color: #96a29c; font-size: 14px; line-height: 1.55;
}
.performance-card-hero .mini-chart { margin-top: 16px; }
.performance-card-hero .performance-metrics { margin-top: 14px; }
.proof-bar { position: relative; z-index: 2; margin-top: 6px; }
.signal-strip { position: relative; z-index: 2; }

.brand-preview-card {
  padding: 16px; border-radius: 28px; background: #fff; border: 1px solid rgba(7,16,11,.08); box-shadow: 0 24px 70px rgba(7,16,11,.08);
}
.brand-preview-card img { width: 100%; height: auto; display: block; border-radius: 18px; }
.brand-showcase-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-top: 30px; }
.brand-showcase-card {
  position: relative; overflow: hidden; padding: 22px; border-radius: 28px; border: 1px solid rgba(7,16,11,.1);
  box-shadow: 0 20px 60px rgba(7,16,11,.07);
}
.brand-showcase-dark { background: linear-gradient(145deg, #06100b, #020604); border-color: rgba(255,255,255,.06); }
.brand-showcase-light { background: linear-gradient(145deg, #ffffff, #f3f7f4); }
.brand-showcase-wide { grid-column: 1 / -1; }
.brand-showcase-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.brand-showcase-head strong { font-size: 20px; }
.brand-showcase-dark .brand-showcase-head strong { color: #fff; }
.brand-showcase-light .brand-showcase-head strong { color: #07100b; }
.brand-showcase-head span { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.brand-showcase-dark .brand-showcase-head span { color: #94a39b; }
.brand-showcase-light .brand-showcase-head span { color: #5c6861; }
.brand-showcase-stage {
  min-height: 290px; display: grid; place-items: center; padding: 26px 18px 18px;
}
.brand-showcase-wide .brand-showcase-stage { min-height: 220px; }
.brand-showcase-stage img { max-width: 100%; max-height: 240px; width: auto; height: auto; display: block; }
.brand-showcase-wide .brand-showcase-stage img { max-height: 150px; }
.brand-micro-assets {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px;
}
.brand-lockup-light {
  background: linear-gradient(145deg, #ffffff, #f4f7f5); color: #07100b; border: 1px solid rgba(7,16,11,.08);
}
.brand-lockup-light span { color: #516059; }
.brand-lockup-light img { max-width: 100%; height: auto; display: block; }
.footer-social { margin-top: 8px; }

@media (max-width: 1180px) {
  .hero-layout { grid-template-columns: 1fr; min-height: auto; }
  .hero-brand-ghost { width: min(56vw, 420px); top: 96px; }
  .hero-copy { padding-top: 0; }
}
@media (max-width: 820px) {
  .hero-home { padding-top: calc(var(--header-h) + 4px); }
  .hero-brand-ghost {
    width: min(74vw, 360px); top: 82px; opacity: .14;
  }
  .hero-word-a { top: 100px; font-size: clamp(54px, 18vw, 120px); }
  .hero-word-b { top: 300px; right: -10px; font-size: clamp(46px, 16vw, 96px); }
  .hero-word-c { left: 10px; bottom: 40px; font-size: clamp(42px, 14vw, 88px); }
  .hero-stage-logo-wrap { min-height: 138px; }
  .hero-stage-notes,
  .brand-micro-assets,
  .brand-showcase-grid { grid-template-columns: 1fr; }
  .brand-showcase-wide { grid-column: auto; }
  .brand-showcase-stage,
  .brand-showcase-wide .brand-showcase-stage { min-height: 180px; }
  .brand-showcase-stage img,
  .brand-showcase-wide .brand-showcase-stage img { max-height: 130px; }
}
@media (max-width: 640px) {
  .hero-copy h1 { font-size: clamp(38px, 12vw, 58px); }
  .hero-visual { gap: 14px; }
  .hero-stage-card, .performance-card-hero { padding: 16px; border-radius: 22px; }
  .hero-stage-notes article { padding: 12px; }
  .hero-stage-notes strong { font-size: 13px; }
  .performance-main-wide strong { font-size: 34px; }
}

/* =========================================================
   V3.4 HARD FIX — visibility, first fold and brand showcase
   ========================================================= */

/* Reliability first: no section content may remain faded/hidden. */
.reveal,
.reveal.visible,
.reveal-delay-1 {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  transition-delay: 0s !important;
}

/* Make every light section unquestionably readable. */
.section-light h1,
.section-light h2,
.section-light h3,
.section-system h1,
.section-system h2,
.section-system h3,
.story-statement blockquote {
  color: #07100b !important;
}
.story-statement > span { color: #4f5f56 !important; }
.story-copy { color: #516159 !important; }

/* FIRST FOLD: content starts immediately below the header. */
.hero-home {
  min-height: 0 !important;
  padding: calc(var(--header-h) + 18px) 0 28px !important;
}
.hero-home .hero-layout {
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 8px !important;
  align-items: start !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr) !important;
  gap: 40px !important;
}
.hero-home .hero-copy {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
  padding-top: 16px !important;
}
.hero-home .hero-copy h1 {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}
.hero-home .hero-visual {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  gap: 14px !important;
}
.hero-home .hero-quick-grid { margin-top: 20px !important; }
.hero-home .proof-bar { margin-top: 18px !important; }
.hero-home .signal-strip { margin-top: 18px !important; }

/* Large real brand mark in the opening area, now using a tightly cropped asset. */
.hero-brand-ghost {
  left: 72% !important;
  top: calc(var(--header-h) + 18px) !important;
  width: min(48vw, 820px) !important;
  opacity: var(--hero-ghost-opacity, .15) !important;
  transform: translateX(-50%) translateY(var(--hero-ghost-y, 0px)) scale(var(--hero-ghost-scale, 1)) !important;
  filter: drop-shadow(0 0 45px rgba(0,230,118,.10)) !important;
}
.hero-brand-ghost img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
.hero-home .hero-word { opacity: .22 !important; }
.hero-home .hero-word-a { top: calc(var(--header-h) + 70px) !important; }
.hero-home .hero-word-b { top: 38% !important; }
.hero-home .hero-word-c { bottom: 70px !important; }

/* Opening visual: no floating cards over the key message. */
.hero-stage-card {
  padding: 18px !important;
  border-radius: 24px !important;
}
.hero-stage-logo-wrap {
  min-height: 180px !important;
  padding: 22px !important;
}
.hero-stage-logo {
  width: min(92%, 560px) !important;
  max-height: 150px !important;
  object-fit: contain !important;
}
.hero-stage-notes {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  margin-top: 14px !important;
}
.performance-card-hero {
  transform: none !important;
  width: 100% !important;
  padding: 18px !important;
}
.performance-card-hero .performance-main-wide {
  padding: 0 !important;
}
.performance-card-hero .performance-main-wide strong {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 8px !important;
  font-size: clamp(34px, 3.1vw, 54px) !important;
}
.performance-card-hero .performance-main-wide small {
  position: relative !important;
  z-index: 2 !important;
}
.performance-card-hero .mini-chart {
  height: 125px !important;
  margin-top: 10px !important;
}
.performance-card-hero .performance-metrics {
  margin-top: 8px !important;
}

/* Brand identity showcase: use the actual cropped marks at meaningful scale. */
.brand-showcase-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  align-items: stretch !important;
}
.brand-showcase-card {
  min-height: 430px !important;
  padding: 28px !important;
  display: flex !important;
  flex-direction: column !important;
}
.brand-showcase-wide {
  grid-column: 1 / -1 !important;
  min-height: 330px !important;
}
.brand-showcase-head {
  flex: 0 0 auto !important;
}
.brand-showcase-stage {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 24px 12px 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.brand-showcase-stage img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 88% !important;
  max-height: 290px !important;
  object-fit: contain !important;
}
.brand-showcase-card:nth-child(1) .brand-showcase-stage img {
  width: min(88%, 560px) !important;
  max-width: 88% !important;
  max-height: 300px !important;
}
.brand-showcase-card:nth-child(2) .brand-showcase-stage img {
  width: min(68%, 360px) !important;
  max-width: 68% !important;
  max-height: 250px !important;
}
.brand-showcase-wide .brand-showcase-stage img {
  width: min(82%, 980px) !important;
  max-width: 82% !important;
  max-height: 190px !important;
}
.brand-preview-card img {
  opacity: 1 !important;
  filter: none !important;
}
.brand-micro-assets .brand-lockup-card img {
  width: min(82%, 520px) !important;
  max-height: 150px !important;
  object-fit: contain !important;
}

/* Partner/brand text contrast safeguards. */
.partnership-audiences-section h2,
.partnership-audiences-section h3,
.brand-overview-section h2,
.brand-assets-section h2,
.brand-assets-section h3,
.brand-principles-section h2,
.brand-principles-section h3,
.brand-palette-section h2 {
  color: #07100b !important;
  opacity: 1 !important;
}
.partnership-audiences-section p,
.brand-overview-section p,
.brand-assets-section p,
.brand-principles-section p,
.brand-palette-section p {
  opacity: 1 !important;
}

@media (max-width: 1180px) {
  .hero-home .hero-layout {
    grid-template-columns: 1fr !important;
  }
  .hero-brand-ghost {
    left: 70% !important;
    width: min(56vw, 620px) !important;
  }
  .hero-home .hero-visual {
    max-width: 840px !important;
    width: 100% !important;
  }
}

@media (max-width: 820px) {
  .hero-home {
    padding-top: calc(var(--header-h) + 10px) !important;
  }
  .hero-brand-ghost {
    left: 50% !important;
    top: calc(var(--header-h) + 28px) !important;
    width: min(92vw, 520px) !important;
    opacity: var(--hero-ghost-opacity, .12) !important;
  }
  .hero-home .hero-copy {
    padding-top: 0 !important;
  }
  .hero-home .hero-word { opacity: .12 !important; }
  .hero-stage-notes {
    grid-template-columns: 1fr !important;
  }
  .brand-showcase-grid {
    grid-template-columns: 1fr !important;
  }
  .brand-showcase-wide { grid-column: auto !important; }
  .brand-showcase-card,
  .brand-showcase-wide {
    min-height: 320px !important;
  }
  .brand-showcase-stage img,
  .brand-showcase-card:nth-child(1) .brand-showcase-stage img,
  .brand-showcase-card:nth-child(2) .brand-showcase-stage img,
  .brand-showcase-wide .brand-showcase-stage img {
    width: auto !important;
    max-width: 88% !important;
    max-height: 220px !important;
  }
}

@media (max-width: 560px) {
  .hero-home .hero-copy h1 {
    font-size: clamp(40px, 12.5vw, 58px) !important;
  }
  .hero-stage-logo-wrap { min-height: 130px !important; }
  .hero-stage-logo { max-height: 105px !important; }
  .performance-card-hero .performance-main-wide strong {
    font-size: 36px !important;
  }
}

/* V3.5 visibility + brand contrast corrections */
.company-profile-section {
  color: #07100b !important;
  background: linear-gradient(140deg,#e8f0eb,#ffffff 48%,#e4eee8) !important;
}
.company-profile-section .company-profile-copy,
.company-profile-section .company-profile-copy * {
  opacity: 1 !important;
  visibility: visible !important;
}
.company-profile-section .company-profile-copy h2 {
  color: #07100b !important;
  -webkit-text-fill-color: #07100b !important;
  text-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
.company-profile-section .company-profile-copy p {
  color: #53645b !important;
  -webkit-text-fill-color: #53645b !important;
  opacity: 1 !important;
}
.company-profile-section .company-profile-copy .eyebrow {
  color: #526158 !important;
  -webkit-text-fill-color: #526158 !important;
}
.company-profile-section .company-profile-card,
.company-profile-section .company-profile-card * {
  opacity: 1 !important;
  visibility: visible !important;
}

.brand-lockup-dark-panel {
  background: radial-gradient(circle at 50% 42%, rgba(0,230,118,.10), transparent 40%), linear-gradient(145deg,#07100b,#020604) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 20px 55px rgba(2,8,5,.18) !important;
}
.brand-lockup-dark-panel span {
  color: #b8c5bd !important;
}
.brand-lockup-dark-panel img {
  width: min(78%, 300px) !important;
  max-height: 160px !important;
  filter: none !important;
  opacity: 1 !important;
}
.brand-lockup-light img {
  filter: none !important;
  opacity: 1 !important;
}

/* =========================================================
   V4 — Convergence Hero / Gaucho Labs
   Inspired by the idea of multiple signals converging into one
   business outcome, implemented as an original Gaucho Labs system.
   ========================================================= */
.hero-convergence {
  position: relative;
  min-height: 100svh;
  padding-top: var(--header-h);
  background:
    radial-gradient(circle at 50% 46%, rgba(0,230,118,.10), transparent 24%),
    radial-gradient(circle at 16% 32%, rgba(0,230,118,.055), transparent 28%),
    #020604;
  color: #f6fbf8;
  isolation: isolate;
  overflow: hidden;
}
.hero-convergence::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: radial-gradient(circle at center, #000 0 46%, transparent 84%);
}
.hero-convergence-canvas {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  opacity: var(--convergence-canvas-opacity, 1);
  transition: opacity .15s linear;
}
.hero-convergence-grid {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 47%, rgba(0,230,118,.08), transparent 18%),
    linear-gradient(90deg, transparent 49.96%, rgba(0,230,118,.07) 50%, transparent 50.04%),
    linear-gradient(transparent 49.96%, rgba(0,230,118,.045) 50%, transparent 50.04%);
  opacity: .75;
}
.hero-convergence-vignette {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 46%, transparent 0 27%, rgba(2,6,4,.08) 48%, rgba(2,6,4,.54) 82%, rgba(2,6,4,.84) 100%),
    linear-gradient(180deg, rgba(2,6,4,.38), transparent 18%, transparent 74%, rgba(2,6,4,.78) 100%);
}
.hero-convergence-inner {
  position: relative;
  z-index: 4;
  min-height: calc(100svh - var(--header-h));
  display: grid;
  grid-template-rows: minmax(0,1fr) auto;
  align-items: center;
  padding-top: clamp(22px, 4vh, 46px);
  padding-bottom: 94px;
}
.hero-convergence-copy {
  width: min(100%, 980px);
  margin-inline: auto;
  text-align: center;
  transform: translateY(var(--convergence-content-y, 0px)) scale(var(--convergence-content-scale, 1));
  opacity: var(--convergence-content-opacity, 1);
  transform-origin: 50% 46%;
  will-change: transform, opacity;
}
.hero-convergence-eyebrow {
  margin-bottom: clamp(16px, 2.3vh, 26px);
  color: #aebbb3;
}
.hero-convergence-eyebrow > span { box-shadow: 0 0 22px rgba(0,230,118,.75); }
.hero-convergence-focus {
  position: relative;
  display: grid;
  justify-items: center;
  isolation: isolate;
}
.hero-convergence-symbol {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: clamp(220px, 30vw, 460px);
  height: auto;
  transform: translate(-50%,-51%) scale(var(--convergence-symbol-scale, 1));
  opacity: var(--convergence-symbol-opacity, .11);
  filter: blur(.1px) drop-shadow(0 0 54px rgba(0,230,118,.22));
  pointer-events: none;
  user-select: none;
}
.hero-convergence-kicker {
  position: relative;
  z-index: 2;
  margin-bottom: 3px;
  color: #d8e1db;
  font-family: var(--font-display);
  font-size: clamp(13px, 1.4vw, 20px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: .34em;
  text-indent: .34em;
  text-transform: uppercase;
  text-shadow: 0 0 22px rgba(255,255,255,.09);
}
.hero-convergence-word {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #f8fcf9;
  font-family: var(--font-display);
  font-size: clamp(82px, 14.3vw, 188px);
  line-height: .84;
  font-weight: 700;
  letter-spacing: -.075em;
  text-transform: uppercase;
  text-shadow:
    0 0 20px rgba(255,255,255,.04),
    0 0 70px rgba(0,230,118,.10);
}
.hero-convergence-word::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 6%;
  bottom: -9px;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(0,230,118,.85) 28%, rgba(255,255,255,.92) 50%, rgba(0,230,118,.72) 72%, transparent);
  filter: blur(.1px) drop-shadow(0 0 9px rgba(0,230,118,.7));
  transform: scaleX(var(--convergence-line-scale, .8));
  opacity: .88;
}
.hero-convergence-statement {
  max-width: 760px;
  margin: clamp(28px, 4vh, 42px) auto 0;
  color: #e3ebe6;
  font-family: var(--font-display);
  font-size: clamp(19px, 2vw, 28px);
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -.025em;
}
.hero-convergence-intro {
  max-width: 760px;
  margin: 14px auto 0;
  color: #8f9d95;
  font-size: clamp(14px, 1.28vw, 17px);
  line-height: 1.72;
}
.hero-convergence-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: clamp(20px, 3vh, 30px);
}
.hero-convergence-actions .button-secondary {
  background: rgba(255,255,255,.035);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.hero-channel-labels {
  position: absolute;
  z-index: 3;
  inset: var(--header-h) 0 58px;
  pointer-events: none;
  opacity: var(--convergence-labels-opacity, 1);
}
.hero-channel {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(177,195,185,.55);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(0,230,118,.08);
  animation: convergenceLabelPulse 4.8s ease-in-out infinite;
}
.hero-channel::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 12px rgba(0,230,118,.9);
}
.hero-channel-1 { left: 5.5%; top: 23%; animation-delay: -.3s; }
.hero-channel-2 { right: 5.5%; top: 25%; animation-delay: -1.2s; }
.hero-channel-3 { left: 8%; top: 56%; animation-delay: -2.1s; }
.hero-channel-4 { right: 7%; top: 56%; animation-delay: -.7s; }
.hero-channel-5 { left: 17%; top: 76%; animation-delay: -2.8s; }
.hero-channel-6 { right: 17%; top: 76%; animation-delay: -1.7s; }
.hero-channel-7 { left: 50%; top: 10%; transform: translateX(-50%); animation-delay: -3.3s; }
@keyframes convergenceLabelPulse {
  0%,100% { opacity: .38; }
  50% { opacity: .92; }
}
.hero-convergence-bottom {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 24px;
  width: 100%;
}
.hero-convergence-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.hero-convergence-metrics article {
  min-width: 176px;
  padding: 12px 15px;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.025);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.hero-convergence-metrics strong,
.hero-convergence-metrics span { display: block; }
.hero-convergence-metrics strong {
  color: #f2f8f4;
  font-family: var(--font-display);
  font-size: 16px;
  line-height: 1.2;
}
.hero-convergence-metrics span {
  margin-top: 3px;
  color: #75847b;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.hero-convergence-scroll {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #829087;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.hero-convergence-scroll i {
  position: relative;
  width: 1px;
  height: 36px;
  overflow: hidden;
  background: rgba(255,255,255,.10);
}
.hero-convergence-scroll i::after {
  content: "";
  position: absolute;
  left: 0;
  top: -100%;
  width: 100%;
  height: 55%;
  background: var(--green);
  box-shadow: 0 0 10px rgba(0,230,118,.6);
  animation: convergenceScrollLine 1.7s ease-in-out infinite;
}
@keyframes convergenceScrollLine {
  0% { transform: translateY(0); }
  100% { transform: translateY(270%); }
}
.hero-convergence-ticker {
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  bottom: 0;
  height: 48px;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.07);
  background: rgba(2,6,4,.68);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.hero-convergence-ticker::before,
.hero-convergence-ticker::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  width: 90px;
  pointer-events: none;
}
.hero-convergence-ticker::before { left: 0; background: linear-gradient(90deg, #020604, transparent); }
.hero-convergence-ticker::after { right: 0; background: linear-gradient(270deg, #020604, transparent); }
.hero-convergence-ticker-track {
  display: flex;
  align-items: center;
  gap: 28px;
  width: max-content;
  height: 100%;
  animation: convergenceTicker 34s linear infinite;
}
.hero-convergence-ticker-track span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #718178;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
  white-space: nowrap;
}
.hero-convergence-ticker-track span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 10px rgba(0,230,118,.65);
}
@keyframes convergenceTicker { to { transform: translateX(-50%); } }

@media (max-width: 1080px) {
  .hero-channel-3,
  .hero-channel-4 { top: 62%; }
  .hero-channel-5,
  .hero-channel-6 { display: none; }
  .hero-convergence-metrics article { min-width: 154px; }
}
@media (max-width: 820px) {
  .hero-convergence {
    min-height: 100svh;
  }
  .hero-convergence-inner {
    padding-top: 18px;
    padding-bottom: 82px;
  }
  .hero-convergence-copy { width: 100%; }
  .hero-convergence-word { font-size: clamp(70px, 20vw, 132px); }
  .hero-convergence-symbol { width: clamp(190px, 56vw, 340px); }
  .hero-convergence-intro { max-width: 620px; }
  .hero-channel-labels { opacity: .72; }
  .hero-channel-1 { left: 4%; top: 20%; }
  .hero-channel-2 { right: 4%; top: 23%; }
  .hero-channel-3 { left: 3%; top: 64%; }
  .hero-channel-4 { right: 3%; top: 64%; }
  .hero-channel-7 { top: 8%; }
  .hero-convergence-bottom {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .hero-convergence-scroll { display: none; }
  .hero-convergence-metrics { justify-content: center; }
  .hero-convergence-metrics article { flex: 1 1 145px; min-width: 0; }
}
@media (max-width: 560px) {
  .hero-convergence-inner {
    padding-top: 10px;
    padding-bottom: 72px;
  }
  .hero-convergence-eyebrow {
    margin-bottom: 14px;
    font-size: 9px;
    letter-spacing: .10em;
  }
  .hero-convergence-kicker { font-size: 11px; letter-spacing: .22em; text-indent: .22em; }
  .hero-convergence-word { font-size: clamp(62px, 21vw, 102px); }
  .hero-convergence-statement { margin-top: 25px; font-size: 18px; }
  .hero-convergence-intro { margin-top: 11px; font-size: 13px; line-height: 1.62; }
  .hero-convergence-actions { margin-top: 18px; }
  .hero-convergence-actions .button { min-height: 48px; padding-inline: 18px; font-size: 12px; }
  .hero-convergence-metrics { gap: 7px; }
  .hero-convergence-metrics article { padding: 9px 10px; border-radius: 12px; }
  .hero-convergence-metrics strong { font-size: 13px; }
  .hero-convergence-metrics span { font-size: 7px; }
  .hero-channel { font-size: 7px; letter-spacing: .08em; }
  .hero-channel-3,
  .hero-channel-4,
  .hero-channel-7 { display: none; }
  .hero-convergence-ticker { height: 42px; }
}
@media (max-height: 760px) and (min-width: 821px) {
  .hero-convergence-inner { padding-top: 12px; padding-bottom: 72px; }
  .hero-convergence-eyebrow { margin-bottom: 12px; }
  .hero-convergence-word { font-size: clamp(76px, 11vw, 138px); }
  .hero-convergence-statement { margin-top: 24px; font-size: 20px; }
  .hero-convergence-intro { margin-top: 10px; font-size: 13px; line-height: 1.55; }
  .hero-convergence-actions { margin-top: 16px; }
  .hero-convergence-metrics article { padding: 9px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-channel,
  .hero-convergence-scroll i::after,
  .hero-convergence-ticker-track { animation: none !important; }
}


/* =========================================================
   V4.1 — Convergence Hero spacing + native cursor refinements
   ========================================================= */
.hero-convergence {
  min-height: max(780px, 100svh) !important;
}
.hero-convergence-inner {
  min-height: max(700px, calc(100svh - var(--header-h))) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  padding-top: clamp(42px, 6.5vh, 76px) !important;
  padding-bottom: 106px !important;
}
.hero-convergence-copy {
  width: min(100%, 940px) !important;
  flex: 0 0 auto !important;
}
.hero-convergence-eyebrow {
  margin-bottom: clamp(28px, 4vh, 42px) !important;
}
.hero-convergence-kicker {
  margin-bottom: 12px !important;
  font-size: clamp(12px, 1.25vw, 18px) !important;
  letter-spacing: .38em !important;
}
.hero-convergence-word {
  font-size: clamp(78px, 12vw, 168px) !important;
  line-height: .86 !important;
}
.hero-convergence-word::after {
  bottom: -16px !important;
}
.hero-convergence-statement {
  margin-top: clamp(46px, 6vh, 62px) !important;
  max-width: 790px !important;
  font-size: clamp(20px, 1.9vw, 27px) !important;
  line-height: 1.35 !important;
}
.hero-convergence-intro {
  margin-top: 18px !important;
  max-width: 800px !important;
  font-size: clamp(14px, 1.18vw, 16px) !important;
  line-height: 1.78 !important;
}
.hero-convergence-actions {
  margin-top: clamp(28px, 4vh, 38px) !important;
  gap: 14px !important;
}
.hero-convergence-actions .button {
  min-height: 54px !important;
  padding-inline: 26px !important;
}
.hero-convergence-bottom {
  margin-top: 52px !important;
  flex: 0 0 auto !important;
}
.hero-convergence-metrics {
  gap: 12px !important;
}
.hero-convergence-metrics article {
  min-width: 190px !important;
  padding: 14px 17px !important;
}
.hero-convergence-scroll {
  margin-bottom: 2px !important;
}
.hero-channel-1 { left: 5.5% !important; top: 26% !important; }
.hero-channel-2 { right: 5.5% !important; top: 29% !important; }
.hero-channel-3 { left: 7.5% !important; top: 58% !important; }
.hero-channel-4 { right: 7.5% !important; top: 60% !important; }
.hero-channel-5 { left: 15% !important; top: 80% !important; }
.hero-channel-6 { right: 15% !important; top: 80% !important; }
.hero-channel-7 {
  left: auto !important;
  right: 20% !important;
  top: 14% !important;
  transform: none !important;
}

@media (max-height: 760px) and (min-width: 821px) {
  .hero-convergence {
    min-height: 820px !important;
  }
  .hero-convergence-inner {
    min-height: 740px !important;
    padding-top: 46px !important;
  }
  .hero-channel-7 { top: 11% !important; right: 15% !important; }
}

@media (max-width: 1080px) {
  .hero-convergence {
    min-height: max(820px, 100svh) !important;
  }
  .hero-convergence-inner {
    min-height: max(740px, calc(100svh - var(--header-h))) !important;
    padding-top: 44px !important;
  }
  .hero-convergence-copy { width: min(100%, 860px) !important; }
  .hero-convergence-bottom { margin-top: 44px !important; }
  .hero-convergence-metrics article { min-width: 164px !important; }
  .hero-channel-7 { right: 12% !important; top: 12% !important; }
}

@media (max-width: 820px) {
  .hero-convergence {
    min-height: auto !important;
  }
  .hero-convergence-inner {
    min-height: auto !important;
    padding-top: 34px !important;
    padding-bottom: 86px !important;
  }
  .hero-convergence-eyebrow { margin-bottom: 24px !important; }
  .hero-convergence-kicker { margin-bottom: 9px !important; }
  .hero-convergence-word { font-size: clamp(68px, 20vw, 118px) !important; }
  .hero-convergence-statement {
    margin-top: 40px !important;
    font-size: 19px !important;
  }
  .hero-convergence-intro {
    margin-top: 14px !important;
    font-size: 13px !important;
    line-height: 1.68 !important;
  }
  .hero-convergence-actions { margin-top: 24px !important; }
  .hero-convergence-actions .button {
    min-height: 50px !important;
    padding-inline: 20px !important;
  }
  .hero-convergence-bottom {
    margin-top: 38px !important;
  }
  .hero-convergence-metrics article {
    min-width: 0 !important;
    padding: 11px 12px !important;
  }
  .hero-channel-7 { display: none !important; }
}

@media (max-width: 560px) {
  .hero-convergence-inner {
    padding-top: 28px !important;
    padding-bottom: 78px !important;
  }
  .hero-convergence-eyebrow {
    margin-bottom: 20px !important;
    font-size: 9px !important;
    letter-spacing: .09em !important;
  }
  .hero-convergence-kicker {
    font-size: 10px !important;
    letter-spacing: .28em !important;
  }
  .hero-convergence-word {
    font-size: clamp(58px, 19vw, 88px) !important;
  }
  .hero-convergence-statement {
    margin-top: 34px !important;
    font-size: 17px !important;
    line-height: 1.38 !important;
  }
  .hero-convergence-intro {
    font-size: 12.5px !important;
    line-height: 1.62 !important;
  }
  .hero-convergence-actions {
    gap: 10px !important;
  }
  .hero-convergence-actions .button {
    width: 100% !important;
  }
  .hero-convergence-bottom {
    margin-top: 30px !important;
  }
  .hero-convergence-metrics {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  .hero-convergence-metrics article {
    width: 100% !important;
  }
  .hero-channel-3,
  .hero-channel-4,
  .hero-channel-5,
  .hero-channel-6,
  .hero-channel-7 { display: none !important; }
}
