:root {
  --navy-950: #07121f;
  --navy-900: #0b1c2d;
  --navy-800: #12324d;
  --navy-700: #1b4a6a;
  --steel: #5f7688;
  --gold-500: #c99a45;
  --gold-400: #ddb86f;
  --gold-200: #f0dfbd;
  --paper: #ffffff;
  --mist: #f3f5f7;
  --line: rgba(16, 47, 72, .13);
  --text: #142c3f;
  --muted: #5c7180;
  --shadow-sm: 0 12px 34px rgba(13, 39, 60, .08);
  --shadow-lg: 0 28px 75px rgba(4, 18, 31, .20);
  --radius: 18px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--paper); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.66; -webkit-font-smoothing: antialiased; }
html[lang="ja"] body { font-family: "FXCityPro JP", "Noto Sans JP", Inter, system-ui, sans-serif; line-height: 1.78; }
html[lang="ja"] h1, html[lang="ja"] h2, html[lang="ja"] h3 { letter-spacing: -.025em; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; padding: 12px 18px; background: #fff; color: var(--navy-950); border-radius: 8px; }
.skip-link:focus { top: 16px; }
.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; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(7, 18, 31, .96); border-bottom: 1px solid rgba(221, 184, 111, .19); box-shadow: 0 10px 35px rgba(0,0,0,.16); backdrop-filter: blur(18px); }
.nav { min-height: 78px; display: flex; align-items: center; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: #fff; text-decoration: none; font-size: 1.18rem; font-weight: 850; letter-spacing: -.03em; white-space: nowrap; }
.brand-mark { display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid rgba(221,184,111,.48); border-radius: 8px; background: linear-gradient(145deg, rgba(221,184,111,.17), rgba(201,154,69,.04)); color: var(--gold-400); box-shadow: inset 0 1px rgba(255,255,255,.08); }
.brand em { color: var(--gold-400); font-style: normal; }
.nav-links { display: flex; align-items: center; gap: 3px; margin-left: auto; }
.nav-links a { padding: 10px 12px; color: #b9c7d1; text-decoration: none; font-size: .92rem; font-weight: 650; border-radius: 7px; transition: .2s ease; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: #fff; background: rgba(255,255,255,.07); }
.nav-links a[aria-current="page"] { box-shadow: inset 0 -2px var(--gold-500); }
.lang-switch { display: flex; align-items: center; gap: 2px; margin-left: 6px; padding-left: 9px; border-left: 1px solid rgba(255,255,255,.13); }
.lang-switch a { padding: 8px 6px; text-align: center; border-radius: 6px; color: #9dafbd; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.lang-switch > span { color: rgba(255,255,255,.22); font-size: .7rem; }
.lang-switch a.active { color: var(--navy-950); background: linear-gradient(120deg, var(--gold-400), #efd79f); box-shadow: 0 7px 20px rgba(201,154,69,.18); }
.language-select-wrap { display: none; }
.language-select { width: 100%; min-height: 46px; padding: 9px 38px 9px 12px; border: 1px solid rgba(221,184,111,.3); border-radius: 8px; color: #fff; background: #0b1c2d; font: inherit; font-weight: 700; }
.menu-toggle { display: none; margin-left: auto; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.17); border-radius: 8px; background: rgba(255,255,255,.04); color: #fff; font-size: 1.3rem; }

.hero { --hero-parallax: 0px; position: relative; isolation: isolate; overflow: hidden; min-height: 640px; padding: 100px 0 165px; color: #fff; background: linear-gradient(90deg, rgba(5,15,26,.90) 0%, rgba(8,24,39,.78) 43%, rgba(9,27,43,.39) 76%, rgba(7,20,33,.27) 100%), linear-gradient(180deg, rgba(5,15,26,.02), rgba(5,15,26,.35)), url("../images/hero-bg.webp") center 47% / cover no-repeat; background-position: center calc(47% + var(--hero-parallax)); }
.hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(105deg, rgba(201,154,69,.08), transparent 36%, rgba(67,116,150,.08)); background-size: 170% 100%; animation: hero-light 20s ease-in-out infinite alternate; pointer-events: none; }
.hero::after { content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; right: -180px; top: -260px; border: 1px solid rgba(221,184,111,.18); border-radius: 50%; box-shadow: inset 0 0 80px rgba(221,184,111,.04); pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: 1.07fr .93fr; gap: 62px; align-items: center; }
.hero-grid-home { grid-template-columns: minmax(0, 820px); justify-content: start; }
.hero-home { min-height: 630px; background-position: center calc(43% + var(--hero-parallax)); }
.hero-home .lead { max-width: 700px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 21px; padding: 7px 11px; border: 1px solid rgba(221,184,111,.31); border-radius: 999px; background: rgba(7,18,31,.46); color: var(--gold-200); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(7px); }
.eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--gold-400); box-shadow: 0 0 10px rgba(221,184,111,.65); }
h1, h2, h3 { margin-top: 0; line-height: 1.12; letter-spacing: -.035em; }
h1 { max-width: 800px; margin-bottom: 23px; font-size: clamp(2.65rem, 5.8vw, 5rem); }
h2 { margin-bottom: 18px; font-size: clamp(2rem, 4vw, 3.15rem); }
h3 { font-size: 1.25rem; }
.gradient-text { background: linear-gradient(92deg, #fff 0%, #f0dfbd 43%, #d6ae61 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lead { max-width: 730px; margin: 0 0 31px; color: #c8d3db; font-size: clamp(1.04rem, 2vw, 1.2rem); }
.reviewed { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 11px; border: 1px solid rgba(221,184,111,.25); border-radius: 8px; color: #b8c7d2; background: rgba(7,18,31,.44); font-size: .79rem; }
.reviewed span { color: var(--gold-400); font-weight: 900; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; }
.btn { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 8px; padding: 12px 20px; border: 1px solid transparent; border-radius: 8px; text-decoration: none; font-weight: 800; transition: transform .32s cubic-bezier(.2,.7,.2,1), box-shadow .32s ease, border-color .32s ease, background-color .32s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #101d28; background: linear-gradient(115deg, var(--gold-500), #e5c781); box-shadow: 0 13px 30px rgba(201,154,69,.21); }
.btn-secondary { color: #fff; border-color: rgba(255,255,255,.25); background: rgba(8,22,36,.54); backdrop-filter: blur(8px); }
.btn-secondary:hover { border-color: rgba(221,184,111,.55); }
.btn-small { min-height: 42px; padding: 9px 14px; font-size: .88rem; }
.hero-visual { position: relative; min-height: 450px; display: grid; place-items: center; }
.hero-visual picture { display: grid; place-items: center; }
.hero-visual::before { content: ""; position: absolute; inset: 9% 3%; border: 1px solid rgba(221,184,111,.15); border-radius: 50%; background: radial-gradient(circle, rgba(10,29,46,.18), rgba(6,18,30,.37) 44%, transparent 69%); backdrop-filter: blur(1px); }
.hero-visual img { position: relative; z-index: 1; max-height: 515px; object-fit: contain; filter: drop-shadow(0 32px 31px rgba(0,0,0,.55)); }
.metric-float { position: absolute; z-index: 2; right: 0; bottom: 38px; max-width: 230px; padding: 16px 18px; border: 1px solid rgba(221,184,111,.28); border-radius: 10px; background: rgba(6,18,30,.86); box-shadow: var(--shadow-lg); backdrop-filter: blur(12px); }
.metric-float strong { display: block; color: var(--gold-400); font-size: 1.16rem; }
.metric-float span { color: #aebdca; font-size: .8rem; }

.hero-waves { position: absolute; z-index: 4; left: 0; right: 0; bottom: -1px; width: 100%; height: 174px; overflow: hidden; filter: drop-shadow(0 -8px 20px rgba(4,18,31,.10)); pointer-events: none; }
.hero-waves svg { display: block; width: 100%; height: 100%; overflow: visible; }
.wave-parallax > use { animation: wave-move 28s cubic-bezier(.55,.5,.45,.5) infinite; }
.wave-parallax > use:nth-child(1) { animation-delay: -3s; animation-duration: 14s; fill: rgba(27,65,92,.88); }
.wave-parallax > use:nth-child(2) { animation-delay: -7s; animation-duration: 20s; fill: rgba(114,139,156,.74); }
.wave-parallax > use:nth-child(3) { animation-delay: -11s; animation-duration: 27s; fill: rgba(226,196,137,.45); }
.wave-parallax > use:nth-child(4) { animation-delay: -15s; animation-duration: 36s; fill: #fff; }
.market-wave-line { fill: none; stroke: rgba(240,207,143,.96); stroke-width: .48; vector-effect: non-scaling-stroke; stroke-linecap: round; filter: drop-shadow(0 0 3px rgba(221,184,111,.62)); stroke-dasharray: 3 2; animation: market-line 18s linear infinite; }
@keyframes wave-move { 0% { transform: translate3d(-90px,0,0); } 100% { transform: translate3d(85px,0,0); } }
@keyframes market-line { to { stroke-dashoffset: -60; } }
@keyframes hero-light { from { background-position: 0% 50%; opacity: .68; } to { background-position: 100% 50%; opacity: 1; } }
.hero.is-offscreen::before, .hero.is-offscreen .wave-parallax > use,
.hero.is-offscreen .market-wave-line { animation-play-state: paused; }

.trust-strip { border-bottom: 1px solid var(--line); background: #fff; box-shadow: 0 15px 40px rgba(10,36,56,.05); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-item { padding: 25px 18px; text-align: center; border-right: 1px solid var(--line); }
.trust-item:last-child { border-right: 0; }
.trust-item strong { display: block; margin-bottom: 4px; color: var(--navy-900); }
.trust-item span { color: var(--muted); font-size: .87rem; }
.section { padding: 94px 0; }
.section-sm { padding: 66px 0; }
.section-muted { background: var(--mist); border-block: 1px solid rgba(16,47,72,.08); }
.section-muted .split .lead { color: #334b5e; }
.section-head { max-width: 780px; margin: 0 auto 46px; text-align: center; }
.section-head p { margin: 0; color: var(--muted); font-size: 1.03rem; }
.kicker { display: block; margin-bottom: 10px; color: #865b1d; font-weight: 850; font-size: .76rem; letter-spacing: .11em; text-transform: uppercase; }

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card { position: relative; overflow: hidden; padding: 29px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); transition: transform .42s cubic-bezier(.2,.7,.2,1), box-shadow .42s ease, border-color .42s ease; }
.card::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg, transparent, var(--gold-500), #7e96a7, transparent); opacity: .88; }
.card-product { display: flex; flex-direction: column; min-height: 100%; }
.product-img { height: 205px; display: grid; place-items: center; margin: -5px 0 14px; background: radial-gradient(circle at 50% 72%, rgba(201,154,69,.09), transparent 54%); }
.product-img picture { display: grid; place-items: center; width: 100%; height: 100%; }
.product-img img { display: block; width: auto; height: 100%; max-width: 82%; max-height: 205px; object-fit: contain; filter: drop-shadow(0 17px 18px rgba(8,25,40,.23)); transition: transform .5s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.tag { padding: 5px 9px; border: 1px solid rgba(27,65,94,.13); border-radius: 999px; background: #f1f4f6; color: #4c6577; font-size: .73rem; font-weight: 750; }
.card p { color: var(--muted); }
.card-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: auto; padding-top: 16px; }
.card-actions .btn { flex: 1 1 130px; }
.card .btn-secondary, .price-card .btn-secondary { color: var(--navy-800); border-color: rgba(18,50,77,.20); background: #fff; }
.text-link { display: inline-flex; align-items: center; gap: 6px; color: #8e651f; text-decoration: none; font-weight: 800; }
.text-link:hover { text-decoration: underline; }

.bundle-offer { position: relative; overflow: hidden; color: #fff; background: linear-gradient(145deg, #071522, #0c293f 56%, #071521); }
.bundle-offer::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 18% 20%, rgba(221,184,111,.12), transparent 35%), linear-gradient(115deg, transparent 55%, rgba(80,125,155,.08)); pointer-events: none; }
.bundle-shell { position: relative; display: grid; grid-template-columns: minmax(0,.92fr) minmax(520px,1.08fr); gap: 45px; align-items: center; }
.bundle-copy .kicker { color: var(--gold-400); }
.bundle-copy h2 { max-width: 650px; margin-bottom: 15px; color: #fff; }
.bundle-copy h2 span { color: var(--gold-400); }
.bundle-copy > p { max-width: 680px; color: #afbfca; }
.bundle-lead { margin-bottom: 9px; color: #f3dfb7 !important; font-size: 1.1rem; font-weight: 800; }
.bundle-products { display: flex; align-items: center; gap: 17px; margin-top: 27px; }
.bundle-products > a { display: grid; grid-template-columns: 66px minmax(0,1fr); align-items: center; gap: 11px; min-width: 0; padding: 10px 13px; border: 1px solid rgba(255,255,255,.11); border-radius: 11px; color: #fff; background: rgba(255,255,255,.035); text-decoration: none; font-size: .77rem; font-weight: 800; transition: border-color .3s ease, background-color .3s ease, transform .3s ease; }
.bundle-products picture { display: grid; place-items: center; width: 66px; height: 80px; }
.bundle-products img { display: block; width: auto; height: 80px; object-fit: contain; filter: drop-shadow(0 10px 9px rgba(0,0,0,.34)); }
.bundle-products > strong { flex: 0 0 auto; color: var(--gold-400); font-size: 1.55rem; }
.bundle-plans { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.bundle-plan { position: relative; display: flex; flex-direction: column; min-height: 100%; padding: 26px; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: rgba(255,255,255,.045); box-shadow: inset 0 1px rgba(255,255,255,.04), 0 20px 45px rgba(0,0,0,.16); backdrop-filter: blur(10px); }
.bundle-plan-featured { border-color: rgba(221,184,111,.46); background: linear-gradient(150deg, rgba(221,184,111,.11), rgba(255,255,255,.045)); }
.bundle-plan h3 { margin: 0 0 8px; color: #fff; }
.bundle-price { margin-bottom: 16px; color: var(--gold-400); font-size: 2.35rem; font-weight: 900; line-height: 1; letter-spacing: -.05em; }
.bundle-price small { display: block; margin-top: 8px; color: #8fa4b4; font-size: .69rem; font-weight: 650; letter-spacing: .02em; }
.bundle-plan ul { display: grid; gap: 9px; margin: 0 0 22px; padding: 0; list-style: none; }
.bundle-plan li { position: relative; padding-left: 20px; color: #bdcbd4; font-size: .84rem; }
.bundle-plan li::before { content: "✓"; position: absolute; left: 0; color: var(--gold-400); font-weight: 900; }
.bundle-plan .btn { width: 100%; margin-top: auto; font-size: .84rem; }
.bundle-badge { position: absolute; right: 15px; top: 15px; padding: 5px 8px; border-radius: 999px; color: #172435; background: linear-gradient(115deg, var(--gold-400), #efd79f); font-size: .6rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }

@media (hover: hover) and (pointer: fine) {
  .bundle-products > a:hover { transform: translateY(-2px); border-color: rgba(221,184,111,.40); background: rgba(255,255,255,.065); }
}

.monitor-snapshot { margin: 17px 0 2px; padding: 17px; border: 1px solid rgba(221,184,111,.24); border-radius: 13px; color: #fff; background: linear-gradient(145deg, #102d45, #071a2a); box-shadow: inset 0 1px rgba(255,255,255,.04), 0 16px 30px rgba(7,26,42,.13); }
.snapshot-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 13px; padding-bottom: 11px; border-bottom: 1px solid rgba(255,255,255,.10); }
.snapshot-head > span { display: inline-flex; align-items: center; gap: 7px; color: var(--gold-200); font-size: .66rem; font-weight: 850; letter-spacing: .08em; }
.snapshot-head i { width: 7px; height: 7px; border-radius: 50%; background: #58c99f; box-shadow: 0 0 10px rgba(88,201,159,.48); }
.snapshot-head small { color: #8fa4b4; font-size: .64rem; white-space: nowrap; }
.snapshot-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.snapshot-metric { min-width: 0; padding: 10px 11px; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; background: rgba(255,255,255,.035); }
.snapshot-metric span { display: block; overflow-wrap: anywhere; color: #8fa4b4; font-size: .64rem; line-height: 1.25; letter-spacing: .04em; text-transform: uppercase; }
.snapshot-metric strong { display: block; margin-top: 3px; color: #fff; font-size: 1.02rem; line-height: 1.15; letter-spacing: -.02em; }
.snapshot-feature { grid-column: 1 / -1; display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 12px 13px; border-color: rgba(221,184,111,.22); background: linear-gradient(100deg, rgba(221,184,111,.12), rgba(255,255,255,.025)); }
.snapshot-feature strong { color: var(--gold-400); font-size: 1.62rem; }
.widget-loading, .widget-fallback { grid-column: 1 / -1; min-height: 94px; display: grid; place-items: center; margin: 0; padding: 16px; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; color: #9eb0bd; background: rgba(255,255,255,.035); font-size: .78rem; text-align: center; }
.fxblue-fallback { display: block; margin-top: 12px; text-align: center; }
.fxblue-fallback[hidden] { display: none; }
.fxblue-fallback img { width: min(100%, 300px); height: auto; border: 1px solid rgba(221,184,111,.24); border-radius: 8px; background: #fff; }
.fxblue-fallback-noscript { margin-top: 14px; }
.live-widget:not(.is-ready) .snapshot-head i { animation: live-pulse 1.5s ease-in-out infinite; }
.live-widget.is-error .snapshot-head i { background: #9eb0bd; box-shadow: none; animation: none; }
@keyframes live-pulse { 50% { opacity: .35; transform: scale(.8); } }
.live-widget.is-ready .snapshot-metric { animation: metric-in .65s cubic-bezier(.2,.7,.2,1) both; }
.live-widget.is-ready .snapshot-metric:nth-child(2) { animation-delay: 55ms; }
.live-widget.is-ready .snapshot-metric:nth-child(3) { animation-delay: 90ms; }
.live-widget.is-ready .snapshot-metric:nth-child(4) { animation-delay: 125ms; }
.live-widget.is-ready .snapshot-metric:nth-child(5) { animation-delay: 160ms; }
.live-widget.is-ready .snapshot-metric:nth-child(6) { animation-delay: 195ms; }
.live-widget.is-ready .snapshot-metric:nth-child(7) { animation-delay: 230ms; }
@keyframes metric-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }

.motion-ready [data-reveal] { opacity: 0; transform: translate3d(0,16px,0); transition: opacity .72s ease, transform .72s cubic-bezier(.2,.7,.2,1); transition-delay: var(--reveal-delay,0ms); }
.motion-ready [data-reveal].is-revealed { opacity: 1; transform: translate3d(0,0,0); }

@media (hover: hover) and (pointer: fine) {
  .card:hover { transform: translateY(-5px); border-color: rgba(201,154,69,.30); box-shadow: 0 22px 52px rgba(13,39,60,.13); }
  .card-product:hover .product-img img { transform: translateY(-3px) scale(1.015); filter: drop-shadow(0 24px 24px rgba(8,25,40,.31)); }
  .monitor-snapshot { transition: transform .4s cubic-bezier(.2,.7,.2,1), border-color .4s ease, box-shadow .4s ease; }
  .monitor-snapshot:hover { transform: translateY(-2px); border-color: rgba(221,184,111,.43); box-shadow: inset 0 1px rgba(255,255,255,.05), 0 20px 38px rgba(7,26,42,.19); }
  .btn-primary:hover { box-shadow: 0 17px 35px rgba(201,154,69,.28); }
}

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; align-items: center; }
.feature-list { display: grid; gap: 14px; padding: 0; list-style: none; }
.feature-list li { position: relative; padding-left: 30px; color: #4b6475; }
.feature-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: #9b6e25; font-weight: 900; }
.media-card { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.media-card img { width: 100%; border-radius: 12px; object-fit: cover; }
.table-wrap { overflow-x: auto; border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.comparison { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.comparison th, .comparison td { padding: 16px 18px; text-align: left; border-bottom: 1px solid var(--line); }
.comparison th { color: #f1e3c4; background: var(--navy-900); font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; }
.comparison td { color: var(--muted); }
.comparison td:first-child { color: var(--navy-900); font-weight: 750; }
.comparison tr:last-child td { border-bottom: 0; }
.specs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 29px; }
.spec { padding: 17px; border: 1px solid rgba(221,184,111,.23); border-radius: 10px; background: rgba(6,18,30,.54); backdrop-filter: blur(8px); }
.spec span { display: block; color: #9fb0bd; font-size: .73rem; text-transform: uppercase; letter-spacing: .08em; }
.spec strong { display: block; margin-top: 4px; color: #fff; font-size: 1.02rem; }

.performance-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 22px; align-items: stretch; }
.monitor-card { display: flex; flex-direction: column; justify-content: center; padding: 33px; border: 1px solid rgba(201,154,69,.28); border-radius: var(--radius); background: linear-gradient(145deg, #102b42, #081a2a); color: #fff; box-shadow: var(--shadow-lg); }
.monitor-card p { color: #b4c2cc; }
.monitor-card .live { display: inline-flex; align-items: center; gap: 8px; color: var(--gold-200); font-weight: 850; font-size: .78rem; letter-spacing: .09em; }
.monitor-card .live::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #5ed0a9; box-shadow: 0 0 12px rgba(94,208,169,.55); }
.chart-frame { min-height: 360px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.chart-frame iframe { display: block; width: 100%; min-height: 340px; border: 0; }
.backtest-card { display: grid; grid-template-columns: 1.05fr .95fr; gap: 34px; align-items: center; padding: 29px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.backtest-preview { overflow: hidden; border: 1px solid rgba(16,47,72,.14); border-radius: 12px; background: #fff; }
.backtest-preview img { display: block; width: 100%; }
.notice { margin-top: 18px; padding: 14px 16px; border-left: 3px solid var(--gold-500); background: #fbf7ee; color: #765c2d; font-size: .87rem; }
.trader-quote { position: relative; margin: 22px 0 0; padding: 20px 22px 18px 26px; overflow: hidden; border: 1px solid rgba(190,143,53,.24); border-left: 3px solid var(--gold-500); border-radius: 0 10px 10px 0; background: linear-gradient(135deg, #fffdf8, #f8f1e3); box-shadow: 0 10px 26px rgba(65,46,16,.06); }
.trader-quote::after { content: '“'; position: absolute; right: 13px; top: -18px; color: rgba(190,143,53,.11); font-family: Georgia, serif; font-size: 6rem; line-height: 1; pointer-events: none; }
.trader-quote blockquote { position: relative; z-index: 1; margin: 0; color: #263f52; font-family: Georgia, 'Times New Roman', serif; font-size: 1.02rem; font-style: italic; line-height: 1.58; }
.trader-quote figcaption { position: relative; z-index: 1; margin-top: 10px; color: #9a6c20; font-size: .78rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }

.pricing { display: grid; grid-template-columns: repeat(2, minmax(0, 430px)); justify-content: center; gap: 22px; }
.price-card { position: relative; padding: 33px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.price-card.featured { border-color: rgba(201,154,69,.47); box-shadow: 0 22px 60px rgba(118,83,30,.13); }
.price-card.featured::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; border-radius: var(--radius) var(--radius) 0 0; background: linear-gradient(90deg, #8e6420, var(--gold-400), #8e6420); }
.price { margin: 12px 0 20px; color: var(--navy-900); font-size: 3rem; font-weight: 900; letter-spacing: -.05em; }
.price small { color: var(--muted); font-size: .86rem; font-weight: 600; }
.price-card .btn { width: 100%; margin-top: 14px; }
.steps { counter-reset: steps; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.step { position: relative; padding: 29px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.step::before { counter-increment: steps; content: "0" counter(steps); display: block; margin-bottom: 22px; color: #9b6e25; font-size: 1.35rem; font-weight: 900; }
.step p { margin-bottom: 0; color: var(--muted); }
.faq { max-width: 900px; margin: 0 auto; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; list-style: none; padding: 22px 44px 22px 0; font-weight: 800; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 18px; color: #9b6e25; font-size: 1.5rem; }
.faq details[open] summary::after { content: "−"; }
.faq details p { margin: 0; padding: 0 44px 22px 0; color: var(--muted); }
.cta-band { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 41px; border: 1px solid rgba(201,154,69,.29); border-radius: 20px; background: linear-gradient(120deg, #0f2b42, #091b2b); color: #fff; box-shadow: var(--shadow-lg); }
.cta-band h2 { margin-bottom: 8px; font-size: clamp(1.75rem,3vw,2.5rem); }
.cta-band p { margin: 0; color: #b6c4ce; }
.contact-section { scroll-margin-top: 92px; }
.contact-band { align-items: stretch; display: grid; grid-template-columns: minmax(0,.82fr) minmax(520px,1.18fr); overflow: hidden; background: radial-gradient(circle at 4% 10%, rgba(221,184,111,.12), transparent 34%), linear-gradient(120deg, #102e46, #071925); }
.contact-copy { align-self: center; }
.contact-copy .kicker { color: var(--gold-400); }
.contact-copy p { max-width: 550px; }
.contact-panel { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.contact-address { display: flex; flex-direction: column; min-width: 0; padding: 21px; border: 1px solid rgba(221,184,111,.22); border-radius: 13px; background: rgba(255,255,255,.055); box-shadow: inset 0 1px rgba(255,255,255,.04); }
.contact-address-alt { border-color: rgba(141,172,191,.23); background: rgba(255,255,255,.035); }
.contact-address > span { color: var(--gold-400); font-size: .67rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.contact-address strong { display: block; margin-top: 8px; overflow-wrap: anywhere; color: #fff; font-size: .95rem; }
.contact-address p { margin: 10px 0 18px; color: #9fb2c0; font-size: .78rem; line-height: 1.5; }
.contact-address .btn { width: 100%; margin-top: auto; white-space: normal; text-align: center; }
.footer-contact-label { display: block; margin-top: 14px; color: var(--gold-400); font-size: .65rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.footer-contact-label + a { margin-top: 3px; overflow-wrap: anywhere; }

.prose { max-width: 860px; margin-inline: auto; }
.prose h2 { margin-top: 54px; font-size: 2rem; }
.prose h3 { margin-top: 32px; }
.prose p, .prose li { color: #4d6677; }
.prose a { color: #8e651f; }
.site-footer { margin-top: 80px; padding: 61px 0 24px; color: #fff; border-top: 1px solid rgba(221,184,111,.18); background: linear-gradient(150deg, #0b1d2e, #06111d); }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 50px; }
.footer-grid p, .footer-grid a { color: #9fb0bd; }
.footer-grid a { display: block; margin: 8px 0; text-decoration: none; }
.footer-grid a:hover { color: var(--gold-400); }
.footer-title { margin-bottom: 12px; color: #fff; font-weight: 850; }
.legal { display: flex; justify-content: space-between; gap: 24px; margin-top: 42px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.10); color: #73899a; font-size: .79rem; }
.back-to-top { position: fixed; z-index: 95; right: 22px; bottom: max(22px, env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: 8px; min-width: 48px; height: 48px; padding: 0 15px; border: 1px solid rgba(221,184,111,.45); border-radius: 9px; color: #f6e8c8; background: rgba(7,18,31,.94); box-shadow: 0 14px 34px rgba(0,0,0,.25); backdrop-filter: blur(10px); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity .2s ease, visibility .2s ease, transform .2s ease, border-color .2s ease; }
.back-to-top:hover { border-color: var(--gold-400); transform: translateY(-2px); }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top > span:first-child { color: var(--gold-400); font-size: 1.2rem; line-height: 1; }
.back-to-top-label { font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

/* V18 knowledge-base guide */
.guide-page { background: #f7f9fb; }
.guide-page main { overflow: hidden; }
.guide-hero { position: relative; isolation: isolate; overflow: hidden; padding: 104px 0 116px; color: #fff; background: radial-gradient(circle at 78% 18%, rgba(221,184,111,.18), transparent 32%), radial-gradient(circle at 12% 88%, rgba(56,115,153,.22), transparent 35%), linear-gradient(135deg, #071521 0%, #0b2940 55%, #071722 100%); }
.guide-hero::after { content: ""; position: absolute; z-index: -1; width: 500px; height: 500px; right: -190px; top: -230px; border: 1px solid rgba(221,184,111,.2); border-radius: 50%; box-shadow: inset 0 0 90px rgba(221,184,111,.05); }
.guide-hero-copy { max-width: 920px; }
.guide-eyebrow, .guide-label { margin: 0 0 13px; color: var(--gold-400); font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.guide-hero h1 { max-width: 900px; margin: 0; color: #fff; font-size: clamp(2.8rem,6.3vw,5.35rem); line-height: .99; letter-spacing: -.052em; }
.guide-lead { max-width: 820px; margin: 25px 0 0; color: #c3d0da; font-size: clamp(1rem,2vw,1.18rem); line-height: 1.72; }
.guide-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.guide-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.guide-meta span { padding: 7px 11px; border: 1px solid rgba(221,184,111,.22); border-radius: 999px; color: #d7e1e8; background: rgba(255,255,255,.045); font-size: .75rem; font-weight: 720; }
.guide-toc-wrap { position: relative; z-index: 3; margin-top: -45px; }
.guide-toc { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; border: 1px solid rgba(13,48,73,.13); border-radius: 16px; background: #fff; box-shadow: 0 22px 58px rgba(8,34,52,.14); }
.guide-toc a { display: grid; place-items: center; min-height: 67px; padding: 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--navy-800); text-align: center; text-decoration: none; font-size: .8rem; font-weight: 800; line-height: 1.35; }
.guide-toc a:nth-child(4n) { border-right: 0; }
.guide-toc a:hover, .guide-toc a:focus { color: #fff; background: var(--navy-800); }
.guide-section { padding: 88px 0; scroll-margin-top: 84px; }
.guide-section-alt { border-block: 1px solid rgba(16,47,72,.08); background: #edf2f5; }
.guide-heading { max-width: 850px; margin-bottom: 35px; }
.guide-heading h2 { margin: 0 0 15px; color: var(--navy-900); font-size: clamp(2rem,4.7vw,3.25rem); line-height: 1.08; letter-spacing: -.04em; }
.guide-heading > p:last-child, .guide-card p, .guide-step p, .guide-callout p, .guide-faq p { color: var(--muted); }
.guide-section .guide-label { color: #704a0e; }
.guide-grid { display: grid; gap: 18px; }
.guide-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.guide-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.guide-card, .guide-step, .guide-callout, .guide-faq { border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.guide-card { padding: 27px; }
.guide-card h3, .guide-callout h3 { margin: 0 0 10px; color: var(--navy-900); font-size: 1.18rem; }
.guide-card p:last-child, .guide-callout p:last-child { margin-bottom: 0; }
.guide-pair { display: block; margin-bottom: 8px; color: #95691e; font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.guide-card ul, .guide-checks { margin: 15px 0 0; padding: 0; list-style: none; }
.guide-card li, .guide-checks li { position: relative; padding: 7px 0 7px 25px; color: #486273; line-height: 1.55; }
.guide-card li::before, .guide-checks li::before { content: "✓"; position: absolute; left: 0; color: #167e61; font-weight: 900; }
.guide-card .btn { margin-top: 18px; }
.guide-card .btn-secondary.btn-small { color: #fff; border-color: var(--navy-800); background: var(--navy-800); backdrop-filter: none; }
.guide-card .btn-secondary.btn-small:hover, .guide-card .btn-secondary.btn-small:focus { border-color: var(--navy-700); background: var(--navy-700); }
.guide-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; counter-reset: guide-step; }
.guide-step { position: relative; padding: 25px 25px 25px 80px; counter-increment: guide-step; }
.guide-step::before { content: counter(guide-step); position: absolute; left: 23px; top: 24px; display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid rgba(201,154,69,.35); border-radius: 10px; color: #4c3510; background: linear-gradient(135deg, #f4e7ca, #d8b365); font-weight: 900; }
.guide-step h3 { margin: 0 0 7px; color: var(--navy-900); font-size: 1.03rem; }
.guide-step p { margin: 0; }
.guide-callout { padding: 26px 28px; border-left: 4px solid var(--navy-700); background: #eef6fa; }
.guide-callout-warning { border-left-color: var(--gold-500); background: #fbf5e9; }
.guide-table-wrap { overflow-x: auto; margin-top: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.guide-table { width: 100%; min-width: 820px; border-collapse: collapse; }
.guide-table th, .guide-table td { padding: 16px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.5; }
.guide-table th { color: #f4e7ce; background: var(--navy-900); font-size: .75rem; letter-spacing: .045em; text-transform: uppercase; }
.guide-table td { color: #506a7a; font-size: .88rem; }
.guide-table tr:last-child td { border-bottom: 0; }
.guide-table th:last-child, .guide-table td:last-child { border-right: 0; }
.guide-faq-list { display: grid; gap: 11px; }
.guide-faq { overflow: hidden; }
.guide-faq summary { position: relative; padding: 20px 54px 20px 23px; color: var(--navy-900); cursor: pointer; font-weight: 800; line-height: 1.45; list-style: none; }
.guide-faq summary::-webkit-details-marker { display: none; }
.guide-faq summary::after { content: "+"; position: absolute; right: 22px; top: 13px; color: var(--gold-500); font-size: 1.75rem; }
.guide-faq[open] summary::after { content: "–"; }
.guide-faq p { margin: 0; padding: 0 23px 22px; }
.guide-final { text-align: center; color: #fff; background: radial-gradient(circle at 50% 0, rgba(221,184,111,.14), transparent 45%), var(--navy-950); }
.guide-final .guide-heading { margin-right: auto; margin-left: auto; }
.guide-final .guide-label { color: var(--gold-400); }
.guide-final .guide-heading h2 { color: #fff; }
.guide-final .guide-heading > p:last-child { color: #b9c8d2; }
.guide-final .guide-actions { justify-content: center; }
.guide-promo { padding: 70px 0; color: #fff; background: radial-gradient(circle at 83% 18%,rgba(221,184,111,.13),transparent 30%),linear-gradient(125deg,#0d3049,#071925); }
.guide-promo-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.guide-promo h2 { margin: 0 0 10px; color: #fff; font-size: clamp(2rem,4vw,3rem); line-height: 1.08; }
.guide-promo p { max-width: 760px; margin: 0; color: #b8c7d1; }
.guide-promo .btn { flex: 0 0 auto; }

.error-page-body { min-height: 100vh; color: #fff; background: var(--navy-950); }
.error-nav { justify-content: space-between; }
.error-languages { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 4px; margin-left: auto; }
.error-languages a { min-width: 38px; padding: 7px 8px; border-radius: 6px; color: #9fb1bf; text-align: center; text-decoration: none; font-size: .72rem; font-weight: 850; }
.error-languages a:hover { color: #fff; background: rgba(255,255,255,.07); }
.error-languages a[aria-current="page"] { color: var(--navy-950); background: linear-gradient(120deg, var(--gold-400), #efd79f); }
.error-main { min-height: calc(100svh - 78px); display: grid; align-items: center; overflow: hidden; padding: 78px 0; background: radial-gradient(circle at 83% 18%,rgba(221,184,111,.13),transparent 28%),radial-gradient(circle at 10% 82%,rgba(50,105,143,.18),transparent 32%),linear-gradient(145deg,#07121f,#0c293f 58%,#071521); }
.error-shell { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); align-items: center; gap: 70px; }
.error-copy { max-width: 700px; }
.error-code { margin: 0 0 -18px; color: rgba(221,184,111,.13); font-size: clamp(7rem,18vw,13rem); font-weight: 950; line-height: .82; letter-spacing: -.085em; }
.error-copy h1 { max-width: 690px; margin-bottom: 18px; color: #fff; font-size: clamp(2.7rem,6vw,5rem); }
.error-lead { max-width: 650px; margin: 0; color: #bac9d3; font-size: clamp(1.02rem,2vw,1.18rem); }
.error-actions { margin-top: 29px; }
.error-contact { margin: 27px 0 0; color: #9fb2c0; font-size: .9rem; }
.error-contact a { color: var(--gold-400); font-weight: 800; }
.error-panel { position: relative; min-height: 360px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 34px; border: 1px solid rgba(221,184,111,.28); border-radius: 22px; background: linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); box-shadow: 0 34px 80px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.08); }
.error-panel::before { content: "404"; position: absolute; right: -14px; top: -49px; color: rgba(255,255,255,.035); font-size: 13rem; font-weight: 950; letter-spacing: -.09em; }
.error-panel > span { position: relative; color: var(--gold-400); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.error-panel > strong { position: relative; display: block; max-width: 330px; margin: 8px 0 23px; color: #fff; font-size: 2rem; line-height: 1.08; }
.error-panel > small { position: relative; margin-top: 17px; color: #a9bac6; }
.error-map { position: relative; height: 76px; display: flex; align-items: flex-end; gap: 10px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.12); }
.error-map i { flex: 1; border-radius: 4px 4px 0 0; background: linear-gradient(180deg,var(--gold-400),rgba(201,154,69,.2)); box-shadow: 0 0 20px rgba(201,154,69,.08); }
.error-map i:nth-child(1) { height: 28%; }
.error-map i:nth-child(2) { height: 57%; }
.error-map i:nth-child(3) { height: 42%; }
.error-map i:nth-child(4) { height: 78%; }
.error-map i:nth-child(5) { height: 64%; }

@media (max-width: 1120px) {
  .nav-links { position: fixed; left: 18px; right: 18px; top: 87px; display: none; flex-direction: column; align-items: stretch; max-height: calc(100dvh - 105px); overflow-y: auto; overscroll-behavior: contain; padding: 16px; border: 1px solid rgba(221,184,111,.20); border-radius: 10px; background: rgba(7,18,31,.99); box-shadow: var(--shadow-lg); }
  .nav-links.open { display: flex; }
  .nav-links a { padding: 12px; }
  .lang-switch-desktop { display: none; }
  .language-select-wrap { display: block; margin-top: 10px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); }
  .menu-toggle { display: block; }
  .hero-grid, .split, .backtest-card, .performance-grid { grid-template-columns: 1fr; }
  .bundle-shell { grid-template-columns: 1fr; }
  .contact-band { grid-template-columns: 1fr; }
  .hero-grid-home { max-width: 760px; margin-left: 0; }
  .hero { min-height: 700px; }
  .hero-visual { min-height: 360px; }
  .hero-visual img { max-height: 405px; }
  .cards { grid-template-columns: 1fr 1fr; }
  .specs { grid-template-columns: 1fr 1fr; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .guide-toc { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .guide-toc a:nth-child(4n) { border-right: 1px solid var(--line); }
  .guide-toc a:nth-child(2n) { border-right: 0; }
  .guide-grid-3 { grid-template-columns: 1fr; }
  .guide-grid-2, .guide-steps { grid-template-columns: 1fr; }
  .guide-promo-inner { display: block; }
  .guide-promo .btn { margin-top: 23px; }
}
@media (max-width: 680px) {
  .container { width: min(100% - 24px,1180px); }
  .hero { min-height: 650px; padding: 70px 0 125px; background-position: 58% calc(50% + var(--hero-parallax)); }
  .hero-grid { gap: 30px; }
  .hero-home { min-height: 610px; background-position: 61% calc(50% + var(--hero-parallax)); }
  h1 { font-size: clamp(2.3rem,11.5vw,3.3rem); }
  .section { padding: 72px 0; }
  .cards, .pricing, .steps, .footer-grid { grid-template-columns: 1fr; }
  .specs { grid-template-columns: 1fr 1fr; gap: 8px; }
  .spec { padding: 13px; }
  .hero-visual { min-height: 315px; }
  .metric-float { right: 0; bottom: 3px; }
  .hero-waves { height: 105px; }
  .product-img { height: 190px; }
  .product-img img { max-height: 190px; }
  .bundle-plans { grid-template-columns: 1fr; }
  .bundle-products { align-items: stretch; gap: 9px; }
  .bundle-products > a { grid-template-columns: 1fr; flex: 1 1 0; text-align: center; }
  .bundle-products > strong { align-self: center; }
  .snapshot-head { align-items: flex-start; flex-direction: column; }
  .back-to-top { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); width: 46px; min-width: 46px; height: 46px; padding: 0; justify-content: center; border-radius: 50%; }
  .back-to-top-label { display: none; }
  .comparison th, .comparison td { min-width: 130px; padding: 13px; }
  .cta-band { padding: 28px; align-items: flex-start; flex-direction: column; }
  .contact-panel { grid-template-columns: 1fr; }
  .legal { flex-direction: column; }
  .guide-hero { padding: 79px 0 81px; }
  .guide-hero h1 { font-size: clamp(2.55rem,13vw,4rem); }
  .guide-section { padding: 68px 0; }
  .guide-toc-wrap { margin-top: -28px; }
  .guide-toc { grid-template-columns: 1fr; }
  .guide-toc a, .guide-toc a:nth-child(2n), .guide-toc a:nth-child(4n) { min-height: 56px; border-right: 0; }
  .guide-step { padding: 75px 21px 22px; }
  .guide-step::before { left: 21px; top: 20px; }
  .guide-card, .guide-callout { padding: 22px; }
}
@media (max-width: 900px) {
  .error-shell { grid-template-columns: 1fr; gap: 38px; }
  .error-panel { min-height: 255px; }
}
@media (max-width: 700px) {
  .error-nav { min-height: 0; flex-wrap: wrap; justify-content: center; padding: 12px 0; gap: 9px; }
  .error-nav .brand { margin-right: auto; }
  .error-languages { width: 100%; margin-left: 0; justify-content: center; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.10); }
  .error-main { min-height: calc(100svh - 128px); padding: 56px 0; }
  .error-code { margin-bottom: -8px; }
  .error-actions { align-items: stretch; flex-direction: column; }
  .error-actions .btn { width: 100%; }
  .error-panel { min-height: 225px; padding: 25px; }
  .error-panel > strong { margin-bottom: 16px; font-size: 1.65rem; }
}
/* Keep mobile motion on transform/opacity and avoid scroll-time blur. */
@media (max-width: 1120px), (pointer: coarse) {
  .hero { --hero-parallax: 0px !important; }
  .hero::before, .market-wave-line { animation: none; }
  .hero-waves, .market-wave-line { filter: none; }
  .site-header, .eyebrow, .btn-secondary, .hero-visual::before,
  .metric-float, .bundle-plan, .spec, .back-to-top { backdrop-filter: none; }
  .live-widget.is-ready .snapshot-metric { animation-duration: .35s; animation-delay: 0s; }
  .motion-ready [data-reveal] { transform: translate3d(0,10px,0); transition: opacity .45s ease, transform .45s cubic-bezier(.2,.7,.2,1); }
  .motion-ready [data-reveal].is-revealed { transform: translate3d(0,0,0); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .motion-ready [data-reveal] { opacity: 1 !important; transform: none !important; }
  .hero { --hero-parallax: 0px !important; }
  .btn:hover, .card:hover, .monitor-snapshot:hover { transform: none !important; }
}

/* FXCityPro V20.1: Simplified Chinese typography and balanced headings. */
html[lang="zh-Hans"] body {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont,
    "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  line-height: 1.8;
  line-break: strict;
}
html[lang="zh-Hans"] h1,
html[lang="zh-Hans"] h2,
html[lang="zh-Hans"] h3 { letter-spacing: 0; line-height: 1.35; }
html[lang="zh-Hans"] h1 { font-size: clamp(32px, 4.2vw, 60px); text-wrap: balance; }
html[lang="zh-Hans"] h2 { font-size: clamp(27px, 3.2vw, 44px); }
html[lang="zh-Hans"] .hero-home h1 .gradient-text {
  display: inline-block;
  white-space: nowrap;
}
html[lang="zh-Hans"] .guide-hero h1 {
  font-size: clamp(32px, 4.2vw, 60px);
  line-height: 1.35;
  letter-spacing: 0;
}
html[lang="zh-Hans"] .eyebrow,
html[lang="zh-Hans"] .guide-label { letter-spacing: .035em; }
html[lang="zh-Hans"] .report-toolbar { font-size: 13px; line-height: 1.75; }
html[lang="zh-Hans"] td {
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;
}
html[lang="zh-Hans"] .report-chart-key {
  width: 820px;
  margin: 10px auto 16px;
  padding: 10px 12px;
  background: #f3f5f7;
  color: #142c3f;
  text-align: left;
  font-size: 13px;
  line-height: 1.75;
}
/* Use the existing scrollable menu in the range where the added language can crowd it. */
@media (min-width: 1121px) and (max-width: 1280px) {
  .nav-links {
    position: fixed; left: 18px; right: 18px; top: 87px;
    display: none; flex-direction: column; align-items: stretch;
    max-height: calc(100dvh - 105px); overflow-y: auto; overscroll-behavior: contain;
    padding: 16px; border: 1px solid rgba(221,184,111,.20); border-radius: 10px;
    background: rgba(7,18,31,.99); box-shadow: var(--shadow-lg);
  }
  .nav-links.open { display: flex; }
  .nav-links a { padding: 12px; }
  .lang-switch-desktop { display: none; }
  .language-select-wrap {
    display: block; margin-top: 10px; padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.12);
  }
  .menu-toggle { display: block; }
}
@media (max-width: 600px) {
  html[lang="zh-Hans"] h1,
  html[lang="zh-Hans"] .guide-hero h1 { font-size: clamp(28px, 8vw, 40px); }
  html[lang="zh-Hans"] h2 { font-size: clamp(24px, 6.2vw, 32px); }
  html[lang="zh-Hans"] .eyebrow { font-size: .72rem; }
}

/* Compact language picker and complete footer row for FXCityPro V21. */
.site-header .nav { gap: 14px; }
.fc-language-picker { position: relative; display: inline-block; flex: 0 0 auto; margin: 0; font-family: inherit; }
.fc-language-current { display: flex; align-items: center; gap: 8px; min-height: 44px; max-width: 208px; margin: 0; padding: 9px 11px; border: 1px solid #5c573e; border-radius: 9px; color: #f0dfbd; background: #0b1c2d; font-size: 13px; font-weight: 700; line-height: 1.35; cursor: pointer; list-style: none; }
.fc-language-current::-webkit-details-marker { display: none; }
.fc-language-current::marker { content: ""; }
.fc-language-current bdi { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fc-language-code { display: none; }
.fc-language-picker .fc-language-flag { display: block; flex: 0 0 24px; width: 24px; height: 18px; max-width: 24px; margin: 0; object-fit: contain; border: 0; border-radius: 2px; }
.fc-language-chevron { display: block; flex: 0 0 12px; margin-inline-start: auto; }
.fc-language-picker[open] .fc-language-chevron { transform: rotate(180deg); }
.fc-language-current:hover, .fc-language-picker[open] > .fc-language-current { border-color: #ddb86f; color: #fff; }
.fc-language-panel { box-sizing: border-box; position: absolute; z-index: 1200; inset-inline-end: 0; top: calc(100% + 10px); width: min(360px, calc(100vw - 32px)); max-height: min(520px, calc(100dvh - 105px)); overflow-y: auto; overscroll-behavior: contain; padding: 14px; border: 1px solid #5c573e; border-radius: 12px; color: #dceaf6; background: #07121f; box-shadow: 0 20px 50px #0006; text-align: start; }
.fc-language-picker:not([open]) > .fc-language-panel { display: none; }
.fc-language-panel > .fc-language-heading { margin: 0 0 10px; color: #f0dfbd; font-size: 13px; font-weight: 700; }
.fc-language-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
.fc-language-picker .fc-language-options > a.fc-language-option { display: flex; align-items: center; gap: 8px; min-height: 46px; margin: 0; padding: 9px 8px; border: 1px solid transparent; border-radius: 8px; color: #dceaf6; font-size: 13px; font-weight: 600; line-height: 1.35; text-decoration: none; text-align: start; white-space: normal; }
.fc-language-option bdi { min-width: 0; overflow-wrap: anywhere; }
.fc-language-picker .fc-language-options > a:hover { background: #12324d; border-color: #516273; }
.fc-language-picker .fc-language-options > a.active { background: #302b20; border-color: #6f592a; color: #f0dfbd; }
.fc-language-current:focus-visible, .fc-language-option:focus-visible, .fc-language-row a:focus-visible { outline: 2px solid #ddb86f; outline-offset: 3px; }
.fc-language-footer { box-sizing: border-box; width: calc(100% - 32px); max-width: 1180px; margin: 24px auto 0; padding: 20px 0 10px; border-top: 1px solid #ffffff20; }
.fc-language-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 5px 7px; }
.fc-language-footer .fc-language-row > a { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 9px; border: 1px solid transparent; border-radius: 7px; color: #c9d9e8; font-size: 13px; font-weight: 600; line-height: 1.4; text-decoration: none; white-space: nowrap; }
.fc-language-footer .fc-language-row > a:hover { color: #fff; background: #12324d; }
.fc-language-footer .fc-language-row > a.active { color: #f0dfbd; background: #302b20; border-color: #6f592a; }
.error-page-body .fc-language-footer { padding: 16px; margin-bottom: 24px; background: #07121f; border-radius: 12px; }
.report-toolbar .fc-report-languages { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 10px; }
.fc-report-languages a[aria-current="page"] { color: #fff; font-weight: 700; }
.fc-report-note, .fc-report-legend { max-width: 820px; margin: 12px auto; color: #142c3f; font: 13px/1.5 Tahoma,Arial,sans-serif; }
.fc-report-note a { color: #164c72; }
html[lang="id"] h1, html[lang="id"] h2, html[lang="id"] h3 { overflow-wrap: break-word; text-wrap: balance; }
@media(max-width:1120px) {
  .site-header .nav > .brand { order: 1; }
  .site-header .fc-language-picker { order: 2; margin-inline-start: auto; }
  .site-header .menu-toggle { order: 3; margin-inline-start: 0; flex: 0 0 44px; }
  .site-header .nav-links { order: 4; }
}
@media(max-width:600px) {
  .site-header .nav { gap: 10px; }
  .fc-language-current { gap: 6px; padding-inline: 8px; }
  .fc-language-current bdi { display: none; }
  .fc-language-code { display: inline; font-size: 12px; }
  .fc-language-panel { position: fixed; top: 84px; left: 16px; right: 16px; width: auto; }
  .fc-language-row { gap: 4px; }
  .fc-language-footer .fc-language-row > a { padding: 8px; font-size: 12px; }
  .report-toolbar .fc-report-languages { justify-content: center; }
}
@media(max-width:360px) {
  .site-header .container { width: calc(100% - 24px); }
  .site-header .brand { gap: 7px; font-size: 1.06rem; }
  .site-header .nav { gap: 7px; }
  .site-header .menu-toggle { width: 40px; flex-basis: 40px; }
}

/* Thai uses a local subset; existing Latin fonts and page styles are retained. */
@font-face { font-family: "FXCityPro Thai"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("../fonts/noto-sans-thai-v22.woff2") format("woff2"); unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC; }
html[lang="th"] body, [lang="th"].fc-language-option, .fc-language-row [lang="th"] { font-family: Inter, "FXCityPro Thai", "Leelawadee UI", Tahoma, Thonburi, system-ui, sans-serif; letter-spacing: normal; }
html[lang="th"] body { line-height: 1.85; }
html[lang="th"] h1, html[lang="th"] h2, html[lang="th"] h3 { letter-spacing: normal; line-height: 1.45; text-wrap: balance; overflow-wrap: break-word; }
html[lang="th"] h1 { font-size: clamp(2rem, 4.5vw, 3.8rem); }
html[lang="th"] h2 { font-size: clamp(1.65rem, 3.4vw, 2.65rem); }
html[lang="th"] .eyebrow, html[lang="th"] .guide-label, html[lang="th"] .kicker { letter-spacing: normal; line-height: 1.6; }
html[lang="th"] .reviewed { flex-wrap: wrap; }
html[lang="th"] td { font-family: Tahoma, "FXCityPro Thai", Arial, sans-serif; font-size: 11px; line-height: 1.55; }
html[lang="th"] .fc-report-legend, html[lang="th"] .fc-report-note { font-family: Tahoma, "FXCityPro Thai", Arial, sans-serif; line-height: 1.7; }

html[lang="th"] body > div[align="center"] > div { font-family: Inter, "FXCityPro Thai", Tahoma, Arial, sans-serif !important; line-height: 1.55; }

/* V23: local Vietnamese glyph coverage, footer order, original MT4 ledger direction. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(../fonts/inter-vietnamese-v23.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 900; font-display: swap; src: url('../fonts/inter-latin-v19-2.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
html[lang="vi"] body, [lang="vi"].fc-language-option, .fc-language-row [lang="vi"] { font-family: Inter, Arial, system-ui, sans-serif; }
html[lang="vi"] body { line-height: 1.75; }
html[lang="vi"] h1, html[lang="vi"] h2, html[lang="vi"] h3 { letter-spacing: normal; text-wrap: balance; overflow-wrap: break-word; }
html[lang="vi"] h1 { font-size: clamp(2rem,4.5vw,3.8rem); line-height: 1.2; }
html[lang="vi"] h2 { line-height: 1.3; }
html[lang="vi"] .eyebrow, html[lang="vi"] .guide-label, html[lang="vi"] .kicker { letter-spacing: normal; }
html[lang="vi"] .reviewed { flex-wrap: wrap; }
html[lang="vi"] td { font-family: Inter, Arial, sans-serif; font-size: 11px; line-height: 1.5; }
html[lang="vi"] .fc-report-legend, html[lang="vi"] .fc-report-note { font-family: Inter, Arial, sans-serif; line-height: 1.7; }
.site-footer .container > .fc-language-footer { width: 100%; margin-top: 24px; }
.site-footer .fc-footer-risk { margin: 20px 0; color: #c9d9e8; font-size: 13px; line-height: 1.65; }
.fc-report-archive { padding: 10px; border-inline-start: 3px solid #94702c; background: #fff6df; }
table.fc-report-ledger, table.fc-report-ledger td { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] table.fc-report-ledger td[align="right"] { text-align: right; }
.fc-report-legend p { text-align: start; }
html[lang="ar"] .fc-report-legend { text-align: right; }


/* V23.1: avoid repainting four large SVG waves on small/touch screens.
   The original background image, wave shapes and desktop animation remain. */
@media (max-width: 1120px), (pointer: coarse) {
  .hero .wave-parallax > use {
    animation: none;
    transform: translate3d(0, 0, 0);
  }
}
