
:root{
  --green:#17777b;
  --green-dark:#126d70;
  --dark:#202020;
  --muted:#6e6e6e;
  --soft:#e6e6e6;
  --edge:2vw;
  --max:min(1600px,calc(100vw - (var(--edge) * 2)));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--dark);font-family:'Manrope','Helvetica Neue',Arial,sans-serif;font-size:18px;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--green);text-underline-offset:4px;text-decoration-thickness:1px}
img{max-width:100%}.wrap{width:var(--max);max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}.site-header{background:#fff;position:sticky;top:0;z-index:50;border:0}.navwrap{height:148px;display:flex;align-items:center;justify-content:space-between;gap:48px}.logo{text-decoration:none;color:var(--green);font-size:19px;line-height:1;letter-spacing:.01em;white-space:nowrap;display:inline-flex;gap:4px;align-items:baseline}.logo .my{font-weight:400;text-transform:lowercase}.logo span:last-child{font-weight:600;letter-spacing:.015em}.main-nav{display:flex;gap:36px;align-items:center;font-weight:700;font-size:17px;letter-spacing:.01em;white-space:nowrap}.main-nav a{display:inline-block;text-decoration:none;color:var(--green);padding:7px 0 5px;border-bottom:2px solid transparent;transition:border-color .2s ease,background .2s ease,color .2s ease}.main-nav a.active,.main-nav a:hover{border-bottom-color:var(--green)}.nav-item{position:relative}.nav-item:last-child>a{background:var(--green-dark);color:#fff;padding:17px 25px;border-bottom:0}.nav-item:last-child>a:hover{background:#0e5f62}.dropdown{display:none;position:absolute;top:100%;left:-18px;background:#fff;min-width:230px;padding:18px 20px;box-shadow:0 18px 38px rgba(0,0,0,.10);z-index:60}.has-menu:hover .dropdown,.has-menu:focus-within .dropdown{display:grid;gap:9px}.dropdown a{font-size:15px;color:var(--green);font-weight:600}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:30px;height:2px;background:var(--green);margin:7px 0}.hero{position:relative;width:var(--max);max-width:var(--max);height:min(68vw,660px);min-height:520px;margin:0 auto 70px;overflow:hidden;background:#eee}.hero img{width:100%;height:100%;display:block;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.02),rgba(0,0,0,.10))}.hero h1{position:absolute;z-index:2;left:34px;bottom:84px;margin:0;color:#fff;font-size:clamp(30px,3.1vw,48px);line-height:1.18;font-weight:400;letter-spacing:-.02em;text-shadow:0 2px 16px rgba(0,0,0,.32);max-width:82%}.homehero h1{font-size:clamp(30px,3.2vw,48px);bottom:90px}.content-block{padding-top:38px;padding-bottom:78px}.content-block>h1,.top-title h1{color:var(--green);font-weight:400;font-size:31px;margin:0 0 46px;line-height:1.25}.content-block h2{color:var(--green);font-size:31px;line-height:1.25;font-weight:400;letter-spacing:-.015em;margin:0 0 34px;max-width:1160px}.content-block h3{font-size:26px;font-weight:400;line-height:1.3;margin:42px 0 25px}.content-block h4{font-size:20px;margin:22px 0 8px}.content-block p{max-width:1280px;margin-top:0;margin-bottom:22px}.home-intro>p{font-size:18px;max-width:1280px;margin-bottom:70px}.home-intro h2{color:#222;font-size:30px;margin-bottom:50px}.btn{display:inline-block;background:var(--green-dark);color:#fff;text-decoration:none;padding:14px 22px;margin-top:18px;border:0;font-size:18px;line-height:1.2}.btn:hover{background:#0e5f62}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:42px}.two-col article h3{margin-top:0;font-size:20px}.two-col img{width:100%;height:360px;object-fit:cover;display:block;margin:0 0 36px;background:#ddd}.two-col p,.two-col li{font-size:18px}.work-band{width:var(--max);max-width:var(--max);background:var(--green);color:#fff;margin:20px auto 34px;padding:58px 34px 72px;text-align:center}.work-band .wrap{width:100%;max-width:100%;}.work-band h3{font-weight:400;font-size:21px;margin:0 0 36px}.work-band p{margin-left:auto;margin-right:auto;max-width:1280px}.work-band a{color:#fff}.small-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:46px}.small-gallery img{width:100%;height:230px;object-fit:cover;display:block}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 24px;margin-top:58px}.service-grid figure{margin:0}.service-grid img{width:100%;height:330px;object-fit:cover;display:block}.service-grid figcaption{font-size:18px;margin-top:16px}.help h2{text-align:center;color:#222;margin-bottom:54px}.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.quotes blockquote{margin:0;background:#e5e5e5;padding:34px 38px;font-size:18px;line-height:1.55}.accordion details{border-top:1px solid #b7b7b7;padding:18px 0}.accordion details:last-child{border-bottom:1px solid #b7b7b7}.accordion summary{list-style:none;color:var(--green);font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:'+';flex:0 0 auto;display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--green);border-radius:50%;font-weight:400;line-height:1}.accordion details[open] summary:after{content:'−'}.accordion p{color:#777;margin:16px 50px 6px 0}.masonry{columns:3 300px;column-gap:24px;margin-top:44px}.masonry img{width:100%;display:block;margin:0 0 24px;break-inside:avoid;object-fit:cover}.story figure{margin:0}.story figure img{width:100%;height:500px;object-fit:cover;filter:grayscale(1);display:block}.story figcaption{margin-top:16px}.green-hero,.green-strip{width:var(--max);max-width:var(--max);margin:0 auto 72px;background-color:#203d40;color:#fff;background-image:radial-gradient(circle at 18px 18px,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(20,64,68,.90),rgba(20,64,68,.90));background-size:34px 34px,auto;padding:96px 34px}.green-strip{padding:32px 34px}.green-hero .wrap,.green-strip .wrap{width:100%;max-width:100%}.advice-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:84px}.advice-grid h1{font-size:31px;line-height:1.25;font-weight:400;margin:0;color:#fff}.advice-grid a{color:#fff}.advice-grid hr{border:0;border-top:2px solid #fff;margin:45px 0}.centered{text-align:center}.faq-search{background:var(--green);color:#fff;padding:42px 46px;margin:25px 0 44px}.faq-search h2{color:#fff;margin-top:0;font-size:30px}.faq-search input{width:100%;padding:19px 18px;border:0;font:inherit;font-size:15px;text-transform:uppercase;letter-spacing:.06em}.legal{font-size:15px;max-width:900px;line-height:1.45}.legal h1{text-align:center;color:#222;font-size:24px;font-weight:400}.legal strong{font-weight:700}.site-footer{margin-top:64px;padding:55px 0 42px;background:#fff;color:#222}.site-footer h2{font-size:20px;font-weight:400;margin:0 0 24px}.site-footer p{max-width:1160px}.cookie-link{border:0;background:transparent;text-decoration:underline;color:#555;padding:8px 0;font:inherit;font-size:13px}.enquiry h3{font-size:18px;border-bottom:2px solid #000;padding-bottom:12px;margin:48px 0 30px}.enquiry label{display:block;margin-bottom:24px}.enquiry input,.enquiry textarea,.enquiry select{display:block;width:100%;border:2px solid #111;padding:16px;font:inherit;margin-top:7px;background:#f8f8f8;border-radius:0}.enquiry textarea{min-height:130px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery-note{font-size:14px;color:#666}.full-bleed-section{width:var(--max);margin-left:auto;margin-right:auto}.copy-wide{max-width:1220px}@media(min-width:1500px){.hero{height:720px}.service-grid img{height:360px}.small-gallery img{height:260px}.two-col img{height:420px}}@media(max-width:900px){:root{--edge:24px}body{font-size:16px}.navwrap{height:96px}.main-nav{position:fixed;left:0;right:0;top:96px;background:#fff;display:grid;gap:12px;padding:24px;transform:translateY(-140%);transition:.25s;box-shadow:0 16px 30px rgba(0,0,0,.08)}.main-nav.open{transform:none}.menu-toggle{display:block}.dropdown{display:grid;position:static;box-shadow:none;padding:4px 0 0 18px}.hero{height:64vh;min-height:420px;margin-bottom:38px}.hero h1{font-size:29px;left:26px;bottom:48px}.two-col,.quotes,.advice-grid,.service-grid{grid-template-columns:1fr}.small-gallery{grid-template-columns:repeat(2,1fr)}.service-grid img{height:250px}.field-row{grid-template-columns:1fr}.work-band{padding-left:24px;padding-right:24px}.main-nav{font-size:16px}.logo{font-size:17px}}


/* v4: Squarespace 7.1 / my INTERIOR EXPERT fidelity pass */
body{font-family:'Manrope','Helvetica Neue',Arial,sans-serif;font-weight:400;font-size:18px;line-height:1.55;color:#222;background:#fff;letter-spacing:0;-webkit-font-smoothing:antialiased}
.wrap{width:min(1600px,96vw);max-width:min(1600px,96vw)}
.site-header{position:sticky;top:0;background:#fff;z-index:1000;box-shadow:none}
.navwrap{width:96vw;max-width:1600px;height:115px;padding:0;margin:auto;gap:4vw}
.logo{color:#17777b;font-size:18px;font-weight:400;letter-spacing:.01em;text-transform:none}.logo span:last-child{font-weight:400;letter-spacing:.01em}.logo .my{font-weight:400}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:34px;font-size:17px;font-weight:700;line-height:1;letter-spacing:.02em}.main-nav a,.header-nav-folder-title{color:#17777b;text-decoration:none}.main-nav a{padding:7px 0 4px;border-bottom:2px solid transparent}.main-nav a.active,.main-nav a:hover{border-bottom-color:#17777b}.nav-item:last-child>a{background:#126d70;color:#fff;padding:19px 26px;border:0}.nav-item:last-child>a:hover{background:#126d70;filter:brightness(.95)}
.dropdown{top:calc(100% + 6px);left:-18px;background:#fff;padding:18px 22px;box-shadow:0 14px 34px rgba(0,0,0,.10)}.dropdown a{font-size:16px;font-weight:400;border:0!important;padding:6px 0;color:#17777b}
.hero{width:96vw;max-width:1600px;height:calc(85vh - 115px);min-height:520px;max-height:760px;margin:0 auto 70px;background:#ddd}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{background:#000;opacity:.17}.hero h1{left:4.6%;bottom:13%;font-size:clamp(34px,3.2vw,52px);line-height:1.1;font-weight:400;letter-spacing:-.02em;max-width:1100px;text-shadow:none}.homehero h1{font-size:clamp(34px,3.15vw,52px);bottom:13%}
.content-block{padding-top:calc(25vmax / 10);padding-bottom:calc(25vmax / 10)}.home-intro{padding-top:calc(25vmax / 10);padding-bottom:calc(25vmax / 10)}.home-intro>p{max-width:1500px;margin:0 0 86px;font-size:18px;line-height:1.55}.home-intro h2{font-weight:400;text-align:left;color:#222;font-size:clamp(28px,2.4vw,42px);line-height:1.2;margin:0 0 68px}.content-block h2{font-size:clamp(30px,2.6vw,44px);line-height:1.22;font-weight:400;color:#17777b;max-width:1350px;margin-bottom:34px}.content-block h3{font-size:26px;font-weight:400}.content-block p{max-width:1500px}.btn{background:#126d70;color:#fff;border:0;border-radius:0;padding:16px 24px;font-size:18px;font-weight:400;line-height:1.2;text-decoration:none}
.two-col{gap:54px}.two-col article h3{font-size:20px;font-weight:400;margin-bottom:34px}.two-col img{height:auto;aspect-ratio:1.49/1;object-fit:cover;margin-bottom:36px;background:#ddd}.two-col p,.two-col li{line-height:1.55}.two-col ul{padding-left:25px}.two-col li{margin:8px 0}.two-col a{text-underline-offset:4px;text-decoration-thickness:1px}
.work-band{width:96vw;max-width:1600px;margin:48px auto 44px;padding:64px 44px 78px;background:#17777b;color:#fff;text-align:center}.work-band h3{font-size:20px;font-weight:400;text-transform:uppercase;letter-spacing:.02em;margin-bottom:42px}.work-band p{font-size:18px;max-width:1400px}.small-gallery{gap:26px;margin-top:50px}.small-gallery img{height:auto;aspect-ratio:1.13/1;object-fit:cover}
.quotes{display:block;columns:2;column-gap:44px}.quotes blockquote{break-inside:avoid;background:#e6e6e6;padding:34px 36px;margin:0 0 28px;font-size:17px;line-height:1.5}
.service-grid{grid-template-columns:repeat(3,1fr);gap:58px 28px}.service-grid img{height:auto;aspect-ratio:1.25/1;object-fit:cover}.service-grid figcaption{font-size:18px;margin-top:18px}.help h2{text-align:center;color:#222}
.masonry{columns:3 280px;column-gap:28px}.masonry img{margin-bottom:28px;width:100%}
.green-hero,.green-strip{width:96vw;max-width:1600px;background-image:linear-gradient(rgba(20,64,68,.88),rgba(20,64,68,.88)),url('images/getadvice-01-01.jpg');background-size:cover;background-position:center;color:#fff}.green-hero{min-height:560px;display:flex;align-items:center;padding:86px 48px}.green-strip{padding:32px 48px;margin-bottom:76px}.advice-grid{grid-template-columns:1fr 1fr;gap:84px;align-items:start}.advice-grid h1{font-size:clamp(30px,2.6vw,44px);line-height:1.15;font-weight:400}.advice-grid hr{border-top:2px solid #fff}.advice-grid .btn{background:#126d70}
.story.two-col{align-items:start}.story figure img{height:auto;aspect-ratio:1/1.36;object-fit:cover;filter:grayscale(1)}
.legal{font-size:15px;line-height:1.45}.legal h1{font-size:24px;font-weight:400;color:#222;text-align:center;margin-bottom:60px}
.site-footer{padding:70px 0 48px;margin-top:40px;background:#fff;color:#222}.site-footer h2{font-size:20px;font-weight:400;letter-spacing:0}.site-footer p{font-size:18px;max-width:1500px}
.enquiry .green-strip + .wrap,.enquiry.content-block{padding-top:40px}.enquiry h3{font-size:18px;font-weight:400;text-transform:uppercase;border-bottom:2px solid #111;margin:64px 0 36px;padding-bottom:12px}.enquiry label{font-size:18px}.enquiry input,.enquiry textarea,.enquiry select{border:2px solid #111;border-radius:0;background:#fafafa;min-height:58px;padding:14px 16px;font-family:inherit;font-size:18px}.field-row{gap:14px}
@keyframes mieFadeSlide{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero h1,.home-intro>p,.content-block h2,.content-block h3,.two-col article,.service-grid figure,.work-band,.quotes blockquote{animation:mieFadeSlide .8s ease both}.two-col article:nth-child(2),.service-grid figure:nth-child(2),.service-grid figure:nth-child(5){animation-delay:.08s}.service-grid figure:nth-child(3),.service-grid figure:nth-child(6){animation-delay:.16s}
@media(max-width:900px){.wrap,.navwrap,.hero,.work-band,.green-hero,.green-strip{width:88vw;max-width:88vw}.navwrap{height:96px}.logo{font-size:16px}.main-nav{top:96px;font-size:17px}.hero{height:62vh;min-height:430px;margin-bottom:45px}.hero h1{font-size:31px;left:6%;bottom:10%;max-width:84%}.content-block,.home-intro{padding-top:42px;padding-bottom:62px}.two-col,.advice-grid,.service-grid{grid-template-columns:1fr;gap:46px}.quotes{columns:1}.small-gallery{grid-template-columns:repeat(2,1fr)}.green-hero{min-height:auto;padding:56px 28px}.green-strip{padding:28px}.home-intro h2{text-align:left;font-size:30px}}
@media(max-width:560px){.wrap,.navwrap,.hero,.work-band,.green-hero,.green-strip{width:88vw;max-width:88vw}.small-gallery{grid-template-columns:1fr}.hero{min-height:360px}.hero h1{font-size:28px}.nav-item:last-child>a{display:inline-block;width:max-content}.two-col img,.service-grid img{aspect-ratio:1.33/1}}

.hero .hero-btn{position:absolute;z-index:3;left:4.6%;bottom:5.5%;margin:0;background:#126d70;color:#fff}.homehero h1{bottom:17%}
@media(max-width:900px){.hero .hero-btn{left:6%;bottom:5%}.homehero h1{bottom:17%}}


/* v5 refinement: Manrope replacement + Squarespace-style reveal */
:root{
  --font-main:'Manrope','Helvetica Neue',Arial,sans-serif;
}
body{font-family:var(--font-main);font-weight:400;}
.logo,.main-nav,.nav-item:last-child>a,.btn,.service-grid figcaption,.enquiry h3,.accordion summary{font-weight:500;}
h1,h2,h3,.content-block>h1,.top-title h1{font-weight:700;}
.hero h1,.content-block h2,.home-intro h2{font-weight:400;}

/* Replace immediate CSS animations with observer-controlled reveal */
.hero h1,.home-intro>p,.content-block h2,.content-block h3,.two-col article,.service-grid figure,.work-band,.quotes blockquote{animation:none;}
.reveal{opacity:1;transform:none;}
.reveal.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;will-change:opacity,transform;}
.reveal.reveal-ready.is-visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.08s;}
.reveal-delay-2{transition-delay:.16s;}
@media (prefers-reduced-motion: reduce){.reveal,.reveal.reveal-ready{opacity:1;transform:none;transition:none;}}

/* v6: Public Sans + alignment refinements */
:root{
  --font-main:'Public Sans','Helvetica Neue',Arial,sans-serif;
  --content-max:1220px;
  --page-gutter:clamp(24px,4vw,54px);
  --hero-max:1600px;
}
body{font-family:var(--font-main);}
.wrap{width:min(var(--content-max),calc(100vw - (var(--page-gutter) * 2)));max-width:var(--content-max);}
.navwrap{width:min(var(--hero-max),calc(100vw - 4vw));max-width:var(--hero-max);}
.site-header .logo{font-size:22px;font-weight:500;letter-spacing:.045em;gap:5px;line-height:1.05;}
.site-header .logo .my{font-weight:500;letter-spacing:.02em;}
.site-header .logo span:last-child{font-weight:700;letter-spacing:.055em;}
.main-nav{gap:30px;font-size:15px;font-weight:500;letter-spacing:.035em;}
.main-nav a{padding:5px 0 4px;border-bottom-width:2px;}
.nav-item:last-child>a{padding:14px 20px;font-size:15px;letter-spacing:.035em;}
.dropdown{display:block;opacity:0;visibility:hidden;pointer-events:none;top:100%;left:-20px;padding:18px 22px 20px;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;}
.has-menu:hover .dropdown,.has-menu:focus-within .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s;}
.dropdown:before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px;}
.dropdown a{font-size:15px;font-weight:400;letter-spacing:0;line-height:1.35;}
.hero{width:min(var(--hero-max),calc(100vw - 4vw));max-width:var(--hero-max);}
.homehero{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.homehero h1,.homehero .hero-btn{left:calc((100vw - min(var(--hero-max),96vw)) / 2 + 4.6%);}
.content-block p,.home-intro>p,.site-footer p{max-width:var(--content-max);}
.work-band,.green-hero,.green-strip{width:min(var(--hero-max),calc(100vw - 4vw));max-width:var(--hero-max);}
.work-band .wrap,.green-hero .wrap,.green-strip .wrap{width:100%;max-width:100%;}
.btn{padding:12px 19px;font-size:16px;font-weight:500;}
.hero .hero-btn{padding:13px 21px;font-size:16px;}
@media(max-width:900px){
  .wrap,.navwrap,.work-band,.green-hero,.green-strip{width:calc(100vw - 48px);max-width:calc(100vw - 48px);}
  .hero{width:calc(100vw - 48px);max-width:calc(100vw - 48px);}
  .homehero{width:100vw;max-width:none;}
  .site-header .logo{font-size:19px;letter-spacing:.035em;}
  .main-nav{font-size:16px;gap:12px;}
  .nav-item:last-child>a{padding:12px 18px;}
  .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none;}
}

/* v7: requested homepage feature, scroll zoom, link and quote refinements */
a:not(.logo):not(.btn):not(.hero-btn):not(.main-nav a){text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;}
.hero.scroll-zoom-image,.bottom-feature.scroll-zoom-image{position:relative;overflow:hidden;}
.scroll-zoom-image>img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);will-change:transform;backface-visibility:hidden;}
.hero.scroll-zoom-image>img{position:absolute;inset:0;max-width:none;}
.bottom-feature{width:100vw;max-width:none;margin:58px 0 0 calc(50% - 50vw);height:min(52vw,620px);min-height:420px;background:#123;}
.bottom-feature:after{content:'';position:absolute;inset:0;background:rgba(18,72,75,.42);z-index:1;}
.bottom-feature-copy{position:absolute;z-index:2;left:calc((100vw - min(var(--hero-max),96vw)) / 2 + 4.6%);bottom:15%;color:#fff;max-width:min(720px,82vw);text-shadow:0 2px 16px rgba(0,0,0,.28);}
.bottom-feature-copy h2{font-size:clamp(24px,2.7vw,42px);line-height:1.1;margin:0 0 10px;font-weight:500;letter-spacing:.055em;color:#fff;}
.bottom-feature-copy p{font-size:clamp(26px,3vw,48px);line-height:1.15;margin:0;font-weight:400;}
.home-intro .two-col h3,.work-band h3{font-size:23px;letter-spacing:.02em;font-weight:500;}
.wrap.content-block>h3{font-size:32px;line-height:1.25;}
.quotes blockquote{position:relative;padding-top:56px;}
.quotes blockquote:before{content:'“';position:absolute;left:24px;top:4px;color:#fff;font-size:88px;line-height:1;font-weight:700;font-family:Georgia,serif;}
@media(max-width:900px){.bottom-feature{height:58vh;min-height:360px}.bottom-feature-copy{left:6%;bottom:12%;}.home-intro .two-col h3,.work-band h3{font-size:22px}.wrap.content-block>h3{font-size:28px}}


/* v8: stronger scroll-linked zoom/pan effect on hero and selected feature images */
.scroll-zoom-image{--zoom-start:1.18;--zoom-end:1.02;--zoom-pan:22px;}
.scroll-zoom-image>img{transform:scale(var(--zoom-start)) translate3d(0,0,0);transform-origin:center center;}
.hero.scroll-zoom-image{--zoom-start:1.20;--zoom-end:1.03;--zoom-pan:28px;}
.bottom-feature.scroll-zoom-image{--zoom-start:1.22;--zoom-end:1.02;--zoom-pan:34px;}
@media(max-width:900px){.scroll-zoom-image{--zoom-start:1.15;--zoom-end:1.03;--zoom-pan:14px}.bottom-feature.scroll-zoom-image{--zoom-start:1.17;--zoom-end:1.03;--zoom-pan:18px}}

/* v9: polish refinements requested */
body{
  font-weight:300;
  color:#1f1f1f;
}
p,li,blockquote,.content-block p,.two-col p,.two-col li,.site-footer p{
  font-weight:300;
}
strong,b{font-weight:500;}
.site-header{
  box-shadow:0 8px 22px rgba(0,0,0,.075);
}
.logo{
  display:inline-flex;
  align-items:center;
  width:auto;
  min-width:260px;
}
.logo img{
  display:block;
  width:253px;
  max-width:26vw;
  height:auto;
}
.main-nav{
  font-weight:500;
}
.nav-item:last-child>a{
  font-weight:500;
}
.hero h1{
  left:max(34px,calc((100vw - var(--content-max)) / 2));
  max-width:min(850px,var(--content-max));
  font-weight:300;
}
.hero .hero-btn{
  left:max(34px,calc((100vw - var(--content-max)) / 2));
}
.homehero h1,.homehero .hero-btn{
  left:max(34px,calc((100vw - var(--content-max)) / 2));
}
.work-band h3{
  font-size:clamp(38px,4.2vw,62px);
  line-height:1.08;
  font-weight:300;
  letter-spacing:.035em;
  margin-bottom:46px;
}
.work-band{
  padding-top:78px;
  padding-bottom:88px;
}
.testimonial-band{
  width:min(var(--hero-max),calc(100vw - 4vw));
  max-width:var(--hero-max);
  margin:60px auto 42px;
  background:#e6e6e6;
  position:relative;
  overflow:hidden;
  padding:92px 0 98px;
}
.testimonial-band:before{
  content:'“';
  position:absolute;
  left:11.5%;
  top:6%;
  color:#fff;
  font-family:Georgia,serif;
  font-size:clamp(280px,34vw,560px);
  line-height:.9;
  font-weight:700;
  opacity:.96;
  pointer-events:none;
}
.testimonial-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.05fr 1.35fr;
  gap:70px;
  align-items:start;
}
.testimonial-band h2{
  color:#111;
  font-size:clamp(42px,4.2vw,64px);
  line-height:1.1;
  font-weight:300;
  letter-spacing:-.035em;
  margin:0;
  padding-top:24px;
}
.testimonial-band .quotes{
  display:block;
  columns:auto;
  column-gap:0;
}
.testimonial-band .quotes blockquote{
  background:transparent;
  padding:0;
  margin:0 0 48px;
  font-size:18px;
  line-height:1.55;
  font-weight:300;
  break-inside:auto;
}
.testimonial-band .quotes blockquote:before{content:none;}
.testimonial-band cite{
  display:block;
  margin-top:18px;
  font-style:italic;
  font-weight:300;
}
.bottom-feature{
  height:min(38vw,460px);
  min-height:330px;
  margin-top:68px;
}
.bottom-feature:after{
  background:rgba(0,0,0,.28);
}
.bottom-feature-copy{
  left:max(34px,calc((100vw - var(--content-max)) / 2));
  bottom:50%;
  transform:translateY(50%);
  max-width:min(760px,var(--content-max));
}
.bottom-feature-copy .banner-logo{
  display:block;
  width:min(420px,62vw);
  height:auto;
  margin-bottom:18px;
}
.bottom-feature-copy p{
  font-size:clamp(28px,3.2vw,52px);
  line-height:1.13;
  font-weight:300;
  letter-spacing:-.03em;
}
.footer-logo{
  margin:0 0 22px;
}
.footer-logo img{
  width:253px;
  height:auto;
  display:block;
}
.site-footer .wrap{
  width:min(var(--hero-max),calc(100vw - 4vw));
  max-width:var(--hero-max);
}
@media(max-width:900px){
  .logo{min-width:0;}
  .logo img{width:220px;max-width:58vw;}
  .hero h1,.hero .hero-btn,.homehero h1,.homehero .hero-btn,.bottom-feature-copy{
    left:24px;
  }
  .testimonial-band{width:calc(100vw - 48px);max-width:calc(100vw - 48px);padding:66px 0 72px;}
  .testimonial-inner{grid-template-columns:1fr;gap:36px;}
  .testimonial-band:before{left:4%;top:6%;font-size:300px;}
  .testimonial-band h2{font-size:42px;padding-top:0;}
  .site-footer .wrap{width:calc(100vw - 48px);max-width:calc(100vw - 48px);}
  .bottom-feature{height:44vh;min-height:320px;}
}


/* v10 refinements */
#where-we-work{scroll-margin-top:170px;}
.story-hero img{object-position:50% 18% !important;}
.story.two-col{grid-template-columns:minmax(0,1.45fr) 380px;align-items:start;gap:72px;}
.story figure{max-width:380px;margin-left:auto;}
.story figure img{height:auto;max-height:430px;width:100%;object-fit:cover;filter:none !important;}
.story figcaption{font-size:17px;line-height:1.45;margin-top:18px;}
.story-location{height:330px;min-height:260px;margin:10px auto 0;}
.story-location img{object-position:center 52%;}
.legal{max-width:1180px;font-size:16px;line-height:1.65;}
.legal h1{font-size:34px;margin-bottom:54px;}
.legal h2{font-size:24px;line-height:1.3;color:#222;font-weight:500;margin:42px 0 18px;}
.legal h3{font-size:18px;line-height:1.45;color:#222;font-weight:700;margin:28px 0 8px;}
.legal p{max-width:100%;margin:0 0 16px;}
.legal .clause{margin-bottom:14px;}
@media(max-width:900px){.story.two-col{grid-template-columns:1fr;}.story figure{max-width:340px;margin-left:0}.story-location{height:240px}.legal h1{font-size:28px}}

/* v11: image art-direction pass based on original rendered image logs */
/* Preserve the original Squarespace display proportions instead of using a single generic hero crop. */
.hero:not(.homehero):not(.story-location):not(.bottom-feature){
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1580 / 413;
  margin-bottom:70px;
}
.homehero{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1646 / 712;
}
.bottom-feature{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1646 / 370;
}
.story-location{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1580 / 234;
}

/* Hero focal points */
.homehero > img{object-position:71% 46% !important;}
.hero > img[alt="Interior design advice & sourcing"]{object-position:50% 46% !important;}
.hero > img[alt="Space planning"]{object-position:50% 45% !important;}
.hero > img[alt="Choosing the best paint colours"]{object-position:50% 46% !important;}
.story-hero > img{object-position:50% 0% !important;}
.story-hero.scroll-zoom-image{--zoom-start:1.16;--zoom-end:1.02;--zoom-pan:22px;}
.story-location > img{object-position:50% 47% !important;}
.bottom-feature > img{object-position:50% 45% !important;}

/* Home two-column images: use the original slightly rectangular proportions. */
.home-intro .two-col img{height:auto !important;aspect-ratio:576 / 382;object-fit:cover;}
.home-intro .two-col img[alt="Talk to an interior designer in Marlow"]{object-position:50% 50%;}
.home-intro .two-col img[alt="Online interior design advice"]{object-position:50% 50%;}

/* Service tile images are square on the original. Keep square but tune the crop by image. */
.service-grid img{height:auto !important;aspect-ratio:1 / 1;object-fit:cover;}
.service-grid img[alt="Decorative lighting"]{object-position:50% 44%;}
.service-grid img[alt="Upholstery fabric"]{object-position:50% 50%;}
.service-grid img[alt="Wall and floor finishes"]{object-position:50% 47%;}
.service-grid img[alt="Bathroom fittings"]{object-position:50% 48%;}
.service-grid img[alt="Furniture"]{object-position:50% 49%;}
.service-grid img[alt="Tiles"]{object-position:50% 50%;}
.service-grid img[alt="Wallpaper and curtain fabric"]{object-position:50% 48%;}
.service-grid img[alt="Dressing your home"]{object-position:50% 50%;}
.service-grid img[alt="Paint colour schemes"]{object-position:50% 50%;}
.service-grid img[alt="Door furniture, architraves, skirting"]{object-position:50% 50%;}
.service-grid img[alt="Kitchen finishes"]{object-position:50% 50%;}
.service-grid img[alt="Kitchen layouts"]{object-position:50% 50%;}
.service-grid img[alt="Lighting ideas"]{object-position:50% 48%;}
.service-grid img[alt="Bathroom planning"]{object-position:50% 50%;}
.service-grid img[alt="3D room visuals"]{object-position:50% 50%;}
.service-grid img[alt="3D floor plans"]{object-position:50% 50%;}
.service-grid img[alt="Free-standing furniture layouts"]{object-position:50% 48%;}
.service-grid img[alt="Space planning drawings"]{object-position:50% 50%;}
.service-grid img[alt="Lighting and socket plans"]{object-position:50% 50%;}
.service-grid img[alt="Bespoke furniture designs"]{object-position:50% 50%;}
.service-grid img[alt="Dark walls for cosy rooms"]{object-position:50% 47%;}
.service-grid img[alt="Pastel shades, great for bedrooms"]{object-position:50% 50%;}
.service-grid img[alt="Bold feature walls"]{object-position:50% 50%;}
.service-grid img[alt="Calming neutrals for open spaces"]{object-position:50% 50%;}
.service-grid img[alt="Colours that reflect the view outside."]{object-position:50% 50%;}
.service-grid img[alt="Colours for external cladding"]{object-position:50% 50%;}
.service-grid img[alt="Colours for wall panelling"]{object-position:50% 50%;}
.service-grid img[alt="Wall and furniture colours"]{object-position:50% 50%;}
.service-grid img[alt="Front door colours"]{object-position:50% 50%;}

/* Our Story page original image proportions and colour. */
.story.two-col{grid-template-columns:minmax(0,1.55fr) 372px;}
.story figure{max-width:372px;}
.story figure img{width:372px;max-width:100%;object-fit:cover;filter:none !important;}
.story:nth-of-type(2) figure img{aspect-ratio:372 / 497;height:auto !important;}
.story:nth-of-type(3) figure img{aspect-ratio:372 / 400;height:auto !important;}

@media(max-width:900px){
  .hero:not(.homehero):not(.story-location):not(.bottom-feature){aspect-ratio:4 / 2.2;min-height:320px !important;}
  .homehero{aspect-ratio:4 / 3;min-height:420px !important;}
  .bottom-feature{aspect-ratio:4 / 2;min-height:280px !important;}
  .story-location{aspect-ratio:4 / 1.5;min-height:180px !important;}
  .story.two-col{grid-template-columns:1fr;}
  .story figure{max-width:372px;}
}


/* v12: page hero, service heading/captions, and enquiry form refinement */
.hero:not(.homehero):not(.story-location):not(.bottom-feature){
  aspect-ratio:auto !important;
  height:clamp(520px,calc(100vh - 180px),720px) !important;
  min-height:520px !important;
  margin-bottom:clamp(32px,2vw,42px) !important;
}
.hero:not(.homehero):not(.story-location):not(.bottom-feature) > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.help h2{
  font-size:clamp(40px,4.2vw,64px) !important;
  line-height:1.08 !important;
  font-weight:300 !important;
  letter-spacing:-.04em !important;
  color:#111 !important;
  text-align:center;
  margin-bottom:64px !important;
}
.service-grid figcaption{
  font-size:15px !important;
  line-height:1.45 !important;
  font-weight:300 !important;
  color:#444;
  margin-top:13px !important;
  letter-spacing:0;
}
.enquiry-page-title{
  margin:0;
  color:#fff;
  font-size:clamp(38px,5vw,76px);
  line-height:1.05;
  font-weight:300;
  letter-spacing:.02em;
}
.enquiry-intro{
  margin:18px 0 0;
  max-width:900px;
  color:#fff;
  font-size:18px;
  font-weight:300;
}
.enquiry h3{
  font-size:17px !important;
  font-weight:400 !important;
  letter-spacing:.055em !important;
  border-bottom:1px solid #1b1b1b !important;
  margin:54px 0 28px !important;
  padding-bottom:13px !important;
}
.enquiry label,.enquiry legend{
  font-size:16px !important;
  line-height:1.45;
  font-weight:300;
  color:#222;
}
.enquiry small,.enquiry .description{
  display:block;
  margin-top:4px;
  color:#666;
  font-size:13px;
  font-weight:300;
}
.enquiry input,.enquiry textarea,.enquiry select{
  border:1px solid #222 !important;
  background:#fbfbfb !important;
  min-height:54px !important;
  padding:13px 14px !important;
  font-size:16px !important;
  font-weight:300 !important;
  margin-top:8px !important;
}
.enquiry input[type="date"]{
  min-height:68px !important;
  font-size:18px !important;
  padding:17px 16px !important;
}
.enquiry textarea{min-height:150px !important;}
.enquiry fieldset{border:0;margin:0 0 24px;padding:0;}
.enquiry .option-label{display:block;margin:12px 0;font-size:16px !important;}
.enquiry .option-label input{width:auto;display:inline-block;min-height:0 !important;margin:0 10px 0 0;vertical-align:middle;}
.enquiry .btn{margin-top:28px;padding:13px 28px;font-size:16px;}
.enquiry select{appearance:auto;}
@media(max-width:900px){
  .hero:not(.homehero):not(.story-location):not(.bottom-feature){height:56vh !important;min-height:420px !important;}
  .help h2{font-size:38px !important;text-align:left;}
}


/* v13: hero height, image quality, service headings/captions, and friendly enquiry forms */
.hero:not(.homehero):not(.story-location):not(.bottom-feature){
  width:96vw !important;
  max-width:1600px !important;
  height:clamp(560px,calc(100vh - 150px),780px) !important;
  min-height:560px !important;
  max-height:780px !important;
  margin:0 auto 2vw !important;
  aspect-ratio:auto !important;
}
.hero:not(.homehero):not(.story-location):not(.bottom-feature) > img{
  object-fit:cover !important;
}
.hero > img[alt="Interior design advice & sourcing"]{
  object-position:50% 50% !important;
}
.hero > img[alt="Choosing the best paint colours"]{
  object-position:50% 47% !important;
}
.help h2{
  font-size:clamp(44px,4.8vw,72px) !important;
  line-height:1.05 !important;
  font-weight:300 !important;
  letter-spacing:-.05em !important;
  color:#111 !important;
  margin-bottom:70px !important;
}
.service-grid figcaption{
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:300 !important;
  color:#555 !important;
  margin-top:12px !important;
}
.green-strip.enquiry-hero{
  min-height:170px;
  display:flex;
  align-items:center;
  margin-bottom:54px;
}
.green-strip.enquiry-hero .wrap{
  max-width:1160px;
}
.enquiry-page-title{
  font-size:clamp(26px,2.3vw,38px) !important;
  font-weight:400 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase;
}
.enquiry-intro{
  font-size:18px !important;
  line-height:1.55 !important;
  max-width:860px;
}
.enquiry.content-block{
  max-width:1160px !important;
  padding-top:0 !important;
}
.enquiry .form-section{
  margin:0 0 38px;
  padding:34px 38px 38px;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
}
.enquiry h3{
  font-size:16px !important;
  font-weight:400 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  border-bottom:1px solid #222 !important;
  margin:0 0 28px !important;
  padding-bottom:14px !important;
}
.enquiry label,.enquiry legend{
  font-size:15px !important;
  font-weight:300 !important;
  color:#222 !important;
  margin-bottom:20px !important;
}
.enquiry small{
  display:block;
  margin-top:5px;
  font-size:13px !important;
  color:#777 !important;
  font-weight:300 !important;
}
.enquiry input,.enquiry textarea,.enquiry select{
  border:1px solid #222 !important;
  background:#fbfbfb !important;
  min-height:52px !important;
  padding:13px 14px !important;
  font-size:16px !important;
  font-weight:300 !important;
  margin-top:8px !important;
}
.enquiry input[type="date"]{
  max-width:260px;
  min-height:70px !important;
  font-size:18px !important;
  padding:18px 16px !important;
}
.enquiry textarea{
  min-height:160px !important;
}
.enquiry .form-hint{
  color:#777;
  font-size:14px;
  margin:-14px 0 24px;
  max-width:740px;
}
.enquiry fieldset{
  border:0;
  margin:0 0 26px;
  padding:0;
}
.enquiry .choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:10px;
}
.enquiry .option-label{
  border:1px solid rgba(0,0,0,.18);
  padding:13px 14px;
  background:#fbfbfb;
  margin:0 !important;
  font-size:15px !important;
}
.enquiry .option-label input{
  width:auto;
  min-height:0 !important;
  margin:0 10px 0 0 !important;
  vertical-align:middle;
}
.enquiry .btn{
  margin-top:10px;
  font-size:16px;
  padding:13px 28px;
}
.get-advice-choice .advice-grid > div{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.quote-option{
  border:1px solid rgba(255,255,255,.42);
  padding:28px;
  background:rgba(255,255,255,.05);
}
.quote-option h3{
  margin-top:0;
  font-weight:400;
  letter-spacing:.03em;
}
.quote-option hr{display:none;}
@media(max-width:900px){
  .hero:not(.homehero):not(.story-location):not(.bottom-feature){height:60vh !important;min-height:420px !important;margin-bottom:24px !important;}
  .enquiry .form-section{padding:26px 22px;}
  .enquiry .choice-grid,.get-advice-choice .advice-grid > div{grid-template-columns:1fr;}
}

/* v14: Get Advice consolidation and friendlier quote forms */
html{scroll-padding-top:160px;}
#faqs{scroll-margin-top:170px;}
.advice-landing{padding:86px 48px 88px;min-height:0;margin-bottom:70px;}
.advice-landing-inner{display:grid;grid-template-columns:.82fr 1.35fr;gap:70px;align-items:start;}
.advice-landing-copy h1{font-size:clamp(40px,4.8vw,70px);line-height:1.04;font-weight:300;letter-spacing:-.045em;margin:0 0 28px;color:#fff;}
.advice-landing-copy p{font-size:18px;line-height:1.65;font-weight:300;max-width:560px;margin:0;color:rgba(255,255,255,.92);}
.advice-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.advice-card{border:1px solid rgba(255,255,255,.36);background:rgba(255,255,255,.06);padding:34px 34px 38px;color:#fff;min-height:100%;display:flex;flex-direction:column;}
.advice-card .eyebrow{font-size:14px;letter-spacing:.12em;font-weight:400;margin:0 0 24px;color:rgba(255,255,255,.82);}
.advice-card h2{font-size:clamp(25px,2.2vw,36px);line-height:1.12;font-weight:300;letter-spacing:-.035em;margin:0 0 18px;color:#fff;}
.advice-card p{font-size:16px;line-height:1.6;margin:0 0 20px;color:rgba(255,255,255,.92);}
.advice-card ul{list-style:none;padding:0;margin:8px 0 22px;display:grid;gap:10px;}
.advice-card li{font-size:15px;line-height:1.45;font-weight:300;color:rgba(255,255,255,.94);position:relative;padding-left:24px;}
.advice-card li:before{content:'✓';position:absolute;left:0;top:0;color:#fff;font-weight:400;}
.advice-card .rate{font-size:15px;color:rgba(255,255,255,.82);margin-top:auto;}
.meeting-badges{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 18px;}
.meeting-badges span{border:1px solid rgba(255,255,255,.45);color:#fff;padding:7px 11px;font-size:13px;letter-spacing:.035em;line-height:1;font-weight:400;}
.advice-next{padding-top:28px;}
.advice-next h2,.get-advice-faqs>h1{font-size:clamp(40px,4.2vw,64px);font-weight:300;letter-spacing:-.045em;line-height:1.08;color:#111;margin:0 0 50px;}
.next-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.next-steps article{border-top:1px solid #222;padding-top:22px;}
.next-steps span{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--green);border-radius:50%;color:var(--green);font-size:15px;margin-bottom:20px;}
.next-steps h3{font-size:22px;font-weight:300;line-height:1.25;margin:0 0 12px;color:#111;}
.next-steps p{font-size:16px;line-height:1.55;color:#555;margin:0;}
.trust-panel{margin:0 auto 60px;padding:44px 46px;background:#f3f3f3;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;}
.trust-panel h2{font-size:clamp(28px,3vw,44px);font-weight:300;line-height:1.12;letter-spacing:-.035em;margin:0;color:#111;}
.trust-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:12px;}
.trust-panel li{font-weight:300;position:relative;padding-left:22px;}
.trust-panel li:before{content:'✓';position:absolute;left:0;color:var(--green);}
.get-advice-faqs{padding-top:40px;}
.get-advice-faqs .faq-search{margin-top:0;}

/* Keep service-page heroes full and premium rather than letterbox. Bottom margin mirrors side margin. */
.hero:not(.homehero):not(.story-location):not(.bottom-feature){height:clamp(560px,calc(100vh - 150px),780px) !important;min-height:560px !important;margin-bottom:2vw !important;}

/* Friendly form refinements while preserving original field text/options. */
.friendly-form{max-width:1080px !important;}
.form-intro-card{background:#f5f5f5;padding:34px 38px;margin-bottom:32px;border:1px solid rgba(0,0,0,.08);}
.form-intro-card h2{font-size:clamp(30px,3.4vw,48px);line-height:1.1;font-weight:300;letter-spacing:-.04em;color:#111;margin:0 0 14px;}
.form-intro-card p{font-size:16px;line-height:1.65;color:#555;margin:0;max-width:820px;}
.enquiry .form-section{box-shadow:0 12px 28px rgba(0,0,0,.035);}
.enquiry input,.enquiry textarea,.enquiry select{border:1px solid rgba(0,0,0,.42) !important;background:#fff !important;transition:border-color .18s ease,box-shadow .18s ease;}
.enquiry input:focus,.enquiry textarea:focus,.enquiry select:focus{outline:0;border-color:var(--green) !important;box-shadow:0 0 0 3px rgba(23,119,123,.10);}
.enquiry input[type="date"]{max-width:none;min-height:76px !important;font-size:19px !important;}
.two-field-row{grid-template-columns:280px 1fr;align-items:start;}
.enquiry .choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.enquiry .option-label{border:1px solid rgba(0,0,0,.16);background:#fff;min-height:56px;display:flex !important;align-items:center;}
.submit-row{text-align:center;margin-top:10px;}
.submit-row .btn{min-width:130px;}
@media(max-width:1050px){.advice-landing-inner,.advice-card-grid,.trust-panel{grid-template-columns:1fr}.advice-landing-copy p{max-width:760px}.enquiry .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.two-field-row{grid-template-columns:1fr;}}
@media(max-width:900px){.advice-landing{padding:56px 28px}.next-steps{grid-template-columns:1fr}.form-intro-card{padding:28px 24px}.enquiry .choice-grid{grid-template-columns:1fr}.hero:not(.homehero):not(.story-location):not(.bottom-feature){height:60vh !important;min-height:420px !important;margin-bottom:24px !important;}}


/* v15 visibility and Get Advice refinement */
@media print{
  .reveal,.reveal.reveal-ready{opacity:1 !important;transform:none !important;transition:none !important;}
  .site-header{position:relative !important;}
}
.advice-landing{background-image:linear-gradient(rgba(20,64,68,.91),rgba(20,64,68,.91)),url('images/getadvice-01-01.jpg') !important;}
.advice-landing-copy,.advice-card{opacity:1;}
.get-advice-faqs h3{font-size:clamp(30px,3vw,46px);font-weight:300;letter-spacing:-.035em;color:#111;margin:52px 0 18px;text-transform:none;}
.get-advice-faqs h3:first-of-type{margin-top:36px;}
.get-advice-faqs .faq-search{background:#17777b;}
@media(max-width:900px){.get-advice-faqs h3{font-size:30px;}}

/* v17: mobile menu fix - prevent dropdown overflow/ghost panel on iOS */
@media (max-width:900px){
  .site-header{z-index:3000;}
  .navwrap{height:96px;position:relative;}
  .menu-toggle{display:block;position:relative;z-index:3002;}
  .main-nav{
    display:none !important;
    position:fixed !important;
    top:96px !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    max-height:calc(100vh - 96px) !important;
    overflow:auto !important;
    background:#fff !important;
    padding:28px 24px 34px !important;
    box-shadow:0 18px 36px rgba(0,0,0,.08) !important;
    transform:none !important;
    transition:none !important;
    gap:0 !important;
    align-items:stretch !important;
    white-space:normal !important;
  }
  .main-nav.open{
    display:flex !important;
    flex-direction:column !important;
  }
  .main-nav .nav-item{
    width:100% !important;
    position:relative !important;
    margin:0 !important;
  }
  .main-nav .nav-item > a{
    display:inline-block !important;
    padding:13px 0 10px !important;
    font-size:20px !important;
    line-height:1.2 !important;
    letter-spacing:.055em !important;
    border-bottom:2px solid transparent !important;
    background:transparent !important;
    color:var(--green) !important;
  }
  .main-nav .nav-item:last-child > a{
    margin-top:16px !important;
    padding:14px 18px !important;
    background:var(--green-dark) !important;
    color:#fff !important;
    width:auto !important;
  }
  .main-nav .has-menu > a{
    margin-bottom:6px !important;
  }
  .main-nav .dropdown{
    display:grid !important;
    position:static !important;
    left:auto !important;
    top:auto !important;
    min-width:0 !important;
    width:100% !important;
    padding:2px 0 15px 22px !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    transition:none !important;
    gap:4px !important;
  }
  .main-nav .dropdown:before{display:none !important;content:none !important;}
  .main-nav .dropdown a{
    display:block !important;
    width:100% !important;
    padding:8px 0 !important;
    font-size:16px !important;
    line-height:1.35 !important;
    letter-spacing:.01em !important;
    font-weight:300 !important;
    border:0 !important;
    white-space:normal !important;
  }
  body.menu-open{overflow:hidden;}
}

/* v18: definitive mobile navigation reset */
@media screen and (max-width:1024px){
  html,body{overflow-x:hidden;}
  .site-header{position:sticky !important;top:0 !important;z-index:9999 !important;background:#fff !important;box-shadow:0 8px 28px rgba(0,0,0,.055) !important;}
  .navwrap{height:104px !important;width:calc(100vw - 48px) !important;max-width:calc(100vw - 48px) !important;display:flex !important;align-items:center !important;justify-content:space-between !important;position:relative !important;}
  .logo{position:relative !important;z-index:10002 !important;}
  .logo img{height:auto !important;max-width:min(300px,62vw) !important;display:block !important;}
  .menu-toggle{display:block !important;position:relative !important;z-index:10002 !important;background:transparent !important;border:0 !important;padding:10px 0 10px 14px !important;margin:0 !important;}
  .menu-toggle span{display:block !important;width:30px !important;height:2px !important;background:var(--green) !important;margin:7px 0 !important;}

  /* Closed state: fully remove navigation and any dropdown panels */
  .main-nav,
  .main-nav:not(.open),
  body:not(.menu-open) .main-nav,
  body:not(.menu-open) .main-nav .dropdown{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:none !important;
  }

  /* Open state: one clean vertical white panel below the header */
  body.menu-open .main-nav,
  .main-nav.open{
    display:flex !important;
    flex-direction:column !important;
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:104px !important;
    width:100vw !important;
    max-width:none !important;
    height:auto !important;
    max-height:calc(100svh - 104px) !important;
    overflow-y:auto !important;
    padding:30px 48px 42px !important;
    margin:0 !important;
    background:#fff !important;
    box-shadow:0 20px 40px rgba(0,0,0,.10) !important;
    gap:0 !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    white-space:normal !important;
    z-index:10000 !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    transition:none !important;
  }
  .main-nav.open .nav-item{display:block !important;width:100% !important;position:static !important;margin:0 !important;padding:0 !important;}
  .main-nav.open .nav-item > a{display:inline-block !important;width:auto !important;padding:12px 0 10px !important;margin:0 !important;background:transparent !important;color:var(--green) !important;border:0 !important;border-bottom:2px solid transparent !important;font-size:18px !important;line-height:1.25 !important;font-weight:500 !important;letter-spacing:.06em !important;text-align:left !important;}
  .main-nav.open .nav-item > a.active{border-bottom-color:var(--green) !important;}
  .main-nav.open .nav-item:last-child > a{margin-top:18px !important;padding:14px 20px !important;background:var(--green-dark) !important;color:#fff !important;border:0 !important;}

  /* Services children are nested links, never a floating dropdown on mobile */
  .main-nav.open .dropdown{display:grid !important;position:static !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;width:100% !important;min-width:0 !important;max-width:none !important;margin:2px 0 12px !important;padding:0 0 4px 22px !important;background:transparent !important;box-shadow:none !important;border:0 !important;gap:0 !important;opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transform:none !important;transition:none !important;}
  .main-nav.open .dropdown:before{display:none !important;content:none !important;}
  .main-nav.open .dropdown a{display:block !important;width:100% !important;padding:7px 0 !important;margin:0 !important;color:var(--green) !important;background:transparent !important;border:0 !important;font-size:16px !important;font-weight:300 !important;line-height:1.35 !important;letter-spacing:.01em !important;text-align:left !important;white-space:normal !important;}
  body.menu-open{overflow:hidden !important;}
}

/* v19: restore sticky mobile header after menu reset */
@media screen and (max-width:1024px){
  body{padding-top:104px !important;}
  .site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:9999 !important;
    background:#fff !important;
    box-shadow:0 8px 28px rgba(0,0,0,.055) !important;
  }
  body.menu-open .main-nav,
  .main-nav.open{
    top:104px !important;
    max-height:calc(100svh - 104px) !important;
  }
}


/* v11: work thumbnails square and paint brand section */
.masonry{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;columns:auto !important;}
.masonry img{width:100%;aspect-ratio:1/1;height:auto;object-fit:contain;background:#f1f1ef;margin:0 !important;break-inside:auto;}
.paint-brand-section{width:var(--max);max-width:var(--max);margin:0 auto 78px;min-height:560px;position:relative;display:grid;place-items:center;text-align:center;color:#fff;background-size:cover;background-position:12% 19%;overflow:hidden;}
.paint-brand-section:before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.15);}
.paint-brand-inner{position:relative;z-index:1;width:min(820px,86%);}
.paint-brand-section h3{font-size:clamp(30px,3vw,48px);font-weight:400;line-height:1.2;margin:0 0 46px;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.28);}
.paint-brand-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;align-items:center;}
.paint-brand-logos img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;padding:18px;}
@media(max-width:900px){.masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.paint-brand-section{width:88vw;max-width:88vw;min-height:460px}.paint-brand-logos{grid-template-columns:repeat(2,1fr);gap:18px}.paint-brand-section h3{margin-bottom:30px}}
@media(max-width:560px){.masonry{grid-template-columns:1fr}.paint-brand-logos{grid-template-columns:repeat(2,1fr)}}


/* v21: email/admin brand refinements, stronger heroes, friendlier forms */
.hero h1{
  bottom:50% !important;
  transform:translateY(50%);
  max-width:min(1220px,88vw) !important;
  font-size:clamp(38px,4.6vw,70px) !important;
  line-height:1.05 !important;
}
.homehero h1{bottom:50% !important;}
.enquiry .form-intro-card{display:none !important;}
.enquiry input[type="date"]{
  max-width:none !important;
  width:100% !important;
  min-height:52px !important;
  font-size:16px !important;
  padding:13px 14px !important;
}
.enquiry .choice-grid{
  gap:16px !important;
}
.enquiry .option-label{
  display:flex !important;
  align-items:flex-start !important;
  gap:14px !important;
  border:1px solid rgba(0,0,0,.12) !important;
  background:#e6e6e6 !important;
  padding:18px 20px !important;
  min-height:76px;
  transition:border-color .2s ease, background .2s ease;
}
.enquiry .option-label:hover{
  border-color:#17777b !important;
  background:#f1f1ef !important;
}
.enquiry .option-label input{
  order:0;
  flex:0 0 auto;
  margin:3px 0 0 0 !important;
  width:18px !important;
  height:18px !important;
  accent-color:#17777b;
}
.enquiry .option-label span{
  order:1;
  line-height:1.35;
}
@media(max-width:900px){
  .hero h1{bottom:42% !important;transform:translateY(50%);font-size:clamp(32px,9vw,46px) !important;max-width:84vw !important;}
}


/* v23: gallery width and reliable hero title positioning */
.help.wrap{width:min(var(--hero-max),calc(100vw - 4vw));max-width:var(--hero-max);}
.service-grid{width:100%;}
.hero h1{bottom:50% !important;transform:translateY(50%);font-size:clamp(38px,4.6vw,70px) !important;max-width:1220px !important;}
@media(max-width:900px){.help.wrap{width:88vw;max-width:88vw}.hero h1{bottom:13% !important;transform:none;font-size:31px !important;max-width:84% !important;}}


/* v25: branded date picker for enquiry forms */
.enquiry .mie-date-input{
  min-height:64px !important;
  font-size:18px !important;
  padding:17px 16px !important;
  cursor:pointer;
  background:#fbfbfb !important;
}
.mie-calendar{
  position:absolute;
  z-index:9999;
  width:420px;
  max-width:calc(100vw - 28px);
  background:#fff;
  border:1px solid #d8d6d2;
  box-shadow:0 18px 42px rgba(0,0,0,.18);
  padding:18px;
  font-family:"Public Sans","Helvetica Neue",Arial,sans-serif;
  color:#202020;
}
.mie-calendar[hidden]{display:none;}
.mie-calendar__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 14px;
}
.mie-calendar__title{
  font-size:18px;
  font-weight:500;
  letter-spacing:.02em;
}
.mie-calendar__nav{
  width:42px;
  height:42px;
  border:1px solid #d8d6d2;
  background:#f3f2ef;
  color:#17777b;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.mie-calendar__grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}
.mie-calendar__dow{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#6f7371;
  text-align:center;
  padding:0 0 7px;
}
.mie-calendar__day{
  min-height:46px;
  border:1px solid #e0ded9;
  background:#fbfbfb;
  color:#222;
  font-size:16px;
  cursor:pointer;
}
.mie-calendar__day:hover,
.mie-calendar__day:focus{
  border-color:#17777b;
  outline:2px solid rgba(23,119,123,.18);
}
.mie-calendar__day.is-selected{
  background:#17777b;
  color:#fff;
  border-color:#17777b;
}
.mie-calendar__day.is-muted{
  color:#b2b2b2;
  background:#f7f7f7;
}
@media(max-width:700px){
  .mie-calendar{width:calc(100vw - 28px);left:14px!important;right:14px!important;padding:14px;}
  .mie-calendar__day{min-height:42px;font-size:15px;}
}


/* v27: date picker month navigation/past-date lockout and mobile hero centre position */
.mie-calendar__day.is-disabled,
.mie-calendar__day:disabled{
  color:#c5c5c5 !important;
  background:#f3f3f1 !important;
  border-color:#eceae7 !important;
  cursor:not-allowed !important;
}
.mie-calendar__day.is-disabled:hover,
.mie-calendar__day:disabled:hover{
  outline:none !important;
  border-color:#eceae7 !important;
}
@media(max-width:900px){
  .hero h1{
    bottom:50% !important;
    transform:translateY(50%) !important;
    font-size:clamp(34px,9vw,48px) !important;
    max-width:84vw !important;
  }
}

/* v28: date picker month navigation fix */
.mie-calendar__nav[disabled]{opacity:.35;cursor:not-allowed;color:#8c8c8c;}
.mie-calendar__day[disabled]{opacity:.45;cursor:not-allowed;color:#9a9a9a;background:#f4f4f4;}
