:root{--ink:#17221e;--forest:#233f36;--moss:#63766d;--cream:#f3f0e8;--paper:#fbfaf6;--line:#d9ddd7;--white:#fff;--accent:#c8a563;--display:"Manrope",sans-serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:1rem;top:-4rem;background:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,4vw,4.5rem);position:absolute;z-index:20;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.26)}.brand{display:flex;align-items:center;gap:.85rem;font-family:var(--display);font-weight:800;font-size:1.1rem;line-height:1;letter-spacing:-.03em}.brand small{display:block;font-family:var(--body);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;margin-top:.35rem}.brand-mark{width:31px;height:31px;display:grid;grid-template-columns:1fr 1fr;gap:2px}.brand-mark i{border:1.5px solid currentColor}.site-header nav{display:flex;align-items:center;gap:clamp(1.1rem,2.6vw,2.7rem);font-size:.88rem;font-weight:600}.site-header nav a:not(.nav-cta){position:relative}.site-header nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s}.site-header nav a:hover:after{right:0}.nav-cta{border:1px solid rgba(255,255,255,.75);padding:.7rem 1rem;transition:.25s}.nav-cta:hover{background:#fff;color:var(--ink)}.menu-toggle{display:none;background:none;border:0;padding:.5rem;color:#fff}.menu-toggle span:not(.sr-only){display:block;width:25px;height:1px;background:currentColor;margin:6px}
.hero{min-height:760px;height:100svh;max-height:970px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url("https://images.squarespace-cdn.com/content/v1/6a3e12b4bee7a0423bbbb6e2/b76f8c40-da37-4bbf-97ad-73689369e1f1/AdobeStock_1028580970.jpeg?format=2500w") center/cover no-repeat;transform:scale(1.01)}.hero-shade{background:linear-gradient(90deg,rgba(10,20,17,.84) 0%,rgba(10,20,17,.5) 48%,rgba(10,20,17,.12) 78%),linear-gradient(0deg,rgba(8,17,14,.56),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(760px,85%);margin-left:clamp(1.2rem,8vw,9rem);padding-top:55px}.eyebrow{margin:0 0 1.25rem;text-transform:uppercase;letter-spacing:.19em;font-weight:700;font-size:.72rem;color:var(--forest)}.eyebrow:before{content:"";display:inline-block;width:32px;height:1px;background:currentColor;vertical-align:middle;margin-right:.8rem}.eyebrow.light{color:rgba(255,255,255,.83)}h1,h2,h3{font-family:var(--display);line-height:1.08;letter-spacing:-.052em;margin:0}h1{font-size:clamp(3.5rem,7.1vw,7.4rem);max-width:1000px;font-weight:600}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}.hero-copy{font-size:clamp(1rem,1.55vw,1.26rem);line-height:1.65;max-width:580px;margin:1.9rem 0 2.2rem;color:rgba(255,255,255,.86)}.hero-actions{display:flex;align-items:center;gap:2rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 1.25rem;font-weight:700;font-size:.9rem;transition:.25s}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:var(--accent)}.text-link{font-weight:600;font-size:.9rem}.text-link span{margin-left:.6rem}.hero-proof{position:absolute;z-index:2;right:clamp(1.2rem,4vw,4.5rem);bottom:0;display:grid;grid-template-columns:repeat(3,1fr);width:min(560px,48%);border:1px solid rgba(255,255,255,.26);border-bottom:0;background:rgba(14,29,24,.65);backdrop-filter:blur(12px)}.hero-proof div{padding:1.2rem 1.4rem;border-right:1px solid rgba(255,255,255,.2)}.hero-proof div:last-child{border:0}.hero-proof strong,.hero-proof span{display:block}.hero-proof strong{font-family:var(--display);font-size:.95rem}.hero-proof span{font-size:.72rem;margin-top:.2rem;color:rgba(255,255,255,.65)}
.section-pad{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,7vw,8rem)}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,10rem);align-items:start}.intro h2,.section-heading h2,.work h2,.faq h2{font-size:clamp(2.7rem,5vw,5.7rem);font-weight:600}.intro-grid>div{max-width:590px;padding-top:.8rem;color:#5c6661}.lead{font-size:1.25rem;color:var(--ink);line-height:1.55}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:4rem;margin-bottom:3.5rem}.section-heading>p{max-width:440px;color:#68736d;margin:0 0 .5rem}.services{background:var(--cream)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.service-card{min-height:610px;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;color:#fff;overflow:hidden;background-position:center;background-size:cover}.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,24,19,.9) 0%,rgba(11,24,19,.14) 65%);transition:.4s}.service-card:hover:before{background:linear-gradient(0deg,rgba(11,24,19,.92) 0%,rgba(11,24,19,.3) 70%)}.windows-card{background-image:url("https://images.squarespace-cdn.com/content/v1/6a3e12b4bee7a0423bbbb6e2/1782452920424-K69HJUNKB3VA7HJ3U47O/iStock-175598293.jpg?format=1500w")}.doors-card{background-image:url("https://images.squarespace-cdn.com/content/v1/6a3e12b4bee7a0423bbbb6e2/a9b7908e-3774-467c-81e1-b5b175778e73/AdobeStock_849452334.jpeg?format=1500w")}.card-number,.card-body{position:relative;z-index:1}.card-number{font-size:.74rem;border:1px solid rgba(255,255,255,.65);width:42px;height:42px;display:grid;place-items:center}.card-body{max-width:470px;padding:1.6rem}.card-body h3{font-size:clamp(2.5rem,4vw,4.7rem);font-weight:600}.card-body p{color:rgba(255,255,255,.78);margin:1.1rem 0 1.4rem}.card-body a{font-weight:700;font-size:.88rem}.card-body a span{margin-left:.5rem}
.process{background:var(--forest);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,10vw,11rem)}.process-intro{position:sticky;top:120px;align-self:start}.process h2{font-size:clamp(2.7rem,4.4vw,5rem);font-weight:600}.process-intro>p:last-child{color:rgba(255,255,255,.65);max-width:420px;margin-top:1.5rem}.process-list{margin:0;padding:0;list-style:none}.process-list li{display:grid;grid-template-columns:65px 1fr;gap:1.2rem;padding:2.3rem 0;border-top:1px solid rgba(255,255,255,.2)}.process-list li:last-child{border-bottom:1px solid rgba(255,255,255,.2)}.process-list>li>span{font-size:.75rem;color:var(--accent)}.process-list h3{font-size:1.55rem;letter-spacing:-.03em}.process-list p{color:rgba(255,255,255,.64);max-width:520px;margin:.7rem 0 0}
.work-heading{align-items:end}.gallery{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:1fr 1fr;gap:1.1rem;height:770px}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,20,16,.63),transparent 45%)}.gallery-main{grid-row:span 2}.gallery img{transition:transform .65s ease}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;z-index:1;left:1.4rem;bottom:1.2rem;color:#fff;font-weight:600}.story{background:var(--cream);display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,8vw,9rem);align-items:center}.story-image{height:710px}.story-copy{max-width:620px}.story-copy h2{font-size:clamp(2.7rem,4.6vw,5.2rem);font-weight:600}.story-copy p:not(.eyebrow){color:#5b655f}.story-copy .lead{color:var(--ink);margin-top:1.8rem}.story blockquote{grid-column:1/-1;margin:1rem 0 0;border-top:1px solid #cdd1cb;padding-top:3.2rem;display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:end}.story blockquote p{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,3.2rem);line-height:1.3;letter-spacing:-.03em;max-width:1000px;margin:0}.story cite{font-style:normal;font-weight:700;font-size:.9rem}.story cite span{display:block;font-weight:400;color:#68736d;margin-top:.3rem}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(4rem,10vw,11rem)}.faq-title{position:sticky;top:120px;align-self:start}.accordion{border-top:1px solid var(--line)}.accordion details{border-bottom:1px solid var(--line)}.accordion summary{list-style:none;cursor:pointer;padding:1.8rem 0;display:flex;justify-content:space-between;align-items:center;font-family:var(--display);font-size:1.2rem;font-weight:700}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:1.5rem;font-weight:400;transition:.25s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{color:#616b65;max-width:660px;margin:-.2rem 3rem 1.8rem 0}
.contact{background:#162a23;color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,10vw,11rem);align-items:end}.contact h2{font-size:clamp(3rem,5.4vw,6.5rem);font-weight:600;max-width:850px}.contact-copy>p:last-child{color:rgba(255,255,255,.63);max-width:630px;margin-top:1.8rem}.contact-actions{border-top:1px solid rgba(255,255,255,.22)}.contact-link{display:grid;grid-template-columns:1fr auto;align-items:center;padding:1.45rem 0;border-bottom:1px solid rgba(255,255,255,.22);transition:.25s}.contact-link span,.contact-link strong{display:block}.contact-link span{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.55)}.contact-link strong{font-size:1.05rem;margin-top:.25rem}.contact-link b{grid-row:1/3;grid-column:2;font-size:1.3rem}.contact-link:hover{padding-left:.7rem;color:var(--accent)}footer{background:#101d18;color:#fff;padding:4rem clamp(1.2rem,7vw,8rem) 1.5rem}.footer-brand{width:max-content}footer>p{color:rgba(255,255,255,.55);margin:1.4rem 0 3rem}.footer-links{display:flex;gap:2rem;padding-bottom:3rem}.footer-links a{font-size:.88rem;font-weight:600}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding-top:1.2rem;display:flex;justify-content:space-between;color:rgba(255,255,255,.45);font-size:.75rem}.footer-bottom div{display:flex;gap:1.5rem}
@media(max-width:900px){.site-header{position:absolute;height:72px}.menu-toggle{display:block;z-index:2}.site-header nav{position:fixed;inset:0;background:var(--forest);padding:7rem 2rem 3rem;flex-direction:column;align-items:flex-start;gap:1.5rem;font-family:var(--display);font-size:1.8rem;transform:translateX(100%);transition:.35s}.site-header nav.open{transform:none}.nav-cta{margin-top:1rem;font-size:1rem}.hero{min-height:720px}.hero-content{margin-left:1.2rem;width:calc(100% - 2.4rem)}.hero-proof{right:0;left:0;width:100%}.hero-proof div{padding:1rem}.intro-grid,.process,.story,.faq,.contact{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{margin-top:1.5rem}.service-card{min-height:520px}.process-intro,.faq-title{position:static}.gallery{height:680px}.story-image{height:520px}.story blockquote{grid-template-columns:1fr;gap:1.5rem}.contact{align-items:start}}
@media(max-width:620px){.hero{min-height:760px}.hero-image{background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(10,20,17,.82),rgba(10,20,17,.35)),linear-gradient(0deg,rgba(8,17,14,.7),transparent 50%)}h1{font-size:3.25rem}.hero-content{padding-top:10px}.hero-copy{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.hero-proof{grid-template-columns:1fr 1fr}.hero-proof div:last-child{display:none}.section-pad{padding:4.5rem 1.2rem}.intro-grid{gap:2rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:470px}.card-body{padding:1rem}.process{gap:2rem}.gallery{display:flex;overflow-x:auto;height:470px;scroll-snap-type:x mandatory}.gallery figure,.gallery-main{flex:0 0 88%;scroll-snap-align:start}.story-image{height:420px}.story{gap:2.7rem}.faq{gap:3rem}.contact-link strong{font-size:.92rem}.footer-links{display:grid;grid-template-columns:1fr 1fr}.footer-bottom{gap:1rem;align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Compact layout and multi-page styles */
.hero{min-height:620px;height:82svh;max-height:780px}
h1{font-size:clamp(3.2rem,6.2vw,6.4rem);max-width:940px}
.section-pad{padding:clamp(3.8rem,6.5vw,6.5rem) clamp(1.2rem,7vw,8rem)}
.service-card{min-height:500px}
.gallery{height:620px}
.story-image{height:560px}
.inner-page{padding-top:82px}
.inner-page .site-header{position:fixed;top:0;background:rgba(23,34,30,.97);backdrop-filter:blur(12px)}
.page-hero{min-height:390px;padding:5rem clamp(1.2rem,7vw,8rem);display:flex;align-items:end;color:#fff;background-position:center;background-size:cover;position:relative}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,17,.82),rgba(10,20,17,.2))}
.page-hero>div{position:relative;max-width:820px}
.page-hero h1{font-size:clamp(3rem,6vw,6rem)}
.page-hero p:last-child{max-width:600px;color:rgba(255,255,255,.78);font-size:1.1rem}
.page-hero.services-hero{background-image:url("https://images.squarespace-cdn.com/content/v1/6a3e12b4bee7a0423bbbb6e2/1782452920424-K69HJUNKB3VA7HJ3U47O/iStock-175598293.jpg?format=1500w")}
.page-hero.work-hero{background-image:url("https://images.squarespace-cdn.com/content/v1/6a3e12b4bee7a0423bbbb6e2/b76f8c40-da37-4bbf-97ad-73689369e1f1/AdobeStock_1028580970.jpeg?format=1500w")}
.page-hero.story-hero{background-image:url("https://images.squarespace-cdn.com/content/v1/6a3e12b4bee7a0423bbbb6e2/b82172f1-a680-4a39-b4e0-2047ffa054a9/AdobeStock_178805135.jpeg?format=1500w")}
.page-hero.faq-hero,.page-hero.contact-hero{background:var(--forest)}
.content-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,8vw,8rem)}
.content-split h2,.content-block h2{font-size:clamp(2.3rem,4vw,4.5rem);font-weight:600}
.content-split .copy{max-width:680px;color:#5d6761}
.option-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}
.option{border:1px solid var(--line);padding:1.4rem;background:#fff}
.option h3{font-size:1.2rem;letter-spacing:-.02em}.option p{color:#69726d;margin-bottom:0}
.page-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.page-gallery figure{margin:0;height:430px;position:relative;overflow:hidden}.page-gallery figure:first-child{grid-column:1/-1;height:560px}.page-gallery figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(14,29,24,.82);color:#fff;padding:.55rem .75rem;font-size:.86rem}
.simple-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--cream)}
.simple-cta h2{font-size:clamp(2.2rem,4vw,4.5rem);font-weight:600;max-width:750px}.simple-cta .button{background:var(--forest);color:#fff;flex-shrink:0}
.contact-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-panel{background:var(--cream);padding:2rem}.contact-panel h2{font-size:2rem}.contact-panel a{display:block;font-size:1.15rem;font-weight:700;margin-top:1rem}.contact-note{color:#626c66}
@media(max-width:900px){.inner-page{padding-top:72px}.content-split,.contact-page-grid{grid-template-columns:1fr}.page-gallery figure,.page-gallery figure:first-child{height:420px}.simple-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.hero{min-height:650px;height:auto;padding:8rem 0 10rem}.hero-proof{grid-template-columns:1fr 1fr}.section-pad{padding:3.5rem 1.2rem}.page-hero{min-height:330px;padding:3.5rem 1.2rem}.option-list,.page-gallery{grid-template-columns:1fr}.page-gallery figure,.page-gallery figure:first-child{grid-column:auto;height:330px}.service-card{min-height:420px}.gallery{height:420px}.story-image{height:380px}}
.site-header nav a[aria-current="page"]:after{right:0!important}

/* Process section readability */
.process-intro{position:static;top:auto}
.process-intro .eyebrow{font-size:.84rem;letter-spacing:.16em;font-weight:800;color:#fff}
.process-intro h2{font-size:clamp(2.8rem,4.1vw,4.6rem);line-height:1.16;letter-spacing:-.035em}
.process-intro h2 em{letter-spacing:.01em;word-spacing:.08em;line-height:1.24}
.process-intro>p:last-child{font-size:1.08rem;line-height:1.75;color:rgba(255,255,255,.82)}
.process-list>li>span{font-size:1.05rem;line-height:1.4;font-weight:700;color:#e0b858;letter-spacing:.03em}
.process-list h3{font-size:clamp(1.45rem,2vw,1.8rem);line-height:1.3;letter-spacing:-.02em}
.process-list p{font-size:1.05rem;line-height:1.65;color:rgba(255,255,255,.8)}
@media(max-width:620px){.process-list li{grid-template-columns:48px 1fr}.process-intro h2{font-size:2.65rem}}

/* Clearer hero navigation */
.site-header{border-bottom:0}
.site-header nav{background:rgba(50,56,56,.56);backdrop-filter:blur(7px);padding:.55rem .75rem}
.hero-shade{background:linear-gradient(90deg,rgba(24,30,29,.76) 0%,rgba(52,57,57,.5) 52%,rgba(65,69,70,.42) 100%),linear-gradient(0deg,rgba(20,26,24,.5),transparent 52%)}

/* Compact product page */
.services-page .page-hero{min-height:340px}.services-page .products-section{padding-top:4.5rem;padding-bottom:4.5rem}.products-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem);margin-bottom:2.5rem}.products-heading h2{font-size:clamp(2.5rem,4.5vw,5rem);font-weight:600}.products-heading>div:last-child{max-width:680px;color:#5d6761}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.product-card{background:#fff;border:1px solid var(--line);overflow:hidden}.product-thumb{height:190px;overflow:hidden}.product-thumb img{transition:transform .4s}.product-card:hover .product-thumb img{transform:scale(1.035)}.product-card-body{padding:1.25rem}.product-card-body .product-type{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#758079;font-weight:700}.product-card h3{font-size:1.25rem;letter-spacing:-.02em;margin:.35rem 0 .5rem}.product-card p{color:#69726d;margin:0;font-size:.94rem}.services-page .simple-cta{padding-top:3rem;padding-bottom:3rem}

/* Project inquiry form */
.form-section{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,8vw,8rem);align-items:start}.form-intro h2{font-size:clamp(2.5rem,4.3vw,4.8rem);font-weight:600}.form-intro>p:last-of-type{color:#626c66;max-width:520px}.direct-contact{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.direct-contact a{display:block;font-weight:700;margin:.8rem 0}.direct-contact span{display:inline-block;width:64px;color:#738079;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.project-form{background:var(--cream);padding:clamp(1.5rem,3.5vw,3rem)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.project-form label{display:block;font-size:.9rem;font-weight:700;margin-bottom:1.2rem}.project-form input,.project-form select,.project-form textarea{display:block;width:100%;margin-top:.45rem;border:1px solid #c9cec8;background:#fff;color:var(--ink);font:inherit;font-weight:400;padding:.9rem 1rem;border-radius:0}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{outline:2px solid var(--forest);outline-offset:2px}.project-form textarea{resize:vertical;min-height:145px}.project-form .optional{max-width:50%}.form-submit{width:100%;border:0;background:var(--forest);color:#fff;padding:1rem 1.2rem;font:700 1rem var(--body);display:flex;justify-content:space-between;cursor:pointer}.form-submit:hover{background:#172b24}.form-help,.form-status{font-size:.82rem;color:#68736d;margin:.8rem 0 0}.form-status{color:var(--forest);font-weight:700}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.site-header nav{background:var(--forest);padding:7rem 2rem 3rem}.form-section,.products-heading{grid-template-columns:1fr}}
@media(max-width:620px){.form-row,.product-grid{grid-template-columns:1fr}.project-form .optional{max-width:none}.product-thumb{height:220px}.services-page .products-section{padding-top:3.2rem;padding-bottom:3.2rem}}

.contact-form-cta{border-top:1px solid rgba(255,255,255,.24);padding-top:1.8rem}.contact-form-cta p{color:rgba(255,255,255,.7);font-size:1.05rem;max-width:520px;margin:0 0 1.5rem}.contact-form-button{display:flex;align-items:center;justify-content:space-between;background:#fff;color:var(--ink);padding:1.1rem 1.25rem;font-weight:800;max-width:420px;transition:.25s}.contact-form-button:hover{background:var(--accent)}
.faq-title{position:static;top:auto}
.address-row{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:1rem}.service-area-message{min-height:1.4rem;margin:-.45rem 0 1rem;font-size:.86rem;font-weight:700}.service-area-message.is-valid{color:#315f4e}.service-area-message.is-invalid{color:#a13d32}.project-form input:invalid:not(:placeholder-shown),.project-form select:invalid{border-color:#a13d32}

/* Hierarchical product catalog */
.catalog-section{padding-top:4rem;padding-bottom:4rem}.catalog-heading{display:grid;grid-template-columns:.42fr 1fr 1fr;gap:2rem;align-items:end;margin-bottom:3rem}.catalog-heading h2{font-size:clamp(2.5rem,4vw,4.5rem);font-weight:600}.catalog-heading>p:last-child{color:#68736d;margin:0}.product-family{border-top:1px solid var(--line);padding:3.5rem 0}.family-header{display:grid;grid-template-columns:55px .9fr 1fr;gap:2rem;align-items:end;margin-bottom:2rem}.family-number{color:var(--accent);font-size:1rem;font-weight:800}.family-header h2{font-size:clamp(2.5rem,4vw,4.5rem);font-weight:600}.family-header>p{color:#68736d;max-width:570px;margin:0}.material-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.material-card{background:#fff;border:1px solid var(--line);padding:1.6rem}.material-card>p{color:#66716b;min-height:52px}.material-title{display:flex;align-items:center;gap:1rem}.material-title p{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:#758079;font-weight:700}.material-title h3{font-size:1.5rem;letter-spacing:-.025em;margin:.2rem 0 0}.mini-window,.mini-door{width:48px;height:48px;border:2px solid var(--forest);display:block;position:relative;flex:0 0 auto}.mini-window:before,.mini-window:after{content:"";position:absolute;background:var(--forest)}.mini-window:before{width:2px;top:0;bottom:0;left:50%}.mini-window:after{height:2px;left:0;right:0;top:50%}.mini-window.clad{box-shadow:inset 0 0 0 4px #d7c5a2}.mini-door{width:34px}.mini-door:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--forest);right:5px;top:50%}.mini-door.patio{width:54px}.mini-door.patio:before{content:"";position:absolute;width:2px;top:0;bottom:0;left:50%;background:var(--forest)}.style-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-top:1.4rem}.style-option{background:var(--cream);padding:.9rem .55rem;text-align:center;min-height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem}.style-option b{font-size:.8rem;line-height:1.25}.line-icon{width:38px;height:48px;border:1.7px solid var(--forest);position:relative;display:block}.window-double i{position:absolute;left:0;right:0;height:1.7px;background:var(--forest)}.window-double i:first-child{top:47%}.window-double i:last-child{top:55%}.window-single i{position:absolute;left:0;right:0;top:55%;height:1.7px;background:var(--forest)}.window-slider{width:52px}.window-slider i,.patio-slider i{position:absolute;top:0;bottom:0;left:50%;width:1.7px;background:var(--forest)}.window-picture:after{content:"";position:absolute;inset:5px;border:1px solid #8ca097}.window-casement i{position:absolute;left:7px;top:5px;bottom:5px;width:1.7px;background:var(--forest);transform:skewY(-28deg)}.window-awning{height:38px;width:48px}.window-awning i{position:absolute;left:5px;right:5px;top:8px;height:1.7px;background:var(--forest);transform:rotate(-10deg);transform-origin:left}.door-panel i{position:absolute;left:6px;right:6px;border:1px solid var(--forest)}.door-panel i:first-child{top:7px;height:14px}.door-panel i:last-child{bottom:7px;height:14px}.door-glass i{position:absolute;inset:5px;border:1px solid var(--forest)}.door-sidelight{width:52px}.door-sidelight i{position:absolute;top:0;bottom:0;width:1.7px;background:var(--forest)}.door-sidelight i:first-child{left:10px}.door-sidelight i:last-child{right:10px}.door-double{width:50px}.door-double i,.patio-french i{position:absolute;top:0;bottom:0;left:50%;width:1.7px;background:var(--forest)}.patio-slider{width:56px}.patio-hinged{width:50px}.patio-hinged i{position:absolute;left:50%;top:0;bottom:0;width:1.7px;background:var(--forest);transform:rotate(10deg);transform-origin:bottom}.patio-french{width:50px}.patio-multi{width:62px}.patio-multi i{position:absolute;top:0;bottom:0;width:1.7px;background:var(--forest)}.patio-multi i:first-child{left:33%}.patio-multi i:last-child{right:33%}.manufacturer-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.5rem 0;display:grid;grid-template-columns:.7fr 1.3fr;gap:2rem;align-items:center}.manufacturer-bar h2{font-size:2rem}.manufacturer-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.manufacturer-list span{background:var(--forest);color:#fff;padding:1rem;text-align:center;font-weight:700;font-size:.88rem}.availability-note{color:#707a74;font-size:.84rem;margin:1rem 0 0}.door-family{padding-top:3.5rem}
@media(max-width:1000px){.catalog-heading{grid-template-columns:1fr}.family-header{grid-template-columns:45px 1fr}.family-header>p{grid-column:2}.style-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.material-grid,.manufacturer-bar,.manufacturer-list{grid-template-columns:1fr}.family-header{grid-template-columns:1fr}.family-header>p{grid-column:auto}.family-number{margin-bottom:-1rem}.material-card>p{min-height:0}.catalog-section{padding-top:3rem;padding-bottom:3rem}}
@media(max-width:620px){.address-row{grid-template-columns:1fr 1fr}.address-row label:first-child{grid-column:1/-1}}

/* Bolder product presentation */
.product-family{background:#f0ede4;border:0;padding:2.2rem;margin-bottom:1.25rem}.door-family{background:var(--forest);color:#fff}.family-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--ink)}.door-family .family-header>p{color:rgba(255,255,255,.76)}.door-family .eyebrow{color:#fff}.material-card{border:0;box-shadow:0 12px 30px rgba(20,35,29,.08)}.door-family .material-card{color:var(--ink)}.style-option{border-bottom:3px solid transparent;transition:transform .2s,border-color .2s,background .2s}.style-option:hover{transform:translateY(-3px);border-color:var(--accent);background:#f7f3e8}.manufacturer-bar{margin-top:2.5rem}.manufacturer-list span{border-bottom:3px solid var(--accent)}
@media(max-width:760px){.product-family{padding:1.3rem}.family-number{margin-bottom:.2rem}}

.product-symbol{width:48px;height:48px;border:2px solid var(--forest);background:#fff;color:var(--forest);display:grid;place-items:center;font-family:var(--display);font-size:.78rem;font-weight:800;letter-spacing:.04em;box-shadow:inset 0 0 0 4px var(--cream)}
.project-type-group{border:0;padding:0;margin:0 0 1.2rem}.project-type-group legend{font-size:.9rem;font-weight:700;margin-bottom:.55rem}.project-type-group legend span{font-weight:400;color:#6b756f;margin-left:.35rem}.project-type-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.project-form .project-type-choice{margin:0;position:relative}.project-type-choice input{position:absolute;opacity:0;width:1px!important;height:1px;padding:0!important;margin:0!important}.project-type-choice span{display:block;background:#fff;border:1px solid #c9cec8;padding:.9rem;text-align:center;font-weight:700;cursor:pointer;transition:.2s}.project-type-choice input:focus+span{outline:2px solid var(--forest);outline-offset:2px}.project-type-choice input:checked+span{background:var(--forest);border-color:var(--forest);color:#fff}.project-type-message{min-height:1.25rem;margin:.4rem 0 0;font-size:.84rem;font-weight:700}.project-type-message.is-invalid{color:#a13d32}
@media(max-width:620px){.project-type-options{grid-template-columns:1fr}}

/* Refined product drawings */
.line-icon{box-sizing:border-box;width:46px;height:54px;border-width:2px;background:#fff}.window-slider,.door-sidelight,.door-double,.patio-hinged,.patio-french{width:56px}.patio-slider{width:62px}.patio-multi{width:68px}.window-picture:after{inset:6px;border-width:1.5px}.window-casement i{left:7px;right:7px;top:7px;bottom:7px;width:auto;height:auto;border:1.5px solid var(--forest);background:linear-gradient(145deg,transparent 48%,var(--forest) 49%,var(--forest) 52%,transparent 53%);transform:none}.window-awning{width:54px;height:46px}.window-awning i{left:7px;right:7px;top:8px;height:25px;border:1.5px solid var(--forest);background:rgba(35,63,54,.05);transform:skewX(-7deg) translateY(3px);transform-origin:top;width:auto}.door-glass i{inset:6px}.patio-hinged i{left:50%;transform:rotate(7deg)}

/* Compact spacing keeps each section connected to the next. */
.section-pad{padding:clamp(3.25rem,5.5vw,5.5rem) clamp(1.2rem,7vw,8rem)}
.service-card{min-height:540px}
.gallery{height:650px}
.story-image{height:600px}
@media(max-width:620px){.section-pad{padding:3rem 1.2rem}.service-card{min-height:400px}.gallery{height:400px}.story-image{height:350px}}

/* Heritage brand details */
.brand>span:last-child{font-family:Georgia,"Times New Roman",serif;font-size:1.12rem;font-weight:400;letter-spacing:-.035em;white-space:nowrap}
.brand small{display:inline;font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:none;font-weight:inherit;margin:0}
.family-feature{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2.5rem,7vw,7rem);align-items:center;background:#f0ede4}
.family-photo{height:clamp(430px,48vw,650px);overflow:hidden}
.family-photo img{object-position:center center}
.family-message{position:relative;max-width:600px;padding:2rem 0}
.family-message h2{font-size:clamp(2.6rem,4.6vw,5.2rem);font-weight:600}
.family-message>p:not(.eyebrow){color:#55615b;max-width:540px}
.family-message .lead{color:var(--ink);margin-top:1.7rem}
.heritage-flower{position:absolute;width:190px;height:auto;object-fit:contain;right:-1rem;top:-4.5rem;opacity:.13;mix-blend-mode:multiply;pointer-events:none}
@media(max-width:900px){.family-feature{grid-template-columns:1fr}.family-photo{height:520px}.family-message{padding:0}.heritage-flower{right:0;top:-2rem;width:150px}}
@media(max-width:620px){.brand-mark{width:27px;height:27px}.brand>span:last-child{font-size:.93rem}.family-photo{height:390px}.heritage-flower{width:120px;top:-1rem}.family-message h2{font-size:2.7rem}}

/* Clear service-area callout */
.service-area-callout{margin-top:1.4rem!important;padding:1rem 1.1rem;border-left:4px solid var(--accent);background:#f0ede4;color:var(--ink)!important}
.service-area-callout strong{display:block;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.2rem}

/* Cleaner product drawings */
.window-casement i{inset:7px;width:auto;height:auto;border:1.5px solid var(--forest);background:none;transform:none}
.window-casement i:after{content:"";position:absolute;right:3px;top:45%;width:2px;height:7px;background:var(--forest)}
.window-awning i{inset:8px 7px 9px;width:auto;height:auto;border:1.5px solid var(--forest);border-top-width:3px;background:rgba(35,63,54,.04);transform:none}
.patio-hinged i{left:50%;top:0;bottom:0;transform:none}
.patio-hinged:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:var(--forest);left:43%;top:50%}

/* Distributor logos */
.manufacturer-logo{height:96px;display:flex!important;align-items:center;justify-content:center;padding:1.1rem 1.3rem!important;border-bottom:3px solid var(--accent)}
.manufacturer-logo.dark{background:var(--forest)!important}.manufacturer-logo.light{background:#fff!important;border:1px solid var(--line);border-bottom:3px solid var(--accent)}
.manufacturer-logo img{width:100%;height:100%;object-fit:contain}

/* Keep the story ending compact and connected. */
.story-recommendations{padding-top:3.5rem;padding-bottom:3.5rem}
.story-recommendation-cta{margin-top:1.4rem;background:var(--forest);color:#fff;width:max-content}

/* Use one consistent typeface throughout every title and subtitle. */
h1 em,h2 em,.process-intro h2 em{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit;word-spacing:normal;line-height:inherit}

/* Balanced layouts keep supporting copy readable and close to its heading. */
.intro-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem)}
.intro-grid>div{font-size:1.06rem;max-width:680px}
.section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(2rem,5vw,5rem);margin-bottom:2.6rem}
.section-heading>p{justify-self:start;max-width:540px;font-size:1.05rem;line-height:1.65;margin:0 0 .5rem}
.contact{grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:start}
.contact-copy>p:last-child,.contact-form-cta p{font-size:1.06rem;line-height:1.7}
.content-split{gap:clamp(2.5rem,5vw,5rem)}
.content-split .copy{font-size:1.04rem;line-height:1.7}
.catalog-heading{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:1rem 4rem;margin-bottom:2.25rem;align-items:end}
.catalog-heading .eyebrow{grid-column:1/-1;margin-bottom:0}
.catalog-heading>p:last-child{font-size:1.04rem;line-height:1.65;max-width:600px}
.family-header{grid-template-columns:55px minmax(0,1fr);gap:1rem 2rem;align-items:start}
.family-header>p{grid-column:2;font-size:1.04rem;line-height:1.65;max-width:700px}

/* Distinct back-door drawings */
.patio-slider i{left:44%}
.patio-slider i:after{content:"";position:absolute;top:0;bottom:0;left:7px;width:1.7px;background:var(--forest)}
.patio-slider:before,.patio-slider:after{content:"";position:absolute;left:4px;right:4px;height:1.5px;background:#8ca097}
.patio-slider:before{top:5px}.patio-slider:after{bottom:5px}
.patio-hinged i{inset:5px;width:auto;height:auto;border:1.5px solid var(--forest);background:none}
.patio-hinged i:before{content:"";position:absolute;left:-4px;top:7px;width:3px;height:3px;background:var(--forest);box-shadow:0 12px 0 var(--forest),0 24px 0 var(--forest)}
.patio-hinged i:after{content:"";position:absolute;right:4px;top:48%;width:3px;height:3px;border-radius:50%;background:var(--forest)}
.patio-hinged:after{display:none}
.patio-french:before,.patio-french:after{content:"";position:absolute;top:48%;width:3px;height:3px;border-radius:50%;background:var(--forest)}
.patio-french:before{left:42%}.patio-french:after{right:42%}
.patio-multi:before,.patio-multi:after{content:"";position:absolute;left:4px;right:4px;height:1.5px;background:#8ca097}
.patio-multi:before{top:5px}.patio-multi:after{bottom:5px}

/* Logos sit directly on one shared surface with no individual background boxes. */
.manufacturer-bar{background:var(--forest);color:#fff;border:0;padding:2rem;margin-top:2rem}
.manufacturer-bar .eyebrow{color:#fff}.manufacturer-bar .eyebrow:before{background:#fff}
.manufacturer-list{align-items:center;gap:1.5rem}
.manufacturer-logo,.manufacturer-logo.dark,.manufacturer-logo.light{height:82px;background:transparent!important;border:0!important;padding:.65rem!important}
.manufacturer-logo img{object-fit:contain;max-height:70px}

@media(max-width:900px){.intro-grid,.section-heading,.contact,.catalog-heading{grid-template-columns:1fr}.catalog-heading .eyebrow{grid-column:auto}.family-header{grid-template-columns:45px 1fr}.family-header>p{grid-column:2}}
@media(max-width:620px){.family-header{grid-template-columns:1fr}.family-header>p{grid-column:auto}.manufacturer-bar{padding:1.4rem}}

/* Keep homepage explanations directly connected to their headings. */
.intro .intro-grid{grid-template-columns:minmax(0,900px);gap:1.15rem}
.intro .intro-grid>div{max-width:760px;padding-top:0}
.intro.section-pad{padding-top:clamp(3rem,4.5vw,4.5rem);padding-bottom:clamp(3rem,4.5vw,4.5rem)}
.services>.section-heading{grid-template-columns:minmax(0,900px);gap:1.15rem;margin-bottom:2.25rem}
.services>.section-heading>p{max-width:760px;margin:0;justify-self:start}
.services.section-pad{padding-top:clamp(3rem,4.5vw,4.5rem);padding-bottom:clamp(3rem,4.5vw,4.5rem)}

/* Sitewide spacing pass: shorter sections, closer copy, and better-scaled visuals. */
.section-pad{padding:clamp(2.75rem,4.2vw,4.5rem) clamp(1.2rem,6vw,7rem)}
.hero{min-height:590px;height:76svh;max-height:720px}
.hero-content{padding-top:35px}
.hero-copy{margin:1.35rem 0 1.65rem}
.hero-proof div{padding:1rem 1.2rem}
.page-hero{min-height:300px;padding:3.5rem clamp(1.2rem,6vw,7rem)}
.page-hero p:last-child{margin-bottom:0}
.section-heading{margin-bottom:2rem}
.section-heading h2{max-width:850px}
.service-grid{gap:1rem}
.service-card{min-height:430px}
.card-body{padding:1.2rem}
.process{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(2.5rem,6vw,6rem)}
.process-list li{padding:1.7rem 0}
.gallery{height:520px}
.story{gap:clamp(2.5rem,5vw,5rem)}
.story-image{height:470px}
.story blockquote{padding-top:2.25rem;gap:2.5rem}
.faq{grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:clamp(2.5rem,6vw,6rem)}
.accordion summary{padding:1.4rem 0}
.contact{gap:clamp(2.5rem,5vw,5rem)}
footer{padding-top:3rem}
footer>p{margin-bottom:2rem}
.footer-links{padding-bottom:2rem}

/* Editorial pages read naturally from heading to paragraph instead of edge to edge. */
.content-split{grid-template-columns:minmax(0,900px);gap:1.25rem}
.content-split .copy{max-width:760px}
.content-split .copy p:first-child{margin-top:0}
.story-recommendations{padding-top:3rem;padding-bottom:3rem}
.story-recommendation-cta{margin-top:.75rem}
.family-feature{grid-template-columns:minmax(320px,.9fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem)}
.family-photo{height:460px}
.family-message{padding:1rem 0}

/* Product groups stay visually connected without oversized cards or blank bands. */
.catalog-section{padding-top:3.25rem;padding-bottom:3.25rem}
.catalog-heading{grid-template-columns:minmax(0,850px);gap:.9rem;margin-bottom:1.75rem}
.catalog-heading .eyebrow{grid-column:auto}
.catalog-heading>p:last-child{max-width:720px}
.product-family{padding:1.75rem;margin-bottom:1rem}
.family-header{margin-bottom:1.5rem}
.material-card{padding:1.35rem}
.material-card>p{min-height:0;margin:.8rem 0 1rem}
.style-grid{gap:.6rem;margin-top:1rem}
.style-option{min-height:104px;padding:.75rem .45rem}
.line-icon{width:42px;height:48px}
.window-slider,.door-sidelight,.door-double,.patio-hinged,.patio-french{width:52px}
.patio-slider{width:57px}.patio-multi{width:62px}
.manufacturer-bar{padding:1.5rem 1.75rem;margin-top:1.5rem}
.manufacturer-logo,.manufacturer-logo.dark,.manufacturer-logo.light{height:68px}
.manufacturer-logo img{max-height:56px}
.services-page .simple-cta,.simple-cta{padding-top:2.4rem;padding-bottom:2.4rem}

/* Forms and galleries use their space without feeling stretched. */
.form-section{gap:clamp(2.5rem,5vw,5rem)}
.project-form{padding:clamp(1.4rem,2.6vw,2.25rem)}
.page-gallery{gap:.8rem}
.page-gallery figure{height:340px}
.page-gallery figure:first-child{height:440px}

@media(max-width:900px){
  .hero{min-height:620px;height:auto}
  .process,.faq,.family-feature{grid-template-columns:1fr}
  .family-photo{height:430px}
  .gallery{height:500px}
}

/* Inner pages use a fixed header; give their open menu its own solid layer. */
@media(max-width:900px){
  body.inner-page .site-header nav.open{
    position:fixed;
    inset:0;
    min-height:100vh;
    min-height:100dvh;
    background:#18352c!important;
    opacity:1!important;
    isolation:isolate;
    z-index:1000;
    box-shadow:0 0 0 100vmax #18352c;
  }
  body.inner-page .site-header nav.open::before{
    content:"";
    position:absolute;
    inset:0;
    background:#18352c;
    z-index:-1;
  }
  body.inner-page .site-header .menu-toggle{z-index:1001}
}
@media(max-width:620px){
  .hero{min-height:620px;padding:7rem 0 9rem}
  .page-hero{min-height:270px;padding:3rem 1.2rem}
  .section-pad{padding:2.75rem 1.2rem}
  .service-card{min-height:370px}
  .gallery{height:370px}
  .story-image,.family-photo{height:330px}
  .product-family{padding:1.1rem}
  .style-option{min-height:98px}
  .manufacturer-bar{padding:1.25rem}
  .page-gallery figure,.page-gallery figure:first-child{height:300px}
  .simple-cta{padding-top:2rem;padding-bottom:2rem}
}

/* Give the homepage message clear breathing room below the logo and navigation. */
.hero-content{margin-top:clamp(4.5rem,8vh,6.5rem);padding-top:0}
@media(max-width:900px){.hero-content{margin-top:4.75rem}}
@media(max-width:620px){.hero-content{margin-top:2.5rem}}

/* Use the full content width without stranding small paragraphs at the edge. */
.section-heading{grid-template-columns:minmax(0,1000px);gap:1.1rem;align-items:start}
.section-heading>p{max-width:850px;font-size:1.18rem;line-height:1.6;margin:0}
.work .section-heading,.work-heading{grid-template-columns:minmax(0,1100px)}
.intro .intro-grid{grid-template-columns:1fr;max-width:none}
.intro .intro-grid h2{max-width:1250px}
.intro .intro-grid>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 2.5rem;max-width:none;font-size:1.1rem}
.intro .intro-grid>div .lead{margin-top:0}
.intro .service-area-callout{grid-column:1/-1;max-width:none;margin-top:1rem!important}
@media(max-width:760px){
  .intro .intro-grid>div{grid-template-columns:1fr;gap:0}
  .intro .service-area-callout{grid-column:auto}
}

/* Align product style rows even when their descriptions wrap differently. */
.material-card>p{min-height:4.1rem;display:flex;align-items:flex-start}

/* Give the two story sections distinct, balanced compositions. */
.inner-page .content-split:not(.story-recommendations){grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.inner-page .content-split:not(.story-recommendations) .copy{max-width:760px;font-size:1.08rem}
.story-recommendations{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,7vw,7rem);align-items:start;background:var(--forest)!important;color:#fff}
.story-recommendations .eyebrow{color:#fff}
.story-recommendations .copy{max-width:760px;color:rgba(255,255,255,.8);font-size:1.08rem}
.story-recommendations .copy .lead{color:#fff}
.story-recommendations .story-recommendation-cta{background:#fff;color:var(--ink)}

/* Keep all hero actions comfortably inside the photograph. */
@media(min-width:901px){
  .hero{min-height:760px;height:88svh;max-height:840px}
  .hero-content{margin-top:3.5rem}
  .hero h1{font-size:clamp(3.4rem,5.4vw,5.8rem);line-height:1.04}
  .hero-copy{margin:1rem 0 1.35rem}
}
@media(max-width:900px){
  .inner-page .content-split:not(.story-recommendations),.story-recommendations{grid-template-columns:1fr;gap:1.4rem}
  .material-card>p{min-height:0}
}

/* Clear, recognizable icons for clad windows and back doors. */
.window-casement{overflow:visible}
.window-casement i{inset:6px 11px 6px 6px;border:2px solid var(--forest);background:#fff;transform:skewY(-7deg);transform-origin:left center}
.window-casement i:before{content:"";position:absolute;left:-6px;top:3px;width:3px;height:3px;background:var(--forest);box-shadow:0 12px 0 var(--forest),0 24px 0 var(--forest)}
.window-casement i:after{right:4px;top:45%;width:3px;height:8px;border-radius:2px}
.window-awning{overflow:visible}
.window-awning i{inset:7px 6px 10px;border:2px solid var(--forest);background:#fff;transform:skewX(-8deg) translateY(3px);transform-origin:top center}
.window-awning:before,.window-awning:after{content:"";position:absolute;top:10px;width:2px;height:25px;background:#8ca097}
.window-awning:before{left:8px;transform:rotate(-13deg)}.window-awning:after{right:8px;transform:rotate(13deg)}

.patio-slider{background:linear-gradient(90deg,#fff 0 46%,#edf1ee 46% 54%,#fff 54%)}
.patio-slider i{left:43%;top:4px;bottom:4px;border:1.5px solid var(--forest);width:45%;background:#fff}
.patio-slider i:after{left:auto;right:-8px;top:45%;bottom:auto;width:4px;height:8px;border-radius:2px}
.patio-slider:before,.patio-slider:after{left:5px;right:5px;background:#8ca097}
.patio-hinged i{inset:5px 10px 5px 5px;transform:perspective(60px) rotateY(-12deg);transform-origin:left center;background:#fff}
.patio-hinged i:before{left:-5px;top:6px;box-shadow:0 11px 0 var(--forest),0 22px 0 var(--forest),0 33px 0 var(--forest)}
.patio-hinged i:after{right:4px;width:4px;height:4px}
.patio-french{background:linear-gradient(90deg,transparent 49%,var(--forest) 49% 52%,transparent 52%)}
.patio-french:before,.patio-french:after{top:6px;bottom:6px;width:18px;height:auto;border:1.5px solid #8ca097;border-radius:0;background:repeating-linear-gradient(0deg,transparent 0 9px,#8ca097 9px 10.5px)}
.patio-french:before{left:5px}.patio-french:after{right:5px}
.patio-multi{background:repeating-linear-gradient(90deg,#fff 0 20px,#edf1ee 20px 22px)}
.patio-multi i{background:var(--forest)}
.patio-multi:before,.patio-multi:after{left:4px;right:4px;background:#8ca097}

/* Fixed SVG product icons stay crisp and consistent at every screen size. */
.product-icon-svg{width:52px;height:56px;display:block;color:var(--forest);fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.product-icon-svg.wide{width:66px}
.product-icon-svg .soft-line{stroke:#8ca097}

/* Product categories do not need step numbers. */
.service-card{justify-content:flex-end}
.family-header{grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:1.25rem 3rem;align-items:end}
.family-header>p{grid-column:auto;max-width:680px}
@media(max-width:760px){.family-header{grid-template-columns:1fr;gap:1rem}.family-header>p{grid-column:auto}}

/* High-contrast Windsor wordmark matches the scale of the other distributors. */
.manufacturer-logo.windsor-wordmark{display:flex!important;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-family:Georgia,"Times New Roman",serif;line-height:.88;text-transform:uppercase}
.windsor-wordmark strong{font-size:2rem;font-weight:600;letter-spacing:.04em}
.windsor-wordmark small{font-family:var(--body);font-size:.62rem;font-weight:700;letter-spacing:.2em;margin-top:.55rem}

/* Preserve Windsor's actual artwork while balancing it with the other logos. */
.manufacturer-list .manufacturer-logo{height:104px;min-width:0}
.manufacturer-list .manufacturer-logo:not(.windsor-logo) img{max-width:260px;max-height:64px}
.manufacturer-logo.windsor-logo img{width:104px;height:104px;max-width:104px;max-height:104px;object-fit:contain;filter:none}

/* Visually group the three brands instead of spacing them across the full row. */
.manufacturer-bar{grid-template-columns:minmax(330px,.7fr) minmax(0,1.3fr);gap:clamp(2rem,4vw,5rem)}
.manufacturer-list{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));align-items:center;gap:clamp(1.25rem,2.5vw,2.5rem)}
.manufacturer-list .manufacturer-logo{width:100%;height:86px;padding:.35rem!important;display:flex;align-items:center;justify-content:center}
.manufacturer-list .manufacturer-logo:nth-child(1) img{width:min(100%,220px);height:auto;max-height:62px;object-fit:contain}
.manufacturer-list .manufacturer-logo:nth-child(2) img{width:min(100%,178px);height:auto;max-height:66px;object-fit:contain}
.manufacturer-list .windsor-logo{display:flex!important;flex-direction:row;align-items:center;justify-content:center;gap:.5rem}
.manufacturer-list .windsor-logo .windsor-lion{width:54px;height:54px;max-width:54px;max-height:54px;object-fit:contain}
.manufacturer-list .windsor-logo .windsor-type{width:138px;height:auto;max-width:138px;max-height:60px;object-fit:contain;clip-path:inset(12px 0 0);transform:translateY(-2px)}
@media(max-width:960px){.manufacturer-bar{grid-template-columns:1fr}.manufacturer-list{max-width:760px}}
@media(max-width:620px){.manufacturer-list{grid-template-columns:1fr;gap:.75rem}.manufacturer-list .manufacturer-logo{height:72px}.manufacturer-list .windsor-logo{justify-content:center}}

/* Privacy policy */
.page-hero.privacy-hero{background:var(--forest)}
.privacy-content{max-width:980px;margin:0 auto}
.privacy-content h2{font-size:clamp(1.55rem,2.3vw,2.1rem);letter-spacing:-.025em;margin:2.3rem 0 .7rem}
.privacy-content p{color:#56625c;font-size:1.05rem;line-height:1.75;max-width:850px}
.privacy-content a{text-decoration:underline;text-underline-offset:3px;font-weight:700;color:var(--forest)}
.privacy-updated{padding-bottom:1.4rem;border-bottom:1px solid var(--line)}

/* Keep the mobile navigation fully opaque and readable over every page. */
@media(max-width:900px){
  .site-header nav,
  .site-header nav.open{
    background:#18352c!important;
    background-color:#18352c!important;
    color:#fff;
    opacity:1;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    z-index:1;
  }
  .site-header nav a{color:#fff}
  .site-header nav .nav-cta{border-color:rgba(255,255,255,.8)}
  .site-header .menu-toggle{position:relative;z-index:2}
  .button>span,
  .text-link>span,
  .card-body a>span,
  .contact-form-button>span,
  .form-submit>span{
    display:inline-block;
    min-width:1rem;
    font-size:0;
    font-family:Arial,sans-serif;
    font-variant-emoji:text;
    line-height:1;
  }
  .button>span::before,
  .text-link>span::before,
  .card-body a>span::before,
  .contact-form-button>span::before,
  .form-submit>span::before{
    content:"\2197\FE0E";
    font-size:1rem;
    font-family:Arial,sans-serif;
    font-variant-emoji:text;
  }
}
