/*
Theme Name: Crowstep Digital Heritage
Theme URI: https://localserviceseo.co.uk/
Author: Crowstep Digital Ltd
Description: Fast, accessible Scottish heritage digital agency theme with service and location landing pages.
Version: 1.0.39
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: crowstep
*/
:root{--forest:#073c30;--deep:#05291f;--gold:#caa45e;--cream:#f8f5ec;--ink:#17352c;--muted:#52665e;--line:#dcded5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:17px/1.7 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff}a{color:#17654e}a:hover{text-decoration-thickness:2px}img{max-width:100%;height:auto}h1,h2,h3,.brand{font-family:Georgia,'Times New Roman',serif;line-height:1.15}h1{font-size:clamp(2.4rem,5vw,4.8rem);letter-spacing:-.035em}h2{font-size:clamp(1.7rem,3vw,2.8rem)}h3{font-size:1.35rem}p{max-width:75ch}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;z-index:100}.top{background:var(--deep);color:#fff}.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px}.brand{font-size:clamp(1.2rem,2.4vw,1.8rem);font-weight:700;color:#fff;text-decoration:none;letter-spacing:.06em}.brand small{display:block;font:600 .65rem/1.2 system-ui;letter-spacing:.28em;color:var(--gold)}.head-actions{display:flex;gap:10px;align-items:center}.searchform{display:flex}.searchform input{width:180px;padding:10px;border:1px solid #d7d7ce;border-radius:5px 0 0 5px}.searchform button{background:var(--gold);border:0;padding:10px;border-radius:0 5px 5px 0;color:#10291e;cursor:pointer}.menu-toggle{border:1px solid var(--gold);border-radius:6px;background:transparent;color:#fff;padding:11px 16px;cursor:pointer;font-weight:700}.book-backdrop{position:fixed;inset:0;background:#001c15b8;z-index:20;opacity:0;visibility:hidden;transition:.3s}.book{position:fixed;right:0;top:0;bottom:0;width:min(720px,100%);z-index:21;display:grid;grid-template-columns:1fr 1fr;perspective:1300px;visibility:hidden;pointer-events:none}.book-page{padding:95px 30px 30px;background:var(--cream);overflow:auto;transform-origin:left center;transform:rotateY(-90deg);transition:transform .45s ease;box-shadow:0 10px 28px #0002}.book-page:nth-child(2){background:#e9e5d9;transition-delay:.08s}.book-page a{display:block;padding:8px 0;text-decoration:none;color:var(--ink);font-weight:650}.book-page h3{color:var(--forest)}.book-close{position:fixed;right:24px;top:24px;z-index:23;background:var(--deep);color:#fff;border:1px solid var(--gold);padding:10px 18px;cursor:pointer;border-radius:5px;display:none}.menu-open .book,.menu-open .book-backdrop{visibility:visible;pointer-events:auto}.menu-open .book-backdrop{opacity:1}.menu-open .book-page{transform:rotateY(0)}.menu-open .book-close{display:block}.hero{background:linear-gradient(125deg,var(--deep),var(--forest));color:#fff;padding:70px 0}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:45px}.hero h1{margin:.25em 0}.hero p{font-size:1.12rem;color:#e3ede6}.hero img{border-radius:16px;box-shadow:0 20px 50px #0004}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-weight:750;font-size:.78rem}.btn{display:inline-block;background:var(--gold);color:#102d23;text-decoration:none;font-weight:750;padding:13px 22px;border-radius:6px;margin:10px 12px 0 0}.btn.alt{background:transparent;border:1px solid var(--gold);color:#fff}.section{padding:65px 0}.tint{background:var(--cream)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px;box-shadow:0 6px 24px #14392a09}.tile h3{margin-top:0}.tile a{font-weight:700}.cta{background:var(--forest);color:#fff;padding:35px;border-radius:14px}.cta p{color:#e5eee9}.faq details{padding:17px 0;border-bottom:1px solid var(--line)}.faq summary{font-weight:750;cursor:pointer}.crumbs{font-size:.85rem;color:var(--muted);padding:16px 0}.content{max-width:830px}.content h2{margin-top:1.5em}.area-links{display:flex;gap:9px;flex-wrap:wrap}.area-links a{padding:7px 12px;background:#e7eee8;border-radius:6px;text-decoration:none}.site-footer{background:var(--deep);color:#dbe8df;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.site-footer h3{color:var(--gold);font-size:1.2rem}.site-footer a{color:#eaf2eb;display:block;margin:6px 0}.legal{border-top:1px solid #ffffff35;margin-top:30px;padding-top:15px;font-size:.8rem}.form-field{margin:14px 0}.form-field label{display:block;font-weight:700}.form-field input,.form-field textarea{width:100%;padding:12px;border:1px solid #a5b5aa;border-radius:5px;font:inherit}.form-field textarea{min-height:130px}.form-submit{border:0;background:var(--forest);color:white;padding:13px 22px;border-radius:6px;cursor:pointer}.notice{background:#f4e7c8;padding:12px;border-left:4px solid var(--gold)}:focus-visible{outline:3px solid #e3b453;outline-offset:3px}@media(max-width:760px){.top .wrap{flex-direction:column;align-items:stretch;padding:15px 0}.brand{text-align:center}.head-actions{justify-content:space-between}.searchform{flex:1}.searchform input{width:100%;min-width:0}.hero{padding:38px 0}.hero-grid{grid-template-columns:1fr;gap:20px}.hero img{max-width:430px}.grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.book-page{padding:85px 15px 20px}.book-page a{font-size:.9rem}}@media(max-width:420px){.footer-grid{grid-template-columns:1fr}.book{grid-template-columns:1fr 1fr}}

.case-tile img,.case-featured{width:100%;height:auto;object-fit:cover;border-radius:8px}.case-tile img{aspect-ratio:16/10}.case-tile h3 a{color:var(--ink);text-decoration:none}.case-tile .eyebrow{display:block;margin-top:12px}.case-featured{max-height:490px;object-fit:contain;background:var(--cream)}

/* Curated homepage project showcase: graphic placeholders, not website screenshots. */
.showcase{padding:0;overflow:hidden;display:flex;flex-direction:column}.showcase-art{min-height:175px;display:flex;align-items:flex-start;justify-content:space-between;padding:22px;position:relative;overflow:hidden;background:linear-gradient(135deg,#073c30,#1b6550);color:#f4e6c5}.showcase-art-2{background:linear-gradient(135deg,#303b33,#8a754c)}.showcase-art-3{background:linear-gradient(135deg,#27463d,#a08044)}.showcase-art-mark{font-size:.74rem;letter-spacing:.18em;font-weight:800;border:1px solid #ffffff70;padding:7px 11px;border-radius:3px}.showcase-art-steps{position:absolute;right:14px;bottom:-20px;font-size:6rem;letter-spacing:-.12em;color:#e8c47a;opacity:.85;white-space:nowrap}.showcase-body{padding:25px;flex:1;display:flex;flex-direction:column}.showcase-body h3{margin:9px 0}.showcase-sector{color:var(--muted);font-weight:700;font-size:.9rem;margin:0}.showcase-body a{margin-top:auto;padding-top:12px}.portfolio-note{font-size:.86rem;color:var(--muted);margin-top:17px}

/* Four featured projects on wide screens; responsive grid preserved. */
@media(min-width:1100px){.showcase-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* v1.0.6 brand, accessible book navigation, visual SEO sections */
body{font-family: "Aptos", "Inter", "Segoe UI", Arial, sans-serif;line-height:1.65}h1,h2,h3{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;letter-spacing:-.018em}.brand{display:block;line-height:0;flex:0 1 365px}.brand-logo{width:100%;max-width:365px;height:auto;display:block;border-radius:3px}.top{background:var(--cream);border-bottom:3px solid var(--gold)}.top .wrap{min-height:105px}.menu-toggle{display:flex;align-items:center;gap:11px;background:var(--forest);border:1px solid var(--forest);color:white;letter-spacing:.08em;font-family:inherit}.hamburger-lines{display:flex;flex-direction:column;gap:4px}.hamburger-lines i{width:23px;height:2px;background:var(--gold);display:block;border-radius:2px}.book{width:min(790px,100%)}.book-page{padding-top:108px;backface-visibility:hidden}.book-page h3{font-family:inherit;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #d4d9cf;padding-bottom:10px}.book-page a{font-family:inherit;font-size:1rem;line-height:1.4;padding:11px 0;border-bottom:1px solid #deded3}.book-close{top:30px;right:28px;font:700 .95rem inherit;letter-spacing:.08em}.footer-areas{line-height:1.8;font-size:.93rem;color:#dbe8df}.visual-services{background:#f8f7f1}.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.visual-card{overflow:hidden;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #123c3010}.visual-card img{display:block;width:100%;height:auto;aspect-ratio:760/450;object-fit:cover}.visual-copy{padding:22px 25px 27px}.visual-copy h3{margin:0 0 10px}.visual-copy p{margin:0 0 12px}.visual-copy a{font-weight:700}.visual-disclaimer{font-size:.82rem;color:var(--muted)}
@media(max-width:760px){.top .wrap{gap:10px}.brand{flex:auto;width:100%;max-width:none;display:flex;justify-content:center}.brand-logo{width:min(100%,410px);max-width:410px}.head-actions{width:100%}.menu-toggle{margin-left:auto}.visual-grid{grid-template-columns:1fr}.book-page{padding:94px 17px 24px}.book-page a{font-size:.88rem;padding:10px 0}.book-close{top:22px;right:18px}}
@media(max-width:460px){.book{grid-template-columns:1fr 1fr}.book-page{padding-left:12px;padding-right:12px}.book-page a{font-size:.8rem}.book-page h3{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.book-page,.book-backdrop{transition:none}}

/* v1.0.7 full-width mobile brand row and authentic portfolio screenshots */
.showcase-image-link{display:block;overflow:hidden;background:#f1f0e8}
.showcase-screenshot{display:block;width:100%;height:190px;object-fit:cover;object-position:top center;transition:transform .2s ease}
.showcase-image-link:hover .showcase-screenshot{transform:scale(1.025)}
@media(max-width:760px){
 .top .wrap{width:100%;padding:0 14px 12px;gap:8px;min-height:0}
 .brand{display:block;flex:none;width:100%;max-width:none;margin:0;line-height:0}
 .brand-logo{display:block;width:100%;max-width:none;height:auto;border-radius:0;object-fit:contain}
 .head-actions{display:flex;width:100%;gap:10px}
 .searchform{min-width:0;flex:1}
 .menu-toggle{flex:none;justify-content:center}
}
@media(max-width:400px){.menu-toggle{padding:10px 11px;gap:7px;font-size:.82rem}.searchform input{font-size:14px}}

/* v1.0.8 search, editorial imagery, footer */
.searchform button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:49px;padding:10px 13px;font:700 .88rem/1.2 "Aptos","Segoe UI",sans-serif}.searchform button svg{display:block;flex:none}.searchform input{font:inherit;min-width:0}.search-button-label{display:none}
.story-section{padding:46px 0}.story-alt{background:var(--cream)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.story-art{background:#eef1e8;border:1px solid var(--line);border-radius:15px;padding:14px;box-shadow:0 12px 35px #123c3010}.story-art img{display:block;width:100%;height:auto}.story-copy h2{margin:12px 0}.story-copy .btn{margin-top:14px}
.footer-grid{grid-template-columns:1.15fr 1fr 1.15fr .9fr;gap:30px}.site-footer h3{font-family:"Aptos","Segoe UI",Arial,sans-serif;font-size:1.04rem;font-weight:800;letter-spacing:.065em;margin:0 0 17px}.footer-brand{display:block!important;margin:0 0 15px!important}.footer-brand img{display:block;max-width:100%;height:auto;background:var(--cream);border-radius:5px}.footer-contact a{overflow-wrap:anywhere}.footer-address{line-height:1.55}.footer-cookie-button{background:transparent;color:#eaf2eb;border:0;padding:0;text-decoration:underline;cursor:pointer;font:inherit;text-align:left;margin-top:7px}.footer-areas{line-height:1.85}.legal a{display:inline}
#cs-cookie-dialog{border:1px solid var(--gold);border-radius:12px;max-width:min(470px,calc(100% - 28px));padding:26px;color:var(--ink)}#cs-cookie-dialog::backdrop{background:#001c15a8}#cs-cookie-close{background:var(--forest);color:#fff;border:0;padding:10px 20px;border-radius:6px;cursor:pointer}
@media(max-width:850px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-grid{gap:22px}}
@media(max-width:650px){.story-grid{grid-template-columns:1fr}.story-alt .story-copy{order:2}.story-alt .story-art{order:1}.footer-grid{grid-template-columns:1fr}.footer-brand img{max-width:310px}.story-section{padding:34px 0}}

/* v1.0.10 search text, consistent footer, WhatsApp, consent banner */
.searchform button{min-width:94px;padding:10px 16px;white-space:nowrap;font-size:.83rem;letter-spacing:.045em}
.search-button-label{display:inline!important}
.footer-grid{width:100%;max-width:1180px;margin:0 auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;justify-content:center;align-items:start}
.site-footer .footer-grid section{min-width:0;font:400 14px/1.65 "Segoe UI",Arial,sans-serif}
.site-footer .footer-grid section a,.site-footer .footer-grid section p,.site-footer .footer-grid section button{font:inherit;line-height:1.65}
.site-footer .footer-grid section a{margin:5px 0}
.site-footer .footer-grid h3{font:800 15px/1.35 "Segoe UI",Arial,sans-serif;letter-spacing:.06em;margin:0 0 17px}
.footer-areas{margin:0 0 12px;line-height:1.65!important}
.cs-whatsapp-float{position:fixed;bottom:22px;right:22px;z-index:35;display:flex;align-items:center;justify-content:center;width:58px;height:58px;background:#25d366;color:#fff!important;border:3px solid white;border-radius:50%;box-shadow:0 5px 22px #0004;text-decoration:none}
.cs-whatsapp-float:hover{background:#168d45}
.cs-cookie-banner[hidden]{display:none!important}
.cs-cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:50;background:#073c30;color:#fff;border-top:4px solid #caa45e;box-shadow:0 -5px 25px #0003}
.cs-cookie-inner{width:min(1180px,calc(100% - 32px));margin:auto;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:17px 0}
.cs-cookie-inner strong{font-size:17px;color:#e3c07d}.cs-cookie-inner p{margin:3px 0 0;font-size:14px;line-height:1.5;color:#f0f5f0}
.cs-cookie-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}
.cs-cookie-actions button,#cs-cookie-dialog button{border:1px solid #caa45e;border-radius:5px;background:#caa45e;color:#05291f;padding:10px 13px;font-weight:700;cursor:pointer}
.cs-cookie-actions button:first-child,.cs-cookie-actions button:last-child{background:transparent;color:#fff}
#cs-cookie-dialog button{margin:5px}
@media(max-width:850px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.cs-cookie-inner{flex-direction:column;align-items:stretch;gap:12px}}
@media(max-width:650px){.footer-grid{grid-template-columns:1fr}.searchform button{min-width:75px;padding:9px 10px;font-size:.74rem}.cs-cookie-actions button{flex:1}.cs-whatsapp-float{bottom:16px;right:14px;width:52px;height:52px}.cs-cookie-banner:not([hidden])~.cs-whatsapp-float{bottom:170px}}

/* v1.0.11: Sash & Case-inspired full-height book-opening navigation */
.heritage-book{width:min(830px,100%);display:block;overflow:hidden;background:#f8f5ec;transform-origin:right center;transform:perspective(1400px) rotateY(88deg);opacity:0;transition:transform .48s cubic-bezier(.2,.75,.2,1),opacity .32s;box-shadow:-20px 0 55px #0003;visibility:hidden;pointer-events:none}
.menu-open .heritage-book{transform:perspective(1400px) rotateY(0);opacity:1;visibility:visible;pointer-events:auto}
.heritage-menu-inner{height:100%;overflow-y:auto;padding:40px clamp(24px,4vw,58px) 65px;position:relative}
.heritage-book .book-close{position:absolute;right:18px;top:16px;display:flex;align-items:center;gap:14px;background:transparent;color:var(--forest);border:1px solid #c9c9bc;padding:9px 12px;font:600 12px/1.2 system-ui,sans-serif;letter-spacing:.08em;border-radius:0;cursor:pointer}
.heritage-book .book-close:hover{background:#eee9db}
.heritage-menu-intro{padding-top:16px}.heritage-kicker,.heritage-menu-columns h3{font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.17em;color:#997b43}
.heritage-menu-intro h2{font:normal clamp(27px,3vw,41px)/1.2 Georgia,serif;color:var(--forest);margin:8px 0 23px;padding-bottom:20px;border-bottom:1px solid #d9d4c8}
.heritage-menu-search{margin-bottom:34px}.heritage-menu-search .searchform{display:flex;width:100%}.heritage-menu-search .searchform input{width:auto;flex:1;min-width:0;border-radius:0;padding:13px}.heritage-menu-search .searchform button{border-radius:0;padding:12px 22px;min-width:90px;font-weight:700;letter-spacing:.08em}
.heritage-menu-columns{display:grid;grid-template-columns:minmax(155px,.8fr) minmax(0,2fr);gap:35px}.heritage-menu-columns h3{font-size:11px;padding-bottom:10px;border:0;margin:0 0 13px}
.heritage-primary a{display:block;font:normal clamp(17px,1.65vw,22px)/1.4 Georgia,serif;text-transform:uppercase;letter-spacing:.055em;padding:6px 0;border:0;color:var(--forest);text-decoration:none}
.heritage-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:23px;row-gap:0}.heritage-service-grid a{font:650 12px/1.65 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid #ded9ce;padding:11px 0;text-decoration:none;color:var(--forest)}
.heritage-menu-cta{margin-top:30px}.heritage-menu-cta a{display:inline-block;background:var(--forest);color:#fff;padding:11px 17px;text-decoration:none;font-size:13px}
.heritage-book a:hover{color:#a37a30}.heritage-menu-cta a:hover{color:white;background:#14543e}
@media(max-width:650px){.heritage-book{width:100%}.heritage-menu-inner{padding:55px 22px 40px}.heritage-menu-columns{grid-template-columns:1fr;gap:24px}.heritage-primary{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}.heritage-primary h3{grid-column:1/-1}.heritage-primary a{font-size:16px}.heritage-service-grid{grid-template-columns:1fr 1fr;gap:0 15px}.heritage-menu-intro h2{font-size:30px}.heritage-menu-search{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.heritage-book{transition:none}}

/* v1.0.12: keep close control below WordPress admin toolbar; editorial CTA link */
.heritage-book{top:0;bottom:0}
body.admin-bar .heritage-book{top:32px}
.heritage-book .book-close{top:18px;right:22px;min-height:38px;z-index:5}
.heritage-menu-intro{padding-top:28px}
.heritage-menu-cta{margin-top:22px}
.heritage-menu-cta a,.heritage-menu-cta a:hover{display:inline-block;background:transparent;color:var(--forest);padding:4px 0 7px;border:0;border-bottom:1px solid var(--gold);border-radius:0;font:600 14px/1.5 system-ui,sans-serif;text-decoration:none}
.heritage-menu-cta a:hover{color:#946c29;border-bottom-color:#946c29}
@media(max-width:782px){body.admin-bar .heritage-book{top:46px}}
@media(max-width:650px){.heritage-book .book-close{top:12px;right:14px}.heritage-menu-intro{padding-top:24px}}

/* v1.0.13 — visually centred, evenly aligned desktop footer */
@media (min-width: 851px) {
 .site-footer .footer-grid {
  width: min(100%, 1050px);
  max-width: 1050px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(24px, 2.8vw, 42px);
  align-items: start;
  justify-content: center;
 }
 .site-footer .footer-grid > section { min-width: 0; text-align: left; }
 .site-footer .footer-grid h3 { margin-top: 0; }
 .site-footer .legal { width: min(100%, 1050px); margin-inline: auto; }
}

/* v1.0.14 — tighter editorial homepage, transparent footer identity */
.home .section{padding-block:38px}
.home .hero{padding-block:48px}
.home .story-section{padding-block:28px}
.home .visual-services{padding-block:38px}
.home .story-grid{gap:26px}
.home .story-art{padding:0;overflow:hidden}
.home .story-art img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover}
.home .visual-card img{width:100%;height:auto;aspect-ratio:1.69;object-fit:cover}
.home .section h2{margin-top:8px;margin-bottom:14px}
.home .section p{margin-top:8px;margin-bottom:15px}
.site-footer .footer-brand img{background:transparent!important;border-radius:0;max-width:100%;width:235px;height:auto;box-shadow:none}
@media(max-width:760px){.home .section{padding-block:28px}.home .hero{padding-block:34px}.home .story-section{padding-block:24px}.home .hero-grid{gap:15px}.home .story-grid{gap:16px}.home .visual-services{padding-block:26px}}

/* v1.0.15: meaningful sector visuals instead of generic ranking bars */
.showcase-art-steps{display:none!important}
.showcase-art-symbol{position:absolute;right:18px;bottom:5px;font-size:5rem;line-height:1.1;filter:drop-shadow(0 8px 12px rgba(0,0,0,.15))}
.showcase-art-2{background:linear-gradient(135deg,#173d35,#58796a)}
.showcase-art-3{background:linear-gradient(135deg,#173e3b,#6d8068)}
.showcase-art-4{background:linear-gradient(135deg,#184d43,#427969)}
.showcase-with-photo{padding:0;display:block}.showcase-photo{display:block;width:100%;height:175px;object-fit:cover}

/* v1.0.16: consistent inner-page rhythm and more compact legal pages */
body:not(.home) .crumbs{padding:13px 0 7px}
body:not(.home) .crumbs + .section{padding-top:26px;padding-bottom:35px}
body:not(.home) .content>.eyebrow{display:block;margin-bottom:9px}
body:not(.home) .content>h1{font-size:clamp(2.25rem,4.1vw,3.7rem);line-height:1.14;margin:0 0 25px}
body:not(.home) .content h2{font-size:clamp(1.55rem,2.6vw,2.25rem);margin:1.2em 0 .5em}
body:not(.home) .content p{margin:.65em 0 1em}
body:not(.home) .content ul,body:not(.home) .content ol{margin:.6em 0 1.15em}
body:not(.home) .section:has(>.wrap>.cta){padding-top:20px;padding-bottom:38px}
body:not(.home) .section:has(>.wrap>.faq){padding-top:28px;padding-bottom:32px}
@media(max-width:760px){body:not(.home) .crumbs{padding:10px 0 5px}body:not(.home) .crumbs+.section{padding-top:17px;padding-bottom:24px}body:not(.home) .content>h1{margin-bottom:18px}body:not(.home) .content h2{margin-top:1.05em}body:not(.home) .section:has(>.wrap>.cta){padding-top:12px;padding-bottom:25px}}

/* v1.0.17: transparent hero branding, no dark image panel */
.home .hero-grid > img{display:block;width:100%;height:auto;max-width:490px;object-fit:contain;background:transparent;border-radius:0;box-shadow:none;justify-self:center}
@media(max-width:760px){.home .hero-grid > img{max-width:min(100%,430px)}}


/* v1.0.19 — alternating heritage-green and cream editorial sections */
.home .hero{background:linear-gradient(115deg,#05291f,#073c30 72%,#0b4939)}
.home .hero + .section{background:var(--cream)}
.home .section-forest{background:#073c30;color:#f7f4ea}
.home .section-forest h2,.home .section-forest h3{color:#fffaf0}
.home .section-forest .eyebrow{color:#e2bd73}
.home .section-forest > .wrap > p:not(.visual-disclaimer),.home .section-forest .story-copy p{color:#eef2eb}
.home .section-forest .visual-disclaimer{color:#d6e3da}
.home .section-forest .visual-card{background:#fffdf7;color:#17352c;border-color:#d9d5c7}
.home .section-forest .visual-card h3{color:#17352c}
.home .section-forest .visual-card p{color:#344a40}
.home .section-forest .visual-card a{color:#075f49}
.home .section-forest .story-art{background:#f6f2e9;border-color:#bca77b}
.home .section-forest .story-copy .btn{background:#caa45e;color:#05291f;border-color:#caa45e}
.home .section-forest .tile{background:#f8f5ec;color:#17352c;border-color:#d9cfb9}
.home .section-forest .tile h3{color:#073c30}
.home .section-forest .tile p{color:#344a40}
.home .story-section:not(.section-forest){background:#fffdf8}
.home .section-forest + .section:not(.section-forest){background:#f8f5ec}
.home .section-final-cta{background:#073c30;padding-block:42px}
.home .section-final-cta .cta{background:#0d4b3c;border:1px solid #b99250;box-shadow:0 12px 35px #001a1333}
.home .section-final-cta .cta h2{color:#fffaf0}
.home .section-final-cta .cta p{color:#f1f1e8}
.home .section-final-cta .cta .btn{background:#caa45e;color:#05291f}
/* Keep long-form content on a light background; alternate supporting blocks on internal pages. */
body:not(.home) .crumbs + .section{background:#fffdf8}
body:not(.home) .section.tint{background:#073c30;color:#f7f4ea}
body:not(.home) .section.tint h2,body:not(.home) .section.tint h3{color:#fffaf0}
body:not(.home) .section.tint .faq summary{color:#fffaf0}
body:not(.home) .section.tint .faq details{border-color:#527365}
body:not(.home) .section.tint .faq p{color:#edf1e9}
body:not(.home) .section:has(>.wrap>.cta){background:var(--cream)}
@media(max-width:760px){
 .home .section-final-cta{padding-block:26px}
 .home .section-forest .visual-card{border-radius:12px}
 .home .section-forest .story-copy{padding-bottom:5px}
}

/* v1.0.21 — full-width, centred mobile wordmark in its own first row */
@media (max-width:760px) {
 .top .wrap {display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:none;padding:10px 14px 12px;gap:10px;min-height:0}
 .top .brand {display:block;flex:none;width:100%;max-width:none;margin:0 auto;line-height:0;text-align:center}
 .top .brand-logo {display:block;width:100%;max-width:none;height:auto;margin:0 auto;object-fit:contain;border-radius:0}
 .top .head-actions {display:flex;width:100%;gap:10px;align-items:stretch;justify-content:space-between}
 .top .searchform {flex:1;min-width:0}
 .top .searchform input {min-width:0;width:100%}
 .top .menu-toggle {flex-shrink:0}
}

/* v1.0.23 — alternating full-bleed green and cream content bands across inner pages */
body:not(.home) .section:has(>.wrap>.content),body:not(.home) article.section{overflow:clip}
body:not(.home) .content .cs-editor-band{position:relative;isolation:isolate;padding:27px 0 31px;margin:18px 0 22px}
body:not(.home) .content .cs-editor-band::before{content:"";position:absolute;z-index:-1;inset:0;left:calc(50% - 50vw);width:100vw;background:#f8f5ec}
body:not(.home) .content .cs-editor-band.cs-band-green{color:#f6f4eb}
body:not(.home) .content .cs-editor-band.cs-band-green::before{background:#073c30}
body:not(.home) .content .cs-editor-band.cs-band-green h2,body:not(.home) .content .cs-editor-band.cs-band-green h3{color:#fffaf0}
body:not(.home) .content .cs-editor-band.cs-band-green p,body:not(.home) .content .cs-editor-band.cs-band-green li{color:#edf2e9}
body:not(.home) .content .cs-editor-band.cs-band-green a{color:#f1cc82;text-underline-offset:3px}
body:not(.home) .content .cs-editor-band h2:first-child{margin-top:0}
body:not(.home) .content .cs-editor-band p:last-child{margin-bottom:0}
body:not(.home) .section:has(>.wrap>.cta){background:#073c30}
body:not(.home) .section:has(>.wrap>.cta) .cta{background:#0b4839;border:1px solid #b99a61}
body:not(.home) .section:has(>.wrap>.cta) .cta h2{color:#fffaf0}
body:not(.home) .section:has(>.wrap>.cta) .cta p{color:#edf2e9}
body:not(.home) .section:has(>.wrap>.cta) .cta .btn{background:#caa45e;color:#05291f}
body:not(.home) .section.tint:not(:has(.cta)){background:#073c30;color:#f6f4eb}
body:not(.home) .section.tint:not(:has(.cta)) h2,body:not(.home) .section.tint:not(:has(.cta)) h3{color:#fffaf0}
body:not(.home) .section.tint:not(:has(.cta)) a{color:#f1cc82}
@media(max-width:760px){body:not(.home) .content .cs-editor-band{padding:22px 0 25px;margin:13px 0 16px}}

/* v1.0.24: remove unused whitespace within logo asset; fill mobile first row */
@media(max-width:760px){.top .wrap{padding-left:10px;padding-right:10px}.top .brand,.top .brand-logo{width:100%!important;max-width:none!important}.top .brand-logo{object-fit:fill;height:auto!important}}

/* Service card pictograms: decorative, original vector assets */
.service-card-heading{display:flex;align-items:center;gap:16px;margin-bottom:14px;min-height:60px}
.service-card-heading h3{margin:0;flex:1}
.service-card-icon{width:58px;height:58px;flex:0 0 58px;object-fit:contain}
@media(max-width:480px){.service-card-heading{gap:12px}.service-card-icon{width:48px;height:48px;flex-basis:48px}}

/* v1.0.29: miniature desktop monitor previews on the three homepage case studies */
.case-grid .case-tile{min-width:0}
.case-monitor-link{display:block;text-decoration:none!important;margin:0 auto 17px;max-width:250px}
.case-monitor{display:flex;flex-direction:column;align-items:center;width:100%;padding-top:2px}
.case-monitor-screen{display:block;width:100%;aspect-ratio:16/10;border:7px solid #253b35;border-bottom-width:13px;border-radius:9px 9px 5px 5px;background:#e6e6e0;overflow:hidden;box-shadow:0 8px 17px #002b2020}
.case-monitor-screen img{width:100%;height:100%;display:block;object-fit:cover;object-position:top;background:#f7f4eb}
.case-monitor-neck{display:block;width:14%;height:14px;background:linear-gradient(90deg,#a9b2ad,#e1e4e1,#9da9a3)}
.case-monitor-foot{display:block;width:37%;height:6px;border-radius:50% 50% 3px 3px;background:#9aa7a0}
.case-monitor-link:hover .case-monitor-screen,.case-monitor-link:focus-visible .case-monitor-screen{border-color:#bd9851}
@media(max-width:700px){.case-monitor-link{max-width:240px}.case-monitor-screen{border-width:6px;border-bottom-width:11px}}

/* v1.0.30 — COMPANY footer links: identical rhythm and typography */
.site-footer .footer-grid > section:last-child > a,
.site-footer .footer-grid > section:last-child > .footer-cookie-button {
  display:block; width:fit-content; max-width:100%;
  margin:0 0 9px !important; padding:0 !important;
  font-family:"Segoe UI",Arial,sans-serif !important;
  font-size:14px !important; font-weight:400 !important;
  line-height:1.65 !important; text-align:left;
  color:#eaf2eb; text-decoration:underline; text-underline-offset:2px;
}
.site-footer .footer-grid > section:last-child > .footer-cookie-button {
  appearance:none; background:transparent; border:0; cursor:pointer;
}
.site-footer .footer-grid > section:last-child > a:hover,
.site-footer .footer-grid > section:last-child > .footer-cookie-button:hover {color:var(--gold);}

/* v1.0.31: aligned footer contact icons and dependable local portfolio previews */
.footer-contact>a:not(.footer-brand){display:flex;align-items:center;gap:9px;width:fit-content;max-width:100%;margin-bottom:8px;line-height:1.45}
.footer-contact>a:not(.footer-brand) span{overflow-wrap:anywhere}
.footer-contact-icon{width:16px;height:16px;flex:none;fill:none;stroke:#d2aa5c;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.case-preview{display:flex;flex-direction:column;width:100%;height:100%;background:#f6f2e8;color:#123b31;text-align:left;overflow:hidden;font-family:Arial,sans-serif}
.case-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:5px 8px;background:#fff;font-size:7px;color:#53645d;white-space:nowrap;overflow:hidden}
.case-preview-dots{color:#c8a363;letter-spacing:1px}
.case-preview-hero{display:flex;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px 14px;background:linear-gradient(125deg,#f4efdf 0%,#fffdf7 100%)}
.case-preview-kicker{font-size:7px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px;color:#a37e42}
.case-preview-hero strong{font-family:Georgia,serif;font-size:17px;line-height:1.15;color:#103a2f}
.case-preview-hero strong span{display:block;font-size:12px;margin-top:4px}
.case-preview-cta{display:inline-block;background:#b79553;color:#fff;font-size:7px;padding:5px 9px;margin-top:12px;border-radius:2px}
.preview-roofing .case-preview-hero{background:linear-gradient(130deg,#273c46,#60707a)}
.preview-roofing .case-preview-hero strong,.preview-roofing .case-preview-kicker{color:#fff}
.preview-appliance .case-preview-hero{background:linear-gradient(130deg,#edf4f5,#d3e4e6)}
@media(max-width:480px){.case-preview-hero strong{font-size:16px}}

/* v1.0.34: Match floating WhatsApp button to Crowstep forest green */
.cs-whatsapp-float,.cs-whatsapp-float:visited{background:var(--forest);color:#fff!important}
.cs-whatsapp-float:hover,.cs-whatsapp-float:focus-visible{background:var(--deep);color:#fff!important}

/* v1.0.36: accessible area links in both navigation and footer */
.heritage-area-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px;margin:2px 0 12px;padding:9px 0;border-top:1px solid #d9d4c6;border-bottom:1px solid #d9d4c6}
.heritage-primary .heritage-area-links a{font:600 12px/1.35 "Aptos","Segoe UI",Arial,sans-serif;text-transform:none;letter-spacing:0;padding:5px 0;color:var(--forest)}
.footer-area-links{display:flex;flex-wrap:wrap;column-gap:5px;row-gap:4px;margin-bottom:12px}
.site-footer .footer-area-links a{display:inline!important;font-size:.85rem;line-height:1.45;margin:0!important;padding:0!important}
.footer-area-links a:not(:last-child)::after{content:",";text-decoration:none;display:inline-block;margin-left:1px}
@media(max-width:650px){.heritage-area-links{grid-column:1/-1}.heritage-primary .heritage-area-links a{font-size:12px}}

/* v1.0.37: service areas follow specialist services; compact comma-separated footer */
.heritage-area-section{margin-top:20px;padding-top:15px;border-top:1px solid #d9d4c6}
.heritage-area-section h3{margin:0 0 10px}
.heritage-area-section .heritage-area-links{display:flex;flex-wrap:wrap;gap:2px 12px;margin:0 0 8px;padding:0;border:0}
.heritage-area-section .heritage-area-links a{display:inline-block;font-size:12px;line-height:1.4;padding:4px 0;text-decoration:none;color:var(--forest);font-weight:600}
.site-footer .footer-area-links{display:block;line-height:1.55;margin-bottom:8px}
.site-footer .footer-area-links a{display:inline!important;font-size:.85rem;line-height:inherit;margin:0!important;padding:0!important}
.footer-area-links a:not(:last-child)::after{content:none!important}

/* v1.0.38: match the Specialist Services grid and prevent footer links becoming stacked blocks. */
.heritage-area-section{grid-column:2;min-width:0;margin-top:14px;padding-top:15px;border-top:1px solid #d9d4c6}
.heritage-area-section .heritage-area-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 23px;margin:0 0 12px;padding:0;border:0}
.heritage-area-section .heritage-area-links a{display:block;font:650 12px/1.65 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid #ded9ce;padding:11px 0;text-decoration:none;color:var(--forest);overflow-wrap:normal;word-break:normal}
.heritage-area-section>a{display:inline-block;margin-top:8px;font:650 12px/1.5 system-ui,sans-serif;text-decoration:underline;color:var(--forest)}
.site-footer .footer-area-links{display:block!important;line-height:1.7!important;margin:0 0 10px!important;font-size:0}
.site-footer .footer-area-links a,.site-footer .footer-area-links .footer-area-comma{display:inline!important;float:none!important;clear:none!important;position:static!important;width:auto!important;max-width:none!important;white-space:normal!important;font:400 13px/1.7 "Aptos","Segoe UI",Arial,sans-serif!important;letter-spacing:normal!important;margin:0!important;padding:0!important;border:0!important;vertical-align:baseline!important}
.site-footer .footer-area-links a{color:#eaf2eb;text-decoration:underline}
.site-footer .footer-area-links .footer-area-comma{color:#dbe8df;white-space:pre-wrap!important}
@media(max-width:650px){.heritage-area-section{grid-column:1}.heritage-area-section .heritage-area-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.heritage-area-section .heritage-area-links a{font-size:11px}}

/* v1.0.39: reference-style footer service areas in a single compact paragraph. */
.site-footer .footer-area-paragraph{display:block!important;margin:0 0 9px!important;padding:0!important;font:400 13px/1.65 "Aptos","Segoe UI",Arial,sans-serif!important;max-width:none;overflow-wrap:normal;word-break:normal}
.site-footer .footer-area-paragraph a{display:inline!important;float:none!important;width:auto!important;margin:0!important;padding:0!important;font:inherit!important;line-height:inherit!important;color:#eaf2eb;text-decoration:underline;white-space:normal!important}
.site-footer .footer-area-paragraph a::after{content:none!important}
