:root{--blue:#008dc7;--bright:#52c4f3;--ink:#102b3d;--gray:#5b6871;--navy:#051827;--line:#cbd3d8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#06121e;color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif}.site-shell{max-width:1440px;margin:auto;background:#fff}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #e49e32;outline-offset:5px}a:hover{color:var(--blue)}header{display:flex;align-items:center;justify-content:space-between;min-height:168px;padding:0 6%;background:linear-gradient(120deg,#d1d4d5,#f1f1f1 65%,#c4c8ca);border-bottom:4px solid #008ec4}.logo{display:block;width:164px;height:164px;overflow:hidden}.logo img{display:block;width:164px;height:168px;object-fit:cover}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:20px}.phone{text-decoration:none;letter-spacing:2px;font-size:25px;color:#065378}nav{display:flex;gap:38px}nav a{font-size:15px;text-transform:uppercase;letter-spacing:1px;font-weight:bold;text-decoration:none}.hero{position:relative;min-height:610px;background:#061321 url('assets/lightning-clean.jpg') center 62%/cover no-repeat;color:white;isolation:isolate;display:flex;align-items:center;padding:64px 6% 100px}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,10,20,.92),rgba(1,10,20,.62) 35%,rgba(0,15,32,.02) 70%);z-index:-1}.hero-copy{max-width:650px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold;color:#007aaa;margin:0 0 16px}.hero .eyebrow{color:#9ddcfa;font-size:14px;letter-spacing:3px}h1,h2,h3,p{margin-top:0}h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:400;font-size:clamp(56px,6.7vw,98px);letter-spacing:1px;line-height:1.03;margin-bottom:24px}h1 span{color:var(--bright)}.hero-sub{font-size:22px;line-height:1.4;color:#e4eef5;margin-bottom:28px}.button{display:inline-block;text-decoration:none;background:#007cb2;padding:12px 35px;color:#fff;border:1px solid #56bce4;font-size:16px;font-weight:bold}.button:hover{background:#0098d3;color:white}.hero-foot{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:20px;padding:19px 6%;background:rgba(0,10,22,.8);border-top:1px solid #2c4e66;font-size:12px;letter-spacing:1.5px;color:#b4c9d8}.hero-foot a{letter-spacing:.3px;text-decoration:none}.section{padding:65px 6%}h2{font-size:36px;line-height:1.18;letter-spacing:-1px;font-weight:500;margin-bottom:18px}.intro{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;align-items:start}.intro p{margin-bottom:15px}.muted{color:var(--gray);font-size:16px}.learn{font-size:15px}.learn summary{color:#00739d;font-weight:bold;cursor:pointer}.learn p{margin:16px 0;color:var(--gray)}.learn a{font-size:14px}.next{background:#edf1f3;border-top:1px solid #d4dce2;border-bottom:1px solid #d4dce2}.section-title{margin-bottom:38px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps article{position:relative;border-top:2px solid #0088bd;padding-top:22px;padding-left:56px}.number{position:absolute;left:0;top:18px;color:#0079ad;font-size:27px;font-weight:400}.steps h3{font-size:23px;line-height:1.25;margin-bottom:15px;font-weight:500}.steps p{font-size:16px;color:var(--gray);max-width:260px;margin:0}.questions{display:grid;grid-template-columns:1fr 1.3fr;gap:10%}.answers details{border-top:1px solid var(--line);padding:17px 0}.answers details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:16px;font-weight:500}.answers p{font-size:16px;color:var(--gray);margin:16px 0 0}.contact{background:linear-gradient(110deg,#061421,#0a2f49);color:white;display:grid;grid-template-columns:1fr 1.3fr;gap:10%;align-items:center;border-top:4px solid #007bac}.contact .eyebrow{color:var(--bright)}.contact h2{margin:0;font-size:39px}.contact-links a{display:block;text-decoration:none}.call{font-size:38px;letter-spacing:1px;color:#fff}.email{font-size:19px;color:#84d3f5}.contact-links p{font-size:13px;color:#b2c3ce;margin:19px 0 0}footer{display:flex;gap:25px;justify-content:space-between;background:#020e18;color:#a8b7c0;padding:25px 6%;font-size:12px}.skip{position:absolute;top:-100px;left:15px;background:white;z-index:5;padding:12px}.skip:focus{top:10px}@media(max-width:800px){header{min-height:130px}.logo{width:130px;height:130px}.logo img{width:130px;height:134px}nav{gap:22px}nav a{font-size:12px}.phone{font-size:22px}.hero{min-height:540px;background-position:58% 62%}.steps{gap:25px}.steps article{padding-left:0}.number{position:static;display:block;margin-bottom:15px}.intro,.questions,.contact{gap:7%}h2{font-size:30px}.call{font-size:30px}.email{font-size:16px}}@media(max-width:560px){header{padding:0 5%;min-height:115px}.logo{width:106px;height:109px}.logo img{width:106px;height:109px}.header-right{gap:18px}.phone{font-size:20px;letter-spacing:1px}nav{gap:15px}nav a{font-size:10px;letter-spacing:.3px}.hero{min-height:525px;padding:48px 6% 84px;background-size:auto 760px;background-position:54% 67%}.hero:before{background:linear-gradient(90deg,rgba(1,10,20,.87),rgba(1,10,20,.28))}h1{font-size:57px;letter-spacing:0}.hero .eyebrow{font-size:11px;letter-spacing:1.7px}.hero-sub{font-size:20px}.hero-foot{font-size:10px;letter-spacing:1px}.hero-foot a{display:flex;align-items:center;min-height:44px;font-size:12px}.hero-foot{flex-direction:column;align-items:flex-start;gap:2px;padding:12px 6%}.hero{padding-bottom:130px}.section{padding:44px 7%}.intro,.questions,.contact{grid-template-columns:1fr;gap:18px}.intro h2 br{display:none}h2{font-size:31px}.eyebrow{font-size:10px;letter-spacing:1.5px}.steps{grid-template-columns:1fr;gap:27px}.steps article{padding:20px 0 0 54px}.number{position:absolute;top:17px}.steps h3 br{display:none}.steps h3{font-size:21px;margin-bottom:8px}.steps p{max-width:none}.section-title{margin-bottom:25px}.contact h2{font-size:34px}.call{font-size:34px}.email{font-size:17px;overflow-wrap:anywhere}footer{flex-direction:column;gap:5px;padding:24px 7%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

footer{align-items:flex-start}.footer-brand{display:flex;flex-direction:column;gap:14px}.footer-logos{display:flex;align-items:center;gap:20px;width:fit-content;padding:0;background:transparent}.footer-logos img{display:block;object-fit:contain;height:36px}.nfpa-logo{width:32px;filter:brightness(0) invert(1)}.ul-logo{width:72px;filter:invert(1);mix-blend-mode:screen}@media(max-width:560px){.footer-brand{margin-bottom:12px}}

.logo img{object-fit:contain;background:transparent}

.footer-copyright{display:flex;flex-direction:column;gap:8px}

@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url('assets/montserrat-700.ttf') format('truetype')}
h1{font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:clamp(38px,5.2vw,74px);letter-spacing:0;line-height:1.15}@media(max-width:560px){h1{font-size:clamp(24px,8.2vw,43px)}}

@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url('assets/montserrat-500.ttf') format('truetype')}
body,button,input,select,textarea{font-family:Montserrat,Arial,sans-serif;font-weight:500}
h2,h3,nav a,.eyebrow,.button,.learn summary,.number,summary{font-weight:500}

#about .eyebrow,#next .eyebrow,#next h2,#questions .eyebrow,#contact .eyebrow,#contact h2{font-weight:700}

.footer-address{display:flex;flex-direction:column;gap:14px}.payment-logos{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.payment-logos img{display:block;width:auto;height:1em;object-fit:contain}@media(max-width:560px){.footer-address{margin-bottom:12px}}

#contact .email{font-weight:500;letter-spacing:.045em}

.contact-links .contact-form-link{display:inline-block;margin-top:24px}.inquiry{display:grid;grid-template-columns:1fr 1.3fr;gap:7%;background:#edf1f3;align-items:start}.inquiry h1{font-size:clamp(30px,3.5vw,48px);line-height:1.2;letter-spacing:-.8px}.inquiry .eyebrow{font-weight:700}.inquiry-intro>p:not(.eyebrow){color:var(--gray);max-width:430px}.inquiry-contact{margin-top:32px}.inquiry-contact a{display:block;color:#006c96;text-decoration:none;overflow-wrap:anywhere;margin-bottom:8px}.inquiry-contact p{font-size:13px;color:var(--gray)}.inquiry-form{background:white;padding:32px;border-top:3px solid var(--blue)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field.full{grid-column:1/-1}.field label{display:block;font-size:15px;font-weight:500;margin-bottom:8px}.field input,.field textarea{width:100%;font:500 16px/1.5 Montserrat,Arial,sans-serif;color:var(--ink);border:1px solid #8e9faa;border-radius:0;padding:12px;background:#fff}.field input:focus,.field textarea:focus{outline:2px solid #007bac;outline-offset:2px}.field textarea{resize:vertical;min-height:150px}.field-help,.form-note{font-size:13px;color:var(--gray);line-height:1.6;margin:9px 0 0}.form-note{margin:22px 0}.inquiry-form button{cursor:pointer}.inquiry-form button:disabled{opacity:.65;cursor:not-allowed}@media(max-width:850px){.inquiry{grid-template-columns:1fr;gap:30px}.inquiry-intro>p{max-width:650px}}@media(max-width:560px){.inquiry-form{padding:24px 18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.inquiry h1{font-size:32px}.inquiry-form .button{width:100%}}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.thank-you{min-height:420px}.thank-you h1{font-size:clamp(30px,3.5vw,48px);line-height:1.2;max-width:850px}.thank-you p{max-width:650px}nav [aria-current=page]{color:#007bac}

header .phone{font-weight:700}



.contact-links .email-text{display:block}.inquiry-contact .email-text{display:block;color:#006c96;overflow-wrap:anywhere;margin-bottom:8px;font-size:inherit;letter-spacing:.045em}.email-text{cursor:text;user-select:text}

.phone-text{cursor:text;user-select:text}.contact-links .phone-text{display:block}.inquiry-contact .phone-text{display:block;color:#006c96;overflow-wrap:anywhere;margin-bottom:8px}

.about-page{background:#edf1f3;min-height:540px}.about-page-title{margin-bottom:38px}.about-page .eyebrow{font-weight:700}.about-page h1{font-size:clamp(34px,4vw,56px);margin-bottom:0}.about-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-bottom:38px}.about-values section{border-top:2px solid var(--blue);padding-top:24px}.about-values h2{font-size:24px;line-height:1.3;letter-spacing:0;font-weight:700}.about-values p{font-size:16px;color:var(--gray);margin-bottom:0}@media(max-width:800px){.about-values{grid-template-columns:1fr;gap:28px}.about-values section{padding-top:20px}.about-values p{max-width:640px}.about-page-title{margin-bottom:28px}}

.about-lead{max-width:850px;margin:24px 0 0;color:var(--gray);font-size:18px;line-height:1.7}@media(max-width:560px){.about-lead{font-size:16px}}

.property-types{border-top:1px solid var(--line);padding-top:30px;margin-bottom:30px}.property-types h2{font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:0;line-height:1.3}.property-types p{max-width:850px;color:var(--gray);margin-bottom:0}

.served-properties{border-top:1px solid var(--line);padding-top:30px}.served-properties h2{font-size:28px;font-weight:700;letter-spacing:0}.served-properties ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 36px;list-style:none;padding:0;margin:24px 0 0}.served-properties li{border-left:3px solid var(--blue);padding-left:14px;font-size:15px;font-weight:500;line-height:1.5}@media(max-width:800px){.served-properties ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.served-properties ul{grid-template-columns:1fr}.served-properties h2{font-size:24px}}

.project-page{background:#edf1f3;min-height:500px}.project-page h1{font-size:clamp(30px,4vw,56px);line-height:1.2;margin-bottom:18px}.project-intro{color:var(--gray);margin-bottom:34px}.project-gallery{border-top:2px solid var(--blue);padding-top:28px}.project-empty{color:var(--gray);font-size:16px;margin:0}.project-gallery:has(figure){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.project-gallery figure{margin:0}.project-gallery img{display:block;width:100%;height:auto}.project-gallery figcaption{padding-top:12px}@media(max-width:560px){.project-gallery:has(figure){grid-template-columns:1fr}}

.learning-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}

@media(max-width:560px){header{gap:12px}.header-right{min-width:0;flex:1}header nav{flex-wrap:wrap;justify-content:flex-end;column-gap:12px;row-gap:8px}}

/* Comfortable navigation and readable spacing on phones and tablets. */
@media(max-width:800px){
 header{display:grid;grid-template-columns:auto 1fr;gap:0 16px;padding:0 6% 12px}
 .header-right{display:contents}
 header .phone{justify-self:end;white-space:nowrap}
 header nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%}
 header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 2px;text-align:center;font-size:12px;letter-spacing:0}
 .intro>div,.questions>div,.contact>div,.inquiry>div,.inquiry-form,.field{min-width:0}
}
@media(max-width:560px){
 header nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px}
 header nav a{font-size:12px}
 .intro h2 br{display:block}
 .intro h2{line-height:1.3}
 .steps h3{line-height:1.4}
 .section p{line-height:1.7}
 .answers summary,.learn summary{min-height:44px;padding:8px 0;line-height:1.5}
 .answers details{padding:10px 0}
 .answers p+p{margin-top:18px}
 .learning-links{gap:12px}
 .learning-links a{padding:8px 0;line-height:1.6}
 .contact-links .email-text{margin-top:10px}
 footer{gap:18px}
 .footer-brand,.footer-address{margin-bottom:0}
 .button{min-height:48px}
}
