@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#112c45;--navy-deep:#0b2237;--orange:#ef8334;--ink:#18344b;--muted:#5a6874;--line:#dce2e7;--pale:#f4f7f9;--white:#fff;--max:1280px;--radius:3px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--white);color:var(--ink);font:400 1rem/1.7 'DM Sans',Arial,sans-serif}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-80px;left:16px;background:var(--navy);color:white;padding:12px 20px;z-index:100}.skip-link:focus{top:10px}.topbar{background:var(--navy);color:#e1e9ef;font-size:.8125rem;letter-spacing:.02em}.topbar .wrap{display:flex;justify-content:space-between;padding-block:8px}.topbar a{color:white}.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{width:132px;flex-shrink:0;align-self:stretch;display:flex;align-items:center}.brand img{width:118px;height:84px;object-fit:contain}.header nav{display:flex;align-items:center;gap:26px;font-size:.875rem;font-weight:600}.header nav a{padding:34px 0;white-space:nowrap}.header nav a.active{color:var(--navy);box-shadow:inset 0 -3px var(--orange)}.header nav a:hover{color:#a84e0b}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 24px;background:var(--orange);color:#fff;border:1px solid var(--orange);border-radius:var(--radius);font-size:.9375rem;font-weight:700;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#ff9c51;transform:translateY(-2px)}.button span{font-size:1.3rem;font-weight:400}.header-quote{font-size:.875rem;min-height:45px;padding:12px 18px;gap:17px}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:12px;width:46px;height:44px}.menu-toggle span{display:block;height:2px;background:var(--navy);margin:5px 0}.hero{display:grid;grid-template-columns:1fr 1.02fr;gap:62px;padding-block:34px 52px}.hero-copy{padding-top:6px;align-self:center}.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:.8125rem;color:var(--muted);margin-bottom:48px}.breadcrumb a:hover{text-decoration:underline}.eyebrow{font-size:.8125rem;letter-spacing:.16em;font-weight:700;color:#aa4b09;line-height:1.5;margin-bottom:19px}.hero h1{font-size:clamp(3rem,4.65vw,4.4rem);font-weight:700;letter-spacing:-.045em;line-height:1.12}.hero h1 span{font-weight:400}.hero h1 em{font-style:normal;color:#c65b12}.hero-subtitle{font-family:Manrope,Arial,sans-serif;font-size:1.25rem;font-weight:500;margin-top:24px;letter-spacing:-.015em;line-height:1.5}.hero-subtitle em{color:#c65b12;font-style:italic}.hero-description{color:var(--muted);max-width:470px;font-size:1.0625rem;line-height:1.8;margin-top:9px}.actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:27px}.text-link{font-weight:600;font-size:.875rem;display:inline-flex;align-items:center;gap:14px;min-height:44px}.text-link:hover{color:#ab4b0a}.hero-note{display:flex;gap:16px;align-items:center;margin-top:33px;color:var(--muted);font-size:.8125rem;line-height:1.6}.note-line{width:27px;height:1px;background:var(--orange)}.hero-image{position:relative;min-height:630px;overflow:hidden;border-radius:2px}.hero-image>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 48%}.hero-image figcaption{position:absolute;inset:auto 0 0;padding:54px 25px 24px;background:linear-gradient(transparent,rgba(6,24,36,.8));color:white;display:flex;align-items:end;justify-content:space-between;gap:15px}.hero-image figcaption span:first-child{font-size:.6875rem;letter-spacing:.16em}.hero-image figcaption span:last-child{font-size:.8125rem}.collection-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.collection-nav .wrap{display:grid;grid-template-columns:1.1fr repeat(4,1fr);align-items:center;gap:24px;min-height:94px}.collection-nav .wrap>span{font-size:.6875rem;letter-spacing:.14em;color:var(--muted);font-weight:600}.collection-nav a{font-size:.8125rem;color:#ad510f;display:flex;gap:13px;align-items:center;min-height:48px}.collection-nav b{font-size:.9375rem;font-weight:600;color:var(--navy)}.collection-nav a:hover b{text-decoration:underline;text-underline-offset:5px}.collection{padding-block:96px}.section-heading{display:grid;grid-template-columns:1fr .68fr;gap:80px;align-items:end;margin-bottom:48px}.section-heading h2{font-size:clamp(2rem,3.1vw,3rem);line-height:1.2;letter-spacing:-.045em;font-weight:500}.section-heading>p{color:var(--muted);max-width:425px;font-size:1.0625rem;line-height:1.85;padding-bottom:4px}
.collection-feature{display:grid;grid-template-columns:.91fr 1fr;gap:60px;margin-bottom:64px}.pattern-image{position:relative;overflow:hidden;min-height:660px;background:var(--pale)}.pattern-image>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:43% 50%}.pattern-image figcaption{position:absolute;left:22px;bottom:22px;background:white;padding:13px 20px;color:var(--navy);font-size:.875rem}.design-option{display:flex;gap:20px;padding:18px 0 30px;scroll-margin-top:110px}.design-option+.design-option{border-top:1px solid var(--line);padding-top:32px}.option-number{font-size:.8125rem;color:#a0abb3;padding-top:2px}.design-option .eyebrow,.material-copy .eyebrow{font-size:.6875rem;letter-spacing:.14em;margin-bottom:9px}.design-option h3,.material-copy h3{font-size:1.75rem;letter-spacing:-.035em;line-height:1.3;font-weight:600;margin-bottom:15px}.design-option p:not(.eyebrow),.material-copy p:not(.eyebrow){color:var(--muted);line-height:1.8}.best-for{font-size:.8125rem;margin-top:20px}.best-for strong{display:block;font-weight:700;color:var(--navy);margin-bottom:3px}.design-option .text-link,.material-copy .text-link{margin-top:16px;border-bottom:1px solid #b9c6d0}.material-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.material-card{border:1px solid var(--line);scroll-margin-top:115px}.material-image{aspect-ratio:1.7;position:relative;overflow:hidden;background:var(--pale)}.material-image>img{width:100%;height:100%;object-fit:cover}.rafters-image>img{object-position:50% 49%}.image-number{position:absolute;top:20px;left:20px;display:grid;place-items:center;width:38px;height:38px;background:#fff;color:var(--navy);font-size:.8125rem}.material-copy{padding:32px 34px 34px}.approach{background:var(--pale);padding-block:85px}.approach .section-heading{margin-bottom:42px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.approach-grid>div{border-top:1px solid #becbd5;padding-top:22px}.approach-grid span{font-size:.75rem;color:#a64808;letter-spacing:.1em;font-weight:700}.approach-grid h3{font-size:1.2rem;font-weight:600;letter-spacing:-.02em;margin:14px 0 11px}.approach-grid p{font-size:.9375rem;color:var(--muted);line-height:1.85}.questions{display:grid;grid-template-columns:.7fr 1fr;gap:90px;padding-block:100px}.questions h2{font-size:clamp(2rem,3.1vw,3rem);line-height:1.2;font-weight:500;letter-spacing:-.045em}.questions>div>p:not(.eyebrow){font-size:.9375rem;color:var(--muted);margin-top:24px;line-height:1.8}.questions>div>p a{color:var(--navy);font-weight:600;border-bottom:1px solid #bcc9d3}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;gap:30px;align-items:center;font-weight:600;line-height:1.65;cursor:pointer;padding:23px 0}summary::-webkit-details-marker{display:none}summary span{color:#b5510a;font-size:1.4rem;font-weight:400;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:.9375rem;color:var(--muted);padding:0 34px 23px 0;line-height:1.85}.consultation{background:var(--navy);color:white;padding:64px 66px;display:flex;justify-content:space-between;align-items:center;gap:65px;margin-bottom:78px;position:relative}.consultation:before{content:'';position:absolute;left:0;top:0;width:5px;height:100%;background:var(--orange)}.consultation .eyebrow{color:#ffab6a;margin-bottom:18px}.consultation h2{font-size:clamp(2.4rem,3.65vw,3.5rem);font-weight:500;line-height:1.15;letter-spacing:-.045em}.consultation p:not(.eyebrow){color:#c3d1db;margin-top:20px;font-size:1rem;line-height:1.85}.consultation-actions{display:flex;flex-direction:column;align-items:center;gap:15px;flex-shrink:0}.consultation-actions>.button{min-width:245px}.call-link{font-size:.9375rem;line-height:1.8;border-bottom:1px solid #8ba0b0}.consultation-actions>span{color:#afc0cd;font-size:.8125rem;margin-top:4px}.footer{border-top:1px solid var(--line)}.footer-main{display:grid;grid-template-columns:1.45fr .7fr 1fr;gap:50px;padding-block:47px}.footer-brand>a:first-child{font-family:'Manrope',Arial,sans-serif;font-weight:800;font-size:1.45rem;letter-spacing:-.06em}.footer-brand>a:first-child span{color:#be570e}.footer-brand p{font-size:.8125rem;color:var(--muted);margin-top:4px}.website-link{font-size:.9375rem;display:inline-block;margin-top:17px;font-weight:600}.footer-links,.footer-contact{font-size:.875rem;display:flex;flex-direction:column;gap:9px;align-items:flex-start}.footer-contact p{font-weight:600}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{padding-block:19px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.mobile-contact{display:none}
@media(min-width:1600px){.hero-image{min-height:685px}.hero h1{font-size:4.65rem}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.header nav{gap:18px;font-size:.8125rem}.header-inner{gap:16px}.header-quote{gap:9px;padding-inline:13px}.brand{width:105px}.hero{gap:35px}.hero h1{font-size:3.4rem}.hero-image{min-height:620px}.hero .actions{gap:12px}.hero .button{padding-inline:19px}.collection-feature{gap:35px}.section-heading{gap:45px}.approach-grid{gap:30px}.questions{gap:55px}.consultation{padding:50px}.collection-nav .wrap{gap:14px}.collection-nav a{gap:8px}.collection-nav b{font-size:.875rem}}
@media(max-width:980px){.header-inner{min-height:82px}.brand{width:120px;margin-right:auto}.brand img{height:76px;width:108px}.menu-toggle{display:block;order:3}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:15px 32px 22px;border-bottom:1px solid var(--line);box-shadow:0 14px 24px #112c4510}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav a{padding:13px 8px;white-space:normal;font-size:.9375rem}.header nav a.active{box-shadow:none;border-left:3px solid var(--orange);padding-left:12px}.header-quote{margin-left:auto}.hero{gap:28px;padding-top:27px}.hero h1{font-size:3rem}.hero-description{font-size:1rem}.hero-image{min-height:630px}.breadcrumb{margin-bottom:30px}.hero-image figcaption{flex-direction:column;align-items:start;gap:6px;padding:40px 18px 18px}.collection-nav .wrap{grid-template-columns:repeat(4,1fr);gap:20px}.collection-nav .wrap>span{display:none}.collection{padding-block:72px}.section-heading{grid-template-columns:1fr 1fr;gap:32px}.section-heading>p{font-size:1rem}.collection-feature{grid-template-columns:.85fr 1fr;gap:28px}.design-option{gap:12px}.design-option p:not(.eyebrow){font-size:.9375rem}.pattern-image{min-height:710px}.material-grid{gap:25px}.material-copy{padding:27px}.approach-grid{gap:25px}.approach-grid h3{font-size:1.1rem}.consultation{padding:45px 38px;gap:35px}.consultation-actions>.button{min-width:220px;padding-inline:17px}.footer-main{gap:28px;grid-template-columns:1.1fr .8fr 1fr}}
@media(max-width:720px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 40px)}.topbar .wrap{justify-content:center;font-size:.6875rem;padding-block:6px}.topbar a{display:none}.header-inner{min-height:75px;gap:15px}.brand{width:110px}.brand img{width:99px;height:69px}.header-quote{font-size:.8125rem;padding:11px 13px;min-height:42px}.header-quote span{display:none}.header nav{padding-inline:20px}.hero{display:flex;flex-direction:column;gap:32px;padding-top:20px;padding-bottom:32px}.hero-copy{align-self:stretch;padding-top:0}.breadcrumb{font-size:.75rem;margin-bottom:30px}.eyebrow{font-size:.75rem;letter-spacing:.13em;margin-bottom:15px}.hero h1{font-size:clamp(3.1rem,9.9vw,4.3rem);letter-spacing:-.057em;line-height:1.09}.hero-subtitle{font-size:1.125rem;margin-top:24px}.hero-description{font-size:1rem;line-height:1.8;max-width:540px}.hero .actions{gap:16px;margin-top:24px}.hero .button{font-size:.875rem;min-height:49px}.text-link{font-size:.8125rem}.hero-note{margin-top:22px;font-size:.75rem}.hero-image{width:100%;min-height:0;height:420px}.hero-image>img{object-position:50% 47%}.hero-image figcaption{flex-direction:row;align-items:end;padding:45px 19px 18px}.hero-image figcaption span:first-child{font-size:.625rem}.hero-image figcaption span:last-child{font-size:.75rem}.collection-nav .wrap{grid-template-columns:repeat(2,1fr);gap:0 18px;padding-block:11px;min-height:0}.collection-nav a{min-height:44px;font-size:.75rem;gap:12px}.collection-nav b{font-size:.875rem}.collection{padding-block:60px}.section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:32px}.section-heading h2,.questions h2{font-size:2.15rem;letter-spacing:-.04em}.section-heading>p{max-width:none;padding:0;font-size:1rem}.collection-feature{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.pattern-image{min-height:0;height:280px}.pattern-image>img{object-position:center}.pattern-image figcaption{left:16px;bottom:16px;font-size:.75rem;padding:10px 14px}.design-option{padding:16px 0 26px;gap:18px}.design-option+.design-option{padding-top:26px}.design-option h3,.material-copy h3{font-size:1.65rem}.design-option p:not(.eyebrow){font-size:1rem}.design-option .eyebrow,.material-copy .eyebrow{font-size:.6875rem}.design-option p.best-for{font-size:.8125rem}.design-option .text-link,.material-copy .text-link{font-size:.875rem}.material-grid{grid-template-columns:1fr;gap:30px}.material-copy{padding:27px 24px}.material-image{aspect-ratio:1.55}.rafters-image{aspect-ratio:1.45}.rafters-image>img{object-position:50% 42%}.approach{padding-block:58px}.approach .section-heading{margin-bottom:31px}.approach-grid{grid-template-columns:1fr;gap:27px}.approach-grid>div{padding-top:20px}.approach-grid h3{font-size:1.2rem;margin:9px 0}.approach-grid p{font-size:1rem}.questions{grid-template-columns:1fr;gap:33px;padding-block:62px}.questions h2 br{display:none}.questions>div>p:not(.eyebrow){margin-top:18px}.questions>div>p br{display:none}.questions>div>p a{display:inline-block}summary{font-size:.9375rem;padding:21px 0;gap:18px}details p{padding-right:10px}.consultation{padding:40px 28px;flex-direction:column;align-items:start;gap:29px;margin-bottom:49px}.consultation h2{font-size:2.55rem}.consultation p:not(.eyebrow){font-size:.9375rem}.consultation p br{display:none}.consultation-actions{align-items:start;gap:13px}.consultation-actions>.button{min-width:235px}.consultation-actions>span{margin-top:0}.footer-main{grid-template-columns:1fr 1fr;gap:28px;padding-block:35px}.footer-brand{grid-column:1/-1}.footer-links,.footer-contact{font-size:.8125rem;gap:11px}.footer-contact a{overflow-wrap:anywhere}.footer-bottom{font-size:.6875rem;align-items:start;padding-block:18px;gap:13px;margin-bottom:65px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:35;background:white;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -5px 20px #112c4510}.mobile-contact a{flex:1;display:flex;justify-content:center;align-items:center;gap:15px;min-height:43px;border:1px solid var(--navy);font-size:.875rem;font-weight:700;border-radius:3px}.mobile-contact a:last-child{background:var(--orange);border-color:var(--orange);flex:1.6;color:#fff}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.header-inner{gap:10px}.header-quote{font-size:.75rem;padding-inline:10px}.hero h1{font-size:2.95rem}.hero .actions{gap:6px 12px}.hero-image{height:365px}.hero-image figcaption{flex-direction:column;align-items:start}.collection-nav b{font-size:.8125rem}.consultation{padding:35px 23px}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}}
/* Keep the longer collection labels balanced across screen sizes. */
@media(max-width:1150px){.collection-nav .wrap{grid-template-columns:.85fr 1.2fr 1.15fr 1fr .75fr}.collection-nav a{line-height:1.5}}
@media(max-width:980px){.collection-nav .wrap{grid-template-columns:1.2fr 1.15fr 1fr .75fr}}
@media(max-width:720px){.collection-nav .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-nav a{gap:8px}.collection-nav b{font-size:.8125rem}}

/* Preserve the full landscape composition of the supplied hero photograph. */
.hero-image.hero-photo{min-height:0;height:auto;aspect-ratio:4/3;align-self:center;background:var(--pale)}
.hero-image.hero-photo>img{position:static;width:100%;height:100%;object-fit:contain}
@media(min-width:981px){.hero:has(.hero-photo){grid-template-columns:.9fr 1.15fr;gap:46px}}
@media(max-width:720px){.hero-image.hero-photo{height:auto;aspect-ratio:4/3}.hero-image.hero-photo figcaption{padding:36px 16px 12px}.hero-image.hero-photo figcaption span:first-child{font-size:.625rem}.hero-image.hero-photo figcaption span:last-child{font-size:.6875rem}}
/* Full-width UPVC feature beneath the four privacy cards. */
.upvc-feature{display:grid;grid-template-columns:1.15fr 1fr;min-height:560px;background:var(--navy);color:white;margin-bottom:96px;scroll-margin-top:120px;overflow:hidden}.upvc-image{position:relative;min-width:0;min-height:100%}.upvc-image>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.upvc-copy{padding:54px 48px;align-self:center}.upvc-copy .eyebrow{color:#ffab6a;font-size:.6875rem;letter-spacing:.14em;line-height:1.7;margin-bottom:16px}.upvc-copy h2{font-size:clamp(2.4rem,3.7vw,3.5rem);font-weight:600;line-height:1.15;letter-spacing:-.045em}.upvc-copy .upvc-lead{font-size:1.1875rem;color:white;line-height:1.5;margin-top:16px;font-weight:500}.upvc-copy>p:not(.eyebrow):not(.upvc-lead){color:#cbd7e0;margin-top:17px;font-size:1rem;line-height:1.85}.upvc-details{padding:0;margin:23px 0 29px;list-style:none;font-size:.875rem;color:#e1e8ee;display:grid;gap:10px}.upvc-details li{padding-left:19px;position:relative;line-height:1.6}.upvc-details li:before{content:'';position:absolute;left:0;top:.64em;width:6px;height:6px;background:var(--orange)}.upvc-copy .button{font-size:.875rem;gap:19px}.collection-nav .wrap{grid-template-columns:.85fr 1.25fr 1.1fr 1fr .75fr 1fr;gap:18px}
@media(max-width:1150px){.upvc-copy{padding:40px 34px}.upvc-feature{grid-template-columns:1fr 1fr;min-height:550px}.collection-nav .wrap{grid-template-columns:1.25fr 1.1fr 1fr .75fr 1fr;gap:15px}.collection-nav .wrap>span{display:none}}
@media(max-width:980px){.upvc-copy{padding:34px 28px}.upvc-copy h2{font-size:2.5rem}.upvc-copy .button{padding-inline:16px;gap:13px}.upvc-feature{margin-bottom:72px}.collection-nav .wrap{grid-template-columns:1.25fr 1.1fr 1fr .75fr 1fr}}
@media(max-width:720px){.upvc-feature{grid-template-columns:1fr;min-height:0;margin-bottom:60px}.upvc-image{min-height:0;aspect-ratio:1.5}.upvc-copy{padding:35px 26px 39px}.upvc-copy h2{font-size:2.5rem}.upvc-copy .upvc-lead{font-size:1.125rem}.upvc-copy .eyebrow{font-size:.6875rem}.upvc-copy .button{max-width:100%;min-height:50px}.upvc-details{font-size:.875rem}.collection-nav .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}}

@media(min-width:721px) and (max-width:980px){.upvc-feature{grid-template-columns:1fr}.upvc-image{min-height:0;aspect-ratio:1.5}.upvc-copy{padding:40px}.upvc-copy h2{font-size:3rem}}

/* Full-width branded footer. */
.site-footer{background:var(--navy-deep);color:#d4dfe8;border-top:4px solid var(--orange)}
.site-footer-grid{display:grid;grid-template-columns:1.25fr .7fr .95fr 1.15fr;gap:44px;padding-block:64px 52px}
.site-footer-grid>div,.site-footer-grid>nav{min-width:0}
.site-footer-logo{display:block;width:100px;padding:5px;background:white;border-radius:3px;margin-bottom:20px}
.site-footer-logo img{width:100%;height:auto}
.site-footer-brand>p{font-size:.9375rem;line-height:1.8;max-width:285px}
.site-footer-brand .site-footer-tagline{font-weight:600;color:white;font-size:1rem;margin-bottom:10px}
.site-footer-website{display:inline-flex;gap:12px;align-items:center;color:#ffad70;font-size:.9375rem;font-weight:600;min-height:44px;margin-top:15px}
.site-footer-column h2{font-size:.875rem;font-weight:700;line-height:1.5;letter-spacing:.06em;color:#ffad70;margin-bottom:19px}
.site-footer-column ul{padding:0;margin:0;list-style:none}
.site-footer-column li a{display:flex;align-items:center;min-height:40px;padding-block:6px;font-size:.9375rem;line-height:1.5}
.site-footer a:not(.button):not(.site-footer-logo):hover{color:white;text-decoration:underline;text-underline-offset:5px}
.site-footer-contact address{font-style:normal;display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:.9375rem;line-height:1.7}
.site-footer-contact address a{overflow-wrap:anywhere;max-width:100%;padding-block:3px}
.site-footer-contact .site-footer-phone{font-family:'Manrope',Arial,sans-serif;font-size:1.125rem;font-weight:700;color:white;letter-spacing:.01em}
.site-footer-area{font-size:.875rem;margin-top:12px;color:#abbecd}
.site-footer-whatsapp{margin-top:23px;max-width:100%;font-size:.875rem;gap:15px;padding-inline:18px;min-height:48px}
.site-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #ffffff26;padding-block:19px;font-size:.8125rem;color:#abbecd}
.site-footer-bottom>div{display:flex;gap:27px;align-items:center;flex-wrap:wrap}
.site-footer-bottom a{display:inline-flex;align-items:center;gap:10px;min-height:36px}
@media(max-width:1100px){.site-footer-grid{grid-template-columns:1.15fr .8fr .95fr 1.2fr;gap:26px}.site-footer-contact .site-footer-phone{font-size:1rem}.site-footer-whatsapp{padding-inline:13px;gap:10px}}
@media(max-width:980px){.site-footer-grid{grid-template-columns:1fr 1fr;gap:40px 60px;padding-block:50px 40px}.site-footer-brand>p{max-width:360px}.site-footer-column h2{margin-bottom:14px}.site-footer-contact .site-footer-phone{font-size:1.125rem}}
@media(max-width:720px){.site-footer-grid{gap:30px 24px;padding-block:40px 32px}.site-footer-brand,.site-footer-contact{grid-column:1/-1}.site-footer-brand>p{max-width:440px}.site-footer-logo{width:92px;margin-bottom:17px}.site-footer-column li a{min-height:44px;font-size:.875rem}.site-footer-contact{border-top:1px solid #ffffff26;padding-top:27px}.site-footer-contact address a{min-height:40px;display:inline-flex;align-items:center}.site-footer-contact address{gap:4px}.site-footer-bottom{flex-direction:column;align-items:flex-start;gap:6px;padding-block:20px calc(86px + env(safe-area-inset-bottom));font-size:.8125rem}.site-footer-bottom>div{gap:26px}.site-footer-bottom a{min-height:44px}}
@media(max-width:380px){.site-footer-grid{column-gap:16px}.site-footer-column h2{font-size:.8125rem}.site-footer-column li a{font-size:.875rem}}

/* Alternate section surfaces while retaining the navy and orange brand. */
.hero-surface{background:linear-gradient(115deg,#ffffff 0%,#edf3f8 58%,#dfeaf3 100%)}
.hero-image.hero-photo{box-shadow:0 18px 42px #112c4514}
.collection-nav{background:var(--navy);border-color:#29445b}
.collection-nav .wrap>span{color:#c9d7e2}
.collection-nav a{color:#ffad70}
.collection-nav b{color:#ffffff}
.collection-nav a:hover b{color:#ffd3b1}
.collection-surface{display:flow-root;background:#e8eff5}
.material-card{background:#ffffff;border-color:#d2dfe9;box-shadow:0 8px 24px #112c4508}
.material-card .image-number{background:var(--navy);color:#ffffff}
.upvc-feature{box-shadow:0 16px 40px #112c4514}
.approach{background:#ffffff}
.approach-grid>div{border-top-color:#adc3d5}
.questions-surface{display:flow-root;background:#eef3f7}
.faq-list{border-top:0;display:grid;gap:12px;align-content:start}
.faq-list details{background:#ffffff;border:1px solid #d3dfe8;padding-inline:24px}
.faq-list details[open]{border-color:#9db7cc}
.consultation{background:#f6a665;color:#fff}
.consultation:before{background:var(--navy)}
.consultation .eyebrow{color:#6b3009}
.consultation p:not(.eyebrow),.consultation-actions>span{color:#244056}
.consultation .button{background:var(--navy);border-color:var(--navy);color:#ffffff}
.consultation .button:hover{background:#24465f;border-color:#24465f}
.consultation .call-link{border-color:#24405680}
.consultation a:focus-visible{outline-color:var(--navy-deep)}
@media(max-width:720px){.hero-surface{background:linear-gradient(155deg,#ffffff 0%,#e2ecf4 100%)}.faq-list details{padding-inline:18px}}

/* A framed photo collection with manual, touch and keyboard navigation. */
.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}
.hero-gallery{width:100%;min-width:0;align-self:center;padding-top:10px}
.hero-gallery:focus-visible{outline:3px solid var(--orange);outline-offset:15px}
.gallery-frame{position:relative;isolation:isolate}
.gallery-frame:before,.gallery-frame:after{content:'';position:absolute;width:clamp(40px,5vw,76px);height:clamp(40px,5vw,76px);z-index:2;pointer-events:none}
.gallery-frame:before{top:-10px;left:-10px;border-top:4px solid var(--orange);border-left:4px solid var(--orange)}
.gallery-frame:after{bottom:-10px;right:-10px;border-right:4px solid var(--navy);border-bottom:4px solid var(--navy)}
.gallery-viewport{overflow:hidden;border-radius:4px;background:var(--navy-deep);box-shadow:0 18px 42px #112c4520;touch-action:pan-y pinch-zoom}
.gallery-track{display:flex;transition:transform 480ms cubic-bezier(.22,.61,.36,1)}
.hero-gallery .gallery-slide{flex:0 0 100%;min-width:0;width:100%;align-self:stretch;border-radius:0;box-shadow:none;background:var(--navy-deep)}
.hero-gallery .gallery-slide>img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-gallery .gallery-slide:first-child>img{object-fit:contain}
.hero-gallery .gallery-slide figcaption{padding:60px 24px 22px;gap:8px;align-items:flex-start;flex-direction:column;background:linear-gradient(transparent,#071c2dea)}
.hero-gallery .gallery-slide figcaption span:first-child{font-size:.75rem;letter-spacing:.12em;color:#e5edf3}
.hero-gallery .gallery-slide figcaption span:last-child{font-size:1rem;font-weight:600;line-height:1.45}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:46px;height:46px;padding:0;background:#ffffffee;color:var(--navy);border:1px solid #ffffffc9;border-radius:50%;box-shadow:0 4px 14px #071c2d24;transition:background .2s,color .2s}
.gallery-arrow svg{width:24px;height:24px}
.gallery-prev{left:15px}.gallery-next{right:15px}
.gallery-arrow:hover{background:var(--orange);color:#fff;border-color:var(--orange)}
.gallery-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:17px;min-height:44px}
.gallery-pagination{display:flex;gap:3px}
.gallery-pagination button{width:44px;height:44px;display:grid;place-items:center;border:0;padding:0;background:transparent}
.gallery-pagination span{width:27px;height:3px;border-radius:3px;background:#bbcbd6;transition:background .2s}
.gallery-pagination [aria-current="true"] span{background:var(--orange)}
.gallery-pagination button:hover span{background:var(--navy)}
.gallery-counter{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.06em}
.gallery-counter strong{color:var(--navy);font-weight:700}
.gallery-arrow[hidden],.gallery-navigation[hidden]{display:none}

/* A focused enquiry band with a clear action panel. */
.consultation.consultation-refined{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(245px,.85fr);gap:clamp(30px,5vw,76px);padding:clamp(32px,4.5vw,64px);background:linear-gradient(115deg,#0b2237,#163c56);color:white;border:1px solid #294d65;border-radius:12px;box-shadow:0 18px 40px #112c4517;overflow:hidden}
.consultation-refined:before{width:64px;height:4px;left:clamp(32px,4.5vw,64px);background:var(--orange)}
.consultation-refined .eyebrow{color:#ffb77e;font-size:.8125rem;letter-spacing:.14em;margin-bottom:21px}
.consultation-refined h2{font-size:clamp(2.1rem,3.6vw,3.35rem);line-height:1.19;letter-spacing:-.04em;font-weight:600}
.consultation-refined h2 span{color:#ffb77e}
.consultation-refined .consultation-copy>p:not(.eyebrow){color:#d0dce5;font-size:1rem;line-height:1.8;margin-top:22px}
.consultation-refined .consultation-actions{min-width:0;align-items:stretch;gap:14px;border-left:1px solid #ffffff2e;padding-left:clamp(24px,3vw,44px)}
.consultation-refined .consultation-prompt{font-size:.9375rem;font-weight:500;line-height:1.6;margin:0 0 4px;color:white}
.consultation-primary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:13px 18px 13px 22px;background:var(--orange);border:1px solid var(--orange);border-radius:5px;color:#fff;font-size:1rem;font-weight:700;line-height:1.4;transition:background .2s,transform .2s}
.consultation-primary>span{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border:1px solid #0b223759;border-radius:50%;font-size:1.35rem;font-weight:400}
.consultation-primary:hover{background:#ffb77e;transform:translateY(-2px)}
.consultation-call{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:12px 15px;border:1px solid #a9c1d06b;border-radius:5px;color:white;font-size:.9375rem;font-weight:500;line-height:1.5;transition:background .2s,border-color .2s}
.consultation-call svg{width:19px;height:19px;flex-shrink:0;color:#ffb77e}
.consultation-call:hover{background:#ffffff0d;border-color:#ffb77e}
.consultation-refined .consultation-location{color:#c1d1dd;font-size:.875rem;text-align:center;margin-top:0}
.consultation-refined a:focus-visible{outline-color:#ffb77e}
@media(max-width:980px){.consultation.consultation-refined{grid-template-columns:minmax(0,1fr) minmax(240px,.9fr);gap:28px;padding:36px}.consultation-refined .consultation-actions{padding-left:26px}.consultation-refined h2{font-size:2.4rem}}
@media(max-width:720px){.hero-gallery{padding:8px 0 0}.gallery-frame:before{left:-7px;top:-7px;border-width:3px}.gallery-frame:after{right:-7px;bottom:-7px;border-width:3px}.hero-gallery .gallery-slide figcaption{padding:42px 17px 16px;gap:4px}.hero-gallery .gallery-slide figcaption span:first-child{font-size:.75rem}.hero-gallery .gallery-slide figcaption span:last-child{font-size:.9375rem}.gallery-arrow{width:44px;height:44px}.gallery-prev{left:11px}.gallery-next{right:11px}.gallery-navigation{margin-top:12px}.consultation.consultation-refined{grid-template-columns:1fr;padding:32px 26px;gap:28px;border-radius:8px}.consultation-refined:before{left:26px}.consultation-refined .eyebrow{font-size:.75rem;margin-bottom:17px}.consultation-refined h2{font-size:clamp(1.85rem,6.5vw,2.7rem)}.consultation-refined .consultation-copy>p:not(.eyebrow){font-size:1rem;margin-top:19px}.consultation-refined .consultation-actions{width:100%;border-left:0;border-top:1px solid #ffffff2e;padding:24px 0 0;gap:12px}.consultation-refined .consultation-prompt{font-size:.9375rem}.consultation-primary{min-height:60px}}

/* White text on orange section backgrounds. */
.consultation:not(.consultation-refined) :is(.eyebrow,p,.consultation-actions>span){color:#fff}

/* A stronger, coordinated motion rhythm throughout the privacy page. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-hover:320ms}
.header{transition:box-shadow 350ms ease,background-color 350ms ease,border-color 350ms ease}
.header.is-scrolled{box-shadow:0 8px 28px #0b223716;border-bottom-color:#cbd9e3;background:#fff}
.header nav a,.collection-nav a b{transition:color 220ms ease}
.gallery-track{transition-duration:650ms;transition-timing-function:cubic-bezier(.22,.8,.3,1)}
.gallery-arrow{transition:background-color 240ms ease,color 240ms ease,border-color 240ms ease,box-shadow 300ms ease}
.gallery-arrow svg{transition:translate 300ms var(--motion-ease)}
.gallery-pagination span{transition:background-color 250ms ease,scale 350ms var(--motion-ease)}
.gallery-pagination [aria-current="true"] span{scale:1.16 1}
.material-card{transition:translate 420ms var(--motion-ease),box-shadow 420ms ease,border-color 320ms ease}
.material-image>img,.upvc-image>img{transition:scale 900ms var(--motion-ease)}
.upvc-image{overflow:hidden}
.material-card .image-number{transition:background-color 300ms ease,color 300ms ease}
.approach-grid>div{transition:border-color 300ms ease}
.button,.consultation-primary,.consultation-call{transition:background-color var(--motion-hover) ease,border-color var(--motion-hover) ease,box-shadow var(--motion-hover) ease,transform var(--motion-hover) var(--motion-ease)}
.button>span,.text-link>span,.consultation-primary>span{display:inline-block;transition:translate 320ms var(--motion-ease),border-color 320ms ease}
.consultation-primary>span{display:grid}
.text-link{transition:color 220ms ease,border-color 220ms ease}
.faq-list details{transition:border-color 300ms ease,box-shadow 300ms ease,background-color 300ms ease}
.faq-list details[open]{box-shadow:0 8px 22px #112c450b;border-color:#96b2c8;background:#fafdff}
.faq-list summary span{transition:transform 350ms var(--motion-ease),color 250ms ease}
.faq-list summary:hover span{color:var(--navy)}
.pd-footer .pd-footer-social a,.pd-footer .pd-footer-links a{transition:color 250ms ease,border-color 250ms ease,translate 300ms var(--motion-ease)}
@media(prefers-reduced-motion:no-preference){
  .faq-list details[open]>p{animation:privacy-answer-in 400ms var(--motion-ease) both}
  .material-card:focus-within{translate:0 -5px;box-shadow:0 18px 36px #112c4517;border-color:#a7bccd}
  .material-card:focus-within .material-image>img{scale:1.035}
  .button:focus-visible,.consultation-primary:focus-visible{transform:translateY(-3px);box-shadow:0 8px 20px #0b22371f}
  .button:active,.consultation-primary:active,.consultation-call:active{transform:translateY(1px) scale(.985)}
  @media(hover:hover) and (pointer:fine){
    .material-card:hover{translate:0 -7px;box-shadow:0 20px 42px #112c451b;border-color:#a7bccd}
    .material-card:hover .material-image>img,.upvc-image:hover>img{scale:1.045}
    .material-card:hover .image-number{background:var(--orange);color:white}
    .approach-grid>div:hover{border-color:var(--orange)}
    .button:hover,.consultation-primary:hover{transform:translateY(-4px);box-shadow:0 10px 22px #0b223724}
    .button:hover>span,.text-link:hover>span{translate:3px -2px}
    .consultation-primary:hover>span{translate:3px -2px;border-color:#fff}
    .gallery-arrow:hover{box-shadow:0 6px 20px #071c2d38}
    .gallery-prev:hover svg{translate:-2px 0}.gallery-next:hover svg{translate:2px 0}
    .pd-footer .pd-footer-links a:hover{translate:3px 0}
  }
}
@keyframes privacy-answer-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  .material-card,.material-image>img,.upvc-image>img,.button,.consultation-primary,.consultation-call,.button>span,.text-link>span,.consultation-primary>span,.gallery-arrow svg,.gallery-pagination span,.pd-footer .pd-footer-links a{translate:none!important;scale:none!important}
  .button,.consultation-primary,.consultation-call{transform:none!important}
  .gallery-track{transition:none!important}
}
@media print{.gallery-arrow,.gallery-navigation,.mobile-contact{display:none!important}}


.mobile-contact{grid-template-columns:repeat(1,minmax(0,1fr));} .mobile-contact>a{flex:1;}
