/*
Theme Name: Sash & Case Heritage v1.5.7
Theme URI: https://sashandcasewindow.co.uk/
Author: Premier Joiners
Description: A lightweight conservation-led WordPress theme for The Sash & Case Window Company. Designed to preserve existing WordPress pages, URLs, Yoast metadata and media while improving navigation, accessibility and internal linking.
Version: 1.5.7
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: sash-case-heritage
*/

:root{--ivory:#f5f1e8;--green:#18352f;--deep:#0f2823;--charcoal:#292b28;--brass:#b29a67;--cream:#ddd5c4;--line:rgba(24,53,47,.18);--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--charcoal);font:16px/1.65 "DM Sans",Arial,sans-serif}body.admin-bar .site-header{top:32px}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{background:#fff;color:#000;clip:auto;width:auto;height:auto;padding:12px;left:8px;top:8px;z-index:99999}.topbar{min-height:38px;padding:7px 4vw;background:var(--deep);color:var(--cream);display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.site-header{min-height:92px;padding:14px 4vw;display:flex;align-items:center;gap:2rem;border-bottom:1px solid var(--line);position:relative;z-index:50;background:var(--ivory)}.brand{display:flex;align-items:center;margin-right:auto;line-height:1.05}.brand img,.custom-logo{width:62px!important;height:62px!important;object-fit:contain;margin-right:12px}.brand-name{display:block;font:1.25rem "Libre Caslon Display",Georgia,serif;color:var(--green)}.brand-subtitle{display:block;color:#6d6c65;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-top:6px}.site-nav ul{display:flex;align-items:center;gap:1.45rem;list-style:none;margin:0;padding:0}.site-nav a{font-size:.79rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.site-nav a:hover,.site-nav .current-menu-item>a{color:#826e44}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:10px 14px;text-transform:uppercase;font-weight:600}.button,.wp-block-button__link{display:inline-block;border:0;border-radius:0;background:var(--brass);color:#142721!important;padding:15px 22px;font-size:.76rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.button:hover,.wp-block-button__link:hover{background:#c2aa77}.button-small{padding:11px 16px}.hero{min-height:700px;position:relative;display:flex;align-items:center;color:var(--white);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(10,31,27,.94) 0%,rgba(12,35,30,.73) 48%,rgba(12,35,30,.12) 80%)}.hero-copy{position:relative;z-index:2;width:min(760px,78%);margin-left:max(7vw,calc((100vw - var(--max))/2))}.eyebrow,.section-label{margin:0 0 20px;color:var(--brass);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700}.hero h1,.intro h2,.section-heading h2,.trust h2,.site-footer h2,.page-hero h1{font:normal clamp(3rem,5.4vw,5.7rem)/1 "Libre Caslon Display",Georgia,serif;margin:0}.hero-copy>p:not(.eyebrow){font-size:1.14rem;max-width:620px;color:#e7e2d7;margin:27px 0}.actions{display:flex;align-items:center;gap:29px}.text-link{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.text-link span{color:var(--brass);font-size:1.15rem;margin-left:8px}.hero-note{position:absolute;z-index:2;right:0;bottom:0;width:365px;padding:23px 31px;background:var(--ivory);color:var(--charcoal)}.hero-note strong,.hero-note span{display:block}.hero-note strong{font-family:"Libre Caslon Display",Georgia,serif;color:var(--green);font-size:1.12rem}.hero-note span{font-size:.8rem;margin-top:4px}.intro{padding:105px max(7vw,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.55fr 1.1fr 1fr;gap:50px;border-bottom:1px solid var(--line)}.intro h2{font-size:clamp(2.8rem,4vw,4.6rem);color:var(--green)}.intro-copy p:first-child{font-size:1.08rem;color:var(--green)}.services{background:var(--green);color:var(--white);padding:95px max(7vw,calc((100vw - var(--max))/2))}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:50px}.section-heading h2{font-size:clamp(2.7rem,4vw,4.4rem)}.section-label.light,.text-link.light{color:#d5c59e}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}.service-card{padding:32px 28px 36px;border-right:1px solid rgba(255,255,255,.22);transition:.2s}.service-card:first-child{padding-left:0}.service-card:last-child{border:0}.service-card:hover{background:rgba(255,255,255,.05)}.service-card .number{color:var(--brass);font-size:.72rem}.service-card h3{font:normal 1.9rem "Libre Caslon Display",Georgia,serif;margin:30px 0 13px}.service-card p{color:#cfd6d2;font-size:.91rem;min-height:90px}.service-card b{font-size:.7rem;color:#d5c59e;text-transform:uppercase;letter-spacing:.1em}.work{padding:105px max(7vw,calc((100vw - var(--max))/2))}.section-heading.dark h2{color:var(--green)}.section-heading.dark>p{max-width:350px}.gallery{display:grid;grid-template-columns:1.3fr .82fr .82fr;gap:18px}.gallery figure{margin:0;background:var(--white)}.gallery img{width:100%;height:430px;object-fit:cover}.gallery .wide img{height:520px}.gallery figcaption{padding:17px 20px;display:flex;justify-content:space-between}.gallery figcaption b{font-family:"Libre Caslon Display",Georgia,serif;color:var(--green)}.gallery figcaption span{font-size:.76rem;color:#777}.trust{padding:90px max(7vw,calc((100vw - var(--max))/2));background:var(--charcoal);color:var(--white);display:grid;grid-template-columns:1fr 1.1fr;gap:9vw}.trust h2{font-size:clamp(2.8rem,4vw,4.5rem)}.trust-points p{display:grid;grid-template-columns:55px 1fr;margin:0;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.15)}.trust-points b{color:var(--brass)}.trust-points strong,.trust-points span{display:block}.trust-points strong{font:normal 1.2rem "Libre Caslon Display",Georgia,serif;margin-bottom:4px}.trust-points span{color:#ccd0cc;font-size:.88rem}.page-hero{padding:70px max(7vw,calc((100vw - var(--max))/2));background:var(--green);color:#fff}.page-hero h1{font-size:clamp(2.8rem,5vw,5rem);max-width:950px}.breadcrumbs{margin-bottom:18px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#d5c59e}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.content-wrap{max-width:1180px;margin:0 auto;padding:65px 30px 100px}.entry-content{max-width:850px}.entry-content>*:first-child{margin-top:0}.entry-content h2,.entry-content h3{font-family:"Libre Caslon Display",Georgia,serif;color:var(--green);line-height:1.2}.entry-content h2{font-size:clamp(2rem,3vw,3.2rem);margin-top:2.2rem}.entry-content h3{font-size:1.6rem;margin-top:1.8rem}.entry-content p,.entry-content li{font-size:1.03rem}.entry-content a:not(.button){color:#315f55;text-decoration:underline;text-underline-offset:3px}.entry-content img{margin:22px 0}.seo-links{margin-top:65px;border-top:1px solid var(--line);padding-top:38px}.seo-links h2{font:normal 2.1rem "Libre Caslon Display",Georgia,serif;color:var(--green);margin:0 0 20px}.seo-links ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}.seo-links a{display:block;background:#fff;border:1px solid var(--line);padding:17px 19px;color:var(--green);font-weight:600}.seo-links a:hover{border-color:var(--brass)}.site-footer{padding:78px max(7vw,calc((100vw - var(--max))/2)) 30px;background:var(--ivory)}.footer-main{display:grid;grid-template-columns:120px 1.25fr .7fr;gap:45px;align-items:start}.footer-logo{width:108px}.site-footer h2{font-size:clamp(2.4rem,3.5vw,3.8rem);color:var(--green);max-width:700px}.site-footer address{font-style:normal;border-left:1px solid var(--line);padding-left:32px}.site-footer address a{font-weight:700;color:var(--green)}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:65px 0 35px;padding-top:35px;border-top:1px solid var(--line)}.footer-links h3{font:normal 1.2rem "Libre Caslon Display",Georgia,serif;color:var(--green)}.footer-links ul{list-style:none;margin:0;padding:0;columns:2}.footer-links li{margin:6px 0}.footer-links a{font-size:.86rem}.copyright{display:flex;justify-content:space-between;gap:25px;padding-top:22px;border-top:1px solid var(--line);font-size:.76rem;color:#686963}.elementor-location-header,.elementor-location-footer,.elementor[data-elementor-type="templately-header"],.elementor[data-elementor-type="templately-footer"]{display:none!important}@media(max-width:1000px){.site-nav,.site-header>.button{display:none}.menu-toggle{display:block}.site-nav.is-open{display:block;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:20px 5vw;border-bottom:1px solid var(--line)}.site-nav.is-open ul{display:block}.site-nav.is-open li{margin:12px 0}.intro{grid-template-columns:1fr;gap:12px}.service-grid{grid-template-columns:1fr 1fr}.service-card{border-bottom:1px solid rgba(255,255,255,.22)}.gallery{grid-template-columns:1fr}.gallery img,.gallery .wide img{height:420px}.trust{grid-template-columns:1fr}.footer-main{grid-template-columns:90px 1fr}.site-footer address{grid-column:2;border:0;padding-left:0}}@media(max-width:782px){body.admin-bar .site-header{top:46px}}@media(max-width:600px){.topbar span{display:none}.topbar{justify-content:center}.site-header{min-height:76px}.brand img,.custom-logo{width:48px!important;height:48px!important}.brand-name{font-size:1rem}.brand-subtitle{font-size:.58rem}.hero{min-height:620px}.hero-copy{width:87%;margin-left:7vw}.hero h1{font-size:3.05rem}.hero-note{display:none}.actions{align-items:flex-start;flex-direction:column;gap:17px}.section-heading{display:block}.service-grid{grid-template-columns:1fr}.service-card,.service-card:first-child{padding:27px 0}.service-card p{min-height:0}.gallery img,.gallery .wide img{height:340px}.seo-links ul{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-logo{width:82px}.site-footer address{grid-column:auto}.footer-links{grid-template-columns:1fr}.footer-links ul{columns:1}.copyright{display:block}.copyright span{display:block;margin-bottom:6px}}


/* ---------------------------------------------------------------------------
   Mobile performance (v1.3.0)
   --------------------------------------------------------------------------- */

/* Paint the hero's dark ground on the very first frame so the page is never a
   blank white screen while the photograph downloads. This is what the Speed
   Index metric measures. */
.hero{background-color:var(--deep)}
.hero picture{display:contents}

/* <picture> is inline by default, which leaves a baseline gap under the
   photographs in the work gallery. */
.gallery picture{display:block;line-height:0}

/* Reserve the gallery's height before the lazy images arrive so scrolling
   never shifts the layout. */
.gallery figure{min-height:430px}
@media(max-width:1000px){.gallery figure{min-height:420px}}
@media(max-width:600px){.gallery figure{min-height:340px}}

/* Skip layout and paint work for sections that are far below the fold until
   they are scrolled near. The intrinsic sizes keep the scrollbar honest. */
.work,.trust,.priority-service-links,.site-footer{content-visibility:auto}
.work{contain-intrinsic-size:auto 1400px}
.trust{contain-intrinsic-size:auto 700px}
.priority-service-links{contain-intrinsic-size:auto 600px}
.site-footer{contain-intrinsic-size:auto 1200px}

/* Honour a reduced-motion preference and drop the smooth-scroll work. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.site-header .menu-toggle{display:flex;align-items:center;gap:12px;border:1px solid rgba(24,53,47,.26);background:transparent;color:#18352f;padding:11px 14px;cursor:pointer;font:600 .72rem/1 "DM Sans",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;position:relative;z-index:1002}
.menu-open .site-header .menu-toggle{position:fixed;top:24px;right:28px;background:#f5f1e8;z-index:1003}
.admin-bar.menu-open .site-header .menu-toggle{top:56px}
.menu-toggle-icon{display:grid;gap:4px;width:21px}.menu-toggle-icon i{display:block;width:21px;height:1px;background:currentColor;transition:transform .25s,opacity .2s}.menu-toggle[aria-expanded="true"] .menu-toggle-icon i:first-child{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-toggle-icon i:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] .menu-toggle-icon i:last-child{transform:translateY(-5px) rotate(-45deg)}
.site-header>.site-nav,.site-header>.site-nav.is-open{display:block;position:fixed;inset:0;z-index:1000;padding:0;border:0;background:transparent;visibility:hidden;pointer-events:none}.site-header>.site-nav.is-open{visibility:visible;pointer-events:auto}.menu-backdrop{position:absolute;inset:0;background:rgba(10,25,22,.68);opacity:0;transition:opacity .28s}.site-nav.is-open .menu-backdrop{opacity:1}.menu-drawer{position:absolute;top:0;right:0;width:min(1040px,94vw);height:100%;overflow:auto;padding:52px clamp(28px,5vw,72px);background:#f5f1e8;color:#292b28;transform:translateX(100%);transition:transform .32s ease}.site-nav.is-open .menu-drawer{transform:none}body.menu-open{overflow:hidden}
.menu-drawer-heading{padding:0 130px 28px 0;border-bottom:1px solid rgba(24,53,47,.18)}.menu-drawer-heading span{display:block;color:#8b7548;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.menu-drawer-heading strong{display:block;margin-top:8px;color:#18352f;font:normal clamp(1.8rem,3vw,3rem)/1.1 "Libre Caslon Display",Georgia,serif}.menu-columns{display:grid;grid-template-columns:minmax(190px,.62fr) minmax(0,1.7fr);gap:52px;padding:38px 0}.menu-columns h2{margin:0 0 18px;color:#8b7548;font:700 .7rem/1.2 "DM Sans",Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.menu-columns ul{display:block;list-style:none;margin:0;padding:0}.menu-columns li{margin:0 0 8px}.menu-columns a{font-size:.87rem;line-height:1.35;color:#18352f}.menu-columns a:hover,.menu-columns a:focus-visible{text-decoration:underline;text-decoration-color:#b29a67;text-underline-offset:4px}.menu-primary-list li{margin-bottom:12px}.menu-main a{font:normal 1.48rem/1.3 "Libre Caslon Display",Georgia,serif}.menu-service-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.menu-service-groups h3{min-height:2.7em;margin:0 0 13px;padding-bottom:10px;border-bottom:1px solid rgba(24,53,47,.16);color:#18352f;font:normal 1.05rem/1.3 "Libre Caslon Display",Georgia,serif}.menu-service-groups li{margin-bottom:9px}.menu-areas{grid-column:1/-1;padding-top:22px;border-top:1px solid rgba(24,53,47,.18)}.menu-areas summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;color:#8b7548;font:700 .72rem/1.2 "DM Sans",Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.menu-areas summary::-webkit-details-marker{display:none}.menu-areas summary::after{content:'+';color:#18352f;font-size:1.25rem;line-height:1}.menu-areas[open] summary::after{content:'−'}.menu-areas ul{columns:4;column-gap:28px;margin-top:20px}.menu-areas li{break-inside:avoid}.menu-contact{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:28px;border-top:1px solid rgba(24,53,47,.18)}.menu-contact>a:last-child{color:#18352f;font-weight:700}.header-quote{margin-left:auto}
@media(max-width:900px){.menu-toggle-label{display:none}.header-quote{display:none!important}.menu-drawer{padding-top:82px}.menu-columns{grid-template-columns:1fr;gap:34px}.menu-service-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-areas{grid-column:auto}.menu-areas ul{columns:3}.menu-contact{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.menu-drawer{width:100%;padding-left:24px;padding-right:24px}.menu-drawer-heading{padding-right:74px}.menu-open .site-header .menu-toggle{right:18px}.drawer-site-search{margin-right:72px}.menu-columns{gap:34px;padding-top:32px}.menu-primary-list{display:block!important}.menu-primary-list li{margin-bottom:10px}.menu-main a{font-size:1.4rem}.menu-service-groups{grid-template-columns:1fr;gap:24px}.menu-service-groups h3{min-height:0}.menu-service-groups ul{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.menu-service-groups a{font-size:.84rem}.menu-areas ul{columns:2}.menu-contact .button{width:100%;text-align:center}}
.site-footer .footer-main{grid-template-columns:minmax(340px,430px) minmax(0,1fr);max-width:1180px;align-items:center}
.site-footer .footer-main .footer-logo{display:block;width:100%;max-width:430px;height:auto}
.site-footer .footer-links{grid-template-columns:.85fr 1.1fr 1.45fr;gap:clamp(28px,4vw,64px);align-items:start;margin-top:56px}
.site-footer .footer-links section{min-width:0}
.site-footer .footer-links h3{margin:0 0 18px;text-transform:uppercase;letter-spacing:.08em;font:600 .88rem/1.3 "DM Sans",Arial,sans-serif;color:#18352f}
.site-footer .footer-links address,.site-footer .footer-link-stream{margin:0;font-size:.84rem;line-height:1.75;color:#535650}
.site-footer .footer-links address{display:grid;gap:2px;padding:0;border:0;font-style:normal}
.site-footer .footer-links address strong{display:block;margin:0 0 3px;color:#18352f;font-family:"Libre Caslon Display",Georgia,serif;font-size:1.04rem}
.site-footer .footer-links address span{display:block;margin:0}
.site-footer .footer-links a{color:#315f55;text-decoration:none}
.site-footer .footer-links a:hover{text-decoration:underline;text-decoration-color:#b29a67;text-underline-offset:3px}
.footer-legal-name{max-width:780px;margin:0 0 20px;color:#686963;font-size:.76rem;line-height:1.6}
@media(max-width:900px){.site-footer .footer-links{grid-template-columns:1fr 1fr}.site-footer .footer-contact{grid-column:1/-1}.site-footer .footer-main{grid-template-columns:minmax(260px,330px) 1fr}}
@media(max-width:620px){.site-footer .footer-main,.site-footer .footer-links{grid-template-columns:1fr}.site-footer .footer-contact{grid-column:auto}.site-footer .footer-main .footer-logo{width:100%;max-width:330px}.site-footer .footer-links{gap:34px}}
.footer-facebook{display:inline-flex;align-items:center;gap:12px;margin:8px 0 28px;color:#18352f;font-weight:700;font-size:.84rem;letter-spacing:.04em}
.footer-facebook img{display:block;width:42px;height:42px}
.footer-facebook:hover span,.footer-facebook:focus-visible span{text-decoration:underline;text-decoration-color:#b29a67;text-underline-offset:4px}
/* Neutralise inherited white Elementor typography on the new ivory page canvas. */
body:not(.home) .entry-content,
body:not(.home) .entry-content .elementor,
body:not(.home) .entry-content .elementor-section,
body:not(.home) .entry-content .e-con,
body:not(.home) .entry-content .elementor-widget-container{color:#292b28}

body:not(.home) .entry-content p,
body:not(.home) .entry-content li,
body:not(.home) .entry-content blockquote,
body:not(.home) .entry-content .elementor-widget-text-editor,
body:not(.home) .entry-content .elementor-widget-text-editor p,
body:not(.home) .entry-content .elementor-widget-text-editor span{color:#292b28!important}

body:not(.home) .entry-content h1,
body:not(.home) .entry-content h2,
body:not(.home) .entry-content h3,
body:not(.home) .entry-content h4,
body:not(.home) .entry-content h5,
body:not(.home) .entry-content h6,
body:not(.home) .entry-content h1 span,
body:not(.home) .entry-content h2 span,
body:not(.home) .entry-content h3 span,
body:not(.home) .entry-content h4 span,
body:not(.home) .entry-content .eael-dch-title-text{color:#18352f!important}

body:not(.home) .entry-content a:not(.elementor-button):not(.wp-block-button__link){color:#315f55!important;text-decoration:underline;text-decoration-color:#b29a67;text-underline-offset:3px}
body:not(.home) .entry-content .elementor-button,
body:not(.home) .entry-content .elementor-button span,
body:not(.home) .entry-content .wp-block-button__link{color:#142721!important}

body:not(.home) .entry-content input,
body:not(.home) .entry-content textarea,
body:not(.home) .entry-content select{color:#292b28;background:#fff;border-color:rgba(24,53,47,.3)}

/*
 * About and Contact were built with the previous site's Elementor colours.
 * Keep their content, links, media and map intact while presenting them on
 * the same warm ivory canvas and at the same reading width as the new site.
 */
body.scw-standard-content-page .content-wrap{
    max-width:1180px;
    padding-top:72px;
}

body.scw-standard-content-page .entry-content{
    max-width:none;
    width:100%;
}

body.scw-standard-content-page .entry-content .elementor,
body.scw-standard-content-page .entry-content .elementor-section,
body.scw-standard-content-page .entry-content .elementor-section-wrap,
body.scw-standard-content-page .entry-content .elementor-container,
body.scw-standard-content-page .entry-content .elementor-column,
body.scw-standard-content-page .entry-content .elementor-column-wrap,
body.scw-standard-content-page .entry-content .elementor-widget-wrap,
body.scw-standard-content-page .entry-content .elementor-element-populated,
body.scw-standard-content-page .entry-content .e-con,
body.scw-standard-content-page .entry-content .e-con-inner,
body.scw-standard-content-page .entry-content .elementor-widget-container{
    background-color:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
}

body.scw-standard-content-page .entry-content>.elementor,
body.scw-standard-content-page .entry-content>.elementor>.elementor-section-wrap{
    width:100%;
}

body.scw-standard-content-page .entry-content .elementor-section>.elementor-container{
    width:100%;
    max-width:1040px!important;
    margin-left:auto;
    margin-right:auto;
}

body.scw-standard-content-page .entry-content .elementor-column-gap-default>.elementor-column>.elementor-element-populated{
    padding:26px!important;
}

body.scw-standard-content-page .entry-content p,
body.scw-standard-content-page .entry-content li{
    color:#292b28!important;
    line-height:1.75;
}

body.scw-standard-content-page .entry-content h2,
body.scw-standard-content-page .entry-content h3,
body.scw-standard-content-page .entry-content h4{
    color:#18352f!important;
}

body.scw-standard-content-page .entry-content .elementor-widget-image img{
    display:block;
    width:auto;
    max-width:100%;
    margin:0 auto;
}

body.scw-page-contact .entry-content iframe{
    display:block;
    width:100%!important;
    min-height:420px;
    border:0;
    margin-top:28px;
}

@media(max-width:767px){
    body.scw-standard-content-page .content-wrap{padding:46px 22px 72px}
    body.scw-standard-content-page .entry-content .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:14px 0!important}
    body.scw-standard-content-page .entry-content .elementor-column{width:100%!important}
    body.scw-page-contact .entry-content iframe{min-height:340px}
}
/* Expanded homepage service grid. */
.services .service-grid {
    border-left: 1px solid rgba(255, 255, 255, .25);
    border-bottom: 0;
}

.services .service-card,
.services .service-card:first-child,
.services .service-card:last-child {
    padding: 32px 28px 36px;
    border-right: 1px solid rgba(255, 255, 255, .25);
    border-bottom: 1px solid rgba(255, 255, 255, .25);
}

.services .service-card h3 {
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    line-height: 1.15;
}

.services .service-card p {
    min-height: 112px;
}

@media (max-width: 1000px) {
    .services .service-card p {
        min-height: 88px;
    }
}

@media (max-width: 600px) {
    .services .service-card,
    .services .service-card:first-child,
    .services .service-card:last-child {
        padding: 28px 24px 32px;
    }

    .services .service-card p {
        min-height: 0;
    }
}
.site-header .brand{display:block;flex:0 1 430px;max-width:430px;margin-right:auto}
.site-header .brand-picture{display:block;width:100%}
.site-header .brand .brand-lockup{display:block;width:100%!important;max-width:430px;height:auto!important;margin:0!important;object-fit:contain;overflow:visible}
@media(max-width:760px){.site-header .brand{flex-basis:270px;max-width:270px}.site-header .brand .brand-lockup{max-width:270px}}
@media(max-width:480px){.site-header .brand{flex-basis:220px;max-width:220px}.site-header .brand .brand-lockup{max-width:220px}}
.header-actions{display:flex;align-items:center;gap:14px;margin-left:auto}
.mobile-site-search{display:none}
.site-search{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}
.site-search input{min-width:0;height:46px;padding:0 15px;border:1px solid rgba(24,53,47,.28);border-right:0;border-radius:0;background:#fff;color:#292b28;font:500 .86rem "DM Sans",Arial,sans-serif;outline:0}
.site-search input:focus{border-color:#826e44;box-shadow:inset 0 0 0 1px #826e44}
.site-search button{height:46px;padding:0 18px;border:1px solid #18352f;border-radius:0;background:#18352f;color:#fff;cursor:pointer;font:700 .69rem "DM Sans",Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.site-search button:hover{background:#244a42}
.drawer-site-search{max-width:100%;margin:26px 0 0}
.drawer-site-search input{height:50px;background:rgba(255,255,255,.7)}.drawer-site-search button{height:50px;background:#b29a67;border-color:#b29a67;color:#142721}
.results-site-search{max-width:760px;margin:0 0 30px}.search-summary{color:#686963;margin-bottom:25px}.search-result-list{display:grid;gap:16px}.search-result-card{padding:27px 30px;background:#fff;border:1px solid rgba(24,53,47,.16)}.search-result-card .section-label{margin-bottom:8px}.search-result-card h2{margin:0 0 10px;font:normal clamp(1.65rem,2.5vw,2.4rem)/1.15 "Libre Caslon Display",Georgia,serif}.search-result-card h2 a{color:#18352f}.search-result-card p:not(.section-label){margin:0 0 13px}.no-search-results{padding:35px;background:#fff;border:1px solid rgba(24,53,47,.16)}
@media(max-width:760px){html body header.site-header{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;inset:auto!important;width:100%!important;min-height:0!important;flex-wrap:wrap!important;padding:4px 14px 12px!important;gap:8px!important;background:#f5f1e8!important;z-index:999!important}html body header.site-header .brand{display:block!important;visibility:visible!important;opacity:1!important;overflow:visible!important;flex:0 0 100%!important;width:100%!important;max-width:none!important;margin:0!important}html body header.site-header .brand-picture{display:block!important;width:100%!important}html body header.site-header .brand .brand-lockup{display:block!important;visibility:visible!important;width:100%!important;max-width:none!important;height:auto!important;margin:0!important}html body header.site-header .header-actions{display:grid!important;visibility:visible!important;opacity:1!important;grid-template-columns:minmax(0,1fr) auto!important;width:100%!important;margin:0!important;gap:9px!important}html body header.site-header .header-quote{display:none!important}html body header.site-header .mobile-site-search{display:grid!important;visibility:visible!important;opacity:1!important}.mobile-site-search input,.mobile-site-search button{height:42px}.mobile-site-search button{padding:0 12px}html body header.site-header .menu-toggle{display:flex!important;visibility:visible!important;opacity:1!important;align-self:stretch;height:42px}.menu-open .site-header .menu-toggle{height:auto}.drawer-site-search{margin-top:22px}}
@media(max-width:430px){.mobile-site-search button{font-size:0;width:44px;padding:0}.mobile-site-search button:after{content:'⌕';font-size:21px;line-height:1}.site-search input{padding-left:11px;font-size:.78rem}}

/* Equal-height craftsmanship gallery cards. */
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.gallery figure,.gallery figure.wide{display:flex;flex-direction:column;min-width:0;height:100%}
.gallery img,.gallery .wide img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.gallery figcaption{align-items:center;gap:16px;min-height:64px;margin-top:auto}
.gallery figcaption span{white-space:nowrap}
@media(max-width:1000px){.gallery{grid-template-columns:1fr}.gallery img,.gallery .wide img{height:auto;aspect-ratio:16/10}}

/* Complete mobile frame. Independent edge overlays avoid Safari dropping the left border. */
@media(max-width:600px){.service-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;position:relative!important;width:100%!important;max-width:100%!important;overflow:hidden!important;border-left:0!important;border-right:0!important;border-top:1px solid rgba(255,255,255,.32)!important;border-bottom:1px solid rgba(255,255,255,.32)!important}.service-grid:before,.service-grid:after{content:""!important;display:block!important;position:absolute!important;top:0!important;bottom:0!important;width:1px!important;background:rgba(255,255,255,.32)!important;z-index:5!important;pointer-events:none!important}.service-grid:before{left:0!important}.service-grid:after{right:0!important}.service-grid .service-card,.service-grid .service-card:first-child{position:relative!important;z-index:1!important;min-width:0!important;width:100%!important;padding:27px 24px!important;border-left:0!important;border-right:0!important;border-top:0!important;border-bottom:1px solid rgba(255,255,255,.32)!important}.service-grid .service-card:last-child{border-bottom:0!important}}
.priority-service-links{background:#ece7dc;border-top:1px solid rgba(24,53,47,.16);padding:58px max(7vw,calc((100vw - 1240px)/2))}
.priority-service-links__inner{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.45fr);gap:clamp(36px,6vw,90px);align-items:end}
.priority-service-links__intro .section-label{margin-bottom:12px}
.priority-service-links__intro h2{margin:0 0 14px;color:#18352f;font:normal clamp(2rem,3vw,3.15rem)/1.05 "Libre Caslon Display",Georgia,serif}
.priority-service-links__intro>p:last-child{margin:0;color:#535650;font-size:.92rem;line-height:1.7}
.priority-service-links__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid rgba(24,53,47,.2)}
.priority-service-link{display:flex;min-width:0;min-height:145px;padding:25px 26px;flex-direction:column;justify-content:space-between;background:#f5f1e8;color:#18352f}
.priority-service-link:first-child{border-right:1px solid rgba(24,53,47,.2)}
a.priority-service-link{transition:background-color .18s ease,color .18s ease}
a.priority-service-link:hover,a.priority-service-link:focus-visible{background:#18352f;color:#fff;outline:0}
.priority-service-link span{font:normal 1.38rem/1.25 "Libre Caslon Display",Georgia,serif}
.priority-service-link small{display:block;margin-top:20px;font:600 .68rem/1.55 "DM Sans",Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#6a6b65}
a.priority-service-link:hover small,a.priority-service-link:focus-visible small{color:#ddd5c4}
.priority-service-link small b{margin-left:5px;color:#b29a67;font-size:1rem}
.priority-service-link.is-current{background:rgba(245,241,232,.6)}
@media(max-width:820px){.priority-service-links__inner{grid-template-columns:1fr;align-items:start}.priority-service-links__cards{grid-template-columns:1fr}.priority-service-link:first-child{border-right:0;border-bottom:1px solid rgba(24,53,47,.2)}}
@media(max-width:620px){.priority-service-links{padding:46px 7vw}.priority-service-links__inner{gap:28px}.priority-service-link{min-height:125px;padding:22px}.priority-service-link span{font-size:1.25rem}}
/* Dependency-free page layouts introduced in v1.2.0. */
.native-special-page .entry-content,
.entry-content .native-content{max-width:none;width:100%}
.native-content{color:#292b28}
.native-content>h2:first-child{margin-top:0}
.native-content h2,.native-content h3,.native-content h4{font-family:"Libre Caslon Display",Georgia,serif;color:#18352f;line-height:1.16}
.native-content h2{font-size:clamp(2rem,3.5vw,3.5rem);margin:2.25rem 0 1rem}
.native-content h3{font-size:clamp(1.35rem,2vw,1.75rem);margin:1.8rem 0 .65rem}
.native-content p,.native-content li{font-size:1.04rem;line-height:1.78}
.native-content p,.native-content ul,.native-content ol,.native-content blockquote,.native-content table{max-width:850px}
.native-content a:not(.button):not(.native-project-card){color:#315f55;text-decoration:underline;text-decoration-color:#b29a67;text-underline-offset:3px}
.native-content>img,.native-content>figure{display:block;max-width:920px;margin:32px 0}
.native-content img{height:auto}
.native-content blockquote{margin:2rem 0;padding:18px 24px;border-left:4px solid #b29a67;background:#fff}
.native-content table{width:100%;border-collapse:collapse;margin:2rem 0;background:#fff}
.native-content th,.native-content td{padding:12px 14px;border:1px solid rgba(24,53,47,.18);text-align:left;vertical-align:top}
.native-content details{max-width:900px;padding:18px 0;border-bottom:1px solid rgba(24,53,47,.18)}
.native-content summary{cursor:pointer;color:#18352f;font:1.25rem "Libre Caslon Display",Georgia,serif}
.service-intro{max-width:920px;margin-bottom:32px}
.service-intro h2{margin:.2rem 0 1rem}
.service-lead{font-size:clamp(1.15rem,2vw,1.35rem)!important;line-height:1.62!important;color:#18352f}
.service-feature-image{max-width:100%!important;margin:0 0 46px!important;background:#fff;border:1px solid rgba(24,53,47,.16)}
.service-feature-image img{display:block;width:100%;max-height:590px;object-fit:cover;margin:0}
.service-feature-image figcaption{padding:12px 16px;color:#5d615d;font-size:.8rem}
.service-feature-graphic{display:block;max-width:660px!important;margin:8px auto 50px!important;text-align:center}
.service-feature-graphic img{display:block;width:100%;height:auto;margin:0 auto;filter:drop-shadow(0 18px 28px rgba(24,53,47,.08))}
.service-feature-graphic figcaption{max-width:620px;margin:12px auto 0;color:#5d615d;font-size:.82rem;line-height:1.55}
.service-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:920px;margin:1.5rem 0 2.5rem}
.service-benefits section{padding:24px;background:#fff;border:1px solid rgba(24,53,47,.16)}
.service-benefits h3{margin:0 0 .55rem}
.service-benefits p{margin:0;font-size:.96rem;line-height:1.68}
.service-cta{max-width:920px;margin-top:50px;padding:38px;background:#18352f;color:#fff}
.service-cta h2{margin:0 0 12px;color:#fff}
.service-cta p{margin:0 0 22px;color:#e5e2d8}

.native-intro-grid,.native-contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:70px;align-items:center;padding-bottom:65px;border-bottom:1px solid rgba(24,53,47,.18)}
.native-intro-grid h2,.native-contact-grid h2{margin-top:0}
.native-brand-panel{display:block!important;width:100%!important;max-width:470px!important;height:auto!important;margin:0 auto!important;padding:36px;background:#fff;border:1px solid rgba(24,53,47,.16)}
.native-copy-section{padding-top:40px}
.native-contact-card{display:flex;flex-direction:column;gap:7px;margin:28px 0;font-style:normal}
.native-contact-card strong{font:1.35rem "Libre Caslon Display",Georgia,serif;color:#18352f}
.native-contact-card a{font-weight:700}
.native-map-section{margin-top:65px;padding-top:45px;border-top:1px solid rgba(24,53,47,.18)}
.native-map-section h2{margin-top:0}
.native-map-section iframe{display:block;width:100%;min-height:430px;border:0}

.native-section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:65px;align-items:end;margin-bottom:42px}
.native-section-heading h2{margin:0}
.native-section-heading>p{margin:0}
.native-project-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.native-project-card{display:flex;flex-direction:column;position:relative;background:#fff;border:1px solid rgba(24,53,47,.15);color:#18352f;text-decoration:none!important;cursor:zoom-in;overflow:hidden}
.native-project-card img{display:block;width:100%;height:235px;object-fit:cover;margin:0;transition:transform .25s ease}
.native-project-card span{padding:14px 16px;font-size:.82rem;line-height:1.45;font-weight:600}
.native-project-card:hover img,.native-project-card:focus-visible img{transform:scale(1.025)}
.native-project-card:focus-visible{outline:3px solid #b29a67;outline-offset:3px}
.native-guidance-panel{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);gap:55px;align-items:center;margin-top:70px;padding:48px;background:#fff;border-top:1px solid rgba(24,53,47,.18);border-bottom:1px solid rgba(24,53,47,.18)}
.native-guidance-panel img{display:block;width:100%;height:auto;margin:0}
.native-guidance-panel h2{margin:0 0 15px}

@media(max-width:950px){
    .native-intro-grid,.native-contact-grid,.native-section-heading,.native-guidance-panel{grid-template-columns:1fr;gap:32px}
    .native-brand-panel{margin:0!important}
    .native-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
    .native-intro-grid,.native-contact-grid{padding-bottom:42px}
    .native-brand-panel{padding:20px}
    .native-contact-grid .actions{align-items:flex-start}
    .native-map-section{margin-top:45px;padding-top:32px}
    .native-map-section iframe{min-height:340px}
    .native-project-gallery{grid-template-columns:1fr}
    .native-project-card img{height:270px}
    .native-guidance-panel{margin-top:48px;padding:28px 22px}
    .service-benefits{grid-template-columns:1fr}
    .service-feature-image img{max-height:none}
    .service-feature-graphic{max-width:100%!important;margin-bottom:38px!important}
    .service-cta{padding:28px 22px}
}


/* Mobile image sizing and LCP improvements for the two Stirling service pages. */
@media(max-width:600px){
    body.scw-page-sash-and-case-window-repairs-stirling .native-content a:has(> img),
    body.scw-page-sash-and-case-window-draught-proofing-companies-stirling .native-content a:has(> img){
        display:block;
        position:relative;
        width:100%;
        max-width:100%;
        margin:22px 0 32px;
        line-height:0;
        box-sizing:border-box;
    }

    body.scw-page-sash-and-case-window-repairs-stirling .native-content img,
    body.scw-page-sash-and-case-window-draught-proofing-companies-stirling .native-content img{
        display:block;
        width:100%;
        max-width:100%;
        height:auto;
        margin:0 auto;
        box-sizing:border-box;
    }

    /* Keep the Enlarge label inside the image/link area. */
    body.scw-page-sash-and-case-window-repairs-stirling .native-content .enlarge,
    body.scw-page-sash-and-case-window-draught-proofing-companies-stirling .native-content .enlarge,
    body.scw-page-sash-and-case-window-repairs-stirling .native-content .enlarge-button,
    body.scw-page-sash-and-case-window-draught-proofing-companies-stirling .native-content .enlarge-button,
    body.scw-page-sash-and-case-window-repairs-stirling .native-content [aria-label*="Enlarge" i],
    body.scw-page-sash-and-case-window-draught-proofing-companies-stirling .native-content [aria-label*="Enlarge" i]{
        position:absolute;
        right:8px;
        bottom:8px;
        z-index:2;
        max-width:calc(100% - 16px);
        box-sizing:border-box;
    }
}
/* Commercial and geographic internal-link structure for service-area pages. */
.location-service-hub,.location-nearby,.location-quotation{margin-top:72px}
.native-location-kicker{margin:0 0 18px;color:#806d43;font-size:.75rem!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.location-service-hub{background:var(--green);color:var(--white);padding:56px}
.location-service-hub__intro{max-width:780px;margin-bottom:38px}
.location-service-hub__intro h2,.location-nearby h2,.location-quotation h2{font:normal clamp(2.2rem,4vw,3.75rem)/1.08 "Libre Caslon Display",Georgia,serif;margin:0 0 18px}
.location-service-hub__intro>p:last-child{color:#d6dcd8;max-width:720px}
.location-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.22);border-left:1px solid rgba(255,255,255,.22)}
.location-service-card{display:flex;flex-direction:column;min-height:290px;padding:28px;border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);transition:background .2s ease}
.location-service-card:hover,.location-service-card:focus-visible{background:rgba(255,255,255,.07)}
.location-service-card>span{color:var(--brass);font-size:.75rem}
.location-service-card h3{font:normal 1.55rem/1.2 "Libre Caslon Display",Georgia,serif;color:var(--white);margin:24px 0 12px}
.location-service-card p{color:#d6dcd8;font-size:.91rem;margin:0 0 22px}
.location-service-card b{margin-top:auto;color:#ddcda8;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.location-specialist-links{margin-top:36px}
.location-specialist-links h3{font:normal 1.55rem "Libre Caslon Display",Georgia,serif;color:var(--white);margin:0 0 17px}
.location-specialist-links ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.location-specialist-links a{display:block;border:1px solid rgba(255,255,255,.26);padding:10px 14px;color:#e7dfcf;font-size:.82rem;font-weight:600}
.location-specialist-links a:hover,.location-specialist-links a:focus-visible{border-color:var(--brass);background:rgba(255,255,255,.05)}
.location-nearby{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;padding:50px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.location-nearby h2{color:var(--green);font-size:clamp(2rem,3vw,3rem)}
.location-nearby ul{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;margin:0;padding:0}
.location-nearby a{display:flex;height:100%;justify-content:space-between;gap:15px;background:var(--white);border:1px solid var(--line);padding:17px 18px;color:var(--green);font-weight:600}
.location-nearby a:hover,.location-nearby a:focus-visible{border-color:var(--brass)}
.location-quotation{display:grid;grid-template-columns:1fr auto;align-items:center;gap:55px;background:#e7dfcf;padding:46px 50px}
.location-quotation h2{color:var(--green);font-size:clamp(2rem,3.5vw,3.25rem)}
.location-quotation p:not(.section-label){max-width:680px;margin-bottom:0}
.location-quotation>div:last-child{display:flex;flex-direction:column;align-items:stretch;gap:14px;min-width:245px;text-align:center}
.location-phone{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:4px}

@media(max-width:900px){
  .location-service-hub{padding:42px 30px}
  .location-service-grid{grid-template-columns:1fr 1fr}
  .location-nearby{grid-template-columns:1fr;gap:25px}
  .location-quotation{grid-template-columns:1fr;gap:28px}
  .location-quotation>div:last-child{align-items:flex-start;min-width:0}
}
@media(max-width:600px){
  .location-service-hub,.location-nearby,.location-quotation{margin-top:52px}
  .location-service-hub{margin-left:-20px;margin-right:-20px;padding:38px 20px}
  .location-service-grid{grid-template-columns:1fr}
  .location-service-card{min-height:0;padding:24px}
  .location-nearby ul{grid-template-columns:1fr}
  .location-quotation{margin-left:-20px;margin-right:-20px;padding:36px 20px}
  .location-quotation>div:last-child,.location-quotation .button{width:100%}
}
