@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#173858;--deep:#153453;--stone:#eef4f9;--paper:#fff;--muted:#5d7183;--copper:#8eb6dc;--line:#d4e1eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 'DM Sans',sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,7vw,7rem);font-weight:700}h2{font-size:clamp(2.4rem,4.3vw,4.6rem);font-weight:700}h3{font-size:1.4rem}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}.wrap{max-width:1360px;margin:auto;padding-left:clamp(22px,5vw,72px);padding-right:clamp(22px,5vw,72px)}.section{padding-top:clamp(74px,9vw,132px);padding-bottom:clamp(74px,9vw,132px)}.eyebrow{font:700 .8rem/1.3 Manrope,sans-serif;letter-spacing:.19em;color:#4378a8;margin-bottom:24px}.eyebrow.light{color:#acd0f1}.skip{position:absolute;top:-100px;left:12px;z-index:50;background:white;padding:12px}.skip:focus{top:12px}.header{height:88px;display:flex;align-items:center;gap:36px;padding:0 clamp(22px,5vw,72px);position:relative;z-index:20;background:#fff}.brand{display:flex;gap:12px;align-items:center;font:800 .75rem/1.12 Manrope,sans-serif;letter-spacing:.1em;white-space:nowrap}.brand-logo{width:142px;height:72px;object-fit:contain;object-position:left center}.footer-brand .brand-logo{width:190px;height:110px;object-position:left center}.header nav{display:flex;gap:31px;align-items:center;margin-left:auto;font-weight:600;font-size:.88rem}.header nav a:hover,.header nav button:hover,.text-link:hover{color:#4378a8}.dropdown{position:relative}.dropdown button{border:0;background:transparent;font-weight:600;color:inherit;padding:18px 0}.dropdown-menu{position:absolute;min-width:255px;top:100%;left:-18px;padding:12px;background:white;box-shadow:0 16px 45px #0002;display:none}.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu,.dropdown.open .dropdown-menu{display:grid}.dropdown-menu a{padding:10px}.header-cta{background:var(--ink);color:white;padding:13px 19px;white-space:nowrap;font-weight:700;font-size:.85rem}.header-cta span{margin-left:15px;color:var(--copper)}.menu-button{display:none;background:none;border:0;font-size:1.8rem}.hero{min-height:min(780px,calc(100svh - 88px));position:relative;color:white;display:flex;align-items:center;overflow:hidden;background:var(--deep)}.hero:after,.service-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,26,28,.91),rgba(12,26,28,.58) 48%,rgba(12,26,28,.15))}.hero-image,.page-image{position:absolute;inset:0;height:100%}.hero-content{position:relative;z-index:1;max-width:850px;padding:90px clamp(22px,8vw,120px) 120px}.hero h1{margin-bottom:25px}.hero h1 em{font-style:normal;color:#aad0f1}.hero-content>p:not(.eyebrow){font-size:1.18rem;max-width:570px;color:#e6f0f8}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--copper);color:#153453;padding:17px 23px;font-weight:700;font-size:.89rem;border:1px solid var(--copper);transition:.2s}.button:hover{background:#b7d6f1;transform:translateY(-2px)}.button.outline{background:transparent;color:white;border-color:#ffffff80}.button.outline:hover{background:#ffffff25}.hero-index{position:absolute;bottom:35px;left:clamp(22px,8vw,120px);right:clamp(22px,5vw,72px);z-index:1;border-top:1px solid #ffffff65;padding-top:16px;display:flex;justify-content:space-between;font-size:.75rem;font-weight:700;letter-spacing:.18em}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro p:not(.eyebrow){font-size:1.1rem;color:#4d6273;max-width:580px}.intro h2{margin:0}.services-section{background:var(--stone)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}.section-head h2{margin-bottom:0}.section-head>p{max-width:335px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:white;display:block;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 14px 28px #1534531a}.service-card img{height:290px}.service-card>div{padding:29px}.service-card h3{font-size:1.42rem;margin:0 0 12px}.service-card p{color:var(--muted);min-height:78px}.text-link{font-weight:700;font-size:.89rem;border-bottom:1px solid currentColor;padding-bottom:5px}.feature{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(40px,7vw,100px);padding-top:110px;padding-bottom:110px}.feature-photo img{height:540px}.feature-copy p:not(.eyebrow){color:var(--muted);max-width:470px}.feature-copy .button{margin-top:20px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;background:var(--stone)}.gallery-grid img{height:270px;transition:transform .3s}.gallery-grid figure:hover img{transform:scale(1.035)}.gallery-grid figcaption{padding:12px 3px;color:#536b80;font-size:.84rem}.contact-band{background:var(--deep);color:white;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:clamp(65px,8vw,125px) clamp(22px,8vw,120px)}.contact-band h2{max-width:680px}.contact-band p:not(.eyebrow){color:#c7d9e7;max-width:550px}.contact-band .button{flex-shrink:0}.footer{background:#102942;color:#e6ece8}.footer-top{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px;padding-top:75px;padding-bottom:75px}.footer-brand{margin-bottom:25px}.footer-top p{color:#aec2d2;max-width:310px}.footer h3{font-size:.9rem;letter-spacing:.06em;margin:0 0 20px}.footer-top>div:not(:first-child) a{display:block;color:#b8cbd9;margin-bottom:10px;font-size:.9rem}.footer a:hover{color:#b7d6f1}.footer-bottom{border-top:1px solid #ffffff25;display:flex;justify-content:space-between;padding-top:20px;padding-bottom:25px;color:#aec2d2;font-size:.8rem}.page-hero{position:relative;background:var(--deep);color:white;min-height:560px;display:flex;align-items:center}.page-hero .wrap{width:100%;position:relative;z-index:1;padding-top:95px;padding-bottom:95px}.page-hero h1{max-width:950px;font-size:clamp(3.3rem,6vw,6rem)}.page-hero p:not(.eyebrow){max-width:660px;color:#d0e0eb;font-size:1.15rem}.page-hero .button{margin-top:20px}.page-hero.compact{min-height:350px;background:#eaf2f8;color:var(--ink)}.page-hero.compact .wrap{padding-top:65px;padding-bottom:65px}.page-hero.compact p:not(.eyebrow){color:#536b80}.service-body{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.service-body>div>p:not(.eyebrow){color:var(--muted);font-size:1.1rem}.service-list>div{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.service-list span{font-size:.8rem;color:#4378a8;font-weight:700}.service-list h3{margin:0}.contact-layout,.quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-layout p,.quote-layout p{color:var(--muted)}.contact-links{display:grid;margin:35px 0;font-size:1.4rem;font-weight:700;gap:18px}.contact-panel{padding:50px;background:var(--stone)}.contact-panel h3{font-size:2.2rem}.quote-photo img{height:300px;margin-top:38px}.quote-layout form{padding:38px;background:var(--stone);display:grid;gap:15px;align-self:start}.quote-layout label{font-weight:700;font-size:.9rem;display:grid;gap:6px}.quote-layout input,.quote-layout select,.quote-layout textarea{width:100%;border:1px solid #aebfce;background:white;border-radius:0;padding:12px;color:var(--ink)}.quote-layout :is(input,select,textarea):focus{outline:2px solid var(--copper);outline-offset:1px}.quote-layout .button{width:100%;margin-top:4px}.form-note{font-size:.83rem;margin:0}
@media(max-width:1000px){.header nav{gap:15px}.service-grid{gap:12px}.service-card img{height:210px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.footer-top{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.header{height:72px;gap:15px}.header-cta{margin-left:auto;padding:10px 12px;font-size:.75rem}.header-cta span{display:none}.menu-button{display:block}.header nav{position:absolute;display:none;left:0;right:0;top:72px;background:white;padding:20px 24px 28px;box-shadow:0 20px 30px #0002;align-items:stretch}.header nav.open{display:grid}.dropdown button{padding:0}.dropdown-menu{position:static;box-shadow:none;padding:3px 0 0 15px}.hero{min-height:650px}.hero:after{background:linear-gradient(90deg,#153453ed,#15345366)}.hero-content{padding:75px 22px 115px}.hero-index{font-size:.65rem}.intro,.feature,.service-body,.contact-layout,.quote-layout{grid-template-columns:1fr}.intro,.feature,.service-body,.contact-layout,.quote-layout{gap:32px}.section-head{align-items:start;display:block}.service-grid{grid-template-columns:1fr}.service-card img{height:260px}.service-card p{min-height:0}.feature-photo img{height:350px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid img{height:190px}.contact-band{display:block}.contact-band .button{margin-top:25px}.footer-top{gap:35px}.page-hero{min-height:500px}.contact-panel{padding:28px}}@media(max-width:470px){h1{font-size:3.2rem}.brand{font-size:.59rem}.brand-logo{width:100px;height:58px}.header-cta{font-size:.68rem}.gallery-grid{gap:10px}.gallery-grid img{height:145px}.gallery-grid figcaption{font-size:.75rem}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:span 2}.footer-bottom{display:grid;gap:5px}.quote-layout form{padding:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.header{background:#f7fbff}.header-cta{background:#204a70}.hero:after,.service-hero:after{background:linear-gradient(90deg,rgba(12,38,65,.91),rgba(18,56,87,.61) 48%,rgba(20,65,100,.15))}.button{color:#0b2b47}.footer-brand{background:#f7fbff;display:inline-block;padding:4px 12px}.footer-brand .brand-logo{object-position:center}.hero h1 em{color:#acd0f1}
/* Original A&T copy and photographs, with a seamless footer mark. */
.footer{background:#edf4f9;color:#173858}.footer-top p,.footer-top>div:not(:first-child) a,.footer-bottom{color:#425e76}.footer-bottom{border-color:#cadce9}.footer-brand{background:transparent;padding:0}.footer-brand .brand-logo{mix-blend-mode:multiply}.footer h3{color:#173858}.footer a:hover{color:#306999}
.home-story,.original-service{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.home-story>img{height:550px}.home-story p:not(.eyebrow),.original-service p,.why-section p,.contact-service p{color:#536b80;font-size:1.05rem}.original-service h2{font-size:clamp(2.2rem,3.6vw,3.8rem)}.original-service .eyebrow{line-height:1.5}.original-photos{display:grid;gap:18px}.original-photos img{height:285px}.why-section{background:#eef4f9}.why-section .wrap{max-width:1050px}.why-section h2{font-size:clamp(2.1rem,3.4vw,3.6rem)}.why-section p{max-width:830px}.exterior-extra{height:390px;margin-top:35px}.contact-service{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.simple-contact{background:#eef4f9;padding:34px;display:grid;gap:14px}.simple-contact label{display:grid;gap:5px;font-weight:700;font-size:.9rem}.simple-contact input,.simple-contact textarea{padding:12px;background:white;border:1px solid #aebfce;color:#173858;width:100%}.name-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.simple-contact :is(input,textarea):focus{outline:2px solid #4378a8}.simple-contact .form-note{font-size:.82rem;margin:0}.gallery-grid figure{cursor:zoom-in}.gallery-grid figure:focus-visible{outline:3px solid #4378a8;outline-offset:3px}.photo-dialog{border:0;background:#0e2437;color:white;max-width:min(95vw,1100px);max-height:95vh;padding:20px;box-shadow:0 30px 80px #0009}.photo-dialog::backdrop{background:#071725da}.photo-dialog img{max-height:75vh;object-fit:contain}.photo-dialog p{margin:10px 0 0}.dialog-close{float:right;background:transparent;color:white;font-size:2rem;border:0;line-height:1;cursor:pointer;margin-bottom:8px}
@media(max-width:760px){.home-story,.original-service,.contact-service{grid-template-columns:1fr;gap:30px}.home-story>img{height:340px}.original-photos img{height:230px}.simple-contact{padding:22px}}
/* A more editorial rhythm for project images and verified customer feedback. */
.hero{min-height:720px}.hero-content{padding-top:100px}.hero h1{max-width:900px;text-wrap:balance}.home-story{align-items:center}.home-story>img{box-shadow:24px 24px 0 #dcebf7}.service-card{position:relative;border-bottom:4px solid transparent}.service-card:hover{border-bottom-color:#6799c4}.service-card img{filter:saturate(.9);transition:filter .25s}.service-card:hover img{filter:saturate(1.12)}.service-card .eyebrow{color:#5b87ac}.gallery-grid figure:nth-child(4n+1) img{height:320px}.gallery-grid figure:nth-child(4n+3) img{height:245px}.reviews-section{background:#143657;color:#fff;padding:clamp(80px,10vw,145px) 0;scroll-margin-top:40px}.reviews-layout{display:grid;grid-template-columns:1fr .84fr;gap:clamp(45px,8vw,120px);align-items:center}.reviews-intro h2{max-width:650px}.reviews-intro>p:not(.eyebrow){color:#c9dce9;max-width:460px;font-size:1.1rem}.rating-line{display:flex;align-items:center;gap:18px;margin:30px 0}.rating-number{font:700 4rem/1 Manrope,sans-serif;letter-spacing:-.06em}.rating-line>span:last-child{display:grid;gap:4px}.stars{color:#b9dbf3;letter-spacing:.12em;font-size:1.25rem;white-space:nowrap}.rating-line small{display:block;color:#b6ccdc;font-size:.82rem}.review-link{display:inline-block;color:#fff;font-weight:700;border-bottom:1px solid #a4c9e6;padding-bottom:6px}.review-link:hover{color:#b9dbf3}.review-card{margin:0;background:#f7fbfe;color:#193c5b;padding:clamp(34px,5vw,70px);box-shadow:20px 20px 0 #28547b}.quote-mark{font:700 5rem/1 Georgia,serif;color:#80acd0}.review-card p{font:600 clamp(1.45rem,2.2vw,2.2rem)/1.4 Manrope,sans-serif;letter-spacing:-.025em;margin:14px 0 40px}.review-card footer{border-top:1px solid #c9dae8;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:.86rem}.review-card footer span{color:#5d7183}
@media(max-width:1000px){.header nav{gap:12px}.reviews-layout{gap:40px}}@media(max-width:760px){.hero{min-height:620px}.home-story>img{box-shadow:12px 12px 0 #dcebf7}.gallery-grid figure:nth-child(4n+1) img,.gallery-grid figure:nth-child(4n+3) img{height:190px}.reviews-layout{grid-template-columns:1fr}.review-card{box-shadow:10px 10px 0 #28547b}.rating-number{font-size:3.2rem}}
.home-story{grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);align-items:center;gap:clamp(35px,6vw,90px)}.home-story>img{display:block;width:100%;height:auto;aspect-ratio:1363/904;object-fit:contain;object-position:center;box-shadow:16px 16px 0 #dcebf7}.honeypot{display:none!important}@media(max-width:760px){.home-story{grid-template-columns:1fr}.home-story>img{height:auto;box-shadow:10px 10px 0 #dcebf7}}
/* Portrait framing: preserve the vertical presentation and center the family. */
.home-story>img{width:min(100%,480px);height:600px;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%;justify-self:center}
@media(max-width:760px){.home-story>img{width:min(100%,420px);height:min(125vw,525px);aspect-ratio:4/5;object-fit:cover;object-position:50% 50%}}

/* Centered homepage hero at every viewport size. */
.hero { justify-content:center; min-height:clamp(540px,78svh,820px); }
.hero:after { background:linear-gradient(180deg,rgba(12,38,65,.62),rgba(12,38,65,.72)); }
.hero .hero-content { width:100%; max-width:1100px; margin-inline:auto; padding:80px clamp(20px,5vw,72px) 120px; text-align:center; }
.hero h1 { margin-inline:auto; font-size:clamp(2.15rem,7vw,6.8rem); line-height:1.08; }
.hero .eyebrow { line-height:1.7; }
.hero .actions { justify-content:center; }
.hero .hero-index { left:clamp(20px,5vw,72px); right:clamp(20px,5vw,72px); }
.form-security { margin:18px 0; min-height:65px; }
.form-status { line-height:1.6; margin:12px 0; }
.form-status[data-error="true"] { color:#a12525; }
form button:disabled { opacity:.65; cursor:wait; }
@media(max-width:470px) {
 .hero { min-height:570px; }
 .hero .hero-content { padding:65px 20px 110px; }
 .hero .actions { gap:12px; }
 .hero .actions .button { width:100%; max-width:280px; justify-content:center; }
 .hero .hero-index { flex-direction:column; align-items:center; gap:8px; text-align:center; }
}
#live-reviews { display:grid; gap:18px; min-width:0; }
#live-reviews .review-card { margin:0; overflow-wrap:anywhere; }
.google-attribution { font-family:Roboto,Arial,sans-serif; font-weight:500; letter-spacing:0; color:white; margin:24px 0 12px; }
#live-rating { gap:18px; }
