@font-face {font-family:"Red Hat Display";src:url("./assets/red-hat-display.woff2") format("woff2");font-weight:300 900;font-display:swap}
@font-face {font-family:"Red Hat Text";src:url("./assets/red-hat-text.woff2") format("woff2");font-weight:300 700;font-display:swap}
.planner-content{--blue:#1f84bf;--blue-ink:#155e8a;--navy:#0f2a3a;--sky:#8fd4ff;--ink:#0a0c0e;--muted:#525c66;--line:#dde2e6;--quiet:#f1f4f6;--ground:#fff;--head:"Red Hat Display",Arial,sans-serif;--body:"Red Hat Text",Arial,sans-serif}
.planner-content *,.planner-content *::before,.planner-content *::after{box-sizing:border-box}
.planner-content{margin:0;background:var(--ground);color:var(--ink);font:400 16px/1.55 var(--body);-webkit-font-smoothing:antialiased}
.planner-content button,.planner-content input{font:inherit}
.planner-content button,.planner-content a,.planner-content input{-webkit-tap-highlight-color:transparent}
.planner-content button{cursor:pointer}
.planner-content a{color:inherit}
.planner-content button{color:inherit}
.planner-content img,.planner-content svg{display:block;max-width:100%}
.planner-content h1,.planner-content h2,.planner-content h3,.planner-content p,.planner-content dl,.planner-content dd,.planner-content fieldset{margin:0}
.planner-content fieldset{padding:0;border:0;min-width:0}
.planner-content legend{padding:0}
.planner-content h1,.planner-content h2,.planner-content h3{font-family:var(--head);letter-spacing:-.025em}
.planner-content a:focus-visible,.planner-content button:focus-visible,.planner-content input:focus-visible,.planner-content summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.planner-content button:disabled{cursor:default}
.planner-content ::selection{background:var(--blue-ink);color:#fff}
.planner-content .wrap{width:min(1280px,100%);margin-inline:auto;padding-inline:40px}
.planner-content .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.planner-content .skip{position:fixed;z-index:100;top:-100px;left:12px;background:var(--navy);color:#fff;padding:12px 20px}
.planner-content .skip:focus{top:12px}
.planner-content [hidden]{display:none!important}
.planner-content .header{border-bottom:1px solid var(--line);background:#fff}
.planner-content .header-inner{max-width:1360px;margin:auto;padding:25px 40px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.planner-content .brand img{width:194px;height:auto}
.planner-content .header nav{display:flex;align-items:center;gap:30px;font-weight:600;font-size:.9rem}
.planner-content .header nav a{text-decoration:none;padding-block:10px}
.planner-content .header nav a[aria-current]{color:var(--blue-ink);box-shadow:0 2px var(--blue)}
.planner-content .header .contact-link{border:1px solid var(--line);border-radius:999px;padding:10px 20px}
.planner-content .header nav a:hover{color:var(--blue-ink)}
.planner-content .intro{padding-top:38px;padding-bottom:34px}
.planner-content .back-link{font-size:.82rem;color:var(--muted);text-decoration:none}
.planner-content .back-link:hover{color:var(--blue-ink);text-decoration:underline}
.planner-content .intro-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:end;gap:70px;margin-top:31px}
.planner-content h1{font-size:clamp(2.7rem,4.3vw,4.15rem);font-weight:800;line-height:1.06;max-width:18ch}
.planner-content .lead{font-size:1.05rem;line-height:1.65;color:var(--muted);max-width:64ch;margin-top:23px}
.planner-content .intro-aside{padding-left:30px;border-left:1px solid var(--line);color:var(--muted);font-size:.87rem;line-height:1.65}
.planner-content .signal{width:120px;height:96px;margin-bottom:14px;color:var(--blue)}
.planner-content .intro-facts{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:34px;font-size:.77rem;font-weight:600;color:var(--blue-ink)}
.planner-content .intro-facts span{display:flex;align-items:center;gap:8px}
.planner-content .intro-facts span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue)}
.planner-content .planner-section{border-top:1px solid var(--line);background:linear-gradient(90deg,#f8fafb,white 65%);padding:48px 0 68px}
.planner-content .planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 368px;gap:55px;align-items:start}
.planner-content .step{border-bottom:1px solid var(--line);padding-bottom:32px;margin-bottom:32px}
.planner-content .step legend,.planner-content .step h2{font:750 1.35rem/1.3 var(--head);letter-spacing:-.02em;display:flex;align-items:center;gap:12px}
.planner-content .step-number{width:28px;height:28px;display:inline-grid;place-items:center;color:var(--blue-ink);background:#e4eff6;border-radius:50%;font:700 .82rem var(--body);flex:none}
.planner-content .section-help{color:var(--muted);font-size:.9rem;line-height:1.6;margin-top:13px;max-width:65ch}
.planner-content .service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.planner-content .service-option{position:relative;cursor:pointer}
.planner-content .service-option input{position:absolute;width:1px;height:1px;opacity:0}
.planner-content .choice-content{display:block;height:100%;padding:16px 13px 17px;background:#fff;border:1px solid #c7d0d7;border-radius:5px;transition:background .15s,border-color .15s}
.planner-content .choice-top{display:flex;align-items:center;justify-content:space-between;gap:7px}
.planner-content .choice-top strong{font:750 1.05rem var(--head);white-space:nowrap}
.planner-content .choice-content>span:last-child{display:block;font-size:.77rem;line-height:1.5;color:var(--muted);margin-top:10px}
.planner-content .radio-dot{width:15px;height:15px;border:1px solid #78838c;border-radius:50%;flex:none}
.planner-content .service-option input:checked+.choice-content{border:2px solid var(--blue-ink);padding:15px 12px 16px;background:#edf6fc}
.planner-content .service-option input:checked+.choice-content .radio-dot{border:4px solid var(--blue-ink)}
.planner-content .service-option input:focus-visible+.choice-content{outline:3px solid var(--blue);outline-offset:4px}
.planner-content .service-option:hover .choice-content{border-color:var(--blue-ink)}
.planner-content .endpoint-field,.planner-content .hours-field,.planner-content .source-field{padding-top:26px;margin-top:2px}
.planner-content .endpoint-field legend,.planner-content .hours-field legend,.planner-content .source-field legend{float:left;width:100%;font:700 1rem/1.4 var(--head);display:block;margin-bottom:14px;letter-spacing:0}
.planner-content .endpoint-field legend::after,.planner-content .hours-field legend::after,.planner-content .source-field legend::after{content:"";display:block;clear:both}
.planner-content .endpoint-row{clear:both;display:flex;align-items:center;justify-content:space-between;gap:16px}
.planner-content .endpoint-row label{font-size:.9rem;font-weight:600}
.planner-content .endpoint-row p{font-size:.79rem;color:var(--muted);margin-top:3px;max-width:32ch}
.planner-content .number-unit{display:flex;align-items:center;gap:10px}
.planner-content .number-unit input{width:90px;height:47px;border:1px solid #7c8992;border-radius:4px;padding:8px 10px;background:#fff;font-size:1.1rem;font-weight:650;font-variant-numeric:tabular-nums}
.planner-content .number-unit span{font-size:.78rem;color:var(--muted)}
.planner-content input:focus{border-color:var(--blue-ink)}
.planner-content input[aria-invalid=true]{border-color:#a93a27;outline-color:#a93a27}
.planner-content .presets{display:flex;gap:8px;margin-top:17px}
.planner-content .presets button{border:1px solid var(--line);border-radius:999px;background:#fff;min-width:62px;min-height:36px;padding:5px 12px;font-size:.8rem;font-weight:600}
.planner-content .presets button:hover,.planner-content .presets button[aria-pressed=true]{background:var(--blue-ink);color:#fff;border-color:var(--blue-ink)}
.planner-content .rate-note{font-size:.79rem;margin-top:12px;color:var(--blue-ink)}
.planner-content .hours-field{border-top:1px solid var(--line);margin-top:25px}
.planner-content .hours-options{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.planner-content .hours-options label{display:flex;align-items:center;gap:11px;cursor:pointer;border:1px solid var(--line);padding:11px 14px;border-radius:4px;background:#fff}
.planner-content .hours-options label:has(input:checked){border-color:var(--blue-ink);background:#edf6fc}
.planner-content .hours-options input{accent-color:var(--blue-ink);width:17px;height:17px;flex:none}
.planner-content .hours-options strong{display:block;font-size:.94rem}
.planner-content .hours-options small{display:block;font-size:.76rem;color:var(--muted)}
.planner-content .field-note{font-size:.77rem;line-height:1.6;color:var(--muted);margin-top:14px;max-width:75ch}
.planner-content .source-field{border-top:1px solid var(--line);margin-top:25px}
.planner-content .source-heading{clear:both;display:flex;align-items:start;gap:20px;margin-bottom:22px}
.planner-content .source-heading p{font-size:.81rem;color:var(--muted);line-height:1.6}
.planner-content .text-button{flex:none;background:none;border:0;color:var(--blue-ink);text-decoration:underline;text-underline-offset:4px;font-size:.79rem;font-weight:600;padding:4px 0;min-height:32px}
.planner-content .text-button:hover{color:var(--ink)}
.planner-content .source-group+.source-group{margin-top:23px}
.planner-content .source-group h3{font:650 .78rem var(--body);letter-spacing:0;color:var(--blue-ink);padding-bottom:7px;border-bottom:1px solid var(--line)}
.planner-content .source-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:center;padding:13px 0;border-bottom:1px solid #e8edf0}
.planner-content .source-row label{display:block;font-weight:650;font-size:.89rem}
.planner-content .source-detail{font-size:.75rem;color:var(--muted);line-height:1.5;margin-top:3px;max-width:52ch}
.planner-content .source-control{display:flex;align-items:center;gap:7px}
.planner-content .source-control input{width:62px;height:40px;border:1px solid #89959f;border-radius:4px;background:#fff;text-align:center;padding:6px 3px;font-variant-numeric:tabular-nums;font-weight:600;font-size:.9rem}
.planner-content .source-control button{width:29px;min-height:36px;border:0;background:transparent;color:var(--blue-ink);font-size:1.2rem;border-radius:4px}
.planner-content .source-control button:hover{background:#e4eff6}
.planner-content .source-control button:disabled,.planner-content .source-control input:disabled{opacity:.45}
.planner-content .included-source{color:var(--blue-ink);font-size:.75rem;font-weight:600;max-width:110px;text-align:right}
.planner-content .source-rate{font-size:.71rem;color:var(--muted);white-space:nowrap;grid-column:1/-1;display:none}
.planner-content .source-row:focus-within .source-rate{display:block}
.planner-content .form-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--muted);font-size:.74rem}
.planner-content .validation{padding:14px 16px;color:#802a1b;border:1px solid #dab4ac;border-radius:4px;background:#fff5f2;margin-bottom:20px;font-size:.85rem}
.planner-content .estimate{position:sticky;top:24px;border-radius:8px;background:var(--navy);color:#fff;padding:28px 27px 25px;box-shadow:0 14px 32px #0f2a3a12}
.planner-content .estimate-top{display:flex;align-items:center;gap:8px;color:var(--sky);font-size:.75rem;font-weight:600;line-height:1.4}
.planner-content .status-dot{width:6px;height:6px;border-radius:50%;background:var(--sky)}
.planner-content .estimate h2{font-size:1.25rem;line-height:1.25;font-weight:650;margin-top:24px}
.planner-content .price{margin-top:19px}
.planner-content .price output{display:block;font:750 clamp(2.6rem,3.2vw,3.3rem)/1.1 var(--head);letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.planner-content .price>span{display:block;margin-top:8px;font-size:.84rem;color:#c4d2dc}
.planner-content .annual{font-size:.8rem;color:#c4d2dc;margin-top:6px}
.planner-content .estimate-rule{height:1px;background:#385260;margin:23px 0}
.planner-content .breakdown{display:grid;gap:14px}
.planner-content .breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.planner-content .breakdown dt{font-size:.82rem;color:#cfdae2}
.planner-content .breakdown dt small{display:block;color:#a8becd;font-size:.71rem;margin-top:2px}
.planner-content .breakdown dd{font-weight:650;font-size:.82rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.planner-content .result-note{font-size:.74rem;line-height:1.65;color:#c4d2dc;margin-top:19px}
.planner-content .result-warning{font-size:.78rem;line-height:1.6;border-left:2px solid var(--sky);padding:4px 0 4px 11px;margin-top:15px;color:#e2f3ff}
.planner-content .estimate-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:12px 17px;background:#fff;border-radius:999px;color:var(--navy);text-decoration:none;font-size:.82rem;font-weight:700;margin-top:23px}
.planner-content .estimate-cta span{font-size:1.2rem;font-weight:500}
.planner-content .estimate-cta:hover{background:var(--sky)}
.planner-content .estimate :focus-visible{outline-color:var(--sky)}
.planner-content .email-note{color:#b8cbd7;font-size:.7rem;line-height:1.6;margin-top:11px}
.planner-content .estimate-disclaimer{border-top:1px solid #385260;margin-top:22px;padding-top:20px;font-size:.74rem;line-height:1.65;color:#bfced9}
.planner-content .estimate-disclaimer strong{color:#fff;font-weight:650}
.planner-content .estimate-disclaimer p{margin-top:7px}
.planner-content .explanation{padding-top:66px;padding-bottom:76px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:70px}
.planner-content .explanation h2{font-size:clamp(1.7rem,2.3vw,2.1rem);font-weight:750;line-height:1.14}
.planner-content .explanation-intro p{font-size:.9rem;color:var(--muted);max-width:40ch;margin-top:20px;line-height:1.65}
.planner-content .details-list{border-top:1px solid var(--line)}
.planner-content details{border-bottom:1px solid var(--line)}
.planner-content summary{position:relative;cursor:pointer;list-style:none;font-weight:650;font-size:.94rem;padding:21px 34px 21px 0}
.planner-content summary::-webkit-details-marker{display:none}
.planner-content summary::after{content:"+";position:absolute;right:4px;top:18px;color:var(--blue-ink);font-size:1.3rem;font-weight:400}
.planner-content details[open] summary::after{content:"−"}
.planner-content .details-body{padding:0 0 24px;font-size:.83rem;line-height:1.7;color:var(--muted)}
.planner-content .details-body p+p{margin-top:13px}
.planner-content .details-body table{border-collapse:collapse;width:100%;font-size:.81rem;margin-bottom:16px}
.planner-content .details-body caption{text-align:left;font-weight:650;color:var(--ink);margin-bottom:9px}
.planner-content .details-body th,.planner-content .details-body td{text-align:left;padding:8px 4px;border-bottom:1px solid var(--line)}
.planner-content .details-body th{font-weight:650}
.planner-content .details-body th:last-child,.planner-content .details-body td:last-child{text-align:right}
.planner-content .footer{background:var(--navy);color:#fff;padding:33px 0}
.planner-content .footer-inner{display:flex;align-items:center;flex-wrap:wrap;gap:20px 35px}
.planner-content .footer-brand{font:800 1.12rem var(--head);text-decoration:none;letter-spacing:.02em}
.planner-content .footer-inner p{color:#b9c6cf;font-size:.77rem}
.planner-content .footer nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:22px;font-size:.75rem}
.planner-content .footer nav a{text-underline-offset:4px}
.planner-content .footer nav a:hover{color:var(--sky)}
.planner-content .noscript{padding-block:20px;color:#802a1b}
@media (min-width:1450px){.planner-content .planner-layout{gap:65px;grid-template-columns:minmax(0,1fr) 390px}
.planner-content .estimate{padding:31px}}
@media (max-width:1100px){.planner-content .wrap{padding-inline:28px}
.planner-content .planner-layout{gap:30px;grid-template-columns:minmax(0,1fr) 330px}
.planner-content .estimate{padding:24px 22px}
.planner-content .choice-top strong{font-size:.92rem}
.planner-content .choice-content{padding:14px 10px}
.planner-content .service-option input:checked+.choice-content{padding:13px 9px}
.planner-content .intro-grid{gap:40px}
.planner-content .number-unit span{display:none}
.planner-content .source-control{gap:3px}
.planner-content .source-control input{width:53px}
.planner-content .explanation{gap:40px}}
@media (max-width:900px){.planner-content .planner-layout{grid-template-columns:minmax(0,1fr)}
.planner-content .estimate{position:static;max-width:none;padding:30px;display:grid;grid-template-columns:1fr 1fr;column-gap:35px}
.planner-content .estimate-top,.planner-content .estimate h2,.planner-content .price,.planner-content .annual,.planner-content .estimate-rule,.planner-content .breakdown,.planner-content .result-note,.planner-content .result-warning{grid-column:1}
.planner-content .estimate .estimate-cta{grid-column:2;grid-row:2/4;align-self:center;margin:0}
.planner-content .estimate .email-note{grid-column:2;grid-row:4/5;margin-top:0}
.planner-content .estimate-disclaimer{grid-column:2;grid-row:5/10;align-self:start}
.planner-content .estimate-rule{margin:20px 0}
.planner-content .form-bottom{margin-bottom:0}
.planner-content .intro-grid{gap:30px}
.planner-content .intro-aside{font-size:.78rem}
.planner-content .intro-aside .signal{width:100px}
.planner-content .header-inner{padding-inline:28px}
.planner-content .header nav{gap:20px}
.planner-content .brand img{width:176px}
.planner-content .explanation{grid-template-columns:1fr;gap:30px}
.planner-content .explanation-intro{display:flex;align-items:start;justify-content:space-between;gap:30px}
.planner-content .explanation-intro p{margin:0;max-width:34ch}
.planner-content .planner-section{padding-bottom:45px}}
@media (max-width:600px){.planner-content .wrap{padding-inline:20px}
.planner-content .header-inner{padding:18px 20px;gap:16px;flex-wrap:wrap}
.planner-content .brand img{width:166px}
.planner-content .header nav{width:100%;justify-content:space-between;gap:13px;font-size:.77rem}
.planner-content .header .contact-link{padding:7px 15px}
.planner-content .header nav a{padding-block:7px}
.planner-content .intro{padding-top:25px;padding-bottom:26px}
.planner-content .intro-grid{display:block;margin-top:25px}
.planner-content h1{font-size:clamp(2.35rem,9.3vw,3.25rem)}
.planner-content .lead{font-size:.95rem;margin-top:20px;line-height:1.65}
.planner-content .intro-aside{display:none}
.planner-content .intro-facts{gap:9px 16px;margin-top:23px;font-size:.68rem}
.planner-content .intro-facts span:last-child{display:none}
.planner-content .planner-section{padding-top:30px}
.planner-content .step legend,.planner-content .step h2{font-size:1.2rem}
.planner-content .section-help{font-size:.82rem}
.planner-content .service-options{gap:7px;margin-top:18px}
.planner-content .choice-content{padding:13px 9px}
.planner-content .service-option input:checked+.choice-content{padding:12px 8px}
.planner-content .choice-top{flex-direction:column-reverse;align-items:start;gap:10px}
.planner-content .choice-top strong{font-size:.91rem}
.planner-content .choice-content>span:last-child{font-size:.7rem;line-height:1.45}
.planner-content .radio-dot{width:14px;height:14px}
.planner-content .endpoint-row{align-items:start}
.planner-content .endpoint-row label{font-size:.84rem}
.planner-content .endpoint-row p{font-size:.74rem;max-width:26ch}
.planner-content .number-unit input{width:80px}
.planner-content .hours-options{gap:8px}
.planner-content .hours-options label{padding:10px;gap:7px}
.planner-content .hours-options small{font-size:.7rem}
.planner-content .source-heading{gap:12px}
.planner-content .source-heading p{font-size:.76rem}
.planner-content .source-row{gap:8px}
.planner-content .source-row label{font-size:.83rem}
.planner-content .source-detail{font-size:.7rem}
.planner-content .source-control{gap:0}
.planner-content .source-control button{width:28px;min-height:40px}
.planner-content .source-control input{width:50px}
.planner-content .source-group h3{font-size:.74rem}
.planner-content .form-bottom{align-items:start;gap:15px;font-size:.7rem}
.planner-content .form-bottom .text-button{font-size:.72rem;line-height:1.5;padding-top:0;max-width:130px;text-align:right}
.planner-content .estimate{display:block;padding:27px 24px}
.planner-content .estimate h2{margin-top:22px}
.planner-content .price output{font-size:3.1rem}
.planner-content .estimate .estimate-cta{margin-top:23px}
.planner-content .estimate .email-note{margin-top:11px}
.planner-content .estimate-disclaimer{margin-top:22px}
.planner-content .explanation{padding-top:45px;padding-bottom:45px;gap:26px}
.planner-content .explanation-intro{display:block}
.planner-content .explanation-intro p{margin-top:16px;max-width:42ch;font-size:.85rem}
.planner-content summary{font-size:.87rem}
.planner-content .details-body{font-size:.79rem}
.planner-content .footer-inner{display:block}
.planner-content .footer-inner p{margin-top:10px}
.planner-content .footer nav{gap:18px;margin-top:22px}
.planner-content .step{margin-bottom:27px;padding-bottom:27px}}
@media (prefers-reduced-motion:reduce){.planner-content *,.planner-content *::before,.planner-content *::after{transition:none!important}}
@media (forced-colors:active){.planner-content .service-option input:checked+.choice-content{outline:2px solid Highlight}
.planner-content .radio-dot{forced-color-adjust:none}
.planner-content .estimate{border:1px solid CanvasText}
.planner-content .estimate-cta{border:1px solid LinkText}
.planner-content .status-dot{background:CanvasText}}
@media print{.planner-content .header,.planner-content .intro-aside,.planner-content .footer,.planner-content .estimate-cta,.planner-content .email-note,.planner-content .presets,.planner-content .form-bottom,.planner-content .text-button,.planner-content .source-control button{display:none!important}
.planner-content .wrap{padding:0;max-width:none}
.planner-content .intro{padding:0 0 20px}
.planner-content h1{font-size:30px}
.planner-content .planner-section{background:#fff;padding:20px 0}
.planner-content .planner-layout{grid-template-columns:1.4fr 1fr;gap:25px}
.planner-content .estimate{display:block;position:static;background:#fff;color:#000;border:1px solid #888;padding:20px;box-shadow:none}
.planner-content .estimate *{color:#000!important}
.planner-content .price output{font-size:32px}
.planner-content .explanation{padding:20px 0;display:block}
.planner-content .details-list{display:none}
.planner-content .source-row,.planner-content .estimate{break-inside:avoid}}
.planner-content{padding-top:var(--header-h)}
.planner-content .estimate{top:calc(var(--header-h) + 18px)}
@media print{.site-head,.site-foot,.menu,.dock{display:none!important}.planner-content{padding-top:0}}

.planner-content .maintenance-field{margin:26px 0;padding:20px;border:1px solid var(--line);border-radius:6px}.planner-content .maintenance-field legend{font-weight:700;font-size:1rem}.planner-content .maintenance-option{display:flex;align-items:center;gap:12px;cursor:pointer}.planner-content .maintenance-option input{width:20px;height:20px;accent-color:var(--blue-ink)}.planner-content #endpoint-range{width:100%;margin-top:18px;accent-color:var(--blue-ink)}.planner-content .source-calculation{margin-top:18px}.planner-content .source-calculation summary{cursor:pointer;font-size:.85rem}.planner-content .source-calculation .breakdown{font-size:.8rem}

.planner-content .price output{font-size:clamp(1.45rem,2.3vw,2.7rem);overflow-wrap:anywhere}
