:root{
  --navy:#0D1B2A;
  --navy-2:#13283d;
  --charcoal:#2B2B2B;
  --gold:#C8A15A;
  --gold-2:#dfbf83;
  --stone:#E6E6E6;
  --warm:#FAF8F4;
  --white:#ffffff;
  --ink:#172331;
  --muted:#5c6772;
  --green:#667a5a;
  --shadow:0 18px 50px rgba(13,27,42,.12);
  --radius:22px;
  --content:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:142px}
body{margin:0;background:var(--warm);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.skip-link{position:fixed;left:12px;top:-80px;z-index:9999;background:#fff;color:#000;padding:10px 14px;border-radius:10px}.skip-link:focus{top:12px}
.site-top{position:sticky;top:0;z-index:1000;background:rgba(250,248,244,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(13,27,42,.1)}
.brand-row{max-width:var(--content);margin:auto;min-height:80px;padding:10px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-link{display:flex;align-items:center;text-decoration:none;min-width:0}
.brand-logo{width:235px;max-height:66px;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;gap:7px}
.main-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border-radius:999px;text-decoration:none;font-weight:750;font-size:.94rem;letter-spacing:.01em}
.main-nav a:hover,.main-nav a:focus-visible,.main-nav a[aria-current="page"]{background:#fff;box-shadow:0 0 0 1px rgba(13,27,42,.12)}
.nav-cta{background:var(--navy)!important;color:#fff!important}
.menu-button{display:none;width:48px;height:48px;border:1px solid rgba(13,27,42,.18);background:#fff;border-radius:14px;align-items:center;justify-content:center;cursor:pointer}
.menu-button svg{width:24px;height:24px}
.mobile-menu{display:none;max-width:var(--content);margin:auto;padding:0 18px 18px}
.mobile-menu.is-open{display:block}
.mobile-menu-grid{background:#fff;border:1px solid rgba(13,27,42,.12);border-radius:18px;padding:12px;box-shadow:var(--shadow);display:grid;gap:6px}
.mobile-menu a{display:flex;min-height:48px;align-items:center;padding:10px 13px;border-radius:12px;text-decoration:none;font-weight:750}.mobile-menu a:hover,.mobile-menu a:focus-visible{background:var(--warm)}
.mobile-menu .mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid var(--stone)}
.contact-rail-shell{background:var(--navy);color:#fff}
.contact-rail{max-width:var(--content);margin:auto;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 20px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.contact-rail::-webkit-scrollbar{display:none}
.rail-link{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 13px;border-radius:999px;text-decoration:none;font-size:.86rem;font-weight:780;letter-spacing:.01em;color:#fff;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.055)}
.rail-link:first-child{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.rail-link:hover,.rail-link:focus-visible{outline:none;border-color:var(--gold-2);background:rgba(255,255,255,.12)}
.rail-link:first-child:hover,.rail-link:first-child:focus-visible{background:var(--gold-2)}
.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon.fill{fill:currentColor;stroke:none}
main{overflow:hidden}
.hero{position:relative;min-height:670px;display:flex;align-items:flex-end;background:#15202b}
.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,29,.9) 0%,rgba(8,19,29,.67) 44%,rgba(8,19,29,.16) 76%,rgba(8,19,29,.16) 100%),linear-gradient(0deg,rgba(8,19,29,.66) 0%,transparent 45%)}
.hero-inner{position:relative;z-index:1;max-width:var(--content);width:100%;margin:auto;padding:90px 24px 78px;color:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.79rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-2);margin-bottom:18px}.eyebrow:before{content:"";width:30px;height:1px;background:currentColor}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.05;letter-spacing:-.025em;margin:0;color:var(--navy)}
.hero h1{color:#fff;font-size:clamp(3rem,7vw,6.1rem);max-width:760px;text-wrap:balance}
.hero-copy{font-size:clamp(1.04rem,2vw,1.26rem);max-width:680px;margin:22px 0 28px;color:rgba(255,255,255,.88)}
.hero-actions,.button-row{display:flex;flex-wrap:wrap;gap:10px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:820;border:1px solid transparent;cursor:pointer}.button svg{width:19px;height:19px}.button-primary{background:var(--gold);color:var(--navy)}.button-primary:hover,.button-primary:focus-visible{background:var(--gold-2)}.button-secondary{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.5)}.button-secondary:hover,.button-secondary:focus-visible{background:#fff;color:var(--navy)}.button-dark{background:var(--navy);color:#fff}.button-light{background:#fff;color:var(--navy);border-color:rgba(13,27,42,.12)}
.hero-note{margin-top:24px;display:flex;gap:22px;flex-wrap:wrap;color:rgba(255,255,255,.78);font-size:.9rem}.hero-note span{display:inline-flex;align-items:center;gap:7px}.hero-note span:before{content:"✓";color:var(--gold-2);font-weight:900}
.stats{position:relative;margin-top:-1px;background:var(--navy);color:#fff}.stats-inner{max-width:var(--content);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);padding:0 24px}.stat{padding:24px 20px;border-left:1px solid rgba(255,255,255,.15)}.stat:last-child{border-right:1px solid rgba(255,255,255,.15)}.stat strong{display:block;color:var(--gold-2);font-family:Georgia,serif;font-size:2rem;line-height:1}.stat span{display:block;margin-top:6px;text-transform:uppercase;font-size:.75rem;letter-spacing:.14em;color:rgba(255,255,255,.7)}
.section{padding:88px 24px}.section.tight{padding-top:64px;padding-bottom:64px}.container{max-width:var(--content);margin:auto}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head .head-copy{max-width:740px}.section-head h2,.page-hero h1{font-size:clamp(2.4rem,5vw,4.5rem)}.section-head p{max-width:590px;margin:12px 0 0;color:var(--muted);font-size:1.03rem}.kicker{font-size:.76rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase;color:var(--green);margin-bottom:10px}
.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.priority-card{position:relative;overflow:hidden;min-height:260px;padding:28px;border-radius:var(--radius);background:#fff;border:1px solid rgba(13,27,42,.1);box-shadow:0 14px 40px rgba(13,27,42,.05)}.priority-card:first-child{background:var(--navy);color:#fff}.priority-card .num{font-family:Georgia,serif;font-size:4.5rem;position:absolute;right:20px;top:4px;opacity:.08}.priority-card h3{font-size:1.65rem;margin:34px 0 10px}.priority-card:first-child h3{color:#fff}.priority-card p{margin:0;color:var(--muted)}.priority-card:first-child p{color:rgba(255,255,255,.72)}.priority-card .mini{display:inline-flex;margin-top:20px;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:var(--green)}.priority-card:first-child .mini{color:var(--gold-2)}
.showcase-section{background:var(--navy);color:#fff}.showcase-section .section-head h2{color:#fff}.showcase-section .section-head p{color:rgba(255,255,255,.67)}.showcase-section .kicker{color:var(--gold-2)}
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.project-card{position:relative;overflow:hidden;border-radius:20px;min-height:360px;background:#111;color:#fff;isolation:isolate}.project-card:nth-child(1){grid-column:span 7}.project-card:nth-child(2){grid-column:span 5}.project-card:nth-child(n+3){grid-column:span 4;min-height:300px}.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,18,28,.86),rgba(7,18,28,0) 62%);z-index:0}.project-card:hover img{transform:scale(1.025)}.project-meta{position:absolute;z-index:1;left:22px;right:22px;bottom:20px}.project-meta span{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);font-weight:850}.project-meta h3{color:#fff;font-size:1.55rem;margin:5px 0 0}.project-meta p{margin:6px 0 0;font-size:.88rem;color:rgba(255,255,255,.73)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.service-card{background:#fff;border:1px solid rgba(13,27,42,.1);border-radius:18px;padding:22px;min-height:185px}.service-card.priority{background:#eef1e9;border-color:#d7ddcf}.service-card .service-no{font-family:Georgia,serif;color:var(--gold);font-size:1.1rem}.service-card h3{font-size:1.3rem;margin:22px 0 7px}.service-card p{margin:0;color:var(--muted);font-size:.92rem}
.trust-panel{display:grid;grid-template-columns:.88fr 1.12fr;background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(13,27,42,.1);box-shadow:var(--shadow)}.trust-brand{background:#f2eee6;display:flex;align-items:center;justify-content:center;padding:48px}.trust-brand img{width:min(100%,360px)}.trust-copy{padding:54px}.trust-copy h2{font-size:clamp(2.4rem,4vw,4rem)}.trust-copy p{color:var(--muted);max-width:600px}.tick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.tick{display:flex;gap:9px;align-items:flex-start;font-weight:730}.tick:before{content:"✓";width:24px;height:24px;border-radius:50%;background:#eef1e9;color:var(--green);display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:.8rem;margin-top:1px}
.testimonials{background:#eeeae2}.quote-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.quote-card{background:#fff;border-radius:20px;padding:34px;border:1px solid rgba(13,27,42,.1)}.quote-mark{font-family:Georgia,serif;font-size:4.7rem;line-height:.65;color:var(--gold)}.quote-card blockquote{margin:18px 0 20px;font-family:Georgia,serif;font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.45;color:var(--navy)}.quote-card cite{font-style:normal;font-weight:850;color:var(--green);font-size:.9rem}.quote-card small{display:block;color:var(--muted);margin-top:4px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.step{border-top:2px solid var(--gold);padding:20px 10px 10px 0}.step .step-no{font-family:Georgia,serif;font-size:2.2rem;color:var(--gold)}.step h3{font-size:1.25rem;margin:10px 0 6px}.step p{margin:0;color:var(--muted);font-size:.92rem}
.social-panel{display:grid;grid-template-columns:1fr 1fr;gap:14px}.social-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:28px;border-radius:20px;text-decoration:none;background:#fff;border:1px solid rgba(13,27,42,.1)}.social-card:hover,.social-card:focus-visible{box-shadow:var(--shadow);outline:none}.social-title{display:flex;align-items:center;gap:14px}.social-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff}.social-icon svg{width:25px;height:25px}.social-title strong{display:block;font-size:1.05rem}.social-title small{display:block;color:var(--muted);margin-top:2px}.arrow{font-size:1.5rem;color:var(--gold)}
.contact-band{background:#DCEAF4;color:var(--navy);padding:56px 24px}.contact-band-inner{max-width:var(--content);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-band h2{font-size:clamp(2.2rem,4vw,3.8rem);max-width:700px}.contact-band p{margin:10px 0 0;max-width:620px}.contact-band .button-dark{white-space:nowrap}
.page-hero{background:#eeeae2;padding:74px 24px 62px}.page-hero .container{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:40px}.page-hero p{max-width:650px;color:var(--muted);font-size:1.05rem;margin:18px 0 0}.page-hero-aside{display:flex;justify-content:flex-end}.page-hero-aside .mini-card{background:#fff;border-radius:20px;padding:24px;max-width:360px;border:1px solid rgba(13,27,42,.1)}.mini-card strong{font-family:Georgia,serif;color:var(--navy);font-size:1.5rem}.mini-card p{font-size:.92rem;margin-top:7px}
.project-list{display:grid;gap:20px}.project-row{display:grid;grid-template-columns:1fr 1fr;min-height:420px;background:#fff;border-radius:22px;overflow:hidden;border:1px solid rgba(13,27,42,.1)}.project-row:nth-child(even) .project-photo{order:2}.project-photo img{width:100%;height:100%;object-fit:cover}.project-details{padding:44px;display:flex;flex-direction:column;justify-content:center}.project-details .tag{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:850}.project-details h2{font-size:clamp(2rem,3.4vw,3.3rem);margin:10px 0 14px}.project-details p{color:var(--muted);margin:0}.project-details .fact{margin-top:20px;padding-top:18px;border-top:1px solid var(--stone);font-size:.9rem;font-weight:760;color:var(--navy)}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-card{background:#fff;border:1px solid rgba(13,27,42,.1);border-radius:20px;padding:30px}.detail-card h2{font-size:1.85rem;margin-bottom:12px}.detail-card p,.detail-card li{color:var(--muted)}.detail-card ul{padding-left:20px;margin:14px 0 0}.detail-card li+li{margin-top:6px}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:stretch}.about-photo{min-height:500px;border-radius:22px;overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover}.about-copy{background:#fff;border:1px solid rgba(13,27,42,.1);border-radius:22px;padding:48px}.about-copy h2{font-size:clamp(2.3rem,4vw,4rem)}.about-copy p{color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px;align-items:start}.contact-card,.form-card{background:#fff;border:1px solid rgba(13,27,42,.1);border-radius:22px;padding:32px}.contact-card h2,.form-card h2{font-size:2.1rem}.contact-list{display:grid;gap:10px;margin-top:24px}.contact-link{display:flex;align-items:center;gap:12px;min-height:54px;padding:12px 14px;border-radius:14px;border:1px solid var(--stone);text-decoration:none;font-weight:750}.contact-link:hover,.contact-link:focus-visible{border-color:var(--gold);outline:none}.contact-link .social-icon{width:38px;height:38px;border-radius:10px}.contact-link .social-icon svg{width:20px;height:20px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.83rem;font-weight:820;color:var(--navy)}.field input,.field select,.field textarea{width:100%;border:1px solid #ccd2d7;border-radius:12px;background:#fff;padding:12px 13px;min-height:48px;color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(200,161,90,.22);border-color:var(--gold)}.form-help{font-size:.82rem;color:var(--muted);margin:14px 0}.form-status{min-height:24px;font-size:.85rem;font-weight:750;color:var(--green)}
.prose{max-width:820px}.prose h2{font-size:2rem;margin:38px 0 12px}.prose p,.prose li{color:var(--muted)}.prose a{color:var(--navy);font-weight:750}
.site-footer{background:#08131d;color:#fff;padding:54px 24px 24px}.footer-grid{max-width:var(--content);margin:auto;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:38px}.footer-brand{max-width:370px}.footer-brand img{width:220px;background:#f5f0e7;border-radius:12px;padding:8px}.footer-brand p{color:rgba(255,255,255,.62);font-size:.9rem}.footer-col h3{font-family:inherit;color:var(--gold-2);font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:12px}.footer-col a{display:block;text-decoration:none;color:rgba(255,255,255,.76);padding:5px 0}.footer-col a:hover,.footer-col a:focus-visible{color:#fff}.powered{max-width:var(--content);margin:38px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.13);display:flex;align-items:center;justify-content:space-between;gap:22px}.powered-copy{color:rgba(255,255,255,.55);font-size:.78rem}.powered-link{display:flex;align-items:center;gap:12px;text-decoration:none;padding:8px 10px;border-radius:12px}.powered-link:hover,.powered-link:focus-visible{background:rgba(255,255,255,.06);outline:none}.powered-link span{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}.powered-link img{width:230px;height:auto}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-card img{transition:none}}
@media(max-width:900px){
  html{scroll-padding-top:132px}.brand-row{min-height:70px;padding:8px 15px}.brand-logo{width:190px;max-height:56px}.main-nav{display:none}.menu-button{display:flex}.contact-rail{justify-content:flex-start;padding:7px 12px}.rail-link{min-height:44px;font-size:.8rem;padding:8px 11px}.hero{min-height:620px}.hero-inner{padding:78px 20px 60px}.hero-media:after{background:linear-gradient(0deg,rgba(8,19,29,.91) 0%,rgba(8,19,29,.46) 68%,rgba(8,19,29,.23) 100%)}.stats-inner{padding:0 12px}.stat{padding:18px 10px}.stat strong{font-size:1.55rem}.stat span{font-size:.63rem;letter-spacing:.09em}.section{padding:68px 18px}.section-head{align-items:flex-start;flex-direction:column;gap:10px}.priority-grid{grid-template-columns:1fr}.priority-card{min-height:220px}.project-card:nth-child(n){grid-column:span 6;min-height:320px}.project-card:nth-child(1){grid-column:1/-1;min-height:400px}.service-grid{grid-template-columns:repeat(2,1fr)}.trust-panel{grid-template-columns:1fr}.trust-brand{padding:36px}.trust-copy{padding:36px}.quote-grid{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.page-hero .container{grid-template-columns:1fr}.page-hero-aside{justify-content:flex-start}.project-row{grid-template-columns:1fr}.project-row:nth-child(even) .project-photo{order:0}.project-photo{min-height:330px}.about-grid,.contact-layout{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.powered{align-items:flex-start;flex-direction:column}.social-panel{grid-template-columns:1fr}}
@media(max-width:600px){
  .brand-logo{width:168px}.mobile-menu .mobile-actions{grid-template-columns:1fr}.hero{min-height:560px}.hero-inner{padding-top:60px}.hero h1{font-size:clamp(2.7rem,14vw,4.3rem)}.hero-copy{font-size:1rem}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}.hero-note{gap:9px 15px}.stats-inner{grid-template-columns:1fr 1fr 1fr}.stat{padding:15px 6px;text-align:center}.stat strong{font-size:1.35rem}.stat span{font-size:.57rem}.section{padding:58px 15px}.section-head h2,.page-hero h1{font-size:clamp(2.25rem,12vw,3.6rem)}.project-grid{display:grid;grid-template-columns:1fr}.project-card:nth-child(n){grid-column:1;min-height:330px}.project-card:nth-child(1){min-height:390px}.service-grid{grid-template-columns:1fr}.trust-copy{padding:28px 22px}.tick-grid{grid-template-columns:1fr}.quote-card{padding:28px 22px}.steps{grid-template-columns:1fr}.social-card{padding:20px}.contact-band-inner{align-items:flex-start;flex-direction:column}.contact-band .button{width:100%}.page-hero{padding:55px 17px 48px}.project-details{padding:28px 22px}.detail-grid{grid-template-columns:1fr}.about-copy{padding:30px 22px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-card,.form-card{padding:26px 20px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.powered-link{padding-left:0}.powered-link img{width:205px}}
/* Final QA overrides: content is visible without scroll-triggered JS; footer links meet comfortable tap size. */
.reveal{opacity:1!important;transform:none!important;transition:none!important}
.footer-col a{min-height:44px;display:flex;align-items:center}


/* 2026-09-05 customer-eyes / 35-year / service-selector release */
:root{--call-green:#54dc72;--call-lime:#d7e62d;--call-ink:#07140e;--silver:#bfc5ca;--silver-dark:#646c73}
.brand-zone{display:flex;align-items:center;gap:14px;min-width:0}.experience-badge{display:block;object-fit:contain}.experience-badge-desktop{width:215px;max-height:58px;border-radius:999px;box-shadow:0 4px 16px rgba(13,27,42,.08)}.experience-chip-mobile{display:none;align-items:center;gap:5px;white-space:nowrap;padding:6px 8px;border:1px solid #aab0b5;border-radius:999px;background:linear-gradient(180deg,#f8f8f8,#cfd3d6);box-shadow:inset 0 1px 0 #fff,0 2px 7px rgba(13,27,42,.12);color:#20262b;font-size:.68rem;font-weight:900;letter-spacing:.05em}
.call-link,.button-call,.mobile-call,.contact-link-call{position:relative;isolation:isolate;color:var(--call-ink)!important;border-color:rgba(157,230,71,.92)!important;background:linear-gradient(100deg,#e6df22 0%,#b8dc2e 30%,#78d644 59%,#3bd878 100%)!important;box-shadow:0 0 12px rgba(113,222,78,.35),0 0 26px rgba(66,219,117,.13),inset 0 1px 0 rgba(255,255,255,.36)!important;text-shadow:none!important;font-weight:850!important}.call-link:hover,.call-link:focus-visible,.button-call:hover,.button-call:focus-visible,.contact-link-call:hover,.contact-link-call:focus-visible{color:#041108!important;border-color:rgba(199,244,91,.98)!important;background:linear-gradient(100deg,#f0e92f,#c7e43b 30%,#86df4f 59%,#47df81)!important;box-shadow:0 0 15px rgba(145,234,75,.5),0 0 32px rgba(60,224,120,.2),inset 0 1px 0 rgba(255,255,255,.42)!important;outline:none}.button-call{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 18px;border-radius:999px;text-decoration:none;border:1px solid transparent}.button-call .icon{width:19px;height:19px}.mobile-call{border-radius:12px!important}
.service-capsules{display:flex;flex-wrap:wrap;gap:10px}.service-capsules a,.service-capsule{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border:1px solid rgba(13,27,42,.16);border-radius:999px;background:#fff;color:var(--navy);font-weight:800;text-decoration:none;box-shadow:0 7px 20px rgba(13,27,42,.05);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.service-capsules a:hover,.service-capsules a:focus-visible{transform:translateY(-1px);border-color:var(--gold);box-shadow:0 9px 24px rgba(13,27,42,.09);outline:none}.home-service-capsules{max-width:1040px}.service-selector-section{padding-top:44px;padding-bottom:34px}.service-details-section{padding-top:34px}.service-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-detail-card{scroll-margin-top:160px;background:#fff;border:1px solid rgba(13,27,42,.1);border-radius:22px;overflow:hidden;box-shadow:0 14px 40px rgba(13,27,42,.05)}.service-proof-image{aspect-ratio:16/9;overflow:hidden;background:#d8dde1}.service-proof-image img{width:100%;height:100%;object-fit:cover}.service-detail-card#fencing-gates .service-proof-image img{object-position:center 55%}.service-detail-copy{padding:26px}.service-detail-copy h2{font-size:2rem;margin:4px 0 10px}.service-detail-copy p,.service-detail-copy li{color:var(--muted)}.service-detail-copy ul{padding-left:20px;margin:14px 0 0}.service-card-actions{display:flex;gap:18px;flex-wrap:wrap;padding-top:18px;margin-top:18px;border-top:1px solid var(--stone)}.service-card-actions a{font-size:.9rem;font-weight:850;text-decoration:none;color:var(--navy)}.service-card-actions a:hover{text-decoration:underline;text-underline-offset:3px}.text-call{color:#486e2f!important}
.expanded-project-grid .project-card:nth-child(1){grid-column:span 7;min-height:390px}.expanded-project-grid .project-card:nth-child(2){grid-column:span 5;min-height:390px}.expanded-project-grid .project-card:nth-child(n+3){grid-column:span 3;min-height:285px}.project-card{display:block;text-decoration:none}.project-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}.project-actions a{font-size:.88rem;font-weight:850;color:var(--navy);text-decoration:none}.project-actions a:hover{text-decoration:underline;text-underline-offset:3px}
.trust-seal-wrap{background:linear-gradient(145deg,#f8f7f4,#e4e6e8)}.experience-seal{width:min(100%,365px)!important;filter:drop-shadow(0 12px 22px rgba(13,27,42,.16))}.about-seal-photo{position:relative}.about-floating-seal{position:absolute!important;right:18px!important;bottom:18px!important;width:150px!important;height:150px!important;object-fit:contain!important;border-radius:50%;box-shadow:0 12px 30px rgba(13,27,42,.22)}
.quote-card-silver{border-color:#c6cbd0!important;box-shadow:0 16px 42px rgba(74,82,88,.09),inset 0 1px 0 rgba(255,255,255,.8)}.quote-card-silver .quote-mark{color:#8c959c!important}.quote-card cite{display:block}.quote-card small{display:block;margin-top:4px;color:var(--muted)}.testimonial-project{margin-top:14px;padding-top:13px;border-top:1px solid #d9dde0;color:#57616a;font-size:.84rem;font-weight:720}.footer-trust{color:var(--gold-2)!important;font-weight:750!important}.mini-card a{display:inline-block;margin-top:8px;font-weight:800;color:var(--navy);text-decoration:none}.mini-card a:hover{text-decoration:underline}
@media(max-width:1100px){.experience-badge-desktop{width:180px}.main-nav{gap:4px}.main-nav a{padding-inline:10px}.brand-logo{width:205px}}
@media(max-width:900px){.experience-badge-desktop{width:170px}.experience-chip-mobile{display:none}.brand-zone{gap:8px}.brand-logo{width:165px}.service-detail-grid{grid-template-columns:1fr}.expanded-project-grid .project-card:nth-child(n){grid-column:span 6;min-height:310px}.expanded-project-grid .project-card:nth-child(1),.expanded-project-grid .project-card:nth-child(2){grid-column:span 6;min-height:350px}.about-floating-seal{width:125px!important;height:125px!important}.service-detail-card{scroll-margin-top:145px}}
@media(max-width:700px){.experience-badge-desktop{display:none}.experience-chip-mobile{display:inline-flex}}
@media(max-width:600px){.brand-row{gap:7px;padding-inline:10px}.brand-zone{gap:6px}.brand-logo{width:140px;max-height:50px}.experience-chip-mobile{font-size:.61rem;padding:5px 7px}.menu-button{width:44px;height:44px}.contact-rail{padding-inline:8px}.rail-link{font-size:.77rem;padding-inline:10px}.call-link{font-size:.79rem}.service-capsules{gap:8px}.service-capsules a{min-height:44px;padding:9px 12px;font-size:.83rem}.expanded-project-grid{grid-template-columns:1fr}.expanded-project-grid .project-card:nth-child(n){grid-column:1;min-height:325px}.service-detail-copy{padding:23px 20px}.service-detail-copy h2{font-size:1.72rem}.about-floating-seal{width:102px!important;height:102px!important;right:12px!important;bottom:12px!important}.testimonial-project{font-size:.8rem}}
@media(max-width:340px){.brand-logo{width:128px}.experience-chip-mobile{font-size:.56rem;padding:4px 6px}.menu-button{width:42px;height:42px}.rail-link{font-size:.72rem}}

.project-card[href*="fencing"] img{object-position:center 46%}

/* 2026-09-05 09:41 mobile hero fit lock: keep full words inside the viewport. */
@media(max-width:600px){
  .hero h1{
    font-size:clamp(2.1rem,11vw,3.1rem);
    line-height:.98;
    letter-spacing:-.035em;
    max-width:100%;
    text-wrap:balance;
  }
}


/* 2026-09-05 10:16 verified social/contact colour system + compact mobile Facebook lock */
:root{
  --email-blue-1:#006cff;
  --email-blue-2:#00b9ff;
  --instagram-yellow-1:#ffe45c;
  --instagram-yellow-2:#f3b62d;
  --facebook-blue:#1877f2;
  --trust-silver-1:#69737d;
  --trust-silver-2:#3f4851;
}
.rail-link.email-link{
  color:#fff!important;
  border-color:rgba(80,199,255,.9)!important;
  background:linear-gradient(105deg,var(--email-blue-1),var(--email-blue-2))!important;
  box-shadow:0 0 13px rgba(0,174,255,.22),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.rail-link.instagram-link{
  color:#172331!important;
  border-color:rgba(255,226,89,.95)!important;
  background:linear-gradient(105deg,var(--instagram-yellow-1),var(--instagram-yellow-2))!important;
  box-shadow:0 0 12px rgba(246,190,43,.18),inset 0 1px 0 rgba(255,255,255,.35)!important;
}
.rail-link.facebook-link{
  color:#fff!important;
  border-color:#4d9cff!important;
  background:var(--facebook-blue)!important;
  box-shadow:0 0 12px rgba(24,119,242,.2),inset 0 1px 0 rgba(255,255,255,.2)!important;
}
.rail-link.testimonial-link{
  color:#fff!important;
  border-color:rgba(212,218,223,.42)!important;
  background:linear-gradient(180deg,var(--trust-silver-1),var(--trust-silver-2))!important;
}
.rail-link.email-link:hover,.rail-link.email-link:focus-visible{background:linear-gradient(105deg,#137aff,#1cc4ff)!important;border-color:#78d6ff!important}
.rail-link.instagram-link:hover,.rail-link.instagram-link:focus-visible{background:linear-gradient(105deg,#ffeb75,#ffc344)!important;border-color:#ffed8c!important}
.rail-link.facebook-link:hover,.rail-link.facebook-link:focus-visible{background:#2b82f4!important;border-color:#78b2ff!important}
.rail-link.testimonial-link:hover,.rail-link.testimonial-link:focus-visible{background:linear-gradient(180deg,#77828d,#4a545e)!important;border-color:#d7dce0!important}
.facebook-glyph{display:inline-flex;align-items:center;justify-content:center;font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:1.28rem;line-height:1;text-transform:lowercase;min-width:18px}
.mobile-email{color:#fff!important;background:linear-gradient(105deg,var(--email-blue-1),var(--email-blue-2))!important}
.mobile-instagram{color:#172331!important;background:linear-gradient(105deg,var(--instagram-yellow-1),var(--instagram-yellow-2))!important}
.mobile-facebook{color:#fff!important;background:var(--facebook-blue)!important}
.contact-link-email{border-color:#68cfff!important}.contact-link-email .social-icon{background:linear-gradient(105deg,var(--email-blue-1),var(--email-blue-2))!important}
.contact-link-instagram{border-color:#f4ca45!important}.contact-link-instagram .social-icon{background:linear-gradient(105deg,var(--instagram-yellow-1),var(--instagram-yellow-2))!important;color:#172331!important}
.contact-link-facebook{border-color:#65a6ff!important}.contact-link-facebook .social-icon{background:var(--facebook-blue)!important;color:#fff!important}
.social-card-facebook{border-color:rgba(24,119,242,.25)!important}.social-card-facebook strong{color:#145fc0}
@media(max-width:600px){
  .contact-rail .facebook-link{
    width:44px;min-width:44px;max-width:44px;height:44px;padding:0!important;gap:0;justify-content:center;border-radius:999px;
  }
  .contact-rail .facebook-link .facebook-label{display:none}
  .contact-rail .facebook-link .facebook-glyph{font-size:1.45rem;min-width:0;transform:translateY(1px)}
}

/* 06 Sep 2026 - expanded plastering testimonial only */
.testimonial-details{margin-top:18px;padding-top:14px;border-top:1px solid #d9dde0;color:#253243}
.testimonial-details summary{cursor:pointer;font-weight:850;color:var(--navy);font-size:.92rem;list-style-position:outside}
.testimonial-details summary:hover,.testimonial-details summary:focus-visible{text-decoration:underline}
.testimonial-full{margin-top:14px;font-size:.9rem;line-height:1.55;color:#4f5a64}
.testimonial-full>strong{color:var(--navy)}
.testimonial-full ul{margin:10px 0 0;padding-left:20px}
.testimonial-full li{margin:0 0 9px}
.testimonial-full li strong{color:var(--navy)}


/* 2026-09-06 09:56 quote-first conversion rail + testimonial violet lock */
:root{
  --quote-orange-1:#FF8A00;
  --quote-orange-2:#FFB020;
  --testimonial-violet-1:#7665C7;
  --testimonial-violet-2:#6654B6;
}
/* Desktop navigation: quote is the primary non-call conversion action. */
.nav-cta{
  background:linear-gradient(105deg,var(--quote-orange-1),var(--quote-orange-2))!important;
  color:var(--navy)!important;
  box-shadow:0 7px 20px rgba(255,138,0,.18)!important;
}
.nav-cta:hover,.nav-cta:focus-visible{
  background:linear-gradient(105deg,#ff9b22,#ffc24d)!important;
  color:var(--navy)!important;
  box-shadow:0 8px 24px rgba(255,138,0,.26)!important;
}
/* Sticky rail: Email is intentionally removed; Quote takes its place. */
.rail-link.quote-link{
  color:var(--navy)!important;
  border-color:#ffc15c!important;
  background:linear-gradient(105deg,var(--quote-orange-1),var(--quote-orange-2))!important;
  box-shadow:0 0 13px rgba(255,138,0,.24),inset 0 1px 0 rgba(255,255,255,.36)!important;
}
.rail-link.quote-link:hover,.rail-link.quote-link:focus-visible{
  color:var(--navy)!important;
  border-color:#ffd58f!important;
  background:linear-gradient(105deg,#ff9b22,#ffc24d)!important;
}
/* Testimonials now have a dedicated customer-proof colour. */
.rail-link.testimonial-link{
  color:#fff!important;
  border-color:rgba(213,205,255,.7)!important;
  background:linear-gradient(180deg,var(--testimonial-violet-1),var(--testimonial-violet-2))!important;
  box-shadow:0 0 12px rgba(118,101,199,.22),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.rail-link.testimonial-link:hover,.rail-link.testimonial-link:focus-visible{
  background:linear-gradient(180deg,#8372d4,#6d5bc2)!important;
  border-color:#ded8ff!important;
}
.quote-label-mobile{display:none}
@media(max-width:600px){
  .quote-label-desktop{display:none}
  .quote-label-mobile{display:inline}
  /* Menu remains in the separate brand row. Rail stays one swipeable row and never wraps. */
  .contact-rail{flex-wrap:nowrap}
  .rail-link.quote-link{min-width:auto;padding-inline:12px;font-weight:900;letter-spacing:.04em}
}

/* 2026-09-07 11:45 BST — Section 43 mobile header fit + testimonial silver lock.
   Supersedes the earlier mobile 35-year shortening, mobile sticky Instagram text label,
   and testimonial-violet treatment only. All unrelated rules remain unchanged. */

/* Testimonials return to the restrained silver/charcoal trust family. */
.rail-link.testimonial-link{
  color:#fff!important;
  border-color:rgba(212,218,223,.58)!important;
  background:linear-gradient(180deg,var(--trust-silver-1),var(--trust-silver-2))!important;
  box-shadow:0 0 10px rgba(80,90,100,.16),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.rail-link.testimonial-link:hover,.rail-link.testimonial-link:focus-visible{
  background:linear-gradient(180deg,#77828d,#4a545e)!important;
  border-color:#d7dce0!important;
}

/* Use the approved full horizontal 35 Years Experience badge on mobile too. */
@media(max-width:700px){
  .experience-badge-desktop{
    display:block;
    width:170px;
    max-height:54px;
    flex:0 0 auto;
  }
  .experience-chip-mobile{display:none!important}
  .brand-zone{min-width:0;flex:1 1 auto}
  .menu-button{flex:0 0 auto;margin-left:auto}
}

@media(max-width:600px){
  .experience-badge-desktop{width:160px;max-height:50px}
  .brand-logo{width:140px;max-height:50px}
}

/* On ordinary phones the sticky Instagram capsule becomes icon-only to reclaim width. */
@media(max-width:430px){
  .contact-rail .instagram-link{
    width:44px;
    min-width:44px;
    max-width:44px;
    height:44px;
    padding:0!important;
    gap:0;
    justify-content:center;
    border-radius:999px;
  }
  .contact-rail .instagram-link>span{display:none}
  .contact-rail .instagram-link .icon{width:20px;height:20px}
}

/* Narrow-phone safeguard: preserve the full wording before sacrificing legibility. */
@media(max-width:380px){
  .brand-logo{width:118px;max-height:46px}
  .experience-badge-desktop{width:140px;max-height:47px}
}
@media(max-width:340px){
  .brand-logo{width:105px;max-height:44px}
  .experience-badge-desktop{width:125px;max-height:44px}
  .brand-row{gap:7px;padding-inline:10px}
  .brand-zone{gap:6px}
  .menu-button{width:42px;height:42px}
}


/* 2026-09-07 12:06 BST — Section 44 Areas We Cover route.
   Tightly scoped addition: desktop steel-blue nav capsule, mobile menu route,
   and dedicated image-free coverage page. */
:root{
  --areas-steel-1:#6F89A3;
  --areas-steel-2:#58718C;
  --areas-steel-dark:#40576E;
  --areas-steel-pale:#EEF3F7;
}
.main-nav .areas-nav-link{
  color:#fff!important;
  border:1px solid rgba(255,255,255,.24);
  background:linear-gradient(105deg,var(--areas-steel-1),var(--areas-steel-2))!important;
  box-shadow:0 6px 18px rgba(64,87,110,.15)!important;
  white-space:nowrap;
}
.main-nav .areas-nav-link:hover,
.main-nav .areas-nav-link:focus-visible,
.main-nav .areas-nav-link[aria-current="page"]{
  color:#fff!important;
  background:linear-gradient(105deg,#7892AB,#607A94)!important;
  border-color:#9DB0C2!important;
  box-shadow:0 7px 20px rgba(64,87,110,.20)!important;
}
.areas-page-hero .container{grid-template-columns:1fr}
.areas-page-hero p{max-width:780px}
.areas-section{background:#fff}
.areas-panel{
  border:1px solid rgba(13,27,42,.12);
  border-radius:var(--radius);
  padding:34px;
  background:linear-gradient(180deg,#fff,var(--areas-steel-pale));
  box-shadow:0 18px 48px rgba(13,27,42,.07);
}
.areas-panel h2{font-size:clamp(2rem,4vw,3.4rem);margin:0}
.area-location-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}
.area-location{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border:1px solid #AAB7C4;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:var(--navy);
  font-weight:800;
  text-align:center;
  letter-spacing:.005em;
}
.areas-further{
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid rgba(13,27,42,.12);
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:end;
}
.areas-further h3{
  margin:0 0 8px;
  color:var(--navy);
  font-family:Georgia,serif;
  font-size:clamp(1.6rem,3vw,2.35rem);
}
.areas-further p{margin:0;max-width:720px;color:var(--muted)}
.areas-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.areas-actions .button{white-space:nowrap}
@media(max-width:1100px){
  .main-nav .areas-nav-link{padding-inline:8px;font-size:.84rem}
}
@media(max-width:900px){
  .area-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .areas-further{grid-template-columns:1fr;align-items:start}
  .areas-actions{justify-content:flex-start}
}
@media(max-width:600px){
  .areas-panel{padding:25px 19px}
  .area-location-grid{grid-template-columns:1fr;gap:9px;margin-top:22px}
  .area-location{min-height:52px}
  .areas-actions{display:grid;grid-template-columns:1fr;width:100%}
  .areas-actions .button{width:100%}
}

/* 2026-09-07 12:27 BST — Section 45 desktop navigation capsule polish.
   Desktop-only refinement: neutral ghost nav capsules, cool cyan Contact,
   and a single-line orange Get a quote. Mobile header/menu remains unchanged. */
:root{
  --contact-cyan-1:#66C3E8;
  --contact-cyan-2:#48A8D8;
}
@media(min-width:901px){
  /* Quiet navigation capsules: routes, not conversion colours. */
  .main-nav>a:not(.areas-nav-link):not(.nav-cta):not([href="contact.html"]){
    color:var(--navy);
    border:1px solid rgba(86,105,122,.28);
    background:rgba(255,255,255,.24);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.56);
    white-space:nowrap;
  }
  .main-nav>a:not(.areas-nav-link):not(.nav-cta):not([href="contact.html"]):hover,
  .main-nav>a:not(.areas-nav-link):not(.nav-cta):not([href="contact.html"]):focus-visible,
  .main-nav>a:not(.areas-nav-link):not(.nav-cta):not([href="contact.html"])[aria-current="page"]{
    color:var(--navy);
    border-color:rgba(86,105,122,.44);
    background:rgba(255,255,255,.78);
    box-shadow:0 5px 15px rgba(13,27,42,.07),inset 0 1px 0 #fff;
  }

  /* Contact = communication route. Distinct, but quieter than quote/call. */
  .main-nav>a[href="contact.html"]:not(.nav-cta){
    color:var(--navy)!important;
    border:1px solid rgba(41,132,172,.35)!important;
    background:linear-gradient(105deg,var(--contact-cyan-1),var(--contact-cyan-2))!important;
    box-shadow:0 6px 16px rgba(72,168,216,.14),inset 0 1px 0 rgba(255,255,255,.36)!important;
    white-space:nowrap;
  }
  .main-nav>a[href="contact.html"]:not(.nav-cta):hover,
  .main-nav>a[href="contact.html"]:not(.nav-cta):focus-visible,
  .main-nav>a[href="contact.html"]:not(.nav-cta)[aria-current="page"]{
    color:var(--navy)!important;
    border-color:#80d0ee!important;
    background:linear-gradient(105deg,#75cbee,#55b4df)!important;
    box-shadow:0 7px 19px rgba(72,168,216,.19),inset 0 1px 0 rgba(255,255,255,.42)!important;
  }

  /* Quote must stay on one line. Give it room; do not shrink the label. */
  .main-nav .nav-cta{
    white-space:nowrap!important;
    flex:0 0 auto;
    min-width:122px;
    padding-inline:17px;
  }
}

/* Keep the full desktop navigation intact at narrower desktop widths by compacting
   spacing before allowing labels to wrap or clip. */
@media(min-width:981px) and (max-width:1100px){
  .brand-row{gap:14px;padding-inline:16px}
  .brand-zone{gap:8px}
  .brand-logo{width:175px}
  .experience-badge-desktop{width:155px}
  .main-nav{gap:4px}
  .main-nav a{min-height:42px;padding:8px 9px;font-size:.84rem}
  .main-nav .areas-nav-link{padding-inline:8px!important;font-size:.82rem!important}
  .main-nav .nav-cta{min-width:110px;padding-inline:11px}
}
@media(min-width:901px) and (max-width:980px){
  .brand-row{gap:10px;padding-inline:10px}
  .brand-zone{gap:6px}
  .brand-logo{width:145px}
  .experience-badge-desktop{width:135px}
  .main-nav{gap:3px}
  .main-nav a{min-height:40px;padding:7px 7px;font-size:.78rem}
  .main-nav .areas-nav-link{padding-inline:7px!important;font-size:.76rem!important}
  .main-nav .nav-cta{min-width:102px;padding-inline:8px;font-size:.78rem}
}

/* SECTION 49 • HOMEPAGE HERO SIMPLIFICATION + RUDRY CROSS-FADE • 08 SEP 2026 11:46 BST */
.hero{overflow:hidden}
.hero-media{overflow:hidden}
.hero-frame{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;will-change:opacity;pointer-events:none}
.hero-frame.is-active{opacity:1}
.hero-sharp-wrap{position:absolute;inset:0}
.hero-sharp{display:block;width:100%;height:100%;object-fit:cover}
.hero-frame[data-frame="1"] .hero-sharp{object-position:center 54%}
.hero-frame[data-frame="2"] .hero-sharp{object-position:center 50%}
.hero-frame[data-frame="3"] .hero-sharp{object-position:center 50%}
.hero-backdrop{display:none}
.hero-media:after{z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(8,19,29,.82) 0%,rgba(8,19,29,.54) 43%,rgba(8,19,29,.10) 76%,rgba(8,19,29,.10) 100%),linear-gradient(0deg,rgba(8,19,29,.48) 0%,transparent 46%)}
.hero-inner{z-index:4;padding-bottom:84px}
.hero h1{font-size:clamp(2.6rem,5.7vw,5rem);max-width:700px}
.hero-copy{max-width:560px;margin:20px 0 0;font-size:clamp(1.02rem,1.7vw,1.18rem)}
.stat strong:before{content:"✓";display:inline-block;margin-right:9px;color:#66e66e;font-family:Arial,sans-serif;font-size:.72em;font-weight:900;vertical-align:.08em;text-shadow:0 0 10px rgba(102,230,110,.18)}

@media(max-width:900px){
  .hero-inner{padding-bottom:58px}
  .hero h1{font-size:clamp(2.45rem,9vw,4rem)}
  .hero-copy{margin-top:16px}
}

@media(max-width:600px){
  .hero{min-height:590px;background:#10202d}
  .hero-frame{overflow:hidden}
  .hero-backdrop{display:block;position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(22px) brightness(.62) saturate(.92);transform:scale(1.06)}
  .hero-sharp-wrap{inset:auto 0 auto 0;top:34%;width:100%;aspect-ratio:4/3;transform:translateY(-50%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 92%,transparent 100%)}
  .hero-sharp{object-fit:contain;object-position:center center!important}
  .hero-media:after{background:linear-gradient(0deg,rgba(8,19,29,.91) 0%,rgba(8,19,29,.68) 31%,rgba(8,19,29,.18) 62%,rgba(8,19,29,.10) 100%)}
  .hero-inner{padding:58px 20px 45px}
  .hero h1{font-size:clamp(2.28rem,11.5vw,3.6rem);line-height:.95;max-width:100%}
  .hero-copy{font-size:1rem;max-width:330px;margin-top:15px}
  .stat strong:before{margin-right:5px;font-size:.68em}
}

@media(prefers-reduced-motion:reduce){
  .hero-frame{transition:none!important}
}


/* SECTION 50 • FOUR-FRAME DESKTOP HERO + STATIC COMPACT MOBILE HERO • 08 SEP 2026 12:21 BST */
.hero-frame{transition-duration:.95s}
.hero-frame[data-frame="1"] .hero-sharp{object-position:center 52%}
.hero-frame[data-frame="2"] .hero-sharp{object-position:center 55%}
.hero-frame[data-frame="3"] .hero-sharp{object-position:center 54%}
.hero-frame[data-frame="4"] .hero-sharp{object-position:center 52%}

@media(max-width:600px){
  .hero{min-height:0!important;display:block;align-items:initial;background:#10202d}
  .hero-frame{transition:none!important}
  .hero-frame:not([data-frame="1"]){display:none!important}
  .hero-frame[data-frame="1"]{display:block!important;opacity:1!important}
  .hero-backdrop{display:block;position:absolute;inset:-22px;width:calc(100% + 44px);height:calc(100% + 44px);object-fit:cover;filter:blur(22px) brightness(.60) saturate(.92);transform:scale(1.055)}
  .hero-sharp-wrap{inset:auto 0 auto 0!important;top:0!important;width:100%;height:auto;aspect-ratio:4/3;transform:none!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 88%,transparent 100%)}
  .hero-sharp{object-fit:contain!important;object-position:center center!important}
  .hero-media:after{background:linear-gradient(0deg,rgba(8,19,29,.94) 0%,rgba(8,19,29,.78) 30%,rgba(8,19,29,.30) 58%,rgba(8,19,29,.08) 100%)}
  .hero-inner{padding:clamp(220px,66vw,285px) 20px 26px!important;margin:0 auto}
  .hero .eyebrow{margin-bottom:13px}
  .hero h1{font-size:clamp(2.2rem,11vw,3.45rem);line-height:.95}
  .hero-copy{margin:14px 0 0;max-width:335px}
  .stats{margin-top:0}
  .stats-inner{padding-top:0;padding-bottom:0}
  .stat{padding-top:14px;padding-bottom:14px}
}

@media(max-width:360px){
  .hero-inner{padding-top:220px!important;padding-bottom:24px!important}
  .hero h1{font-size:clamp(2.05rem,10.6vw,3rem)}
}

/* SECTION 52 • DESKTOP HERO SCALE + HERO 2 REPLACEMENT • 08 SEP 2026 13:02 BST */
@media(min-width:901px){
  .hero h1{
    font-size:clamp(2.5rem,4.75vw,4.15rem);
    max-width:620px;
    text-shadow:0 2px 22px rgba(20,57,94,.28),0 2px 4px rgba(4,10,18,.42);
  }
}


/* 8 Sep 2026 testimonial + provenance correction */
.quote-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.testimonial-mobile-excerpt,.testimonial-mobile-details{display:none}
.testimonial-full p{margin:.35rem 0 0;color:#253243;line-height:1.55}
.service-detail-card-text-only{display:flex;align-items:stretch}
.service-detail-card-text-only .service-detail-copy{width:100%;min-height:100%;padding:34px}
@media(max-width:700px){
  .testimonial-desktop-full{display:none}
  .testimonial-mobile-excerpt{display:block}
  .testimonial-mobile-details{display:block}
}
@media(max-width:900px){
  .quote-grid{grid-template-columns:1fr}
}


/* 8 Sep 2026 19:29 fencing + fifth testimonial + genuine painting/decorating */
.quote-grid > .quote-card:nth-child(5){grid-column:1/-1;width:min(100%,calc(50% - 7px));justify-self:center}
.project-photo.project-photo-trio{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;padding:8px;min-height:650px;background:#eef1f3}
.project-photo.project-photo-trio img{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:14px}
.project-photo.project-photo-trio img:first-child{grid-row:1/3;object-position:center 52%}
.project-photo.project-photo-trio img:nth-child(2){object-position:center 54%}
.project-photo.project-photo-trio img:nth-child(3){object-position:center 50%}
.painting-photo-pair img:first-child{object-position:center 50%!important}
.painting-photo-pair img:last-child{object-position:center 50%!important}
.service-detail-card#painting-decorating .service-proof-image img{object-position:center 50%}
@media(max-width:900px){.quote-grid > .quote-card:nth-child(5){grid-column:auto;width:100%;max-width:none}.project-photo.project-photo-trio{min-height:720px}}
@media(max-width:600px){.project-photo.project-photo-trio{grid-template-columns:1fr;grid-template-rows:1.05fr .85fr .85fr;min-height:930px;padding:6px;gap:6px}.project-photo.project-photo-trio img:first-child{grid-row:auto}.project-photo.project-photo-trio img{border-radius:12px}.quote-grid > .quote-card:nth-child(5){width:100%}}


/* SECTION 58 • PORTFOLIO IMAGE PRESENTATION + PERMANENT FULL-TESTIMONIAL ACCESS • 08 SEP 2026 20:08 BST */
/* Selected portfolio jobs use natural image proportions: no forced crop. */
.project-row-stacked{grid-template-columns:1fr!important;min-height:0!important}
.project-row-stacked .project-gallery{order:0;width:100%;background:#eef1f3;padding:12px;border-bottom:1px solid rgba(13,27,42,.08)}
.project-row-stacked .project-details{order:1;padding:34px 40px 40px;max-width:980px;width:100%}
.project-gallery-single img,.project-gallery-pair img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;border-radius:14px}
.project-gallery-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.service-detail-card-stacked{grid-column:1/-1;display:grid!important;grid-template-columns:1fr!important}
.service-detail-card-stacked .service-proof-gallery{width:100%;padding:12px;background:#eef1f3;border-bottom:1px solid rgba(13,27,42,.08)}
.service-detail-card-stacked .service-proof-gallery-single img,.service-detail-card-stacked .service-proof-gallery-pair img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;border-radius:14px}
.service-proof-gallery-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.service-detail-card-stacked .service-detail-copy{padding:30px 34px 34px}
/* Home preview: retired recent-fence tile is removed; retained fencing image is not cropped. */
.project-card-no-crop{background:#eef1f3;min-height:300px}
.project-card-no-crop>img{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;object-fit:contain!important;transform:none!important}
.project-card-no-crop:after{background:linear-gradient(0deg,rgba(7,18,28,.88) 0%,rgba(7,18,28,.28) 46%,rgba(7,18,28,0) 68%)}
.project-card-gallery-pair{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#eef1f3}
.project-card-gallery-pair img{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}
/* Permanent testimonial rule: full approved wording stays accessible. */
.testimonial-details summary{cursor:pointer;display:inline-flex;align-items:center;min-height:44px;font-weight:850;color:var(--navy);list-style:none}
.testimonial-details summary::-webkit-details-marker{display:none}
.testimonial-details .summary-close{display:none}
.testimonial-details[open] .summary-open{display:none}
.testimonial-details[open] .summary-close{display:inline}
.testimonial-details[open] .testimonial-full{animation:none}
@media(max-width:700px){
  .project-row-stacked .project-details{padding:26px 20px 30px}
  .project-gallery-swipe,.service-proof-gallery-pair.project-gallery-swipe{display:flex!important;overflow-x:auto;gap:10px;padding:10px!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
  .project-gallery-swipe img,.service-proof-gallery-pair.project-gallery-swipe img{flex:0 0 88%;width:88%!important;scroll-snap-align:start;height:auto!important;object-fit:contain!important}
  .project-gallery-swipe::-webkit-scrollbar{height:5px}
  .service-detail-card-stacked .service-detail-copy{padding:24px 20px 28px}
  .project-card-gallery-pair{grid-template-columns:1fr 1fr}
}

/* 2026-09-08 20:45 featured portfolio lock */
.expanded-project-grid>.project-card-no-crop>img{display:block;position:relative!important;width:100%!important;height:auto!important;object-fit:contain!important;background:#eef1f3;}
.expanded-project-grid>.project-card-no-crop{height:auto;min-height:340px;background:#eef1f3;}
.expanded-project-grid>.project-card-no-crop .project-meta{position:absolute;}
@media(max-width:600px){.expanded-project-grid>.project-card-no-crop{min-height:300px}.expanded-project-grid>.project-card-no-crop>img{height:auto!important}}


/* 2045 FINAL • JIB-038 HOMEPAGE HERO FIRST-FRAME LOCK */
@media (min-width:761px){
  .hero-frame[data-frame="1"] .hero-backdrop{display:block;position:absolute;inset:-28px;width:calc(100% + 56px);height:calc(100% + 56px);object-fit:cover;filter:blur(26px) brightness(.48) saturate(.9);transform:scale(1.07)}
  .hero-frame[data-frame="1"] .hero-sharp-wrap{left:auto;right:2.5%;top:0;bottom:0;width:64%;height:100%}
  .hero-frame[data-frame="1"] .hero-sharp{object-fit:contain!important;object-position:center center!important}
}


/* SECTION 62 • PLASTERING TESTIMONIAL FULL-TEXT CONTROL • 09 SEP 2026 07:01 BST */
/* The supplied full plastering testimonial must be expandable on mobile, iPad and desktop. */
.testimonial-plastering-details{display:block!important}
.testimonial-plastering-details summary{margin-top:2px}

/* SECTION 63 • HEADER / NAVIGATION HIERARCHY LOCK • 09 SEP 2026 07:37 BST */
/* Mobile drawer: contact first, then services/areas, then quiet exploration. */
.mobile-menu-grid{gap:0}
.mobile-menu .mobile-primary-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  padding:0!important;
  margin:0!important;
  border-bottom:0!important;
}
.mobile-menu .mobile-primary-actions>a{
  width:100%;
  min-height:54px;
  padding:12px 15px;
  border-radius:14px;
  font-weight:850;
  letter-spacing:.005em;
}
.mobile-quote{
  color:var(--navy)!important;
  border:1px solid #ffc15c!important;
  background:linear-gradient(105deg,var(--quote-orange-1),var(--quote-orange-2))!important;
  box-shadow:0 7px 18px rgba(255,138,0,.16),inset 0 1px 0 rgba(255,255,255,.35)!important;
}
.mobile-services{
  color:#fff!important;
  border:1px solid rgba(101,142,181,.65)!important;
  background:linear-gradient(105deg,#173451,#0D2740)!important;
  box-shadow:0 7px 18px rgba(13,39,64,.14)!important;
}
.mobile-areas{
  color:#fff!important;
  border:1px solid rgba(194,204,214,.75)!important;
  background:linear-gradient(105deg,#7D8D9D,#5E7184)!important;
  box-shadow:0 7px 18px rgba(64,87,110,.14)!important;
}
.mobile-menu-divider{
  height:1px;
  margin:15px 2px 10px;
  background:rgba(13,27,42,.12);
}
.mobile-secondary-nav{display:grid;grid-template-columns:1fr;gap:2px}
.mobile-secondary-nav>a{
  min-height:49px!important;
  padding:11px 13px!important;
  border-radius:10px!important;
  color:var(--navy)!important;
  background:transparent!important;
  font-weight:800!important;
}
.mobile-secondary-nav>a:hover,.mobile-secondary-nav>a:focus-visible{background:var(--warm)!important}

/* Desktop: white row = navigation only, dark row = actions/trust only. */
@media(min-width:901px){
  .brand-row{
    max-width:min(90vw,1380px)!important;
    padding-inline:10px!important;
    gap:28px!important;
  }
  .main-nav{
    flex:1 1 auto;
    justify-content:flex-end;
    gap:10px!important;
  }
  .main-nav>a{
    min-height:48px!important;
    padding:10px 20px!important;
    font-size:.96rem!important;
  }
  .main-nav>a[href="showcase.html"],
  .main-nav>a[href="services.html"],
  .main-nav>a[href="about.html"]{
    min-width:116px;
  }
  .main-nav .areas-nav-link{min-width:154px;padding-inline:20px!important;font-size:.94rem!important}
  .main-nav>a[href="contact.html"]{min-width:116px}
  .contact-rail{
    width:min(90vw,1380px);
    max-width:none!important;
    display:grid!important;
    grid-template-columns:minmax(210px,1.45fr) minmax(165px,1.18fr) minmax(145px,1fr) minmax(132px,.9fr) minmax(158px,1.08fr);
    gap:10px!important;
    padding:9px 0!important;
    overflow:visible!important;
  }
  .contact-rail .rail-link{
    width:100%;
    justify-content:center;
    min-height:46px;
    padding-inline:16px;
  }
}

/* SECTION 64 • HERO PROOF STRIP / TRUST BANNER • 09 SEP 2026 07:52 BST */
.stat-mobile-label{display:none!important}
@media(max-width:600px){
  .stat-desktop-strong,.stat-desktop-sub{display:none!important}
  .stat-mobile-label{
    display:block!important;
    color:var(--gold-2)!important;
    font-family:Georgia,serif!important;
    font-size:clamp(.94rem,4.35vw,1.3rem)!important;
    line-height:1.05!important;
    white-space:nowrap;
    margin:0!important;
  }
  .stat-mobile-label:before{
    content:"✓";
    display:inline-block;
    margin-right:5px;
    color:#66e66e;
    font-family:Arial,sans-serif;
    font-size:.68em;
    font-weight:900;
    vertical-align:.08em;
    text-shadow:0 0 10px rgba(102,230,110,.18);
  }
  .stat{display:flex;align-items:center;justify-content:center;min-width:0;padding-inline:4px!important}
}
@media(max-width:345px){
  .stat-mobile-label{font-size:.86rem!important;letter-spacing:-.02em}
}

/* SECTION 65 • ADDITIVE HOMEPAGE PROOF • 09 SEP 2026 08:08 BST */
/* New lower-homepage pair sits together without disturbing the established project order above it. */
.expanded-project-grid>.homepage-proof-addition{
  grid-column:span 6!important;
  min-height:340px!important;
  height:auto!important;
  background:#eef1f3;
}
.expanded-project-grid>.homepage-proof-addition>img{
  display:block;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  background:#eef1f3;
}
.expanded-project-grid>.homepage-proof-addition .project-meta{position:absolute}
@media(max-width:900px){
  .expanded-project-grid>.homepage-proof-addition{grid-column:span 6!important;min-height:320px!important}
}
@media(max-width:600px){
  .expanded-project-grid>.homepage-proof-addition{grid-column:1!important;min-height:300px!important}
}


/* SECTION 66 • MOBILE STICKY ACTION RAIL • WHATSAPP + COMPACT CALL • 09 SEP 2026 09:19 BST */
.mobile-contact-rail{display:none}
.mobile-whatsapp{display:none}

/* SECTION 67 • MOBILE WHATSAPP PRE-FILLED ENQUIRY • 09 SEP 2026 09:27 BST */
/* WhatsApp destination + exact prefilled copy are carried in the mobile-only hrefs. */

/* SECTION 68 • CONTACT / QUOTE SPLIT • 09 SEP 2026 09:32 BST */
.contact-page-hero .container{grid-template-columns:minmax(0,1fr)!important;max-width:980px}
#enquiry{scroll-margin-top:150px}

@media(max-width:600px){
  /* Desktop/tablet rail is frozen and removed only from phone presentation. */
  .desktop-contact-rail{display:none!important}
  .mobile-contact-rail{
    display:grid!important;
    grid-template-columns:minmax(50px,.9fr) minmax(78px,1.35fr) minmax(56px,1fr) 42px 42px;
    align-items:stretch;
    gap:5px;
    width:100%;
    padding:7px 8px;
    margin:0;
  }
  .mobile-sticky-action{
    min-width:0;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    text-decoration:none;
    font-family:Arial,sans-serif;
    font-size:.70rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.015em;
    white-space:nowrap;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
    overflow:hidden;
  }
  .mobile-sticky-call{
    color:#041108!important;
    border-color:rgba(157,230,71,.92)!important;
    background:linear-gradient(100deg,#e6df22 0%,#b8dc2e 32%,#78d644 62%,#3bd878 100%)!important;
  }
  .mobile-sticky-whatsapp{
    color:#fff!important;
    border-color:#43c886!important;
    background:linear-gradient(105deg,#238f61,#126b45)!important;
    box-shadow:0 0 13px rgba(31,143,95,.20),inset 0 1px 0 rgba(255,255,255,.18)!important;
  }
  .mobile-sticky-quote{
    color:var(--navy)!important;
    border-color:#ffc15c!important;
    background:linear-gradient(105deg,var(--quote-orange-1),var(--quote-orange-2))!important;
  }
  .mobile-sticky-instagram{
    color:var(--navy)!important;
    border-color:#ffe17a!important;
    background:linear-gradient(105deg,#ffe766,#ffbd38)!important;
    padding:0!important;
  }
  .mobile-sticky-facebook{
    color:#fff!important;
    border-color:#62a5fb!important;
    background:#1877F2!important;
    padding:0!important;
  }
  .mobile-sticky-instagram .icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9}
  .mobile-sticky-facebook .facebook-glyph{font-size:1.45rem;font-weight:900;line-height:1;transform:translateY(1px)}

  /* Phone drawer gets the same mobile-only WhatsApp route after Call. */
  .mobile-menu .mobile-whatsapp{
    display:flex!important;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    min-height:54px;
    padding:12px 15px;
    border-radius:14px;
    color:#fff!important;
    border:1px solid #43c886!important;
    background:linear-gradient(105deg,#238f61,#126b45)!important;
    box-shadow:0 7px 18px rgba(31,143,95,.17),inset 0 1px 0 rgba(255,255,255,.16)!important;
    font-weight:850;
    letter-spacing:.005em;
    text-decoration:none;
  }
  #enquiry{scroll-margin-top:132px}
}

@media(max-width:350px){
  .mobile-contact-rail{
    grid-template-columns:minmax(45px,.82fr) minmax(74px,1.32fr) minmax(52px,.94fr) 40px 40px;
    gap:4px;
    padding-inline:6px;
  }
  .mobile-sticky-action{font-size:.64rem;letter-spacing:0}
}


/* SECTION 69 • MOBILE WHATSAPP ICON + TRUST-STRIP VAT FIT • 09 SEP 2026 10:05 BST */
@media(max-width:600px){
  /* WhatsApp: retain exact label, add compact white recognisable icon without widening the rail. */
  .mobile-sticky-whatsapp{
    gap:5px!important;
    padding-inline:7px!important;
  }
  .mobile-sticky-whatsapp .whatsapp-icon{
    width:15px!important;
    height:15px!important;
    flex:0 0 15px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.7!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .mobile-sticky-whatsapp-label{
    min-width:0;
    overflow:hidden;
    text-overflow:clip;
    white-space:nowrap;
  }

  /* Trust strip: true 3-column mobile grid, all proof points contained at once. */
  .stats-inner{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    padding-inline:0!important;
    overflow:hidden!important;
  }
  .stat{
    min-width:0!important;
    padding:14px 2px!important;
    text-align:center!important;
    overflow:hidden!important;
  }
  .stat-mobile-label{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(.78rem,3.45vw,1rem)!important;
    line-height:1.08!important;
    letter-spacing:-.01em!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    text-align:center!important;
  }
  .stat:nth-child(1) .stat-mobile-label,
  .stat:nth-child(2) .stat-mobile-label{
    white-space:nowrap!important;
  }
  .stat:nth-child(3) .stat-mobile-label{
    white-space:normal!important;
  }
  .stat-mobile-label:before{
    margin-right:4px!important;
  }
}

@media(max-width:350px){
  .mobile-sticky-whatsapp{gap:4px!important;padding-inline:5px!important}
  .mobile-sticky-whatsapp .whatsapp-icon{width:13px!important;height:13px!important;flex-basis:13px!important}
  .stat{padding-inline:1px!important}
  .stat-mobile-label{font-size:.76rem!important;line-height:1.05!important;letter-spacing:-.015em!important}
  .stat-mobile-label:before{margin-right:3px!important}
}

/* SECTION 70 • MOBILE HERO TEXT CENTRING LOCK • 09 SEP 2026 10:22 BST */
@media(max-width:600px){
  .hero-inner{
    text-align:center!important;
  }
  .hero .eyebrow{
    display:inline-flex!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hero h1{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hero-copy{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* SECTION 71 • MOBILE PATIO / LANDSCAPING DUPLICATION FIX • 09 SEP 2026 10:26 BST */
@media(max-width:600px){
  /* Retain one JIB-010 proof card on mobile; Patios & Paving remains available as a selector route. */
  #patios-paving{
    display:none!important;
  }
}



/* SECTION 72 • SHOWCASE DE-DUPLICATION + SMARTER GRID + MOBILE HERO LABEL • 09 SEP 2026 10:57 BST */
.eyebrow-mobile-label{display:none}
.service-anchor-alias{display:block;height:0;scroll-margin-top:160px;pointer-events:none}

/* Desktop Showcase becomes a balanced editorial two-column portfolio. One real project = one card. */
@media(min-width:901px){
  .project-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
    align-items:stretch!important;
  }
  .project-list>.project-row{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
  }
  .project-list>#full-renovation{
    grid-column:1/-1!important;
  }
  .project-list>.project-row .project-photo,
  .project-list>.project-row .project-gallery{
    order:0!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:10px!important;
    background:#eef1f3!important;
    border-bottom:1px solid rgba(13,27,42,.08)!important;
  }
  .project-list>.project-row .project-photo img,
  .project-list>.project-row .project-gallery img{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    max-height:430px!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:14px!important;
    transform:none!important;
  }
  .project-list>#full-renovation .project-gallery img{
    max-height:560px!important;
  }
  .project-list>.project-row .project-gallery-pair{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:start!important;
  }
  .project-list>.project-row .project-details{
    order:1!important;
    padding:28px 30px 32px!important;
    max-width:none!important;
    width:100%!important;
    flex:1 1 auto!important;
    justify-content:flex-start!important;
  }
  .project-list>.project-row .project-details h2{
    font-size:clamp(1.75rem,2.25vw,2.45rem)!important;
  }
  .project-list>#full-renovation .project-details{
    padding:34px 40px 38px!important;
  }
  .project-list>#full-renovation .project-details h2{
    font-size:clamp(2.1rem,3vw,3rem)!important;
  }
  #fencing-retaining-wall{
    grid-column:auto!important;
  }
}

/* Mobile hero eyebrow: centred text only, no leading rule and no Cardiff. */
@media(max-width:600px){
  .hero .eyebrow:before{display:none!important;content:none!important}
  .eyebrow-desktop-label{display:none!important}
  .eyebrow-mobile-label{display:inline!important}
  .hero .eyebrow{
    width:100%!important;
    justify-content:center!important;
    gap:0!important;
  }
  #patios-paving.service-anchor-alias{
    display:block!important;
    height:0!important;
    scroll-margin-top:145px!important;
  }
}


/* SECTION 73 • DESKTOP HERO TOP LABEL • SIMPLIFY + ELECTRIC-BLUE ACCENT • 09 SEP 2026 13:00 BST */
/* Desktop / larger screens only. Mobile remains exactly as approved in Section 72. */
.eyebrow-desktop-label .eyebrow-justin{
  color:var(--gold-2);
}
.eyebrow-desktop-label .eyebrow-inker{
  color:#45c9ff;
  text-shadow:0 0 10px rgba(69,201,255,.18);
}
@media(min-width:601px){
  .hero .eyebrow:before{
    display:none!important;
    content:none!important;
  }
  .hero .eyebrow{
    gap:0!important;
  }
}


/* SECTION 74 • DESKTOP HEADER BRAND CLUSTER + NAVIGATION ORDER LOCK • 09 SEP 2026 13:17 BST */
/* Desktop/larger-screen header only. Mobile system remains frozen. */
@media(min-width:1101px){
  .brand-row{
    max-width:min(90vw,1380px)!important;
    gap:30px!important;
    padding-inline:8px!important;
  }
  .brand-zone{
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
    flex:0 0 auto!important;
    min-width:0!important;
  }
  .brand-link{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:5px 9px 5px 6px!important;
    border:1px solid rgba(69,201,255,.34)!important;
    border-radius:16px!important;
    background:transparent!important;
    box-shadow:0 0 15px rgba(69,201,255,.12), inset 0 0 0 1px rgba(255,255,255,.35)!important;
  }
  .brand-logo{
    width:245px!important;
    max-height:70px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .experience-badge-desktop{
    width:228px!important;
    max-height:62px!important;
    flex:0 0 auto!important;
  }
  .main-nav{
    flex:1 1 auto!important;
    justify-content:flex-end!important;
    gap:9px!important;
    min-width:0!important;
  }
  .main-nav>a{
    min-height:48px!important;
  }
}
/* Compact desktop/tablet-landscape safety: retain new order, avoid overflow, no mobile changes. */
@media(min-width:901px) and (max-width:1100px){
  .brand-row{
    max-width:96vw!important;
    gap:12px!important;
    padding-inline:4px!important;
  }
  .brand-zone{
    gap:8px!important;
    flex:0 0 auto!important;
  }
  .brand-link{
    padding:3px 6px 3px 4px!important;
    border:1px solid rgba(69,201,255,.28)!important;
    border-radius:13px!important;
    background:transparent!important;
    box-shadow:0 0 11px rgba(69,201,255,.09)!important;
  }
  .brand-logo{width:184px!important;max-height:57px!important}
  .experience-badge-desktop{width:154px!important;max-height:49px!important}
  .main-nav{gap:3px!important;justify-content:flex-end!important;min-width:0!important}
  .main-nav>a{min-width:0!important;min-height:42px!important;padding:7px 8px!important;font-size:.78rem!important;white-space:nowrap!important}
  .main-nav>a[href="showcase.html"],
  .main-nav>a[href="services.html"],
  .main-nav>a[href="about.html"]{min-width:76px!important}
  .main-nav .areas-nav-link{min-width:112px!important;padding-inline:8px!important;font-size:.76rem!important}
  .main-nav>a[href="contact.html"]{min-width:80px!important}
}


/* SECTION 75 • DESKTOP HOMEPAGE PROOF SYMMETRY + BRAND CAPSULE LOCK • 09 SEP 2026 14:03 BST */
/* HARD SCOPE: desktop homepage only. Mobile and Showcase remain frozen. */
@media(min-width:901px){
  /* One Interior Painting & Decorating project, presented as a deliberate 50/50 paired gallery. */
  .home-page .expanded-project-grid>a[href="showcase.html#painting-decorating-project"]{
    grid-column:1/-1!important;
    order:20!important;
    min-height:430px!important;
    height:430px!important;
  }
  .home-page .expanded-project-grid>a[href="showcase.html#painting-decorating-project"] .project-card-gallery-pair{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .home-page .expanded-project-grid>a[href="showcase.html#painting-decorating-project"] .project-card-gallery-pair img{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    object-fit:cover!important;
    object-position:center center!important;
  }

  /* Matched lower pair: Chemical DPC left, Lisvane tiling right. DOM order is preserved for mobile. */
  .home-page .expanded-project-grid>a[href="showcase.html#chemical-dpc"]{
    grid-column:span 6!important;
    order:21!important;
    min-height:430px!important;
    height:430px!important;
    background:#eef1f3!important;
  }
  .home-page .expanded-project-grid>a[href="showcase.html#lisvane-tiling"]{
    grid-column:span 6!important;
    order:22!important;
    min-height:430px!important;
    height:430px!important;
    background:#eef1f3!important;
  }
  .home-page .expanded-project-grid>a[href="showcase.html#chemical-dpc"]>img,
  .home-page .expanded-project-grid>a[href="showcase.html#lisvane-tiling"]>img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#eef1f3!important;
    transform:none!important;
  }
  .home-page .expanded-project-grid>a[href="showcase.html#chemical-dpc"] .project-meta,
  .home-page .expanded-project-grid>a[href="showcase.html#lisvane-tiling"] .project-meta{
    position:absolute!important;
  }

  /* Homepage header brand capsule: centre the logo and strengthen the premium electric-blue edge only. */
  .home-page .brand-link{
    width:232px!important;
    min-height:64px!important;
    padding:5px 8px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1.5px solid rgba(66,205,255,.82)!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.10)!important;
    box-shadow:
      0 0 0 1px rgba(66,205,255,.18),
      0 0 19px rgba(66,205,255,.24),
      inset 0 0 0 1px rgba(255,255,255,.34)!important;
  }
  .home-page .brand-logo{
    width:205px!important;
    max-height:58px!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .home-page .experience-badge-desktop{
    width:228px!important;
    max-height:62px!important;
  }
}

/* Compact desktop / tablet-landscape safety. Still not mobile. */
@media(min-width:901px) and (max-width:1100px){
  .home-page .brand-link{
    width:160px!important;
    min-height:52px!important;
    padding:3px 6px!important;
    border:1.5px solid rgba(66,205,255,.76)!important;
    border-radius:13px!important;
    box-shadow:0 0 0 1px rgba(66,205,255,.14),0 0 13px rgba(66,205,255,.20)!important;
  }
  .home-page .brand-logo{
    width:145px!important;
    max-height:47px!important;
    object-position:center center!important;
  }
  .home-page .experience-badge-desktop{
    width:154px!important;
    max-height:49px!important;
  }
  .home-page .expanded-project-grid>a[href="showcase.html#painting-decorating-project"],
  .home-page .expanded-project-grid>a[href="showcase.html#chemical-dpc"],
  .home-page .expanded-project-grid>a[href="showcase.html#lisvane-tiling"]{
    min-height:380px!important;
    height:380px!important;
  }
}


/* SECTION 77 • SITE-WIDE DESKTOP HEADER • FIXED BRAND POSITION + NO PAGE-TO-PAGE SHIFT • 09 SEP 2026 15:00 BST
   Canonical reference = approved Homepage header. Desktop/larger screens only. Mobile remains frozen. */
@media(min-width:1101px){
  /* Identical canonical brand-cluster geometry on every page. */
  .brand-row{
    max-width:min(90vw,1380px)!important;
    gap:30px!important;
    padding-inline:8px!important;
  }
  .brand-zone{
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
    flex:0 0 auto!important;
    min-width:0!important;
  }
  .brand-link{
    width:232px!important;
    min-height:64px!important;
    padding:5px 8px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1.5px solid rgba(66,205,255,.82)!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.10)!important;
    box-shadow:
      0 0 0 1px rgba(66,205,255,.18),
      0 0 19px rgba(66,205,255,.24),
      inset 0 0 0 1px rgba(255,255,255,.34)!important;
  }
  .brand-logo{
    width:205px!important;
    max-height:58px!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .experience-badge-desktop{
    width:228px!important;
    max-height:62px!important;
    flex:0 0 auto!important;
  }
  .main-nav{
    flex:1 1 auto!important;
    justify-content:flex-end!important;
    gap:9px!important;
    min-width:0!important;
  }
}

/* Compact desktop / tablet-landscape uses the Homepage's approved compact geometry. */
@media(min-width:901px) and (max-width:1100px){
  .brand-row{
    max-width:96vw!important;
    gap:12px!important;
    padding-inline:4px!important;
  }
  .brand-zone{
    gap:8px!important;
    flex:0 0 auto!important;
    min-width:0!important;
  }
  .brand-link{
    width:160px!important;
    min-height:52px!important;
    padding:3px 6px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1.5px solid rgba(66,205,255,.76)!important;
    border-radius:13px!important;
    background:rgba(255,255,255,.10)!important;
    box-shadow:0 0 0 1px rgba(66,205,255,.14),0 0 13px rgba(66,205,255,.20)!important;
  }
  .brand-logo{
    width:145px!important;
    max-height:47px!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .experience-badge-desktop{
    width:154px!important;
    max-height:49px!important;
    flex:0 0 auto!important;
  }
  .main-nav{
    gap:3px!important;
    justify-content:flex-end!important;
    min-width:0!important;
  }
}


/* SECTION 78 • SIX-TESTIMONIAL SYSTEM • RESPONSIVE SYMMETRY + READ-FULL LOCK • 09 SEP 2026 15:42 BST */
/* Six approved testimonials. Desktop/iPad 2 x 3; mobile 1 x 6. Long reviews use excerpt + accessible expansion. */
.testimonials .quote-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.testimonials .quote-card{
  width:100%!important;
  max-width:none!important;
  grid-column:auto!important;
  justify-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.testimonials .testimonial-long .testimonial-desktop-full{
  display:none!important;
}
.testimonials .testimonial-long .testimonial-mobile-excerpt{
  display:block!important;
}
.testimonials .testimonial-long .testimonial-details{
  display:block!important;
  margin-top:auto!important;
}
.testimonials .testimonial-short .testimonial-desktop-full{
  display:block!important;
}
.testimonials .testimonial-short .testimonial-mobile-excerpt,
.testimonials .testimonial-short .testimonial-details{
  display:none!important;
}
.testimonials .testimonial-details[open]{
  margin-top:18px!important;
}
.testimonials .testimonial-full{
  overflow:visible!important;
  max-height:none!important;
}
.testimonials .testimonial-full p:last-child{margin-bottom:0}
@media(min-width:701px){
  .testimonials .quote-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .testimonials .quote-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .testimonials .quote-card{
    padding:28px 22px!important;
  }
  .testimonials .quote-card blockquote{
    font-size:1.13rem!important;
    line-height:1.48!important;
  }
  .testimonials .testimonial-details summary{
    min-height:46px!important;
  }
}
