/* Nordic Finance Experts — shared styles */
* { margin:0; padding:0; box-sizing:border-box; }
:root{
  --navy:#13294B; --navy-deep:#0C1E3A; --teal:#2E7D8C; --teal-br:#53B8C5; --teal2:#8FEAF2; --pale:#EAF3F5; --ink:#1C2940; --muted:#5D6B7C; --line:#DDE6EA;
  --font-display:'Newsreader', Georgia, 'Times New Roman', serif;
  --font-body:'Hanken Grotesk', system-ui, -apple-system, sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, monospace;
}
html{ scroll-behavior:smooth; }
body{ font-family:var(--font-body); color:var(--ink); background:#fff; line-height:1.65; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }

/* ---------- Nav ---------- */
.sitenav{ background:var(--navy); position:sticky; top:0; z-index:20; box-shadow:0 1px 0 rgba(255,255,255,0.06); }
.sitenav-inner{ max-width:1180px; margin:0 auto; padding:0 32px; min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.logo{ display:flex; align-items:center; gap:13px; text-decoration:none; }
.logo img{ height:34px; width:auto; display:block; }
.logo .logo-div{ width:1px; height:26px; background:rgba(255,255,255,.2); }
.logo-wm{ display:flex; gap:6px; font-family:var(--font-body); font-weight:600; font-size:14.5px; letter-spacing:2.6px; color:#fff; line-height:1; white-space:nowrap; }
.logo-wm .tl{ color:var(--teal-br); }
.sitenav-links{ display:flex; align-items:center; gap:4px; flex-wrap:wrap; justify-content:flex-end; }
.sitenav-links a{ color:rgba(255,255,255,.84); text-decoration:none; font-size:14px; font-weight:600; padding:9px 14px; border:1px solid transparent; border-radius:2px; white-space:nowrap; transition:color .18s ease, background .18s ease; }
.sitenav-links a:hover,.sitenav-links a.active{ color:#fff; background:rgba(255,255,255,.08); }
.sitenav-links a.cta{ background:var(--teal); color:#fff; margin-left:6px; padding:10px 18px; font-weight:700; }
.sitenav-links a.cta:hover{ background:#236878; }
/* Language switch */
.lang-switch{ display:inline-flex; border:1px solid rgba(255,255,255,.22); border-radius:3px; overflow:hidden; margin-left:4px; }
.lang-switch a{ font-family:var(--font-mono); font-size:12px; letter-spacing:.5px; padding:7px 10px; color:rgba(255,255,255,.7); text-decoration:none; transition:background .18s ease, color .18s ease; }
.lang-switch a.active{ background:var(--teal); color:#fff; }
.lang-switch a:not(.active):hover{ background:rgba(255,255,255,.08); color:#fff; }

/* ---------- Hero ---------- */
.hero{ position:relative; overflow:hidden; background:radial-gradient(120% 130% at 78% 8%, #1B3C6E 0%, #13294B 46%, #0C1E3A 100%); color:#fff; padding:104px 32px 0; }
.hero-glow{ position:absolute; right:-8%; top:-22%; width:620px; height:620px; border-radius:50%; background:radial-gradient(circle, rgba(83,184,197,.20), rgba(83,184,197,0) 62%); pointer-events:none; }
.hero-inner{ position:relative; max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1fr .96fr; gap:56px; align-items:center; padding-bottom:88px; }
.hero-copy{ display:flex; flex-direction:column; justify-content:center; }
.kicker{ font-family:var(--font-mono); font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--teal-br); font-weight:500; margin-bottom:22px; display:flex; align-items:center; gap:10px; }
.kicker::before{ content:""; width:26px; height:1px; background:var(--teal-br); display:inline-block; opacity:.8; }
.hero h1{ font-family:var(--font-display); font-weight:500; font-size:47px; line-height:1.1; letter-spacing:-.5px; max-width:640px; margin-bottom:26px; }
.hero h1 em{ color:var(--teal-br); font-style:italic; }
.hero p.lead{ font-size:18px; color:rgba(255,255,255,.82); max-width:600px; margin-bottom:32px; line-height:1.72; }
.btns{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.btn{ display:inline-flex; align-items:center; gap:9px; text-decoration:none; font-size:15px; font-weight:700; padding:14px 26px; border:1.5px solid transparent; border-radius:2px; transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.btn svg{ width:15px; height:15px; }
.btn-primary{ background:var(--teal); color:#fff; }
.btn-primary:hover{ background:#236878; transform:translateY(-2px); box-shadow:0 14px 28px rgba(46,125,140,.34); }
.btn-secondary{ border-color:rgba(255,255,255,.4); color:#fff; }
.btn-secondary:hover{ border-color:#fff; background:rgba(255,255,255,.07); transform:translateY(-2px); }
.micro{ color:rgba(255,255,255,.62); font-size:13px; }

/* ---------- Hero dashboard panel ---------- */
.chart-panel{ position:relative; display:flex; flex-direction:column; background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); border:1px solid rgba(143,234,242,.18); border-radius:8px; padding:18px 18px 16px; backdrop-filter:blur(2px); box-shadow:0 30px 60px rgba(6,16,34,.4); }
.dash-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; gap:16px; }
.dash-head .dh-t{ font-family:var(--font-mono); font-size:11px; letter-spacing:1.8px; text-transform:uppercase; color:var(--teal-br); }
.dash-head .dh-tag{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:10px; color:rgba(255,255,255,.5); letter-spacing:.5px; text-transform:uppercase; }
.dash-head .dh-tag .dot{ width:6px; height:6px; border-radius:50%; background:#5BD08B; box-shadow:0 0 0 3px rgba(91,208,139,.18); animation:livedot 2.4s ease-in-out infinite; }
@keyframes livedot{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }
.kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-bottom:9px; }
.kpi{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:5px; padding:9px 9px 8px; }
.kpi .kl{ display:block; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.6px; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:5px; }
.kpi .kv{ display:block; font-family:var(--font-mono); font-size:18px; font-weight:500; color:#fff; letter-spacing:-.5px; line-height:1; }
.kpi .kv small{ font-size:10px; color:rgba(255,255,255,.6); margin-left:1px; letter-spacing:0; }
.kpi .kd{ display:inline-block; margin-top:6px; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.2px; }
.kpi .kd.up{ color:#5BD08B; }
.kpi .kd.down{ color:var(--teal2); }
.dash-chart{ background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:5px; padding:10px 12px 4px; margin-bottom:9px; }
.dc-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:4px; }
.dc-head span:first-child{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.8px; text-transform:uppercase; color:rgba(255,255,255,.7); }
.dc-head span:last-child{ font-family:var(--font-mono); font-size:12px; color:var(--teal2); letter-spacing:-.3px; }
.chartbox{ position:relative; width:100%; }
.chartbox svg{ display:block; width:100%; height:auto; }
.chart-grid line{ stroke:rgba(255,255,255,.08); stroke-width:1; }
.dash-row{ display:grid; grid-template-columns:1.35fr 1fr; gap:9px; margin-bottom:9px; }
.widget{ background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:5px; padding:11px; display:flex; flex-direction:column; }
.w-head{ display:flex; justify-content:space-between; align-items:baseline; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.6px; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:8px; }
.w-head b{ color:var(--teal2); font-weight:500; font-size:10px; }
.metric-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.ms{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:5px; padding:8px 9px; display:flex; flex-direction:column; gap:4px; }
.ms span{ font-family:var(--font-mono); font-size:8px; letter-spacing:.5px; text-transform:uppercase; color:rgba(255,255,255,.5); }
.ms b{ font-family:var(--font-mono); font-size:14px; font-weight:500; color:#fff; letter-spacing:-.3px; }
.bars-svg{ display:block; width:100%; height:auto; margin-top:auto; }
.bar{ transform-box:fill-box; transform-origin:bottom; }
.donut-wrap{ position:relative; flex:1; display:flex; align-items:center; justify-content:center; }
.donut-svg{ display:block; width:92px; height:92px; }
.donut-center{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.donut-center .dnum{ font-family:var(--font-mono); font-size:15px; font-weight:500; color:#fff; line-height:1; }
.donut-center .dlab{ font-family:var(--font-mono); font-size:7.5px; letter-spacing:.5px; text-transform:uppercase; color:rgba(255,255,255,.5); margin-top:3px; }
/* Progressive-enhancement animation defaults (final/visible by default) */
.chart-area{ opacity:1; }
.chart-line{ fill:none; stroke:var(--teal-br); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:0; }
.chart-end{ opacity:1; }
.chart-end .halo{ transform-origin:center; animation:pulse 2.6s ease-in-out 1s infinite; }
.chart-axis{ font-family:var(--font-mono); font-size:9.5px; fill:rgba(255,255,255,.5); letter-spacing:.5px; }
.chart-annot{ opacity:1; }
.chart-annot text{ font-family:var(--font-mono); font-size:9.5px; fill:rgba(255,255,255,.78); letter-spacing:.3px; }
.chart-panel.play .chart-line{ animation:draw 1.7s cubic-bezier(.22,.61,.36,1) .15s forwards; }
.chart-panel.play .chart-area{ animation:areaIn 1s ease .1s forwards; }
.chart-panel.play .chart-end{ animation:dotIn .5s ease 1.5s forwards; }
.chart-panel.play .chart-annot{ animation:areaIn .6s ease 1.4s forwards; }
@keyframes draw{ from{ stroke-dashoffset:1; } to{ stroke-dashoffset:0; } }
.kpi{ opacity:1; }
.chart-panel.play .kpi{ animation:kpiIn .55s ease forwards; }
.chart-panel.play .kpi:nth-child(1){ animation-delay:.04s; }
.chart-panel.play .kpi:nth-child(2){ animation-delay:.1s; }
.chart-panel.play .kpi:nth-child(3){ animation-delay:.16s; }
.chart-panel.play .kpi:nth-child(4){ animation-delay:.22s; }
@keyframes kpiIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.bar{ transform:scaleY(1); }
.chart-panel.play .bar{ animation:barGrow .6s cubic-bezier(.22,.61,.36,1) forwards; }
.chart-panel.play .bar:nth-child(1){ animation-delay:.18s; }
.chart-panel.play .bar:nth-child(2){ animation-delay:.24s; }
.chart-panel.play .bar:nth-child(3){ animation-delay:.30s; }
.chart-panel.play .bar:nth-child(4){ animation-delay:.36s; }
.chart-panel.play .bar:nth-child(5){ animation-delay:.42s; }
.chart-panel.play .bar:nth-child(6){ animation-delay:.48s; }
.chart-panel.play .bar:nth-child(7){ animation-delay:.54s; }
@keyframes barGrow{ from{ transform:scaleY(0); } to{ transform:scaleY(1); } }
.donut-val{ stroke-dashoffset:45.24; }
.chart-panel.play .donut-val{ animation:donutSweep 1.2s cubic-bezier(.22,.61,.36,1) .3s forwards; }
@keyframes donutSweep{ from{ stroke-dashoffset:251.33; } to{ stroke-dashoffset:45.24; } }
.chart-panel.settled .chart-line,
.chart-panel.settled .chart-area,
.chart-panel.settled .chart-end,
.chart-panel.settled .chart-annot,
.chart-panel.settled .kpi,
.chart-panel.settled .bar,
.chart-panel.settled .donut-val{ animation:none !important; }
.chart-panel.settled .chart-area,
.chart-panel.settled .chart-end,
.chart-panel.settled .chart-annot,
.chart-panel.settled .kpi{ opacity:1 !important; transform:none !important; }
.chart-panel.settled .chart-line{ stroke-dashoffset:0 !important; }
.chart-panel.settled .bar{ transform:scaleY(1) !important; }
.chart-panel.settled .donut-val{ stroke-dashoffset:45.24 !important; }
@keyframes areaIn{ to{ opacity:1; } }
@keyframes dotIn{ from{ opacity:0; transform:scale(.4); } to{ opacity:1; transform:scale(1); } }
@keyframes pulse{ 0%,100%{ opacity:.5; r:13; } 50%{ opacity:0; r:22; } }

/* ---------- Stat band ---------- */
.statband{ position:relative; background:rgba(10,24,46,.55); border-top:1px solid rgba(143,234,242,.14); }
.statband-inner{ max-width:1180px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:repeat(4,1fr); }
.statband .stat{ padding:30px 26px; border-left:1px solid rgba(255,255,255,.08); }
.statband .stat:first-child{ border-left:0; }
.statband .n{ font-family:var(--font-mono); font-size:34px; font-weight:500; color:var(--teal2); letter-spacing:-1px; line-height:1; margin-bottom:11px; min-height:48px; display:flex; align-items:flex-end; }
.statband .l{ font-size:13px; color:rgba(255,255,255,.72); line-height:1.5; }

/* ---------- Page hero (secondary pages) ---------- */
.page-hero{ position:relative; overflow:hidden; background:radial-gradient(120% 150% at 82% 0%, #1B3C6E 0%, #13294B 55%, #0C1E3A 100%); color:#fff; padding:88px 32px 66px; }
.page-hero .wrap{ position:relative; }
.page-hero h1{ font-family:var(--font-display); font-weight:500; font-size:46px; line-height:1.12; letter-spacing:-.5px; margin-bottom:18px; max-width:840px; }
.page-hero h1 em{ color:var(--teal-br); font-style:italic; }
.page-hero p{ color:rgba(255,255,255,.8); font-size:18px; max-width:700px; line-height:1.7; }
.page-hero .kicker{ color:var(--teal-br); }

/* ---------- Sections ---------- */
.sec{ padding:88px 32px; }
.sec-alt{ background:var(--pale); }
.sec-dark{ background:radial-gradient(120% 130% at 80% 0%, #1B3C6E, #13294B 60%); color:#fff; }
.wrap{ max-width:1180px; margin:0 auto; }
.section-head{ max-width:780px; margin-bottom:46px; }
.section-head h2,.sec-ttl{ font-family:var(--font-display); font-weight:500; font-size:38px; line-height:1.18; color:var(--navy); letter-spacing:-.4px; margin-bottom:16px; }
.sec-dark .section-head h2,.sec-dark .sec-ttl{ color:#fff; }
.section-head p{ color:var(--muted); font-size:16.5px; max-width:760px; }
.sec-dark .section-head p{ color:rgba(255,255,255,.76); }
.section-head .kicker{ color:var(--teal); margin-bottom:16px; }
.sec-dark .section-head .kicker{ color:var(--teal-br); }

.cards3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.card{ position:relative; background:#fff; border:1px solid var(--line); border-radius:4px; padding:32px 28px 30px; box-shadow:0 18px 36px rgba(19,41,75,.06); overflow:hidden; transition:transform .22s ease, box-shadow .22s ease; }
.card::before{ content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:linear-gradient(90deg,var(--teal),var(--teal-br)); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.card:hover{ transform:translateY(-4px); box-shadow:0 24px 44px rgba(19,41,75,.1); }
.card:hover::before{ transform:scaleX(1); }
.card .ci{ width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:3px; background:var(--pale); color:var(--teal); margin-bottom:18px; }
.card .ci svg{ width:22px; height:22px; }
.card h3{ font-family:var(--font-display); font-weight:600; color:var(--navy); font-size:21px; margin-bottom:11px; }
.card p{ color:#3A4658; font-size:15px; }

.results{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.result{ background:#fff; border:1px solid var(--line); border-radius:4px; padding:30px 26px; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.result:hover{ transform:translateY(-4px); box-shadow:0 20px 40px rgba(19,41,75,.1); border-color:rgba(46,125,140,.3); }
.result .label{ font-family:var(--font-mono); color:var(--teal); font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; margin-bottom:16px; display:inline-block; }
.result h3{ font-family:var(--font-display); font-weight:600; color:var(--navy); font-size:21px; margin-bottom:12px; }
.result p{ color:#3A4658; font-size:15px; }
.result .metric{ font-family:var(--font-mono); font-size:26px; font-weight:500; color:var(--teal); letter-spacing:-.5px; margin-bottom:6px; display:block; }

.split{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.text h2{ font-family:var(--font-display); font-weight:500; font-size:36px; color:var(--navy); line-height:1.2; letter-spacing:-.4px; margin-bottom:18px; }
.sec-dark .text h2{ color:#fff; }
.text p{ margin-bottom:16px; color:#3A4658; font-size:16px; }
.sec-dark .text p{ color:rgba(255,255,255,.78); }
.checks{ list-style:none; display:grid; gap:12px; }
.checks li{ background:#fff; border:1px solid var(--line); border-left:3px solid var(--teal); border-radius:3px; padding:18px 20px; color:#3A4658; font-size:15px; box-shadow:0 10px 24px rgba(19,41,75,.05); transition:transform .2s ease, box-shadow .2s ease; }
.checks li:hover{ transform:translateY(-3px); box-shadow:0 16px 30px rgba(19,41,75,.1); }
.checks li strong{ color:var(--navy); }

.cta-band{ display:grid; grid-template-columns:1.4fr .6fr; gap:48px; align-items:center; }
.cta-band .btn-primary{ background:var(--teal); }

/* ---------- Services grid ---------- */
.service-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.service-card{ background:#fff; padding:36px 32px; transition:background .2s ease; }
.service-card:hover{ background:#F7FBFC; }
.num{ font-family:var(--font-mono); color:var(--teal); font-size:12px; letter-spacing:2px; font-weight:600; margin-bottom:16px; }
.service-card h2{ font-family:var(--font-display); font-weight:600; color:var(--navy); font-size:23px; line-height:1.25; margin-bottom:14px; }
.service-card p{ color:#3A4658; font-size:15px; margin-bottom:13px; }
.tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.tag{ font-family:var(--font-mono); background:var(--pale); color:var(--teal); font-size:11px; font-weight:500; letter-spacing:.5px; padding:6px 11px; border-radius:3px; }

/* ---------- About: profile / sidebar / timeline ---------- */
.profile-grid{ display:grid; grid-template-columns:1fr 340px; gap:64px; align-items:start; }
.profile-text h2{ font-family:var(--font-display); font-weight:500; color:var(--navy); font-size:32px; line-height:1.22; letter-spacing:-.3px; margin-bottom:22px; }
.profile-text p{ color:#3A4658; margin-bottom:17px; font-size:16px; }
.sidebar{ position:sticky; top:92px; display:flex; flex-direction:column; gap:14px; }
.sidebar img{ width:100%; display:block; border-radius:5px; border-top:3px solid var(--teal); }
.side-card{ background:var(--navy); color:#fff; padding:22px 20px; border-radius:5px; }
.side-card h3{ font-family:var(--font-mono); color:var(--teal-br); font-size:11px; letter-spacing:1.6px; text-transform:uppercase; margin-bottom:13px; }
.side-card ul{ list-style:none; display:grid; gap:8px; }
.side-card li{ color:rgba(255,255,255,.82); font-size:13.5px; border-left:2px solid var(--teal); padding-left:11px; }
.timeline{ display:grid; gap:0; }
.ti{ position:relative; padding-left:30px; padding-bottom:34px; border-left:2px solid #DCE5EA; }
.ti:last-child{ border-left-color:transparent; padding-bottom:0; }
.ti:before{ content:""; position:absolute; left:-6px; top:5px; width:10px; height:10px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 3px var(--pale); }
.ty{ font-family:var(--font-mono); color:var(--teal); font-size:12px; font-weight:600; letter-spacing:1px; margin-bottom:4px; }
.tr{ font-family:var(--font-display); color:var(--navy); font-size:18px; font-weight:600; margin-bottom:2px; }
.tc{ color:#7D8793; font-size:13.5px; margin-bottom:8px; }
.td{ color:#3A4658; font-size:14.5px; max-width:680px; }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.contact-info h2{ font-family:var(--font-display); font-weight:500; color:var(--navy); font-size:30px; margin-bottom:16px; letter-spacing:-.3px; }
.contact-info p{ color:#3A4658; margin-bottom:26px; font-size:16px; }
.contact-details{ display:grid; gap:11px; margin-bottom:24px; }
.contact-item{ background:var(--pale); border-left:3px solid var(--teal); padding:15px 18px; border-radius:3px; transition:transform .2s ease; }
.contact-item:hover{ transform:translateX(3px); }
.contact-item .label{ font-family:var(--font-mono); color:var(--teal); font-size:10px; letter-spacing:1.4px; text-transform:uppercase; font-weight:600; margin-bottom:5px; }
.contact-item a,.contact-item span{ color:var(--navy); font-weight:600; text-decoration:none; }
.availability-card{ background:var(--navy); color:#fff; padding:24px 22px; border-radius:5px; }
.availability-card h3{ font-family:var(--font-mono); color:var(--teal-br); font-size:11px; letter-spacing:1.6px; text-transform:uppercase; margin-bottom:12px; }
.availability-card p{ color:rgba(255,255,255,.8); font-size:14.5px; margin:0; }
.contact-form-wrapper{ background:#fff; border:1px solid var(--line); border-radius:6px; padding:30px; box-shadow:0 18px 36px rgba(19,41,75,.06); }
.form-group{ margin-bottom:17px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label{ display:block; font-family:var(--font-mono); color:var(--navy); font-size:11px; font-weight:500; letter-spacing:.5px; text-transform:uppercase; margin-bottom:7px; }
input,textarea,select{ width:100%; padding:13px 14px; border:1px solid #D7E0E6; border-radius:3px; font-size:15px; font-family:var(--font-body); color:var(--ink); background:#fff; }
textarea{ min-height:130px; resize:vertical; }
input:focus,textarea:focus,select:focus{ outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(46,125,140,.12); }
.submit{ width:100%; background:var(--teal); color:#fff; border:0; border-radius:3px; padding:15px 28px; font-size:15px; font-weight:700; cursor:pointer; font-family:var(--font-body); transition:background .18s ease, transform .18s ease; }
.submit:hover{ background:#236878; transform:translateY(-1px); }
.success-msg{ display:none; background:var(--pale); border-left:3px solid var(--teal); padding:20px; color:var(--navy); margin-top:20px; border-radius:3px; }

/* ---------- Footer ---------- */
footer{ background:var(--navy); color:#fff; padding:54px 32px 30px; border-top:3px solid var(--teal); }
.fi{ max-width:1180px; margin:0 auto 34px; display:flex; justify-content:space-between; align-items:flex-start; gap:32px; }
.fl{ font-family:var(--font-display); font-size:21px; font-weight:600; margin-bottom:10px; }
.fl span{ color:var(--teal-br); }
.ft{ color:rgba(255,255,255,.58); font-size:14px; line-height:1.6; max-width:340px; }
.fn{ display:flex; flex-direction:column; gap:9px; text-align:right; }
.fn a{ color:rgba(255,255,255,.68); text-decoration:none; font-size:14px; transition:color .18s ease; }
.fn a:hover{ color:#fff; }
.fb{ max-width:1180px; margin:0 auto; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:20px; }
.fb p,.fc a{ color:rgba(255,255,255,.42); font-size:12px; text-decoration:none; }
.fc{ display:flex; gap:18px; flex-wrap:wrap; }
.fc a{ font-family:var(--font-mono); }

/* ---------- Reveal ---------- */
.reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:none; }

@media(max-width:900px){
  .sitenav-inner{ padding:12px 18px; min-height:0; flex-wrap:wrap; align-items:center; gap:0; }
  .navtoggle{ display:flex; margin-left:auto; }
  .sitenav-links{ display:none; flex-basis:100%; width:100%; flex-direction:column; align-items:stretch; gap:0; padding-top:12px; }
  .sitenav-inner.open .sitenav-links{ display:flex; }
  .sitenav-links a{ padding:13px 6px; font-size:15px; border-bottom:1px solid rgba(255,255,255,.08); border-radius:0; }
  .sitenav-links a.cta{ margin-left:0; margin-top:12px; text-align:center; justify-content:center; border-radius:3px; border-bottom:0; }
  .lang-switch{ margin:12px 0 2px; align-self:flex-start; }
  .logo-wm{ font-size:12px; letter-spacing:1.6px; }
  .logo img{ height:30px; }
  .hero{ padding:60px 22px 0; }
  .hero-inner{ grid-template-columns:1fr; gap:40px; padding-bottom:60px; }
  .hero h1{ font-size:36px; }
  .statband-inner{ grid-template-columns:1fr 1fr; }
  .statband .stat{ border-left:0; border-top:1px solid rgba(255,255,255,.08); }
  .statband .stat:nth-child(-n+2){ border-top:0; }
  .split,.cards3,.results,.cta-band,.service-grid,.profile-grid,.contact-grid{ grid-template-columns:1fr; gap:36px; }
  .statgrid{ grid-template-columns:1fr 1fr; }
  .sec{ padding:58px 22px; }
  .section-head h2,.sec-ttl{ font-size:30px; }
  .text h2{ font-size:28px; }
  .page-hero{ padding:54px 22px 44px; }
  .page-hero h1{ font-size:32px; }
  .sidebar{ position:static; }
  .form-row{ grid-template-columns:1fr; }
  .fi,.fb{ flex-direction:column; }
  .fn{ text-align:left; }
}
@media (prefers-reduced-motion: reduce){
  .chart-area,.chart-line,.chart-end,.chart-annot,.chart-end .halo,.kpi,.bar,.donut-val,.dash-head .dh-tag .dot{ animation:none !important; opacity:1 !important; stroke-dashoffset:0 !important; transform:none !important; }
  .donut-val{ stroke-dashoffset:45.24 !important; }
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .card,.result,.checks li,.contact-item,.card::before{ transition:none !important; }
}

/* ---------- Content / legal pages ---------- */
.prose{ max-width:760px; }
.prose h2{ font-family:var(--font-display); font-weight:600; color:var(--navy); font-size:24px; margin:34px 0 12px; letter-spacing:-.2px; }
.prose h2:first-child{ margin-top:0; }
.prose p{ color:#3A4658; font-size:16px; margin-bottom:14px; }
.prose ul{ margin:0 0 16px 20px; color:#3A4658; font-size:16px; }
.prose li{ margin-bottom:7px; }
.prose a{ color:var(--teal); }
.prose .upd{ font-family:var(--font-mono); font-size:12px; letter-spacing:.5px; text-transform:uppercase; color:var(--muted); margin-bottom:26px; }
.form-note{ font-size:12.5px; color:var(--muted); margin-top:14px; line-height:1.55; }
.form-note a{ color:var(--teal); }

/* Country-code chips in the stat band */
/* ---------- Results stat grid (homepage) ---------- */
.statgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.stattile{ background:#fff; padding:26px 22px 24px; display:flex; flex-direction:column; transition:background .2s ease; }
.stattile:hover,.stattile:hover{ background:#F7FBFC; }
.stattile .sl{ font-family:var(--font-mono); color:var(--teal); font-size:10.5px; font-weight:600; letter-spacing:1.6px; text-transform:uppercase; margin-bottom:14px; }
.stattile .sn{ font-family:var(--font-mono); font-size:33px; font-weight:500; color:var(--navy); letter-spacing:-1px; line-height:1; margin-bottom:10px; }
.stattile .sn em{ color:var(--teal); font-style:normal; }
.stattile .sc{ color:#3A4658; font-size:13.5px; line-height:1.5; margin-top:auto; }
.stattile .sc b{ color:var(--navy); font-weight:600; }

/* ---------- Investor / transaction band ---------- */
.invest-lead{ max-width:760px; margin-bottom:34px; }
.investors{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:26px; }
.investors .iv{ font-family:var(--font-display); font-weight:600; font-size:18px; color:#fff; background:rgba(255,255,255,.05); border:1px solid rgba(143,234,242,.22); border-radius:5px; padding:13px 20px; letter-spacing:.2px; transition:border-color .2s ease, background .2s ease; }
.investors .iv:hover{ border-color:rgba(143,234,242,.5); background:rgba(255,255,255,.08); }
.invest-note{ color:rgba(255,255,255,.62); font-size:14px; max-width:760px; line-height:1.6; }
.invest-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.invest-tags span{ font-family:var(--font-mono); font-size:11px; letter-spacing:.5px; color:var(--teal-br); background:rgba(143,234,242,.08); border:1px solid rgba(143,234,242,.18); border-radius:3px; padding:6px 11px; }

/* Mobile nav toggle (hamburger) */
.navtoggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; padding:0 10px; background:transparent; border:1px solid rgba(255,255,255,.22); border-radius:4px; cursor:pointer; }
.navtoggle span{ display:block; height:2px; width:100%; background:#fff; border-radius:2px; transition:transform .22s ease, opacity .18s ease; }
.sitenav-inner.open .navtoggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.sitenav-inner.open .navtoggle span:nth-child(2){ opacity:0; }
.sitenav-inner.open .navtoggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.statband .n.flags{ display:grid; grid-template-columns:repeat(3,max-content); gap:5px; align-content:end; }
.statband .n.flags span{ font-family:var(--font-mono); font-size:13px; font-weight:500; color:var(--teal2); background:rgba(143,234,242,.10); border:1px solid rgba(143,234,242,.24); border-radius:4px; padding:4px 7px; line-height:1; letter-spacing:.4px; text-align:center; }
