:root{--navy:#082e48;--blue:#047db3;--green:#629f2b;--muted:#596e7b;--line:#dce7ec;--paper:#f4f8fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:150px}body{margin:0;color:var(--navy);background:white;font:16px/1.75 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3{line-height:1.15;margin:0 0 22px;letter-spacing:-.035em}h1{font-size:clamp(38px,4.5vw,64px);font-weight:650}h2{font-size:clamp(28px,3vw,40px);font-weight:600}h3{font-size:21px;font-weight:650}p{margin:0 0 20px}.content-wrap,.header-inner{width:min(1180px,90%);margin:auto}header{position:sticky;top:0;z-index:20;background:#fffffffa;border-bottom:1px solid var(--line);box-shadow:0 3px 16px #082e4805}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 0}.logo{flex-shrink:0}.logo img{display:block;width:200px;height:106px;object-fit:cover}nav{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 22px;font-size:13px;font-weight:600}nav a{padding:8px 0}nav a:hover,nav a[aria-current=page]{color:var(--blue)}nav a[aria-current=page]{border-bottom:2px solid var(--green)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--blue);margin-bottom:20px}.page-banner{padding:75px 0;background:linear-gradient(110deg,#edf5f9,#f7faf6);border-bottom:1px solid var(--line)}.page-banner h1 span{color:var(--blue)}.page-banner p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:18px}.page-banner small{display:block;color:var(--muted);font-size:13px;margin-top:20px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:white;border:1px solid var(--navy);border-radius:5px;padding:13px 23px;font:600 14px 'Segoe UI',Arial;cursor:pointer;transition:background .2s}.button:hover{background:var(--blue);border-color:var(--blue)}.button.secondary{background:transparent;color:var(--navy);border-color:#b5c9d5}.button.white{background:white;color:var(--navy);border-color:white}.section{padding:70px 0}.intro-text{max-width:760px;color:var(--muted)}.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.service-tile{display:block;padding:28px;border:1px solid var(--line);border-radius:6px;background:white;box-shadow:0 6px 22px #082e4805}.service-tile:hover{border-color:var(--blue)}.number{display:block;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:1px;margin-bottom:22px}.service-tile:nth-child(3) .number{color:var(--green)}.service-tile p{font-size:15px;color:var(--muted)}.service-tile b{font-size:13px;color:var(--blue)}.three-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}.three-cols article{padding-top:24px;border-top:3px solid var(--green)}.three-cols p{color:var(--muted);font-size:15px}.faq-band{background:var(--paper)}.faq-band details{padding:20px 0;border-bottom:1px solid #d3e1e9;max-width:850px}.faq-band summary{cursor:pointer;font-weight:600;font-size:18px}.faq-band details p{color:var(--muted);margin:15px 0 0}.contact{padding:75px 0;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact>div>p{color:var(--muted);max-width:460px}.contact-details{margin-top:30px}.contact-details p{margin-bottom:18px}.contact-details small{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--muted)}.contact-details a{color:var(--blue);overflow-wrap:anywhere}form{padding:32px;background:var(--paper);border:1px solid var(--line);border-radius:6px}label{display:block;font-size:13px;font-weight:600;margin:16px 0 7px}input,select,textarea{display:block;width:100%;border:1px solid #c3d4df;background:white;border-radius:4px;padding:12px;font:15px 'Segoe UI',Arial;color:var(--navy)}textarea{resize:vertical}form .button{margin-top:20px}.form-note{font-size:11px;color:var(--muted);margin:16px 0 0}.form-note a{text-decoration:underline}.cta{background:var(--navy);color:white;text-align:center;padding:60px 24px}.cta p{color:#cadde8}.cta h2{margin-bottom:17px}footer{background:#062337;color:#eaf3f8;text-align:center;padding:35px 24px;font-size:13px;border-top:1px solid #ffffff16}footer strong{font-size:16px;font-weight:600}footer p{margin:12px 0}footer small{color:#b3c7d4}footer a:hover{text-decoration:underline}.prose{max-width:900px;color:var(--muted)}.prose h2{color:var(--navy)}.founding{display:inline-block;padding:5px 15px;background:#edf5e6;border-radius:20px;color:#3e7219;font-size:13px;font-weight:600}.service-list{padding:30px 0 60px}.service-row{padding:42px 0;border-bottom:1px solid var(--line);display:flex;gap:40px;scroll-margin-top:150px}.service-row>.number{min-width:55px;padding-top:8px}.service-row>div{flex:1}.service-row p{max-width:840px;color:var(--muted)}.service-row .button{margin-top:8px}.service-row .three-cols{margin-bottom:25px}.service-row .three-cols article{border-top-width:1px}.section-links{justify-content:flex-start;padding:10px 0 25px;border-bottom:1px solid var(--line);gap:16px 25px}.section-links a{color:var(--blue)}.legal{max-width:900px;margin:55px auto;padding:0 25px 60px}.legal h1{font-size:clamp(32px,4vw,46px);overflow-wrap:anywhere}.legal h2{font-size:26px;margin-top:35px}.legal h3{margin-top:25px}.legal a{color:var(--blue);text-decoration:underline;overflow-wrap:anywhere}.legal-links{margin-top:40px}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}@media(max-width:1000px){.header-inner{gap:20px}.logo img{width:175px;height:94px}nav{gap:7px 16px;font-size:12px}.tile-grid{grid-template-columns:1fr 1fr}.contact{gap:35px}}@media(max-width:650px){.header-inner{flex-direction:column;gap:2px;padding:4px 0 12px}.logo img{width:155px;height:82px}nav{justify-content:center;gap:2px 16px;font-size:12px}nav a{padding:4px 0}.page-banner{padding:45px 0}.page-banner p:not(.eyebrow){font-size:16px}.section{padding:45px 0}.tile-grid,.three-cols,.contact{grid-template-columns:1fr}.tile-grid{gap:16px;margin-top:25px}.service-tile{padding:24px}.three-cols{gap:22px}.contact{padding:45px 0;gap:30px}form{padding:24px}.service-row{gap:15px;padding:32px 0}.service-row>.number{min-width:25px}.service-row h2{font-size:27px}.cta{padding:45px 24px}.legal{margin-top:40px}.faq-band summary{font-size:16px}html{scroll-padding-top:170px}.service-row{scroll-margin-top:170px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.legal-logo{display:block;width:240px;max-width:100%;height:auto;margin:0 0 24px}.service-group-heading{padding-top:30px;scroll-margin-top:170px}

.home-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:35px;padding-bottom:20px}.home-photo-pair img{width:100%;height:380px;object-fit:cover;border-radius:8px}.service-photo{width:32%;height:260px;object-fit:cover;border-radius:6px}@media(max-width:650px){.home-photo-pair{grid-template-columns:1fr}.home-photo-pair img{height:260px}.service-row{flex-wrap:wrap}.service-photo{width:100%;height:240px}}

.household-photo{display:block;width:100%;height:190px;object-fit:cover;border-radius:6px;margin-bottom:18px}

.home-photo-pair img{display:block;height:auto;object-fit:contain}

.home-photo-frame{position:relative;overflow:hidden;border-radius:8px}.home-photo-frame img{position:absolute;bottom:0;left:0;width:100%;height:auto;border-radius:0}

.home-photo-full{width:100%;max-width:none;margin:0;padding:0;gap:0}.home-photo-full .home-photo-frame{border-radius:0}

.home-photo-full .home-photo-frame{height:calc(100svh - var(--home-header-height,150px));aspect-ratio:auto!important;background:#f4f8fa}.home-photo-full .home-photo-frame img{position:static;width:100%;height:100%;object-fit:contain;clip-path:inset(10% 0 0);transform:translateY(-5%)}

.service-row>.exterior-photo-group{flex:0 0 32%;display:grid;gap:12px;align-content:start}.exterior-photo-group .service-photo{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain}@media(max-width:650px){.service-row>.exterior-photo-group{flex-basis:100%}}

/* Home: wide photograph and brand color bands */
.home-refreshed{background:#eef5f8}.home-wide-image{width:100%;background:#0b3046}.home-wide-image img{display:block;width:100%;height:auto;max-height:calc(100svh - 145px);object-fit:contain;margin:0 auto}
.home-refreshed .page-banner{background:linear-gradient(120deg,#dceefa,#edf7f0);padding:44px 0;border-top:4px solid #78b448;border-bottom:0}.home-refreshed .page-banner h1{max-width:900px}.home-refreshed .page-banner h1 span{color:#007fae}
.home-small-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:30px;padding-bottom:12px}.home-small-gallery figure{margin:0;background:#dceaf0;border-radius:12px;overflow:hidden;border:1px solid #cbdee7}.home-small-gallery img{display:block;width:100%;height:280px;object-fit:contain}
.home-refreshed .three-cols article{background:#fff;border-radius:12px;padding:24px;border-top:4px solid #168db6;box-shadow:0 7px 24px #0b30460a}.home-refreshed .three-cols article:nth-child(2){border-color:#73b344}.home-refreshed .faq-band{background:#dcecf5}.home-refreshed .contact{background:#edf6ed}.home-refreshed .contact form{background:#fff;border-radius:14px;padding:28px}.home-refreshed footer{background:#092d43;color:#e5f2f6}.home-refreshed footer a{color:#e5f2f6}
@media(max-width:650px){.home-wide-image img{max-height:none}.home-refreshed .page-banner{padding:30px 0}.home-small-gallery{gap:12px}.home-small-gallery img{height:180px}.home-refreshed .contact form{padding:20px}}

#liefer .alltag-photo{display:block;width:100%;height:220px;object-fit:cover;object-position:center;border-radius:6px;margin-bottom:20px}
@media(max-width:650px){#liefer .alltag-photo{height:230px}}

.home-wide-image{position:relative;isolation:isolate}.home-wide-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(5,27,40,.28) 55%,transparent);pointer-events:none}.home-image-caption{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:20px;text-align:center}.home-image-caption p{margin:0;color:#fff;font-size:clamp(25px,4vw,60px);font-weight:750;line-height:1.15;text-shadow:0 2px 14px #071d2b}.home-image-caption .button{background:#008fbc;color:#fff;box-shadow:0 3px 15px #071d2b30}.home-image-caption .button:hover{background:#006f94}@media(max-width:650px){.home-image-caption{gap:12px;padding:12px}.home-image-caption p{font-size:clamp(21px,5.6vw,34px)}.home-image-caption .button{padding:11px 17px;font-size:14px}}

.services-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0}.services-card-grid .service-row{min-width:0;display:flex;flex-direction:column;gap:0;padding:20px;background:#f4f8fa;border:1px solid #dce7ec;border-radius:10px}.services-card-grid .service-photo{display:block;width:100%;height:220px;object-fit:cover;margin-bottom:20px}.services-card-grid .service-row>.number{padding:0;min-width:0;margin-bottom:10px}.services-card-grid .service-row>div:not(.exterior-photo-group){display:flex;flex-direction:column;flex:1}.services-card-grid .service-row h2{font-size:26px;overflow-wrap:anywhere}.services-card-grid .service-row p{font-size:15px}.services-card-grid .service-row .button{align-self:flex-start;margin-top:auto}.services-card-grid .service-row>.exterior-photo-group{flex:none;width:100%;gap:10px;margin-bottom:20px}.services-card-grid .exterior-photo-group .service-photo{height:105px;aspect-ratio:auto;margin:0;object-fit:contain}.home-image-caption{justify-content:flex-end;padding-bottom:clamp(25px,6vw,90px)}.home-wide-image::after{background:linear-gradient(180deg,transparent 40%,rgba(5,27,40,.42))}@media(max-width:900px){.services-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.services-card-grid{grid-template-columns:1fr;gap:18px}.services-card-grid .service-photo{height:240px}.home-image-caption{padding-bottom:18px}}

/* Shared blue and green surfaces */
body{background:linear-gradient(135deg,#eaf3f9 0%,#f4f8f6 55%,#e8f2e3 100%)}
header{background:linear-gradient(100deg,#fffffffa,#edf5f9fa);border-bottom:2px solid #b9d8e6}
.page-banner,.home-refreshed .page-banner{background:linear-gradient(115deg,#cde5f4 0%,#e4f2f5 52%,#dceccd 100%)}
.section:not(.faq-band){background:linear-gradient(120deg,#e0edf6cc,#e6f0dfaa);border-radius:14px;padding-left:28px;padding-right:28px;margin-top:28px;margin-bottom:28px}
.three-cols article{background:#ffffffed;border-radius:12px;padding:25px;border-top:4px solid #047db3;box-shadow:0 6px 20px #082e4809}
.three-cols article:nth-child(2){border-top-color:#629f2b}
.three-cols article:nth-child(3){border-top-color:#268eaa}
.home-refreshed .faq-band,.faq-band{background:linear-gradient(115deg,#cde2f0,#e0eef2);border-top:1px solid #bfd7e3;border-bottom:1px solid #bfd7e3}
.faq-band details{background:#ffffffb8;padding:20px 24px;border:1px solid #c7dce6;border-radius:9px;margin-top:12px}
.contact,.home-refreshed .contact{background:linear-gradient(125deg,#d8e8f2,#e2efd5);border-radius:16px;padding:44px 28px;margin-top:30px;margin-bottom:30px}
form,.home-refreshed .contact form{background:#ffffffef;box-shadow:0 8px 24px #082e480c}
.section-links{background:#dbeaf2;border:1px solid #c4dce6;border-radius:10px;padding:14px 20px}
.services-card-grid .service-row{background:linear-gradient(150deg,#ffffff,#e1eef7);border:1px solid #c4dce6;border-top:4px solid #047db3;box-shadow:0 7px 20px #082e4809}
.services-card-grid .service-row:nth-child(3n+2){background:linear-gradient(150deg,#ffffff,#e5efdc);border-top-color:#629f2b}
.services-card-grid .service-row:nth-child(3n){background:linear-gradient(150deg,#ffffff,#dcedef);border-top-color:#268eaa}
#liefer{background:linear-gradient(120deg,#dbeaf4,#e3eedb);border:1px solid #c9dfe0;border-radius:14px;padding:30px;margin-top:28px}
.legal{background:#ffffffed;border:1px solid #cbdfe6;border-top:5px solid #629f2b;border-radius:12px;padding:32px 35px 60px;box-shadow:0 8px 30px #082e4809}
.cta{background:linear-gradient(115deg,#082e48,#075477);border-top:4px solid #629f2b}
.button{box-shadow:0 3px 10px #082e4812}
@media(max-width:650px){.section:not(.faq-band){padding-left:20px;padding-right:20px}.contact,.home-refreshed .contact{padding:30px 20px}#liefer{padding:22px}.legal{margin:30px auto;width:90%;padding:25px 20px 40px}.faq-band details{padding:17px 18px}}

.text-submit{display:inline-block;background:none;border:0;padding:0;margin-top:20px;color:var(--blue);font:600 14px "Segoe UI",Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
