/* The package is part of the studio story: generous type, quiet surfaces, one blue accent. */
#configuration-root{position:relative;z-index:2;color:#121416;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.6;max-width:1600px;margin:auto;padding:110px 0;--cfg-blue:#0016ec;--cfg-line:#12141626;--cfg-muted:#606374;--cfg-paper:#f0f1fa}
#configuration-root *{box-sizing:border-box}
#configuration-root [hidden]{display:none!important}
#configuration-root button,#configuration-root input,#configuration-root select,#configuration-root textarea{font:inherit;touch-action:manipulation}
#configuration-root button{cursor:pointer}
#configuration-root button:disabled{opacity:.45;cursor:default}
#configuration-root :is(button,input,select,textarea,summary):focus-visible{outline:3px solid #0016ec;outline-offset:4px}
.cfg-heading{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:7vw;margin-bottom:65px}
.cfg-eyebrow{font-size:14px!important;line-height:1.5;letter-spacing:.06em;font-weight:600;margin:0 0 35px!important;color:#606374!important}
.cfg-heading h2{font:450 clamp(48px,6.6vw,110px)/1.02 Inter,Arial,sans-serif;letter-spacing:-.065em;margin:0}
.cfg-heading h2 em{font-style:normal;color:#0016ec}
.cfg-heading>p{font-size:clamp(17px,1.5vw,22px);line-height:1.6;letter-spacing:-.025em;color:#606374;margin:0 0 6px;max-width:440px}
.cfg-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,1fr);gap:28px;align-items:start}
.cfg-inputs{display:grid;gap:25px;min-width:0}
.cfg-panel{background:#ffffff9c;border:1px solid #12141614;border-radius:20px;padding:32px;min-width:0}
.cfg-step{display:flex;align-items:flex-start;gap:18px;margin-bottom:27px}
.cfg-step>span{width:33px;height:33px;flex:none;display:grid;place-items:center;border:1px solid #12141625;border-radius:50%;font-size:14px;font-weight:500;margin-top:2px}
.cfg-step h3{font-size:clamp(23px,2vw,30px);font-weight:500;letter-spacing:-.045em;line-height:1.2;margin:0 0 9px}
.cfg-step p{font-size:14px;line-height:1.6;color:#606374;margin:0}
.cfg-fields{display:grid;grid-template-columns:1fr 1fr;gap:21px}
.cfg-fields label,.cfg-estimate-fields label{display:flex;flex-direction:column;gap:9px;font-size:14px;line-height:1.5;font-weight:500;color:#41434d;min-width:0}
.cfg-wide{grid-column:1/-1}
.cfg-fields input,.cfg-fields select,.cfg-estimate-fields input,.cfg-context textarea{width:100%;background:#f0f1fa;border:1px solid #12141628;border-radius:9px;padding:15px;color:#121416;min-width:0;color-scheme:light}
.cfg-fields input,.cfg-fields select,.cfg-estimate-fields input{font-size:16px!important;min-height:54px}
.cfg-fields select{line-height:1.5;text-overflow:ellipsis}
.cfg-fields input[aria-invalid=true],.cfg-estimate-fields input[aria-invalid=true]{border-color:#c73326;background:#fff1ed}
.cfg-base{display:flex;align-items:center;flex-wrap:wrap;gap:13px;background:#edf0ff;border:1px solid #0016ec20;border-radius:12px;padding:20px;margin-bottom:26px}
.cfg-base-icon{font-size:30px;line-height:1;color:#0016ec}
.cfg-base>div{flex:1;min-width:150px}
.cfg-base b{font-size:17px;font-weight:600;letter-spacing:-.025em}
.cfg-base small{display:block;font-size:14px;line-height:1.55;color:#5b6090;margin-top:5px}
.cfg-included{font-size:14px;line-height:1.5;letter-spacing:.025em;color:#0016ec;font-weight:500;width:100%;padding-left:42px}
.cfg-tabs{display:flex;gap:8px;border-bottom:1px solid #12141624;margin-bottom:15px}
.cfg-tabs button{display:flex;align-items:center;gap:13px;min-height:56px;background:none;border:0;border-bottom:2px solid transparent;color:#606374;font-size:15px;font-weight:550;padding:13px 15px}
.cfg-tabs button[aria-selected=true]{color:#0016ec;border-bottom-color:#0016ec}
.cfg-tabs button>span{font-size:14px;border-radius:30px;background:#0016ec0b;color:#0016ec;padding:1px 8px;min-width:25px;text-align:center}
.cfg-group{border-bottom:1px solid #12141620}
.cfg-group:last-child{border-bottom:0}
.cfg-group summary{list-style:none;display:flex;align-items:center;gap:15px;padding:22px 0;cursor:pointer;user-select:none}
.cfg-group summary::-webkit-details-marker{display:none}
.cfg-letter{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid color-mix(in srgb,var(--cfg-accent) 30%,transparent);border-radius:50%;color:var(--cfg-accent);font-size:19px;letter-spacing:-.04em;font-weight:550}
.cfg-group summary b{font-size:16px;font-weight:550;line-height:1.4;letter-spacing:-.025em}
.cfg-group summary small{display:block;font-size:14px;color:#606374;margin-top:4px}
.cfg-group summary i{margin-left:auto;font-style:normal;font-size:25px;font-weight:350;transition:transform .2s;color:#0016ec}
.cfg-group[open] summary i{transform:rotate(45deg)}
.cfg-group-content{display:grid;gap:9px;padding:0 0 20px 53px}
.cfg-group-all{font-size:14px!important;text-align:left;color:#0016ec;background:none;border:0;padding:5px 0 15px;min-height:44px;font-weight:500!important}
.cfg-choice{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #12141620;border-radius:11px;background:#fff;position:relative;cursor:pointer;transition:background .2s,border-color .2s}
.cfg-choice:hover{border-color:#0016ec55}
.cfg-choice:has(input:checked){border-color:#0016ec66;background:#edf0ff}
.cfg-choice input{position:absolute;opacity:0;width:1px;height:1px}
.cfg-choice:has(input:focus-visible){outline:3px solid #0016ec;outline-offset:3px}
.cfg-check{width:22px;height:22px;flex:none;border:1px solid #12141650;border-radius:5px;display:grid;place-items:center;color:transparent;font-size:15px}
.cfg-choice input:checked+.cfg-check{background:#0016ec;border-color:#0016ec;color:white}
.cfg-choice b{display:block;font-size:16px;font-weight:550;letter-spacing:-.025em}
.cfg-choice small{display:block;font-size:14px;line-height:1.5;margin-top:4px;color:#606374}
.cfg-selection-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #12141620;padding-top:15px;margin-top:8px;color:#606374;font-size:14px}
.cfg-selection-actions button{font-size:14px;border:0;background:none;padding:10px 0;color:#0016ec;min-height:44px;text-align:left}
.cfg-estimate-intro{font-size:15px;line-height:1.7;color:#606374;margin:0 0 23px}
.cfg-estimate-row{padding:22px 0;border-top:1px solid #12141620}
.cfg-estimate-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}
.cfg-estimate-title b{font-size:17px;font-weight:550;letter-spacing:-.025em}
.cfg-estimate-title button{height:38px;width:38px;border:1px solid #12141630;background:transparent;border-radius:50%;color:#606374;font-size:21px;flex:none}
.cfg-estimate-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.cfg-estimate-row>p{font-size:14px;color:#606374;margin:12px 0 0}
.cfg-empty{padding:24px;color:#606374;font-size:15px;line-height:1.7;background:#edf0ff;border:1px dashed #0016ec44;border-radius:12px}
.cfg-context textarea{resize:vertical;min-height:120px;font-size:16px;line-height:1.7}
.cfg-context textarea::placeholder{color:#707484}
.cfg-local-note{font-size:14px;color:#606374;line-height:1.7;margin:12px 0 0}
.cfg-summary{position:sticky;top:120px;padding:32px;background:#e4e6ef;border:1px solid #12141615;border-radius:20px;overflow:hidden}
.cfg-summary:before{content:'';display:block;position:absolute;top:0;left:0;right:0;height:4px;background:#0016ec}
.cfg-summary-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#606374;font-size:14px;line-height:1.5;letter-spacing:.025em}
.cfg-summary-top>b{font-size:14px;font-weight:500;margin-left:auto;color:#0016ec}
.cfg-signal{width:7px;height:7px;background:#0016ec;border-radius:50%;flex:none}
.cfg-summary h3{font-size:clamp(30px,3vw,46px);font-weight:450;line-height:1.06;letter-spacing:-.06em;margin:28px 0 18px}
.cfg-summary>p{font-size:15px;line-height:1.7;color:#606374;margin:0 0 19px}
.cfg-summary #cfg-package-context{font-size:14px;color:#55596b;margin:18px 0 20px}
.cfg-summary-selection{display:flex;flex-wrap:wrap;gap:7px}
.cfg-summary-selection button,.cfg-fixed{display:flex;align-items:center;gap:13px;font-size:14px;border-radius:25px;border:1px solid #12141622;background:#f0f1fa;color:#121416;padding:9px 13px;min-height:42px}
.cfg-summary-selection button>span{font-size:20px;color:#0016ec;line-height:1}
.cfg-summary-selection button:hover{border-color:#0016ec}
.cfg-fixed{width:100%;border-radius:9px;margin-bottom:5px;background:#ffffff77;color:#0016ec;font-weight:500}
.cfg-fixed small{font-size:14px;margin-left:auto;color:#606374;font-weight:400}
.cfg-result{border-top:1px solid #12141628;border-bottom:1px solid #12141628;padding:25px 0;margin:28px 0}
.cfg-result>div:first-child{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:15px;font-weight:500}
.cfg-result>div:first-child>button{font-size:14px;color:#0016ec;background:none;border:0;padding:5px 0;min-height:36px}
.cfg-result-value{display:flex;align-items:center;gap:18px;margin:18px 0 23px}
.cfg-result-value output{font-size:clamp(44px,5.1vw,80px);font-weight:450;line-height:1;letter-spacing:-.065em;color:#0016ec;overflow-wrap:anywhere;min-width:0}
.cfg-result-value>span{font-size:25px;font-weight:450;line-height:1.1;letter-spacing:-.03em;flex:none}
.cfg-result-value small{display:block;font-size:14px;color:#606374;margin-top:6px;letter-spacing:0}
.cfg-year{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:15px;color:#606374}
.cfg-year b{color:#121416;font-weight:550}
.cfg-breakdown{margin-top:22px}
.cfg-breakdown summary{display:flex;justify-content:space-between;list-style:none;cursor:pointer;color:#0016ec;font-size:14px;padding:9px 0;min-height:42px;gap:15px}
.cfg-breakdown summary::-webkit-details-marker{display:none}
.cfg-breakdown>p{font-size:14px;color:#606374;line-height:1.7}
.cfg-breakdown #cfg-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:14px;border-bottom:1px solid #12141616;padding:12px 0}
.cfg-breakdown small{display:block;font-size:14px;line-height:1.5;color:#606374;margin-top:4px}
.cfg-breakdown b{font-weight:500;white-space:nowrap}
.cfg-breakdown #cfg-breakdown>p{font-size:14px;color:#606374}
.cfg-disclaimer{font-size:14px;color:#606374;line-height:1.7;margin:17px 0 0}
.cfg-includes>b{font-size:16px;font-weight:550;letter-spacing:-.025em}
.cfg-includes ul{list-style:none;margin:15px 0 25px;padding:0;color:#606374;font-size:14px;line-height:1.7}
.cfg-includes li{position:relative;padding-left:22px;margin:0 0 8px}
.cfg-includes li:before{content:'✓';position:absolute;left:0;color:#0016ec}
.cfg-download{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:20px 24px;border-radius:50px;border:1px solid #0016ec;background:#0016ec;color:white;min-height:61px;font-size:16px;font-weight:550;letter-spacing:-.02em;transition:background .2s,transform .2s}
.cfg-download:not(:disabled):hover{background:#1228ef;transform:translateY(-2px)}
.cfg-download>span{font-size:24px;font-weight:400;line-height:1}
.cfg-summary .cfg-download-note{font-size:14px;color:#606374;line-height:1.7;margin:15px 0 0}
.cfg-status{font-size:14px!important;color:#0016ec!important;line-height:1.7!important;margin:15px 0 0!important}
.cfg-status:empty{display:none}
.cfg-error{padding:14px;border:1px solid #c7332655;border-radius:9px;background:#fff1ed;color:#99271d;font-size:14px;line-height:1.6;margin-top:17px}
.cfg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1700px){.cfg-panel,.cfg-summary{padding:38px}.cfg-layout{gap:38px}.cfg-heading{margin-bottom:80px}}
@media(max-width:1150px){.cfg-layout{grid-template-columns:minmax(0,1.3fr) minmax(330px,1fr);gap:20px}.cfg-panel,.cfg-summary{padding:25px}.cfg-group-content{padding-left:0}.cfg-heading{gap:5vw}.cfg-summary h3{font-size:36px}.cfg-fixed{flex-wrap:wrap}.cfg-fixed small{margin-left:0}.cfg-summary-top>b{width:100%;margin-left:16px}}
@media(max-width:900px){#configuration-root{padding:85px 0}.cfg-layout{grid-template-columns:1fr;gap:25px}.cfg-summary{position:relative;top:auto}.cfg-summary-top>b{width:auto;margin-left:auto}.cfg-heading{grid-template-columns:1fr;gap:30px;margin-bottom:40px}.cfg-heading>p{max-width:600px}.cfg-heading h2{font-size:clamp(48px,8.7vw,78px)}.cfg-eyebrow{margin-bottom:25px!important}.cfg-panel,.cfg-summary{padding:30px}.cfg-fixed small{margin-left:auto}.cfg-summary h3{font-size:44px}.cfg-result-value output{font-size:74px}.cfg-summary-selection button{min-height:44px}.cfg-group-content{padding-left:53px}}
@media(max-width:560px){#configuration-root{padding:65px 0}.cfg-heading h2{font-size:clamp(42px,11.5vw,60px)}.cfg-heading>p{font-size:17px}.cfg-panel,.cfg-summary{padding:23px 18px;border-radius:16px}.cfg-step{gap:12px;margin-bottom:24px}.cfg-step>span{width:29px;height:29px}.cfg-step h3{font-size:24px}.cfg-fields{gap:16px}.cfg-fields input,.cfg-fields select,.cfg-estimate-fields input{padding:13px 11px}.cfg-base{padding:17px 13px;gap:10px}.cfg-included{padding-left:0;font-size:14px}.cfg-base small{font-size:14px}.cfg-group summary{gap:10px}.cfg-group summary b{font-size:15px}.cfg-letter{width:33px;height:33px}.cfg-group-content{padding-left:0}.cfg-choice{padding:14px 12px;gap:12px}.cfg-choice b{font-size:16px}.cfg-tabs button{padding:12px 10px;gap:8px;font-size:14px}.cfg-selection-actions{align-items:flex-start;gap:10px}.cfg-selection-actions>span{padding-top:10px;text-align:right}.cfg-estimate-fields{gap:12px}.cfg-summary h3{font-size:38px}.cfg-result-value output{font-size:65px}.cfg-result-value{gap:13px}.cfg-summary-top{font-size:14px;letter-spacing:0}.cfg-summary-top>b{font-size:14px}.cfg-fixed{flex-wrap:wrap;gap:8px}.cfg-fixed small{width:100%;margin:0 0 0 22px}.cfg-breakdown #cfg-breakdown>div{align-items:flex-start}.cfg-download{padding:18px 20px}}
@media(max-width:370px){.cfg-fields,.cfg-estimate-fields{grid-template-columns:1fr}.cfg-summary-top>b{margin-left:16px;width:100%}.cfg-selection-actions{flex-wrap:wrap}.cfg-selection-actions>span{text-align:left;padding:0}.cfg-result-value output{font-size:56px}}
@media(prefers-reduced-motion:reduce){#configuration-root *,#configuration-root *:before,#configuration-root *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
