/* Interactive package overview: uses the site's Archivo type and navy palette. */
.package-explorer{background:#f2f5f7;color:#172a3e}
.package-heading{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:48px;margin-bottom:32px}
.package-heading h2{max-width:660px;margin:0}.package-heading>p{max-width:430px;margin:0;color:#526175}
.package-diagram{background:#fff;border:1px solid #dae2e9}
.package-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;font-size:14px;color:#526175}
.package-explorer button{font:inherit;cursor:pointer}
.package-enlarge,.package-close{display:inline-flex;align-items:center;gap:12px;border:0;background:transparent;color:#174d78;font-size:14px!important;font-weight:600!important;min-height:44px;padding:8px 12px}
.package-stage{position:relative;aspect-ratio:768/270;isolation:isolate;overflow:hidden;background:#fff}
.package-stage>img{position:absolute;display:block;top:-44.074%;left:0;width:100%;height:auto;max-width:none;margin:0;user-select:none}
.package-highlight{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.package-highlight polygon{fill:#2777b8;fill-opacity:0;stroke:#23669b;stroke-opacity:0;stroke-width:1.4;vector-effect:non-scaling-stroke;transition:fill-opacity .18s,stroke-opacity .18s}
.package-highlight polygon.is-active{fill-opacity:.17;stroke-opacity:.85}
.package-hotspots{position:absolute;inset:0;z-index:2}
.package-tooltip{position:absolute;z-index:3;width:max-content;max-width:calc(100% - 16px);padding:9px 13px;border-radius:4px;background:#173b5e;color:#fff;box-shadow:0 3px 12px #10233824;font-size:14px;font-weight:600;line-height:1.4;text-align:center;pointer-events:auto}
.package-tooltip[hidden]{display:none}
.package-dot{position:absolute;left:var(--x);top:clamp(22px,var(--y),calc(100% - 22px));transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:#173b5e;font-size:15px!important;font-weight:600!important}
.package-dot span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid #255c89;box-shadow:0 2px 7px #10233830;transition:background .18s,color .18s}
.package-dot[aria-pressed=true] span{background:#153954;color:#fff;border-color:#fff;box-shadow:0 0 0 2px #153954}
.package-image-note{font-size:13px;color:#627083;padding:14px 24px 18px;margin:0;line-height:1.5}
.package-explanation{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;margin-top:30px;align-items:start}
.package-selector-label{font-size:14px;font-weight:600;margin:0 0 12px}.package-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.package-tabs button{display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;min-height:48px;border:1px solid #cbd6e0;background:transparent;color:#31465a;font-size:14px;font-weight:600;line-height:1.4}
.package-tabs button span{font-size:12px;color:#64798d;font-weight:400}
.package-tabs button[aria-pressed=true]{background:#173b5e;border-color:#173b5e;color:#fff}.package-tabs button[aria-pressed=true] span{color:#bacfe0}
.package-tabs button:hover{border-color:#173b5e}
.package-selector-note{font-size:14px;line-height:1.6;color:#526175;margin:18px 0 0;max-width:460px}
.package-panels{border-left:2px solid #becfdd;padding-left:30px;min-height:305px}
.package-detail[hidden]{display:none}.package-detail h3{margin:12px 0!important;font-size:25px!important}.package-detail p{font-size:16px;line-height:1.65;margin:0 0 18px;color:#40566c}.package-detail dl{margin:0 0 16px}.package-detail dt{font-size:14px;font-weight:600;margin-bottom:4px}.package-detail dd{font-size:16px;margin:0;color:#40566c;line-height:1.6}.package-detail .package-detail-note{font-size:14px;margin:0;color:#5b6b7d}
.package-scope{display:inline-flex;align-items:center;gap:7px;font-size:12px;line-height:1.5;font-weight:600;color:#235976}.package-scope:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.package-scope--option{color:#806019}.package-scope--separate{color:#5b6370}
.package-scope-note{display:flex;gap:32px;align-items:center;justify-content:space-between;border-top:1px solid #ced8e1;margin-top:26px;padding-top:24px}.package-scope-note p{font-size:14px;color:#526175;margin:0;max-width:760px;line-height:1.6}.package-scope-note strong{color:#172a3e}.package-quote{color:#173b5e;font-size:15px;font-weight:600;flex-shrink:0;text-decoration:underline;text-underline-offset:5px}.package-quote span{margin-left:8px}
.package-explorer :is(button,a):focus-visible{outline:3px solid #226fa8;outline-offset:4px}
.package-dialog{width:min(1440px,96vw);max-width:96vw;max-height:94dvh;padding:24px;border:0;color:#172a3e;background:#fff;overflow:auto}.package-dialog::backdrop{background:#102238c9}.package-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:24px}.package-dialog-header h3{font-size:22px!important;margin:0}.package-close{color:#172a3e;flex-shrink:0}.package-close span{font-size:24px}.package-zoom-hint{font-size:14px;color:#526175;margin:8px 0 18px}.package-dialog-scroll{overflow:auto;overscroll-behavior-x:contain}.package-dialog .package-stage{min-width:850px}.package-dialog-summary{margin-top:20px;padding-top:20px;border-top:1px solid #dbe2e9}.package-dialog-summary h3{font-size:21px!important}.package-dialog-summary p{max-width:960px}.package-dialog-summary .package-detail{display:block}.package-dialog-open{overflow:hidden}
@media(max-width:900px){.package-heading{grid-template-columns:1fr;gap:16px}.package-heading>p{max-width:620px}.package-explanation{gap:24px}.package-panels{padding-left:22px}.package-scope-note{flex-direction:column;align-items:flex-start;gap:16px}}
@media(max-width:600px){.package-heading{margin-bottom:24px}.package-toolbar{padding:8px 10px 4px;font-size:12px}.package-enlarge{font-size:12px!important;gap:6px}.package-image-note{padding:12px;font-size:12px}.package-explanation{grid-template-columns:1fr;gap:24px;margin-top:22px}.package-tabs{gap:7px}.package-tabs button{font-size:13px;padding:10px;gap:7px}.package-selector-note{display:none}.package-panels{border-left:0;border-top:2px solid #becfdd;padding:20px 0 0;min-height:0}.package-detail h3{font-size:23px!important}.package-detail p,.package-detail dd{font-size:15px}.package-detail .package-detail-note{font-size:13px}.package-dot span{width:28px;height:28px;font-size:13px}.package-dialog{padding:16px}.package-dialog-header h3{font-size:19px!important}.package-close{padding:4px;gap:6px}.package-quote{font-size:14px}}
@media(prefers-reduced-motion:reduce){.package-explorer *{transition:none!important;scroll-behavior:auto!important}}

/* Give the cutaway the full content width; explanations sit below it. */
.package-workbench{display:block}
@media(min-width:1001px){.package-explanation{grid-template-columns:1fr 1fr;gap:48px}.package-panels{min-height:0}.package-selector-note{max-width:520px}}
@media(max-width:1000px){.package-explanation{display:flex;flex-direction:column;gap:24px}.package-selector{order:2;width:100%}.package-panels{order:1;width:100%;border-left:0;border-top:2px solid #becfdd;padding:20px 0 0;min-height:0}.package-selector-note{display:none}}
