.planning-page{background:#f3f6fb}.planning-heading{padding:26px 0 20px}.planning-heading h1{font-size:36px;letter-spacing:-1px;margin:8px 0 9px}.planning-heading p{font-size:16px;margin:0;max-width:870px}.planning-back{font-size:14px;font-weight:600}.planning-workspace{padding-bottom:30px}.planning-form{display:grid;grid-template-columns:1.08fr 1fr;gap:26px;align-items:start}.planning-choices,.planning-result{background:#fff;border:1px solid #d3deeb;border-radius:10px;padding:23px;min-width:0}.planning-form h2{font-size:22px;letter-spacing:-.3px;margin:0 0 13px}.planning-form h3{font-size:17px;margin:0 0 9px}.planning-form p{font-size:14px;line-height:1.45;margin:0 0 12px}.planning-choices fieldset{margin:0 0 14px;padding:0;border:0}.planning-choices legend{font-size:15px;font-weight:700;margin-bottom:9px}.planning-tiles{display:grid;grid-template-columns:1fr 1fr;gap:9px}.planning-tile{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #cbd8e8;border-radius:6px;margin:0;min-height:76px;cursor:pointer;background:#f8fafd;font-size:15px;line-height:1.3}.planning-tile:has(input:checked){border-color:#0054b6;background:#eaf2fc;box-shadow:inset 3px 0 #0054b6}.planning-tile input,.planning-flags input{width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;margin:2px 0 0;accent-color:#0054b6}.planning-tile strong{display:block;font-size:15px}.planning-tile small{display:block;font-size:12px;font-weight:400;color:#4c5b70;margin-top:4px}.planning-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.planning-fields.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.planning-form label:not(.planning-tile){font-size:13px;margin-bottom:4px}.planning-form input:not([type=checkbox]),.planning-form select{font-size:15px;min-height:44px;padding:9px;margin:0 0 10px}.planning-form details{padding:10px 0;border-bottom:0}.planning-form summary{font-size:14px;min-height:32px}.planning-form details .planning-fields{margin-top:9px}.planning-flags{display:flex;flex-wrap:wrap;gap:8px 15px;margin-top:10px}.planning-flags label{display:flex;gap:8px;align-items:flex-start;font-weight:400;min-height:36px;padding:4px 0;margin:0!important}.planning-result{border-top:4px solid #5b3aa2}.planning-fit{display:flex;align-items:center;gap:16px;margin-bottom:14px}.planning-fit svg{width:135px;flex-shrink:0}.fit-sector{fill:#1635571a;stroke:#819ec150;stroke-width:1.5}.fit-sector.is-selected{fill:#0054b699;stroke:#0054b6}.fit-sector:nth-child(2).is-selected,.fit-sector:nth-child(4).is-selected{fill:#5b3aa299;stroke:#5b3aa2}.fit-label{font:600 11px Arial;fill:#354962}.fit-wordmark{font:800 21px Arial;fill:#0054b6}.fit-wordmark tspan{fill:#db730a}.planning-fit h3{font-size:17px;margin-bottom:6px}.planning-fit p{font-size:13px;margin:0}.planning-total-label{font-size:13px;color:#4c5b70;margin:0 0 5px!important}.planning-total{font-size:36px;color:#0054b6;font-weight:700;line-height:1.1;margin-bottom:12px;display:block}.planning-line{display:flex;gap:15px;justify-content:space-between;border-top:1px solid #e1e7f0;padding:7px 0;font-size:13px;line-height:1.4}.planning-line span:last-child{white-space:nowrap}.planning-once{font-size:15px!important;font-weight:700;border-top:1px solid #d3deeb;padding-top:10px;margin:4px 0 12px!important}.planning-quotes{border-left:3px solid #db730a;background:#fff7ed;padding:10px 12px;margin:12px 0}.planning-quotes h3{font-size:14px;margin:0 0 6px}.planning-quotes ul{margin:0;padding-left:17px;font-size:13px;line-height:1.4}.planning-quotes li{margin:4px 0;padding:0}.planning-result .planning-note{font-size:12px;color:#4c5b70;margin-top:12px}.planning-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.planning-actions .button{font-size:14px;padding:10px 13px;margin:0}.planning-error{color:#98231c;font-weight:700;font-size:14px;line-height:1.5;margin:0 0 12px}.planning-guide{font-size:13px;margin:14px 0 0}.planning-contact-context{border-left:4px solid #5b3aa2;background:#f3f6fb;padding:22px;margin-bottom:22px}.planning-contact-context h3{font-size:21px}.planning-contact-context textarea{font-size:14px;line-height:1.5;min-height:230px;margin:8px 0 14px}.planning-contact-context .actions{gap:9px}.planning-contact-context .button{font-size:14px;padding:10px 13px}.planning-contact-context p{font-size:14px}.planning-copy-status{font-size:13px!important;font-weight:600}
@media(max-width:1050px){.planning-form{gap:18px}.planning-choices,.planning-result{padding:19px}.planning-fit{gap:10px}.planning-fit svg{width:115px}.planning-heading h1{font-size:32px}}
@media(max-width:800px){.planning-form{grid-template-columns:1fr}.planning-result{width:100%}.planning-heading{padding:23px 0 18px}.planning-heading h1{font-size:30px}.planning-choices,.planning-result{padding:20px}.planning-fit svg{width:135px}.planning-actions .button{min-height:44px}}
@media(max-width:360px){.planning-tiles{gap:7px}.planning-tile{padding:10px 8px;gap:6px}.planning-tile strong{font-size:14px}.planning-tile small{font-size:11px}.planning-choices,.planning-result{padding:16px}.planning-fields.three{grid-template-columns:1fr 1fr}.planning-fit svg{width:105px}.planning-fit{gap:8px}.planning-total{font-size:31px}.planning-line{gap:9px}.planning-actions .button{width:100%}}

.planning-mobile-budget{display:none}
@media(max-width:800px){.planning-mobile-budget{position:sticky;top:var(--header-current-height,77px);z-index:25;display:flex;gap:12px;align-items:center;justify-content:space-between;background:#0b1d37;color:white;border-radius:5px;padding:11px 14px;margin-bottom:12px;min-height:48px;font-size:14px}.planning-mobile-budget strong{color:#fff}.planning-mobile-budget span:last-child{color:#b9d8ff;white-space:nowrap;font-weight:700}}
/* Pass 02: text enlargement and intrinsic-size reflow. */
.planning-form{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
.planning-choices fieldset{min-width:0;max-width:100%}
.planning-choices legend{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.planning-tiles{font-size:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(6em,calc(50% - 5px))),1fr))}
.planning-tile,.planning-tile>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
.planning-fields{font-size:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(6em,calc(50% - 6px))),1fr))}
.planning-fields.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(5em,calc(33.333% - 6px))),1fr))}
.planning-fields>div{min-width:0}
.planning-fields label{max-width:100%;overflow-wrap:anywhere}
.planning-form input:not([type=checkbox]),.planning-form select{min-width:0;max-width:100%;width:100%}
.planning-flags label,.planning-flags span{min-width:0;max-width:100%;overflow-wrap:anywhere}
.planning-fit{flex-wrap:wrap}
.planning-fit>div{flex:1 1 6em;min-width:0;overflow-wrap:anywhere}
.planning-fit svg{max-width:100%}
.fit-wordmark{font-size:21px!important}
.fit-label{display:none}
.planning-line{flex-wrap:wrap}
.planning-line span{min-width:0;max-width:100%;overflow-wrap:anywhere}
.planning-total{max-width:100%;overflow-wrap:anywhere}
.planning-actions .button,.planning-contact-context .button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.planning-contact-context textarea{min-width:0;max-width:100%}
.planning-contact-context{min-width:0;max-width:100%;overflow-wrap:anywhere}
.contact-grid>*{min-width:0}
@media(max-width:800px){.planning-form{grid-template-columns:minmax(0,1fr)}}

/* Allow the estimate total and action to reflow at enlarged text sizes. */
@media(max-width:800px){
  .planning-mobile-budget{flex-wrap:wrap;gap:8px 12px}
  .planning-mobile-budget strong{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .planning-mobile-budget span:last-child{max-width:100%;white-space:normal;overflow-wrap:anywhere}
}
/* Keep the result jump below the header and the measured sticky budget bar. */
@media(max-width:800px){#plan-result{scroll-margin-top:calc(var(--planning-budget-height,5em) + 12px)}}

/* Give Sovereign US a full service-mix row and a matching selected sector. */
.planning-tile-wide{grid-column:1/-1}
.fit-sector[data-fit-sector="sovereign"].is-selected{fill:#db730a99;stroke:#b96108}

@media(max-width:430px){.planning-tiles{grid-template-columns:minmax(0,1fr)}}

/* Cloud and connectivity scopes share the service planner without extra disclosure panels. */
.planning-service-fields{border-top:1px solid #d3deeb;padding-top:16px;margin-top:12px}
.fit-sector[data-fit-sector="cloud"].is-selected{fill:#167a7899;stroke:#126663}
.fit-sector[data-fit-sector="mobility"].is-selected{fill:#3367a899;stroke:#24558f}
.fit-sector[data-fit-sector="pki"].is-selected{fill:#5b3aa299;stroke:#5b3aa2}
#plan-pki-fields .planning-fields:has(>[hidden]){grid-template-columns:minmax(0,1fr)}
