:root {
  --navy: #10243d;
  --navy-2: #193654;
  --emerald: #327b8d;
  --emerald-2: #318ba1;
  --mint: #d9eff5;
  --gold: #b7975e;
  --gold-soft: #f6f1e7;
  --aqua: #39a7a4;
  --ink: #172b42;
  --muted: #61748a;
  --line: #dce6ef;
  --paper: #f2f7fb;
  --white: #fff;
  --red: #ba665a;
  --orange: #c78d53;
  --blue: #5e91ba;
  --shadow: 0 12px 34px rgba(27, 60, 91, .075);
  --sidebar-collapsed: 72px;
  --brand-powder: #e6f1f8;
  --brand-sky: #d7eafa;
  --brand-silver: #cdd8e3;
}

html { scroll-padding-top: 94px; }
body { background: var(--paper); color: var(--ink); font-size: 15px; }
::selection { background: #cde8f0; color: #10243d; }
:focus-visible { outline: 3px solid #56aabd !important; outline-offset: 3px; }
.section-block, section[id], footer[id] { scroll-margin-top: 96px; }
.sidebar { background: linear-gradient(180deg, #10243d 0%, #0a1a2e 100%); box-shadow: 6px 0 24px rgba(16, 36, 61, .08); }
.brand-symbol { border-color: rgba(183, 151, 94, .65); background: linear-gradient(145deg, rgba(215, 234, 250, .15), rgba(66, 135, 164, .17)); }
.brand-symbol svg { stroke: #dfc78f; }
.side-label { color: #91a9bc; }
.nav-link { color: #c0ceda; }
.nav-link:hover { background: rgba(215, 234, 250, .1); color: #fff; }
.nav-link.active { background: linear-gradient(90deg, rgba(76, 148, 177, .3), rgba(76, 148, 177, .07)); }
.nav-link.active:before { background: #d4ba7d; }
.topbar { background: rgba(255, 255, 255, .96); color: var(--ink); border-bottom: 1px solid var(--line); box-shadow: 0 4px 16px rgba(25, 55, 83, .045); backdrop-filter: blur(12px); }
.crumb { color: #788ba0; }
.crumb b { color: #28425d; }
.global-search { color: #6c8094; border-color: #d8e3ed; background: #f6f9fc; }
.global-search input { color: #203b58; }
.global-search input::placeholder { color: #8093a6; }
.global-search kbd { color: #73879a; border-color: #ccd9e4; }
.top-select, .icon-button, .profile-button { color: #34506b; border-color: #dce5ed; }
.top-select:hover, .icon-button:hover, .profile-button:hover { background: #f2f7fb; }
.lang { color: #6c8093; }
.lang.active { color: #19334e; background: #d8e9f3; }
.notification-dot { border-color: #fff; }
.report-button { background: #d5bd84; color: #26374b; }
.report-button:hover { background: #c9ae70; }
.avatar { background: #d9e9f3; color: #244363; }
.profile-name span { color: #8191a2; }
.page-content { max-width: 1840px; padding-top: 25px; }
.workspace-heading { display: grid; grid-template-columns: minmax(300px, 1.05fr) minmax(285px, .88fr) auto; align-items: stretch; gap: 21px; margin-bottom: 19px; }
.workspace-heading > div:first-child { align-self: center; }
.workspace-heading h1 { color: #142b45; font-size: clamp(29px, 2.35vw, 40px); line-height: 1.09; letter-spacing: -.045em; }
.subtitle { max-width: 540px; color: #5e7186; font-size: 14px; }
.eyebrow, .section-kicker { color: #33778d; }
.eyebrow-line { background: #b99a60; }
.period-chip { background: #f8f5ed; border-color: #e6dcc5; color: #806d46; }
.heading-right { align-items: flex-end; justify-content: space-between; }
.trust-badge { border-color: #d8e4ed; box-shadow: 0 5px 16px rgba(27, 60, 91, .055); }
.trust-icon { background: #eaf4f8; color: #347c91; }
.view-switch { background: #e9f0f5; }
.view-button { color: #63768a; }
.view-button.active { color: #173957; }
.hero-actions { display: flex; align-items: center; gap: 15px; margin-top: 16px; }
.hero-actions .primary-button { width: auto; height: 41px; padding: 0 15px; background: #173957; color: white; text-decoration: none; border-radius: 9px; font-size: 12px; }
.hero-actions .primary-button:hover { background: #24506f; transform: translateY(-1px); }
.hero-actions .primary-button svg { width: 16px; height: 16px; }
.hero-secondary, .inline-link { color: #2b6f86; font-size: 12px; font-weight: 750; text-decoration: none; }
.hero-secondary:hover, .inline-link:hover { color: #183c5e; }
.hero-visual { min-width: 0; height: 206px; align-self: center; margin: 0; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.7); border-radius: 19px; background: linear-gradient(130deg, #315d74, #b9d3df); box-shadow: 0 15px 30px rgba(25, 61, 90, .15); }
.hero-visual > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 47%; }
.hero-image-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13, 33, 54, .68), rgba(17, 46, 67, .08) 75%), linear-gradient(0deg, rgba(8, 26, 43, .45), transparent 54%); }
.hero-visual figcaption { position: absolute; inset: auto 17px 14px 17px; display: flex; flex-direction: column; align-items: flex-start; color: #fff; text-shadow: 0 1px 5px rgba(0,0,0,.16); }
.hero-location { display: flex; align-items: center; gap: 7px; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.hero-location i { width: 6px; height: 6px; border-radius: 50%; background: #e1ca91; }
.hero-visual figcaption > b { margin-top: 7px; font: 750 17px/1.06 Manrope, sans-serif; letter-spacing: -.02em; }
.hero-visual figcaption > small { margin-top: 8px; font-size: 8px; color: rgba(255,255,255,.87); }
.hero-visual figcaption a { color: inherit; }
.hero-stat-float { position: absolute; right: 12px; top: 12px; display: flex; flex-direction: column; padding: 10px 12px; border: 1px solid rgba(255,255,255,.42); border-radius: 12px; background: rgba(248, 252, 255, .91); color: #183b5a; box-shadow: 0 7px 18px rgba(12, 35, 54, .12); backdrop-filter: blur(9px); }
.hero-stat-float > span, .hero-stat-float > em { font-size: 7px; font-style: normal; font-weight: 800; letter-spacing: .09em; color: #54738a; }
.hero-stat-float > b { margin: 3px 0; font: 800 19px/1.15 Manrope, sans-serif; }
.hero-stat-float > b small { font: 550 9px "DM Sans", sans-serif; }
.hero-stat-float > em { color: #2c8290; }
.filter-panel, .kpi-card, .card, .tourism-pulse { border-color: #dce6ef; box-shadow: 0 7px 22px rgba(26, 61, 91, .045); }
.filter-panel { border-radius: 16px; }
.filter-heading { color: #304f6c; }
.filter-heading svg, .reset-filters { color: #347d92; }
.filter-field > span { color: #5e7288; font-size: 10px; }
.filter-field select { background-color: #f8fbfd; border-color: #dce6ed; color: #263f59; font-size: 11px; }
.filter-field select:focus { border-color: #55a4b5; box-shadow: 0 0 0 3px rgba(68, 155, 177, .14); }
.filter-scope, .as-of { color: #718397; }
.section-label-row h2, .card-heading h2 { color: #172f49; }
.section-kicker { font-size: 9px; }
.kpi-card { border-radius: 15px; }
.kpi-card.verified { border-top-color: #4598a6; }
.kpi-name { color: #536b80; font-size: 11px; }
.kpi-icon { color: #33788e; background: #eaf4f8; }
.kpi-value { color: #163550; }
.kpi-trend.up { color: #248982; }
.status-tag.official { color: #25766c; background: #eaf5f2; }
.status-tag.calculated { color: #2a6e86; background: #eaf3f8; }
.status-tag.pending { color: #8d7850; background: #f7f3e9; }
.status-tag.qualified { color: #806d46; background: #f8f5eb; border-color: #e8dec6; }
.tourism-pulse { border-radius: 18px; background: linear-gradient(110deg, #fff 0%, #f4f9fc 100%); }
.pulse-intro a, .chart-note-row a, .source-open { color: #2e7a91; }
.pulse-metric strong { color: #173957; }
.map-and-insight { gap: 14px; }
.map-card, .region-panel, .analysis-card { border-radius: 19px; }
.card-heading h3, .opportunity-evidence-head h3, .data-browser-card .card-heading h3 { color: #193650; }
.map-stage { background-color: #e8f2f7; }
.map-grid { opacity: .37; }
.island-shape { filter: drop-shadow(0 12px 10px rgba(50, 88, 112, .11)); }
.lombok-shape, .sumbawa-shape { background: linear-gradient(145deg, #d4e5d8, #abc8b5); border-color: #779f8d; }
.map-marker.city .marker-pin { background: #347d92; }
.map-marker.has-data .marker-pin { --bubble-color: #4a9e9d; }
.region-panel { background: linear-gradient(155deg, #fff 0%, #f5f9fc 100%); }
.region-emblem { color: #367e91; background: #e9f4f7; }
.region-stat-grid > div, .region-data-metric, .macro-metric, .social-overview-metric { background: #f2f7fa; }
.region-data-metric b, .macro-metric > b, .social-overview-metric b { color: #1d405f; }
.outline-button { color: #2b617e; border-color: #d6e2eb; background: #fff; }
.outline-button:hover { color: #173c5d; border-color: #a8c5d5; background: #f6fafc; }
.primary-button { background: #1b5473; }
.primary-button:hover { background: #15405d; }
.insight-card.changed { background: linear-gradient(150deg, #eef7fb, #fff); border-color: #d8e8f0; }
.insight-card.opportunity { background: linear-gradient(150deg, #f7f8f4, #fff); }
.insight-card.action { background: linear-gradient(150deg, #eef5f7, #fff); }
.insight-icon { color: #347d92; background: #deedf3; }
.insight-card h3 { color: #1d3a56; }
.insight-card a { color: #34778d; }
.destination-card { border-color: #dce6ef; border-radius: 18px; box-shadow: 0 8px 24px rgba(25, 59, 88, .06); }
.destination-card:hover { box-shadow: 0 15px 30px rgba(25, 59, 88, .11); }
.destination-image { background: #e7f1f6; }
.destination-image > img { transition: transform .5s cubic-bezier(.2,.75,.25,1); }
.destination-card:hover .destination-image > img { transform: scale(1.035); }
.destination-score { color: #785f31; background: rgba(250, 247, 237, .95); }
.destination-content h3 { color: #183853; }
.destination-content p { color: #64788c; }
.destination-footer button { color: #2b7890; }
.chart-empty-data, .chart-empty-message { background: #f7fafc; border-color: #dce7ef; }
.chart-grid-line { stroke: #e2eaf0; }
.chart-axis-text, .chart-row-label { fill: #647b8e; }
.chart-value-label { fill: #234b66; }
.analysis-footer { color: #657a8c; }
.data-table th, .source-table th { color: #5d7588; background: #f2f7fa; }
.data-table-wrap, .source-table-wrap { border-color: #dce6ed; }
.data-table td, .source-table td { color: #4d6479; }
.data-table td > b { color: #214561; }
.data-quality-strip > div { background: linear-gradient(110deg, #eaf3f8, #fff); border-color: #d8e5ed; }
.data-quality-strip b { color: #286c82; }
.source-search, .data-browser-toolbar select { border-color: #d8e4ec; background: #f9fbfd; }
.source-search input, .data-browser-toolbar select { color: #2d4a63; }
.local-series-tabs { background: #eaf1f5; }
.local-series-tabs button.active { color: #276c82; }
.social-score { background: linear-gradient(145deg, #f2f7fa, #fff); }
.social-score .section-kicker { color: #347b8f; }
.method-card { border-color: #dce6ed; background: #fff; }
.method-icon { color: #357c90; background: #eaf4f7; }
.simulator-section { background: linear-gradient(135deg, #193b59, #10243d); }
.simulator-section .section-kicker { color: #bad8e6; }
.assistant-card { background: linear-gradient(145deg, #153653, #10243d); }
.report-banner { background: linear-gradient(112deg, #e8f2f7, #f6f8f7 70%, #f4f0e7); border: 1px solid #d8e5ec; border-radius: 20px; color: #1c3954; }
.report-banner h2 { color: #183752; }
.report-banner p { color: #60768a; }
.report-icon { background: #d6e8f0; color: #2d6d84; }
.section-block { margin-top: 30px; margin-bottom: 30px; }

.why-platform { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(330px, 1fr); gap: 20px 32px; align-items: center; padding: 29px; border: 1px solid #dce6ef; border-radius: 23px; background: linear-gradient(130deg, #fff 0%, #f4f9fc 100%); box-shadow: var(--shadow); }
.why-story h2, .audience-intro h2, .faq-heading h2, .trust-layer-intro h2 { margin: 8px 0 10px; color: #16334f; font: 760 clamp(22px, 2vw, 31px)/1.14 Manrope, sans-serif; letter-spacing: -.04em; }
.why-story > p, .audience-intro > p, .faq-heading > div > p, .trust-layer-intro > p { max-width: 600px; margin: 0; color: #5f7387; font-size: 13px; line-height: 1.7; }
.why-story .inline-link, .trust-layer-intro .inline-link { display: inline-flex; gap: 7px; margin-top: 14px; }
.why-visuals { min-height: 250px; position: relative; }
.why-photo { position: absolute; overflow: hidden; margin: 0; border: 4px solid #fff; border-radius: 17px; background: #dfedf3; box-shadow: 0 13px 24px rgba(27, 60, 91, .13); }
.why-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.why-photo-main { inset: 0 21% 18px 0; }
.why-photo-secondary { right: 0; bottom: 0; width: 40%; height: 47%; }
.why-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; gap: 2px; padding: 20px 9px 7px; color: white; font-size: 10px; font-weight: 800; text-shadow: 0 1px 4px rgba(0,0,0,.55); background: linear-gradient(0deg, rgba(9, 28, 44, .7), transparent); }
.why-photo figcaption a { font-size: 8px; font-weight: 550; color: rgba(255,255,255,.88); }
.why-stat { position: absolute; top: 13px; right: 8px; z-index: 2; width: 46%; padding: 11px 13px; border: 1px solid rgba(255,255,255,.75); border-radius: 13px; background: rgba(255,255,255,.92); box-shadow: 0 8px 20px rgba(27, 60, 91, .13); backdrop-filter: blur(8px); }
.why-stat > span { display: block; color: #73879a; font-size: 8px; font-weight: 800; letter-spacing: .11em; }
.why-stat > b { display: block; margin: 3px 0; color: #1d405d; font: 750 13px Manrope, sans-serif; }
.why-stat i { color: #b69a63; font-style: normal; }
.why-stat > small { display: block; color: #6e8193; font-size: 9px; line-height: 1.4; }
.why-benefits { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding-top: 18px; border-top: 1px solid #e1eaf0; }
.why-benefits article { position: relative; min-height: 103px; padding: 5px 15px 4px 43px; }
.benefit-number { position: absolute; left: 0; top: 5px; display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #d7e6ee; border-radius: 9px; color: #347b90; background: #eff7fa; font-size: 10px; font-weight: 800; }
.why-benefits b { display: block; margin: 2px 0 5px; color: #213e59; font-size: 13px; }
.why-benefits p { max-width: 360px; margin: 0; color: #6a7e90; font-size: 11px; line-height: 1.55; }
.audience-section { display: grid; grid-template-columns: .75fr 1.7fr; gap: 20px 35px; align-items: center; padding: 25px 28px; border: 1px solid #dce6ef; border-radius: 21px; background: #fff; }
.audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.audience-grid article { min-height: 105px; display: grid; grid-template-columns: 32px 1fr; grid-template-rows: auto 1fr; align-content: start; column-gap: 9px; padding: 12px; border: 1px solid #e2ebf1; border-radius: 13px; background: linear-gradient(145deg, #f9fbfd, #f1f7fa); }
.audience-grid article > span { grid-row: 1 / span 2; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: #e2f0f5; color: #33768c; }
.audience-grid article svg { width: 17px; height: 17px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.audience-grid article b { color: #23415d; font-size: 12px; }
.audience-grid article small { margin-top: 5px; color: #6b7f91; font-size: 10px; line-height: 1.45; }
.stakeholder-note { grid-column: 2; display: flex; align-items: flex-start; gap: 8px; color: #76899a; font-size: 9px; }
.stakeholder-note svg { width: 14px; height: 14px; flex: 0 0 auto; stroke: #6c95a5; fill: none; }
.contact-cta { position: relative; display: grid; grid-template-columns: 1.5fr .6fr; align-items: center; gap: 24px; overflow: hidden; padding: 27px 31px; border: 1px solid #cbdce8; border-radius: 22px; color: #fff; background: radial-gradient(ellipse at 77% 5%, rgba(124, 176, 197, .38), transparent 35%), linear-gradient(120deg, #193d5d, #122a45 72%, #193750); box-shadow: 0 17px 36px rgba(21, 52, 79, .16); }
.contact-cta:after { content: ""; position: absolute; right: 14%; top: -76px; width: 270px; height: 270px; border: 1px solid rgba(221, 237, 245, .16); border-radius: 50%; box-shadow: 0 0 0 25px rgba(221,237,245,.035), 0 0 0 55px rgba(221,237,245,.025); pointer-events: none; }
.contact-cta .section-kicker { color: #bfd9e5; }
.cta-copy, .cta-contact-card { position: relative; z-index: 1; }
.cta-copy h2 { max-width: 680px; margin: 8px 0; color: #fff; font: 760 clamp(22px, 2vw, 30px)/1.14 Manrope, sans-serif; letter-spacing: -.035em; }
.cta-copy > p { max-width: 630px; margin: 0; color: #d0e0e9; font-size: 12px; line-height: 1.55; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.cta-light-button, .cta-outline-button { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 14px; border-radius: 9px; font-size: 11px; font-weight: 750; text-decoration: none; transition: transform .18s ease, background .18s ease; }
.cta-light-button { color: #1b3c58; background: #eff7fa; border: 1px solid rgba(255,255,255,.5); }
.cta-outline-button { color: #f4f8fa; background: rgba(255,255,255,.04); border: 1px solid rgba(223,238,246,.39); }
.cta-light-button:hover, .cta-outline-button:hover { transform: translateY(-1px); }
.cta-light-button:hover { background: #fff; }
.cta-outline-button:hover { background: rgba(255,255,255,.1); }
.cta-contact-card { display: flex; flex-direction: column; align-items: flex-start; padding: 15px; border: 1px solid rgba(218,235,243,.24); border-radius: 14px; background: rgba(235, 246, 250, .09); backdrop-filter: blur(8px); }
.cta-contact-icon { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; color: #e5f2f6; background: rgba(231,245,250,.14); }
.cta-contact-icon svg { width: 17px; height: 17px; stroke: currentColor; fill: none; }
.cta-contact-card > b { margin-top: 9px; color: #fff; font-size: 12px; }
.cta-contact-card > small, .cta-contact-card > em { margin-top: 3px; color: #c2d6e1; font-size: 9px; font-style: normal; }
.cta-contact-card > a { margin-top: 11px; color: #f1dfb1; font-size: 13px; font-weight: 800; text-decoration: none; }
.cta-contact-card > a span { margin-left: 5px; }
.community-strip { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 25px; border: 1px solid #dce6ef; border-radius: 18px; background: linear-gradient(110deg, #fff, #eef6fa); }
.community-strip h2 { margin: 4px 0; color: #1c3a56; font: 730 18px Manrope, sans-serif; }
.community-strip p { margin: 0; color: #6e8193; font-size: 11px; }
.community-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.community-links a, .community-links button { display: inline-flex; align-items: center; gap: 9px; min-height: 35px; padding: 0 11px; border: 1px solid #d7e4ec; border-radius: 9px; color: #315f78; background: #fff; font-size: 10px; font-weight: 750; text-decoration: none; }
.community-links a:hover, .community-links button:hover { border-color: #adc8d7; background: #f7fbfd; }
.faq-section { padding: 24px 27px; border: 1px solid #dce6ef; border-radius: 20px; background: #fff; box-shadow: 0 8px 25px rgba(26, 61, 91, .045); }
.faq-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.faq-heading h2 { margin-bottom: 5px; }
.faq-heading .inline-link { flex: 0 0 auto; margin-bottom: 4px; }
.faq-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 10px; }
.faq-list details { min-width: 0; border: 1px solid #e1eaf0; border-radius: 11px; background: #f9fbfd; transition: background .18s ease, border .18s ease; }
.faq-list details[open] { border-color: #c2d9e4; background: #f3f8fb; }
.faq-list summary { position: relative; display: block; padding: 13px 39px 13px 14px; color: #28435c; font-size: 11px; font-weight: 750; list-style: none; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:after { content: "+"; position: absolute; right: 12px; top: 8px; display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid #dbe7ee; border-radius: 7px; color: #347a8f; font-size: 16px; font-weight: 500; }
.faq-list details[open] summary:after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 14px 13px; color: #63788a; font-size: 10px; line-height: 1.6; }
.trust-layer { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(370px, 1.38fr); align-items: center; gap: 18px 26px; padding: 25px 28px; border: 1px solid #d6e3ec; border-radius: 21px; background: linear-gradient(130deg, #f5f9fb, #eaf3f8); }
.trust-layer-intro h2 { font-size: clamp(21px, 1.8vw, 27px); }
.trust-source-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.trust-source-list a { display: flex; flex-direction: column; align-items: flex-start; padding: 12px 13px; border: 1px solid #dbe6ed; border-radius: 11px; background: rgba(255,255,255,.82); text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }
.trust-source-list a:hover { transform: translateY(-2px); box-shadow: 0 9px 18px rgba(27,60,91,.08); }
.trust-source-list b { color: #23445f; font-size: 11px; }
.trust-source-list small { margin: 3px 0 6px; color: #718598; font-size: 9px; }
.trust-source-list span { color: #337b91; font-size: 7px; font-weight: 800; letter-spacing: .08em; }
.trust-principles { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 9px 18px; padding-top: 13px; border-top: 1px solid #d7e3eb; }
.trust-principles span { display: flex; align-items: center; gap: 6px; color: #536f83; font-size: 9px; font-weight: 650; }
.trust-principles i { width: 6px; height: 6px; border-radius: 50%; background: #4b9e9e; }
.update-card { grid-column: 1 / -1; display: grid; grid-template-columns: 35px 1fr 24px; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid #d8e5eb; border-radius: 12px; background: rgba(255,255,255,.77); }
.update-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; color: #367d91; background: #e8f3f7; }
.update-icon svg { width: 16px; height: 16px; stroke: currentColor; fill: none; }
.update-card > div { display: flex; flex-direction: column; gap: 2px; }
.update-card small { color: #6a8293; font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.update-card b { color: #24425c; font-size: 11px; }
.update-card div > span { color: #708497; font-size: 9px; }
.update-card > a { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 7px; color: #377c91; background: #edf5f8; font-weight: 800; text-decoration: none; }
.site-footer { margin: 30px -31px -28px; padding: 35px 31px 18px; border-radius: 22px 22px 0 0; color: #d5e0e9; background: linear-gradient(145deg, #142d48, #0b1b30); }
.footer-main { display: grid; grid-template-columns: 1.3fr .7fr .8fr 1.1fr; gap: 30px; max-width: 1500px; margin: 0 auto; }
.footer-about .footer-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.footer-brand .brand-symbol { width: 34px; height: 34px; border-radius: 10px; }
.footer-brand .brand-symbol svg { width: 28px; height: 28px; }
.footer-brand b { font: 750 15px Manrope, sans-serif; }
.footer-about > p { margin: 13px 0 3px; color: #e6edf2; font-size: 11px; font-weight: 750; }
.footer-about > span, .footer-about > small { display: block; color: #aebdca; font-size: 10px; }
.footer-about > small { margin-top: 9px; font-size: 9px; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.footer-column > b { margin: 3px 0 4px; color: #b9ccda; font-size: 8px; letter-spacing: .14em; }
.footer-column > a { color: #d0dce6; font-size: 10px; text-decoration: none; }
.footer-column > a:hover, .footer-bottom a:hover { color: #f0ddac; }
.footer-disclaimer { display: flex; align-items: flex-start; gap: 10px; max-width: 1500px; margin: 24px auto 0; padding: 12px 14px; border: 1px solid rgba(216,232,241,.14); border-radius: 11px; background: rgba(232,244,250,.055); }
.footer-disclaimer > span { flex: 0 0 auto; color: #d5bf88; }
.footer-disclaimer svg { width: 16px; height: 16px; stroke: currentColor; fill: none; }
.footer-disclaimer p { margin: 0; color: #afbfcc; font-size: 9px; line-height: 1.55; }
.footer-disclaimer p b { color: #e2eaf0; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; max-width: 1500px; margin: 17px auto 0; padding-top: 13px; border-top: 1px solid rgba(216,232,241,.14); color: #91a6b7; font-size: 8px; }
.footer-bottom a { color: #c9d6e0; text-decoration: none; }
.footer-legal { display: inline-flex; flex-wrap: wrap; gap: 7px; }
.footer-legal i { color: #62788a; font-style: normal; }
.back-to-top { position: fixed; z-index: 80; left: 24px; bottom: 22px; display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid #d6e3ea; border-radius: 13px; color: #28516d; background: rgba(255,255,255,.95); box-shadow: 0 9px 24px rgba(16, 45, 69, .16); font-size: 20px; transition: opacity .2s ease, transform .2s ease, background .2s ease; }
.back-to-top:hover { transform: translateY(-3px); background: #edf6fa; }
.back-to-top[hidden] { display: none !important; }
.whatsapp-toggle { background: #16877a; }
.whatsapp-toggle:hover { background: #0f746a; }
.whatsapp-panel { box-shadow: 0 18px 48px rgba(15, 41, 63, .22); }
.modal { border-color: #d8e4ec; }
.modal-backdrop { background: rgba(10, 27, 45, .54); }

@media (max-width: 1250px) {
  .workspace-heading { grid-template-columns: minmax(260px, 1fr) minmax(280px, .9fr); }
  .heading-right { grid-column: 1 / -1; flex-direction: row; align-items: center; }
  .trust-layer { grid-template-columns: 1fr 1.25fr; }
}
@media (max-width: 1000px) {
  .page-content { padding-right: 22px; padding-left: 22px; }
  .workspace-heading { grid-template-columns: 1fr 1fr; gap: 15px; }
  .workspace-heading h1 { font-size: 32px; }
  .hero-visual { height: 192px; }
  .heading-right { grid-column: 1 / -1; }
  .audience-section { grid-template-columns: 1fr; }
  .stakeholder-note { grid-column: 1; }
  .trust-layer { grid-template-columns: 1fr; }
  .trust-source-list { grid-column: 1; }
  .footer-main { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-column:last-child { grid-column: 2 / -1; }
  .site-footer { margin-right: -22px; margin-left: -22px; padding-right: 22px; padding-left: 22px; }
}
@media (max-width: 720px) {
  html { scroll-padding-top: 72px; }
  .topbar { background: rgba(255,255,255,.97); }
  .crumb { display: none; }
  .mobile-brand { display: flex; color: #1c3955; }
  .topbar-title { min-width: 0; }
  .mobile-menu { color: #264861; }
  .global-search { border-color: #d8e4ec; background: #f5f9fb; }
  .global-search input { color: #243f58; }
  .global-search input::placeholder { color: #788fa0; }
  .page-content { padding: 17px 13px 0; }
  .workspace-heading { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .workspace-heading h1 { font-size: clamp(25px, 7vw, 31px); }
  .subtitle { font-size: 12px; }
  .hero-actions { gap: 10px; margin-top: 12px; }
  .hero-actions .primary-button { height: 38px; padding: 0 11px; font-size: 10px; }
  .hero-secondary { font-size: 10px; }
  .hero-visual { width: 100%; height: 190px; }
  .hero-visual figcaption { left: 13px; bottom: 10px; }
  .hero-stat-float { right: 9px; top: 9px; padding: 8px 9px; }
  .hero-stat-float > b { font-size: 16px; }
  .heading-right { grid-column: 1; margin-top: 0; }
  .trust-badge { padding: 6px 8px; }
  .trust-badge b { font-size: 8px; }
  .trust-badge small { font-size: 8px; }
  .view-button { padding: 6px 8px; font-size: 9px; }
  .filter-panel { border-radius: 14px; }
  .filter-field > span { font-size: 10px; }
  .filter-field select { font-size: 11px; }
  .kpi-name { font-size: 9px; }
  .kpi-meta { font-size: 8px; }
  .section-kicker { font-size: 8px; }
  .section-label-row h2 { font-size: 18px; }
  .map-stage { min-height: 250px; }
  .map-footnote { font-size: 9px; }
  .tourism-pulse { border-radius: 15px; }
  .pulse-metric .metric-type { font-size: 8px; }
  .pulse-metric small, .pulse-metric .metric-context { font-size: 9px; }
  .chart-note-row { font-size: 9px; }
  .destination-content p { font-size: 9px; }
  .destination-metrics div, .destination-metrics b { font-size: 8px; }
  .section-block { margin-top: 23px; margin-bottom: 23px; }
  .why-platform { grid-template-columns: 1fr; gap: 14px; padding: 17px; border-radius: 17px; }
  .why-story h2, .audience-intro h2, .faq-heading h2, .trust-layer-intro h2 { font-size: 23px; }
  .why-story > p, .audience-intro > p, .faq-heading > div > p, .trust-layer-intro > p { font-size: 11px; }
  .why-visuals { min-height: 206px; }
  .why-photo-main { right: 19%; }
  .why-photo-secondary { width: 38%; height: 45%; }
  .why-stat { top: 10px; right: 4px; width: 51%; padding: 8px; }
  .why-stat > b { font-size: 11px; }
  .why-stat > small { font-size: 8px; }
  .why-benefits { grid-template-columns: 1fr; gap: 6px; padding-top: 11px; }
  .why-benefits article { min-height: 0; padding-bottom: 8px; }
  .why-benefits p { font-size: 10px; }
  .audience-section { gap: 12px; padding: 17px; border-radius: 17px; }
  .audience-grid { gap: 7px; }
  .audience-grid article { min-height: 113px; grid-template-columns: 27px 1fr; padding: 9px; column-gap: 7px; }
  .audience-grid article > span { width: 26px; height: 26px; }
  .audience-grid article b { font-size: 10px; }
  .audience-grid article small { font-size: 9px; }
  .stakeholder-note { font-size: 8px; }
  .contact-cta { grid-template-columns: 1fr; gap: 14px; padding: 20px 17px; border-radius: 17px; }
  .cta-copy h2 { font-size: 23px; }
  .cta-copy > p { font-size: 11px; }
  .cta-contact-card { max-width: 380px; }
  .community-strip { align-items: flex-start; flex-direction: column; gap: 12px; padding: 16px; }
  .community-links { justify-content: flex-start; }
  .faq-section { padding: 17px; border-radius: 16px; }
  .faq-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
  .faq-list { grid-template-columns: 1fr; gap: 7px; }
  .faq-list summary { padding: 12px 40px 12px 12px; font-size: 10px; }
  .faq-list details p { font-size: 9px; }
  .trust-layer { gap: 13px; padding: 17px; border-radius: 17px; }
  .trust-source-list { gap: 6px; }
  .trust-source-list a { padding: 9px; }
  .trust-source-list b { font-size: 10px; }
  .trust-source-list small { font-size: 8px; }
  .trust-principles { gap: 7px 11px; }
  .trust-principles span { font-size: 8px; }
  .update-card { padding: 9px; }
  .update-card div > span { font-size: 8px; }
  .site-footer { margin: 22px -13px 0; padding: 26px 15px 15px; border-radius: 18px 18px 0 0; }
  .footer-main { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px 14px; }
  .footer-about { grid-column: 1 / -1; }
  .footer-column:last-child { grid-column: 1 / -1; }
  .footer-column { gap: 7px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; font-size: 8px; }
  .footer-disclaimer { margin-top: 18px; }
  .footer-disclaimer p { font-size: 8px; }
  .whatsapp-widget { right: 13px; bottom: 13px; }
  .back-to-top { left: 13px; bottom: 13px; width: 42px; height: 42px; }
}
@media (max-width: 390px) {
  .hero-visual { height: 176px; }
  .hero-stat-float > span, .hero-stat-float > em { font-size: 6px; }
  .hero-visual figcaption > b { font-size: 15px; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-grid article { min-height: 82px; }
  .trust-source-list { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media print {
  .hero-visual, .why-visuals, .contact-cta, .community-strip, .back-to-top, .whatsapp-widget { display: none !important; }
  .site-footer { margin: 0; border-radius: 0; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* Cinematic homepage hero: owner-provided NTB introduction film */
.video-workspace-heading { display:block; position:relative; min-height:360px; height:clamp(360px, 31vw, 440px); max-height:440px; margin:0 0 20px; overflow:hidden; border:1px solid rgba(255,255,255,.72); border-radius:24px; isolation:isolate; background:#10243d; box-shadow:0 18px 42px rgba(16,36,61,.18); }
.video-workspace-heading .hero-visual { position:absolute; inset:0; width:100%; height:100%; margin:0; border:0; border-radius:inherit; box-shadow:none; background:#10243d; }
.hero-visual > video { display:block; width:100%; height:100%; object-fit:cover; object-position:center 47%; }
.video-workspace-heading .hero-image-scrim { z-index:1; background:linear-gradient(90deg,rgba(7,22,37,.90) 0%,rgba(10,31,48,.79) 31%,rgba(11,38,54,.33) 59%,rgba(9,28,44,.16) 100%),linear-gradient(0deg,rgba(5,20,34,.46),transparent 42%); }
.video-workspace-heading .hero-copy { position:absolute; z-index:3; left:clamp(26px,4.2vw,62px); top:50%; width:min(58%,690px); transform:translateY(-44%); color:#fff; }
.video-workspace-heading .hero-copy .eyebrow { color:#c8dfe3; }
.video-workspace-heading .hero-copy .period-chip { color:#eee3c4; background:rgba(211,186,126,.14); border-color:rgba(211,186,126,.42); }
.video-workspace-heading .hero-copy h1 { max-width:720px; margin:15px 0 11px; color:#fff; font-size:clamp(36px,3.7vw,58px); line-height:1.03; letter-spacing:-.055em; text-shadow:0 2px 18px rgba(0,0,0,.2); }
.video-workspace-heading .hero-copy .subtitle { max-width:590px; color:rgba(241,247,248,.88); font-size:clamp(13px,1.05vw,16px); line-height:1.55; }
.video-workspace-heading .hero-actions { margin-top:20px; }
.video-workspace-heading .hero-actions .primary-button { height:46px; padding:0 18px; background:#e0c98f; color:#18354b; font-size:12px; }
.video-workspace-heading .hero-actions .primary-button:hover { background:#f0dca8; }
.video-workspace-heading .hero-secondary { color:#eff7f7; }
.video-workspace-heading .heading-right { position:absolute; z-index:4; top:22px; right:24px; display:flex; flex-direction:column; align-items:flex-end; gap:12px; margin:0; }
.video-workspace-heading .trust-badge { background:rgba(248,252,253,.93); backdrop-filter:blur(12px); }
.video-workspace-heading .view-switch { background:rgba(12,31,48,.62); border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(12px); }
.video-workspace-heading .view-button { color:#e0e9ec; }
.video-workspace-heading .view-button.active { color:#18354b; background:#e5d3a6; }
.video-workspace-heading .hero-stat-float { z-index:3; top:132px; right:24px; padding:11px 14px; }
.video-workspace-heading .hero-visual figcaption { display:none; }
.hero-video-controls { position:absolute; z-index:5; right:24px; bottom:20px; display:flex; gap:7px; }
.hero-video-controls button { min-width:78px; height:34px; padding:0 11px; border:1px solid rgba(255,255,255,.48); border-radius:999px; color:#f9fcfc; background:rgba(10,28,44,.63); font:700 10px "DM Sans",sans-serif; backdrop-filter:blur(9px); cursor:pointer; transition:background .18s ease,transform .18s ease; }
.hero-video-controls button:hover { background:rgba(15,54,70,.88); transform:translateY(-1px); }

/* Trade and finance intelligence */
.trade-intelligence-section { margin-top:31px; }
.trade-heading-row { align-items:center; }
.trade-heading-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.trade-heading-actions .outline-button { gap:7px; text-decoration:none; }
.trade-heading-actions .outline-button svg { width:14px; height:14px; }
.trade-tabs { display:flex; width:max-content; max-width:100%; gap:4px; margin:18px 0 13px; padding:4px; overflow:auto; border:1px solid #dce6eb; border-radius:13px; background:#eaf1f4; }
.trade-tab { border:0; border-radius:9px; padding:10px 15px; color:#5d7382; background:transparent; white-space:nowrap; font:750 11px "DM Sans",sans-serif; cursor:pointer; transition:color .18s ease,background .18s ease,box-shadow .18s ease; }
.trade-tab:hover { color:#183b57; }
.trade-tab.active { color:#183b57; background:#fff; box-shadow:0 3px 10px rgba(21,54,76,.09); }
.trade-scope-banner { margin:-4px 0 10px; padding:9px 12px; border:1px solid #e8d9b7; border-radius:10px; color:#7b6844; background:#faf6ec; font-size:9px; line-height:1.5; }
.trade-kpi-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 12px; }
.trade-kpi { display:grid; grid-template-columns:35px minmax(0,1fr); gap:10px; min-height:96px; padding:14px; border:1px solid #dce6ec; border-radius:16px; background:linear-gradient(145deg,#fff,#f7fafb); box-shadow:0 6px 17px rgba(25,55,83,.045); }
.trade-kpi-icon { display:grid; place-items:center; width:33px; height:33px; border-radius:11px; color:#1e777c; background:#e7f3f1; font:800 17px Manrope,sans-serif; }
.trade-kpi:nth-child(4) .trade-kpi-icon { color:#917542; background:#f5f0e4; }
.trade-kpi>div { min-width:0; }
.trade-kpi>div>small { display:block; color:#64788a; font-size:10px; font-weight:700; }
.trade-kpi>div>b { display:block; margin:4px 0 6px; color:#193851; font:800 clamp(15px,1.45vw,21px)/1.1 Manrope,sans-serif; letter-spacing:-.03em; }
.trade-kpi-meta { display:flex; align-items:center; gap:6px; flex-wrap:wrap; color:#718292; }
.trade-kpi-meta>em { font-size:8px; font-style:normal; }
.trade-kpi-meta .status-tag { flex:0 0 auto; font-size:7px; }
.trade-panel[hidden] { display:none!important; }
.trade-chart-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:13px; }
.trade-card { min-width:0; padding:18px; border:1px solid #dce6ec; border-radius:19px; background:#fff; box-shadow:0 7px 22px rgba(26,61,91,.045); }
.trade-card .card-heading { align-items:flex-start; }
.trade-card .card-heading h3 { margin:3px 0 5px; color:#193650; font-size:17px; line-height:1.28; }
.trade-card .card-subtitle { color:#708193; font-size:10px; line-height:1.45; }
.trade-chart-viz { min-height:275px; margin:6px 0 3px; }
.trade-svg { display:block; width:100%; height:auto; overflow:visible; }
.trade-chart-title { fill:#183951; font:800 12px Manrope,sans-serif; letter-spacing:.08em; }
.trade-chart-units,.trade-axis-text { fill:#77889a; font:600 10px "DM Sans",sans-serif; }
.trade-bar-label { fill:#324c60; font:750 10px "DM Sans",sans-serif; }
.trade-row-label { fill:#465e70; font:650 11px "DM Sans",sans-serif; }
.trade-grid-line { stroke:#e6ecee; stroke-width:1; }
.trade-panel-divider { stroke:#dce6e7; stroke-width:1.2; stroke-dasharray:4 5; }
.trade-empty { display:flex; min-height:200px; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:24px; border:1px dashed #d9e3e7; border-radius:13px; color:#718192; text-align:center; }
.trade-empty b { color:#38556b; font-size:13px; }
.trade-empty span { max-width:440px; font-size:10px; line-height:1.5; }
.trade-card .chart-note-row { margin-top:8px; padding-top:10px; border-top:1px solid #edf1f2; color:#697d8e; font-size:9px; line-height:1.5; }
.trade-insight-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:12px; padding:12px; border:1px solid #dce7e7; border-radius:17px; background:linear-gradient(105deg,#f5f9f8,#fff 68%); }
.trade-insight-strip article { position:relative; min-height:114px; padding:11px 12px 10px 39px; border-radius:12px; background:rgba(255,255,255,.75); }
.trade-insight-strip .insight-index { position:absolute; left:12px; top:10px; color:#b29a61; font:800 10px Manrope,sans-serif; }
.trade-insight-strip article>small { display:block; margin-bottom:7px; color:#327b83; font-size:8px; font-weight:850; letter-spacing:.11em; }
.trade-insight-strip p { margin:0; color:#4f6576; font-size:10px; line-height:1.55; }
.trade-local-filters { display:flex; align-items:end; flex-wrap:wrap; gap:10px; margin:0 0 12px; padding:12px 14px; border:1px solid #e0e8eb; border-radius:14px; background:#f8fafb; }
.trade-local-filters label { display:grid; gap:5px; min-width:172px; }
.trade-local-filters label>span { color:#617689; font-size:9px; font-weight:750; }
.trade-local-filters select { min-width:160px; height:34px; padding:0 10px; border:1px solid #d7e1e5; border-radius:8px; color:#29455c; background:#fff; font:650 10px "DM Sans",sans-serif; }
.trade-filter-note { margin:0 0 8px auto; color:#81909a; font-size:9px; }
.market-matrix-wrap,.trade-register-wrap,.finance-fit-wrap { width:100%; overflow:auto; border:1px solid #e4eaec; border-radius:12px; }
.trade-matrix,.trade-catalog,.finance-fit-table { width:100%; min-width:600px; border-collapse:separate; border-spacing:0; color:#395468; font-size:10px; }
.trade-matrix th,.trade-matrix td,.trade-catalog th,.trade-catalog td,.finance-fit-table th,.finance-fit-table td { padding:9px 10px; border-bottom:1px solid #edf1f2; border-right:1px solid #edf1f2; text-align:center; }
.trade-matrix thead th,.trade-catalog thead th,.finance-fit-table thead th { position:sticky; z-index:2; top:0; color:#667c8d; background:#f6f9fa; font-size:9px; font-weight:800; }
.trade-matrix th:first-child,.trade-catalog th:first-child,.finance-fit-table th:first-child { position:sticky; z-index:3; left:0; min-width:145px; text-align:left; background:#f8fafb; }
.trade-matrix tbody th,.finance-fit-table tbody th { color:#2c485d; font-weight:750; }
.trade-matrix tbody tr:last-child th,.trade-matrix tbody tr:last-child td,.trade-catalog tbody tr:last-child td,.finance-fit-table tbody tr:last-child th,.finance-fit-table tbody tr:last-child td { border-bottom:0; }
.trade-matrix td { min-width:52px; height:42px; }
.market-cell { display:inline-grid; place-items:center; width:28px; height:28px; border:1px solid transparent; border-radius:9px; font:850 14px "DM Sans",sans-serif; cursor:pointer; transition:transform .17s ease,box-shadow .17s ease; }
.market-cell:hover,.market-cell:focus-visible { transform:scale(1.08); box-shadow:0 3px 10px rgba(24,53,77,.14); }
.market-cell.filled { color:#1b7770; border-color:#bfdfd8; background:#e8f5f1; }
.market-cell.partial { color:#986f2c; border-color:#ead8ae; background:#f9f2e3; }
.market-cell.unfilled { color:#658292; border-color:#d5e1e6; background:#edf3f5; }
.market-cell.empty { color:#c0cad0; background:transparent; cursor:default; }
.trade-legend { display:flex; flex-wrap:wrap; gap:9px 15px; margin:11px 0 2px; color:#637889; font-size:9px; }
.trade-legend>span { display:flex; align-items:center; gap:6px; }
.trade-legend i { display:inline-block; width:11px; height:11px; border:1px solid transparent; border-radius:4px; }
.route-filled { background:#e8f5f1; border-color:#bfdfd8!important; }
.route-partial { background:#f9f2e3; border-color:#ead8ae!important; }
.route-open { background:#edf3f5; border-color:#d5e1e6!important; }
.trade-route-flow { display:grid; gap:7px; margin:11px 0; }
.trade-route-row { display:grid; grid-template-columns:76px minmax(0,1fr); gap:4px 9px; align-items:center; width:100%; padding:11px 12px; border:1px solid #e6ebed; border-radius:12px; color:#314f63; background:linear-gradient(100deg,#fbfcfc,#fff); text-align:left; cursor:pointer; transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.trade-route-row:hover { transform:translateY(-1px); border-color:#b8d4d4; box-shadow:0 5px 13px rgba(26,70,83,.07); }
.route-status { grid-row:1/3; align-self:center; padding:5px 6px; border-radius:6px; text-align:center; font-size:7px; font-weight:850; letter-spacing:.04em; }
.route-status.filled { color:#247970; background:#e9f4f0; }
.route-status.unfilled { color:#856c43; background:#f6f0e3; }
.route-chain { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:6px; }
.route-chain>b { max-width:32%; padding:6px 7px; overflow:hidden; border:1px solid #e3e9eb; border-radius:7px; color:#294a61; background:#fff; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.route-chain>i { flex:1 1 16px; height:1px; min-width:12px; background:#c8d7db; position:relative; }
.route-chain>i:after { content:""; position:absolute; right:0; top:-3px; width:6px; height:6px; border-top:1px solid #90a9ae; border-right:1px solid #90a9ae; transform:rotate(45deg); }
.trade-route-row>small { grid-column:2; color:#738594; font-size:8px; }
.trade-register-card,.trade-gap-card { margin-top:13px; }
.trade-catalog { min-width:900px; text-align:left; }
.trade-catalog th:first-child { min-width:160px; }
.trade-catalog td { min-width:130px; text-align:left; vertical-align:top; line-height:1.45; }
.trade-catalog td:first-child { position:sticky; left:0; z-index:1; background:#fff; }
.trade-catalog td b,.trade-catalog td small { display:block; }
.trade-catalog td b { color:#294a61; }
.trade-catalog td small { margin-top:4px; color:#758797; font-size:8px; line-height:1.45; }
.trade-catalog code { padding:3px 5px; border-radius:5px; color:#2d5e6d; background:#edf5f6; font-size:9px; }
.trade-catalog a,.requirement-body a { color:#2d7887; font-weight:750; text-decoration:none; }
.trade-requirements-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:11px; }
.trade-requirement { align-self:start; border:1px solid #e2e9eb; border-radius:11px; background:#fcfdfd; overflow:hidden; }
.trade-requirement summary { display:grid; grid-template-columns:27px minmax(0,1fr) auto; gap:7px; align-items:center; padding:10px; color:#2f4e62; cursor:pointer; list-style:none; }
.trade-requirement summary::-webkit-details-marker { display:none; }
.requirement-index { display:grid; place-items:center; width:24px; height:24px; border-radius:8px; color:#317b80; background:#eaf4f2; font:800 9px Manrope,sans-serif; }
.trade-requirement summary>b { font-size:10px; }
.requirement-tag { padding:4px 5px; border-radius:5px; color:#806d46; background:#f7f2e7; font-size:7px; font-weight:800; }
.requirement-body { padding:0 11px 11px; color:#667b8b; font-size:9px; line-height:1.5; }
.requirement-body p { margin:6px 0; }
.requirement-risk { color:#995d51; }
.finance-chart-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
.finance-fit-table { min-width:920px; font-size:9px; }
.finance-fit-table th { min-width:94px; max-width:120px; line-height:1.35; }
.finance-fit-table th:first-child { min-width:166px; }
.finance-fit-table td { padding:6px; }
.fit-cell { display:grid; place-items:center; min-height:30px; min-width:66px; padding:5px 6px; border:1px solid transparent; border-radius:7px; font-size:8px; font-weight:800; line-height:1.2; }
.fit-cell.very-high,.fit-very-high { color:#165c5c; background:#d8efeb; border-color:#b7ddd6!important; }
.fit-cell.high,.fit-high { color:#267972; background:#e8f4ee; border-color:#cfe5d9!important; }
.fit-cell.medium,.fit-medium { color:#886c35; background:#f7f0de; border-color:#eaddb9!important; }
.fit-cell.low,.fit-low { color:#71818a; background:#edf1f2; border-color:#dee5e7!important; }
.fit-cell.other,.fit-other { color:#5f7190; background:#edf1f9; border-color:#dce3f1!important; }
.trade-finance-list-card { max-height:720px; overflow:auto; }
.compact-filters { margin:4px 0 9px; padding:8px; }
.compact-filters label { min-width:150px; }
.compact-filters select { height:31px; }
.trade-instrument-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.trade-instrument-card { min-width:0; padding:10px; border:1px solid #e3e9eb; border-radius:11px; color:#3c5668; background:#fff; text-align:left; cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.trade-instrument-card:hover { transform:translateY(-1px); border-color:#bdd6d6; box-shadow:0 5px 12px rgba(27,65,82,.07); }
.instrument-topline { display:flex; justify-content:space-between; align-items:flex-start; gap:7px; }
.instrument-topline>b { color:#24455c; font-size:9px; line-height:1.35; }
.instrument-topline>i { flex:0 0 auto; padding:3px 5px; border-radius:5px; color:#337b78; background:#eaf4ef; font-size:7px; font-style:normal; font-weight:800; }
.trade-instrument-card>small { display:block; min-height:28px; margin-top:6px; color:#788997; font-size:8px; line-height:1.4; }
.instrument-fit { display:grid; grid-template-columns:1fr auto 1fr auto; gap:4px; align-items:center; margin-top:7px; padding-top:7px; border-top:1px solid #eff2f3; }
.instrument-fit em { color:#8a969e; font-size:7px; font-style:normal; }
.instrument-fit b { color:#2b7780; font-size:7px; }
.instrument-provider { display:block; margin-top:6px; color:#607688; font-size:8px; }
.trade-gap-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:10px; }
.trade-gap-item { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:8px; align-items:start; min-height:84px; padding:10px; border:1px solid #e4eaeb; border-radius:11px; background:#fbfcfc; }
.gap-priority { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; color:#fff; background:#b89555; font:800 9px Manrope,sans-serif; }
.trade-gap-item>div { min-width:0; }
.trade-gap-item b,.trade-gap-item small,.trade-gap-item>div>span { display:block; }
.trade-gap-item b { color:#345267; font-size:9px; line-height:1.35; }
.trade-gap-item small { margin-top:4px; color:#7c8a94; font-size:7px; line-height:1.4; }
.trade-gap-item>div>span { margin-top:4px; color:#667c8c; font-size:8px; line-height:1.4; }
.trade-gap-item>i { padding:4px 5px; border-radius:5px; color:#806d46; background:#f6f2e8; font-size:6px; font-style:normal; font-weight:850; }
.trade-extension-foot { margin-top:13px; }
.trade-extension-foot>span { line-height:1.55; }

@media (max-width:1100px) {
  .video-workspace-heading { height:390px; }
  .video-workspace-heading .hero-copy { width:61%; }
  .trade-chart-grid,.finance-chart-grid { grid-template-columns:1fr 1fr; }
  .trade-requirements-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trade-gap-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .video-workspace-heading { height:510px; min-height:510px; max-height:none; margin-bottom:15px; border-radius:19px; }
  .video-workspace-heading .hero-visual { height:100%; }
  .video-workspace-heading .hero-visual > video { object-position:52% center; }
  .video-workspace-heading .hero-image-scrim { background:linear-gradient(90deg,rgba(7,22,37,.83),rgba(10,31,48,.48) 70%,rgba(9,28,44,.28)),linear-gradient(0deg,rgba(5,20,34,.55),transparent 47%); }
  .video-workspace-heading .hero-copy { left:20px; right:20px; top:126px; width:auto; transform:none; }
  .video-workspace-heading .hero-copy h1 { margin:12px 0 9px; font-size:clamp(27px,7vw,36px); }
  .video-workspace-heading .hero-copy .subtitle { max-width:480px; font-size:11px; }
  .video-workspace-heading .hero-actions { flex-wrap:wrap; gap:9px; margin-top:14px; }
  .video-workspace-heading .hero-actions .primary-button { height:39px; padding:0 12px; font-size:10px; }
  .video-workspace-heading .hero-secondary { font-size:9px; }
  .video-workspace-heading .heading-right { top:12px; right:11px; left:11px; flex-direction:row; align-items:center; justify-content:space-between; gap:6px; }
  .video-workspace-heading .trust-badge { max-width:145px; padding:5px 7px; }
  .video-workspace-heading .trust-badge b { font-size:7px; }
  .video-workspace-heading .trust-badge small { font-size:7px; }
  .video-workspace-heading .view-switch { gap:0; }
  .video-workspace-heading .view-button { padding:6px 7px; font-size:8px; }
  .video-workspace-heading .hero-stat-float { top:auto; right:15px; bottom:64px; padding:8px 10px; }
  .video-workspace-heading .hero-stat-float>span,.video-workspace-heading .hero-stat-float>em { font-size:6px; }
  .video-workspace-heading .hero-stat-float>b { font-size:15px; }
  .hero-video-controls { right:13px; bottom:13px; }
  .hero-video-controls button { min-width:66px; height:30px; font-size:8px; }
  .trade-heading-row { align-items:flex-start; }
  .trade-heading-actions { justify-content:flex-start; }
  .trade-heading-actions .derived-badge { display:inline-flex; }
  .trade-tabs { width:100%; }
  .trade-tab { flex:1 0 auto; padding:9px 10px; font-size:9px; }
  .trade-kpi-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .trade-kpi { grid-template-columns:25px minmax(0,1fr); gap:7px; min-height:92px; padding:9px; border-radius:12px; }
  .trade-kpi-icon { width:24px; height:24px; border-radius:8px; font-size:13px; }
  .trade-kpi>div>small { font-size:8px; }
  .trade-kpi>div>b { margin:4px 0; font-size:14px; }
  .trade-kpi-meta { gap:4px; }
  .trade-kpi-meta>em { font-size:6px; }
  .trade-kpi-meta .status-tag { font-size:6px; }
  .trade-chart-grid,.finance-chart-grid { grid-template-columns:1fr; gap:8px; }
  .trade-card { padding:12px; border-radius:15px; }
  .trade-card .card-heading h3 { font-size:14px; }
  .trade-card .card-subtitle { font-size:9px; }
  .trade-chart-viz { min-height:210px; }
  .trade-axis-text { font-size:12px; }
  .trade-bar-label { font-size:11px; }
  .trade-row-label { font-size:10px; }
  .trade-insight-strip { grid-template-columns:1fr 1fr; gap:5px; padding:7px; border-radius:13px; }
  .trade-insight-strip article { min-height:139px; padding:9px 8px 8px 26px; }
  .trade-insight-strip .insight-index { left:8px; font-size:8px; }
  .trade-insight-strip article>small { font-size:7px; }
  .trade-insight-strip p { font-size:8px; }
  .trade-local-filters { align-items:stretch; flex-direction:column; gap:7px; padding:9px; }
  .trade-local-filters label { min-width:0; }
  .trade-local-filters select { width:100%; }
  .trade-filter-note { margin:0; font-size:8px; }
  .trade-matrix { min-width:640px; font-size:9px; }
  .trade-matrix th,.trade-matrix td { padding:7px 6px; }
  .trade-requirements-grid { grid-template-columns:1fr; }
  .trade-route-row { grid-template-columns:64px minmax(0,1fr); padding:9px; }
  .route-chain>b { max-width:35%; padding:5px; font-size:8px; }
  .route-chain { gap:4px; }
  .trade-instrument-grid { grid-template-columns:1fr 1fr; }
  .trade-gap-grid { grid-template-columns:1fr; }
  .trade-gap-item { min-height:70px; }
  .trade-extension-foot { gap:7px; }
}
@media (max-width:390px) {
  .video-workspace-heading { height:530px; min-height:530px; }
  .video-workspace-heading .hero-copy { top:120px; left:15px; right:15px; }
  .video-workspace-heading .hero-copy h1 { font-size:27px; }
  .video-workspace-heading .view-button { padding:5px 5px; font-size:7px; }
  .video-workspace-heading .trust-badge { max-width:126px; }
  .trade-heading-actions .outline-button { padding:0 8px; font-size:8px; }
  .trade-insight-strip { grid-template-columns:1fr; }
  .trade-insight-strip article { min-height:0; }
  .trade-instrument-grid { grid-template-columns:1fr; }
}

/* Extended series observatory */
.extended-data-section { scroll-margin-top: 96px; }
.series-tabs { display: flex; align-items: center; gap: 7px; width: fit-content; max-width: 100%; margin: 2px 0 15px; padding: 6px; overflow-x: auto; border: 1px solid #dce6e8; border-radius: 12px; background: #edf3f2; }
.series-tab { flex: 0 0 auto; border: 0; border-radius: 8px; padding: 10px 15px; background: transparent; color: #60736f; font: 700 12px "DM Sans", sans-serif; cursor: pointer; transition: color .16s ease, background .16s ease, box-shadow .16s ease; }
.series-tab:hover { color: #183b42; background: rgba(255,255,255,.68); }
.series-tab.active { color: #fff; background: linear-gradient(120deg, #153c46, #215b61); box-shadow: 0 4px 12px rgba(21,60,70,.17); }
.series-panel[hidden] { display: none !important; }
.series-panel.active { animation: series-panel-in .18s ease-out; }
@keyframes series-panel-in { from { opacity: .7; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
.extended-chart-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; align-items: stretch; }
.extended-chart-card { min-width: 0; overflow: hidden; padding: 17px 18px 14px; }
.extended-chart-card .card-heading { align-items: flex-start; gap: 12px; min-height: 63px; }
.extended-chart-card .card-heading h3 { margin-top: 4px; font-size: 16px; line-height: 1.25; letter-spacing: -.025em; }
.extended-chart-card .card-subtitle { max-width: 510px; margin-top: 4px; font-size: 12px; line-height: 1.5; }
.extended-chart-card .section-kicker { font-size: 10px; }
.extended-chart-card .visual-actions { display: flex; flex-shrink: 0; gap: 5px; }
.extended-viz { width: 100%; min-height: 220px; overflow: hidden; }
.extended-viz .intelligence-svg { width: 100%; min-height: 220px; }
.extended-viz .chart-legend { flex-wrap: wrap; gap: 8px 15px; margin: 4px 2px 0; }
.extended-viz .chart-legend span { font-size: 12px; }
.extended-viz .chart-legend .legend-caption { color: #81908a; font-size: 11px; }
.extended-viz .chart-axis-text, .extended-viz .chart-row-label, .extended-viz .chart-value-label { font-size: 12px; }
.extension-svg text { font-family: "DM Sans", Arial, sans-serif; }
.heatmap-label { fill: #fff; font: 700 12px "DM Sans", sans-serif; pointer-events: none; }
.heatmap-viz { overflow-x: auto; }
.heatmap-viz .intelligence-svg { min-width: 540px; }
.tall-extended-viz { min-height: 320px; max-height: 390px; overflow: auto; }
.tall-extended-viz .intelligence-svg { min-height: 300px; }
.extended-chart-card .chart-note-row { align-items: flex-start; gap: 10px; padding-top: 9px; font-size: 12px; line-height: 1.5; }
.extended-chart-card .chart-note-row > span:first-child { min-width: 0; max-width: 78%; }
.extended-chart-card .chart-note-row .status-tag { flex: 0 0 auto; }
.composition-legend { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 14px; padding: 4px 4px 12px; }
.composition-legend > span { display: grid; grid-template-columns: 9px minmax(0,1fr); column-gap: 7px; align-items: start; color: #52675f; font-size: 12px; line-height: 1.4; }
.composition-legend i { grid-row: span 2; width: 8px; height: 8px; margin-top: 3px; border-radius: 3px; }
.composition-legend b { font-weight: 700; }
.composition-legend em { color: #7b8a81; font-size: 11px; font-style: normal; }
.economic-proxy { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.08fr); gap: 12px 20px; align-items: center; min-height: 168px; padding: 8px 3px; }
.proxy-value, .proxy-meter { display: flex; flex-direction: column; gap: 4px; }
.proxy-value > span, .proxy-meter > div:first-child > span { color: #687b72; font-size: 12px; font-weight: 700; }
.proxy-value > b { color: #193e46; font: 800 23px/1.15 Manrope, sans-serif; letter-spacing: -.04em; }
.proxy-value > small, .proxy-meter > small { color: #829087; font-size: 11px; line-height: 1.45; }
.proxy-meter > div:first-child { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.proxy-meter > div:first-child > b { color: #215e5d; font: 800 20px Manrope, sans-serif; }
.proxy-track { height: 9px; margin: 3px 0; overflow: hidden; border-radius: 8px; background: #eaf0e9; }
.proxy-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #58a997, #c6a15b); }
.proxy-caveat { grid-column: 1 / -1; padding: 9px 10px; border: 1px solid #e9e4d8; border-radius: 9px; background: #faf8f2; color: #70664d; font-size: 12px; line-height: 1.5; }
.unesco-assets { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; min-height: 180px; padding: 9px 0; }
.unesco-asset { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 11px 10px; border: 1px solid #e1e9df; border-radius: 12px; background: linear-gradient(145deg,#fff,#f4f8f2); }
.unesco-asset > div { display: flex; flex-direction: column; gap: 4px; min-height: 52px; }
.unesco-asset > div span { color: #8d7950; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.unesco-asset > div b { color: #294b45; font: 750 12px/1.35 Manrope, sans-serif; }
.unesco-asset > strong { color: #1d5a55; font: 800 17px Manrope, sans-serif; }
.unesco-asset > strong small { color: #71847a; font: 600 10px "DM Sans", sans-serif; }
.unesco-asset > small { color: #748279; font-size: 11px; line-height: 1.4; }
.unesco-asset > a { margin-top: auto; color: #2d7881; font-size: 11px; font-weight: 750; text-decoration: none; }
.unesco-asset > a:hover, .extension-foot a:hover { text-decoration: underline; }
.extension-foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; padding: 13px 3px 0; color: #78867f; font-size: 12px; line-height: 1.5; }
.extension-foot b { color: #455e55; }
.extension-foot a { color: #2d7881; font-weight: 750; text-decoration: none; }
@media (max-width: 1000px) { .extended-chart-grid { grid-template-columns: minmax(0,1fr); } .extended-chart-card .card-heading h3 { font-size: 15px; } }
@media (max-width: 620px) {
  .series-tabs { width: 100%; border-radius: 10px; }
  .series-tab { padding: 9px 12px; font-size: 11px; }
  .extended-chart-card { padding: 14px 12px 12px; }
  .extended-chart-card .card-heading { min-height: auto; }
  .extended-viz { min-height: 190px; overflow-x: auto; }
  .extended-viz .intelligence-svg { min-width: 520px; min-height: 205px; }
  .extended-viz.heatmap-viz .intelligence-svg { min-width: 550px; }
  .tall-extended-viz { max-height: 340px; }
  .extended-chart-card .chart-note-row > span:first-child { max-width: 100%; }
  .extended-chart-card .chart-note-row { flex-direction: column; align-items: flex-start; }
  .economic-proxy { grid-template-columns: 1fr; gap: 14px; padding: 14px 4px; }
  .unesco-assets { grid-template-columns: 1fr; }
  .unesco-asset > div { min-height: auto; }
  .extension-foot { flex-direction: column; }
}
