:root{--ink:#050914;--navy:#08182e;--blue:#259dff;--cyan:#58d7ff;--white:#f5f9ff;--muted:#9aabc2;--line:rgba(143,194,255,.15)}.quote-header{background:#050914;border-bottom:1px solid var(--line)}.quote-nav{height:88px;display:flex;align-items:center;justify-content:space-between}.quote-nav .brand{width:126px;height:78px}.quote-nav .brand img{width:126px;transform:translateY(-21px);mask-image:none;-webkit-mask-image:none}.back-link{font-size:.8rem;font-weight:800;color:#c9eaff}.quote-hero{position:relative;overflow:hidden;padding:7.5rem 0 5.5rem;background:radial-gradient(ellipse at 70% 25%,#0a4385 0%,#071932 40%,#050914 80%)}.quote-grid{position:absolute;inset:0;opacity:.55;background-image:linear-gradient(rgba(56,149,230,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(56,149,230,.12) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,black 25%,black 75%,transparent)}.quote-hero .container{position:relative;max-width:980px;text-align:center}.quote-hero .eyebrow{justify-content:center}.quote-hero h1{font-size:clamp(2.9rem,6vw,5.5rem);margin:0}.quote-hero p:not(.eyebrow){max-width:680px;margin:1.5rem auto;color:#d4e0ef}.quote-points{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;font-size:.78rem;font-weight:800;color:#bce8ff}.quote-section{padding:6rem 0;background:#07101d}.quote-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:4rem;align-items:start}.quote-aside{position:sticky;top:2rem}.quote-aside h2{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.1;margin:.5rem 0 2rem}.quote-aside h2 em{font-style:normal;color:var(--cyan)}.quote-aside ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.quote-aside li{display:flex;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.quote-aside li b,.form-heading>span{font:500 .72rem var(--mono);color:var(--cyan)}.quote-aside li strong{display:block;font-size:.85rem}.quote-aside li span{color:var(--muted);font-size:.78rem;line-height:1.55}.aside-contact{margin-top:2rem;padding:1.25rem;border:1px solid var(--line);background:rgba(9,32,59,.7)}.aside-contact small,.aside-contact a{display:block}.aside-contact small{color:var(--cyan);font:500 .62rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.aside-contact a{font-size:.8rem;font-weight:800;margin-top:.25rem}.quote-form{padding:clamp(1.4rem,3.5vw,2.5rem);border:1px solid var(--line);background:linear-gradient(150deg,rgba(12,32,58,.94),rgba(6,15,29,.94))}.form-heading{display:flex;gap:1rem;align-items:start;margin:0 0 1.5rem;padding-top:2.5rem;border-top:1px solid var(--line)}.form-heading:first-of-type{padding-top:0;border-top:0}.form-heading>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid rgba(88,215,255,.45)}.form-heading h2{margin:0;font-size:1.15rem}.form-heading p{margin:.15rem 0 0;color:var(--muted);font-size:.78rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;margin-bottom:2.5rem}.quote-form label{font-size:.75rem}.quote-form label small{color:var(--muted);font-weight:400}.quote-form input,.quote-form textarea{border:1px solid rgba(147,188,224,.25);padding:.75rem;margin-top:.45rem;background:rgba(2,10,21,.45)}.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:0 0 1.5rem;padding:0;border:0}.reason-grid legend{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%)}.reason-grid label,.consent{display:flex;align-items:center;gap:.7rem;padding:.75rem .8rem!important;border:1px solid var(--line);background:rgba(5,15,29,.45);cursor:pointer}.reason-grid input,.consent input{width:16px!important;height:16px;margin:0!important;accent-color:var(--blue)}.wide-label{margin-bottom:2.5rem}.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:2.5rem}.upload{position:relative;min-height:165px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem!important;border:1px dashed rgba(88,215,255,.45);background:rgba(5,18,35,.55);cursor:pointer;transition:.2s}.upload:hover,.upload:focus-within{border-color:var(--cyan);background:rgba(15,63,107,.4)}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-icon{color:var(--cyan);font-size:1.45rem}.upload strong{margin-top:.5rem;font-size:.78rem}.upload small{max-width:150px;margin-top:.2rem;color:var(--muted);font-size:.65rem;line-height:1.35}.consent{align-items:flex-start;margin:0 0 1.25rem;color:#cddded;font-weight:400!important;line-height:1.5}.quote-submit{border-radius:3px}.quote-status{min-height:1.5em;margin:1rem 0 0;color:#88efc1;font-size:.8rem}.quote-submit:disabled{cursor:wait;opacity:.65}@media(max-width:800px){.quote-nav{height:74px}.quote-nav .brand{width:126px;height:68px}.quote-nav .brand img{width:126px;transform:translateY(-21px)}.quote-hero{padding:5rem 0 4rem}.quote-layout{grid-template-columns:1fr}.quote-aside{position:static}.form-grid,.reason-grid{grid-template-columns:1fr}.upload-grid{grid-template-columns:1fr}.upload{min-height:130px}.quote-points{gap:.7rem 1.2rem}.quote-section{padding:4rem 0}}@media(max-width:520px){.quote-nav .brand{width:105px;height:68px}.quote-nav .brand img{width:105px;transform:translateY(-17px)}.back-link{font-size:.72rem}}
/* On mobile, keep the form ahead of the alternative direct-contact options. */
@media(max-width:800px){.quote-layout{display:flex;flex-direction:column;gap:0}.quote-aside{display:contents}.quote-form{order:1;margin-top:4rem}.quote-aside>.aside-contact{order:2;margin-top:4rem}}

/* Give the quote introduction room to stay on one line on wider screens. */
@media(min-width:1100px){.quote-hero .container{max-width:1180px}.quote-hero p:not(.eyebrow){max-width:1080px}}

/* Keep a successful submission at the top and show only its confirmation. */
.quote-success-page{position:relative;display:grid;min-height:calc(100vh - 88px);overflow:hidden;padding:clamp(4rem,10vw,8rem) 1.5rem;place-items:center;background:radial-gradient(ellipse at 70% 25%,#0a4385 0%,#071932 42%,#050914 82%)}
.quote-success-page::before{content:"";position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(56,149,230,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(56,149,230,.12) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,black 25%,black 75%,transparent)}
.quote-confirmation{position:relative;z-index:1;width:min(100%,640px);padding:clamp(2rem,5vw,4rem);border:1px solid rgba(123,192,255,.2);background:rgba(6,17,34,.84);box-shadow:0 22px 60px rgba(0,0,0,.25);text-align:center;outline:none}
.quote-confirmation-icon{display:grid;width:58px;height:58px;margin:0 auto 1.4rem;place-items:center;border:1px solid rgba(88,215,255,.62);border-radius:50%;background:rgba(37,157,255,.12);box-shadow:0 0 32px rgba(37,157,255,.15);color:var(--cyan);font-size:1.5rem;font-weight:800}
.quote-confirmation-label{margin:0 0 .7rem;color:var(--cyan);font:500 .68rem var(--mono);letter-spacing:.14em;text-transform:uppercase}
.quote-confirmation h2{margin:0;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.08}
.quote-confirmation-message{max-width:500px;margin:1.2rem auto 0;color:#c9d9ea;font-size:clamp(.95rem,1.6vw,1.08rem);line-height:1.7}
@media(max-width:800px){.quote-success-page{min-height:calc(100vh - 74px);padding:3rem 1rem}.quote-confirmation{padding:2.25rem 1.25rem}}

/* One quote address, with an intake that follows the selected service. */
.quote-form [hidden]{display:none!important}
.quote-form,.quote-service-grid{scroll-margin-top:110px}
.quote-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.quote-conditional{min-width:0;margin:0;padding:0;border:0}
.quote-form>.quote-type-heading{padding-top:0;border-top:0}
.quote-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;min-width:0;margin:0;padding:0;border:0}
.quote-service-option{display:flex!important;align-items:flex-start;gap:.7rem;min-width:0;min-height:84px;margin:0;padding:.9rem!important;border:1px solid #607d98;background:rgba(5,15,29,.5);cursor:pointer}
.quote-service-option input{flex:0 0 17px;width:17px!important;height:17px;margin:.2rem 0 0!important;padding:0;accent-color:var(--cyan)}
.quote-service-option>span{min-width:0;line-height:1.5}
.quote-service-option strong{display:block;color:#e4effb;font-size:.78rem}
.quote-service-option small{display:block;margin-top:.2rem;font-size:.68rem;line-height:1.6;color:#aebfd2!important}
.quote-service-option:has(input:checked){border-color:var(--cyan);background:rgba(27,89,137,.28)}
.quote-service-option:hover{border-color:var(--cyan)}
.quote-service-option:focus-within{outline:2px solid var(--cyan);outline-offset:3px}
.quote-service-help{min-height:3.2em;margin:.9rem 0 2rem;color:#b3c4d8;font-size:.72rem;line-height:1.6}
.quote-service-grid:disabled .quote-service-option{cursor:wait;opacity:.7}
.quote-photo-help{margin:0 0 1rem;color:#b3c4d8;font-size:.78rem;line-height:1.7}
.quote-optional-upload{grid-template-columns:1fr}
.quote-optional-upload .upload{min-height:150px}
.quote-optional-upload{margin-bottom:.85rem}
.quote-photo-previews{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem;margin-top:1rem;max-width:100%}
.quote-optional-upload .quote-photo-previews .upload-preview{position:static;flex:0 0 58px;width:58px;height:58px}
.quote-photo-limits,.quote-photo-selection{color:#b3c4d8;font-size:.7rem;line-height:1.7}
.quote-photo-limits{margin:0 0 .5rem}
.quote-photo-selection{margin:0 0 2rem;color:#d4e6f5}
.quote-clear-photos{display:inline-flex;align-items:center;min-height:44px;margin:-1rem 0 2rem;padding:.6rem .8rem;border:1px solid #607d98;border-radius:3px;background:transparent;color:#d4e6f5;font:600 .75rem var(--sans);cursor:pointer}
.quote-clear-photos:hover{border-color:var(--cyan);color:var(--cyan)}
.quote-clear-photos:disabled{cursor:wait;opacity:.6}
.quote-privacy-note{margin:0 0 1.5rem;color:#b3c4d8;font-size:.7rem;line-height:1.7}
.quote-privacy-note a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.quote-form :is(input,textarea,button,a):focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
@media(max-width:520px){.quote-service-grid{grid-template-columns:1fr}.quote-service-option{min-height:0;padding:.8rem!important}.quote-service-option strong{font-size:.82rem}.quote-service-option small{font-size:.72rem}.quote-service-help{min-height:0}.quote-form .form-heading{gap:.7rem}.quote-form .form-heading h2{font-size:1.05rem}}
