.advantages-section { border-top: 1px solid var(--line); }
.advantages-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.advantage-map { margin: 0; position: sticky; top: 130px; background: #e9ede2; border: 1px solid #cbd4c0; }
.advantage-map-header { display: flex; justify-content: space-between; gap: 20px; padding: 21px 24px; border-bottom: 1px solid #cbd4c0; }
.advantage-map-header .mono, .map-concept { font: 9px var(--mono); letter-spacing: .09em; }
.map-concept { color: #677a60; }
.advantage-drawing { display: block; width: 100%; height: auto; fill: none; stroke: none; }
.advantage-drawing text { stroke: none; }
.advantage-scene { display: none; }
.advantage-scene.is-current { display: block; }
.advantage-scene.is-changing { animation: map-appear .38s ease-out both; }
.map-connection { fill: none; stroke: #859a71; stroke-width: 1.6; stroke-dasharray: 5 5; }
.is-changing .map-connection { animation: map-flow 1.4s linear 1; }
.map-node { fill: #f5f5ee; stroke: #8c9f78; stroke-width: 1; }
.map-node-dark { fill: #173c31; stroke: #173c31; }
.map-node-lime { fill: #d4ed8a; stroke: #9bb570; }
.map-small { font: 8px var(--mono); letter-spacing: .04em; fill: #456344; }
.map-label { font: 14px var(--sans); fill: #183d31; letter-spacing: -.3px; }
.map-small.light, .map-label.light { fill: #e9f1df; }
.map-caption { font: 8px var(--mono); letter-spacing: .03em; fill: #57714c; }
.map-junction { fill: #6d8d54; stroke: #e9ede2; stroke-width: 3; }
.map-shared { stroke: #8c9f78; stroke-width: 1; }
.map-root { fill: #173c31; stroke: #173c31; stroke-width: 1; }
.map-root-next { fill: #d4ed8a; stroke: #9bb570; }
.map-root-label { font: 29px var(--mono); fill: #f5f5ee; text-anchor: middle; }
.map-root-next + .map-root-label { fill: #173c31; }
.map-records rect { fill: #f5f5ee; stroke: #8c9f78; }
.advantage-map figcaption { padding: 20px 24px; border-top: 1px solid #cbd4c0; display: flex; align-items: baseline; gap: 8px; font-size: 11px; color: #4b6244; }
.advantage-map figcaption .status-dot { flex: 0 0 5px; }
.advantage-instruction { color: var(--muted); font-size: 9px; margin-bottom: 21px; }
.advantage-static-note { padding: 0 24px 20px; color: var(--muted); font-size: 11px; }
.advantage-principles details { border-top: 1px solid var(--line); }
.advantage-principles details:last-child { border-bottom: 1px solid var(--line); }
.advantage-principles summary { display: grid; grid-template-columns: 26px 1fr 22px; gap: 15px; padding: 23px 0; list-style: none; align-items: center; cursor: pointer; }
.advantage-principles summary::-webkit-details-marker { display: none; }
.advantage-principles summary > span { font: 9px var(--mono); color: #7f8c70; }
.advantage-principles summary h3 { font-size: 22px; font-weight: 500; line-height: 1.3; letter-spacing: -.04em; margin: 0; }
.advantage-principles summary i { font-style: normal; font-size: 22px; color: #7f8c70; transition: transform .2s; }
.advantage-principles details[open] summary h3 { color: #486c3d; }
.advantage-principles details[open] summary i { transform: rotate(45deg); color: #486c3d; }
.advantage-detail { padding: 0 0 25px 41px; }
.advantage-detail p { font-size: 13px; line-height: 1.85; color: var(--muted); margin-bottom: 18px; max-width: 420px; }
.advantage-detail a { display: block; font-size: 11px; margin-top: 16px; }
.advantage-status { display: inline-block; padding: 5px 8px; background: #e8eedc; font: 8px var(--mono); letter-spacing: .04em; color: #4d6b3b; }
.technology-invitation { background: #d7eaa5; border-block: 1px solid #adbe86; }
.technology-invitation .container { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 32px; padding-block: 38px; }
.technology-invitation h2 { font-size: 30px; margin: 10px 0 0; }
.technology-invitation .eyebrow { color: #4d6b3b; }
@keyframes map-flow { from { stroke-dashoffset: 40; } to { stroke-dashoffset: 0; } }
@keyframes map-appear { from { opacity: .35; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1060px) { .advantages-grid { gap: 35px; } .advantage-principles summary h3 { font-size: 19px; } }
@media (max-width: 760px) {
  .advantages-grid { grid-template-columns: 1fr; gap: 35px; }
  .advantage-map { position: relative; top: auto; }
  .advantage-principles summary { padding-block: 20px; }
  .advantage-principles summary h3 { font-size: 22px; }
  .technology-invitation .container { grid-template-columns: 1fr; gap: 24px; }
  .technology-invitation .button { justify-self: start; }
}
@media (max-width: 390px) {
  .advantage-map-header { padding: 18px 15px; gap: 10px; }
  .advantage-map-header .mono, .map-concept { font-size: 7px; }
  .advantage-map figcaption { padding: 17px 15px; font-size: 10px; }
  .advantage-principles summary { grid-template-columns: 18px 1fr 16px; gap: 9px; }
  .advantage-principles summary h3 { font-size: 19px; }
  .advantage-detail { padding-left: 27px; }
}
@media (prefers-reduced-motion: reduce) { .advantage-scene.is-changing, .is-changing .map-connection { animation: none; } .advantage-principles summary i { transition: none; } }
@media print { .advantage-map { position: static; } .advantage-principles details > * { display: block; } }
