:root{--navy:#07192d;--blue:#007ac0;--sky:#24a9e4;--ink:#142638;--muted:#526373;--line:#d9e3ec;--pale:#eef5fa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;background:white}a{color:var(--blue);text-underline-offset:5px}img{display:block;max-width:100%}.wrap{max-width:1200px;margin:auto;padding:0 40px}.topbar{background:var(--navy);color:#fff;font-size:14px}.topbar .wrap{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}.topbar a{color:white;text-decoration:none}header{border-bottom:1px solid var(--line);background:white}.header-inner{max-width:1400px;padding:12px 34px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand img{width:255px;height:105px;object-fit:contain}nav{display:flex;gap:22px;align-items:center}nav a{text-decoration:none;font-size:14px;font-weight:700;color:var(--ink);padding:8px 0}nav a.active{color:var(--blue);border-bottom:2px solid var(--sky)}nav a:last-child{background:var(--blue);color:#fff;padding:11px 18px;border:0}#menu-button{display:none}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--blue);margin:0 0 18px}h1,h2,h3{line-height:1.12;letter-spacing:-.035em;color:var(--navy);margin:0 0 24px}h1{font-size:clamp(40px,5.5vw,76px);max-width:820px}h2{font-size:clamp(30px,3.6vw,45px);max-width:800px}h3{font-size:25px;letter-spacing:-.025em}.lead{font-size:20px;line-height:1.6;color:var(--muted);max-width:700px}.intro{background:var(--pale);padding:78px 0 80px}.intro .wrap{max-width:1200px}.photo-intro .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.photo-intro h1{font-size:clamp(44px,5vw,68px)}figure{margin:0}.photo-intro figure{position:relative;padding-bottom:24px}.photo-intro img{width:100%;height:450px;object-fit:cover;object-position:center 50%}.photo-intro figcaption{position:absolute;bottom:0;left:24px;background:var(--navy);color:white;padding:12px 20px;font-size:14px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.button{display:inline-block;background:var(--blue);color:white;text-decoration:none;padding:14px 23px;border:0;font:700 15px/1.5 Arial;cursor:pointer;border-radius:0}.button:hover{background:#005f97}.textlink{font-weight:700}.trust{background:var(--navy);color:white}.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:23px;padding-bottom:23px}.trust span{font-size:14px;border-right:1px solid #314254}.trust span:last-child{border:0}.section{padding:78px 0;border-bottom:1px solid var(--line)}.section:nth-of-type(odd){background:#f8fafc}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:38px}.cards:has(article:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.cards:has(article:nth-child(4):last-child){grid-template-columns:repeat(2,1fr)}.cards article{border-top:3px solid var(--sky);background:white;padding:30px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);border-right:1px solid var(--line)}.cards p{color:var(--muted)}.cards a{font-weight:700}.number{display:block;color:var(--blue);font:700 14px Arial;letter-spacing:.1em;margin-bottom:35px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:38px}.split p{color:var(--muted)}.split h3:not(:first-child){margin-top:38px}.panel{background:var(--pale);padding:35px}.checklist{padding-left:22px}.checklist li{margin-bottom:14px}.project-split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;margin-top:35px}.project-split img{height:380px;width:100%;object-fit:cover}.project-split p{color:var(--muted)}.faqs{max-width:900px;margin-top:35px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:18px;font-weight:700;color:var(--navy)}details p{max-width:780px;color:var(--muted);margin-bottom:0}.compare{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.compare img{width:100%;height:460px;object-fit:cover}.compare figcaption{background:var(--navy);color:white;padding:10px 20px}.project-note{max-width:850px;margin-top:35px}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;margin-top:40px}form{padding:34px;background:var(--pale)}form h2,aside h2{font-size:32px}label{display:block;font-weight:700;font-size:14px;margin:18px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #aabcc9;background:white;color:var(--ink);font:16px Arial;border-radius:0}textarea{resize:vertical}.small{font-size:14px;color:var(--muted)}.contact-methods{margin:22px 0 26px;border-top:1px solid var(--line)}.contact-method{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(0,1.35fr);align-items:baseline;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.contact-method>span{font-size:14px;font-weight:700;color:var(--muted)}.contact-method a{font-size:18px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.entry-door-bottom .cards{grid-template-columns:minmax(0,560px);justify-content:center}hr{border:0;border-top:1px solid var(--line);margin:30px 0}aside h3{font-size:20px;margin:28px 0 14px}.prose{max-width:800px}.cta{background:var(--navy);color:#fff;padding:65px 0}.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{color:white;margin:0 0 12px}.cta p{color:#bccbd8;margin:0}.cta .button{white-space:nowrap}footer{background:#07192f;color:#becbd7;padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:70px}footer img{width:min(100%,360px);margin:0 0 20px}footer a{color:#d8e8f5;text-decoration:none;display:inline-block;margin-bottom:8px}footer h3{color:white;font-size:17px;letter-spacing:0}.footer-links{display:grid;grid-template-columns:1fr 1fr;font-size:14px}.copyright{border-top:1px solid #263647;margin-top:32px;padding-top:20px;font-size:13px;display:flex;justify-content:space-between}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:99;background:white;padding:10px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--sky);outline-offset:5px}[hidden]{display:none!important}@media(max-width:1100px){nav{gap:14px}.header-inner{padding:10px 25px}.brand img{width:210px}nav a{font-size:13px}}@media(max-width:900px){.wrap{padding:0 25px}.header-inner{flex-wrap:wrap}.brand img{height:80px}#menu-button{display:block;background:var(--navy);color:white;border:0;padding:12px;font:700 14px Arial}nav{display:none;width:100%;flex-wrap:wrap;padding:15px 0;gap:20px}nav.open{display:flex}.photo-intro .wrap,.contact-grid{grid-template-columns:1fr}.photo-intro figure{max-width:700px}.intro{padding:55px 0}.photo-intro img{height:380px}.cards{grid-template-columns:1fr!important}.split,.project-split{gap:30px}.trust .wrap{grid-template-columns:1fr 1fr}.trust span:nth-child(2){border:0}.section{padding:55px 0}.footer-grid{gap:30px}.cta .wrap{align-items:flex-start;flex-direction:column}.compare img{height:340px}}@media(max-width:580px){.wrap{padding:0 21px}.topbar .wrap{font-size:12px;gap:15px}.topbar span{max-width:190px}.brand img{width:220px;height:80px}.header-inner{padding:8px 21px}h1,.photo-intro h1{font-size:44px}.lead{font-size:18px}.photo-intro .wrap{gap:35px}.photo-intro img{height:350px}.split,.project-split,.compare,.footer-grid,.form-row{grid-template-columns:1fr}.compare img{height:auto;max-height:500px}.project-split img{height:360px}.cards article{padding:25px}form{padding:23px}.contact-grid{gap:35px}.copyright{display:block}.trust .wrap{gap:15px}.trust span{font-size:13px}.actions{gap:18px}.photo-intro figcaption{left:15px}.footer-grid{gap:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}/* Blend the original logo into the header rather than displaying a pale image panel. */
.brand{display:block;flex-shrink:0;line-height:0}
.brand img{width:275px;height:auto;mix-blend-mode:normal;filter:none}
.header-inner{padding-top:16px;padding-bottom:16px}
@media(max-width:1100px){.brand img{width:230px;height:auto}}
@media(max-width:580px){.header-inner{gap:12px;padding:12px 18px}.brand{min-width:0;flex-shrink:1}.brand img{width:min(275px,calc(100vw - 106px));height:auto}}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:36px}.gallery-item{border:1px solid var(--line);background:white}.gallery-item>a{display:block;background:#eef3f7}.gallery-item img{width:100%;height:330px;object-fit:contain}.gallery-item figcaption{padding:23px}.gallery-item h3{font-size:21px;margin-bottom:12px}.gallery-item p{font-size:15px;color:var(--muted);margin:0}.gallery-description{max-width:820px;color:var(--muted)}@media(max-width:900px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.project-gallery{grid-template-columns:1fr}.gallery-item img{height:auto;max-height:480px}}.project-group{padding:42px 0;border-bottom:1px solid var(--line)}.project-group:first-child{padding-top:15px}.project-group:last-child{border-bottom:0;padding-bottom:0}.project-heading h2{font-size:30px;margin-bottom:12px}.project-heading p{color:var(--muted);max-width:760px;margin:0 0 25px}.project-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.project-photos.single-photo{grid-template-columns:minmax(0,680px)}.project-photos a{display:block;background:#eef3f7}.project-photos img{width:100%;height:410px;object-fit:contain}.project-photos figcaption{background:var(--navy);color:white;padding:10px 18px;font-size:14px}@media(max-width:580px){.project-photos{grid-template-columns:1fr}.project-photos img{height:auto;max-height:500px}.project-heading h2{font-size:26px}.project-group{padding:32px 0}}.project-carousel{position:relative;padding-bottom:42px;background:#fff}.project-carousel.single-photo{padding-bottom:0}.project-slides{height:450px;overflow:hidden;background:#eef3f7}.project-slide{position:relative;width:100%;height:100%;margin:0}.project-slide>a{display:block;width:100%;height:100%}.project-slide img{width:100%;height:100%;object-fit:contain}.project-slide figcaption{position:absolute;left:16px;bottom:14px;max-width:calc(100% - 32px);padding:6px 12px;background:rgba(7,25,45,.88);color:#fff;border-radius:3px}.project-carousel .gallery-arrow{top:calc((100% - 42px)/2);transform:translateY(-50%)}.project-carousel .gallery-controls{height:42px}.project-carousel.single-photo .project-slides{height:450px}@media(max-width:900px){.project-slides,.project-carousel.single-photo .project-slides{height:380px}}@media(max-width:580px){.project-slides,.project-carousel.single-photo .project-slides{height:350px}.project-heading h2{font-size:26px}.project-group{padding:32px 0}}.about-story{max-width:850px;margin-top:30px}.about-story p{font-size:18px;line-height:1.8;color:var(--muted);margin:0 0 23px}.about-story p:last-child{margin-bottom:0}@media(max-width:580px){.about-story p{font-size:17px}}.photo-intro img[src="assets/project-01.jpg"]{object-fit:contain;background:#e4edf4}.order-process{list-style:none;padding:0;margin:35px 0;max-width:950px}.order-process li{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.process-number{color:var(--blue);font-size:24px;font-weight:bold;min-width:44px}.order-process h3{font-size:23px;margin-bottom:12px}.order-process p{margin:0;color:var(--muted)}.supply-note{padding:25px;background:var(--pale);max-width:950px}.supply-note h3{font-size:22px}.supply-note p{margin-bottom:0;color:var(--muted)}/* Shared typography across every page. */
:root{--body-size:1rem;--lead-size:1.25rem;--title-size:clamp(2.5rem,5vw,4.25rem);--section-size:clamp(1.875rem,3.6vw,2.8125rem);--subheading-size:1.5625rem}
body{font-family:Arial,Helvetica,sans-serif;font-size:var(--body-size);line-height:1.65}
button,input,select,textarea{font-family:inherit}
h1,.photo-intro h1{font-size:var(--title-size)}
h2,.project-heading h2,form h2,aside h2{font-size:var(--section-size)}
h3,.gallery-item h3,.order-process h3,.supply-note h3,aside h3{font-size:var(--subheading-size)}
main p,main li,.about-story p,.gallery-item p{font-size:var(--body-size);line-height:1.65}
main .lead{font-size:var(--lead-size);line-height:1.6}
main .eyebrow{font-size:.8125rem;line-height:1.65}
main .small,main figcaption{font-size:.875rem}
nav a{font-size:.875rem}
@media(max-width:580px){:root{--title-size:2.75rem;--lead-size:1.125rem;--subheading-size:1.375rem}.topbar .wrap,.trust span{font-size:.875rem}}
.hero-gallery{position:relative;padding-bottom:68px!important;min-width:0}.hero-slides{height:450px;background:#e4edf4;overflow:hidden}.hero-gallery .hero-slide{width:100%;height:100%;object-fit:cover!important;object-position:center}.gallery-arrow{position:absolute;top:201px;z-index:1;width:44px;height:48px;border:0;background:var(--navy);color:white;font-size:23px;cursor:pointer}.gallery-arrow.previous{left:0}.gallery-arrow.next{right:0}.hero-gallery figcaption{bottom:40px;left:16px;max-width:calc(100% - 32px)}.gallery-controls{display:flex;justify-content:center;align-items:center;gap:12px;position:absolute;bottom:0;left:0;right:0;height:32px}.gallery-dot{width:14px;height:14px;padding:0;border:2px solid var(--blue);border-radius:50%;background:white;cursor:pointer}.gallery-dot[aria-pressed="true"]{background:var(--blue)}.gallery-play{font:700 14px Arial;color:var(--navy);border:0;background:transparent;padding:8px;cursor:pointer}@media(max-width:900px){.hero-slides{height:380px}.gallery-arrow{top:166px}}@media(max-width:580px){.hero-slides{height:350px}.gallery-arrow{top:151px}}.cards article{display:flex;flex-direction:column;min-width:0}.cards article img.product-image{width:100%;height:320px;object-fit:cover;border-radius:6px;margin:0 0 10px}.cards article img.product-image.portrait-image{object-fit:contain;background:#eef3f7}.cards article img.product-image.casement-image{height:320px;object-fit:cover;object-position:center 55%}.cards article img.product-image.fixed-bay-image{height:320px;object-fit:contain;background:#eef3f7}.cards article img.product-image.patio-image{height:320px;object-fit:contain;background:#eef3f7}.cards article img.product-image.entry-door-image{height:320px;object-fit:contain;background:#eef3f7}@media(max-width:580px){.cards article img.product-image.casement-image{object-position:center 65%}}.cards article .image-credit{display:block;height:20px;line-height:20px;margin:0 0 12px;font-size:12px;color:var(--muted)}.homeowner-options>div{display:flex;flex-direction:column;align-items:flex-start}.homeowner-options>div>.button{width:220px;max-width:100%;box-sizing:border-box;margin-top:auto;text-align:center}.cards article>a.image-credit{align-self:flex-start;text-decoration:underline}.cards article h3{overflow-wrap:break-word}.cards article>a{margin-top:auto;align-self:flex-start;padding-top:12px}.cards article p{margin-top:0;margin-bottom:22px}.cards .number{margin-bottom:26px}.review-summary{margin-top:30px}.review-summary p{margin:8px 0 12px}.review-stars{color:#a66a00;font-size:24px;letter-spacing:.08em}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.review-grid blockquote{margin:0;padding:30px;background:white;border:1px solid var(--line);border-top:3px solid var(--sky)}.review-grid cite{font-style:normal;font-size:14px;font-weight:700;color:var(--muted)}@media(max-width:580px){.review-grid{grid-template-columns:1fr}}.legal-details{color:#8292a2;font-size:11px;line-height:1.5;margin-top:10px;max-width:1050px}.hero-rating{display:inline-flex;align-items:center;gap:9px;margin:17px 0 0;color:var(--ink);text-decoration:none;font-size:15px;line-height:1.4}.hero-rating:hover{text-decoration:underline}.hero-rating-stars{color:#a66a00;letter-spacing:.08em;font-size:18px}.hero-rating strong{color:var(--navy)}@media(max-width:900px){.header-inner{position:relative;flex-wrap:wrap;align-items:center;gap:12px}.brand img{height:auto}#menu-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:84px;min-height:44px;padding:0 12px;background:transparent;color:var(--navy);border:1px solid var(--line);font:700 14px Arial;cursor:pointer;border-radius:3px}#menu-button::before{content:"";display:block;width:16px;height:12px;background:linear-gradient(var(--navy) 0 0) 0 0/100% 2px,linear-gradient(var(--navy) 0 0) 0 5px/100% 2px,linear-gradient(var(--navy) 0 0) 0 10px/100% 2px;background-repeat:no-repeat}#menu-button[aria-expanded="true"]::before{background:linear-gradient(45deg,transparent 46%,var(--navy) 47% 53%,transparent 54%),linear-gradient(-45deg,transparent 46%,var(--navy) 47% 53%,transparent 54%);background-repeat:no-repeat}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;margin-top:8px;padding:8px 0 12px;border-top:1px solid var(--line)}nav.open{display:flex}nav a{display:block;width:100%;padding:11px 10px;border-bottom:1px solid var(--line);font-size:16px}nav a.active{border-bottom:1px solid var(--line)}nav a:last-child{margin-top:12px;padding:13px 16px;text-align:center;border:0}.review-grid{grid-template-columns:1fr}}@media(max-width:580px){.header-inner{gap:10px;padding:12px 18px}.brand{min-width:0;flex:1}.brand img{width:min(230px,calc(100vw - 132px));height:auto}#menu-button{flex-shrink:0;min-width:82px}.hero-rating{font-size:14px}.review-summary{margin-top:22px}.review-grid{gap:14px}.review-grid blockquote{padding:22px}.review-stars{font-size:21px}}