/* The framework domain map shares the marketing site's type and colour tokens. */
.dc-finops { --dc-accent: #b69aff; scroll-margin-top: 100px; border-bottom: 1px solid var(--l); background: radial-gradient(ellipse at 80% 15%,#7252bb1a,transparent 60%); }
.dc-finops__intro { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 40px; align-items: center; }
.dc-finops__result { padding: 26px; border: 1px solid #b69aff40; border-radius: 18px; background: #9d7be30b; }
.dc-finops__result > span { color: #bfa8ff; font: 600 1.1rem "JetBrains Mono",monospace; letter-spacing: .16em; }
.dc-finops__result p { margin: 12px 0 0; color: #c7cde5; font-size: .95rem; line-height: 1.8; }
.dc-finops__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding: 0; list-style: none; margin: 30px 0; }
.dc-finops__grid li { padding: 26px; border: 1px solid #95a5df30; border-radius: 18px; background: #0c1020b3; min-width: 0; }
.dc-finops__grid .dc-card__index { width: 35px; }
.dc-finops__card-head { display: flex; align-items: center; gap: 16px; min-height: 48px; margin-bottom: 16px; }
.dc-finops__grid h3 { margin: 0; color: #edf0ff; font: 700 1rem/1.5 "Manrope",sans-serif; }
.dc-finops__grid li:last-child { grid-column: 1 / -1; border-color: #b69aff55; background: linear-gradient(110deg,#b69aff12,#0c1020b3); }
.dc-finops__grid p { color: #adb8d3; font-size: .87rem; line-height: 1.8; margin: 0; }
@media (max-width: 700px) { .dc-finops__intro, .dc-finops__grid { grid-template-columns: 1fr; gap: 16px; } .dc-finops__grid li { padding: 22px; } }
.dc-section { position: relative; scroll-margin-top: 100px; border-block: 1px solid var(--l); background: radial-gradient(ellipse at 50% 35%, #262a582e, transparent 65%); }
.dc-heading { max-width: 820px; }
.dc-heading .dc-hint { margin-top: 18px; font-size: .85rem; color: #aab6d6; }
.dc-map { display: grid; grid-template-columns: minmax(0,1fr) 220px minmax(0,1fr); grid-template-areas: "d1 core d2" "d3 core d4" "d5 core d6" "d7 core d8"; gap: 18px 30px; align-items: start; position: relative; margin-top: 38px; }
.dc-card--engineering { --dc-accent: #75aaff; grid-area: d1; }
.dc-card--governance { --dc-accent: #65dec5; grid-area: d2; }
.dc-card--finops { --dc-accent: #b69aff; grid-area: d3; }
.dc-card--operations { --dc-accent: #65d9ee; grid-area: d4; }
.dc-card--strategy { --dc-accent: #f69acb; grid-area: d5; }
.dc-card--security { --dc-accent: #86baff; grid-area: d6; }
.dc-card--adoption { --dc-accent: #ffb38b; grid-area: d7; }
.dc-card--research { --dc-accent: #efd17d; grid-area: d8; }
.dc-card { position: relative; min-width: 0; border: 1px solid #95a5df30; border-radius: 18px; background: linear-gradient(135deg, color-mix(in srgb, var(--dc-accent) 7%, #0c1020), #0c1020); box-shadow: inset 0 1px #ffffff06; transition: border-color .2s, background .2s; scroll-margin-top: 100px; }
.dc-card::before { content: ""; pointer-events: none; position: absolute; top: 50%; width: 30px; height: 1px; background: linear-gradient(90deg, var(--dc-accent), #8596ff35); right: -31px; }
.dc-card:nth-of-type(2n)::before { left: -31px; right: auto; transform: rotate(180deg); }
.dc-card:hover, .dc-card[open] { border-color: color-mix(in srgb, var(--dc-accent) 60%, transparent); }
.dc-card summary { display: flex; align-items: flex-start; gap: 13px; padding: 23px 20px; min-height: 146px; cursor: pointer; list-style: none; border-radius: 17px; }
.dc-card summary::-webkit-details-marker { display: none; }
.dc-card summary:focus-visible, .dc-section a:focus-visible, .dc-teaser a:focus-visible { outline: 2px solid #c1d7ff; outline-offset: 5px; }
.dc-card__index { display: grid; place-items: center; flex: 0 0 35px; height: 35px; border: 1px solid color-mix(in srgb, var(--dc-accent) 35%, transparent); border-radius: 11px; background: color-mix(in srgb, var(--dc-accent) 10%, transparent); color: var(--dc-accent); font: 500 .75rem "JetBrains Mono", monospace; }
.dc-card__heading { min-width: 0; flex: 1; }
.dc-card__title { display: block; color: #f0f3ff; font: 700 1.03rem/1.45 "Manrope", sans-serif; }
.dc-card__description { display: block; margin-top: 8px; color: #abb6d0; font-size: .84rem; line-height: 1.65; }
.dc-card__toggle { color: var(--dc-accent); font: 400 1.4rem/1.4 "Inter", sans-serif; transition: transform .2s; }
.dc-card[open] .dc-card__toggle { transform: rotate(45deg); }
.dc-card__body { border-top: 1px solid #a5b9ff18; margin: 0 20px; padding: 19px 0 22px; }
.dc-card__body ul { padding-left: 18px; margin: 0 0 20px; color: #c1cbe1; font-size: .85rem; line-height: 1.75; }
.dc-card__body li + li { margin-top: 6px; }
.dc-card__body li::marker { color: var(--dc-accent); }
.dc-card__outcome { border-left: 2px solid var(--dc-accent); padding: 10px 14px; background: #ffffff04; }
.dc-card__outcome strong { color: var(--dc-accent); font-size: .72rem; }
.dc-card__outcome p { margin: 7px 0 0; font-size: .85rem; line-height: 1.65; color: #dce3f4; }
.dc-card__body a { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; min-height: 32px; color: var(--dc-accent); font-size: .8rem; text-decoration: underline; text-underline-offset: 4px; }
.dc-core { grid-area: core; align-self: center; position: relative; text-align: center; padding: 36px 8px; }
.dc-core::before { content: ""; position: absolute; inset: -36px -15px; border: 1px solid #9dacf326; border-radius: 140px; background: radial-gradient(ellipse, #4b57ce20, transparent 70%); pointer-events: none; }
.dc-core__orb { display: grid; place-items: center; width: 162px; height: 162px; margin: 0 auto 28px; border: 1px solid #8b9bfa65; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #283657, #0b1023 75%); box-shadow: 0 0 65px #586ced24, inset 0 0 28px #727be019; }
.dc-core__orb img { max-width: 128px; height: auto; }
.dc-core__label { color: #a3b3e1; font: 500 .6rem/1.9 "JetBrains Mono", monospace; letter-spacing: .09em; text-transform: uppercase; }
.dc-core .dc-core__verbs { color: #edf2ff; white-space: pre-line; font: 700 .9rem/1.9 "Manrope", sans-serif; margin: 16px 0; }
.dc-core p { font-size: .8rem; line-height: 1.7; color: #b9c5e4; }
.dc-core a { position: relative; display: inline-block; font-size: .75rem; line-height: 1.65; color: #afbdff; text-decoration: underline; text-underline-offset: 4px; margin-top: 14px; }
.dc-foundations { margin-top: 38px; display: grid; grid-template-columns: minmax(220px,.8fr) minmax(0,1.6fr); gap: 35px; padding: 30px; border: 1px solid #92a5d72b; border-radius: 18px; background: linear-gradient(120deg,#1c274145,#0c102080); }
.dc-foundations h3 { font: 700 1.3rem/1.4 "Manrope",sans-serif; color: #ecf2ff; margin: 10px 0; }
.dc-foundations p { color: #aebbd4; font-size: .85rem; line-height: 1.7; }
.dc-foundations ul { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 26px; list-style: none; }
.dc-foundations li { position: relative; padding-left: 15px; font-size: .8rem; line-height: 1.6; color: #c4cde1; }
.dc-foundations li::before { content: ""; position: absolute; top: .6em; left: 0; width: 4px; height: 4px; background: #8eaaee; border-radius: 50%; }
.dc-impacts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin-top: 28px; }
.dc-impacts > div { padding: 18px 16px; border-top: 1px solid #9eace735; }
.dc-impacts span { color: #798fc8; font: 500 .65rem "JetBrains Mono",monospace; }
.dc-impacts h3 { font: 700 .94rem/1.5 "Manrope",sans-serif; color: #e4ebff; margin: 12px 0 6px; }
.dc-impacts p { color: #a6b2cf; font-size: .8rem; line-height: 1.7; margin: 0; }
.dc-teaser { border-block: 1px solid var(--l); }
.dc-teaser__panel { display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: 50px; align-items: center; padding: 38px 42px; border-radius: 24px; border: 1px solid #8c9ced40; background: radial-gradient(ellipse at 90% 50%,#4458b22b,transparent 65%),#0c1020; text-decoration: none; transition: border-color .2s; }
.dc-teaser__panel:hover { border-color: #8dacf399; }
.dc-teaser__panel h2 { font: 700 clamp(1.5rem,2.6vw,2.2rem)/1.3 "Manrope",sans-serif; color: #f1f4ff; margin: 13px 0; }
.dc-teaser__panel p { color: #b0bdd7; font-size: .92rem; line-height: 1.8; margin-bottom: 22px; }
.dc-teaser__panel strong { display: inline-flex; gap: 14px; color: #b7c6ff; font-size: .86rem; }
.dc-teaser__visual { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; text-align: center; align-items: center; padding: 20px; border: 1px solid #8d9aff28; border-radius: 80px; transform: rotate(-6deg); }
.dc-teaser__visual span { padding: 12px 0; color: #9bbfff; border: 1px solid #92a5ff30; border-radius: 12px; background: #0d1835; font: 500 .7rem "JetBrains Mono",monospace; }
.dc-teaser__visual span:nth-child(2), .dc-teaser__visual span:nth-child(8) { color: #7be3c6; }
.dc-teaser__visual span:nth-child(3), .dc-teaser__visual span:nth-child(6) { color: #caaaff; }
.dc-teaser__visual span:nth-child(4), .dc-teaser__visual span:nth-child(7) { color: #f1bb9f; }
.dc-teaser__visual i { grid-column: 1 / -1; padding: 15px; }
.dc-teaser__visual img { max-width: 100px; height: auto; margin: auto; }
@media (max-width: 1100px) {
  .dc-map { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-areas: "core core" "d1 d2" "d3 d4" "d5 d6" "d7 d8"; gap: 18px; }
  .dc-core { display: grid; grid-template-columns: 100px minmax(0,1fr); column-gap: 24px; text-align: left; padding: 24px; border: 1px solid #8499ed35; border-radius: 20px; }
  .dc-core::before, .dc-card::before { display: none; }
  .dc-core__orb { grid-row: 1 / 5; width: 100px; height: 100px; margin: auto; }
  .dc-core__orb img { width: 78px; }
  .dc-core p, .dc-core .dc-core__verbs, .dc-core a { margin: 4px 0; }
  .dc-core .dc-core__verbs { white-space: normal; }
  .dc-foundations { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 700px) {
  .dc-map { display: flex; flex-direction: column; gap: 14px; margin-top: 25px; }
  .dc-core, .dc-card { width: 100%; box-sizing: border-box; }
  .dc-card summary { min-height: 0; padding: 19px 16px; gap: 11px; }
  .dc-card__title { font-size: .97rem; }
  .dc-card__description { font-size: .84rem; }
  .dc-card__body { margin-inline: 16px; }
  .dc-core { grid-template-columns: 66px minmax(0,1fr); gap: 4px 16px; padding: 20px 16px; }
  .dc-core__orb { width: 66px; height: 66px; }
  .dc-core__orb img { width: 55px; }
  .dc-core .dc-core__verbs { font-size: .83rem; }
  .dc-foundations { padding: 23px 20px; }
  .dc-foundations ul { grid-template-columns: 1fr; gap: 10px; }
  .dc-impacts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .dc-impacts > div { padding-inline: 5px; }
  .dc-teaser__panel { grid-template-columns: 1fr; padding: 28px 22px; gap: 28px; }
  .dc-teaser__visual { max-width: 240px; width: 100%; justify-self: center; transform: none; box-sizing: border-box; }
}
@media (prefers-reduced-motion: reduce) {
  .dc-card, .dc-card__toggle, .dc-teaser__panel { transition: none; }
}
/* Light-mode counterparts keep the same application typography and hierarchy. */
:is(.dc-section,.dc-finops,.dc-teaser) :is(h2,h3,.dc-card__title,.dc-core__verbs){font-family:Inter,sans-serif}
:is(.light,[data-theme="light"]) :is(.dc-card,.dc-teaser__panel,.dc-finops__grid li,.dc-foundations,.dc-finops__result){background:#fff;border-color:#d4d4df}
:is(.light,[data-theme="light"]) :is(.dc-card__title,.dc-finops__grid h3,.dc-teaser__panel h2,.dc-foundations h3,.dc-impacts h3,.dc-core .dc-core__verbs){color:#18181b}
:is(.light,[data-theme="light"]) :is(.dc-card__description,.dc-card__body ul,.dc-card__outcome p,.dc-teaser__panel p,.dc-foundations p,.dc-foundations li,.dc-impacts p,.dc-finops__grid p,.dc-finops__result p,.dc-core p){color:#52525b}
:is(.light,[data-theme="light"]) :is(.dc-card__body a,.dc-card__outcome strong,.dc-teaser__panel strong,.dc-core a,.dc-heading .dc-hint){color:#4338ca}
