:root{--ink:#142d4a;--blue:#075a9c;--gold:#f4cf50;--paper:#f1f7fd;--muted:#3e5269}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:18px/1.7 Arial,Helvetica,sans-serif;background:white}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0586c4;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Arial,Helvetica,sans-serif}h1,h2{letter-spacing:-.035em;line-height:1.12;font-weight:700}h1{font-size:clamp(48px,5.2vw,76px)}h2{font-size:clamp(34px,4vw,58px)}h3{line-height:1.3;font-size:21px;letter-spacing:-.025em}em{font-style:normal;color:var(--blue)}.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:20}.skip:focus{top:0}.topline{display:flex;justify-content:space-between;background:var(--ink);color:white;padding:10px 5%;font-size:14px;letter-spacing:.06em}header{display:flex;align-items:center;justify-content:space-between;padding:12px 5%;background:#fff;position:relative;z-index:10;border-bottom:1px solid #e5e9e8}.brand{display:flex;align-items:center}.brand img{object-fit:contain;width:162px;height:70px}nav{display:flex;align-items:center;gap:34px;font-size:16px;font-weight:500}nav>a:hover,.textlink:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--gold);padding:17px 23px;color:var(--ink);border:0;font-weight:700;font-size:16px;cursor:pointer;border-radius:4px;transition:transform .2s,background .2s}.btn:hover{background:#e9b929;transform:translateY(-2px)}.btn span{font-size:20px;line-height:1}.btn.small{padding:12px 19px}.btn.dark{background:var(--ink);color:white}.menu{display:none;background:none;border:0;font-size:25px;color:var(--ink)}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:70px 8% 36px 10%;background:var(--paper)}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.1em;margin-bottom:25px}.intro{max-width:450px;font-size:18px;line-height:1.7;margin:28px 0;color:var(--muted)}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.textlink{font-size:16px;font-weight:700;border-bottom:1px solid #a8bec6;padding:7px 0}.hero-foot{display:flex;gap:23px;align-items:center;border-top:1px solid #d6deda;margin-top:65px;padding-top:24px;font-size:13px;letter-spacing:.08em}.hero-foot b{color:var(--blue);font-size:16px}.hero-photo{position:relative;overflow:hidden;min-height:580px;background:#ddd}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 68%}.hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#071e2bbd)}.photo-tag{position:absolute;z-index:1;top:26px;right:26px;padding:10px 16px;font-size:14px;background:white;display:flex;gap:30px;border-radius:3px}.photo-note{position:absolute;z-index:1;bottom:37px;left:38px;right:35px;display:flex;justify-content:space-between;align-items:end;color:white}.photo-note>span{font-size:13px;letter-spacing:.1em}.photo-note strong{font:500 42px/1.05 Arial,Helvetica;letter-spacing:-.04em}.section{padding:90px 6%;max-width:1500px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.section-heading>p{max-width:345px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dce3e4}.service{position:relative;border-right:1px solid #dce3e4;padding:30px 23px 25px;display:flex;flex-direction:column;transition:background .2s}.service:first-child{border-left:1px solid #dce3e4}.service:hover{background:var(--paper)}.service-num{font-size:14px;color:var(--muted)}.icon{font-size:34px;color:var(--blue);margin:18px 0}.service h3{min-height:55px}.service p{font-size:16px;color:var(--muted);margin:16px 0 28px}.service-link{font-size:15px;font-weight:700;margin-top:auto}.approach{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid #e2e6e5}.approach>div>p:not(.eyebrow){max-width:390px;color:var(--muted);margin:25px 0}.approach ol{list-style:none;padding:0;margin:0}.approach li{display:flex;gap:25px;border-bottom:1px solid #dce3e4;padding:24px 0}.approach li:first-child{padding-top:0}.approach li>span{font-size:15px;color:var(--blue);padding-top:5px}.approach li p{font-size:16px;margin-top:9px;color:var(--muted)}.property-section{display:grid;grid-template-columns:1fr 1fr;background:var(--gold)}.property-copy{padding:65px 12%}.property-copy p:not(.eyebrow){margin:24px 0;max-width:440px}.property-copy .micro{font-size:15px;margin:18px 0 0}.property-section>img{width:100%;height:100%;min-height:570px;object-fit:cover}.gallery{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:22px}.gallery figure{margin:0}.gallery img{width:100%;height:330px;object-fit:cover;object-position:center 67%;border-radius:3px}.gallery figcaption{display:flex;justify-content:space-between;font-size:15px;padding-top:14px}.gallery figcaption span:last-child{color:var(--muted)}.faq{border-top:1px solid #dce3e4;display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.questions details{border-bottom:1px solid #dce3e4}.questions summary{padding:22px 30px 22px 0;cursor:pointer;font-weight:600;list-style:none;position:relative}.questions summary:after{content:'+';position:absolute;right:0;font-size:23px;color:var(--blue);top:16px}.questions details[open] summary:after{content:'−'}.questions details p{padding:0 25px 22px 0;color:var(--muted);font-size:16px}.contact{background:var(--paper);max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact>div>p:not(.eyebrow){margin:25px 0;color:var(--muted);max-width:390px}.phone{font-size:clamp(21px,2.1vw,30px);font-weight:600;display:block;margin-top:30px;letter-spacing:-.03em}.email{display:block;font-size:16px;margin-top:8px;text-decoration:underline}.local{display:block;font-size:13px;letter-spacing:.12em;margin-top:35px}form{padding:32px;background:white;border:1px solid #dde5e5;border-radius:6px}form>p{font-size:15px;color:var(--muted);margin:8px 0 23px}label{display:flex;flex-direction:column;font-size:15px;font-weight:600;gap:7px;margin-bottom:18px}input,textarea,select{border:1px solid #cbd5d7;border-radius:3px;padding:12px;background:#fff;color:var(--ink);width:100%;font-size:16px;min-width:0}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form .btn{width:100%}form .form-help{font-size:14px;line-height:1.6;margin:14px 0 0}#text-fallback{margin-top:20px;border-top:1px solid #ddd;padding-top:15px;font-size:15px}#text-fallback textarea{margin:12px 0}#text-fallback .actions{gap:15px}.copy-btn{border:1px solid var(--ink);padding:8px 12px;background:white;border-radius:3px;cursor:pointer}footer{background:var(--ink);color:white;padding:45px 6% 22px;display:flex;gap:30px;align-items:center;flex-wrap:wrap}footer>img{object-fit:contain;background:#fff;padding:6px;border-radius:4px}footer>div:not(.footer-bottom){flex:1}footer strong{font-size:18px;font-weight:500}footer p{font-size:15px;color:#c1cdd1;margin-top:8px}footer>a{color:var(--gold)}.footer-bottom{display:flex;gap:25px;justify-content:space-between;width:100%;border-top:1px solid #45606c;padding-top:22px;margin-top:25px;font-size:14px;color:#c1cdd1}footer details{width:100%;font-size:14px}footer summary{cursor:pointer}footer details p{max-width:800px}.mobile-contact{display:none}section{scroll-margin-top:20px}
@media(min-width:1600px){.hero-copy{padding-left:max(70px,calc((100vw - 1320px)/2))}}@media(max-width:1000px){nav{gap:19px}.hero-copy{padding:55px 7%}.hero{min-height:580px}.hero-photo{min-height:580px}.actions{gap:15px}.service-grid{grid-template-columns:repeat(2,1fr)}.service{border-bottom:1px solid #dce3e4}.service:nth-child(3){border-left:1px solid #dce3e4}.approach{gap:45px}.property-copy{padding:55px 9%}.contact{gap:5%}.section{padding:65px 5%}.gallery img{height:270px}}
@media(max-width:680px){.topline{padding:8px 5%;font-size:13px}.topline span:last-child{display:none}header{padding:8px 5%}.brand img{width:133px;height:60px}.menu{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:25px 6%;box-shadow:0 12px 18px #102b3912;align-items:start}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 30px}.hero h1{font-size:60px}.eyebrow{margin-bottom:20px}.intro{font-size:16px;margin:23px 0}.hero-foot{margin-top:35px}.hero-photo{min-height:380px}.hero-photo>img{object-position:center 65%}.photo-note{bottom:24px;left:24px}.photo-note strong{font-size:34px}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px}h2{font-size:39px}.service-grid{grid-template-columns:1fr}.service{padding:25px 20px;border-left:1px solid #dce3e4}.icon{margin:10px 0}.service h3{min-height:0}.service p{margin:12px 0 18px}.approach{grid-template-columns:1fr;gap:30px}.property-section{grid-template-columns:1fr}.property-copy{padding:50px 6%}.property-section>img{min-height:0;height:320px}.gallery{grid-template-columns:1fr;gap:30px}.gallery img{height:340px}.gallery figure:last-child img{height:270px}.faq{grid-template-columns:1fr;gap:20px}.questions summary{font-size:15px}.contact{grid-template-columns:1fr;gap:35px}form{padding:24px 20px}.form-row{grid-template-columns:1fr;gap:0}.phone{font-size:27px}footer{padding:35px 6% 95px;align-items:start}footer>div:not(.footer-bottom){flex-basis:calc(100% - 180px)}footer strong{font-size:15px}.footer-bottom{flex-wrap:wrap;gap:12px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;background:var(--ink);padding:10px 14px;gap:10px;border-top:1px solid #ffffff22}.mobile-contact a{text-align:center;padding:10px;background:var(--gold);font-size:16px;font-weight:700;border-radius:3px}.mobile-contact a:last-child{color:white;background:#21485b}.photo-tag{right:18px;top:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
[hidden]{display:none!important}.quote-section{background:#eaf4ff;max-width:none}.quote-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:7%;align-items:start}.quote-aside{padding:15px 0}.quote-aside>p{color:var(--muted);font-size:15px;margin-top:20px;max-width:350px}.quote-aside ul{padding-left:20px;font-size:16px;line-height:2.2;margin:24px 0}.quote-note{padding:22px;background:white;border-left:3px solid var(--gold);margin:25px 0}.quote-note p{font-size:15px;color:var(--muted);margin-top:8px}.quote-aside .micro{font-size:15px}.quote-wizard{padding:35px}.wizard-top{display:flex;justify-content:space-between;gap:15px;font-size:13px;letter-spacing:.12em;font-weight:700}.wizard-top>span:first-child{color:var(--blue)}.progress-track{height:4px;background:#e5ecee;margin:18px 0 28px;border-radius:5px;overflow:hidden}#progress-fill{height:100%;background:var(--blue);width:25%;transition:width .2s}.quote-step>p{font-size:16px;color:var(--muted);margin:10px 0 25px}.quote-step h3:focus{outline:none}.wizard-buttons{display:flex;justify-content:space-between;gap:15px;margin-top:24px}.wizard-buttons .btn{width:auto;min-width:180px;margin-left:auto}.wizard-error{background:#fff2ee;padding:12px;color:#9b2819;font-size:15px;border-left:3px solid #c74a32}.request-review{background:#f0f6fc;padding:18px;margin:24px 0}.request-review strong{font-size:16px}.request-review dl{display:grid;grid-template-columns:1fr 1.4fr;font-size:15px;gap:8px 16px}.request-review dt{color:var(--muted)}.request-review dd{margin:0;overflow-wrap:anywhere}.quote-wizard #text-fallback p{font-size:16px;color:var(--muted);margin-top:12px}.quote-wizard #text-fallback .btn{width:auto}.direct-contact{padding:32px;background:white;border:1px solid #dde5e5}.direct-contact p{margin:15px 0;font-size:16px;color:var(--muted)}@media(max-width:680px){.quote-layout{grid-template-columns:1fr;gap:24px}.quote-aside{padding:0}.quote-aside ul{margin:15px 0}.quote-note{margin:18px 0}.quote-wizard{padding:25px 20px}.wizard-top{font-size:13px}.request-review dl{grid-template-columns:1fr;gap:4px}.request-review dd{margin-bottom:7px}.wizard-buttons .btn{min-width:0}.quote-wizard #text-fallback .actions{align-items:start;flex-direction:column}}

/* Nova brand palette: sky blue, gold, crisp white, high-contrast text. */
.topline{background:var(--blue);font-weight:600}
header{border-bottom:3px solid var(--gold)}
.brand img{width:180px;height:78px}
nav{gap:26px;font-weight:600}
.btn{font-size:16px;line-height:1.4;border-radius:6px;min-height:48px}
.btn:hover{background:#e5ba30}
.btn.dark{background:var(--blue);color:#fff}
.btn.dark:hover{background:#084b7e}
.hero-copy{background:linear-gradient(135deg,#fff 0%,#edf6ff 100%)}
.intro{font-size:20px;color:var(--muted)}
.eyebrow{color:var(--blue);font-size:14px}
.service:hover{background:#edf6ff}
.service h3{font-weight:700}
.service p,.approach li p,.questions details p{font-size:17px}
.property-section{background:#edf6ff;border-top:5px solid var(--gold);border-bottom:1px solid #cbdff1}
.property-copy .btn{background:var(--blue);color:white}
.property-copy .btn:hover{background:#084b7e}
.quote-note{border-left:4px solid var(--gold)}
.quote-aside>p,.quote-aside ul,.quote-step>p{font-size:17px}
label{font-size:16px;line-height:1.5;font-weight:700}
input,select,textarea{font-size:17px;line-height:1.5;border-color:#8da4bb;padding:13px;min-height:48px}
input::placeholder,textarea::placeholder{color:#56677b;opacity:1}
.quote-wizard{border-color:#b7cfe6;box-shadow:0 8px 28px #123e6b0b}
.wizard-top{font-size:13px;letter-spacing:.04em}
.request-review dl{font-size:16px;line-height:1.6}
.contact{background:#f3f8fe}
footer{background:#142d4a}
footer p,.footer-bottom{color:#e0eaf4}
footer strong{font-weight:700}
.mobile-contact{background:#142d4a}
.mobile-contact a:last-child{background:var(--blue)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--blue)}
@media(max-width:1000px){nav{gap:18px;font-size:15px}.brand img{width:155px;height:70px}}
@media(max-width:680px){.brand img{width:150px;height:66px}nav{top:85px}.hero h1{font-size:clamp(43px,11.5vw,60px)}.intro{font-size:18px}h2{font-size:36px;line-height:1.16}.topline{font-size:13px}.hero-foot{gap:14px;flex-wrap:wrap;font-size:13px;letter-spacing:.03em}.photo-note>span{max-width:45%;font-size:12px}.gallery figcaption{gap:12px;flex-wrap:wrap}.email{overflow-wrap:anywhere}.wizard-top{font-size:12px}.wizard-buttons{gap:10px}.wizard-buttons .btn{padding:14px 16px}.request-review dl{font-size:16px}footer>div:not(.footer-bottom){flex-basis:100%}.mobile-contact a{font-size:16px}.form-help{font-size:15px!important}}

.estimate-result{background:#edf6ff;border:2px solid var(--blue);border-radius:8px;padding:24px;margin:20px 0 30px}.estimate-result>strong{font-size:20px}.estimate-price{font-size:44px;line-height:1.2;font-weight:700;color:var(--blue);margin:12px 0}.estimate-result>p{margin:12px 0;font-size:16px}.estimate-result ul{font-size:16px;padding-left:22px;line-height:1.7}.estimate-result .form-help{font-size:15px;color:var(--muted)}@media(max-width:680px){.estimate-result{padding:18px}.estimate-price{font-size:36px}}

/* Service photography */
.service-grid{gap:22px;border:0;align-items:stretch}
.service,.service:first-child,.service:nth-child(3){padding:0 0 24px;border:1px solid #d6e2ee;border-radius:8px;overflow:hidden;background:#fff}
.service-photo{display:block;width:100%;height:210px;object-fit:cover;object-position:center 65%;margin-bottom:24px}
.service h3,.service p,.service-link{margin-left:20px;margin-right:20px}
.service h3{min-height:55px}.service p{margin-top:16px;margin-bottom:28px}
.service-link{display:block}.service:hover{background:#f3f8fe}
@media(max-width:1000px){.service-photo{height:250px}}
@media(max-width:680px){.service-grid{gap:24px}.service-photo{height:auto;aspect-ratio:4/3}.service h3{min-height:0}.service p{margin-top:12px;margin-bottom:22px}}

.hero h1.estimate-hook{font-size:clamp(36px,3.5vw,54px);line-height:1.13;letter-spacing:-.035em}.estimate-hook em{display:block;margin-top:16px}.hero-eligibility{font-size:15px;line-height:1.6;color:var(--muted);max-width:450px;margin:-10px 0 28px}@media(max-width:680px){.hero h1.estimate-hook{font-size:clamp(34px,8.5vw,44px)}.hero-eligibility{font-size:14px}}

.language-toggle{border:1px solid #075a9c;border-radius:6px;color:#075a9c;background:white;font:700 15px Arial,sans-serif;padding:10px 14px;cursor:pointer;margin-left:18px;flex-shrink:0}.language-toggle:hover{background:#eef6fc}.language-toggle:focus-visible{outline:3px solid #f6d34d;outline-offset:3px}header nav{margin-left:auto}@media(max-width:1000px) and (min-width:681px){header{padding-left:3%;padding-right:3%}header nav{gap:15px}.language-toggle{margin-left:12px;padding:10px}}@media(max-width:680px){.language-toggle{margin-left:auto;margin-right:16px;padding:10px 12px;font-size:14px}header .brand img{max-width:150px;height:auto}}

/* A full 3D turn, with a readable pause between rotations. */
header .brand{perspective:700px}
header .brand img{animation:nova-logo-turn 9s ease-in-out infinite;transform-origin:center;will-change:transform}
@keyframes nova-logo-turn{0%,60%{transform:rotateY(0deg)}100%{transform:rotateY(360deg)}}
header .brand:hover img,header .brand:focus-visible img{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){header .brand img{animation:none;will-change:auto}}

.service-video{display:block;width:100%;height:210px;object-fit:contain;background:#142d4a}.service a.service-link{display:inline-block}@media(max-width:680px){.service-video{height:auto;aspect-ratio:512 / 910;max-height:560px;object-fit:contain}}
