@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root { --navy:#16233f; --navy-700:#1f335c; --green:#4c9a2a; --green-600:#3f8522; --green-50:#eef6e9; --ink:#24303f; --slate:#5b6577; --mist:#f5f7fa; --line:#e6eaf0; --white:#fff; color:var(--ink); background:var(--white); font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-synthesis:none; text-rendering:optimizeLegibility; scroll-behavior:smooth; }
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html,body { min-height:100%; }
html { scroll-padding-top:74px; }
body { background:var(--white); color:var(--ink); line-height:1.5; -webkit-font-smoothing:antialiased; }
::selection { background:var(--green); color:var(--white); }
a { color:inherit; text-decoration:none; }
button { border:0; background:transparent; color:inherit; font:inherit; }
img,svg { display:block; }
ul { list-style:none; }
[hidden] { display:none!important; }
.svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.page { min-height:100%; overflow:hidden; background:var(--white); }
.container { width:100%; max-width:1280px; margin-inline:auto; padding-inline:24px; }
h1,h2,h3,h4 { color:var(--navy); font-family:Manrope,ui-sans-serif,system-ui,sans-serif; }

.site-header { position:sticky; top:0; z-index:50; border-bottom:1px solid var(--line); background:rgba(255,255,255,.88); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.nav-shell { display:flex; height:74px; max-width:1280px; margin-inline:auto; padding-inline:24px; align-items:center; justify-content:space-between; }
.brand { display:inline-flex; width:170px; height:74px; align-items:center; }
.brand-logo { display:block; width:170px; height:auto; }
.wordmark { display:inline-flex; height:35.2px; align-items:center; font-family:Manrope,ui-sans-serif,system-ui,sans-serif; font-size:31px; font-weight:500; line-height:1; letter-spacing:-1.8px; white-space:nowrap; }
.wordmark-green { color:#63a43b; }
.wordmark-navy { color:var(--navy); }
.wordmark-globe { width:24px; height:24px; flex:0 0 24px; margin-left:-1px; fill:#327fb6; stroke:#fff; stroke-width:1.05; stroke-linecap:round; stroke-linejoin:round; }
.wordmark-globe circle { stroke:#63a43b; stroke-width:1.6; }
.primary-nav { display:none; align-items:center; gap:4px; }
.nav-dropdown { position:relative; }
.nav-link { display:flex; align-items:center; gap:6px; border-radius:6px; padding:8px 14px; color:var(--navy); font-size:15px; font-weight:500; cursor:pointer; transition:color .15s ease; }
.nav-link:hover { color:var(--green); }
.nav-link svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .15s ease; }
.dropdown-toggle[aria-expanded="true"] .chevron { transform:rotate(180deg); }
.dropdown-menu { position:absolute; top:100%; left:0; z-index:50; width:240px; margin-top:8px; padding:8px; border:1px solid var(--line); border-radius:12px; background:var(--white); box-shadow:0 10px 28px rgba(22,35,63,.12); }
.dropdown-menu a { display:block; border-radius:8px; padding:10px 12px; color:var(--navy); font-size:14px; font-weight:500; }
.dropdown-menu a:hover { background:var(--mist); color:var(--green); }
.header-actions { display:none; align-items:center; gap:12px; }
.client-login { color:var(--navy); font-size:15px; font-weight:500; transition:color .15s ease; }
.client-login:hover { color:var(--green); }
.nav-cta { display:inline-flex; align-items:center; gap:8px; border-radius:8px; padding:10px 18px; background:var(--navy); color:var(--white); font-size:13.5px; font-weight:600; }
.nav-cta:hover { background:var(--navy-700); }
.nav-cta svg,.button svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.home-hero { position:relative; overflow:hidden; }
.hero-glow { position:absolute; top:-96px; right:-96px; width:520px; height:520px; border-radius:50%; background:var(--green-50); filter:blur(64px); pointer-events:none; }
.hero-grid { position:relative; display:grid; align-items:center; gap:56px; padding-top:32px; padding-bottom:64px; }
.hero-copy { position:relative; z-index:2; }
.pill-label { display:inline-flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:999px; padding:6px 14px; background:var(--mist); color:#33507f; font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.pill-label i { width:6px; height:6px; border-radius:50%; background:var(--green); }
.hero-copy h1 { margin-top:24px; font-size:clamp(2.6rem,5vw,4.25rem); font-weight:800; line-height:1.03; letter-spacing:-.04em; }
.hero-copy h1 span { color:var(--green); }
.hero-copy>p { max-width:512px; margin-top:24px; color:var(--slate); font-size:18px; line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:36px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:8px; padding:14px 24px; font-size:15px; font-weight:600; transition:background-color .15s ease,border-color .15s ease; }
.button-primary { background:var(--navy); color:var(--white); }
.button-primary:hover { background:var(--navy-700); }
.button-secondary { border:1px solid rgba(76,154,42,.4); background:var(--white); color:var(--green); }
.button-secondary:hover { background:var(--green-50); }

.dashboard-shell { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; border:1px solid var(--line); border-radius:16px; padding:20px; background:var(--white); box-shadow:0 30px 60px -25px rgba(22,35,63,.28); }
.metric-column { display:flex; min-width:0; flex-direction:column; gap:12px; }
.metric-card,.map-card,.info-card { border:1px solid var(--line); border-radius:12px; background:var(--white); }
.metric-card { padding:16px; overflow:hidden; }
.metric-card>p,.info-card>p,.info-card>small { color:var(--slate); font-size:12px; font-weight:500; }
.metric-line { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-top:4px; }
.metric-card strong { color:var(--navy); font-family:Manrope,sans-serif; font-size:20px; font-weight:700; white-space:nowrap; }
.trend { display:flex; align-items:center; gap:2px; color:var(--green); font-size:12px; font-weight:600; white-space:nowrap; }
.trend svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.trend b { font:inherit; }
.mini-bars { display:flex; height:32px; margin-top:12px; align-items:flex-end; gap:4px; }
.mini-bars>span { height:var(--h); flex:1; overflow:hidden; border-radius:2px; background:var(--green-50); }
.mini-bars i { display:block; width:100%; height:100%; border-radius:inherit; background:rgba(76,154,42,.7); opacity:var(--o); }
.compact-card strong { display:block; }
.progress { width:100%; height:6px; margin-top:8px; overflow:hidden; border-radius:999px; background:var(--mist); }
.progress i { display:block; width:98%; height:100%; border-radius:inherit; background:var(--green); }
.operations-column { display:flex; min-width:0; grid-column:span 2; flex-direction:column; gap:16px; }
.map-card { padding:16px; background:var(--mist); }
.dashboard-label { margin-bottom:12px; color:var(--slate); font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.world-map { position:relative; width:100%; aspect-ratio:16/7; overflow:hidden; border-radius:8px; }
.map-dots { position:absolute; inset:0; background-image:radial-gradient(circle,rgba(51,80,127,.28) 1px,transparent 1.4px); background-size:12px 12px; -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 44'%3E%3Cellipse cx='22' cy='20' rx='16' ry='11' fill='black'/%3E%3Cellipse cx='52' cy='18' rx='12' ry='13' fill='black'/%3E%3Cellipse cx='78' cy='20' rx='14' ry='10' fill='black'/%3E%3Cellipse cx='34' cy='32' rx='9' ry='8' fill='black'/%3E%3Cellipse cx='70' cy='33' rx='11' ry='8' fill='black'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 44'%3E%3Cellipse cx='22' cy='20' rx='16' ry='11' fill='black'/%3E%3Cellipse cx='52' cy='18' rx='12' ry='13' fill='black'/%3E%3Cellipse cx='78' cy='20' rx='14' ry='10' fill='black'/%3E%3Cellipse cx='34' cy='32' rx='9' ry='8' fill='black'/%3E%3Cellipse cx='70' cy='33' rx='11' ry='8' fill='black'/%3E%3C/svg%3E"); -webkit-mask-size:100% 100%; mask-size:100% 100%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; }
.map-pin { position:absolute; width:20px; height:20px; color:var(--green); fill:currentColor; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 1px 1px rgba(22,35,63,.18)); transform:translate(-50%,-100%); }
.pin-one{top:28%;left:20%}.pin-two{top:34%;left:46%}.pin-three{top:30%;left:78%}.pin-four{top:60%;left:34%}.pin-five{top:64%;left:70%}
.small-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.info-card { padding:16px; }
.active-markets-value { display:flex; align-items:flex-end; justify-content:space-between; margin-top:4px; }
.active-markets-value strong { color:var(--navy); font-family:Manrope,sans-serif; font-size:30px; font-weight:800; line-height:1; }
.active-markets-value svg { width:32px; height:32px; color:var(--green); fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.info-card>small { display:block; }
.compliance-card>p { margin-bottom:8px; }
.compliance-card li { display:flex; align-items:center; gap:8px; padding-block:2px; color:var(--ink); font-size:12px; }
.compliance-card li span { display:flex; width:16px; height:16px; flex:0 0 16px; align-items:center; justify-content:center; border-radius:50%; background:var(--green); color:var(--white); }
.compliance-card li svg { width:10px; height:10px; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.dashboard-tools { position:absolute; top:24px; right:-24px; display:none; flex-direction:column; gap:16px; }
.tool-item { display:flex; align-items:center; flex-direction:column; gap:6px; }
.tool-item i { display:flex; width:56px; height:56px; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:50%; background:var(--white); color:var(--navy); box-shadow:0 10px 20px rgba(22,35,63,.12); }
.dashboard-tools svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.tool-item small { color:var(--slate); font-size:11px; font-weight:500; white-space:nowrap; }

.capability-strip { padding-bottom:80px; }
.capability-grid { display:grid; gap:20px; }
.capability-card { border:1px solid var(--line); border-radius:16px; padding:24px; background:var(--white); transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.capability-card:hover { transform:translateY(-4px); border-color:rgba(76,154,42,.42); box-shadow:0 20px 40px -25px rgba(22,35,63,.32); }
.capability-icon { display:flex; width:46px; height:46px; align-items:center; justify-content:center; border-radius:12px; background:var(--green-50); color:var(--green); }
.capability-icon svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.capability-card h2 { margin-top:20px; font-size:18px; font-weight:700; line-height:1.45; }
.capability-card p { margin-top:8px; color:var(--slate); font-size:14px; line-height:1.625; }

.expansion-section { padding-bottom:80px; }
.expansion-panel { position:relative; display:grid; gap:44px; overflow:hidden; border-radius:24px; padding:48px 28px; background:linear-gradient(135deg,var(--navy) 0%,#1b3152 72%,#22483f 100%); box-shadow:0 28px 60px -40px rgba(22,35,63,.7); }
.expansion-panel::after { position:absolute; right:-120px; bottom:-180px; width:360px; height:360px; border:1px solid rgba(255,255,255,.09); border-radius:50%; box-shadow:0 0 0 54px rgba(255,255,255,.025),0 0 0 108px rgba(255,255,255,.018); content:""; pointer-events:none; }
.expansion-copy,.expansion-route { position:relative; z-index:1; }
.expansion-kicker { color:#a9dc91; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.expansion-copy h2 { max-width:620px; margin-top:14px; color:var(--white); font-size:clamp(2rem,4vw,3.2rem); font-weight:800; line-height:1.12; letter-spacing:-.035em; }
.expansion-copy>p:not(.expansion-kicker) { max-width:600px; margin-top:20px; color:rgba(255,255,255,.72); font-size:16px; line-height:1.7; }
.expansion-button { margin-top:28px; background:var(--green); color:var(--white); }
.expansion-button:hover { background:var(--green-600); }
.expansion-route { display:grid; gap:12px; }
.expansion-step { display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; border:1px solid rgba(255,255,255,.13); border-radius:16px; padding:20px; background:rgba(255,255,255,.075); backdrop-filter:blur(8px); }
.expansion-step>span { display:flex; width:42px; height:42px; align-items:center; justify-content:center; border-radius:12px; background:var(--green); color:var(--white); font-family:Manrope,sans-serif; font-size:13px; font-weight:800; }
.expansion-step h3 { color:var(--white); font-size:17px; font-weight:700; }
.expansion-step p { margin-top:5px; color:rgba(255,255,255,.65); font-size:13px; line-height:1.55; }

.process-section { padding-block:80px; background:var(--mist); }
.center-heading { max-width:672px; margin-inline:auto; text-align:center; }
.center-heading>p { color:var(--green); font-size:14px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.center-heading h2 { margin-top:12px; font-size:clamp(1.9rem,3.5vw,2.75rem); font-weight:800; line-height:1.22; letter-spacing:-.03em; }
.process-grid { display:grid; gap:32px; margin-top:56px; }
.process-card { position:relative; }
.process-icon { display:flex; width:56px; height:56px; align-items:center; justify-content:center; border-radius:16px; color:var(--white); }
.process-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.green-bg { background:var(--green); }.navy-bg { background:var(--navy); }
.step-line { display:block; width:48px; height:4px; margin-top:24px; border-radius:999px; }
.process-card h3 { margin-top:20px; font-size:20px; font-weight:700; }
.process-card p { margin-top:12px; color:var(--slate); font-size:15px; line-height:1.625; }

.stats-section { padding-block:64px; }
.stats-grid { display:grid; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--white); }
.stats-grid article { display:flex; align-items:center; gap:16px; padding:28px 32px; border-bottom:1px solid var(--line); }
.stats-grid article:last-child { border-bottom:0; }
.stats-grid article>span { display:flex; width:48px; height:48px; flex:0 0 48px; align-items:center; justify-content:center; border-radius:12px; background:var(--green-50); color:var(--green); }
.stats-grid svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.stats-grid strong { color:var(--navy); font-family:Manrope,sans-serif; font-size:24px; font-weight:800; }
.stats-grid p { color:var(--slate); font-size:14px; }

.cta-section { padding-bottom:80px; }
.cta-card { position:relative; overflow:hidden; border-radius:24px; padding:64px 32px; background:var(--navy); text-align:center; }
.cta-glow-left,.cta-glow-right { position:absolute; display:block; border-radius:50%; filter:blur(64px); }
.cta-glow-left { top:-64px; left:-64px; width:256px; height:256px; background:rgba(76,154,42,.25); }
.cta-glow-right { right:-40px; bottom:-80px; width:288px; height:288px; background:rgba(76,154,42,.15); }
.cta-content { position:relative; max-width:672px; margin-inline:auto; }
.cta-content h2 { color:var(--white); font-size:clamp(1.8rem,3.5vw,2.75rem); font-weight:800; line-height:1.2; letter-spacing:-.03em; }
.cta-content p { margin-top:16px; color:rgba(255,255,255,.7); font-size:18px; }
.cta-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin-top:36px; }
.cta-primary { background:var(--green); color:var(--white); }.cta-primary:hover { background:var(--green-600); }
.cta-secondary { border:1px solid rgba(255,255,255,.25); color:var(--white); }.cta-secondary:hover { background:rgba(255,255,255,.1); }

.site-footer { border-top:1px solid var(--line); background:var(--white); }
.footer-grid { display:grid; gap:40px; padding-top:56px; }
.footer-logo { display:block; width:150px; height:auto; margin:-13px 0 -10px; }
.footer-brand p { max-width:320px; margin-top:16px; color:var(--slate); font-size:14px; line-height:1.625; }
.footer-column h4 { font-size:14px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.footer-column ul { margin-top:16px; }
.footer-column li+li { margin-top:10px; }
.footer-column a { color:var(--slate); font-size:14px; transition:color .15s ease; }
.footer-column a:hover,.footer-bottom a:hover { color:var(--green); }
.footer-bottom { display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:16px; margin-top:48px; border-top:1px solid var(--line); padding-top:24px; padding-bottom:56px; color:var(--slate); font-size:14px; }
.footer-bottom>div { display:flex; gap:24px; }
a:focus-visible,button:focus-visible { outline:3px solid rgba(76,154,42,.35); outline-offset:3px; }

@media (min-width:640px) {
  .header-actions { display:flex; }
  .capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .process-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stats-grid article:nth-child(odd) { border-right:1px solid var(--line); }
  .stats-grid article:nth-child(3) { border-bottom:0; }
  .footer-bottom { flex-direction:row; }
}
@media (min-width:1024px) {
  .container,.nav-shell { padding-inline:40px; }
  .primary-nav { display:flex; }
  .hero-grid { grid-template-columns:1.05fr 1fr; padding-top:56px; padding-bottom:96px; }
  .hero-copy h1 { font-size:clamp(3.45rem,4.35vw,3.85rem); }
  .dashboard-tools { display:flex; }
  .capability-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .expansion-panel { grid-template-columns:1.05fr .95fr; align-items:center; padding:64px; }
  .stats-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .stats-grid article { border-right:1px solid var(--line); border-bottom:0; }
  .stats-grid article:last-child { border-right:0; }
  .footer-grid { grid-template-columns:1.6fr repeat(3,1fr); }
}
@media (max-width:560px) {
  .hero-copy h1 { font-size:2.45rem; }
  .hero-copy h1 br { display:none; }
  .dashboard-shell { grid-template-columns:1fr; }
  .metric-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric-card:last-child { grid-column:1/-1; }
  .button { width:100%; }
}
@media (prefers-reduced-motion:reduce) { :root { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; } }
