.infra{--ink:#10213a;--muted:#53677e;--blue:#245dda;--line:#d7e2ed;--pale:#f3f7fb;--navy:#071a39;color:var(--ink);font-size:16px;line-height:1.7}.infra *{box-sizing:border-box}.infra a{color:inherit}.infra-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.infra-skip{position:fixed;top:-100px;left:16px;z-index:1100;padding:12px 18px;background:white;color:#10213a}.infra-skip:focus{top:12px}.infra :focus-visible{outline:3px solid #d47513;outline-offset:5px}.infra h1,.infra h2,.infra h3,.infra p{margin-top:0}.infra h1,.infra h2,.infra h3{line-height:1.15;letter-spacing:-.035em}.infra h1{font-size:clamp(2.5rem,4.1vw,3.8rem);font-weight:750;margin-bottom:24px}.infra h1 em{font-style:normal;color:var(--blue)}.infra h2{font-size:clamp(2rem,3vw,2.65rem);font-weight:700;margin-bottom:20px}.infra h3{font-size:1.25rem;letter-spacing:-.02em}.infra p{color:var(--muted)}.infra-eyebrow{font-size:.75rem!important;font-weight:750;letter-spacing:.12em;line-height:1.5;color:var(--blue)!important;margin-bottom:20px}.infra-hero{background:linear-gradient(110deg,#f6f9fd 0%,#fff 65%);padding:26px 0 60px}.infra-crumb{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.875rem;margin-bottom:45px}.infra-crumb a{text-decoration:none}.infra-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:76px;align-items:center}.infra-lead{max-width:580px;font-size:1.0625rem;line-height:1.8;margin-bottom:26px}.infra-actions{display:flex;flex-wrap:wrap;align-items:center;gap:23px}.infra-button{display:inline-flex;gap:24px;justify-content:center;align-items:center;background:var(--blue);color:white!important;border:0;border-radius:5px;text-decoration:none;padding:15px 20px;font:650 .9375rem/1.5 inherit;cursor:pointer;font-family:inherit;font-size:.9375rem;font-weight:650;line-height:1.5}.infra-button:hover{background:#184ab8}.infra-text-link{font-size:.9375rem;font-weight:650;text-underline-offset:5px}.infra-meta{font-size:.8125rem;margin:22px 0 0}.infra-blueprint{background:var(--navy);color:white;padding:30px 34px 25px;border-radius:8px;box-shadow:0 20px 45px #071a3912}.infra-blueprint-top{display:flex;justify-content:space-between;color:#a9bedb;font:600 .75rem/1.6 monospace;letter-spacing:.09em;padding-bottom:25px;border-bottom:1px solid #29405c;margin-bottom:26px}.infra-blueprint h2{font-size:1.8rem;font-weight:600;letter-spacing:-.025em}.infra-principle{display:flex;gap:20px;margin-top:28px}.infra-principle>span{color:#82aaff;font:.875rem/1.6 monospace;padding-top:2px}.infra-principle h3{font-size:1.0625rem;letter-spacing:0;margin-bottom:7px}.infra-principle p{color:#b6c6da;font-size:.9375rem;line-height:1.7;margin:0}.infra-blueprint>a{display:flex;justify-content:space-between;gap:10px;font-size:.875rem;text-decoration:none;border-top:1px solid #29405c;padding-top:20px;margin-top:28px;color:#dce7f7}.infra-section-nav{border-block:1px solid var(--line)}.infra-section-nav .infra-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:19px}.infra-section-nav a{font-size:.875rem;font-weight:650;text-decoration:none}.infra-section-nav a:hover{color:var(--blue)}.infra-section{padding-block:76px;scroll-margin-top:110px}.infra-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:32px}.infra-section-heading>p{max-width:365px;margin-bottom:22px}.infra-section-heading h2{margin-bottom:0}.infra-section-heading .infra-eyebrow{margin-bottom:14px}.infra-simulator{border:1px solid #cbd9e8;border-radius:9px;overflow:hidden;box-shadow:0 12px 40px #071a3906}.infra-sim-toolbar{padding:20px 26px;background:#f6f9fc;display:flex;justify-content:space-between;align-items:center;gap:22px;border-bottom:1px solid var(--line)}.infra-sim-toolbar strong{display:block;font-size:1rem}.infra-sim-toolbar span{display:block;font-size:.8125rem;color:var(--muted)}.infra-sim-toolbar label{display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--muted)}.infra-sim-toolbar select{max-width:100%;padding:10px 32px 10px 12px;border:1px solid #bdcddd;border-radius:5px;background:white;color:var(--ink);font:600 .875rem/1.5 inherit;font-family:inherit;font-size:.875rem;min-height:44px}.infra-sim-body{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr)}.infra-map-area{padding:20px 24px;background-color:#fbfdff;background-image:radial-gradient(#ccd9e8 .8px,transparent .8px);background-size:18px 18px}.infra-map{height:460px;position:relative;max-width:660px;margin:auto}.infra-connections{position:absolute;width:100%;height:100%;inset:0;overflow:visible}.infra-connections path{stroke:#b9cadc;stroke-width:2;fill:none;vector-effect:non-scaling-stroke;transition:stroke .2s}.infra-connections path.is-active{stroke:var(--blue);stroke-width:3}.infra-connections path.is-blocked{stroke:#b45309;stroke-width:3;stroke-dasharray:6 5}.infra-node{position:absolute;transform:translateX(-50%);height:55px;width:29%;min-width:0;background:white;border:1px solid #bfcede;border-radius:6px;color:var(--ink);padding:6px 3px;font-family:inherit;cursor:pointer;box-shadow:0 3px 8px #12325206}.infra-node strong{font-size:.875rem;display:block;line-height:1.4;font-weight:650}.infra-node-code{display:block;font:600 .625rem/1.5 monospace;letter-spacing:.06em;color:var(--muted)}.infra-node:hover{background:#edf3ff;border-color:var(--blue)}.infra-node[aria-pressed=true]{border:2px solid var(--blue);background:#ebf2ff;box-shadow:0 0 0 4px #245dda12}.infra-node.on-path .infra-node-code{color:#245dda}.infra-node.denied{border-color:#b45309;background:#fff8ed}.node-internet{left:50%;top:8px}.node-firewall{left:50%;top:108px}.node-network{left:50%;top:208px}.node-staff{left:16.666%;top:309px}.node-workloads{left:50%;top:309px}.node-guest{left:83.333%;top:309px}.node-backup{left:50%;top:409px}.infra-legend{display:flex;gap:22px;justify-content:center;margin-top:26px;flex-wrap:wrap;font-size:.8125rem;color:var(--muted)}.infra-legend span{display:flex;align-items:center;gap:7px}.infra-legend i{width:18px;height:2px;background:#b9cadc;display:block}.infra-legend i.active{background:var(--blue);height:3px}.infra-legend i.blocked{background:repeating-linear-gradient(90deg,#b45309 0 5px,transparent 5px 8px);height:3px}.infra-map-note{font-size:.8125rem;line-height:1.55;text-align:center;margin:18px auto 0;max-width:520px}.infra-detail{padding:35px 30px;border-left:1px solid var(--line);background:white}.infra-detail h3{font-size:1.65rem;line-height:1.25;margin-bottom:20px}.infra-detail p{font-size:1rem}.infra-detail h4{font-size:.875rem;margin:30px 0 12px}.infra-detail ul{padding-left:20px;color:var(--muted);font-size:.9375rem}.infra-detail li{padding-left:3px;margin-bottom:15px}.infra-detail>a{display:inline-block;color:var(--blue);font-size:.875rem;font-weight:650;text-underline-offset:4px;margin-top:20px}.infra-scenario-result{display:flex;gap:25px;padding:22px 26px;border-top:1px solid var(--line);background:#f2f6fc}.infra-scenario-result>span{font-size:.6875rem;font-weight:750;letter-spacing:.07em;line-height:1.5;white-space:nowrap;color:#2454a7;padding-top:3px;min-width:130px}.infra-scenario-result strong{font-size:.9375rem}.infra-scenario-result p{font-size:.9375rem;margin:5px 0 0}.infra-roadmap{background:var(--pale);border-block:1px solid var(--line)}.infra-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0 38px}.infra-step{padding-top:32px;margin-top:12px;border-top:1px solid #cbd8e5;scroll-margin-top:120px;display:flex;flex-direction:column}.infra-step-num{font:500 1.0625rem/1.5 monospace;color:var(--blue);margin-bottom:20px}.infra-step h3{margin-bottom:15px}.infra-step p{font-size:.9375rem}.infra-step .infra-deliverable{font-size:.8125rem;color:#385675;margin:2px 0 30px auto;border-left:2px solid #8eaee6;padding-left:12px;margin-top:auto;width:100%}.infra-local-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:42px}.infra-local-grid article{border-top:2px solid var(--ink);padding-top:22px}.infra-local-grid article>span{font:500 .75rem/1.5 monospace;color:var(--muted)}.infra-local-grid h3{margin:19px 0 15px}.infra-local-grid p{font-size:.9375rem}.infra-local-grid a{font-size:.875rem;color:var(--blue);text-underline-offset:4px}.infra-ai{margin-top:42px;display:flex;gap:32px;background:#eff4fc;border-radius:6px;padding:28px 30px;align-items:flex-start}.infra-ai-label{color:var(--blue);font-size:.75rem;font-weight:750;letter-spacing:.05em;white-space:nowrap;padding-top:5px}.infra-ai h3{margin-bottom:10px;font-size:1.125rem}.infra-ai p{font-size:.9375rem;margin:0}.infra-checklist-section{background:var(--navy);color:white}.infra-checklist-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:85px}.infra-checklist-section .infra-eyebrow{color:#99baff!important}.infra-checklist-section p{color:#bacadd}.infra-checklist-section .infra-small{font-size:.8125rem}.infra-progress-label{display:flex;justify-content:space-between;align-items:center;margin-top:30px;font-size:.875rem}.infra-progress-label button{font-family:inherit;font-size:.875rem;border:0;background:none;color:#b6cdfb;text-decoration:underline;padding:10px;cursor:pointer}.infra-checklist-section progress{width:100%;height:7px;border:0;border-radius:8px;background:#2b405b;appearance:none;display:block;margin:4px 0 26px}.infra-checklist-section progress::-webkit-progress-bar{background:#2b405b;border-radius:8px}.infra-checklist-section progress::-webkit-progress-value{background:#86aaff;border-radius:8px}.infra-checklist-section progress::-moz-progress-bar{background:#86aaff;border-radius:8px}.infra-checks{border:1px solid #304762;border-radius:6px;padding:8px 24px 15px;min-width:0;margin:0}.infra-checks legend{font-size:.875rem;color:#bfcfe3;padding:0 8px}.infra-checks label{display:flex;align-items:flex-start;gap:13px;padding:13px 0;border-bottom:1px solid #263c57;font-size:.9375rem;cursor:pointer;line-height:1.5}.infra-checks label:last-child{border-bottom:0}.infra-checks input{width:19px;height:19px;flex:0 0 auto;accent-color:#83aaff;margin:2px 0 0;cursor:pointer}.infra-checks input:checked+span{color:#a7c5ff}.infra-faq{display:grid;grid-template-columns:1fr 1.7fr;gap:70px}.infra-faq details{border-bottom:1px solid var(--line)}.infra-faq details:first-child{border-top:1px solid var(--line)}.infra-faq summary{font-size:1rem;font-weight:650;padding:22px 25px 22px 0;cursor:pointer}.infra-faq details p{font-size:.9375rem;margin-bottom:22px}.infra-sources{border-top:1px solid var(--line);padding-block:25px 40px}.infra-sources h2{font-size:.9375rem;letter-spacing:0;margin-bottom:8px}.infra-sources p{font-size:.875rem;margin-bottom:0}.infra-sources a{color:var(--blue);text-underline-offset:3px}.infra section[id]{scroll-margin-top:115px}
@media(min-width:900px){body:has(.infra) .sws-menu{gap:18px}body:has(.infra) .sws-menu a{font-size:12px}}
@media(max-width:1000px){.infra-hero-grid{gap:35px}.infra-blueprint{padding:26px}.infra-sim-body{grid-template-columns:minmax(0,1.55fr) minmax(255px,1fr)}.infra-map-area{padding:20px 12px}.infra-detail{padding:28px 22px}.infra-checklist-grid{gap:42px}.infra-node strong{font-size:.8125rem}.infra-node-code{letter-spacing:0}}
@media(max-width:760px){.infra-wrap{width:calc(100% - 36px)}.infra-hero{padding-bottom:38px}.infra-hero-grid{grid-template-columns:1fr}.infra-crumb{font-size:.75rem;margin-bottom:32px}.infra h1{font-size:clamp(2.35rem,7.8vw,3.6rem)}.infra-blueprint{margin-top:8px}.infra-blueprint h2{font-size:1.65rem}.infra-section{padding-block:48px}.infra-section-nav .infra-wrap{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px}.infra-section-nav a{font-size:.8125rem}.infra-section-heading{display:block}.infra-section-heading>p{max-width:none;margin:20px 0 0}.infra-sim-toolbar{display:block;padding:20px}.infra-sim-toolbar label{margin-top:18px;flex-wrap:wrap}.infra-sim-body{grid-template-columns:1fr}.infra-map-area{padding:20px 10px}.infra-node{width:31.5%}.infra-node strong{font-size:.8125rem}.infra-detail{border-left:0;border-top:1px solid var(--line);padding:26px}.infra-detail h4{margin-top:20px}.infra-detail>a{margin-top:8px}.infra-scenario-result{display:block;padding:22px}.infra-scenario-result>span{display:block;margin-bottom:10px}.infra-steps{grid-template-columns:1fr 1fr;gap:0 25px}.infra-local-grid{grid-template-columns:1fr;gap:28px}.infra-local-grid h3{margin-top:12px}.infra-ai{display:block;padding:24px}.infra-ai h3{margin-top:14px}.infra-checklist-grid,.infra-faq{grid-template-columns:1fr;gap:32px}.infra-print{width:100%}.infra-faq h2{margin-bottom:0}.infra-map-note{font-size:.75rem}.infra-legend{font-size:.75rem;gap:15px}}
@media(max-width:420px){.infra-steps{grid-template-columns:1fr}.infra-hero-grid{gap:28px}.infra-actions{align-items:flex-start;flex-direction:column;gap:20px}.infra-node strong{font-size:.75rem;line-height:1.4}.infra-node-code{font-size:.6rem}.infra-checks{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.infra *{transition:none!important}}
@media print{.sws-header,.sws-utility,.sws-footer,.infra-section-nav,.infra-hero .infra-actions,.infra-blueprint,.infra-print,#infra-reset,.infra-sources,.infra-crumb,.infra-sim-toolbar label{display:none!important}.infra,.infra p{color:#000!important}.infra-wrap{width:100%}.infra-hero-grid,.infra-checklist-grid,.infra-faq{display:block}.infra-hero,.infra-section{padding:20px 0;background:white!important}.infra h1{font-size:30px}.infra h2{font-size:24px}.infra-checklist-section{color:#000!important}.infra-checklist-section p{color:#333!important}.infra-checks{border-color:#777}.infra-checks label{border-color:#ccc}.infra-steps{grid-template-columns:1fr 1fr}.infra-step,.infra-local-grid article,.infra-checks label,details{break-inside:avoid}.infra-sim-body{grid-template-columns:1.5fr 1fr}.infra-map-area{background:white}.infra-node strong{font-size:11px}.infra-node{print-color-adjust:exact}.infra-checks input:checked+span{color:#000}.infra-checklist-section .infra-eyebrow{color:#333!important}details>p{display:block!important}.infra-checklist-section progress{print-color-adjust:exact}}
@media screen and (max-width:760px){.infra-node{height:70px}.infra-node strong{font-size:.875rem;line-height:1.3}.infra-node-code{font-size:.625rem}.infra-map{margin-bottom:20px}}
@font-face{font-family:SWSInfraIcons;src:url('../font-awesome/fonts/fontawesome-webfont.woff2') format('woff2');font-weight:normal;font-style:normal;font-display:block}
.infra-tree-section{padding:32px 0 44px;background:#fff;border-bottom:1px solid var(--line)}
.infra-tree-section h2{margin:0 0 24px;font-size:1.55rem;letter-spacing:-.02em}
.infra-tree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:0;border-top:1px solid #aeb2b7;border-left:1px solid #aeb2b7}
.infra-tree-branch{min-width:0;padding:18px 22px 23px;border-right:1px solid #aeb2b7;border-bottom:1px solid #aeb2b7;break-inside:avoid}
.infra-tree-branch h3{display:flex;align-items:flex-start;gap:12px;min-height:48px;margin:0 0 17px;font-size:1rem;font-weight:750;line-height:1.5;letter-spacing:0;color:#10213a}
.infra-category-icon{font-family:SWSInfraIcons;font-size:1.45rem;line-height:1.25;font-weight:normal;flex:0 0 26px;text-align:center;color:#b42c1b}
.infra-tree-branch>ul{list-style-type:circle;padding:0 0 0 20px;margin:0 0 0 33px}
.infra-tree-branch>ul>li{padding:2px 0 2px 3px;color:#20334a;font-size:1rem;line-height:1.5;overflow-wrap:break-word}
@media(max-width:900px){.infra-tree-branch{padding:16px}.infra-tree-branch h3{gap:8px}.infra-tree-branch>ul{margin-left:17px}}
.infra-tree-container{min-width:0;max-width:100%}
.infra-tree-branch h3{overflow-wrap:anywhere}
@media screen and (max-width:900px){.infra-tree{grid-template-columns:repeat(2,minmax(0,1fr))}.infra-hero-grid{grid-template-columns:1fr;gap:32px}.infra-blueprint{max-width:100%}.infra-sim-body{grid-template-columns:1fr}.infra-detail{border-left:0;border-top:1px solid var(--line)}}
@media screen and (max-width:580px){.infra-tree{grid-template-columns:minmax(0,1fr)}.infra-tree-section{padding:26px 0 32px}.infra-tree-branch{padding:20px}.infra-tree-branch h3{min-height:0;margin-bottom:18px}.infra-tree-branch>ul{margin-left:24px}}
@media print{.infra-tree-section{padding:15px 0}.infra-tree{grid-template-columns:repeat(3,minmax(0,1fr))}.infra-tree-branch{padding:12px}.infra-tree-branch h3{font-size:12px;min-height:30px;margin-bottom:12px}.infra-tree-branch>ul{margin-left:8px}.infra-tree-branch>ul>li{font-size:11px}.infra-category-icon{color:#b42c1b;print-color-adjust:exact}}
