.estimator-page [hidden]{display:none!important}
.estimate-intro{padding-top:26px}.estimate-intro .breadcrumb{margin-bottom:26px}
.estimate-title-row{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:42px;margin-bottom:30px}
.estimate-title-row .eyebrow{margin-bottom:15px;color:var(--accent-text)}
.estimate-title-row h1{font-family:var(--font-display);font-size:clamp(2rem,3.2vw,2.85rem);line-height:1.12;letter-spacing:-.05em;font-weight:600;margin:0}
.estimate-title-row>p{max-width:510px;color:var(--muted);line-height:1.75;margin:0}.estimate-title-row strong{color:var(--ink)}
.estimate-progress{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0 0 30px;padding:0;border-block:1px solid var(--line)}
.estimate-progress li{display:flex;align-items:center;gap:10px;padding:17px 4px;color:var(--muted);font-size:.875rem;font-weight:500;border-bottom:2px solid transparent}
.estimate-progress span{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;font-size:.75rem}
.estimate-progress [aria-current]{color:var(--accent-text);border-bottom-color:var(--accent-text)}.estimate-progress [aria-current] span{background:var(--accent);color:#fff;border-color:var(--accent)}
.estimate-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start;padding-bottom:80px}
.estimate-workspace{min-width:0}.estimate-step>h2{font-size:clamp(1.5rem,2vw,1.8rem);letter-spacing:-.035em;line-height:1.3;margin:0 0 22px}.estimate-step>h2:focus{outline:none}.estimate-step>p{color:var(--muted);margin-bottom:20px}
.estimate-sidebar{padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);position:sticky;top:114px}
.estimate-step-label{color:var(--accent-text)!important;font-size:.75rem;font-weight:650;letter-spacing:.09em;margin:0 0 16px}.estimate-sidebar h2{font-size:1.45rem;letter-spacing:-.03em;margin:0 0 26px}
.estimate-rate strong{font:600 2.75rem/1.15 var(--font-display);letter-spacing:-.05em;display:block}.estimate-rate span{font-size:.875rem;color:var(--muted)}
.estimate-sidebar p:not(.estimate-step-label){font-size:.875rem;line-height:1.8;color:var(--muted);margin-block:20px}.estimate-formula{border-block:1px solid var(--line);padding-block:18px;color:var(--ink)!important;font-weight:600}
.estimate-sidebar dl{font-size:.8125rem;margin:22px 0}.estimate-sidebar dl>div{display:flex;justify-content:space-between;gap:14px;margin:12px 0}.estimate-sidebar dt{color:var(--muted)}.estimate-sidebar dd{margin:0;text-align:right;font-weight:500}
.estimate-step label:not(.estimate-check):not(.hosting-choice){display:block;font-size:.875rem;font-weight:600;margin:0 0 9px}
.estimate-step input:not([type=checkbox]):not([type=radio]),.estimate-step textarea,.estimate-step select{font:400 1rem/1.5 var(--font-body);display:block;width:100%;padding:12px 14px;background:var(--card);color:var(--ink);border:1px solid var(--field-border);border-radius:7px;min-height:48px}
.estimate-step textarea{resize:vertical;min-height:112px}.estimate-step input:focus,.estimate-step textarea:focus,.estimate-step select:focus{outline:2px solid var(--accent-text);outline-offset:3px}.estimate-step input[aria-invalid=true],.estimate-step textarea[aria-invalid=true]{border-color:var(--accent-text)}
.estimate-field-meta{display:flex;justify-content:space-between;gap:18px;margin-top:9px;color:var(--muted);font-size:.75rem}.estimate-field-meta span:last-child{white-space:nowrap}
.estimate-small{font-size:.8125rem!important;line-height:1.75;color:var(--muted);margin:12px 0 20px}.estimate-small a,.estimate-check a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.estimate-check{display:flex;align-items:start;gap:12px;line-height:1.65;font-size:.875rem;color:var(--muted);margin:18px 0;cursor:pointer;min-height:44px}.estimate-check input{accent-color:var(--accent);width:20px;height:20px;flex-shrink:0;margin-top:2px}
.estimate-actions{display:flex;gap:14px 22px;align-items:center;flex-wrap:wrap;margin-block:23px}.estimate-actions .button{gap:18px;white-space:normal;text-align:center}.estimate-actions .back-button{min-height:44px;text-align:left}
.estimate-consult{display:flex;align-items:center;justify-content:space-between;gap:18px 30px;flex-wrap:wrap;margin-top:28px;padding:22px 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.estimate-consult>div{flex:1 1 320px}.estimate-consult strong{display:block;font-size:1rem;color:var(--ink);margin-bottom:5px}.estimate-consult p{margin:0;color:var(--muted);line-height:1.6;font-size:.875rem}.estimate-consult .learning-link-inline{flex:0 1 auto;margin:0}
.estimate-notice,.estimate-error{padding:16px 18px;border-radius:9px;font-size:.875rem;line-height:1.75;background:var(--surface);border:1px solid var(--line);margin-block:18px;color:var(--muted)}.estimate-error{border-color:var(--accent-text);color:var(--ink);background:var(--accent-soft)}
.estimate-loading{padding:38px 24px;text-align:center;background:var(--surface);border-radius:12px;margin-bottom:28px}.estimate-loading p{margin:15px 0}.estimate-spinner{display:inline-block;width:27px;height:27px;border:2px solid var(--line);border-top-color:var(--accent-text);border-radius:50%;animation:estimate-spin 1s linear infinite}
@keyframes estimate-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.estimate-spinner{animation:none}}
[data-motion=paused] .estimate-spinner{animation:none}
.clarification-field{padding-block:20px;border-top:1px solid var(--line)}.clarification-field .estimate-small{margin-top:0}
.estimate-module{padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:16px}
.module-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}.module-topline>span{font-size:.75rem;color:var(--accent-text);font-weight:650;letter-spacing:.06em}.module-remove{min-height:44px;font-size:.8125rem;padding:8px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.module-remove:hover{color:var(--accent-text)}
.module-description{font-size:.875rem;line-height:1.75;color:var(--muted);margin:12px 0 18px}.estimate-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px}.estimate-field-grid.thirds{grid-template-columns:repeat(3,minmax(0,1fr))}.estimate-field-grid .estimate-small{margin-bottom:0}
.estimate-add{min-height:44px;padding:8px 0;color:var(--accent-text);font-size:.875rem;font-weight:600;margin-bottom:20px}.estimate-add:disabled{opacity:.5;cursor:not-allowed}
.estimate-assumptions{border-block:1px solid var(--line);padding-block:4px;margin:5px 0 26px}.estimate-assumptions h3{font-size:1rem;margin:19px 0 12px}.estimate-assumptions ul{padding-left:20px;display:grid;gap:9px;margin:0 0 22px;color:var(--muted);font-size:.875rem;line-height:1.7}
.hosting-details{padding-block:6px 18px;border-bottom:1px solid var(--line);margin-bottom:26px}.hosting-details summary{font:600 1.3rem var(--font-display);letter-spacing:-.03em;cursor:pointer;padding:12px 0;min-height:48px}.hosting-details>p{font-size:.875rem;color:var(--muted);line-height:1.75;margin:14px 0 24px}
.hosting-results{margin-top:25px}.hosting-results h3{font-size:1.125rem;margin:0 0 12px}.hosting-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hosting-card{border:1px solid var(--line);border-radius:12px;padding:21px}.hosting-card:has(input:checked){border-color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-text);background:var(--accent-soft)}
.hosting-card h4{font-size:1.0625rem;letter-spacing:-.02em;margin:0 0 12px}.hosting-card>a{font-size:.875rem;color:var(--accent-text);text-decoration:underline;text-underline-offset:4px;display:inline-block;padding-block:12px}.configured-hosting{padding-top:30px;margin-top:28px;border-top:1px solid var(--line)}.configured-hosting>div:not(.hosting-source-links){margin-block:22px}.configured-hosting summary{font-size:1.125rem;line-height:1.5;font-weight:600;padding-block:12px;cursor:pointer}
.hosting-choice{display:flex;gap:12px;align-items:start;font-weight:600;cursor:pointer;min-height:44px;line-height:1.5}.hosting-choice input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin-top:3px}.hosting-choice small{display:block;font-size:.8125rem;font-weight:400;color:var(--muted);margin-top:4px}
.hosting-specs{display:flex;flex-wrap:wrap;gap:8px 18px;margin:15px 0;font-size:.8125rem;color:var(--muted)}.hosting-budget{font-size:1.4rem;font-weight:600;letter-spacing:-.025em;margin:14px 0 4px}.hosting-budget span{font-size:.8125rem;font-weight:400;letter-spacing:0;color:var(--muted)}
.hosting-cost-line{font-size:.8125rem;line-height:1.7;color:var(--muted);margin:4px 0 10px}.hosting-source-links{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.8125rem;margin-top:10px}.hosting-source-links a{color:var(--accent-text);text-decoration:underline;text-underline-offset:4px;padding:9px 0;min-height:40px}
.estimate-confirm{padding:22px;background:var(--surface);border-radius:10px;color:var(--ink)}
.estimate-total{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;margin-block:26px}.estimate-total>p{font-size:.8125rem;letter-spacing:.04em;color:var(--muted);margin:0 0 14px}.estimate-total>strong{font:600 clamp(1.75rem,3.2vw,2.75rem)/1.25 var(--font-display);letter-spacing:-.05em;display:block}.estimate-total>span{display:block;color:var(--muted);font-size:.875rem;margin-top:15px;line-height:1.75}
.estimate-breakdown{width:100%;border-collapse:collapse;min-width:500px;font-size:.875rem}.estimate-breakdown caption{text-align:left;font-weight:600;padding:17px}.estimate-breakdown th,.estimate-breakdown td{text-align:left;padding:16px;border-top:1px solid var(--line);vertical-align:top}.estimate-breakdown thead{background:var(--surface)}.estimate-breakdown small{display:block;color:var(--muted);font-weight:400;margin-top:7px;line-height:1.6}.estimate-breakdown tfoot{font-weight:600}
.estimate-recurring{margin-block:28px}.estimate-recurring h3{font-size:1.125rem;margin-bottom:18px}.estimate-recurring dl{margin:0}.estimate-recurring dl>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.estimate-recurring dt{color:var(--muted);font-size:.875rem}.estimate-recurring dd{margin:0;text-align:right;font-size:.875rem;font-weight:600}.estimate-recurring .estimate-small{margin-bottom:12px}
.estimate-year{border-left:3px solid var(--accent);padding:20px 23px;background:var(--surface);margin-block:24px}.estimate-year p{font-size:.875rem;color:var(--muted);line-height:1.75;margin:0 0 8px}.estimate-year strong{font-size:1.5rem;font-weight:600;letter-spacing:-.03em}
.delivery-action{gap:18px;flex-wrap:wrap}
@media(max-width:1100px){.estimate-layout{grid-template-columns:minmax(0,1fr) 260px;gap:28px}.estimate-sidebar{padding:23px}.estimate-title-row{gap:28px}}
@media(max-width:900px){.estimate-layout{grid-template-columns:1fr}.estimate-sidebar{position:static;max-width:none}.estimate-title-row{grid-template-columns:1fr;gap:20px}.estimate-title-row>p{max-width:650px}.estimate-sidebar dl{max-width:440px}.estimate-sidebar .estimate-rate{float:right;margin-left:25px}}
@media(max-width:600px){.estimate-intro{padding-top:25px}.estimate-intro .breadcrumb{margin-bottom:25px}.estimate-progress{grid-template-columns:1fr 1fr;margin-bottom:26px}.estimate-progress li{padding-block:12px;font-size:.8125rem}.estimate-title-row h1{font-size:2.25rem}.estimate-layout{padding-bottom:50px}.estimate-field-grid,.estimate-field-grid.thirds{grid-template-columns:1fr;gap:20px}.module-days{grid-template-columns:1fr 1fr;gap:14px}.estimate-module{padding:17px}.estimate-field-meta{flex-direction:column;gap:5px}.estimate-actions{gap:12px 18px}.estimate-actions .button{width:100%;justify-content:space-between}.estimate-total{padding:22px}.estimate-recurring dl>div{grid-template-columns:1fr;gap:7px}.estimate-recurring dd{text-align:left}.estimate-sidebar .estimate-rate{float:none;margin-left:0}.estimate-check{font-size:.8125rem}.hosting-card{padding:18px}.estimate-confirm{padding:17px}}

@media(max-width:700px){.hosting-cards{grid-template-columns:1fr}}
