.stt-form{--stt-form-navy:#182a41;--stt-form-gold:#bfad81;--stt-form-light:#f5f5f0;display:grid;gap:1rem}
.stt-form :is(input,textarea,select,button){font:inherit}
.stt-form .stt-field{display:grid;gap:.3rem;min-width:0;font-size:.95rem;color:var(--stt-form-navy);font-weight:600}
.stt-field :is(input,textarea,select){width:100%;min-height:44px;box-sizing:border-box;border:1px solid #a5aeb6;border-radius:.5rem;padding:.65rem .8rem;background:#fff;color:#111827;font-weight:400}
.stt-field textarea{resize:vertical}
.stt-form-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.stt-form fieldset{min-width:0;margin:0}
.stt-leg{border:1px solid #d6d9de;background:#fafaf8;border-radius:.65rem;padding:1rem;margin-bottom:1rem!important}
.stt-leg legend,.stt-form legend{padding:0 .4rem;font-weight:700;color:var(--stt-form-navy)}
.stt-leg button{margin-top:.75rem}
.stt-form [data-stt-contact]{display:grid;gap:.9rem;border:1px solid #d6d9de;border-radius:.6rem;padding:1rem}
.stt-check{display:flex;align-items:center;min-height:44px;gap:.6rem;font-size:.95rem}
.stt-check input,.stt-region-options input{width:1.1rem;height:1.1rem;flex:none;accent-color:#182a41}
.stt-check a{color:#183e68;text-decoration:underline;text-underline-offset:.15rem}
.stt-quote-section{background:#f5f5f0;padding:clamp(2rem,6vw,5rem) 1rem}
.stt-quote-header{text-align:center;color:#182a41;max-width:34rem;margin:0 auto 1.7rem}
.stt-quote-header h2{font-size:clamp(1.65rem,5vw,2.5rem);font-weight:700}
.stt-quote-header p:first-child{color:#756137;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}
.stt-quote-card{max-width:48rem;margin:auto;background:white;box-shadow:0 12px 34px #182a4120;border-radius:1rem;padding:clamp(1rem,4vw,2rem)}
.stt-region-options label{display:inline-flex;align-items:center;gap:.45rem;margin:.25rem .3rem .25rem 0;min-height:44px;border-radius:2rem;background:#f5f5f0;padding:.35rem .75rem;font-size:.9rem}
.stt-region-options label:has(input:checked){background:#e8dfc9}
.stt-region-options [data-stt-guidance]{color:#465569;margin-top:.5rem}
.stt-form-primary,.stt-form-secondary,.stt-dialog-close{min-height:44px;border:1px solid transparent;border-radius:.5rem;padding:.65rem 1rem;font-weight:700;cursor:pointer}
.stt-form-primary{background:#182a41;color:#fff}
.stt-form-secondary{background:#f5f5f0;color:#182a41;border-color:#c4cbd1}
.stt-form :is(button:disabled,fieldset:disabled){cursor:default}
.stt-form button:disabled{color:#313b49;background:#e4e8eb}
.stt-preview-note{color:#3a4b5d;background:#f5f5f0;border-left:3px solid #bfad81;padding:.6rem .75rem;font-size:.9rem}
.stt-form-status:empty{display:none}
.stt-form-status{color:#182a41;background:#f5f5f0;padding:.65rem}
.stt-estimate{background:#182a41;color:#fff;border-radius:.65rem;padding:1rem}
.stt-estimate h3{font-size:1.45rem;font-weight:700}
.stt-estimate p{margin:.4rem 0}
.stt-estimate [data-stt-estimate-total]{font-size:1.8rem;font-weight:700;color:#ead6a8}
.stt-estimate .stt-image-placeholder{margin-top:.75rem}
.stt-dialog{margin:auto;width:min(36rem,calc(100% - 2rem));max-height:calc(100% - 2rem);background:#fff;color:#182a41;border:0;border-radius:.8rem;padding:0;box-shadow:0 18px 42px #0004}
.stt-dialog::backdrop{background:#182a4199}
.stt-dialog-header{padding:1rem;display:flex;justify-content:space-between;gap:.65rem;background:#182a41;color:#fff}
.stt-dialog-header h2{font-size:1.35rem;font-weight:700}
.stt-dialog-close{min-width:44px;background:#ffffff22;color:#fff;font-size:1.25rem;padding:.35rem}
.stt-dialog-body{padding:1rem}
.stt-form :is(input,select,textarea,button):focus-visible,.stt-dialog-close:focus-visible{outline:3px solid #1f73b8;outline-offset:3px}
.stt-form [hidden]{display:none!important}
@media(max-width:38rem){.stt-form-grid{grid-template-columns:minmax(0,1fr)}}

.stt-service-options{grid-column:1/-1;display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}
.stt-service-options legend{margin-bottom:.4rem}
.stt-service-options label{position:relative;display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;background:#f5f5f0;border:1px solid #c4cbd1;border-radius:.5rem;padding:.65rem;text-align:center;cursor:pointer;font-weight:700}
.stt-service-options label:has(input:checked){background:#182a41;color:#fff;border-color:#182a41}
.stt-service-options input{flex:none;width:1rem;height:1rem;accent-color:#756137}
