@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
:root{--navy:#11283c;--ink:#142a3b;--gold:#dba229;--cream:#f7f4ee;--muted:#5a6570;--line:#d9dde0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:#fff}a{color:inherit}button{font:inherit}.wrap{width:min(100% - 72px,1200px);margin-inline:auto}.skip{position:absolute;top:-100px;left:12px;padding:12px;background:white;z-index:100}.skip:focus{top:12px}.site-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid #ececeb}.header-inner{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;flex:none}.brand img{width:158px;height:auto;display:block}.nav{display:flex;align-items:center;gap:34px}.nav a,.header-call{text-decoration:none;font-weight:600;font-size:14px}.nav a:hover,.header-call:hover{color:#a8750e}.header-call{border-bottom:1px solid var(--gold);padding-bottom:5px;white-space:nowrap}.menu-toggle,.mobile-nav{display:none}.hero{min-height:660px;position:relative;display:flex;align-items:center;color:white;overflow:hidden;background:var(--navy)}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(10,29,45,.86) 0%,rgba(10,29,45,.68) 34%,rgba(10,29,45,.2) 70%,rgba(10,29,45,.06) 100%)}.hero-content{position:relative;z-index:1;padding-block:90px 100px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;color:#a9781a;margin:0 0 24px}.eyebrow.light{color:#f0ba43}.hero h1,.section h2{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;letter-spacing:-.055em}.hero h1{font-size:clamp(3.4rem,6vw,6.5rem);line-height:1.08;margin:0 0 25px;max-width:780px}.hero em,.section h2 em{font-weight:400;color:#e2b75e}.hero-content>p:not(.eyebrow){font-size:1.125rem;line-height:1.68;max-width:540px;margin:0 0 32px;color:#f2f2ef}.hero-actions,.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:50px;padding:14px 22px;display:inline-flex;justify-content:center;align-items:center;gap:22px;text-decoration:none;text-align:center;font-size:14px;font-weight:700;transition:background .2s,transform .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#142333}.button-gold:hover{background:#f1bd50}.button-outline{border:1px solid rgba(255,255,255,.75);color:white}.button-outline:hover{background:white;color:var(--navy)}.hero-note{position:absolute;right:36px;bottom:20px;color:#fff;font-size:12px;letter-spacing:.04em;text-shadow:0 1px 4px #333}.section{padding-block:105px}.section-intro{margin-bottom:42px}.section h2{font-size:clamp(2.35rem,4vw,4.4rem);line-height:1.18;margin:0 0 18px}.section-intro>p:last-child{color:var(--muted);margin:0;font-size:1.1rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{padding:30px;background:var(--cream);min-height:385px;display:flex;flex-direction:column}.service-number{font-size:12px;letter-spacing:.16em;font-weight:700;color:#98701d}.service-card h3{font-family:'Libre Baskerville',Georgia,serif;font-size:1.55rem;margin:20px 0 10px}.service-card p{font-size:15px;line-height:1.65;color:#4c5963;margin:0 0 24px}.service-card>a{margin-top:auto;font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px;align-self:flex-start}.service-card>a:hover{color:#916209}.service-mark{font-family:'Libre Baskerville',Georgia,serif;font-size:6rem;line-height:1;color:#d0bb8c;height:110px;margin-top:20px}.about{background:#f4f5f4}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.about h2{margin:0}.about h2 em{color:#af7c17}.about-copy{padding-top:43px}.about-copy>p:first-child{font-size:1.24rem;line-height:1.8;margin:0}.about-rule{height:1px;background:#b4bec4;margin:35px 0 22px}.about-small{font-size:14px;color:#586774;font-weight:700;line-height:1.7}.contact{background:var(--navy);color:#fff}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{margin-bottom:24px}.contact-layout>div:first-child>p:last-child{max-width:440px;color:#d2dce2;font-size:1.1rem;line-height:1.7}.contact-panel{border:1px solid rgba(255,255,255,.3);padding:40px;align-self:start}.contact-panel>span{font-size:12px;letter-spacing:.18em;color:#efb749;font-weight:700}.contact-big{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(1.6rem,2.9vw,2.5rem);display:block;text-decoration:none;margin:22px 0 12px;white-space:nowrap}.contact-big:hover,.contact-email:hover{color:#efb749}.contact-email{display:inline-block;margin-bottom:34px;color:#e5ebef;text-underline-offset:5px;overflow-wrap:anywhere}.contact-panel .button-outline{min-width:125px}footer{background:#fff}.footer-inner{min-height:180px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding-block:25px}.footer-inner img{width:145px;height:auto}.footer-inner p{margin:0;font-size:13px;color:var(--muted)}.footer-inner a{margin-left:auto;font-weight:700;text-decoration:none}.footer-inner small{color:var(--muted);width:100%;text-align:right;margin-top:-45px}@media(max-width:850px){.nav{gap:16px}.header-call{display:none}.hero{min-height:620px}.service-grid{gap:12px}.service-card{padding:22px}.about-layout,.contact-layout{gap:35px}}@media(max-width:680px){.wrap{width:min(100% - 40px,1200px)}.header-inner{height:78px}.brand img{width:130px}.nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:transparent;border:0;width:44px;height:44px;align-items:center;cursor:pointer}.menu-toggle span{background:var(--navy);height:2px;width:22px}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:10px 20px 22px;gap:0;background:white;border-top:1px solid var(--line)}.mobile-nav a{text-decoration:none;padding:13px 0;border-bottom:1px solid var(--line);font-weight:600}.hero{min-height:660px;align-items:end}.hero-photo{object-position:68% center}.hero-shade{background:linear-gradient(0deg,rgba(10,29,45,.9),rgba(10,29,45,.5) 68%,rgba(10,29,45,.16))}.hero-content{padding-block:110px 76px}.hero h1{font-size:clamp(3.4rem,12vw,5.1rem)}.hero-content>p:not(.eyebrow){font-size:1rem}.hero-note{right:20px;bottom:10px;font-size:10px}.section{padding-block:72px}.service-grid,.about-layout,.contact-layout{grid-template-columns:1fr}.service-card{min-height:330px}.about-copy{padding-top:0}.contact-panel{padding:26px}.contact-big{white-space:normal}.footer-inner{gap:12px;align-items:flex-start;flex-direction:column}.footer-inner a{margin-left:0}.footer-inner small{text-align:left;margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.visual-grid{gap:16px}.visual-card{min-width:0;background:#f5f4f0;display:flex;flex-direction:column}.visual-card>img{display:block;width:100%;aspect-ratio:1.28;object-fit:contain;background:#f5f4f0;padding:24px 24px 4px}.visual-card>div{background:var(--navy);color:white;padding:27px 28px 31px;flex:1;display:flex;flex-direction:column}.visual-card span{font-size:11px;font-weight:700;letter-spacing:.15em;color:#e7b94b}.visual-card h3{font-family:'Libre Baskerville',Georgia,serif;font-size:1.55rem;margin:16px 0 10px;line-height:1.25}.visual-card p{font-size:15px;line-height:1.55;margin:0 0 22px;color:#e4e9ed}.visual-card a{margin-top:auto;color:white;font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid #dba229;padding-bottom:6px;align-self:flex-start}.visual-card a:hover{color:#e7b94b}.service-extra{font-size:16px;margin:30px 0 0;line-height:1.6;color:#43535f}.service-extra a{font-weight:700;text-underline-offset:4px;margin-left:6px}.feature-section{display:grid;grid-template-columns:1fr 1fr;min-height:510px;background:#152a35;color:white}.feature-image{background-image:url('assets/sunnyvista-home.webp');background-size:cover;background-position:75% center}.feature-copy{max-width:650px;padding:80px min(8vw,110px);display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(2.2rem,3.6vw,4rem);letter-spacing:-.05em;line-height:1.15;font-weight:400;margin:0 0 23px}.feature-copy>p:not(.eyebrow){font-size:1rem;line-height:1.75;color:#e3e9e9;margin:0 0 31px}.feature-copy .button{align-self:flex-start}.style-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin:45px 0 30px}.style-grid article{min-height:205px;padding:28px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.style-index{font-size:12px;letter-spacing:.12em;color:#a07421;font-weight:700}.style-grid h3{font-family:'Libre Baskerville',Georgia,serif;font-size:1.32rem;font-weight:400;margin:30px 0 10px}.style-grid p{color:#5a6570;font-size:15px;line-height:1.55;margin:0}.style-link{font-size:15px;font-weight:700;text-underline-offset:5px}
.product-demo{display:block;width:100%;padding:0;border:0;background:#f5f4f0;cursor:pointer;text-align:center;color:var(--ink)}.product-demo:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}.product-illustration{display:block;position:relative;aspect-ratio:1.28;overflow:hidden}.product-illustration img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:24px 24px 4px;transition:opacity .28s ease}.product-illustration .door-open{opacity:0}.product-demo.is-open .door-closed{opacity:0}.product-demo.is-open .door-open{opacity:1}.product-action{display:block;padding:0 0 10px;font-size:12px!important;letter-spacing:.04em!important;color:#926811!important}.product-demo:hover .product-action{text-decoration:underline}@media(max-width:680px){.product-illustration{aspect-ratio:1.7}.product-illustration img{padding:15px 15px 4px}}@media(prefers-reduced-motion:reduce){.product-illustration img{transition:none}}

/* The glass stays transparent while the sashes and door leaves move on their actual tracks or hinges. */
.product-illustration{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#fff 12%,#f3f5f3 76%)}
.product-opening{position:relative;display:block;isolation:isolate;perspective:850px;border:10px solid #fafcfb;background:#d7eef6;box-shadow:0 2px 0 #b9c9cd,0 12px 20px #77929a33,inset 0 0 0 2px #aebfc4;transform-style:preserve-3d}
.sliding-opening{width:80%;height:78%}.french-opening{width:69%;height:84%}
.outdoor-view{position:absolute;inset:0;display:block;background:linear-gradient(180deg,#d9f0f9 0%,#edf9fa 55%,#c3dfd6 78%,#92bdad 100%);overflow:hidden}
.outdoor-view:before{content:'';position:absolute;inset:59% -10% -13%;background:#a9cebd;clip-path:polygon(0 38%,21% 27%,38% 47%,64% 16%,85% 33%,100% 12%,100% 100%,0 100%);opacity:.7}
.outdoor-view:after{content:'';position:absolute;inset:71% -10% -2%;background:#7fad9d;clip-path:polygon(0 55%,29% 33%,51% 62%,76% 17%,100% 38%,100% 100%,0 100%);opacity:.48}
.door-panel{position:absolute;top:0;bottom:0;display:block;background:linear-gradient(115deg,#ffffff60 0 15%,#b7e2e922 18% 66%,#ffffff50 71% 75%,#b8dfe53b 80%);border:9px solid #f8faf9;box-shadow:inset 0 0 0 2px #a5bfc5,2px 3px 7px #60788450;backface-visibility:visible;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.75,.2,1),box-shadow .85s ease}
.door-panel:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#ffffff70 29%,transparent 34%,transparent 69%,#ffffff50 72%,transparent 76%)}
.sliding-fixed{left:0;width:52%;z-index:1}.sliding-moving{right:0;width:52%;z-index:2;box-shadow:-3px 1px 6px #58708152,inset 0 0 0 2px #a5bfc5}
.product-demo.is-open .sliding-moving{transform:translateX(-91%);box-shadow:-9px 4px 13px #58708162,inset 0 0 0 2px #a5bfc5}
.door-handle{position:absolute;display:block;z-index:2;width:7px;height:39px;top:47%;left:8px;border-radius:4px;background:linear-gradient(90deg,#849ba1,#f8fbfa,#7e979f);box-shadow:0 1px 2px #607983}
.french-left,.french-right{width:50%;z-index:2}.french-left{left:0;transform-origin:left center}.french-right{right:0;transform-origin:right center}.french-left .door-handle{left:auto;right:10px}.french-right .door-handle{left:10px}
.product-demo.is-open .french-left{transform:rotateY(-76deg);box-shadow:7px 4px 11px #5269734d,inset 0 0 0 2px #a5bfc5}.product-demo.is-open .french-right{transform:rotateY(76deg);box-shadow:-7px 4px 11px #5269734d,inset 0 0 0 2px #a5bfc5}
.product-demo[data-door="bifold"] .french-left,.product-demo[data-door="bifold"] .french-right{display:none}
.bifold-leaf{display:none;width:25%;z-index:2;transition:transform .85s cubic-bezier(.2,.75,.2,1),left .85s cubic-bezier(.2,.75,.2,1),right .85s cubic-bezier(.2,.75,.2,1),box-shadow .85s ease}
.product-demo[data-door="bifold"] .bifold-leaf{display:block}
.bifold-one{left:0;transform-origin:left center}.bifold-two{left:25%;transform-origin:right center}.bifold-three{right:25%;transform-origin:left center}.bifold-four{right:0;transform-origin:right center}
.product-demo.is-open .bifold-one{transform:rotateY(-67deg)}.product-demo.is-open .bifold-two{left:10%;transform:rotateY(67deg)}.product-demo.is-open .bifold-three{right:10%;transform:rotateY(-67deg)}.product-demo.is-open .bifold-four{transform:rotateY(67deg)}
.visual-card>.door-choices{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:6px;flex:none;background:#f5f4f0;color:var(--ink);padding:0 16px 12px}
.door-choices button{font:600 12px 'DM Sans',Arial,sans-serif;padding:6px 14px;background:transparent;border:1px solid #b7c8ca;border-radius:99px;color:#344e59;cursor:pointer}
.door-choices button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.door-choices button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.window-stage{background:radial-gradient(ellipse at 50% 30%,#eef6f5,#c9d9dc 78%)}
.window-frame{background:linear-gradient(180deg,#d2ebf5 0%,#eef8f7 67%,#a7d2c1 100%);border:11px solid #fcfdfb;box-shadow:0 2px 2px #718e9d,0 12px 23px #56798a4d,inset 0 0 0 2px #9ab8bd;isolation:isolate}
.window-frame:after{content:'';position:absolute;inset:58% 0 0;z-index:-1;background:#a4cbb9;clip-path:polygon(0 48%,30% 28%,58% 52%,100% 14%,100% 100%,0 100%);opacity:.65}
.sash{border:8px solid #f9fbfa;background:linear-gradient(125deg,#ffffff84 0 13%,#d9f3f41c 22% 62%,#ffffff60 67% 72%,#eaf8f627 80%);box-shadow:2px 3px 7px #52758d75,inset 0 0 0 2px #a8c5ca;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.75,.2,1),box-shadow .85s ease}
.window-demo[data-window="sliding"].is-open .sash-left{transform:translateX(91%);box-shadow:7px 4px 11px #52758d7a,inset 0 0 0 2px #a8c5ca}
.window-demo[data-window="single-hung"].is-open .sash-bottom{transform:translateY(-91%);box-shadow:4px 7px 11px #52758d7a,inset 0 0 0 2px #a8c5ca}
.window-demo[data-window="casement"].is-open .sash-full{transform:rotateY(78deg)}
.window-demo[data-window="double-casement"].is-open .sash-left{transform:rotateY(78deg)}
.window-demo[data-window="double-casement"].is-open .sash-right{transform:rotateY(-78deg)}
.window-demo[data-window="awning"].is-open .sash-full{transform:rotateX(72deg)}
@media(prefers-reduced-motion:reduce){.door-panel,.sash{transition:none}}
@media(max-width:850px){.visual-card>div{padding:22px}.visual-card h3{font-size:1.25rem}.feature-copy{padding:60px 40px}.style-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.visual-grid{grid-template-columns:1fr}.visual-card>img{aspect-ratio:1.7;padding:15px}.feature-section{grid-template-columns:1fr}.feature-image{min-height:280px}.feature-copy{padding:60px 22px}.style-grid{grid-template-columns:1fr}.style-grid article{min-height:155px}.style-grid h3{margin-top:22px}}

/* Contact details and interactive white-frame window guide */
.header-contact{display:flex;flex-direction:column;align-items:flex-end;gap:7px;white-space:nowrap}
.header-contact>span{font-size:11px;letter-spacing:.09em;color:#6b747b;font-weight:700}
.mobile-language{padding:15px 0 2px;color:var(--muted);font-size:13px;line-height:1.5}
.contact-secondary{display:block;width:max-content;color:white;font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(1.45rem,2.35vw,2rem);text-decoration:none;margin:0 0 22px}
.contact-secondary:hover{color:#efb749}
.contact-language{color:#e5ebef;line-height:1.6;margin:0 0 22px;font-size:14px}
.footer-phones{display:flex;flex-direction:column;gap:7px;margin-left:auto;white-space:nowrap}
.footer-inner .footer-phones a{margin-left:0;font-size:13px}
.footer-phones a:hover{color:#a8750e}
.demo-instruction{margin:28px 0 -15px;color:#52616d;font-size:15px}
.window-grid article{padding:22px 22px 29px;min-height:0}
.window-grid h3{margin:22px 0 8px}
.window-demo{width:100%;padding:0;border:0;background:none;color:var(--ink);display:block;text-align:left}
button.window-demo{cursor:pointer}
button.window-demo:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-radius:3px}
.window-stage{height:190px;background:linear-gradient(160deg,#d9e9f0,#a9c7d6 65%,#eff4f3);display:grid;place-items:center;perspective:700px;overflow:hidden;position:relative}
.window-stage:before{content:'';position:absolute;left:13%;right:13%;bottom:9%;height:18px;border-radius:50%;background:rgba(33,62,76,.13);filter:blur(10px)}
.window-frame{position:relative;display:block;width:61%;height:77%;border:10px solid #fff;background:linear-gradient(135deg,#b6d3e0,#eaf5f6 55%,#a4c6d6);box-shadow:0 2px 2px #718e9d,0 10px 23px #56798a4d,inset 0 0 0 2px #cbd9dd;transform-style:preserve-3d}
.window-frame:before{content:'';position:absolute;inset:8% 13%;background:linear-gradient(120deg,transparent 20%,#ffffff6b 30%,transparent 42%);pointer-events:none}
.sash{position:absolute;display:block;border:7px solid white;background:linear-gradient(145deg,#c5dce5cc,#e8f4f7bb 58%,#a4c9d8cc);box-shadow:1px 2px 4px #52758d75,inset 0 0 0 1px #c5d6df;transition:transform .65s cubic-bezier(.25,.75,.2,1);backface-visibility:visible}
.sash-left,.sash-right{top:0;bottom:0;width:52%}
.sash-left{left:0}.sash-right{right:0}
.sash-top,.sash-bottom{left:0;right:0;height:52%}
.sash-top{top:0}.sash-bottom{bottom:0}
.sash-full{inset:0}
.window-demo[data-window="sliding"].is-open .sash-left{transform:translateX(75%)}
.window-demo[data-window="single-hung"].is-open .sash-bottom{transform:translateY(-75%)}
.window-demo[data-window="casement"] .sash-full{transform-origin:left center}
.window-demo[data-window="casement"].is-open .sash-full{transform:rotateY(68deg)}
.window-demo[data-window="double-casement"] .sash-left{transform-origin:left center}
.window-demo[data-window="double-casement"] .sash-right{transform-origin:right center}
.window-demo[data-window="double-casement"].is-open .sash-left{transform:rotateY(72deg)}
.window-demo[data-window="double-casement"].is-open .sash-right{transform:rotateY(-72deg)}
.window-demo[data-window="awning"] .sash-full{transform-origin:center top}
.window-demo[data-window="awning"].is-open .sash-full{transform:rotateX(65deg)}
.demo-action{display:inline-block;margin-top:12px;font-size:12px;font-weight:700;letter-spacing:.04em;color:#9a6913;border-bottom:1px solid #d7b778;padding-bottom:3px}
.fixed-demo .demo-action{color:#687780;border-bottom-color:#cbd4d8}
.other-styles{font-size:15px;line-height:1.6;color:#52616d}
.other-styles a{font-weight:700;text-underline-offset:4px}
@media(max-width:850px){.header-contact>span{display:none}}
@media(max-width:680px){.header-contact{display:none}.footer-phones{margin-left:0}.window-grid article{min-height:0}.window-grid h3{margin-top:22px}.window-stage{height:215px}.window-frame{width:55%}.contact-secondary{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.sash{transition:none}}
/* Quote request */
.quote{background:#f6f7f6}.quote .section-intro{max-width:720px}.quote h2{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;letter-spacing:-.055em;font-size:clamp(2.4rem,4vw,4.4rem);margin:0 0 18px}.quote-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.7fr);gap:32px;align-items:start}.quote-form{background:white;border:1px solid var(--line);padding:36px}.form-grid,.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid>label,.notes-label{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:700}.quote input:not([type=checkbox]):not([type=radio]),.quote textarea{width:100%;border:1px solid #cbd3d7;border-radius:3px;background:white;color:var(--ink);padding:13px 14px;font:inherit;font-size:16px;min-height:49px}.quote textarea{resize:vertical;line-height:1.5}.quote input:focus-visible,.quote textarea:focus-visible,.quote button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.quote fieldset{border:0;padding:0;margin:27px 0 0;min-width:0}.quote legend{font-weight:700;font-size:15px;margin-bottom:13px}.choice-grid{gap:8px 11px}.choice-grid label{display:flex;align-items:center;gap:9px;border:1px solid #dde3e5;border-radius:4px;padding:11px 12px;min-height:48px;cursor:pointer;font-size:14px;line-height:1.35}.choice-grid label:has(input:checked){border-color:#b78928;background:#fff9ea}.choice-grid input{accent-color:#a8750e;flex:none;width:16px;height:16px;margin:0}.notes-label{margin-top:27px}.quote-submit{border:0;cursor:pointer;margin-top:25px}.form-hint{font-size:13px;line-height:1.5;color:#54616c;margin:12px 0 0}.quote-aside{background:var(--navy);color:white;padding:34px;overflow-wrap:anywhere}.quote-aside h3{font-family:'Libre Baskerville',Georgia,serif;font-size:1.7rem;font-weight:400;margin:0 0 16px}.quote-aside>p:not(.eyebrow){line-height:1.6;color:#dce4e8}.quote-aside>a{display:block;margin:18px 0;color:white;text-underline-offset:4px;font-weight:700}.quote-aside .aside-language{border-top:1px solid #607282;padding-top:20px;margin-top:28px}
@media(max-width:850px){.quote-layout{grid-template-columns:1fr}.quote-aside{max-width:none}}@media(max-width:680px){.quote-form{padding:22px}.form-grid,.choice-grid{grid-template-columns:1fr}.quote-aside{padding:26px}}

.location-section{background:#f4f5f4;padding:76px 0}
.location-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:48px;align-items:center}
.location-copy h2{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(2.1rem,4vw,3.5rem);font-weight:400;letter-spacing:-.05em;line-height:1.18;margin:0 0 24px}
.location-copy address{font-size:1.125rem;font-style:normal;line-height:1.7;margin-bottom:28px}
.location-map{display:block;width:100%;height:360px;border:0;background:#e1e6e7}
@media(max-width:750px){.location-section{padding:54px 0}.location-layout{grid-template-columns:1fr;gap:30px}.location-map{height:320px}}

/* Keep the full logo inside the white header on small screens. */
.site-header .brand img{height:auto;max-height:94px;width:auto;max-width:140px}
@media(max-width:680px){.site-header .header-inner{height:104px}.site-header .brand img{max-height:92px;max-width:127px}}

/* A compact close to the page, with contact details easy to find. */
.site-footer{background:var(--navy);color:#fff}
.site-footer .footer-inner{display:grid;grid-template-columns:1fr auto;align-items:start;column-gap:60px;row-gap:34px;padding-block:56px 28px;min-height:0}
.footer-brand strong{display:block;font-family:'Libre Baskerville',Georgia,serif;font-size:1.9rem;letter-spacing:-.06em;line-height:1.2}
.footer-brand>span{display:block;font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#e2b75e;margin-top:5px}
.site-footer .footer-brand p{font-size:.95rem;color:#c4d0d8;line-height:1.5;margin:18px 0 0}
.footer-contact{display:flex;flex-direction:column;gap:10px}
.footer-contact span{font-size:.75rem;letter-spacing:.16em;color:#e2b75e;font-weight:700;margin-bottom:6px}
.site-footer .footer-contact a{margin:0;font-size:1.1rem;color:#fff;font-weight:600;text-decoration:none}
.site-footer .footer-contact a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-inner small{grid-column:1/-1;width:auto;text-align:left;margin:0;padding-top:20px;border-top:1px solid #ffffff35;color:#aebbc5;font-size:.8rem}
@media(max-width:680px){.site-footer .footer-inner{grid-template-columns:1fr;gap:30px;padding-block:44px 24px}.site-footer .footer-inner small{grid-column:1}.footer-brand strong{font-size:1.65rem}}

/* Navigation and real project imagery */
.site-header .header-inner{gap:19px}
.site-header .nav{gap:19px}
.site-header .nav a{white-space:nowrap;font-size:.85rem}
.header-contact{flex-direction:row;align-items:center;gap:14px}
.header-quote{padding:12px 15px;background:var(--gold);font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap}
.header-quote:hover{background:#f1bd50}
.site-header .header-call{padding-bottom:0;border:0;font-size:.84rem}
.hero-photo{object-position:center 48%}
.feature-image{background-image:url('assets/feature-white-window-project.jpeg');background-position:center 55%}
.professionals{background:var(--navy);color:#fff}
.professionals-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.professionals h2{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;font-size:clamp(2.2rem,3.8vw,4rem);letter-spacing:-.055em;line-height:1.2;margin:0}
.professionals-inner>div:last-child p{color:#d4dee5;font-size:1.1rem;line-height:1.7;margin:0 0 26px}
.gallery{background:#f4f5f4}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gallery-grid figure{margin:0;background:#fff}
.gallery-grid img{display:block;width:100%;height:400px;object-fit:cover;object-position:center 42%}
.gallery-grid figcaption{padding:18px 20px;font-weight:700;font-size:.95rem}
@media(max-width:1120px){.site-header .nav{display:none}.site-header .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:transparent;border:0;width:44px;height:44px;align-items:center;cursor:pointer;order:3}.site-header .menu-toggle span{background:var(--navy);height:2px;width:22px}.site-header .mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:10px 36px 22px;gap:0;background:white;border-top:1px solid var(--line)}.site-header .mobile-nav a{text-decoration:none;padding:13px 0;border-bottom:1px solid var(--line);font-weight:600}}
@media(max-width:750px){.professionals-inner{grid-template-columns:1fr;gap:24px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:340px}.site-header .header-inner{justify-content:space-between}}
@media(max-width:680px){.header-contact{display:none}.site-header .mobile-nav:not([hidden]){padding-inline:20px}.hero-photo{object-position:56% center}}

/* Reviews page: staff information is company authored until customer reviews are supplied. */
.reviews-hero{background:linear-gradient(90deg,#102a3dbf,#102a3d80),url('assets/sunnyvista-window-door-project.jpeg') center 48%/cover;color:white;padding:115px 0 120px}
.reviews-hero h1{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(3rem,6vw,6rem);font-weight:400;letter-spacing:-.055em;line-height:1.13;margin:0 0 24px}
.reviews-hero h1 em{color:#e2b75e;font-weight:400}.reviews-hero p:last-child{font-size:1.15rem;line-height:1.7;max-width:610px;margin:0;color:#f0f4f6}
.sample-review{background:#f7f4ee}.sample-review-inner{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:8%;align-items:center}.sample-review h2{font:400 clamp(2rem,3.5vw,3.5rem)/1.2 'Libre Baskerville',Georgia,serif;letter-spacing:-.05em;margin:0}.sample-review blockquote{margin:0;padding:34px 40px;background:white;border-left:4px solid var(--gold)}.sample-review blockquote p{font:400 clamp(1.18rem,2vw,1.55rem)/1.65 'Libre Baskerville',Georgia,serif;margin:0 0 18px}.sample-review blockquote footer{font:500 .8rem/1.5 'DM Sans',Arial,sans-serif;color:#52616d}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.team-card{background:#f4f5f4;border-top:4px solid var(--gold);padding:40px;min-height:300px;display:flex;gap:26px}
.team-initial{width:72px;height:72px;display:grid;place-items:center;flex:none;border-radius:50%;background:#e0e9e9;color:var(--navy);font:400 2.2rem 'Libre Baskerville',Georgia,serif}
.team-role{margin:0 0 12px;font-size:.72rem;font-weight:700;letter-spacing:.18em;color:#9a6c17}
.team-card h3{font:400 2.1rem 'Libre Baskerville',Georgia,serif;margin:0 0 18px}
.team-card p:last-child{line-height:1.7;color:#4d5d67;margin:0}
.reviews-work{background:var(--navy);color:white}.reviews-work-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding-block:72px}
.reviews-work img{width:100%;height:440px;object-fit:cover;object-position:center 54%}
.reviews-work h2,.reviews-feedback h2{font:400 clamp(2.4rem,4vw,4rem)/1.2 'Libre Baskerville',Georgia,serif;letter-spacing:-.055em;margin:0 0 24px}
.reviews-work p:not(.eyebrow){color:#d5e0e6;line-height:1.75;font-size:1.08rem;max-width:450px;margin:0 0 30px}
.reviews-feedback{text-align:center}.reviews-feedback>p:not(.eyebrow){font-size:1.1rem;line-height:1.7;color:#52616d;max-width:620px;margin:0 auto 30px}.reviews-feedback .hero-actions{justify-content:center}
.reviews-outline{border:1px solid var(--navy);color:var(--navy)}.reviews-outline:hover{background:var(--navy);color:white}
@media(max-width:750px){.reviews-hero{padding:80px 0}.sample-review-inner,.team-grid,.reviews-work-inner{grid-template-columns:1fr}.sample-review-inner{gap:28px}.team-card{min-height:0}.reviews-work-inner{gap:28px}.reviews-work img{height:360px}}
@media(max-width:480px){.team-card{padding:26px;gap:17px}.team-initial{width:56px;height:56px;font-size:1.6rem}.reviews-hero h1{font-size:3.2rem}}

/* SunnyVista editorial storefront */
.site-header{box-shadow:0 4px 18px #122f4312}
.site-header .header-inner{height:116px}
.site-header .brand img{max-height:102px;max-width:160px;width:160px;object-fit:contain}
.hero{display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:640px;align-items:stretch;background:#10283d}
.hero-copy{display:flex;align-items:center;min-width:0;background:radial-gradient(circle at 20% 10%,#29445a 0%,#10283d 55%)}
.hero .hero-content{margin:0;max-width:760px;width:100%;padding:80px clamp(32px,5.6vw,100px) 70px max(36px,calc((100vw - 1200px)/2));}
.hero h1{font-size:clamp(3.55rem,5.25vw,6.5rem);line-height:1.11;letter-spacing:-.055em;max-width:700px}
.hero-content>p:not(.eyebrow){max-width:580px;font-size:1.12rem}
.hero-language{margin:42px 0 0!important;font-size:.83rem!important;color:#b7cbd5!important;letter-spacing:.035em}
.hero-visual{position:relative;min-height:640px;overflow:hidden}
.hero-visual .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:48% center}
.hero-photo-caption{position:absolute;right:0;bottom:0;background:#f8f5ee;padding:20px 35px 22px;min-width:270px;display:flex;flex-direction:column;gap:7px;color:var(--navy)}
.hero-photo-caption span{font-size:.68rem;letter-spacing:.17em;font-weight:700;color:#98701d}
.hero-photo-caption strong{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;font-size:1.1rem}
.intro-band{background:#dba229;color:#10283d}
.intro-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:68px}
.intro-band span,.intro-band a{font-size:.72rem;letter-spacing:.1em;font-weight:700;text-decoration:none}
.intro-band a{white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:3px}
.services .section-intro{max-width:820px}
.services .section-intro h2{max-width:790px}
.visual-card{background:#f2f2ee;overflow:hidden}
.visual-card>img{object-fit:cover;object-position:50% 51%;padding:0;aspect-ratio:1.25;filter:saturate(.92)}
.visual-card>div:not(.door-choices){background:#f4f4f0;color:var(--navy);padding:31px 30px 36px}
.visual-card span{color:#98701d}
.visual-card p{color:#51606b}
.visual-card a{color:var(--navy)}
.visual-card>div:not(.door-choices) h3{margin-top:15px}
.shower-section{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:#11283c;color:#fff}
.shower-copy{display:flex;align-items:center;justify-content:flex-end;padding:65px clamp(34px,5vw,90px) 65px max(36px,calc((100vw - 1200px)/2))}
.shower-copy>div{max-width:530px}
.shower-copy h2{font:400 clamp(2.7rem,4.2vw,5rem)/1.17 'Libre Baskerville',Georgia,serif;letter-spacing:-.055em;margin:0 0 22px}
.shower-copy h2 em{font-weight:400;color:#e2b75e}
.shower-copy p:not(.eyebrow){color:#e3e9eb;font-size:1.08rem;line-height:1.75;margin:0 0 30px;max-width:470px}
.shower-visual{position:relative;min-height:560px;background:#e7e9e6;overflow:hidden}
.shower-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.shower-visual small{position:absolute;right:12px;bottom:12px;padding:7px 10px;background:#fffdf0e8;color:#263b4d;font-size:.7rem}
.visual-card .product-illustration{aspect-ratio:1.25}
.services{padding-block:105px 115px}
@media(max-width:1120px){.site-header .header-inner{height:104px}.site-header .brand img{max-height:91px;max-width:140px}.hero .hero-content{padding-left:36px}.intro-band .wrap{flex-wrap:wrap;padding-block:17px;gap:10px 30px}.intro-band span{font-size:.67rem}}
@media(max-width:760px){.hero{grid-template-columns:1fr;min-height:0}.hero-copy{min-height:510px}.hero .hero-content{padding:75px 25px 65px}.hero h1{font-size:clamp(3.3rem,11vw,5rem)}.hero-visual{min-height:360px}.hero-visual .hero-photo{object-position:center 45%}.hero-photo-caption{min-width:0;padding:14px 20px}.intro-band .wrap{width:min(100% - 36px,1200px);justify-content:flex-start}.intro-band span:nth-child(3){display:none}.shower-section{grid-template-columns:1fr}.shower-copy{padding:72px 25px}.shower-visual{min-height:430px}.services{padding-block:75px}.visual-card>img,.visual-card .product-illustration{aspect-ratio:1.55}}
@media(max-width:480px){.hero-copy{min-height:510px}.hero-visual{min-height:310px}.hero-photo-caption{font-size:.8rem}.intro-band .wrap span{font-size:.6rem}.shower-visual{min-height:320px}.site-header .brand img{max-width:123px}}

/* Preserve the full supplied project photo and its branding. */
.hero-visual .hero-photo{object-fit:contain;object-position:center;background:#10283d}
.gallery-grid img[src="assets/sunnyvista-window-door-project.jpeg"]{object-fit:contain;background:#f4f5f4}

/* Three-panel slider: the center remains fixed while both sides move inward. */
.window-grid p{font-size:1rem;line-height:1.65}
.visual-card p{font-size:1rem;line-height:1.65}
.window-demo[data-window="xox"] .window-frame{width:82%;height:68%;overflow:hidden}
.window-demo[data-window="xox"] .sash-left,.window-demo[data-window="xox"] .sash-right{width:27%;z-index:2}
.window-demo[data-window="xox"] .sash-center{top:0;bottom:0;left:25%;width:50%;z-index:1}
.window-demo[data-window="xox"].is-open .sash-left{transform:translateX(90%)}
.window-demo[data-window="xox"].is-open .sash-right{transform:translateX(-90%)}
.window-demo[data-window="double-hung"] .window-frame{overflow:hidden;width:48%;height:84%}
.window-demo[data-window="double-hung"] .sash-bottom{z-index:2}
.window-demo[data-window="double-hung"].is-open .sash-bottom{transform:translateY(-45%)}
.window-demo[data-window="double-hung"].is-open .sash-top{transform:translateY(45%)}
.geometric-frame{width:72%;height:75%;clip-path:polygon(0 27%,100% 0,100% 100%,0 100%)}

/* A single catalog format: complete frames on a plain white surface. */
.window-grid{border:0;gap:42px 36px;margin-top:36px;align-items:start}
.window-grid article{border:0;padding:0;min-width:0}
.window-grid h3{font-family:'DM Sans',Arial,sans-serif;font-size:1.125rem;font-weight:700;margin:22px 0 10px}
.window-grid p{color:#52616d;line-height:1.65}
.window-demo,.window-stage{background:#fff}
.window-stage{height:240px;overflow:visible;perspective:900px;padding:30px 34px}
.window-stage:before,.window-frame:before,.window-frame:after{display:none}
.window-frame{width:100%;max-width:245px;height:155px;border:5px solid #273944;background:#fff;box-shadow:none;overflow:visible}
.sash{border:4px solid #273944;background:linear-gradient(125deg,#ffffffed,#f0f5f5de);box-shadow:none;transition:transform 1.25s cubic-bezier(.4,0,.2,1)}
.window-demo[data-window="single-hung"] .window-frame,.window-demo[data-window="double-hung"] .window-frame{width:115px;height:180px;overflow:hidden}
.window-demo[data-window="xox"] .window-frame{width:100%;max-width:270px;height:150px}
.window-demo[data-window="sliding"] .window-frame{overflow:hidden}
.window-demo[data-window="sliding"] .sash-left{z-index:2}
.window-demo[data-window="single-hung"] .sash-bottom{z-index:2}
.window-demo[data-window="sliding"].is-open .sash-left{transform:translateX(88%);box-shadow:none}
.window-demo[data-window="single-hung"].is-open .sash-bottom{transform:translateY(-88%);box-shadow:none}
.window-demo[data-window="awning"] .window-frame{height:120px}
.geometric-frame{width:190px;height:160px;background:#273944;border:0;clip-path:polygon(0 27%,100% 0,100% 100%,0 100%)}
.geometric-frame .sash{inset:5px;border:0;background:#f5f8f8;clip-path:polygon(0 27%,100% 0,100% 100%,0 100%)}
.demo-action{font-size:.875rem;letter-spacing:0;border:0;color:#67747c;font-weight:500;margin-top:8px}
.catalog-window .window-stage{height:300px;padding:45px;display:grid;place-items:center}
.catalog-window .window-frame{width:100%;max-width:280px;height:185px}
.catalog-window .demo-action{display:block;text-align:center;padding-bottom:14px}
.visual-card,.product-demo,.product-illustration,.visual-card>.door-choices{background:#fff;overflow:visible}
.visual-card .product-illustration{height:300px;aspect-ratio:auto;padding:35px 45px;overflow:visible}
.product-opening{border:5px solid #273944;background:#fff;box-shadow:none}
.sliding-opening{width:100%;height:185px}
.french-opening{width:85%;height:225px}
.door-panel{border:4px solid #273944;background:linear-gradient(125deg,#ffffffed,#f0f5f5de);box-shadow:none}
.outdoor-view{background:#fff}
.outdoor-view:before,.outdoor-view:after,.door-panel:after{display:none}
.product-demo.is-open .door-panel{box-shadow:none}
.visual-card>div:not(.door-choices){background:#fff;border-top:1px solid var(--line)}
.product-action{font-size:.875rem!important;color:#67747c!important;letter-spacing:0!important}
@media(max-width:850px){.window-grid{gap:36px 24px}.window-stage{padding-inline:28px}.catalog-window .window-stage,.visual-card .product-illustration{padding-inline:25px}}
@media(max-width:680px){.window-grid{gap:40px}.window-stage{height:250px;padding:30px 40px}.window-frame{max-width:250px}.catalog-window .window-stage,.visual-card .product-illustration{height:290px;padding-inline:45px}}
@media(prefers-reduced-motion:reduce){.sash{transition:none}}

/* Doors share the window guide rather than a separate illustration layout. */
.window-grid .product-demo{text-align:left;background:#fff}
.window-grid .door-guide-frame{width:100%;max-width:245px;height:180px;perspective:900px}
.window-grid .sliding-opening{overflow:hidden}
.window-grid .french-opening{width:190px;height:190px;overflow:visible}
.window-grid .door-panel{border:4px solid #273944;box-shadow:none;transition:transform 1.25s cubic-bezier(.4,0,.2,1),left 1.25s cubic-bezier(.4,0,.2,1),right 1.25s cubic-bezier(.4,0,.2,1)}
.window-grid .door-handle{width:4px;height:24px;left:5px;background:#273944;box-shadow:none}
.window-grid .french-left .door-handle{left:auto;right:5px}
.window-grid .french-right .door-handle{left:5px}
.guide-door-choices{display:flex;gap:8px;margin-top:16px}
.guide-door-choices button{font:600 .875rem 'DM Sans',Arial,sans-serif;padding:8px 15px;background:#fff;border:1px solid #aab8bd;color:var(--ink);cursor:pointer}
.guide-door-choices button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.guide-door-choices button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.product-intros .visual-card>div{border-top:2px solid var(--gold)}
#sliding-door-style,#french-door-style{scroll-margin-top:30px}
@media(prefers-reduced-motion:reduce){.window-grid .door-panel{transition:none}}

/* French swing reference: two full-height glass leaves on opposite side hinges. */
#french-door-style .window-stage{height:250px;padding:20px 25px;perspective:1000px}
.window-grid #french-door-style .french-opening{width:min(100%,245px);height:210px;border:6px solid #273944;background:#fff;perspective:1000px;transform-style:preserve-3d;overflow:visible}
#french-door-style .french-left,#french-door-style .french-right{width:50%;height:100%;border:7px solid #273944;background:linear-gradient(125deg,#ffffffed,#f0f5f5de);box-shadow:inset 0 0 0 1px #e1e7e9;transition:transform 1.4s cubic-bezier(.4,0,.2,1);backface-visibility:visible}
#french-door-style .french-left{transform-origin:left center}
#french-door-style .french-right{transform-origin:right center}
#french-door-style .product-demo.is-open .french-left{transform:rotateY(-68deg);box-shadow:inset 0 0 0 1px #61756b}
#french-door-style .product-demo.is-open .french-right{transform:rotateY(68deg);box-shadow:inset 0 0 0 1px #61756b}
#french-door-style .door-handle{width:3px;height:17px;top:50%;background:#26332f;border-radius:1px}
#french-door-style .french-left .door-handle{left:auto;right:-4px}
#french-door-style .french-right .door-handle{left:-4px}
@media(prefers-reduced-motion:reduce){#french-door-style .french-left,#french-door-style .french-right{transition:none}}

/* Stable projected hinge geometry, matching the supplied opening sequence. */
.french-swing-diagram{display:block;width:min(100%,245px);height:230px;overflow:visible}
#french-door-style .product-demo[data-door="french"] .french-opening{display:none}
#french-door-style .product-demo[data-door="bifold"] .french-swing-diagram{display:none}

/* Full-width project photo behind the opening copy. */
.hero{display:flex;min-height:690px;align-items:center;isolation:isolate}
.hero>.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;z-index:-2}
.hero>.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,25,40,.91) 0%,rgba(8,25,40,.77) 32%,rgba(8,25,40,.30) 64%,rgba(8,25,40,.08) 100%)}
.hero-copy{background:transparent;min-height:0;width:100%}
.hero .hero-content{max-width:850px;padding-top:85px;padding-bottom:85px}
.hero-language{color:#edf2f5!important}
@media(max-width:760px){.hero{min-height:650px;align-items:center}.hero>.hero-photo{object-position:48% center}.hero>.hero-shade{background:linear-gradient(90deg,rgba(8,25,40,.84),rgba(8,25,40,.55))}.hero-copy{min-height:0}.hero .hero-content{padding:75px 25px}.hero-content>p:not(.eyebrow){max-width:510px}}
@media(max-width:480px){.hero{min-height:650px}.hero-copy{min-height:0}.hero h1{font-size:clamp(3rem,11vw,4rem)}}

/* Show the complete shower installation photo at every screen size. */
.shower-visual{min-height:0;align-self:center}.shower-visual img{position:static;display:block;width:100%;height:auto;object-fit:contain}

/* Multi-slider panels travel on parallel tracks and stack beside the fixed leaf. */
#multislider-door-style{scroll-margin-top:30px}
.window-grid .multislider-opening{position:relative;display:block;width:100%;max-width:270px;height:180px;overflow:hidden;background:#fff}
.multislider-opening .multi-panel{position:absolute;display:block;top:0;bottom:0;width:25%;border:4px solid #273944;background:linear-gradient(125deg,#ffffffed,#f0f5f5de);box-shadow:none;transition:transform 1.6s cubic-bezier(.4,0,.2,1)}
.multi-one{left:0;z-index:4}.multi-two{left:25%;z-index:3}.multi-three{left:50%;z-index:2}.multi-fixed{left:75%;z-index:1}
.multi-handle{position:absolute;left:4px;top:45%;width:3px;height:22px;border-radius:2px;background:#273944}
#multislider-door-style .is-open .multi-one{transform:translateX(288%)}
#multislider-door-style .is-open .multi-two{transform:translateX(192%)}
#multislider-door-style .is-open .multi-three{transform:translateX(96%)}
@media(prefers-reduced-motion:reduce){.multislider-opening .multi-panel{transition:none}}

/* Small operating latches stay attached to each moving window sash. */
.window-demo[data-window] .sash::after{position:absolute;z-index:3;background:#273944;border:1px solid #52616d;border-radius:2px;box-shadow:0 1px 1px #ffffff80;pointer-events:none}
.window-demo[data-window="single-hung"] .sash-bottom::after,
.window-demo[data-window="double-hung"] .sash-bottom::after{content:"";width:10px;height:5px;left:50%;top:-7px;transform:translateX(-50%)}
.window-demo[data-window="sliding"] .sash-left::after,
.window-demo[data-window="xox"] .sash-left::after,
.window-demo[data-window="casement"] .sash-full::after,
.window-demo[data-window="double-casement"] .sash-left::after{content:"";width:5px;height:12px;right:-6px;top:50%;transform:translateY(-50%)}
.window-demo[data-window="xox"] .sash-right::after,
.window-demo[data-window="double-casement"] .sash-right::after{content:"";width:5px;height:12px;left:-6px;top:50%;transform:translateY(-50%)}
.window-demo[data-window="awning"] .sash-full::after{content:"";width:10px;height:5px;left:50%;bottom:-6px;transform:translateX(-50%)}

/* Reflections and depth make the top-hinged awning opening visible. */
.window-demo[data-window="awning"] .window-frame{perspective:700px;transform-style:preserve-3d}
.window-demo[data-window="awning"] .sash-full{background:linear-gradient(155deg,#eef5f6c7,#ffffffdb 55%,#d6e5e9b3);transition:transform 1.25s cubic-bezier(.4,0,.2,1),box-shadow 1.25s ease}
.window-demo[data-window="awning"] .sash-full::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,transparent 22%,#ffffffed 33%,#ffffffed 36%,transparent 48%),linear-gradient(165deg,transparent 40%,#b5cbd655 72%,transparent);background-size:220% 100%,100% 100%;background-position:100% 0,0 0;opacity:.45;transition:background-position 1.25s cubic-bezier(.4,0,.2,1),opacity 1.25s ease}
.window-demo[data-window="awning"].is-open .sash-full{transform:rotateX(-52deg);box-shadow:0 12px 15px -5px #27394438,inset 0 -2px 0 #ffffffb3}
.window-demo[data-window="awning"].is-open .sash-full::before{background-position:0 0,0 0;opacity:.9}
@media(prefers-reduced-motion:reduce){.window-demo[data-window="awning"] .sash-full,.window-demo[data-window="awning"] .sash-full::before{transition:none}}

/* The double casement retains its center mullion as both leaves swing. */
.window-demo[data-window="double-casement"] .window-frame{perspective:700px;transform-style:preserve-3d}
.casement-center-post{position:absolute;top:0;bottom:0;left:50%;width:7px;transform:translateX(-50%);background:#273944;z-index:1;pointer-events:none}
.window-demo[data-window="double-casement"] .sash{width:50%;z-index:2;background:linear-gradient(145deg,#e4eef2bd,#ffffffd9 60%,#d1e3e9a6);transition:transform 1.25s cubic-bezier(.4,0,.2,1),box-shadow 1.25s ease}
.window-demo[data-window="double-casement"] .sash::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 25%,#ffffffed 36%,#ffffffed 40%,transparent 52%);background-size:220% 100%;background-position:100% 0;opacity:.5;transition:background-position 1.25s cubic-bezier(.4,0,.2,1),opacity 1.25s ease}
.window-demo[data-window="double-casement"] .sash-right::before{background-position:0 0}
.window-demo[data-window="double-casement"].is-open .sash{box-shadow:0 8px 12px -5px #27394438}
.window-demo[data-window="double-casement"].is-open .sash-left::before{background-position:0 0;opacity:.95}
.window-demo[data-window="double-casement"].is-open .sash-right::before{background-position:100% 0;opacity:.95}
@media(prefers-reduced-motion:reduce){.window-demo[data-window="double-casement"] .sash,.window-demo[data-window="double-casement"] .sash::before{transition:none}}

/* Single casement glass catches the light as it swings on its side hinge. */
.window-demo[data-window="casement"] .window-frame{perspective:700px;transform-style:preserve-3d}
.window-demo[data-window="casement"] .sash-full{background:linear-gradient(145deg,#e4eef2bd,#ffffffd9 60%,#d1e3e9a6);transition:transform 1.25s cubic-bezier(.4,0,.2,1),box-shadow 1.25s ease}
.window-demo[data-window="casement"] .sash-full::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 25%,#ffffffed 36%,#ffffffed 40%,transparent 52%);background-size:220% 100%;background-position:100% 0;opacity:.5;transition:background-position 1.25s cubic-bezier(.4,0,.2,1),opacity 1.25s ease}
.window-demo[data-window="casement"].is-open .sash-full{box-shadow:0 8px 12px -5px #27394438}
.window-demo[data-window="casement"].is-open .sash-full::before{background-position:0 0;opacity:.95}
@media(prefers-reduced-motion:reduce){.window-demo[data-window="casement"] .sash-full,.window-demo[data-window="casement"] .sash-full::before{transition:none}}

.form-status{font-size:1rem;line-height:1.6;margin:16px 0 0;overflow-wrap:anywhere}.form-status:empty{display:none}.form-status[data-state="error"]{color:#9e2424}.form-status[data-state="success"]{color:#17643d}.quote-submit:disabled{opacity:.7;cursor:wait;transform:none}
