/* Shared visual direction: saturated structural color, crisp surfaces, stable content. */
:root {
  --paper:#f5f7ff;
  --ink:#11172a;
  --muted:#4b5670;
  --line:#c8d1e6;
  --soft:#e7edfc;
  --launch-paper:#f5f7ff;
  --launch-ink:#11172a;
  --launch-blue:#c6d9ff;
  --launch-lilac:#d2c5ff;
  --launch-blush:#f5c5d4;
  --launch-line:#b6c5e3;
  --launch-shadow:0 12px 28px #142a5814,0 2px 0 #ffffff80 inset;
  --signal-blue:#175bdb;
  --signal-violet:#7138da;
  --signal-red:#c92a50;
}
body,body.home-page { background:#f5f7ff; }
::selection { color:#fff; background:#254dc4; }
.announcement { background:linear-gradient(100deg,#11214c,#2635a8 60%,#58175f); color:#fff; }
.site-header { background:#ffffffed; border-color:#c2cde3; box-shadow:0 4px 18px #0d1f4510; }
.mega-menu { background:linear-gradient(135deg,#fff 60%,#e7edff); border-color:#a6b9e0; box-shadow:0 22px 60px #07112735; }
.mega-links>a:is(:hover,:focus-visible) { background:#e5ebff; color:#143aa2; }
.mega-menu .nav-icon { color:#2852cd; }
.mega-feature { background:linear-gradient(140deg,#0b1536 25%,#233b9e 72%,#6e2061); color:#fff; border:1px solid #566ed2; }
.mega-feature .eyebrow { color:#d0deff; }
.button.primary:not(.hero-dark .button),.button.secondary,.button.outline { color:#173ba4; background:#ffffff70; border-color:#6481d0; box-shadow:inset 0 0 0 1px #ffffff70,0 4px 14px #173fa515; }
.button.primary:not(.hero-dark .button):is(:hover,:focus-visible),.button.secondary:is(:hover,:focus-visible),.button.outline:is(:hover,:focus-visible) { color:#102966; background:#edf2ff; border-color:#244ed0; box-shadow:0 0 0 1px #244ed025,0 0 22px #3167ef35; }
.button.dark { background:#111a34; border-color:#42568a; color:#fff; }
:is(a,button,input,summary):focus-visible { outline-color:#1b54d4; }
:is(.home-hero,.home-night,.hero-dark,.detail-hero,.insights-hero,.article-hero,.home-insights,.policy-section) :is(a,button,input,summary):focus-visible { outline-color:#a2d8ff; }
h2>span,.home-journey-copy h3>span { color:#304bab; }
.eyebrow { color:#3c50a1; }

/* Main hero scene keeps its own darker visual system. */
.home-hero { background:#030711; }
.home-page .home-hero { margin-bottom:0; }
.home-hero-main::before { background:linear-gradient(90deg,#030711 0%,#030711f2 31%,#030711af 46%,#03071120 69%,transparent 100%),linear-gradient(0deg,#030711d9 0%,transparent 35%); }
.home-hero h1 span { color:#f39a4e; }
.home-hero-action { background:#080b13d9; border-color:#d7a26b; box-shadow:0 5px 20px #0007,inset 0 1px #ffd5aa1f; }
.home-hero-preview { border-color:#b8895e; box-shadow:0 16px 32px #0009,0 0 20px #c76c2522; }

/* Detail pages and utility heroes share a stronger dark introduction. */
.detail-hero,.hero-dark { color:#f7f9ff; background:#080e20; border:1px solid #384c81; border-radius:14px; box-shadow:0 20px 42px #07163320; }
.detail-hero:not(.hero-dark) { padding-inline:clamp(22px,4vw,64px); }
.detail-hero .hero-wash,.hero-dark .hero-wash { background:linear-gradient(120deg,#080d1e 27%,#192967 64%,#452267 88%,#86233f); }
.detail-hero .hero-art::after,.hero-dark .hero-art::after { background:linear-gradient(90deg,#080d1ed9 5%,#080d1e70 47%,transparent 80%); }
.detail-hero h1,.hero-dark h1 { color:#fff; }
.detail-hero h1>span,.hero-dark h1>span { color:#a8caff; background:none; -webkit-text-fill-color:currentColor; }
.detail-hero :is(.detail-intro,.hero-footnote,.breadcrumb),.hero-dark :is(.hero-description,.hero-footnote) { color:#d3dff5; }
.detail-hero .eyebrow,.hero-dark .eyebrow { color:#aac8ff; }
.detail-hero-visual>span { color:#d5def3; background:#10182bcc; border-color:#6581b4; }
:is(.detail-hero,.hero-dark,.home-night,.home-page .policy-section,.domestic-mission) .button { color:#f5f8ff; background:#08102299; border-color:#799cf0; }
:is(.detail-hero,.hero-dark,.home-night,.home-page .policy-section,.domestic-mission) .button.primary:not(.hero-dark .button),.hero-dark .button.primary { color:#dce9ff; background:#16397830; border-color:#789ff5; }
:is(.detail-hero,.hero-dark,.home-night,.home-page .policy-section,.domestic-mission) .button:is(:hover,:focus-visible) { color:#fff; background:#173164; border-color:#b7d8ff; box-shadow:0 0 25px #346ef044; }

/* Homepage chapters vary between clean reading surfaces and decisive color fields. */
.home-page .ecosystem-band.container { background:linear-gradient(130deg,#050912 31%,#101e56 65%,#382072); border-color:#384c89; }
.home-page .policy-section { background:linear-gradient(115deg,#07101f 20%,#122f71 65%,#4c185f); }
.home-page .opensource-section.home-night { background:linear-gradient(120deg,#081226 17%,#192b7e 62%,#65225e); border-color:#6888dd; }
.home-night h2>span { color:#a5c9ff; }
.home-night .eyebrow { color:#bed1ff; }
.ecosystem-band .brand-rail>a { --card-light:77 134 255; background:linear-gradient(145deg,#172957,#090f23 68%); border-radius:12px; }
.ecosystem-band .brand-rail>a:nth-child(3n+2) { --card-light:142 91 255; }
.ecosystem-band .brand-rail>a:nth-child(3n) { --card-light:255 86 125; }
.ecosystem-band .brand-rail>* { filter:none; }
.home-journey { background:linear-gradient(125deg,#fff 40%,#dee8ff 85%,#cad8ff); border-block:1px solid #becbea; }
.home-journey-media { border-radius:14px; border:1px solid #b8c8e6; box-shadow:0 16px 30px #1c396724; }
.home-journey-links a { color:#233f92; border-color:#8da5d6; background:#fff; border-radius:7px; }
.home-journey-links a:is(:hover,:focus-visible) { border-color:#2759d7; box-shadow:0 0 18px #3562ce33; }
.marketplace-teaser { background:linear-gradient(117deg,#fff 40%,#dce5ff 75%,#ebc8e2); border-block:2px solid #4268cd; }
.closing-cta { background:linear-gradient(120deg,#fff 22%,#d2e0ff 66%,#cbb8ff); border:1px solid #7d99d9; border-radius:14px; box-shadow:0 18px 45px #17356f22; }

.downloads-hero .hero-wash { background:linear-gradient(120deg,#ffffff 30%,#c6d9ff 68%,#d6b9f2); }
.downloads-hero h1>span { color:#253e9d; }
.downloads-hero .hero-art { border-block:1px solid #a6bdea; }
/* Information cards remain light; high-contrast edges carry the color. */
:is(.detail-cards article,.solution-card,.resource-card,.platform-card,.marketplace-card,.connection-card,.compatibility-contract article,.tech-brief article,.ecosystem-grid>*,.marketplace-review-grid article) { border-color:#b3c3e2; border-radius:12px; background:linear-gradient(130deg,#fff 65%,#ecf1ff); box-shadow:0 10px 24px #0a255314,inset 0 3px #3566d3; }
:is(.detail-cards article,.solution-card,.resource-card,.platform-card,.marketplace-card,.connection-card):nth-child(3n+2) { box-shadow:0 10px 24px #0a255314,inset 0 3px #793bd6; }
:is(.detail-cards article,.solution-card,.resource-card,.platform-card,.marketplace-card,.connection-card):nth-child(3n) { box-shadow:0 10px 24px #0a255314,inset 0 3px #c42e5c; }
:is(.solution-card,.resource-card,.marketplace-card,.connection-card):is(:hover,:focus-visible) { border-color:#587ccb; }
.story-slider { background:linear-gradient(135deg,#fff 35%,#e1e9ff); border:1px solid #a8bbdf; border-radius:14px; }
.story-panel { border-color:#b4c5e5; }
.corporate-connections,.marketplace-review-section { background:linear-gradient(120deg,#e1eaff,#f7f9ff 55%,#e0d8fa); border-color:#b0c0e0; }
:is(.story-tabs,.tour-tabs) button[aria-selected='true'],:is(.ecosystem-filters,.marketplace-filters,.connection-filters) button[aria-pressed='true'] { color:#15328a; background:#e1eaff; border-color:#2d5bd8; box-shadow:inset 0 -3px #2d5bd8,0 0 18px #2d5bd826; }
:is(.story-tabs,.tour-tabs) button[aria-selected='true']::before,:is(.ecosystem-filters,.marketplace-filters,.connection-filters) button[aria-pressed='true']::before { background:linear-gradient(115deg,#275cdb,#7f3cdb 60%,#d43563); }
.ecosystem-category { background:#e7ecfc; color:#354780; }
.connection-search input { background:#fff; border-color:#aebfdf; color:#152343; }

/* Editorial sections use stronger frames while articles retain light reading bodies. */
.insights-hero,.article-hero,.home-insights { background:linear-gradient(118deg,#060e21 24%,#183773 62%,#571e64); }
.insights-hero h1 span,.home-insights h2 span { color:#b4ceff; }
.insight-card-featured { border:1px solid #9fb6df; border-radius:14px; background:linear-gradient(125deg,#fff 60%,#dae6ff); box-shadow:0 16px 35px #122e5e20; }
.insight-topic-links a { border-color:#a9bad9; color:#233f7c; }
.insight-topic-links a[aria-current='page'],.insight-topic-links a:hover { color:#142f80; border-color:#3860cb; background:#e6edff; }
.insight-kind { background:#e9e2fd; border-color:#9174c6; color:#52328e; }
.insight-kind.is-news { background:#ffe3eb; border-color:#c16c89; color:#8a2344; }
.site-footer { border-color:#b9c8e3; background:#eaf0fc; }

@media (max-width:760px) {
  .detail-hero:not(.hero-dark) { padding-inline:22px; }
  .detail-hero,.hero-dark,.closing-cta { border-radius:10px; }
}
@media (forced-colors:active) {
  body,body.home-page,.announcement,.site-header,.mega-menu,.mega-feature,.detail-hero,.hero-dark,.home-hero,.home-page .ecosystem-band.container,.home-page .policy-section,.home-page .opensource-section.home-night,.home-journey,.marketplace-teaser,.closing-cta,.insights-hero,.article-hero,.home-insights,.site-footer { color:CanvasText; background:Canvas; border-color:CanvasText; box-shadow:none; }
  .detail-hero .hero-art,.hero-dark .hero-art,.home-hero-main::before,.home-hero::after { display:none; }
  :is(.detail-hero,.hero-dark,.home-hero,.home-night,.home-insights,.insights-hero,.mega-feature) :is(h1,h2,h3,p,span,small) { color:CanvasText; -webkit-text-fill-color:currentColor; }
  .button,.home-hero-action,:is(.detail-hero,.hero-dark,.home-night,.home-page .policy-section,.domestic-mission) .button,.button.primary:not(.hero-dark .button) { color:LinkText; background:Canvas; border-color:LinkText; box-shadow:none; }
  :is(.detail-cards article,.solution-card,.resource-card,.platform-card,.marketplace-card,.connection-card,.compatibility-contract article,.tech-brief article,.ecosystem-grid>*,.marketplace-review-grid article,.story-slider,.story-panel,.corporate-connections,.marketplace-review-section,.insight-card-featured) { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; }
  :is(.story-tabs,.tour-tabs) button[aria-selected='true'],:is(.ecosystem-filters,.marketplace-filters,.connection-filters) button[aria-pressed='true'] { background:Highlight; color:HighlightText; border-color:Highlight; box-shadow:none; }
  :is(a,button,input,summary):focus-visible { outline-color:Highlight; }
}

/* Bold artwork keeps its native 3:2 frame across shared illustrated surfaces. */
:is(.story-visual,.detail-hero-visual,.home-journey-media,.marketplace-hero-art,.downloads-hero-art,.marketplace-teaser) > img[src*='rangoon-'][src*='-bold-v1'] {
  display:block;
  width:100%;
  max-height:none;
  height:auto;
  aspect-ratio:3 / 2;
  object-fit:contain;
  border:1px solid #426ab5;
  border-radius:6px;
  box-shadow:0 10px 22px #05091438;
}
.home-journey-media:has(> img[src*='rangoon-'][src*='-bold-v1']) { border:0; border-radius:0; box-shadow:none; }
.downloads-hero-art:has(> img[src*='rangoon-'][src*='-bold-v1']) { border-radius:0; box-shadow:none; }
.downloads-hero-art:has(> img[src*='rangoon-'][src*='-bold-v1'])::before,
.downloads-hero-art:has(> img[src*='rangoon-'][src*='-bold-v1'])::after { display:none; }

/* Homepage workflow uses a dark technical surface without changing other sliders. */
.how-it-works .story-slider--workflow {
  position:relative;
  overflow:hidden;
  background:#070b14;
  border:1px solid #426ab5;
  border-top:4px solid #f58a42;
  border-radius:8px;
  box-shadow:inset 0 2px #b62e4b,0 16px 32px #05091435;
}
.how-it-works .story-slider--workflow .story-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:14px 18px 0;
  border-bottom:1px solid #2b4f8d;
  background:#102653;
}
.how-it-works .story-slider--workflow .story-tabs button {
  min-height:44px;
  color:#c5d2e8;
  border:1px solid #2b4f8d;
  border-radius:5px 5px 0 0;
  background:#0d1423;
  box-shadow:none;
}
.how-it-works .story-slider--workflow .story-tabs button[aria-selected='true'] {
  color:#fff;
  border-color:#426ab5;
  background:#102653;
  box-shadow:inset 0 -3px #f58a42;
}
.how-it-works .story-slider--workflow .story-tabs button::before { background:#f58a42; }
.how-it-works .story-slider--workflow .story-panel {
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:clamp(20px,4vw,48px);
  padding:clamp(18px,3vw,24px);
  border:1px solid #2b4f8d;
  border-radius:0;
  background:#0d1423;
}
.how-it-works .story-slider--workflow .story-visual { overflow:visible; border-radius:0; box-shadow:none; }
.how-it-works .story-slider--workflow .story-visual > img { aspect-ratio:3 / 2; object-fit:contain; }
.how-it-works .story-slider--workflow .story-art-label { color:#d9e5f7; background:#0d1423; border:1px solid #2b4f8d; border-top:0; }
.how-it-works .story-slider--workflow .story-copy { max-width:none; }
.how-it-works .story-slider--workflow .story-copy :is(h3,.eyebrow) { color:#fff; }
.how-it-works .story-slider--workflow .story-copy > p,
.how-it-works .story-slider--workflow .story-copy dd,
.how-it-works .story-slider--workflow .story-controls > p { color:#c5d2e8; }
.how-it-works .story-slider--workflow .story-copy dt { color:#f58a42; }
.how-it-works .story-slider--workflow .story-copy .text-link { color:#d9e5f7; }
.how-it-works .story-slider--workflow .story-controls { padding:0 18px 18px; }
.how-it-works .story-slider--workflow .slider-arrow {
  min-width:44px;
  min-height:44px;
  color:#fff;
  border-color:#426ab5;
  background:#102653;
  box-shadow:none;
}
.how-it-works .story-slider--workflow :is(button,a):focus-visible { outline:3px solid #f58a42; outline-offset:3px; }
@media (max-width:900px) {
  .how-it-works .story-slider--workflow .story-panel { grid-template-columns:1fr; }
  .how-it-works .story-slider--workflow .story-visual { order:-1; }
}
@media (max-width:640px) {
  .how-it-works .story-slider--workflow .story-tabs { flex-wrap:wrap; padding-inline:12px; }
  .how-it-works .story-slider--workflow .story-tabs button { flex:1 1 132px; }
  .how-it-works .story-slider--workflow .story-panel { padding:18px; }
  .how-it-works .story-slider--workflow .story-copy dl > div { grid-template-columns:82px minmax(0,1fr); gap:12px; }
}
@media (forced-colors:active) {
  .how-it-works .story-slider--workflow,
  .how-it-works .story-slider--workflow .story-panel,
  .how-it-works .story-slider--workflow .story-tabs,
  .how-it-works .story-slider--workflow .story-tabs button,
  .how-it-works .story-slider--workflow .story-art-label,
  .how-it-works .story-slider--workflow .slider-arrow { color:CanvasText; background:Canvas; border-color:CanvasText; box-shadow:none; }
  .how-it-works .story-slider--workflow .story-tabs button[aria-selected='true'] { color:HighlightText; background:Highlight; border-color:Highlight; }
  .how-it-works .story-slider--workflow .story-copy :is(h3,.eyebrow,.text-link),
  .how-it-works .story-slider--workflow .story-copy > p,
  .how-it-works .story-slider--workflow .story-copy :is(dt,dd),
  .how-it-works .story-slider--workflow .story-controls > p { color:CanvasText; }
  .how-it-works .story-slider--workflow :is(button,a):focus-visible { outline-color:Highlight; }
}
