/* Four regions around the service name, engraved onto one overhead chart. */
.route-focused .route-branch.compass-view{display:flex;flex-direction:column;overflow:hidden;background:#eef4f9c2!important}.compass-view .route-card-head{padding:9px 20px 8px!important;flex:none;background:#e3eff6b0!important}.compass-view .route-card-head:before{display:none}.compass-view .route-card-head h2{font-size:13px!important;font-weight:500;letter-spacing:.05em;margin:4px 0}.compass-view .route-card-head small{font-size:8px}.compass-view .research-date{font-size:8px;margin:2px 0}.compass-view .route-card-head>div{flex:1}.compass-view .route-card-head>button.journey-compare-button{display:block;width:auto;height:auto;border-radius:22px;padding:8px 13px;border:1px solid #9dbacb;font-size:10px;line-height:1.5;background:#edf6fb8c;color:#507d97}.service-compass{flex:1;min-height:0;position:relative;display:grid;grid-template-columns:31% 38% 31%;grid-template-rows:31% 38% 31%;isolation:isolate;background:linear-gradient(#e9f3f73d,#e9f3f73d),url('assets/service-compass-map.jpg') center/100% 100% no-repeat;padding:18px 20px}.service-compass[hidden],.compass-compare-view[hidden]{display:none!important}.compass-center{grid-column:2;grid-row:2;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:center;justify-self:center;text-align:center;width:220px;max-width:80%;aspect-ratio:1;color:#295d7e;border-radius:50%;background:radial-gradient(ellipse,#f6fafbdc 0%,#f5f8f9b0 55%,transparent 72%)}.compass-center>small{font-size:9px;color:#86a1ad;letter-spacing:.1em}.compass-center h2{font-size:clamp(18px,2.2vw,31px);line-height:1.3;font-weight:500;margin:11px -15px 8px;max-width:290px;letter-spacing:-.035em;text-shadow:0 1px 5px #fff}.compass-center>span{font-size:8px;color:#8aa0ab;line-height:1.6}.compass-needle{position:absolute;inset:15px;pointer-events:none;transform:rotate(var(--bearing,0deg));transition:transform .6s cubic-bezier(.2,.8,.2,1)}.compass-needle:before{content:'';position:absolute;top:0;left:calc(50% - 4px);border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:12px solid #b69c70}.compass-area{padding:12px 20px;min-height:0;min-width:0;position:relative;overflow:auto;scrollbar-width:thin;scrollbar-color:#b4cad2 transparent;border:0;color:#426f89;background:radial-gradient(ellipse,#f6fbf9bb 0%,#f5faf966 65%,transparent 90%);border-radius:12px}.compass-north{grid-column:2;grid-row:1;text-align:center;padding:5px 15px}.compass-west{grid-column:1;grid-row:1/4;align-self:center;max-height:100%;margin:20px 0}.compass-east{grid-column:3;grid-row:1/4;align-self:center;max-height:100%;margin:20px 0}.compass-south{grid-column:2;grid-row:3;padding:0 10px;text-align:center}.compass-region-title{display:block;width:100%;background:none;border:0;text-align:inherit;padding:0 0 10px;color:#376c8a;cursor:pointer}.compass-region-title>small{display:block;font:8px 'DM Mono',monospace;letter-spacing:.16em;color:#89a6b5;margin-bottom:6px}.compass-region-title>strong{font-size:17px;font-weight:500;letter-spacing:-.025em}.compass-region-title:hover>strong{color:#1c5479}.compass-pitch{font-size:12px;line-height:1.8;margin:0 0 9px;color:#557c90}.compass-detail{font-size:10px;color:#6893aa;margin-top:12px}.compass-detail summary{cursor:pointer;list-style:none;padding:5px 0}.compass-detail summary:before{content:'＋';margin-right:6px;color:#719bb4}.compass-detail[open] summary:before{content:'−'}.compass-detail p{font-size:11px;line-height:1.9;color:#62859a;margin:8px 0}.compass-source{display:inline-block;font-size:9px;color:#779ab0;text-underline-offset:3px;margin:5px 7px 0 0}.compass-steps{list-style:none;padding:0;margin:8px 0}.compass-steps li{display:grid;grid-template-columns:25px 1fr;gap:9px;margin-bottom:17px;font-size:12px;line-height:1.85;color:#557d92}.compass-steps small{font:9px 'DM Mono',monospace;color:#b0956e;padding-top:4px}.compass-west .route-flow{display:flex;flex-direction:column;gap:17px;margin:5px 0}.compass-west .route-flow:before{display:none}.compass-west .route-flow-stop{display:grid;grid-template-columns:32px 1fr;gap:3px 11px;text-align:left;align-items:start}.compass-west .route-flow-stop small{grid-column:1;grid-row:1/3;width:28px;height:28px;font-size:8px;box-shadow:none;background:#eff6f8b8;border-color:#aec9d6}.compass-west .route-flow-stop strong{font-size:13px}.compass-west .route-flow-stop span{font-size:10px}.compass-money-module{padding:0!important;grid-column:auto!important;grid-row:auto!important;order:0!important;overflow:visible!important;background:none!important;border:0!important;animation:none!important}.compass-money-module .route-module-head,.compass-money-module .research-dock,.compass-money-module .research-note,.compass-money-module .research-link{display:none!important}.compass-money-module .fee-input{font-size:8px;gap:7px;margin:0 0 8px;text-align:left}.compass-money-module .fee-input input{width:88px;height:28px;font-size:12px;padding:4px 7px}.compass-money-module .fee-visual{justify-content:center;gap:15px;margin:0}.compass-money-module .fee-donut{width:88px;height:88px}.compass-money-module .fee-donut-center{inset:10px;background:#f2f8faed}.compass-money-module .fee-donut-center strong{font-size:19px}.compass-money-module .fee-donut-center span{font-size:7px}.compass-money-module .fee-legend{gap:5px;text-align:left}.compass-money-module .fee-legend output,.compass-money-module .fee-legend strong{font-size:20px}.compass-money-module .fee-legend small{font-size:8px}.compass-south .compass-detail{margin-top:4px}.compass-money-module .qualification-diagram{gap:6px}.compass-money-module .qualification-node{padding:7px 9px;background:#f4f9fb7d}.compass-money-module .qualification-node strong{font-size:17px}.compass-money-module .qualification-node small{font-size:8px}.compass-money-module .qualification-node span{font-size:8px}.compass-money-module .qualification-node p{font-size:8px}.area-selected{background:radial-gradient(ellipse,#edf7ffc9 0%,#f5faf97a 65%,transparent 90%)}.compass-compare-view{flex:1;min-height:0;overflow:auto;padding:24px 35px}.compass-compare-view .route-compare{padding:0!important;grid-column:auto!important;grid-row:auto!important;border:0!important;max-width:1100px;margin:0 auto}.compass-compare-view .journey-comparison{display:block!important}.compass-compare-view .route-module-head{display:none}.compass-compare-view .comparison-money-plot{gap:20px}
@media(max-height:800px) and (min-width:700px){.service-compass{grid-template-rows:30% 36% 34%;padding:12px}.compass-center{width:165px}.compass-region-title>strong{font-size:15px}.compass-pitch{font-size:11px}.compass-west .route-flow{gap:13px}.compass-steps li{font-size:11px;margin-bottom:12px}.compass-area{padding:10px 16px}.compass-south{padding:0 10px}}
@media(max-width:699px){.route-focused .route-branch.compass-view{height:auto!important;overflow:auto}.service-compass{display:flex;flex-direction:column;padding:16px;background-size:auto 100%;overflow:visible;flex:none}.compass-center{order:0;width:170px;max-width:100%;align-self:center}.compass-north{order:1}.compass-east{order:2}.compass-west{order:3}.compass-south{order:4}.compass-area{overflow:visible;max-height:none;margin:0;padding:17px 12px;text-align:left}.compass-region-title>strong{font-size:18px}.compass-pitch{font-size:13px}.compass-money-module .fee-donut{width:120px;height:120px}.compass-money-module .fee-legend output,.compass-money-module .fee-legend strong{font-size:24px}.compass-view .route-card-head>button.journey-compare-button{font-size:9px;padding:7px 9px}.compass-compare-view{overflow:visible;padding:20px}}
@media(prefers-reduced-motion:reduce){.compass-needle{transition:none}}
.compass-all-metrics{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:9px 12px;font-size:9px;line-height:1.7;margin:10px 0}.compass-all-metrics dt{color:#7d9aa8}.compass-all-metrics dd{margin:0;color:#547e98}.compass-all-metrics dd p{font-size:9px;margin:3px 0}.compass-area.area-selected .compass-region-title>strong{color:#1f597b}.compass-view .compass-compare-view .journey-comparison{padding:0}.compass-view .compass-compare-view .journey-comparison>h3{margin:0 0 20px;font-size:22px;color:#336883;font-weight:500}
/* Four content quadrants meet at the service identity. */
.captain-desk[data-phase='0'] .route-focused .map-scroll:before{background:linear-gradient(135deg,#edf3f5,#e2ebf0);opacity:1}.service-compass{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px;background:none;position:relative}.compass-area{background:linear-gradient(135deg,#f7fbffa6,#eaf3f780);border:1px solid #b9ced977;border-radius:10px;margin:0;align-self:stretch;max-height:none;min-height:0;overflow:auto;scrollbar-width:thin;padding:18px 24px;text-align:left}.compass-north{grid-column:1;grid-row:1;padding-right:66px;padding-bottom:38px}.compass-east{grid-column:2;grid-row:1;padding-left:66px;padding-bottom:38px}.compass-west{grid-column:1;grid-row:2;padding-right:66px;padding-top:34px}.compass-south{grid-column:2;grid-row:2;padding-left:66px;padding-top:34px}.compass-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:160px;max-width:none;aspect-ratio:1;z-index:6;border-radius:50%;color:#f3fbff;background:radial-gradient(ellipse at 30% 25%,#517f9bfa,#285875f7 75%);border:6px solid #e6eff5;box-shadow:0 0 0 1px #9fbdcd,0 7px 22px #234d6a25;pointer-events:none;justify-content:center;padding:12px}.compass-center:after{content:'';position:absolute;inset:5px;border:1px solid #b3dae54d;border-radius:50%;pointer-events:none}.compass-center>small{color:#b8d5e4;font-size:8px;letter-spacing:.02em}.compass-center h2{color:#fff;font-size:clamp(16px,1.6vw,24px);font-weight:500;margin:9px 0 7px;max-width:138px;text-shadow:none;line-height:1.3;overflow-wrap:anywhere}.compass-center>span{color:#b7d6e6;font-size:7px}.compass-needle{display:none}.compass-region-title{text-align:left;padding-bottom:10px}.compass-region-title>small{font-size:8px;letter-spacing:.13em}.compass-region-title>strong{font-size:20px;color:#345f79}.compass-pitch{font-size:15px;line-height:1.8;max-width:550px;margin-bottom:12px;color:#3d6c88}.compass-detail{font-size:11px;margin-top:12px}.compass-detail p{font-size:12px;line-height:1.9}.compass-steps li{font-size:12px;line-height:1.85;margin-bottom:11px}.compass-west .route-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 23px;margin-top:7px}.compass-west .route-flow-stop strong{font-size:13px}.compass-west .route-flow-stop span{font-size:11px}.compass-money-module .fee-input{font-size:10px;margin-bottom:12px}.compass-money-module .fee-input input{width:110px;height:32px;font-size:14px}.compass-money-module .fee-visual{justify-content:flex-start;gap:28px;margin-top:4px}.compass-money-module .fee-donut{width:120px;height:120px}.compass-money-module .fee-donut-center{inset:14px}.compass-money-module .fee-donut-center strong{font-size:24px}.compass-money-module .fee-legend output,.compass-money-module .fee-legend strong{font-size:25px}.compass-money-module .fee-legend small{font-size:10px}.compass-money-module .research-note{display:block!important;font-size:9px;line-height:1.7;margin:9px 0}.compass-money-module .research-link{display:inline-block!important;font-size:9px}.compass-money-module .qualification-node strong{font-size:21px}.compass-money-module .qualification-node p{font-size:9px;line-height:1.7}.compass-money-module .qualification-node small{font-size:10px}.compass-south .compass-detail{margin-top:10px}.area-selected{border-color:#6c9fbd;background:linear-gradient(135deg,#f7fcffd9,#e6f3fad1);box-shadow:inset 0 0 0 1px #9fc5dd55}.compass-all-metrics{font-size:10px}.compass-all-metrics dd p{font-size:10px}.compass-source{font-size:10px}.compass-view .route-card-head{background:#e1edf4c2!important}
@media(max-width:1000px){.compass-center{width:130px;border-width:5px}.compass-center h2{max-width:112px;font-size:18px}.compass-center>small{font-size:7px}.compass-north,.compass-west{padding-right:42px}.compass-east,.compass-south{padding-left:42px}.compass-region-title>strong{font-size:17px}.compass-pitch{font-size:13px}.compass-west .route-flow{grid-template-columns:1fr;gap:11px}.compass-money-module .fee-donut{width:105px;height:105px}.compass-money-module .fee-visual{gap:16px}}
@media(max-width:699px){.service-compass{display:flex;flex-direction:column;padding:15px;gap:12px;background:none}.compass-center{position:relative;left:auto;top:auto;transform:none;align-self:center;order:0;width:150px;aspect-ratio:1;margin:4px 0 8px;flex:none}.compass-area{padding:18px 16px;overflow:visible;max-height:none;min-height:auto;order:1;text-align:left}.compass-north{order:1}.compass-east{order:2}.compass-west{order:3}.compass-south{order:4}.compass-region-title>strong{font-size:19px}.compass-pitch{font-size:14px}.compass-west .route-flow{grid-template-columns:1fr 1fr}.compass-money-module .fee-visual{justify-content:flex-start}.compass-area{border-radius:9px}}
/* The identity sits at the intersection of all four cells. */
.service-compass>.compass-center{grid-column:auto!important;grid-row:auto!important;justify-self:auto;align-self:auto}
@media(max-width:699px){.service-compass>.compass-center{align-self:center}}
/* Expand from the shared center, rather than from the former top-left title. */
.route-focused .route-branch.compass-view{animation:compass-open .65s cubic-bezier(.2,.7,.2,1) both;clip-path:none;transform-origin:50% 55%}.route-focused .compass-center{animation:compass-center-open .5s .24s both}.route-focused .compass-area{animation:compass-region-open .5s .34s both}.route-focused .compass-view .route-card-head h2{animation:none}.focus-flight-token{position:fixed;z-index:80;pointer-events:none;background:#285c7f;color:#fff;padding:9px 17px;border-radius:6px;font-size:13px;white-space:nowrap;box-shadow:0 5px 20px #25516e22;will-change:transform,opacity}
@keyframes compass-open{0%{opacity:0;clip-path:circle(0 at 50% 55%)}25%{opacity:1;clip-path:circle(25px at 50% 55%)}100%{opacity:1;clip-path:circle(100% at 50% 55%)}}
@keyframes compass-center-open{from{opacity:0;scale:.7}to{opacity:1;scale:1}}
@keyframes compass-region-open{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.route-focused .route-branch.compass-view,.route-focused .compass-center,.route-focused .compass-area{animation:none}}
