/* Original overview artwork scaled to the screen width. */
.technical-architecture {padding-block:24px 28px;scroll-margin-top:90px;background:#fdfaf1;color:#263239;}
.technical-architecture .wrap {width:calc(100% - 32px);max-width:none;margin-inline:auto;}
.technical-architecture .technical-header {margin-bottom:18px;}
.technical-architecture .technical-header h2 {font-family:inherit;font-size:clamp(25px,2.6vw,38px);line-height:1.12;font-weight:500;letter-spacing:-.035em;margin:0;}
.technical-architecture .diagram-viewport {width:100%;height:auto;min-height:0;max-height:none;margin-inline:auto;overflow:visible;background:transparent;border:0;border-radius:0;outline:0;touch-action:auto;}
.technical-architecture .technical-fallback {display:block;width:100%;max-width:100%;height:auto;max-height:none;margin-inline:auto;padding:0;object-fit:contain;}
.technical-architecture .diagram-viewport {cursor:zoom-in;}
.technical-architecture .diagram-viewport.is-magnifying {cursor:none;}
.technical-architecture .diagram-viewport:focus-visible {outline:2px solid #6c8f80;outline-offset:4px;}
.technical-magnifier {position:fixed;z-index:100;box-sizing:border-box;pointer-events:none;overflow:hidden;border:4px solid #314d48;border-radius:50%;background:#fdfaf1;box-shadow:0 0 0 3px #fffdf3,0 12px 36px #16322e55;}
.technical-magnifier-image {position:absolute;display:block;max-width:none;max-height:none;pointer-events:none;}
.technical-magnifier[hidden] {display:none;}
.technical-inspection-point {position:fixed;z-index:102;width:22px;height:22px;transform:translate(-50%,-50%);pointer-events:none;border:2px solid #314d48;border-radius:50%;box-shadow:0 0 0 2px #fffdf3;background:#bffada55;}
.technical-inspection-point[hidden] {display:none;}
.technical-detail-card.is-dragging {pointer-events:none;}
.technical-touch-help {display:none;}
.technical-detail-card {position:fixed;z-index:101;box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 180px);overflow:auto;padding:23px 25px 24px;border:1px solid #b4c3b6;border-radius:16px;background:#fffdf6f7;color:#263d38;box-shadow:0 12px 40px #1e393225,0 2px 8px #1e393210;backdrop-filter:blur(16px);font-family:inherit;cursor:auto;}
.technical-detail-card[hidden] {display:none;}
.technical-detail-group {display:block;margin-bottom:10px;color:#6a7c6b;font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;}
.technical-detail-group:empty {display:none;}
.technical-detail-title {display:block;font-size:22px;font-weight:500;line-height:1.18;letter-spacing:-.035em;}
.technical-detail-copy {margin:13px 0 0;color:#52635a;font-size:14px;font-weight:400;line-height:1.65;}
.technical-magnifier-help {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
@media(max-width:739px), (pointer:coarse) {
  .technical-architecture .diagram-viewport {touch-action:pinch-zoom;user-select:none;-webkit-user-select:none;}
  .technical-touch-help {display:block;margin:0 0 14px;color:#52635a;font-size:13px;line-height:1.5;}
}
@media(max-width:600px) {
  .technical-architecture {scroll-margin-top:78px;}
  .technical-detail-card {padding:17px 19px 18px;}
  .technical-detail-title {font-size:20px;}
  .technical-detail-copy {margin-top:10px;font-size:13px;line-height:1.55;}
}
