:root{
  --cream:#F2EFEA;--graphite:#2d2d2b;--muted:#6f716c;--line:rgba(45,45,43,.18);
  --olive:#272401;--blue:#DFE5F3;--green:#557373;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--graphite);font-family:Arial,Helvetica,sans-serif}
.skip-link{position:fixed;left:12px;top:12px;z-index:1000;padding:10px 14px;background:var(--graphite);color:#fff;text-decoration:none;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.service-project-track:focus-visible{outline:3px solid var(--green);outline-offset:-3px}
.wrap{width:min(100% - 24px,1180px);margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(242,239,234,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{height:80px;display:grid;grid-template-columns:90px 1fr 90px;align-items:center}
.header-contact,.menu-toggle{border:0;background:none;color:var(--graphite);text-transform:uppercase;letter-spacing:.13em;font-size:11px;padding:0}
.menu-toggle{width:28px;height:22px;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;justify-self:end;cursor:pointer}
.menu-toggle span{display:block;width:100%;height:1.5px;background:currentColor;border-radius:2px}
.header-contact{text-align:left}.menu-toggle{text-align:right}
.brand{text-decoration:none;color:var(--graphite);text-align:center}
.brand strong{display:inline-block;font-family:Georgia,serif;font-weight:400;font-size:35px;line-height:1;border-bottom:1px solid currentColor;padding-bottom:4px}
.brand>span{display:block;margin-top:5px;font-size:14px;letter-spacing:.16em;text-transform:uppercase;line-height:1.25}
.hero{min-height:68vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;
background-image:linear-gradient(180deg,rgba(13,13,13,.04),rgba(13,13,13,.58)),url('../images/hero-bathroom.webp');
background-size:cover;background-position:center center;background-repeat:no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:transparent;pointer-events:none}
.hero-copy{position:relative;z-index:1;color:white;padding:70px 0 54px}
.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.16em;font-size:10px}
.hero h1,.split-intro h2,.comparison-copy h2,.process h2,.meet h2,.contact h2{font-family:Georgia,serif;font-weight:400;margin:13px 0}
.hero h1{font-size:clamp(54px,9vw,94px);line-height:.93}
.hero p{max-width:560px;font-size:17px;line-height:1.6}
.actions{display:flex;gap:20px;align-items:center;margin-top:24px}
.btn{display:inline-block;padding:14px 19px;background:var(--cream);color:var(--graphite);text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.text-link{color:white;text-decoration:none}
section:not(.hero){padding:88px 0}
.split-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:end;margin-top:18px}
.split-intro h2,.comparison-copy h2,.process h2,.meet h2,.contact h2{font-size:clamp(40px,6vw,72px);line-height:1}
.lead{font-size:19px;line-height:1.55}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;border-top:1px solid var(--line)}
.card{padding:30px 24px 30px 0;border-right:1px solid var(--line)}
.card:last-child{border-right:0;padding-left:24px}.card:nth-child(2){padding-left:24px}
.number{font-size:10px;letter-spacing:.14em;color:var(--muted)}
.card h3{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:18px 0 9px}
.card p{color:var(--muted);line-height:1.6}
.comparison-section{background:var(--blue)}
.comparison-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:48px;align-items:center;margin-top:25px}
.comparison{aspect-ratio:3/2;position:relative;overflow:hidden;background:#d9d2c4}
.comparison img{width:100%;height:100%;display:block;object-fit:cover}


.process{background:var(--olive);color:var(--graphite)}

.process-intro{
  max-width:900px;
  margin-bottom:58px;
}
.process-intro h2{
  margin:18px 0 20px;
  max-width:820px;
  font-size:clamp(58px,8vw,118px);
  line-height:.88;
  letter-spacing:-.055em;
  font-weight:400;
}
.process-intro p{
  max-width:620px;
  margin:0;
  font-size:clamp(20px,2vw,30px);
  line-height:1.45;
  color:var(--muted);
}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:0;border-top:0}

.process .card{border-color:rgba(56,55,51,.14)}
.process-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:26px;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(56,55,51,.14);
}
.process-icon svg{
  width:31px;
  height:31px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.process .number{
  display:block;
  margin-bottom:10px;
  color:var(--muted);
}
.process .card h3{
  margin-top:0;
}

.work-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;margin-top:45px}
.project{min-height:430px;padding:28px;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(145deg,#7b817d,#343b38);position:relative}
.project:nth-child(2){background:linear-gradient(145deg,#b9b3a9,#706c65)}
.project:nth-child(3){grid-column:1/-1;min-height:300px;background:linear-gradient(145deg,#6f7772,#2f3431)}
.project h3{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:0}
.meet{background:#e8e5de}.meet-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.meet p{line-height:1.75;color:#555}
.contact{background:#0D0D0D;color:var(--cream)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.contact a{color:var(--cream)}.contact-detail{border-top:1px solid rgba(255,255,255,.25);padding:16px 0}
footer{padding:28px 0;background:#0D0D0D;color:#aaa;border-top:1px solid #333;font-size:11px}
@media(max-width:700px){
 .wrap{width:min(100% - 24px,1180px)}
 .header-inner{height:86px;grid-template-columns:64px 1fr 64px}
 .brand strong{font-size:25px}.brand>span{font-size:8px;letter-spacing:.10em;white-space:nowrap}
 .header-contact,.menu-toggle{font-size:9px}
 .hero{min-height:66vh}.hero-copy{padding-bottom:35px}.hero h1{font-size:55px}
 section:not(.hero){padding:66px 0}
 .split-intro,.comparison-grid,.meet-grid,.contact-grid{grid-template-columns:1fr;gap:22px}
 .why-grid,.process-grid{grid-template-columns:1fr}
 .card,.card:nth-child(2),.card:last-child{padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}
 .process .card{border-bottom-color:rgba(255,255,255,.25)}
 .work-grid{grid-template-columns:1fr}.project:nth-child(3){grid-column:auto}
 .project{min-height:360px}.comparison{aspect-ratio:3/2}
}

.media-frame{overflow:hidden;border-radius:12px;box-shadow:0 12px 35px rgba(0,0,0,.08)}
.media-frame img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.media-frame:hover img{transform:scale(1.018)}
.hero{border-radius:0 0 12px 12px}
.comparison{border-radius:12px;box-shadow:0 12px 35px rgba(0,0,0,.08)}
.featured-projects{padding-top:96px}
.featured-list{display:grid;gap:100px;margin-top:52px}
.featured-project{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:56px;align-items:center}
.featured-project:nth-child(even){grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}
.featured-project:nth-child(even) .project-media{order:2}
.featured-project:nth-child(even) .project-copy{order:1}
.project-media{aspect-ratio:4/3}
.project-copy .project-count{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.project-copy h3{font-family:Georgia,serif;font-size:clamp(36px,5vw,58px);font-weight:400;line-height:1.02;margin:15px 0 18px}
.project-copy p{font-size:17px;line-height:1.7;color:var(--muted);max-width:520px}
.project-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.project-tags span{border:1px solid var(--line);padding:8px 10px;border-radius:999px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.detail-section{background:#e9e6df}
.detail-intro{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end}
.detail-intro p{font-size:18px;line-height:1.65;color:var(--muted)}
.detail-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-auto-rows:230px;gap:16px;margin-top:48px}
.detail-card{position:relative}
.detail-card:nth-child(1){grid-row:span 2}
.detail-card:nth-child(4){grid-column:span 2}
.detail-card figcaption{position:absolute;left:16px;bottom:14px;margin:0;color:white;background:rgba(13,13,13,.48);backdrop-filter:blur(5px);padding:7px 9px;border-radius:999px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:700px){
 .hero{border-radius:0 0 10px 10px}
 .featured-list{gap:64px}
 .featured-project,.featured-project:nth-child(even){grid-template-columns:1fr;gap:24px}
 .featured-project:nth-child(even) .project-media,.featured-project:nth-child(even) .project-copy{order:initial}
 .project-media{aspect-ratio:4/3}
 .detail-intro{grid-template-columns:1fr;gap:18px}
 .detail-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
 .detail-card:nth-child(1){grid-row:span 2}
 .detail-card:nth-child(4){grid-column:span 2}
}


/* Softer, flowier refinement */
:root{
  --cream:#F5F1EA;
  --graphite:#383733;
  --muted:#7c7a74;
  --line:rgba(56,55,51,.12);
  --blue:#E7ECF7;
  --olive:#DFE5F3;
}
body{
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.55), transparent 28%),
    linear-gradient(180deg,#F7F3ED 0%,#F3EFE8 100%);
}

.site-header{
  background:rgba(247,243,237,.88);
  border-bottom:1px solid rgba(56,55,51,.08);
}
.header-inner{height:104px}
.brand strong{font-size:33px;font-weight:400;letter-spacing:-.02em}
.hero{
  min-height:82vh;
  width:min(calc(100% - 28px),1400px);
  margin:14px auto 0;
  border-radius:20px;
  align-items:flex-end;
  box-shadow:0 18px 60px rgba(20,20,18,.10);
}
.hero-copy{
  padding:110px 0 58px;
  max-width:700px;
}
.hero h1{
  font-size:clamp(58px,9vw,108px);
  line-height:.9;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.hero p{
  max-width:510px;
  color:rgba(255,255,255,.9);
  font-size:18px;
}
.actions{margin-top:30px;gap:24px}
.btn{
  border-radius:999px;
  padding:15px 22px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
section:not(.hero){
  padding:120px 0;
  position:relative;
}
section:not(.hero):not(.process):not(.contact):not(.comparison-section):not(.meet):after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-44px;
  transform:translateX(-50%);
  width:140px;
  height:88px;
  background:inherit;
  border-radius:0 0 70px 70px;
  z-index:1;
  opacity:.95;
}
.split-intro{
  gap:70px;
  align-items:center;
}
.split-intro h2,
.comparison-copy h2,
.process h2,
.meet h2,
.contact h2,
.project-copy h3{
  letter-spacing:-.035em;
  font-weight:400;
}
.lead{font-size:20px;line-height:1.7;color:#5e5c57}
.why-grid{
  gap:18px;
  border-top:0;
  margin-top:65px;
}
.card,
.card:nth-child(2),
.card:last-child{
  border:1px solid rgba(56,55,51,.08);
  border-radius:18px;
  padding:34px 30px;
  background:rgba(255,255,255,.28);
  box-shadow:0 12px 36px rgba(30,30,27,.045);
}
.card h3{font-size:29px}
.comparison-section,
#before-after{
  background:linear-gradient(180deg,#E8EDF7 0%,#EEF1F6 100%);
  border-radius:42px 42px 0 0;
  margin-top:20px;
}
.comparison-grid{gap:64px}
.comparison{
  border-radius:18px;
  box-shadow:0 18px 50px rgba(25,25,24,.10);
}
.process{
  background:linear-gradient(180deg,#DFE5F3,#E7ECF7);
  border-radius:42px 42px 0 0;
  margin-top:-1px;
}
.process-grid{
  gap:18px;
  border-top:0;
}
.process .card{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:none;
}
.featured-projects{
  padding-top:140px;
}
.featured-list{gap:145px}
.featured-project{
  gap:78px;
  align-items:center;
}
.project-media{
  aspect-ratio:4/3;
  border-radius:20px;
  transform:translateY(0);
  box-shadow:0 18px 55px rgba(30,30,27,.09);
}
.featured-project:nth-child(odd) .project-media{transform:translateY(-14px)}
.featured-project:nth-child(even) .project-media{transform:translateY(18px)}
.project-copy{
  padding:18px 0;
}
.project-copy h3{
  font-size:clamp(40px,5vw,64px);
  margin:18px 0 22px;
}
.project-copy p{
  font-size:18px;
  line-height:1.8;
}
.project-tags{gap:10px;margin-top:28px}
.project-tags span{
  border-radius:999px;
  background:rgba(255,255,255,.36);
  padding:9px 12px;
}
.meet{
  background:linear-gradient(180deg,#ECE9E2 0%,#E7E3DC 100%);
  border-radius:42px 42px 0 0;
}
.meet-grid{gap:90px;align-items:center}
.meet p{font-size:17px}
.contact{
  background:linear-gradient(180deg,#171715 0%,#0D0D0D 100%);
  border-radius:42px 42px 0 0;
  padding-top:125px !important;
}
.contact-grid{gap:90px;align-items:center}
.contact-detail{padding:20px 0}
footer{padding:34px 0}
.media-frame{
  border-radius:20px;
  box-shadow:0 18px 55px rgba(30,30,27,.09);
}
.media-frame img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.media-frame:hover img{transform:scale(1.014)}
@keyframes softRise{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:translateY(0)}
}
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease,transform .8s ease;
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}
@media(max-width:700px){
  .header-inner{height:90px}
  .hero{
    width:min(calc(100% - 16px),1400px);
    margin-top:8px;
    min-height:72vh;
    border-radius:16px;
  }
  .hero-copy{padding:110px 0 40px}
  .hero h1{font-size:58px}
  section:not(.hero){padding:82px 0}
  section:not(.hero):after{display:none}
  .why-grid{gap:12px}
  .card,.card:nth-child(2),.card:last-child{padding:28px 24px}
  .comparison-section,.process,.meet,.contact{border-radius:26px 26px 0 0}
  .featured-list{gap:78px}
  .featured-project{gap:28px}
  .featured-project:nth-child(odd) .project-media,
  .featured-project:nth-child(even) .project-media{transform:none}
  .project-media,.media-frame,.comparison{border-radius:14px}
  .project-copy h3{font-size:40px}
}


/* Organic section transitions */
.wave-top,
.wave-bottom{
  position:relative;
}
.wave-top::before{
  content:"";
  position:absolute;
  left:0;
  top:-48px;
  width:100%;
  height:70px;
  background:inherit;
  clip-path:ellipse(72% 58% at 50% 100%);
  z-index:0;
  pointer-events:none;
}
.wave-bottom::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-48px;
  width:100%;
  height:70px;
  background:inherit;
  clip-path:ellipse(72% 58% at 50% 0%);
  z-index:2;
  pointer-events:none;
}
.wave-top > .wrap,
.wave-bottom > .wrap{
  position:relative;
  z-index:3;
}
.comparison-section{
  margin-top:48px;
  border-radius:0;
}
.process{
  margin-top:48px;
  border-radius:0;
}
.meet{
  margin-top:48px;
  border-radius:0;
}
.contact{
  margin-top:48px;
  border-radius:0;
}
.featured-projects{
  overflow:visible;
}
@media(max-width:700px){
  .wave-top::before,
  .wave-bottom::after{
    height:48px;
  }
  .wave-top::before{top:-32px}
  .wave-bottom::after{bottom:-32px}
  .comparison-section,
  .process,
  .meet,
  .contact{margin-top:32px}
}


/* Softer, easier before/after comparison */
.comparison-section{
  padding:72px 0 82px !important;
  background:var(--cream);
  overflow:hidden;
}
.comparison-section.wave-top::before,
.comparison-section.wave-bottom::after{display:none}
.ba-copy{
  width:min(100% - 40px,1180px);
  margin:0 auto 18px;
}
.ba-copy .section-label{color:var(--green)}
.ba-copy h2{
  max-width:820px;
  margin:14px 0 14px;
  font-family:Georgia,serif;
  font-weight:400;
  font-size:clamp(48px,7vw,88px);
  line-height:.94;
  letter-spacing:-.045em;
}
.ba-copy p{
  margin:0;
  color:var(--muted);
  font-size:clamp(17px,1.8vw,22px);
  line-height:1.55;
}
.ba-stage{
  position:relative;
  width:min(100% - 24px,1180px);
  min-height:70svh;
  margin:auto;
  overflow:hidden;
  background:#d8d5cf;
  border-radius:34px 34px 46px 46px;
  box-shadow:0 22px 55px rgba(39,36,1,.10);
  touch-action:pan-y;
}
.ba-image,
.ba-after{position:absolute;inset:0}
.ba-image img,
.ba-after img{
  width:100%;height:100%;display:block;object-fit:cover;object-position:center;
}
.ba-before img{object-position:center center}
.ba-after{
  width:50%;
  overflow:hidden;
  border-radius:0 48% 48% 0 / 0 56% 44% 0;
  filter:drop-shadow(8px 0 8px rgba(0,0,0,.14));
}
.ba-after img{
  width:calc(100vw - 24px);
  max-width:1180px;
  object-position:center center;
}
.ba-overlay{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.10),transparent 28%,transparent 72%,rgba(0,0,0,.18));
  z-index:3;
}
.ba-label{
  position:absolute;z-index:6;bottom:22px;
  color:white;background:rgba(13,13,13,.52);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.2);border-radius:999px;
  padding:10px 15px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  pointer-events:none;
}
.ba-label.before{left:18px}.ba-label.after{right:18px}

.ba-inside-prompt{
  position:absolute;z-index:7;left:50%;bottom:18px;transform:translateX(-50%);
  padding:9px 15px;border-radius:999px;white-space:nowrap;
  background:rgba(242,239,234,.90);backdrop-filter:blur(10px);
  border:1px solid rgba(45,45,43,.10);box-shadow:0 8px 22px rgba(0,0,0,.12);
  color:var(--graphite);font-size:10px;line-height:1;letter-spacing:.14em;text-transform:uppercase;
  pointer-events:none;
}
.ba-range{
  position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;
  cursor:ew-resize;z-index:10;
}
.ba-handle{
  position:absolute;z-index:8;left:50%;top:54%;transform:translate(-50%,-50%);
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  color:var(--graphite);background:rgba(242,239,234,.96);
  border:1px solid rgba(45,45,43,.12);box-shadow:0 14px 34px rgba(0,0,0,.20);
  pointer-events:none;font-size:0;
}
.ba-handle::after{
  content:"‹  ›";font-family:Georgia,serif;font-size:29px;letter-spacing:4px;
  transform:translateX(2px);
}
.ba-instruction{
  width:max-content;margin:20px auto 0;color:var(--muted);
  border:1px solid rgba(45,45,43,.14);border-radius:999px;
  padding:12px 18px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  pointer-events:none;background:rgba(255,255,255,.24);
}
@media(max-width:700px){
  .comparison-section{padding:54px 0 64px !important}
  .ba-copy{width:calc(100% - 40px);margin-bottom:14px}
    .ba-stage{width:calc(100% - 24px);min-height:64svh;border-radius:26px 26px 34px 34px}
  .ba-after img{width:calc(100vw - 24px)}
  .ba-handle{width:54px;height:54px;top:52%}
  .ba-inside-prompt{bottom:14px;padding:8px 13px;font-size:9px}
}


/* Renovation journey — tighter, softer and more flowing */
.process{
  padding:76px 0 82px !important;
  overflow:hidden;
}
.process::before{
  clip-path:ellipse(82% 72% at 50% 100%);
}
.process::after{
  clip-path:ellipse(82% 72% at 50% 0%);
}
.process-intro{
  margin-bottom:34px;
  max-width:760px;
}
.process-intro h2{
  margin:10px 0 14px;
  font-size:clamp(52px,7vw,96px);
  line-height:.92;
}
.process-intro p{
  font-size:clamp(18px,1.7vw,24px);
  line-height:1.35;
}
.process-grid{
  position:relative;
  gap:0;
  align-items:stretch;
  padding:14px 0 8px;
}
.process-grid::before{
  content:"";
  position:absolute;
  left:6%;
  right:6%;
  top:56px;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(45,45,43,.16) 12%,rgba(45,45,43,.16) 88%,transparent);
  border-radius:999px;
}
.process .card{
  position:relative;
  z-index:1;
  margin:0 -5px;
  padding:28px 24px 30px;
  border:1px solid rgba(45,45,43,.10);
  border-radius:42px 42px 30px 30px;
  background:rgba(255,255,255,.34);
  backdrop-filter:blur(3px);
}
.process .card:nth-child(even){
  transform:translateY(24px);
  border-radius:30px 30px 42px 42px;
}
.process .card:nth-child(3){
  transform:translateY(6px);
}
.process-icon{
  width:58px;
  height:58px;
  margin-bottom:18px;
  box-shadow:0 8px 22px rgba(45,45,43,.06);
}
.process .number{margin-bottom:7px}
.process .card h3{font-size:25px;line-height:1.08;margin-bottom:10px}
.process .card p{font-size:15px;line-height:1.5;margin:0}
@media(max-width:900px){
  .process-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .process-grid::before{display:none}
  .process .card,.process .card:nth-child(even),.process .card:nth-child(3){margin:0;transform:none}
}
@media(max-width:700px){
  .process{padding:58px 0 62px !important}
  .process-intro{margin-bottom:24px}
  .process-grid{grid-template-columns:1fr;gap:12px;padding-top:0}
  .process .card{padding:24px 22px;border-radius:28px}
}

/* Compact editorial "Why Creative Concepts" section */
.why-editorial{
  padding:78px 0 72px !important;
  overflow:hidden;
  background:var(--cream);
}
.why-editorial::after{display:none !important}
.why-editorial-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
  gap:42px;
  align-items:center;
}
.why-editorial-copy{
  position:relative;
  z-index:2;
  padding:14px 0 16px;
}
.why-editorial .section-label{
  color:var(--green);
  margin-bottom:22px;
}
.why-editorial .section-label::after{
  content:"";
  display:block;
  width:48px;
  height:2px;
  margin-top:16px;
  border-radius:999px;
  background:var(--green);
}
.why-editorial h2{
  max-width:650px;
  margin:0;
  font-family:Georgia,serif;
  font-size:clamp(50px,6.2vw,84px);
  line-height:.94;
  letter-spacing:-.045em;
  font-weight:400;
}
.why-editorial .lead{
  max-width:430px;
  margin:28px 0 0;
  font-size:clamp(18px,1.8vw,24px);
  line-height:1.55;
}
.why-editorial .btn{
  display:inline-flex;
  align-items:center;
  margin-top:28px;
  background:var(--green);
  color:white;
  text-decoration:none;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.why-photo{
  height:510px;
  overflow:hidden;
  border-radius:50% 24px 24px 44% / 38% 24px 24px 62%;
  box-shadow:0 20px 55px rgba(45,45,43,.10);
}
.why-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:54% 50%;
}
@media(max-width:800px){
  .why-editorial{
    padding:50px 0 52px !important;
  }
  .why-editorial-inner{
    grid-template-columns:1fr;
    gap:28px;
  }
  .why-editorial-copy{
    padding:0 8px;
  }
  .why-editorial .section-label{
    margin-bottom:18px;
  }
  .why-editorial h2{
    font-size:clamp(47px,13vw,66px);
    line-height:.96;
  }
  .why-editorial .lead{
    margin-top:22px;
    font-size:19px;
    line-height:1.5;
  }
  .why-photo{
    width:86%;
    height:300px;
    justify-self:end;
    border-radius:48% 18px 18px 42% / 38% 18px 18px 62%;
  }
}
@media(max-width:480px){
  .why-editorial{padding:42px 0 46px !important}
  .why-editorial-inner{gap:24px}
  .why-editorial h2{font-size:49px}
  .why-editorial .lead{font-size:18px}
  .why-photo{
    width:82%;
    height:250px;
  }
}


/* Refined editorial mobile treatment */
@media(max-width:800px){
  .why-editorial{
    padding:42px 0 38px !important;
  }
  .why-editorial-inner{
    display:block;
    position:relative;
    min-height:650px;
  }
  .why-editorial-copy{
    position:relative;
    z-index:2;
    padding:0;
    width:100%;
  }
  .why-editorial .section-label{
    margin-bottom:14px;
  }
  .why-editorial h2{
    max-width:84%;
    font-size:clamp(43px,11.5vw,58px);
    line-height:.94;
    letter-spacing:-.05em;
  }
  .why-editorial .lead{
    max-width:82%;
    margin-top:18px;
    font-size:18px;
    line-height:1.45;
  }
  .why-editorial .btn{
    margin-top:22px;
    position:relative;
    z-index:3;
  }
  .why-photo{
    position:absolute;
    right:-10px;
    top:255px;
    width:46%;
    height:300px;
    margin:0;
    border-radius:58% 18px 18px 46% / 34% 18px 18px 66%;
    box-shadow:0 18px 42px rgba(45,45,43,.12);
    z-index:1;
  }
  .why-photo img{
    object-position:58% 50%;
  }
}
@media(max-width:480px){
  .why-editorial{
    padding:34px 0 30px !important;
  }
  .why-editorial-inner{
    min-height:585px;
  }
  .why-editorial h2{
    max-width:88%;
    font-size:47px;
  }
  .why-editorial .lead{
    max-width:75%;
    font-size:17px;
  }
  .why-photo{
    top:270px;
    right:-8px;
    width:43%;
    height:250px;
  }
}


/* Final blended editorial layout */
.why-editorial{
  position:relative;
  padding:0 !important;
  min-height:650px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.why-editorial .wrap{
  width:min(100% - 34px,1180px);
}
.why-editorial-inner{
  position:relative;
  display:block;
  min-height:650px;
}
.why-editorial-copy{
  position:relative;
  z-index:4;
  width:48%;
  padding:86px 0 70px;
}
.why-editorial h2{
  max-width:610px;
  font-size:clamp(52px,6vw,82px);
  line-height:.95;
}
.why-editorial .lead{
  max-width:390px;
}
.why-photo{
  position:absolute;
  z-index:1;
  top:0;
  right:calc((100vw - min(100% - 34px,1180px)) / -2);
  width:58vw;
  max-width:800px;
  height:100%;
  margin:0;
  overflow:hidden;
  border-radius:0;
  box-shadow:none;
}
.why-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
}
.why-photo::before,
.why-photo::after{
  content:"";
  position:absolute;
  z-index:2;
  background:var(--cream);
  pointer-events:none;
}
.why-photo::before{
  left:-28%;
  top:-14%;
  width:58%;
  height:78%;
  border-radius:50%;
}
.why-photo::after{
  left:-22%;
  bottom:-18%;
  width:52%;
  height:70%;
  border-radius:50%;
}

@media(max-width:800px){
  .why-editorial{
    min-height:610px;
  }
  .why-editorial-inner{
    min-height:610px;
  }
  .why-editorial-copy{
    width:58%;
    padding:56px 0 48px;
  }
  .why-editorial .section-label{
    margin-bottom:20px;
    font-size:11px;
    letter-spacing:.18em;
  }
  .why-editorial h2{
    max-width:none;
    font-size:clamp(42px,10.7vw,58px);
    line-height:.94;
  }
  .why-editorial .lead{
    max-width:280px;
    margin-top:22px;
    font-size:18px;
    line-height:1.5;
  }
  .why-editorial .btn{
    margin-top:24px;
  }
  .why-photo{
    top:0;
    right:-17px;
    width:58%;
    max-width:none;
    height:100%;
    border-radius:0;
  }
  .why-photo img{
    object-position:56% 50%;
  }
  .why-photo::before{
    left:-48%;
    top:-9%;
    width:78%;
    height:69%;
  }
  .why-photo::after{
    left:-38%;
    bottom:-16%;
    width:70%;
    height:64%;
  }
}

@media(max-width:480px){
  .why-editorial{
    min-height:560px;
  }
  .why-editorial-inner{
    min-height:560px;
  }
  .why-editorial-copy{
    width:61%;
    padding:42px 0 36px;
  }
  .why-editorial .section-label{
    margin-bottom:16px;
    font-size:10px;
  }
  .why-editorial h2{
    font-size:clamp(39px,11.8vw,49px);
    letter-spacing:-.055em;
  }
  .why-editorial .lead{
    max-width:220px;
    margin-top:18px;
    font-size:16px;
    line-height:1.5;
  }
  .why-editorial .btn{
    margin-top:20px;
    padding:15px 22px;
  }
  .why-photo{
    right:-17px;
    width:57%;
  }
  .why-photo img{
    object-position:58% 50%;
  }
  .why-photo::before{
    left:-55%;
    top:-8%;
    width:86%;
    height:68%;
  }
  .why-photo::after{
    left:-43%;
    bottom:-17%;
    width:76%;
    height:63%;
  }
}


/* Clean mobile correction: no overlap, compact integrated image */
@media(max-width:800px){
  .why-editorial{
    min-height:auto !important;
    padding:0 !important;
  }
  .why-editorial-inner{
    min-height:auto !important;
    display:flex !important;
    flex-direction:column;
  }
  .why-editorial-copy{
    width:100% !important;
    padding:44px 0 26px !important;
  }
  .why-editorial .section-label{
    margin-bottom:16px !important;
  }
  .why-editorial h2{
    max-width:100% !important;
    font-size:clamp(43px,11.5vw,58px) !important;
    line-height:.95 !important;
  }
  .why-editorial .lead{
    max-width:100% !important;
    margin-top:20px !important;
    font-size:18px !important;
    line-height:1.5 !important;
  }
  .why-editorial .btn{
    margin-top:22px !important;
  }
  .why-photo{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:290px !important;
    max-width:none !important;
    margin:0 0 34px !important;
    border-radius:90px 18px 18px 18px !important;
    overflow:hidden !important;
    box-shadow:0 16px 38px rgba(45,45,43,.10) !important;
  }
  .why-photo::before,
  .why-photo::after{
    display:none !important;
  }
  .why-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:52% 54% !important;
  }
}
@media(max-width:480px){
  .why-editorial-copy{
    padding:34px 0 22px !important;
  }
  .why-editorial h2{
    font-size:46px !important;
  }
  .why-editorial .lead{
    font-size:17px !important;
  }
  .why-photo{
    height:245px !important;
    margin-bottom:26px !important;
    border-radius:72px 16px 16px 16px !important;
  }
}



/* Precision refinement pass */
body.menu-open{overflow:hidden}
.header-inner{height:76px}
.brand strong{font-size:34px}
.brand>span{font-size:15px;letter-spacing:.17em;font-weight:500}
.menu-toggle{position:relative;z-index:32;transition:transform .25s ease}
.menu-toggle:hover{transform:scale(1.04)}

.menu-backdrop{position:fixed;inset:0;z-index:29;background:rgba(13,13,13,.28);backdrop-filter:blur(3px);opacity:0;transition:opacity .35s ease}
.menu-backdrop.is-open{opacity:1}
.site-menu{position:fixed;z-index:30;top:0;right:0;width:min(88vw,420px);height:100svh;padding:24px 26px 30px;background:var(--cream);box-shadow:-18px 0 60px rgba(13,13,13,.18);transform:translateX(105%);transition:transform .42s cubic-bezier(.22,.8,.24,1);display:flex;flex-direction:column}
.site-menu.is-open{transform:translateX(0)}
.site-menu-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--line);font-family:Georgia,serif;font-size:22px}
.menu-close{border:0;background:none;color:var(--graphite);font:300 36px/1 Arial;cursor:pointer;padding:0 2px}
.site-menu-links{display:flex;flex-direction:column;padding:38px 0;gap:4px}
.site-menu-links a{color:var(--graphite);text-decoration:none;font-family:Georgia,serif;font-size:clamp(36px,8vw,50px);line-height:1.12;padding:8px 0;transition:transform .2s ease,color .2s ease}
.site-menu-links a:hover{transform:translateX(5px);color:var(--green)}
.site-menu-foot{margin-top:auto;padding-top:22px;border-top:1px solid var(--line);font-size:11px;line-height:1.7;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* Tighter overall rhythm */
.process{padding-top:62px !important;padding-bottom:68px !important}
.featured-projects{padding-top:68px !important;padding-bottom:74px !important}
.meet{padding-top:68px !important;padding-bottom:72px !important}
.contact{padding-top:72px !important;padding-bottom:72px !important}
.process-intro{margin-bottom:26px}
.split-intro{margin-bottom:34px !important}
.featured-list{gap:58px !important}

/* Soft visual joins between sections */
.comparison-section,.process,.featured-projects,.meet,.contact{position:relative}
.comparison-section::after,.featured-projects::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:28px;background:var(--cream);clip-path:ellipse(58% 38% at 50% 100%);z-index:4;pointer-events:none}
.process::after,.meet::after{height:28px !important;opacity:.95}

/* Editorial image blend */
.why-editorial{border-bottom:0 !important}
.why-editorial::after{content:"" !important;display:block !important;position:absolute;left:0;right:0;bottom:-1px;height:34px;background:var(--cream);clip-path:ellipse(60% 42% at 50% 100%);z-index:5;pointer-events:none}
.why-photo img{filter:saturate(.94) contrast(.98)}

/* More confident service line */
@media(max-width:700px){
  .header-inner{height:74px;grid-template-columns:72px 1fr 72px}
  .brand strong{font-size:29px}
  .brand>span{font-size:12.5px;letter-spacing:.13em;margin-top:6px;white-space:nowrap}
  .hero{min-height:64svh}
  .process{padding:50px 0 54px !important}
  .featured-projects{padding:54px 0 58px !important}
  .meet{padding:54px 0 58px !important}
  .contact{padding:58px 0 !important}
  .featured-list{gap:42px !important}
  .why-editorial{padding-bottom:0 !important}
}
@media(max-width:390px){
  .brand strong{font-size:27px}
  .brand>span{font-size:11.5px;letter-spacing:.1em}
}

/* Refined motion */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,.8,.24,1)}
.reveal.visible{opacity:1;transform:none}
.project{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,.8,.24,1)}
.project.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;animation-iteration-count:1 !important}
  .reveal,.project{opacity:1;transform:none}
}


/* Mobile centring and horizontal-overflow correction */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
.site-header,main,footer{
  width:100%;
  max-width:100%;
}
.header-inner{
  width:min(calc(100% - 24px),1180px);
  grid-template-columns:72px minmax(0,1fr) 72px;
}
.brand{
  min-width:0;
  width:100%;
  display:block;
  overflow:hidden;
}
.brand strong,
.brand>span{
  max-width:100%;
}
.site-menu{
  visibility:hidden;
  pointer-events:none;
}
.site-menu.is-open{
  visibility:visible;
  pointer-events:auto;
}
@media(max-width:700px){
  .header-inner{
    width:100%;
    padding:0 18px;
    grid-template-columns:62px minmax(0,1fr) 62px;
  }
  .brand strong{
    font-size:clamp(25px,7.6vw,32px);
    white-space:nowrap;
  }
  .brand>span{
    font-size:clamp(8px,2.35vw,11px);
    letter-spacing:.12em;
    white-space:nowrap;
  }
  .header-contact{
    justify-self:start;
  }
  .menu-toggle{
    justify-self:end;
  }
  .hero{
    width:calc(100% - 24px);
    margin-left:auto;
    margin-right:auto;
  }
  .wrap,
  .why-editorial .wrap{
    width:calc(100% - 32px);
    margin-left:auto;
    margin-right:auto;
  }
}



/* Final mobile header fit — keeps every header item fully inside the viewport */
.site-header{overflow:visible}
.header-inner{min-width:0;max-width:1180px;margin-inline:auto}
.header-contact,.brand,.menu-toggle{min-width:0}
.menu-toggle{flex:0 0 auto}
@media(max-width:700px){
  .site-header{width:100%;overflow:visible}
  .header-inner{
    width:100%;
    max-width:100%;
    height:76px;
    margin:0;
    padding-left:max(12px,env(safe-area-inset-left));
    padding-right:max(12px,env(safe-area-inset-right));
    grid-template-columns:54px minmax(0,1fr) 54px;
    column-gap:6px;
    overflow:visible;
  }
  .header-contact{
    width:54px;
    font-size:9.5px;
    letter-spacing:.11em;
    white-space:nowrap;
  }
  .brand{
    width:100%;
    max-width:100%;
    overflow:visible;
    text-align:center;
  }
  .brand strong{
    display:inline-block;
    max-width:100%;
    font-size:clamp(23px,7.2vw,30px);
    line-height:1.02;
    white-space:nowrap;
  }
  .brand>span{
    display:block;
    max-width:100%;
    margin-top:5px;
    font-size:clamp(7.8px,2.15vw,10px);
    letter-spacing:.105em;
    line-height:1.15;
    white-space:nowrap;
  }
  .menu-toggle{
    width:24px;
    height:19px;
    margin-left:auto;
    justify-self:end;
  }
  .menu-toggle span{width:24px;height:1.5px}
}
@media(max-width:360px){
  .header-inner{grid-template-columns:48px minmax(0,1fr) 48px;padding-left:10px;padding-right:10px;column-gap:4px}
  .header-contact{width:48px;font-size:8.5px;letter-spacing:.09em}
  .brand strong{font-size:22px}
  .brand>span{font-size:7.3px;letter-spacing:.08em}
  .menu-toggle,.menu-toggle span{width:22px}
}



/* Final sticky mobile header correction */
:root{--cc-header-height:82px}
.site-header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:1000;
  background:rgba(242,239,234,.96);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
body{padding-top:var(--cc-header-height)}
.header-inner{
  width:min(calc(100% - 28px),1180px) !important;
  max-width:1180px !important;
  height:var(--cc-header-height) !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr) 64px !important;
  column-gap:8px !important;
  align-items:center !important;
  overflow:visible !important;
}
.header-contact{
  justify-self:start !important;
  width:auto !important;
  min-width:0 !important;
  white-space:nowrap !important;
}
.brand{
  justify-self:center !important;
  width:100% !important;
  min-width:0 !important;
  text-align:center !important;
  overflow:visible !important;
}
.menu-toggle{
  position:relative !important;
  right:auto !important;
  top:auto !important;
  justify-self:end !important;
  align-self:center !important;
  width:28px !important;
  height:22px !important;
  margin:0 !important;
  padding:0 !important;
  z-index:1002 !important;
}
.menu-toggle span{width:28px !important}
.site-menu{z-index:1001 !important}
.menu-backdrop{z-index:1000 !important}

@media(max-width:700px){
  :root{--cc-header-height:82px}
  .header-inner{
    width:100% !important;
    max-width:100% !important;
    padding-left:max(14px,env(safe-area-inset-left)) !important;
    padding-right:max(14px,env(safe-area-inset-right)) !important;
    grid-template-columns:58px minmax(0,1fr) 58px !important;
    column-gap:6px !important;
  }
  .header-contact{
    font-size:9px !important;
    letter-spacing:.11em !important;
  }
  .brand strong{
    font-size:clamp(24px,7.3vw,31px) !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  .brand>span{
    margin-top:6px !important;
    font-size:clamp(8px,2.3vw,10.5px) !important;
    letter-spacing:.11em !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }
  .menu-toggle{
    width:26px !important;
    height:21px !important;
  }
  .menu-toggle span{width:26px !important}
}
@media(max-width:360px){
  .header-inner{
    padding-left:max(10px,env(safe-area-inset-left)) !important;
    padding-right:max(10px,env(safe-area-inset-right)) !important;
    grid-template-columns:50px minmax(0,1fr) 50px !important;
    column-gap:4px !important;
  }
  .header-contact{font-size:8px !important;letter-spacing:.08em !important}
  .brand strong{font-size:22px !important}
  .brand>span{font-size:7.2px !important;letter-spacing:.07em !important}
  .menu-toggle,.menu-toggle span{width:24px !important}
}


/* Integrated editorial photo refinement */
.why-editorial{
  overflow:hidden;
}
.why-editorial-inner{
  position:relative;
}
.why-photo{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.why-photo::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:26%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,var(--cream) 0%,rgba(242,239,234,.74) 25%,rgba(242,239,234,0) 100%);
}
.why-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

@media (max-width:700px){
  .why-editorial{
    padding:34px 0 28px !important;
  }
  .why-editorial-inner{
    display:block !important;
  }
  .why-editorial-copy{
    position:relative;
    z-index:4;
    padding-bottom:0 !important;
  }
  .why-editorial .lead{
    max-width:94%;
    margin-bottom:28px !important;
  }
  .why-editorial .btn{
    position:relative;
    z-index:6;
    margin-bottom:-30px !important;
    box-shadow:0 14px 28px rgba(45,45,43,.12);
  }
  .why-photo{
    z-index:2;
    width:calc(100% + 8px) !important;
    margin:0 -4px !important;
    height:470px !important;
    border-radius:108px 28px 28px 28px !important;
    transform:none !important;
  }
  .why-photo::before{
    height:31%;
    background:linear-gradient(180deg,var(--cream) 0%,rgba(242,239,234,.88) 22%,rgba(242,239,234,.34) 58%,rgba(242,239,234,0) 100%);
  }
  .why-photo img{
    object-position:51% 50% !important;
    transform:scale(1.035);
  }
}

@media (max-width:430px){
  .why-editorial .btn{margin-bottom:-27px !important}
  .why-photo{
    height:445px !important;
    border-radius:92px 24px 24px 24px !important;
  }
}


/* Premium interaction refinement */
.header-contact,
.menu-toggle,
.btn,
.hero-actions a,
.project-tags span,
.site-menu-links a{
  -webkit-tap-highlight-color:transparent;
}

.header-contact{
  position:relative;
  text-decoration:none;
  transition:opacity .22s ease;
}
.header-contact::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-5px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .28s ease;
}
.header-contact:hover::after,
.header-contact:focus-visible::after{transform:scaleX(1)}

.menu-toggle span{
  transform-origin:center;
  transition:transform .32s cubic-bezier(.22,.8,.24,1),opacity .2s ease,width .25s ease;
}
body.menu-open .menu-toggle span:nth-child(1){transform:translateY(10.25px) rotate(45deg)}
body.menu-open .menu-toggle span:nth-child(2){opacity:0;transform:scaleX(.2)}
body.menu-open .menu-toggle span:nth-child(3){transform:translateY(-10.25px) rotate(-45deg)}

.btn,
.hero-actions a,
.site-menu-links a{
  transition:transform .24s cubic-bezier(.22,.8,.24,1),box-shadow .24s ease,background-color .24s ease,color .24s ease,opacity .24s ease;
}
.btn:hover,
.hero-actions a:hover{transform:translateY(-2px)}
.btn:active,
.hero-actions a:active{transform:translateY(0) scale(.985)}
.btn:focus-visible,
.hero-actions a:focus-visible,
.header-contact:focus-visible,
.menu-toggle:focus-visible,
.menu-close:focus-visible{
  outline:2px solid var(--green);
  outline-offset:4px;
}

/* Give imagery one consistent, soft page rhythm */
.hero,
.why-photo,
.project-media,
.ba-stage{
  box-shadow:0 14px 34px rgba(45,45,43,.08);
}
.project-media img,
.why-photo img,
.hero{
  transition:transform .7s cubic-bezier(.22,.8,.24,1),filter .35s ease;
}
@media(hover:hover){
  .project:hover .project-media img{transform:scale(1.018)}
  .why-photo:hover img{transform:scale(1.012)}
}

/* Slightly calmer sticky header while scrolling */
.site-header{
  transition:box-shadow .3s ease,background-color .3s ease;
}
.site-header.is-scrolled{
  box-shadow:0 8px 26px rgba(45,45,43,.08);
  background:rgba(242,239,234,.985);
}

@media(max-width:700px){
  .btn,
  .hero-actions a{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
  .site-menu-links a{padding:10px 0}
}


/* Process section — softened editorial journey, no graphics */
.process{
  padding:64px 0 70px !important;
  background:linear-gradient(180deg,#e5eaf5 0%,#dfe5f3 100%);
}
.process-intro{
  max-width:680px;
  margin-bottom:28px;
}
.process-intro .section-label{
  font-size:12px;
  letter-spacing:.17em;
}
.process-intro h2{
  margin:10px 0 12px;
  font-size:clamp(48px,7vw,82px);
  line-height:.94;
  letter-spacing:-.035em;
}
.process-intro p{
  max-width:540px;
  margin:0;
  font-size:clamp(17px,1.6vw,22px);
  line-height:1.45;
  color:rgba(45,45,43,.68);
}
.process-grid{
  display:block !important;
  max-width:860px;
  margin:0;
  padding:0;
}
.process-grid::before{display:none !important}
.process .card,
.process .card:nth-child(even),
.process .card:nth-child(3){
  position:relative;
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  column-gap:20px;
  row-gap:4px;
  align-items:start;
  margin:0 !important;
  padding:25px 0 27px !important;
  transform:none !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.process .card + .card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,rgba(45,45,43,.18),rgba(45,45,43,.05) 72%,transparent);
}
.process .number{
  grid-column:1;
  grid-row:1 / span 2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin:1px 0 0 !important;
  border:1px solid rgba(85,115,115,.30);
  border-radius:50%;
  font-size:12px;
  letter-spacing:.14em;
  color:var(--green);
  background:rgba(242,239,234,.42);
}
.process .card h3{
  grid-column:2;
  margin:0 0 6px !important;
  max-width:620px;
  font-size:clamp(25px,3vw,34px) !important;
  line-height:1.08 !important;
  letter-spacing:-.018em;
  font-weight:400;
}
.process .card p{
  grid-column:2;
  margin:0 !important;
  max-width:650px;
  font-size:clamp(15px,1.4vw,18px) !important;
  line-height:1.55 !important;
  color:rgba(45,45,43,.66);
}
.process .card p strong{font-weight:500;color:var(--graphite)}
@media(max-width:700px){
  .process{padding:48px 0 54px !important}
  .process-intro{margin-bottom:17px}
  .process-intro h2{font-size:52px;line-height:.93}
  .process-intro p{font-size:17px;max-width:330px}
  .process .card,
  .process .card:nth-child(even),
  .process .card:nth-child(3){
    grid-template-columns:48px minmax(0,1fr);
    column-gap:14px;
    padding:21px 0 23px !important;
  }
  .process .number{
    width:40px;
    height:40px;
    font-size:10px;
  }
  .process .card h3{
    font-size:26px !important;
    line-height:1.08 !important;
    margin-bottom:7px !important;
  }
  .process .card p{
    font-size:15px !important;
    line-height:1.48 !important;
  }
}


/* Final flow, journey and typography refinement */
:root{
  --soft-blue:#e7ebf5;
  --soft-cream:#f5f2ed;
  --soft-green:#6f8887;
}
body{overflow-x:hidden}
section{position:relative}

/* Soft colour handovers instead of abrupt blocks */
.why-editorial,
.comparison-section,
.journey-soft,
.featured-projects,
.meet,
.contact{isolation:isolate}
.why-editorial::after,
.comparison-section::after,
.journey-soft::after,
.featured-projects::after,
.meet::after{
  content:"";
  position:absolute;
  z-index:3;
  pointer-events:none;
  left:-5%;
  width:110%;
  height:90px;
  bottom:-45px;
  border-radius:50% 50% 0 0 / 70% 70% 0 0;
}
.why-editorial::after{
  background:linear-gradient(180deg,rgba(242,239,234,0),rgba(231,235,245,.88) 72%,var(--soft-blue));
}
.comparison-section::after{
  background:linear-gradient(180deg,rgba(242,239,234,0),rgba(231,235,245,.74) 66%,var(--soft-blue));
}
.journey-soft::after{
  background:linear-gradient(180deg,rgba(231,235,245,0),rgba(242,239,234,.86) 70%,var(--cream));
}
.featured-projects::after{
  background:linear-gradient(180deg,rgba(242,239,234,0),rgba(223,229,243,.7) 70%,var(--blue));
}
.meet::after{
  background:linear-gradient(180deg,rgba(223,229,243,0),rgba(242,239,234,.9) 70%,var(--cream));
}

/* Give every transition breathing room for the blend */
.why-editorial,.comparison-section,.journey-soft,.featured-projects,.meet{padding-bottom:clamp(80px,10vw,124px)!important}
.comparison-section,.journey-soft,.featured-projects,.meet,.contact{padding-top:clamp(84px,10vw,128px)!important}

/* Softer, more personal journey */
.journey-soft{
  background:
    radial-gradient(circle at 92% 8%,rgba(255,255,255,.6),transparent 34%),
    linear-gradient(180deg,var(--soft-blue) 0%,#e9edf5 62%,#eef0f3 100%);
  overflow:hidden;
}
.journey-soft::before{
  content:"";
  position:absolute;
  z-index:0;
  width:62vw;
  height:62vw;
  max-width:720px;
  max-height:720px;
  left:-28vw;
  top:30%;
  border:1px solid rgba(85,115,115,.13);
  border-radius:47% 53% 56% 44% / 57% 43% 57% 43%;
  transform:rotate(12deg);
}
.journey-wrap{position:relative;z-index:1}
.process-intro{max-width:760px;margin-bottom:44px}
.process-intro .section-label{color:var(--green)}
.process-intro h2{
  font-size:clamp(45px,6.1vw,78px)!important;
  line-height:.97!important;
  letter-spacing:-.035em;
  margin:13px 0 18px!important;
  max-width:780px;
}
.process-intro p{
  max-width:650px;
  font-size:clamp(18px,1.55vw,22px)!important;
  line-height:1.52!important;
  color:#62645f;
}
.journey-list{max-width:980px;margin:0 auto}
.journey-step{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:24px;
  align-items:start;
  padding:30px 4px 34px;
  position:relative;
}
.journey-step::after{
  content:"";
  position:absolute;
  bottom:0;
  left:96px;
  right:3%;
  height:1px;
  background:linear-gradient(90deg,rgba(85,115,115,.28),rgba(85,115,115,.04));
}
.journey-step:last-child::after{display:none}
.journey-step:nth-child(even){margin-left:8%}
.journey-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:rgba(242,239,234,.72);
  border:1px solid rgba(85,115,115,.18);
  color:var(--green);
  font-size:13px;
  letter-spacing:.14em;
  box-shadow:0 12px 30px rgba(45,45,43,.05);
}
.journey-copy h3{
  margin:0 0 9px;
  font-family:Georgia,serif;
  font-weight:400;
  font-size:clamp(29px,3vw,43px);
  line-height:1.04;
  letter-spacing:-.025em;
}
.journey-copy p{
  margin:0;
  max-width:690px;
  color:#666862;
  font-size:clamp(16px,1.3vw,19px);
  line-height:1.58;
}

/* Balanced hierarchy across the page */
.hero h1,.why-editorial h2,.ba-copy h2,.split-intro h2,.meet h2,.contact h2{
  letter-spacing:-.035em;
}
.why-editorial h2,.ba-copy h2,.split-intro h2,.meet h2{
  font-size:clamp(44px,6.2vw,78px)!important;
  line-height:.98!important;
}
.hero-copy h1{font-size:clamp(52px,8vw,92px)!important;line-height:.92!important}
.why-editorial p,.ba-copy p,.split-intro p,.meet p,.contact p{
  font-size:clamp(17px,1.5vw,21px)!important;
  line-height:1.55!important;
}
.section-label{font-size:12px;letter-spacing:.18em}

@media(max-width:700px){
  .why-editorial::after,.comparison-section::after,.journey-soft::after,.featured-projects::after,.meet::after{
    height:62px;bottom:-31px;left:-12%;width:124%;
  }
  .why-editorial,.comparison-section,.journey-soft,.featured-projects,.meet{padding-bottom:82px!important}
  .comparison-section,.journey-soft,.featured-projects,.meet,.contact{padding-top:82px!important}
  .process-intro{margin-bottom:24px}
  .process-intro h2{font-size:45px!important;line-height:.96!important}
  .process-intro p{font-size:18px!important;line-height:1.5!important}
  .journey-step,
  .journey-step:nth-child(even){
    grid-template-columns:48px minmax(0,1fr);
    gap:16px;
    margin-left:0;
    padding:24px 0 28px;
  }
  .journey-step::after{left:64px;right:0}
  .journey-number{width:44px;height:44px;font-size:11px}
  .journey-copy h3{font-size:30px;line-height:1.02;margin-bottom:8px}
  .journey-copy p{font-size:16px;line-height:1.52}
  .why-editorial h2,.ba-copy h2,.split-intro h2,.meet h2{font-size:45px!important;line-height:.98!important}
  .hero-copy h1{font-size:54px!important;line-height:.91!important}
  .why-editorial p,.ba-copy p,.split-intro p,.meet p,.contact p{font-size:18px!important;line-height:1.5!important}
}


/* TRUE CONTINUOUS COLOUR BLENDS — final override */
.why-editorial::after,
.comparison-section::after,
.journey-soft::after,
.featured-projects::after,
.meet::after{display:none!important;content:none!important}

.why-editorial{
  background:var(--cream)!important;
}

/* Cream gently becomes pale blue before the journey */
.comparison-section{
  background:linear-gradient(
    180deg,
    var(--cream) 0%,
    var(--cream) 68%,
    #f0f1f2 78%,
    #e9edf5 89%,
    var(--soft-blue) 100%
  )!important;
  border-radius:0!important;
}

/* Continue from blue, then drift naturally back to cream */
.journey-soft{
  background:
    radial-gradient(circle at 92% 12%,rgba(255,255,255,.52),transparent 34%),
    linear-gradient(
      180deg,
      var(--soft-blue) 0%,
      #e8ecf5 52%,
      #eceef1 72%,
      #f1efeb 88%,
      var(--cream) 100%
    )!important;
  border-radius:0!important;
}

/* Keep the project area warm and carry it into the Meet Paul tone */
.featured-projects{
  background:linear-gradient(
    180deg,
    var(--cream) 0%,
    var(--cream) 70%,
    #efebe5 84%,
    #e9e6df 100%
  )!important;
}

/* Warm neutral section slowly deepens into the contact section */
.meet{
  background:linear-gradient(
    180deg,
    #e9e6df 0%,
    #e7e3dc 66%,
    #c9c5be 82%,
    #706f69 93%,
    #171715 100%
  )!important;
  border-radius:0!important;
  padding-bottom:clamp(130px,16vw,210px)!important;
}

.contact{
  background:linear-gradient(180deg,#171715 0%,#0D0D0D 28%,#0D0D0D 100%)!important;
  border-radius:0!important;
  margin-top:-1px;
}

/* Prevent faint seams caused by sub-pixel rendering */
.why-editorial,.comparison-section,.journey-soft,.featured-projects,.meet,.contact{
  margin-top:-1px;
  box-shadow:none!important;
}

@media(max-width:700px){
  .comparison-section,
  #before-after{
    background:linear-gradient(180deg,var(--cream) 0%,var(--cream) 64%,#eef0f3 77%,#e9edf5 90%,var(--soft-blue) 100%)!important;
    padding-bottom:104px!important;
  }
  .journey-soft{
    background:linear-gradient(180deg,var(--soft-blue) 0%,#e8ecf5 54%,#edefef 75%,#f2f0ec 90%,var(--cream) 100%)!important;
    padding-bottom:106px!important;
  }
  .featured-projects{
    background:linear-gradient(180deg,var(--cream) 0%,var(--cream) 72%,#efebe5 87%,#e9e6df 100%)!important;
    padding-bottom:104px!important;
  }
  .meet{
    background:linear-gradient(180deg,#e9e6df 0%,#e7e3dc 65%,#d3cfc8 80%,#87857f 93%,#171715 100%)!important;
    padding-bottom:150px!important;
  }
  .contact{padding-top:88px!important}
}

.journey-soft .process-intro{max-width:680px;margin-bottom:26px}
.journey-soft .process-intro h2{font-size:clamp(42px,5.8vw,70px)!important;line-height:.98!important;margin:10px 0 14px!important}
.journey-soft .process-intro p{max-width:580px;font-size:clamp(17px,1.4vw,20px)!important;line-height:1.48!important}
.journey-list{max-width:880px;margin:0}
.journey-step,.journey-step:nth-child(even){grid-template-columns:56px minmax(0,1fr);gap:18px;margin-left:0;padding:24px 0 25px}
.journey-step::after{left:74px;right:8%;height:1px;background:linear-gradient(90deg,rgba(85,115,115,.16),transparent)}
.journey-number{width:42px;height:30px;border:0;border-radius:999px;background:rgba(242,239,234,.76);box-shadow:none;font-size:10px;letter-spacing:.12em}
.journey-copy h3{font-size:clamp(28px,2.5vw,38px);line-height:1.06;margin:0 0 7px;letter-spacing:-.025em}
.journey-copy p{max-width:650px;font-size:clamp(16px,1.2vw,18px);line-height:1.5;color:#666862}
.whatsapp-note{max-width:880px;margin:28px 0 0;padding:22px 24px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;background:rgba(242,239,234,.68);border-radius:26px;box-shadow:0 14px 34px rgba(45,45,43,.045)}
.whatsapp-mark{display:inline-flex;align-items:center;justify-content:center;min-width:82px;height:34px;padding:0 13px;border-radius:999px;background:var(--green);color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.whatsapp-note h3{margin:1px 0 5px;font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.08}
.whatsapp-note p{margin:0;max-width:640px;color:#666862;font-size:16px;line-height:1.5}
@media(max-width:700px){
  .journey-soft .process-intro{margin-bottom:16px}
  .journey-soft .process-intro h2{font-size:41px!important}
  .journey-soft .process-intro p{font-size:17px!important}
  .journey-step,.journey-step:nth-child(even){grid-template-columns:44px minmax(0,1fr);gap:12px;padding:20px 0 22px}
  .journey-step::after{left:56px;right:0}
  .journey-number{width:38px;height:28px;font-size:10px}
  .journey-copy h3{font-size:28px;line-height:1.05}
  .journey-copy p{font-size:16px;line-height:1.46}
  .whatsapp-note{margin-top:22px;padding:19px 18px;grid-template-columns:1fr;gap:11px;border-radius:22px}
  .whatsapp-mark{justify-self:start}
  .whatsapp-note h3{font-size:23px}
  .whatsapp-note p{font-size:16px}
}

/* Final-flow patch: journey leads directly into the before/after result */
#renovation-journey{padding-bottom:34px!important}
#before-after{padding-top:22px!important;margin-top:0!important}
#renovation-journey + #before-after{position:relative}
@media (max-width:700px){
  #renovation-journey{padding-bottom:26px!important}
  #before-after{padding-top:16px!important}
}

.what-we-do{
  padding:88px 0 82px;
  background:var(--cream);
  border-bottom:1px solid var(--line);
}
.what-we-do-inner{
  display:grid;
  grid-template-columns:minmax(250px,.85fr) minmax(0,1.35fr);
  gap:clamp(56px,8vw,110px);
  align-items:start;
}
.what-we-do-heading h2{
  font-family:Georgia,serif;
  font-weight:400;
  font-size:clamp(42px,5vw,66px);
  line-height:.98;
  letter-spacing:-.025em;
  margin:14px 0 24px;
}
.what-we-do-heading p{
  margin:0;
  max-width:430px;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}
.what-we-do-list{
  border-top:1px solid var(--line);
}
.service-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:22px;
  padding:28px 0 30px;
  border-bottom:1px solid var(--line);
}
.service-icon{
  width:34px;
  height:34px;
  color:var(--green);
  margin-top:1px;
}
.service-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.service-item h3{
  margin:0 0 8px;
  font-family:Georgia,serif;
  font-size:clamp(22px,2.2vw,29px);
  line-height:1.15;
  font-weight:400;
}
.service-item p{
  margin:0;
  max-width:610px;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.6;
}
@media (max-width:760px){
  .what-we-do{
    padding:62px 0 58px;
  }
  .what-we-do-inner{
    grid-template-columns:1fr;
    gap:42px;
  }
  .what-we-do-heading h2{
    font-size:46px;
    margin-bottom:20px;
  }
  .what-we-do-heading p{
    font-size:15.5px;
  }
  .service-item{
    grid-template-columns:34px 1fr;
    gap:18px;
    padding:24px 0 26px;
  }
  .service-icon{
    width:29px;
    height:29px;
  }
  .service-item h3{
    font-size:24px;
  }
  .service-item p{
    font-size:15px;
  }
}

.bathroom-feature-section{
  padding:24px 0 78px;
  background:var(--cream);
}
.bathroom-feature{
  margin:0;
  overflow:hidden;
  border-radius:clamp(22px,4vw,42px);
}
.bathroom-feature img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center;
}
@media (max-width:760px){
  .bathroom-feature-section{
    padding:8px 0 58px;
  }
  .bathroom-feature img{
    aspect-ratio:4/5;
    object-position:center;
  }
}

.image-services{
  background:var(--cream);
  padding:120px 0 140px;
}
.image-services__header{
  display:grid;
  grid-template-columns:1fr 2fr;
  align-items:end;
  gap:48px;
  margin-bottom:90px;
}
.image-services__header .eyebrow{
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:12px;
  color:rgba(48,61,65,.52);
}
.image-services__header h2{
  margin:0;
  font-size:clamp(64px,8.5vw,120px);
  line-height:.9;
  font-weight:500;
  letter-spacing:-.055em;
  text-align:right;
}

.image-service-row{
  display:grid;
  grid-template-columns:minmax(240px,.62fr) minmax(560px,1.8fr);
  gap:70px;
  align-items:center;
  padding:76px 0 108px;
  border-top:1px solid rgba(48,61,65,.14);
}
.image-service-row--reverse{
  grid-template-columns:minmax(560px,1.8fr) minmax(240px,.62fr);
}
.image-service-row--reverse .image-service-copy{order:2;}
.image-service-row--reverse figure{order:1;}

.image-service-copy{
  align-self:center;
}
.image-service-copy span{
  display:block;
  margin-bottom:28px;
  font-size:11px;
  letter-spacing:.18em;
  color:rgba(48,61,65,.42);
}
.image-service-copy h3{
  margin:0 0 22px;
  max-width:520px;
  font-size:clamp(54px,6.5vw,92px);
  line-height:.92;
  font-weight:500;
  letter-spacing:-.05em;
}
.image-service-copy p{
  margin:0;
  max-width:360px;
  font-size:17px;
  line-height:1.72;
  color:rgba(48,61,65,.67);
}

.image-service-row figure{
  margin:0;
  overflow:hidden;
  aspect-ratio:16/10;
  border-radius:34px 34px 120px 34px;
}
.image-service-row--reverse figure{
  border-radius:34px 120px 34px 34px;
}
.image-service-row:nth-of-type(4) figure{
  border-radius:120px 34px 34px 34px;
}
.image-service-row img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.001);
  transition:transform .7s ease;
}
.image-service-row:hover img{
  transform:scale(1.025);
}

/* Make the layout feel deliberately different from row to row */
.image-service-row:nth-of-type(2){
  margin-right:clamp(0px,4vw,70px);
}
.image-service-row:nth-of-type(3){
  margin-left:clamp(0px,5vw,90px);
}
.image-service-row:nth-of-type(4){
  margin-right:clamp(0px,7vw,120px);
}

@media(max-width:980px){
  .image-services__header{
    grid-template-columns:1fr;
    gap:22px;
  }
  .image-services__header h2{
    text-align:left;
  }
  .image-service-row,
  .image-service-row--reverse{
    grid-template-columns:1fr;
    gap:34px;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .image-service-row--reverse .image-service-copy,
  .image-service-row--reverse figure{
    order:initial;
  }
  .image-service-copy h3{
    max-width:none;
  }
}

@media(max-width:760px){
  .image-services{
    padding:78px 0 92px;
  }
  .image-services__header{
    margin-bottom:48px;
  }
  .image-services__header h2{
    font-size:56px;
  }
  .image-service-row,
  .image-service-row--reverse{
    padding:46px 0 70px;
    gap:26px;
  }
  .image-service-copy span{
    margin-bottom:16px;
  }
  .image-service-copy h3{
    margin-bottom:16px;
    font-size:48px;
  }
  .image-service-copy p{
    font-size:16px;
  }
  .image-service-row figure,
  .image-service-row--reverse figure,
  .image-service-row:nth-of-type(4) figure{
    aspect-ratio:4/3;
    border-radius:24px 24px 72px 24px;
  }
}

/* Slightly tighter vertical rhythm */
section{
  scroll-margin-top:90px;
}
.image-services{
  padding-top:88px !important;
  padding-bottom:92px !important;
}
.image-services__header{
  margin-bottom:56px !important;
}
.image-service-row,
.image-service-row--reverse{
  padding-top:48px !important;
  padding-bottom:66px !important;
  gap:48px !important;
}
.image-service-copy span{
  margin-bottom:18px !important;
}
.image-service-copy h3{
  margin-bottom:14px !important;
}
.image-service-copy p{
  line-height:1.58 !important;
}
.bathroom-feature-section{
  padding-top:34px !important;
  padding-bottom:50px !important;
}
.process,
.how-it-works,
.how-we-do-it{
  padding-top:74px !important;
  padding-bottom:78px !important;
}

/* Reusable wave treatment at colour transitions */
.image-services,
.bathroom-feature-section,
.process,
.how-it-works,
.how-we-do-it,
.about,
footer{
  position:relative;
  overflow:hidden;
}

.image-services::after,
.bathroom-feature-section::before,
.process::before,
.how-it-works::before,
.how-we-do-it::before,
.about::before,
footer::before{
  content:"";
  position:absolute;
  left:-6%;
  width:112%;
  height:58px;
  background:inherit;
  z-index:2;
  pointer-events:none;
}

.image-services::after{
  bottom:-28px;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  transform:rotate(-1.2deg);
}

.bathroom-feature-section::before,
.process::before,
.how-it-works::before,
.how-we-do-it::before,
.about::before,
footer::before{
  top:-30px;
  border-radius:0 0 50% 50% / 0 0 100% 100%;
  transform:rotate(1deg);
}

/* Add a second, softer wave so colour changes feel more fluid */
.image-services .wrap::after,
.bathroom-feature-section .wrap::before,
.process .wrap::before,
.how-it-works .wrap::before,
.how-we-do-it .wrap::before{
  content:"";
  position:absolute;
  left:-8%;
  width:116%;
  height:34px;
  opacity:.45;
  border-radius:50%;
  pointer-events:none;
}

.image-services .wrap,
.bathroom-feature-section .wrap,
.process .wrap,
.how-it-works .wrap,
.how-we-do-it .wrap{
  position:relative;
  z-index:3;
}

.image-services .wrap::after{
  bottom:-80px;
  background:rgba(183,199,209,.45);
  transform:rotate(.8deg);
}

.bathroom-feature-section .wrap::before,
.process .wrap::before,
.how-it-works .wrap::before,
.how-we-do-it .wrap::before{
  top:-52px;
  background:rgba(255,255,255,.34);
  transform:rotate(-.8deg);
}

/* Keep the waves elegant on mobile */
@media(max-width:760px){
  .image-services{
    padding-top:64px !important;
    padding-bottom:72px !important;
  }
  .image-services__header{
    margin-bottom:34px !important;
  }
  .image-service-row,
  .image-service-row--reverse{
    padding-top:32px !important;
    padding-bottom:46px !important;
    gap:20px !important;
  }
  .image-services::after,
  .bathroom-feature-section::before,
  .process::before,
  .how-it-works::before,
  .how-we-do-it::before,
  .about::before,
  footer::before{
    height:38px;
  }
  .image-services::after{ bottom:-20px; }
  .bathroom-feature-section::before,
  .process::before,
  .how-it-works::before,
  .how-we-do-it::before,
  .about::before,
  footer::before{ top:-20px; }
}

/* Exact requested fix: enlarge “What we do” and quieten the line beneath it */
.image-services__header .eyebrow{
  font-size:clamp(28px,4vw,52px) !important;
  line-height:1 !important;
  letter-spacing:-.025em !important;
  text-transform:none !important;
  color:var(--graphite) !important;
  font-family:Georgia,serif !important;
  font-weight:400 !important;
  margin:0 !important;
}
.image-services__header h2{
  font-size:clamp(34px,5.2vw,68px) !important;
  line-height:.98 !important;
  letter-spacing:-.04em !important;
}
@media(max-width:760px){
  .image-services__header .eyebrow{font-size:38px !important;margin-bottom:14px !important;}
  .image-services__header h2{font-size:40px !important;line-height:1.02 !important;}
}

/* Final verified heading sizes */
.image-services__header .eyebrow,
.process-intro .section-label {
  font-family: Georgia, serif !important;
  font-size: clamp(24px, 3vw, 42px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
  font-weight: 400 !important;
  color: var(--graphite) !important;
  margin: 0 0 12px !important;
}
@media (max-width:760px) {
  .image-services__header .eyebrow,
  .process-intro .section-label {
    font-size: 30px !important;
  }
}

/*
  One continuous colour story.
  Every section finishes on the exact colour the next section begins with,
  while the old decorative waves are removed to prevent visible joins.
*/
:root{
  --flow-cream:#F2EFEA;
  --flow-blue:#DFE5F3;
  --flow-blue-soft:#E8ECF5;
  --flow-warm:#E9E6DF;
  --flow-dark:#171715;
}

html,body,main{background:var(--flow-cream)}
main{overflow:hidden}

/* Remove all previous cut-out waves, scallops and section seams. */
.image-services::before,
.image-services::after,
.image-services .wrap::before,
.image-services .wrap::after,
.process::before,
.process::after,
.process .wrap::before,
.process .wrap::after,
.comparison-section::before,
.comparison-section::after,
.featured-projects::before,
.featured-projects::after,
.meet::before,
.meet::after,
.contact::before,
.contact::after,
footer::before,
footer::after{
  content:none!important;
  display:none!important;
}

.image-services,
.process,
.comparison-section,
.featured-projects,
.meet,
.contact,
footer{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  margin-top:-1px!important;
}

/* The photograph dissolves gently into the light page beneath it. */
.hero::after{
  content:"";
  display:block;
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:-1px;
  height:clamp(48px,8vw,105px);
  pointer-events:none;
  background:linear-gradient(180deg,rgba(242,239,234,0),var(--flow-cream));
}
.hero-copy{z-index:3}

/* Cream begins the story and slowly picks up the pale brand blue. */
.image-services{
  background:linear-gradient(
    180deg,
    var(--flow-cream) 0%,
    var(--flow-cream) 72%,
    #EEF0F2 87%,
    var(--flow-blue) 100%
  )!important;
}

/* Continue from that exact blue, then quietly warm back toward cream. */
.journey-soft{
  background:
    radial-gradient(circle at 90% 18%,rgba(255,255,255,.38),transparent 34%),
    linear-gradient(
      180deg,
      var(--flow-blue) 0%,
      var(--flow-blue-soft) 48%,
      #ECEDEF 76%,
      var(--flow-cream) 100%
    )!important;
}

/* Before/after carries the same cream and introduces blue only very softly. */
.comparison-section{
  background:linear-gradient(
    180deg,
    var(--flow-cream) 0%,
    #F0EFEC 30%,
    var(--flow-blue-soft) 68%,
    var(--flow-blue) 100%
  )!important;
}

/* Projects begin on the same blue, then drift into the warm Meet Paul tone. */
.featured-projects{
  background:linear-gradient(
    180deg,
    var(--flow-blue) 0%,
    #E8EAF0 18%,
    var(--flow-cream) 42%,
    var(--flow-cream) 78%,
    var(--flow-warm) 100%
  )!important;
}

/* The final light section deepens gradually into the contact area. */
.meet{
  background:linear-gradient(
    180deg,
    var(--flow-warm) 0%,
    #E5E1DA 58%,
    #D0CCC5 75%,
    #8A8882 89%,
    var(--flow-dark) 100%
  )!important;
  padding-bottom:clamp(150px,18vw,240px)!important;
}
.contact{
  background:linear-gradient(
    180deg,
    var(--flow-dark) 0%,
    #0D0D0D 26%,
    #0D0D0D 100%
  )!important;
}
footer{background:#0D0D0D!important}

@media(max-width:760px){
  .hero::after{height:64px}
  .image-services{
    background:linear-gradient(180deg,var(--flow-cream) 0%,var(--flow-cream) 70%,#EEF0F2 86%,var(--flow-blue) 100%)!important;
  }
  .journey-soft{
    background:linear-gradient(180deg,var(--flow-blue) 0%,var(--flow-blue-soft) 50%,#ECEDEF 78%,var(--flow-cream) 100%)!important;
  }
  .comparison-section{
    background:linear-gradient(180deg,var(--flow-cream) 0%,#F0EFEC 28%,var(--flow-blue-soft) 68%,var(--flow-blue) 100%)!important;
  }
  .featured-projects{
    background:linear-gradient(180deg,var(--flow-blue) 0%,#E8EAF0 15%,var(--flow-cream) 36%,var(--flow-cream) 80%,var(--flow-warm) 100%)!important;
  }
  .meet{
    background:linear-gradient(180deg,var(--flow-warm) 0%,#E5E1DA 56%,#CFCCC5 74%,#888680 89%,var(--flow-dark) 100%)!important;
    padding-bottom:165px!important;
  }
}

/* A quiet visual pause between “What we do” and “How we do it”. */
#renovation-journey{
  position:relative;
  padding-top:82px!important;
}
#renovation-journey::before{
  content:""!important;
  display:block!important;
  position:absolute;
  top:30px;
  left:50%;
  width:min(calc(100% - 40px),920px);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(85,115,115,.36) 10%,
    rgba(85,115,115,.62) 50%,
    rgba(85,115,115,.36) 90%,
    transparent 100%
  )!important;
  border:0!important;
  border-radius:0!important;
  opacity:1!important;
  z-index:4;
  pointer-events:none;
}
@media(max-width:760px){
  .image-services{
    padding-bottom:24px!important;
  }
  .image-services .image-service-row:last-child{
    padding-bottom:16px!important;
  }
  #renovation-journey{
    padding-top:66px!important;
  }
  #renovation-journey::before{
    top:20px;
    width:calc(100% - 40px);
  }
}

/* A more compact, visual and editorial “What we do” section. */
.image-services{
  position:relative;
  padding-top:70px!important;
  background:
    radial-gradient(ellipse at -8% 8%,rgba(223,229,243,.92),transparent 34%),
    radial-gradient(ellipse at 108% 68%,rgba(85,115,115,.13),transparent 30%),
    linear-gradient(180deg,var(--flow-cream) 0%,var(--flow-cream) 74%,#EEF0F2 88%,var(--flow-blue) 100%)!important;
}
.image-services__header{
  display:block!important;
  max-width:820px;
  margin:0 0 44px!important;
}
.image-services__header .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px!important;
  color:var(--green)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.image-services__header .eyebrow::before{
  content:"";
  width:32px;
  height:1px;
  background:currentColor;
}
.image-services__header h2{
  max-width:720px;
  margin:0!important;
  color:var(--graphite);
  font-family:Georgia,serif!important;
  font-size:clamp(48px,7vw,86px)!important;
  font-weight:400!important;
  line-height:.94!important;
  letter-spacing:-.045em!important;
  text-align:left!important;
}
.image-service-row,
.image-service-row--reverse{
  position:relative;
  border-top:1px solid rgba(85,115,115,.24)!important;
  padding-top:40px!important;
  padding-bottom:58px!important;
}
.image-service-copy span{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:42px;
  height:28px;
  margin:0 0 18px!important;
  border-radius:999px;
  background:var(--green);
  color:white!important;
  font-size:10px!important;
  letter-spacing:.13em!important;
}
.image-service-copy h3{
  max-width:460px;
  margin:0 0 12px!important;
  font-family:Georgia,serif!important;
  font-size:clamp(40px,5vw,68px)!important;
  font-weight:400!important;
  line-height:.96!important;
  letter-spacing:-.035em!important;
}
.image-service-copy p{
  max-width:400px;
  color:rgba(56,55,51,.70)!important;
  font-size:16px!important;
  line-height:1.55!important;
}
.image-service-row figure{
  box-shadow:0 18px 46px rgba(45,45,43,.09);
}

@media(max-width:760px){
  .image-services{
    padding-top:62px!important;
    padding-bottom:36px!important;
    background:
      radial-gradient(ellipse at -20% 4%,rgba(223,229,243,.96),transparent 27%),
      radial-gradient(ellipse at 115% 70%,rgba(85,115,115,.12),transparent 28%),
      linear-gradient(180deg,var(--flow-cream) 0%,var(--flow-cream) 76%,#EEF0F2 89%,var(--flow-blue) 100%)!important;
  }
  .image-services__header{
    margin-bottom:46px!important;
  }
  .image-services__header .eyebrow{
    margin-bottom:12px!important;
    font-size:10px!important;
  }
  .image-services__header h2{
    max-width:330px;
    font-size:47px!important;
    line-height:.96!important;
  }
  .image-service-row,
  .image-service-row--reverse{
    padding-top:40px!important;
    padding-bottom:56px!important;
    gap:30px!important;
  }
  .image-service-copy span{
    width:39px;
    height:26px;
    margin-bottom:17px!important;
  }
  .image-service-copy h3{
    max-width:330px;
    margin-bottom:14px!important;
    font-size:42px!important;
    line-height:.98!important;
  }
  .image-service-copy p{
    max-width:340px;
    font-size:16px!important;
    line-height:1.5!important;
  }
  .image-service-row figure,
  .image-service-row--reverse figure,
  .image-service-row:nth-of-type(4) figure{
    border-radius:22px 22px 68px 22px!important;
  }
  .image-service-row--reverse figure{
    border-radius:22px 68px 22px 22px!important;
  }
}

.image-services__header h2{
  display:inline-block;
  position:relative;
  padding-bottom:17px;
  font-size:clamp(36px,4.5vw,54px)!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
}
.image-services__header h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:76px;
  height:2px;
  border-radius:999px;
  background:var(--green);
}
.image-services .image-service-row:first-of-type{
  border-top:0!important;
}
@media(max-width:760px){
  .image-services__header{
    margin-bottom:32px!important;
  }
  .image-services__header h2{
    padding-bottom:14px;
    font-size:32px!important;
    letter-spacing:-.018em!important;
  }
  .image-services__header h2::after{
    width:78px;
    height:2px;
  }
  .image-services .image-service-row:first-of-type{
    padding-top:22px!important;
  }
}

.image-services__header{
  width:100%;
  max-width:none!important;
  padding-bottom:14px;
  border-bottom:1px solid rgba(85,115,115,.48);
}
.image-services__header h2{
  display:block;
  margin:0!important;
  padding:0!important;
  font-family:Georgia,serif!important;
  font-size:clamp(20px,2.2vw,27px)!important;
  font-weight:400!important;
  line-height:1.1!important;
  letter-spacing:-.01em!important;
}
.image-services__header h2::after{
  content:none!important;
  display:none!important;
}
@media(max-width:760px){
  .image-services__header{
    margin-bottom:36px!important;
    padding-bottom:12px;
  }
  .image-services__header h2{
    font-size:21px!important;
  }
}

/* Keep the hero photograph crisp: hide the gradient image layer and bottom fade. */
.hero{
  background-size:0 0,cover!important;
  background-repeat:no-repeat,no-repeat!important;
}
.hero::after{
  content:none!important;
  display:none!important;
}

/* Pull the first service closer to its section label. */
.image-services__header{
  margin-bottom:24px!important;
}
.image-services .image-service-row:first-of-type{
  padding-top:16px!important;
}

/* Match “How we do it” to the “How we can help” label and full-width rule. */
.journey-soft .process-intro{
  width:100%;
  max-width:none!important;
}
.journey-soft .process-intro .section-label{
  display:block;
  width:100%;
  margin:0 0 30px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid rgba(85,115,115,.48);
  color:var(--graphite)!important;
  font-family:Georgia,serif!important;
  font-size:clamp(20px,2.2vw,27px)!important;
  font-weight:400!important;
  line-height:1.1!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
}
@media(max-width:760px){
  .image-services__header{
    margin-bottom:18px!important;
  }
  .image-services .image-service-row:first-of-type{
    padding-top:14px!important;
  }
  .journey-soft .process-intro .section-label{
    margin-bottom:24px!important;
    padding-bottom:12px!important;
    font-size:21px!important;
  }
}

/* Reduce the brightness without softening or fading the photograph. */
.hero::before{
  content:""!important;
  display:block!important;
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(13,13,13,.12)!important;
  pointer-events:none;
}
.hero-copy{z-index:2!important}

/* A shallow, soft curve creates a deliberate pause between the two areas. */
.image-services{
  isolation:isolate;
  padding-top:110px!important;
}
.image-services::before{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:-1;
  top:0;
  left:-8%;
  width:116%;
  height:72px;
  background:linear-gradient(
    180deg,
    rgba(223,229,243,.82),
    rgba(223,229,243,.28)
  )!important;
  border-radius:0 0 50% 50% / 0 0 100% 100%!important;
  pointer-events:none;
}
@media(max-width:760px){
  .hero::before{
    background:rgba(13,13,13,.14)!important;
  }
  .image-services{
    padding-top:108px!important;
  }
  .image-services::before{
    left:-14%;
    width:128%;
    height:58px;
  }
}

/* Replace the decorative curve with a restrained service statement. */
.image-services{
  padding-top:62px!important;
}
.image-services::before{
  content:none!important;
  display:none!important;
}
.service-bridge{
  width:min(calc(100% - 48px),1180px);
  margin:34px auto 0;
  padding:17px 0 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(16px,3vw,38px);
  border-top:1px solid rgba(56,55,51,.14);
  border-bottom:1px solid rgba(56,55,51,.14);
  color:var(--graphite);
  font-size:12px;
  font-weight:500;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.menu-toggle{
  position:relative!important;
  right:16px!important;
  margin-right:0!important;
}
.service-bridge i{
  color:var(--green);
  font-style:normal;
  font-size:12px;
}
@media(max-width:760px){
  .service-bridge{
    width:calc(100% - 56px);
    margin-top:28px;
    padding:15px 0 14px;
    gap:12px;
    font-size:12px!important;
    font-weight:600!important;
    letter-spacing:.14em!important;
    letter-spacing:.13em;
  }
  .menu-toggle{
    position:relative!important;
    right:18px!important;
    margin-right:0!important;
  }
  .image-services{
    padding-top:54px!important;
  }
}

.hero{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
@media(max-width:760px){
  .hero{
    width:100%!important;
    margin:0!important;
    border-radius:0!important;
  }
}

.hero-copy h1{
  margin:0 0 18px!important;
}
.hero-copy p{
  max-width:540px!important;
  margin:0!important;
  font-size:17px!important;
  line-height:1.45!important;
}
@media(max-width:760px){
  .hero-copy h1{
    margin-bottom:16px!important;
  }
  .hero-copy p{
    max-width:560px!important;
    font-size:17px!important;
    line-height:1.42!important;
  }
}

.real-projects-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.swipe-hint{
  color:var(--green);
  font-size:10px;
  font-weight:500;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.featured-list{
  width:calc(100vw - max(24px,calc((100vw - 1180px)/2)));
  display:flex!important;
  grid-template-columns:none!important;
  gap:24px!important;
  margin-top:52px!important;
  padding:0 max(24px,calc((100vw - 1180px)/2)) 28px 0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-left:0;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.featured-list::-webkit-scrollbar{display:none}
.featured-project,
.featured-project:nth-child(even){
  flex:0 0 min(78vw,920px);
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)!important;
  gap:42px!important;
  align-items:center;
  margin:0!important;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.featured-project:nth-child(even) .project-media,
.featured-project:nth-child(even) .project-copy{
  order:initial!important;
}
@media(max-width:760px){
  .real-projects-label-row{
    align-items:flex-end;
  }
  .swipe-hint{
    font-size:9px;
    letter-spacing:.11em;
    white-space:nowrap;
  }
  .featured-list{
    width:calc(100vw - 28px);
    gap:16px!important;
    margin-top:34px!important;
    padding:0 28px 22px 0;
  }
  .featured-project,
  .featured-project:nth-child(even){
    flex-basis:84vw;
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .featured-project .project-media{
    order:1!important;
  }
  .featured-project .project-copy{
    order:2!important;
  }
  .featured-project .project-copy h3{
    font-size:38px!important;
  }
}

.featured-projects{
  padding-top:58px!important;
  padding-bottom:64px!important;
}
.featured-projects .split-intro{
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  gap:36px!important;
  margin-top:30px!important;
  align-items:end!important;
}
.featured-projects .split-intro h2,
.featured-projects .split-intro p{
  margin:0!important;
}
.featured-list{
  margin-top:38px!important;
}
.featured-project,
.featured-project:nth-child(even){
  flex-basis:min(68vw,800px)!important;
}
.featured-project .project-media,
.featured-project .media-frame,
.featured-project .project-media img{
  border-radius:0!important;
}
@media(max-width:760px){
  .featured-projects{
    padding-top:48px!important;
    padding-bottom:52px!important;
  }
  .featured-projects .split-intro{
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin-top:26px!important;
  }
  .featured-projects .split-intro h2{
    max-width:540px;
    font-size:50px!important;
    line-height:.96!important;
  }
  .featured-projects .split-intro p{
    max-width:560px;
    font-size:17px!important;
    line-height:1.48!important;
  }
  .featured-list{
    margin-top:30px!important;
  }
  .featured-project,
  .featured-project:nth-child(even){
    flex-basis:74vw!important;
  }
  .featured-project .project-media{
    aspect-ratio:4/3!important;
  }
}

.featured-projects .split-intro{
  display:block!important;
  margin-top:28px!important;
}
.featured-projects .split-intro h2{
  max-width:760px;
}
.featured-project .project-copy{
  padding-top:16px;
}
.featured-project,
.featured-project:nth-child(even){
  grid-template-columns:1fr!important;
  gap:0!important;
}
.featured-project .project-media{
  order:1!important;
}
.featured-project .project-copy{
  order:2!important;
}
.featured-project .project-copy .project-count{
  margin:0 0 8px;
  color:var(--green);
  font-size:9px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.featured-project .project-copy h3{
  max-width:500px;
  margin:0!important;
  font-family:Georgia,serif;
  font-size:clamp(22px,2.4vw,30px)!important;
  font-weight:400;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}
.featured-project .project-copy p,
.featured-project .project-tags{
  display:none!important;
}
@media(max-width:760px){
  .featured-projects .split-intro{
    margin-top:24px!important;
  }
  .featured-project .project-copy{
    padding-top:12px;
  }
  .featured-project .project-copy .project-count{
    margin-bottom:7px;
  }
  .featured-project .project-copy h3{
    font-size:23px!important;
    line-height:1.12!important;
  }
}

.hero,
main img,
main figure,
.media-frame,
.image-service-row figure,
.bathroom-feature,
.comparison,
.ba-stage,
.ba-image,
.ba-after,
.project-media,
.detail-card{
  border-radius:0!important;
}

.comparison-section{
  padding:58px 0!important;
}
.ba-layout{
  width:min(calc(100% - 40px),980px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  gap:clamp(28px,5vw,64px);
  align-items:center;
}
.ba-copy{
  width:auto!important;
  margin:0!important;
}
.ba-copy h2{
  margin:14px 0 14px!important;
  font-size:clamp(38px,4.8vw,62px)!important;
  line-height:.96!important;
}
.ba-copy p{
  max-width:300px;
  font-size:16px!important;
  line-height:1.52!important;
}
.ba-stage{
  container-type:inline-size;
  width:100%!important;
  min-height:0!important;
  aspect-ratio:4/3;
  margin:0!important;
  box-shadow:0 14px 34px rgba(39,36,1,.08)!important;
}
.ba-after img{
  width:100cqw!important;
  max-width:none!important;
}
.ba-handle{
  width:46px!important;
  height:46px!important;
}
.ba-handle::after{
  font-size:23px!important;
}
@media(max-width:700px){
  .comparison-section{
    padding:44px 0!important;
  }
  .ba-layout{
    width:calc(100% - 40px);
    grid-template-columns:minmax(128px,.72fr) minmax(0,1.28fr);
    gap:18px;
  }
  .ba-copy h2{
    margin:10px 0 10px!important;
    font-size:30px!important;
    line-height:1!important;
  }
  .ba-copy p{
    font-size:14px!important;
    line-height:1.45!important;
  }
  .ba-copy .section-label{
    font-size:9px!important;
    letter-spacing:.14em!important;
  }
  .ba-stage{
    aspect-ratio:4/3;
  }
  .ba-handle{
    width:40px!important;
    height:40px!important;
  }
  .ba-inside-prompt{
    bottom:10px!important;
    padding:6px 9px!important;
    font-size:8px!important;
  }
}

/* One consistent light palette: cream and the same soft blue throughout. */
body,
main,
.image-services,
.comparison-section,
#before-after{
  background:var(--flow-cream)!important;
}
.journey-soft,
.featured-projects{
  background:var(--flow-blue)!important;
}
.service-bridge{
  background:var(--flow-cream)!important;
}

/* Give the image more space and keep only the essential side heading. */
.ba-layout{
  grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr)!important;
  gap:clamp(18px,3vw,38px)!important;
}
.ba-copy h2{
  margin-bottom:0!important;
}

/* Proper WhatsApp mark beside the label. */
.whatsapp-mark{
  gap:8px;
}
.whatsapp-mark svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:700px){
  .ba-layout{
    width:calc(100% - 28px)!important;
    grid-template-columns:minmax(108px,.46fr) minmax(0,1.54fr)!important;
    gap:14px!important;
  }
  .ba-copy h2{
    font-size:27px!important;
  }
  .whatsapp-mark svg{
    width:17px;
    height:17px;
    flex-basis:17px;
  }
}

.comparison-section,
#before-after{
  padding:50px 0 56px!important;
}
.ba-layout{
  width:min(calc(100% - 48px),820px)!important;
  margin:0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  align-items:center!important;
}
.ba-stage{
  order:1!important;
  width:min(100%,760px)!important;
  aspect-ratio:16/10!important;
}
.ba-copy{
  order:2!important;
  width:100%!important;
  margin:20px 0 0!important;
  text-align:center;
}
.ba-copy .section-label{
  display:none!important;
}
.ba-copy h2{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  margin:0!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  text-transform:uppercase;
}
.ba-copy h2::before,
.ba-copy h2::after{
  color:var(--green);
  font-family:Arial,Helvetica,sans-serif;
  font-size:24px;
  font-weight:300;
  line-height:1;
  letter-spacing:0;
}
.ba-copy h2::before{content:"←"}
.ba-copy h2::after{content:"→"}
@media(max-width:700px){
  .comparison-section,
  #before-after{
    padding:42px 0 46px!important;
  }
  .ba-layout{
    width:calc(100% - 40px)!important;
  }
  .ba-stage{
    width:100%!important;
    aspect-ratio:16/10!important;
  }
  .ba-copy{
    margin-top:17px!important;
  }
  .ba-copy h2{
    gap:15px;
    font-size:12px!important;
    letter-spacing:.13em!important;
  }
  .ba-copy h2::before,
  .ba-copy h2::after{
    font-size:21px;
  }
}

.contact{
  padding:76px 0 58px!important;
  border-radius:0!important;
}
.contact .contact-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;
  gap:clamp(48px,8vw,110px)!important;
  align-items:start!important;
}
.contact .eyebrow{
  color:#A8BDB8!important;
  letter-spacing:.2em!important;
  margin-bottom:20px!important;
}
.contact h2{
  max-width:680px;
  margin:0!important;
  font-size:clamp(45px,5.4vw,70px)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
}
.contact .contact-intro{
  max-width:560px;
  margin:24px 0 0!important;
  color:rgba(242,239,234,.72)!important;
  font-size:18px!important;
  line-height:1.5!important;
}
.contact-actions{
  display:grid;
  gap:12px;
  margin-top:34px;
  max-width:520px;
}
.contact-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:62px;
  padding:0 22px;
  border:1px solid rgba(242,239,234,.34);
  color:var(--cream)!important;
  text-decoration:none!important;
  font-size:13px;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.contact-action.primary{
  background:#557373;
  border-color:#557373;
}
.contact-action:hover{
  background:var(--cream);
  border-color:var(--cream);
  color:#0D0D0D!important;
}
.contact-action svg{width:22px;height:22px;flex:0 0 22px}
.contact-arrow{font-size:21px;line-height:1}
.contact-meta{
  border-top:1px solid rgba(242,239,234,.22);
}
.contact .contact-detail{
  padding:22px 0!important;
  border-top:0!important;
  border-bottom:1px solid rgba(242,239,234,.22);
}
.contact-detail-label{
  display:block;
  margin-bottom:7px;
  color:#A8BDB8;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.contact-detail-value{
  color:var(--cream);
  font-size:17px;
  line-height:1.4;
}
footer{padding:22px 0 26px!important}
@media(max-width:760px){
  .contact{padding:58px 0 42px!important}
  .contact .contact-grid{
    grid-template-columns:1fr!important;
    gap:44px!important;
  }
  .contact h2{
    max-width:620px;
    font-size:clamp(41px,12vw,58px)!important;
    line-height:1!important;
  }
  .contact .contact-intro{
    margin-top:20px!important;
    font-size:17px!important;
  }
  .contact-actions{margin-top:28px}
  .contact-action{min-height:58px;padding:0 18px}
  .contact .contact-detail{padding:18px 0!important}
}

.our-aim{
  display:none;
  position:relative;
  overflow:hidden;
  padding:clamp(82px,10vw,126px) 0!important;
  background:#557373!important;
  color:#F2EFEA;
}
body.aim-page main > section{display:none!important}
body.aim-page main > .our-aim{display:block!important;min-height:calc(100svh - 150px)}
.aim-back{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:42px;
  color:#F2EFEA!important;
  text-decoration:none;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.aim-back span{font-size:20px;line-height:1}
.our-aim::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 45%);
}
.our-aim .wrap{position:relative;z-index:1}
.aim-heading{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.7fr);
  column-gap:clamp(50px,9vw,130px);
  align-items:end;
  padding-bottom:clamp(52px,7vw,82px);
}
.aim-heading .section-label{
  grid-column:1/-1;
  margin-bottom:28px;
  color:rgba(242,239,234,.72)!important;
}
.aim-heading h2{
  margin:0;
  max-width:720px;
  font-family:Georgia,serif;
  font-size:clamp(52px,7vw,88px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.045em;
}
.aim-heading > p{
  margin:0 0 4px;
  color:rgba(242,239,234,.8);
  font-size:18px;
  line-height:1.55;
}
.aim-points{border-top:1px solid rgba(242,239,234,.32)}
.aim-point{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  padding:32px 0;
  border-bottom:1px solid rgba(242,239,234,.32);
}
.aim-point > div{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(280px,1fr);
  gap:clamp(40px,8vw,120px);
  align-items:start;
}
.aim-point h3{
  margin:0;
  font-family:Georgia,serif;
  font-size:clamp(28px,3.4vw,44px);
  font-weight:400;
  line-height:1.05;
}
.aim-point p{
  max-width:620px;
  margin:2px 0 0;
  color:rgba(242,239,234,.76);
  font-size:16px;
  line-height:1.6;
}
@media(max-width:760px){
  .our-aim{padding:68px 0 72px!important}
  .aim-heading{
    display:block;
    padding-bottom:50px;
  }
  .aim-heading .section-label{margin-bottom:25px}
  .aim-heading h2{
    font-size:clamp(48px,14vw,66px);
    line-height:.96;
  }
  .aim-heading > p{
    margin-top:26px;
    font-size:17px;
  }
  .aim-point{
    grid-template-columns:minmax(0,1fr);
    padding:27px 0 30px;
  }
  .aim-point > div{display:block}
  .aim-point h3{
    font-size:31px;
    line-height:1.05;
  }
  .aim-point p{
    margin-top:14px;
    font-size:15px;
    line-height:1.58;
  }
  .site-menu-links{padding-top:30px!important}
  .site-menu-links a{font-size:clamp(32px,10vw,43px)!important;padding:6px 0!important}
}

/* A restrained 4px finish: softened, never obviously rounded. */
.image-service .service-image,
.image-service .service-image img,
.project-media,
.project-media img,
.media-frame,
.media-frame img,
.ba-stage,
.ba-image,
.ba-image img{
  border-radius:4px!important;
}
.hero{
  border-radius:0!important;
  overflow:hidden!important;
}
.hero::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:3!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:26px!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,rgba(242,239,234,0),rgba(242,239,234,.7))!important;
}
.featured-list{
  align-items:flex-start!important;
}
.featured-project,
.featured-project:nth-child(even){
  align-self:flex-start!important;
  align-items:start!important;
  transform:none!important;
}
.featured-project .project-media,
.featured-project:nth-child(odd) .project-media,
.featured-project:nth-child(even) .project-media{
  width:100%!important;
  aspect-ratio:4/3!important;
  height:auto!important;
  transform:none!important;
  overflow:hidden!important;
  border-radius:4px!important;
}
.featured-project .project-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:4px!important;
}
.featured-project .project-copy{
  width:100%!important;
  min-height:96px;
}
@media(max-width:760px){
  .hero::after{height:20px!important}
  .featured-project .project-copy{min-height:88px}
}

.contact,
footer{
  background:#252625!important;
}
footer{border-top-color:rgba(242,239,234,.14)!important}

.image-services__header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
}
.help-chat{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:36px;
  padding:0 15px;
  flex:0 0 auto;
  border:1px solid #557373;
  color:#557373;
  text-decoration:none;
  font-size:10px;
  font-weight:600;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease;
}
.help-chat:hover,
.help-chat:focus-visible{
  background:#557373;
  color:#F2EFEA;
}
.help-chat span{font-size:16px;line-height:1}
@media(max-width:760px){
  .image-services__header{gap:12px!important}
  .help-chat{
    min-height:34px;
    padding:0 12px;
    font-size:9px;
    letter-spacing:.11em;
  }
}

.site-header{
  border-bottom:0!important;
  box-shadow:inset 0 -5px 0 #DFE5F3!important;
}

.portfolio-page-view{display:none;background:#F2EFEA!important;color:#353532;padding:64px 0 96px!important}
body.portfolio-page main > section{display:none!important}
body.portfolio-page main > .portfolio-page-view{display:block!important;min-height:calc(100svh - 150px)}
.portfolio-back{display:inline-flex;align-items:center;gap:10px;margin-bottom:54px;color:#557373;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.portfolio-back span{font-size:20px;line-height:1}
.portfolio-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.7fr);gap:48px;align-items:end;margin-bottom:64px}
.portfolio-intro .section-label{grid-column:1/-1;margin-bottom:-12px;color:#557373}
.portfolio-intro h1{margin:0;font-family:Georgia,serif;font-size:clamp(54px,7.2vw,92px);font-weight:400;line-height:.94;letter-spacing:-.045em}
.portfolio-intro p{margin:0 0 5px;color:#73736e;font-size:17px;line-height:1.55}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 26px;align-items:start}
.portfolio-item{margin:0}
.portfolio-image{width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:4px}
.portfolio-item:nth-child(3n+1) .portfolio-image{aspect-ratio:5/4}
.portfolio-item:nth-child(4n) .portfolio-image{aspect-ratio:1/1}
.portfolio-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:4px!important}
.portfolio-item figcaption{padding-top:15px;border-top:1px solid rgba(85,115,115,.25);margin-top:14px}
.portfolio-item figcaption span{display:block;color:#557373;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.portfolio-item figcaption p{margin:7px 0 0;font-family:Georgia,serif;font-size:clamp(21px,2.2vw,29px);line-height:1.12}
@media(max-width:760px){
  .portfolio-page-view{padding:46px 0 72px!important}
  .portfolio-back{margin-bottom:42px}
  .portfolio-intro{display:block;margin-bottom:44px}
  .portfolio-intro .section-label{margin-bottom:22px}
  .portfolio-intro h1{font-size:clamp(50px,14vw,66px)}
  .portfolio-intro p{margin-top:22px;font-size:16px}
  .portfolio-grid{grid-template-columns:1fr;gap:42px}
  .portfolio-image,.portfolio-item:nth-child(3n+1) .portfolio-image,.portfolio-item:nth-child(4n) .portfolio-image{aspect-ratio:4/5}
  .portfolio-item:nth-child(1) .portfolio-image,.portfolio-item:nth-child(2) .portfolio-image{aspect-ratio:5/4}
  .portfolio-item figcaption p{font-size:24px}
}

/* Soft cream process markers with clear graphite numerals. */
.journey-soft .journey-number{
  background:var(--cream)!important;
  color:var(--graphite)!important;
  border-color:rgba(45,45,43,.12)!important;
}
.header-phone{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  color:var(--graphite);
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.header-phone svg{width:25px;height:25px;display:block}
.header-phone:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:50%}
.comparison-section .ba-stage{display:block!important}
.comparison-section .ba-copy{display:flex!important}
.project-video-wrap{
  width:min(calc(100% - 96px),320px);
  margin:72px auto;
}
.project-video-wrap::before{
  content:"A closer look";
  display:block;
  margin-bottom:14px;
  color:var(--graphite);
  font-size:10px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.project-video{
  display:block;
  width:100%;
  aspect-ratio:9/16;
  object-fit:cover;
  background:var(--graphite);
  border-radius:4px;
}

.ba-stage{
  border-radius:12px!important;
}
.ba-image,
.ba-after{
  border-radius:12px!important;
}
.ba-after{
  border-radius:0 14% 14% 0 / 0 50% 50% 0!important;
}
.ba-copy h2{
  letter-spacing:-.035em!important;
}
@media(max-width:700px){
  .ba-copy h2{
    font-size:clamp(25px,7.1vw,31px)!important;
  }
}

/* The finished image is the full-width layer on the right; pull it back slightly. */
.ba-before img{
  object-fit:contain!important;
  transform:scale(.94);
  background:#d8d5cf;
}

.ba-layout{
  width:min(calc(100% - 32px),1100px)!important;
  grid-template-columns:minmax(210px,.58fr) minmax(0,1.42fr)!important;
  gap:clamp(24px,4vw,52px)!important;
}
.ba-stage{
  width:100%!important;
}
.ba-before img{
  object-fit:cover!important;
  transform:none!important;
  background:transparent!important;
}
@media(max-width:700px){
  .ba-layout{
    width:calc(100% - 24px)!important;
    grid-template-columns:minmax(112px,.55fr) minmax(0,1.45fr)!important;
    gap:14px!important;
  }
}

.project-video-wrap{
  width:min(calc(100% - 112px),260px)!important;
  margin:58px auto!important;
  text-align:center;
}
.project-video-wrap::before{
  text-align:left;
}
.project-video-caption{
  margin:15px auto 0;
  max-width:250px;
  color:var(--muted);
  font-family:Georgia,serif;
  font-size:17px;
  line-height:1.4;
  letter-spacing:-.01em;
}
@media(max-width:700px){
  .project-video-wrap{
    width:min(calc(100% - 128px),230px)!important;
    margin:48px auto!important;
  }
  .project-video-caption{
    font-size:15px;
  }
}

.project-video-wrap{
  width:min(calc(100% - 40px),680px)!important;
  margin:58px auto!important;
  display:grid;
  grid-template-columns:minmax(180px,240px) minmax(0,1fr);
  gap:clamp(28px,6vw,64px);
  align-items:center;
  text-align:left!important;
}
.project-video-wrap::before{
  display:none!important;
}
.project-video-media{
  width:100%;
}
.project-video{
  width:100%!important;
  border-radius:6px!important;
}
.project-video-copy{
  max-width:330px;
}
.project-video-icon{
  display:block;
  width:48px;
  height:48px;
  margin:0 0 18px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.project-video-kicker{
  margin-bottom:11px;
  color:var(--green);
  font-size:9px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.project-video-copy h3{
  margin:0 0 13px;
  color:var(--graphite);
  font-family:Georgia,serif;
  font-size:clamp(27px,3.5vw,39px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.035em;
}
.project-video-copy p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
}
@media(max-width:700px){
  .project-video-wrap{
    width:calc(100% - 28px)!important;
    margin:46px auto!important;
    grid-template-columns:minmax(128px,.84fr) minmax(0,1.16fr);
    gap:20px;
  }
  .project-video-icon{
    width:37px;
    height:37px;
    margin-bottom:13px;
  }
  .project-video-copy h3{
    font-size:24px;
  }
  .project-video-copy p{
    font-size:13px;
    line-height:1.45;
  }
}

.journey-step,
.journey-step:nth-child(even){
  grid-template-columns:56px minmax(0,1fr) 86px!important;
  align-items:center!important;
}
.journey-sketch{
  width:82px;
  height:64px;
  justify-self:end;
  fill:none;
  stroke:var(--green);
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.76;
}
.journey-sketch .sketch-soft,
.project-video-icon .sketch-soft{
  opacity:.34;
  transform:translate(1px,1px);
}
.project-video-icon{
  width:58px!important;
  height:49px!important;
  stroke-width:1.25!important;
}
@media(max-width:700px){
  .journey-step,
  .journey-step:nth-child(even){
    grid-template-columns:40px minmax(0,1fr) 54px!important;
    gap:10px!important;
  }
  .journey-sketch{
    width:52px;
    height:46px;
    opacity:.7;
  }
  .project-video-icon{
    width:46px!important;
    height:40px!important;
  }
}

.project-video-wrap{
  width:min(calc(100% - 40px),720px)!important;
  grid-template-columns:minmax(220px,285px) minmax(0,1fr)!important;
  gap:clamp(25px,5vw,52px)!important;
}
.project-video-copy h3{
  margin-bottom:9px!important;
  font-size:31px!important;
}
.project-video-copy p{
  max-width:220px;
  font-size:13px!important;
  line-height:1.45!important;
}
.ba-stage{
  aspect-ratio:6/5!important;
}
.ba-before img{
  object-fit:cover!important;
  object-position:center center!important;
}
@media(max-width:700px){
  .project-video-wrap{
    width:calc(100% - 24px)!important;
    grid-template-columns:minmax(145px,.95fr) minmax(0,1.05fr)!important;
    gap:16px!important;
  }
  .project-video-copy h3{
    font-size:20px!important;
  }
  .project-video-copy p{
    font-size:12px!important;
    line-height:1.4!important;
  }
  .ba-stage{
    aspect-ratio:6/5!important;
  }
}

.project-video-wrap{
  width:min(calc(100% - 32px),800px)!important;
  grid-template-columns:minmax(265px,342px) minmax(0,1fr)!important;
  gap:clamp(28px,5vw,58px)!important;
}
.project-video-media{
  position:relative;
  padding:10px 10px 12px;
  background:var(--cream);
  border:1px solid rgba(85,115,115,.52);
  box-shadow:
    0 0 0 5px rgba(242,239,234,.96),
    0 0 0 6px rgba(85,115,115,.20),
    0 16px 34px rgba(39,36,1,.10);
}
.project-video{
  border-radius:1px!important;
}
.art-caption{
  padding:10px 4px 1px;
  color:var(--graphite);
  font-family:Georgia,serif;
  font-size:16px;
  font-style:italic;
  line-height:1;
  text-align:center;
  letter-spacing:.01em;
}
@media(max-width:700px){
  .project-video-wrap{
    width:calc(100% - 20px)!important;
    grid-template-columns:minmax(166px,.98fr) minmax(0,1.02fr)!important;
    gap:14px!important;
  }
  .project-video-media{
    padding:7px 7px 9px;
    box-shadow:
      0 0 0 3px rgba(242,239,234,.96),
      0 0 0 4px rgba(85,115,115,.20),
      0 12px 25px rgba(39,36,1,.09);
  }
  .art-caption{
    padding-top:8px;
    font-size:13px;
  }
}

.project-video-wrap{
  width:min(calc(100% - 44px),480px)!important;
  margin:64px auto!important;
  display:block!important;
}
.project-video-media{
  width:100%!important;
  padding:13px 13px 0!important;
  box-shadow:
    0 0 0 7px rgba(242,239,234,.97),
    0 0 0 8px rgba(85,115,115,.23),
    0 22px 46px rgba(39,36,1,.12)!important;
}
.art-caption{
  min-height:70px;
  padding:12px 8px 10px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  color:var(--graphite);
  font-family:Georgia,serif;
  font-size:22px!important;
  font-style:normal!important;
  line-height:1;
  letter-spacing:-.015em;
}
.art-caption svg{
  width:45px;
  height:35px;
  flex:0 0 auto;
  fill:none;
  stroke:var(--green);
  stroke-width:1.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.art-caption .sketch-soft{
  opacity:.34;
}
@media(max-width:700px){
  .project-video-wrap{
    width:min(calc(100% - 40px),340px)!important;
    margin:52px auto!important;
  }
  .project-video-media{
    padding:9px 9px 0!important;
    box-shadow:
      0 0 0 5px rgba(242,239,234,.97),
      0 0 0 6px rgba(85,115,115,.23),
      0 17px 34px rgba(39,36,1,.11)!important;
  }
  .art-caption{
    min-height:58px;
    padding:9px 5px 8px!important;
    gap:10px;
    font-size:18px!important;
  }
  .art-caption svg{
    width:38px;
    height:30px;
  }
}

.image-services__header h2,
.journey-soft .process-intro .section-label{
  font-size:clamp(24px,2.55vw,31px)!important;
}
.heading-dash{
  display:inline-block;
  margin-left:.18em;
  color:var(--green);
  font-weight:400;
}
@media(max-width:760px){
  .image-services__header h2,
  .journey-soft .process-intro .section-label{
    font-size:24px!important;
  }
}

.project-video-wrap{
  width:190px!important;
  margin:42px 28px 54px auto!important;
}
.project-video-media{
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.project-video-media:hover,
.project-video-media:focus-visible{
  transform:translateY(-3px);
  outline:none;
  box-shadow:
    0 0 0 7px rgba(242,239,234,.97),
    0 0 0 8px rgba(85,115,115,.32),
    0 25px 48px rgba(39,36,1,.16)!important;
}
.video-preview-prompt{
  position:absolute;
  z-index:4;
  left:50%;
  top:43%;
  transform:translate(-50%,-50%);
  min-width:104px;
  padding:10px 13px;
  border-radius:999px;
  background:rgba(242,239,234,.9);
  box-shadow:0 7px 20px rgba(13,13,13,.16);
  color:var(--graphite);
  font-size:9px;
  font-weight:600;
  line-height:1;
  letter-spacing:.12em;
  text-align:center;
  text-transform:uppercase;
  pointer-events:none;
}
.art-caption{
  min-height:46px!important;
  padding:7px 3px 6px!important;
  gap:7px!important;
  font-size:14px!important;
}
.art-caption svg{
  width:29px!important;
  height:24px!important;
}
.video-modal[hidden]{display:none!important}
.video-modal{
  position:fixed;
  z-index:1000;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(13,13,13,.88);
  backdrop-filter:blur(8px);
}
.video-modal-stage{
  width:min(82vw,430px);
  max-height:86vh;
}
.video-modal-stage .project-video{
  width:100%!important;
  max-height:86vh;
  aspect-ratio:9/16;
  object-fit:contain!important;
  background:#0d0d0d;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
.video-modal-close{
  position:fixed;
  z-index:1001;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border:1px solid rgba(242,239,234,.45);
  border-radius:50%;
  background:rgba(242,239,234,.12);
  color:#F2EFEA;
  font-size:30px;
  font-weight:300;
  line-height:38px;
  cursor:pointer;
}
@media(max-width:700px){
  .project-video-wrap{
    width:155px!important;
    margin:38px 18px 46px auto!important;
  }
  .project-video-media{
    padding:6px 6px 0!important;
    box-shadow:
      0 0 0 3px rgba(242,239,234,.97),
      0 0 0 4px rgba(85,115,115,.23),
      0 12px 25px rgba(39,36,1,.10)!important;
  }
  .video-preview-prompt{
    min-width:92px;
    padding:9px 10px;
    font-size:8px;
  }
  .art-caption{
    min-height:40px!important;
    font-size:12px!important;
  }
  .art-caption svg{
    width:25px!important;
    height:21px!important;
  }
  .video-modal{padding:18px}
  .video-modal-stage{width:min(88vw,390px)}
}

.hero-copy{
  transform:translateY(-42px)!important;
}
@media(max-width:760px){
  .hero-copy{
    transform:translateY(-38px)!important;
  }
}

.project-video-wrap{
  width:min(calc(100% - 40px),900px)!important;
  margin:54px auto 64px!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  gap:clamp(34px,6vw,72px)!important;
  align-items:center!important;
}
.project-video-media{
  width:190px!important;
  justify-self:start;
}
.customer-review{
  position:relative;
  padding:clamp(27px,4vw,42px);
  background:#DFE5F3;
  border:1px solid rgba(85,115,115,.16);
  border-radius:6px 34px 34px 34px;
  box-shadow:0 18px 42px rgba(39,36,1,.07);
}
.customer-review::before{
  content:"";
  position:absolute;
  left:-18px;
  top:46px;
  width:36px;
  height:36px;
  background:#DFE5F3;
  border-left:1px solid rgba(85,115,115,.16);
  border-bottom:1px solid rgba(85,115,115,.16);
  transform:rotate(45deg);
}
.review-label{
  position:relative;
  z-index:1;
  margin-bottom:18px;
  color:var(--green);
  font-size:10px;
  font-weight:600;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.customer-review blockquote{
  position:relative;
  z-index:1;
  margin:0;
  color:var(--graphite);
  font-family:Georgia,serif;
  font-size:clamp(17px,1.65vw,21px);
  font-weight:400;
  line-height:1.47;
  letter-spacing:-.018em;
}
.review-customer{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:22px;
  color:var(--green);
  font-size:10px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.review-customer i{
  width:22px;
  height:1px;
  background:rgba(85,115,115,.5);
}
@media(max-width:700px){
  .project-video-wrap{
    width:calc(100% - 24px)!important;
    margin:44px auto 52px!important;
    grid-template-columns:130px minmax(0,1fr)!important;
    gap:18px!important;
    align-items:start!important;
  }
  .project-video-media{
    width:130px!important;
  }
  .customer-review{
    padding:20px 16px 18px;
    border-radius:4px 22px 22px 22px;
  }
  .customer-review::before{
    left:-10px;
    top:30px;
    width:20px;
    height:20px;
  }
  .review-label{
    margin-bottom:12px;
    font-size:8px;
    letter-spacing:.13em;
  }
  .customer-review blockquote{
    font-size:12.5px;
    line-height:1.43;
    letter-spacing:-.01em;
  }
  .review-customer{
    flex-wrap:wrap;
    gap:6px;
    margin-top:14px;
    font-size:8px;
    letter-spacing:.1em;
  }
  .review-customer i{
    width:11px;
  }
}

.project-video-wrap{
  width:min(calc(100% - 32px),980px)!important;
  grid-template-columns:250px minmax(0,1fr)!important;
  gap:clamp(34px,5vw,62px)!important;
}
.project-video-media{
  width:250px!important;
}
.customer-review{
  min-height:330px;
  padding:44px 46px!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.customer-review blockquote{
  font-size:17px!important;
  line-height:1.45!important;
}
@media(max-width:700px){
  .project-video-wrap{
    width:calc(100% - 14px)!important;
    grid-template-columns:158px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .project-video-media{
    width:158px!important;
  }
  .customer-review{
    min-height:282px;
    padding:22px 15px 20px!important;
  }
  .customer-review blockquote{
    font-size:11.5px!important;
    line-height:1.4!important;
  }
  .review-label{
    font-size:7.5px!important;
  }
  .review-customer{
    font-size:7.5px!important;
  }
}

.contact{
  position:relative;
  overflow:hidden;
  border-radius:58px 58px 0 0!important;
  background-image:
    linear-gradient(120deg,rgba(20,21,19,.91) 0%,rgba(20,21,19,.84) 48%,rgba(20,21,19,.76) 100%),
    url("../images/media-wall-joinery.webp")!important;
  background-size:cover!important;
  background-position:center 48%!important;
  background-repeat:no-repeat!important;
}
.contact::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:
    radial-gradient(circle at 8% 10%,rgba(85,115,115,.20),transparent 30%),
    radial-gradient(circle at 94% 88%,rgba(223,229,243,.08),transparent 34%);
  pointer-events:none;
}
.contact .contact-grid{
  position:relative;
  z-index:2;
}
.contact h2{
  max-width:610px!important;
  text-wrap:balance;
  text-shadow:0 3px 18px rgba(0,0,0,.24);
}
.contact .contact-intro{
  color:rgba(242,239,234,.82)!important;
}
.contact-action{
  border-radius:20px!important;
  border-color:rgba(242,239,234,.24)!important;
  background:rgba(13,13,13,.25)!important;
  backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.contact-action.primary{
  border-color:rgba(120,157,151,.72)!important;
  background:linear-gradient(135deg,rgba(85,115,115,.94),rgba(102,137,131,.92))!important;
  box-shadow:0 12px 28px rgba(0,0,0,.15);
}
.contact-action:hover{
  background:var(--cream)!important;
}
.contact-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  border-top:0!important;
}
.contact .contact-detail{
  min-width:0;
  padding:20px!important;
  border:1px solid rgba(242,239,234,.14)!important;
  border-radius:18px 28px 18px 28px;
  background:rgba(13,13,13,.30);
  backdrop-filter:blur(9px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.contact .contact-detail:nth-child(even){
  border-radius:28px 18px 28px 18px;
}
.contact-detail-label{
  color:#B5CBC6!important;
}
.contact-detail-value{
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .contact{
    padding:68px 0 48px!important;
    border-radius:38px 38px 0 0!important;
    background-image:
      linear-gradient(145deg,rgba(20,21,19,.91) 0%,rgba(20,21,19,.83) 54%,rgba(20,21,19,.76) 100%),
      url("../images/media-wall-joinery.webp")!important;
    background-position:56% center!important;
  }
  .contact .contact-grid{
    gap:34px!important;
  }
  .contact h2{
    font-size:clamp(39px,11vw,52px)!important;
  }
  .contact .contact-intro{
    max-width:580px;
    font-size:16px!important;
  }
  .contact-actions{
    gap:10px;
    margin-top:25px!important;
  }
  .contact-action{
    min-height:56px!important;
    border-radius:18px!important;
  }
  .contact-meta{
    grid-template-columns:1fr;
    gap:10px;
  }
  .contact .contact-detail,
  .contact .contact-detail:nth-child(even){
    padding:17px 18px!important;
    border-radius:17px 25px 17px 25px;
  }
}

.project-video-wrap{
  width:min(calc(100% - 30px),1020px)!important;
  grid-template-columns:280px minmax(0,1fr)!important;
  gap:clamp(38px,6vw,78px)!important;
}
.project-video-media{
  width:280px!important;
}
.customer-review{
  min-height:350px!important;
  padding:62px 38px 58px!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.customer-review::before,
.customer-review::after{
  position:absolute;
  z-index:0;
  color:var(--green);
  font-family:Georgia,serif;
  font-size:118px;
  font-weight:400;
  line-height:.7;
  opacity:.28;
  pointer-events:none;
}
.customer-review::before{
  content:"“"!important;
  left:0!important;
  top:4px!important;
  width:auto!important;
  height:auto!important;
  background:none!important;
  border:0!important;
  transform:rotate(-7deg)!important;
}
.customer-review::after{
  content:"”";
  right:0;
  bottom:-13px;
  transform:rotate(7deg);
}
.review-label{
  margin-bottom:14px!important;
  font-size:9px!important;
}
.customer-review blockquote{
  font-family:"Segoe Print","Bradley Hand","Brush Script MT",cursive!important;
  font-size:15px!important;
  line-height:1.55!important;
  letter-spacing:.005em!important;
}
.review-customer{
  margin-top:17px!important;
  font-size:8.5px!important;
}
@media(max-width:700px){
  .project-video-wrap{
    width:calc(100% - 8px)!important;
    grid-template-columns:176px minmax(0,1fr)!important;
    gap:8px!important;
  }
  .project-video-media{
    width:176px!important;
  }
  .customer-review{
    min-height:300px!important;
    padding:48px 8px 43px 15px!important;
  }
  .customer-review::before,
  .customer-review::after{
    font-size:82px;
    opacity:.25;
  }
  .customer-review::before{
    left:-3px!important;
    top:3px!important;
  }
  .customer-review::after{
    right:-2px;
    bottom:-8px;
  }
  .review-label{
    margin-bottom:9px!important;
    font-size:7px!important;
    letter-spacing:.11em!important;
  }
  .customer-review blockquote{
    font-size:10.5px!important;
    line-height:1.48!important;
  }
  .review-customer{
    gap:5px!important;
    margin-top:11px!important;
    font-size:7px!important;
  }
}

.customer-review blockquote{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:16px!important;
  font-style:italic;
  line-height:1.52!important;
  letter-spacing:-.008em!important;
}
@media(max-width:700px){
  .customer-review blockquote{
    font-size:11.5px!important;
    line-height:1.48!important;
  }
}

.hero-copy{
  position:absolute!important;
  z-index:4!important;
  inset:0!important;
  width:calc(100% - 80px)!important;
  max-width:none!important;
  margin:0 40px!important;
  padding:0!important;
  transform:none!important;
  pointer-events:none;
}
.hero-copy h1{
  position:absolute;
  top:clamp(54px,7vh,88px);
  left:0;
  max-width:720px;
  text-shadow:0 3px 18px rgba(0,0,0,.28);
}
.hero-copy p{
  position:absolute;
  left:0;
  bottom:clamp(45px,6vh,76px);
  max-width:620px!important;
  color:#fff!important;
  text-shadow:0 2px 13px rgba(0,0,0,.48);
}
@media(max-width:760px){
  .hero-copy{
    width:calc(100% - 54px)!important;
    margin:0 27px!important;
  }
  .hero-copy h1{
    top:34px;
    max-width:650px;
    font-size:48px!important;
    line-height:.92!important;
  }
  .hero-copy p{
    bottom:35px;
    max-width:94%!important;
    font-size:16px!important;
    line-height:1.4!important;
  }
}

.journey-step,
.journey-step:nth-child(even){
  grid-template-columns:56px minmax(0,1fr)!important;
}
@media(max-width:700px){
  .journey-step,
  .journey-step:nth-child(even){
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:12px!important;
  }
}

.hero-copy h1,
.hero-copy p{
  transform:translateY(25%)!important;
}

.hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:2!important;
  inset:0!important;
  background:
    linear-gradient(180deg,transparent 42%,rgba(13,13,13,.08) 58%,rgba(13,13,13,.68) 100%),
    linear-gradient(90deg,rgba(13,13,13,.20),transparent 68%)!important;
  pointer-events:none;
}
.hero-copy{
  position:absolute!important;
  z-index:4!important;
  inset:auto 0 0 0!important;
  width:calc(100% - 80px)!important;
  max-width:none!important;
  margin:0 40px 62px!important;
  padding:0!important;
  transform:none!important;
}
.hero-copy h1,
.hero-copy p{
  position:static!important;
  transform:none!important;
}
.hero-copy h1{
  max-width:700px!important;
  margin:0 0 18px!important;
  font-size:clamp(52px,7vw,84px)!important;
  line-height:.92!important;
  text-shadow:0 3px 20px rgba(0,0,0,.28);
}
.hero-copy p{
  max-width:590px!important;
  margin:0!important;
  color:rgba(255,255,255,.94)!important;
  font-size:17px!important;
  line-height:1.45!important;
  text-shadow:0 2px 12px rgba(0,0,0,.34);
}
@media(max-width:760px){
  .hero-copy{
    width:calc(100% - 54px)!important;
    margin:0 27px 42px!important;
  }
  .hero-copy h1{
    margin-bottom:14px!important;
    font-size:48px!important;
    line-height:.92!important;
  }
  .hero-copy p{
    max-width:95%!important;
    font-size:15px!important;
    line-height:1.42!important;
  }
}

@media(max-width:760px){
  .hero-copy{
    margin-bottom:46px!important;
  }
  .hero-copy h1{
    max-width:620px!important;
    font-size:50px!important;
  }
}

.help-chat{
  border-color:#557373!important;
  background:#557373!important;
  color:#F2EFEA!important;
  font-weight:700!important;
  box-shadow:0 9px 20px rgba(85,115,115,.20);
}
.help-chat:hover,
.help-chat:focus-visible{
  border-color:#272401!important;
  background:#272401!important;
  color:#F2EFEA!important;
}

.help-chat{
  border-radius:11px!important;
}

.appointment-strip{
  width:min(calc(100% - 28px),1400px);
  margin:0 auto;
  padding:14px 0;
}
.appointment-strip + main .hero{margin-top:0!important}
.appointment-strip__button{
  width:100%;
  min-height:50px;
  border:0;
  border-radius:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:#557373;
  color:#F2EFEA;
  font:500 11px/1 Arial,sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .25s ease,transform .25s ease;
}
.appointment-strip__button:hover,
.appointment-strip__button:focus-visible{background:#272401}
.appointment-strip__button span{font-size:14px;font-weight:400;letter-spacing:0}
.appointment-page{
  width:min(calc(100% - 28px),1400px);
  margin:14px auto 70px;
  padding:clamp(34px,7vw,90px);
  border-radius:22px;
  background:#E7ECF7;
  color:#383733;
}
.appointment-page[hidden]{display:none!important}
.booking-open main>section:not(.appointment-page),
.booking-open main>.service-bridge,
.booking-open main>.process-wave,
.booking-open main>.section-wave,
.booking-open footer{display:none!important}
.booking-open .appointment-strip{display:none}
.appointment-back{
  border:0;
  padding:0;
  background:transparent;
  color:#557373;
  font:700 11px/1 Arial,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
}
.appointment-intro{max-width:760px;margin:34px 0 48px}
.appointment-intro .section-label{color:#557373}
.appointment-intro h2{
  margin:13px 0 18px;
  font:400 clamp(46px,7vw,84px)/.95 Georgia,serif;
  letter-spacing:-.04em;
}
.appointment-intro p{max-width:620px;margin:0;color:#666963;font-size:17px;line-height:1.65}
.appointment-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 22px;max-width:900px}
.appointment-field{display:flex;flex-direction:column;gap:9px}
.appointment-field--full{grid-column:1/-1}
.appointment-field label,
.appointment-choice legend{
  font:700 10px/1.2 Arial,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.appointment-field input,
.appointment-field select,
.appointment-field textarea{
  width:100%;
  border:1px solid rgba(56,55,51,.16);
  border-radius:10px;
  padding:15px 16px;
  background:rgba(255,255,255,.78);
  color:#383733;
  font:400 16px/1.4 Arial,sans-serif;
}
.appointment-field textarea{min-height:130px;resize:vertical}
.appointment-choice{grid-column:1/-1;border:0;padding:0;margin:0}
.appointment-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.appointment-options label{position:relative}
.appointment-options input{position:absolute;opacity:0;pointer-events:none}
.appointment-options span{
  display:block;
  padding:12px 15px;
  border:1px solid rgba(56,55,51,.17);
  border-radius:999px;
  background:rgba(255,255,255,.55);
  font-size:13px;
  cursor:pointer;
}
.appointment-options input:checked+span{background:#557373;color:#F2EFEA;border-color:#557373}
.appointment-submit{
  grid-column:1/-1;
  min-height:58px;
  border:0;
  border-radius:10px;
  background:#272401;
  color:#F2EFEA;
  font:700 11px/1 Arial,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
  cursor:pointer;
}
.appointment-submit:disabled{cursor:wait;opacity:.7}
.appointment-status{
  grid-column:1/-1;
  margin:-4px 0 0;
  padding:15px 17px;
  border-radius:10px;
  font:600 14px/1.55 Arial,sans-serif;
  outline:none;
}
.appointment-status[hidden]{display:none!important}
.appointment-status[data-state="sending"]{background:rgba(85,115,115,.1);color:#435f5f}
.appointment-status[data-state="success"]{background:#e4eee7;color:#254f35;border:1px solid rgba(37,79,53,.15)}
.appointment-status[data-state="error"]{background:#f4e7e3;color:#7b352a;border:1px solid rgba(123,53,42,.14)}
.appointment-status[data-state="preview"]{background:#eeeae0;color:#5f5848;border:1px solid rgba(95,88,72,.14)}
.appointment-note{grid-column:1/-1;margin:-8px 0 0;color:#777a74;font-size:12px;line-height:1.5}
@media(max-width:720px){
  .appointment-strip{margin:0 auto;padding:12px 0}
  .appointment-strip__button{min-height:44px;border-radius:0}
  .appointment-page{margin-top:10px;padding:32px 18px 44px;border-radius:18px}
  .appointment-intro{margin:28px 0 34px}
  .appointment-form{grid-template-columns:1fr;gap:19px}
  .appointment-field--full,.appointment-choice,.appointment-submit,.appointment-status,.appointment-note{grid-column:1}
}

.hero{
  align-items:flex-start!important;
}
.hero-copy{
  padding-top:clamp(42px,6vw,72px)!important;
  padding-bottom:40px!important;
}
@media(max-width:720px){
  .hero-copy{
    padding-top:34px!important;
    padding-bottom:28px!important;
  }
}

/* The source photograph is physically cropped by 30% with the mirror centred. */
.hero{
  background-size:0 0,cover!important;
  background-position:center,center!important;
  background-repeat:no-repeat!important;
}

/* A slimmer booking strip and a quieter, more useful hero. */
.appointment-strip{padding:7px 0!important}
.appointment-strip{
  width:min(calc(100% - 96px),520px)!important;
}
.appointment-strip__button{min-height:34px!important}
.appointment-strip__button{
  border:1px solid #557373!important;
  border-radius:6px!important;
  background:#557373!important;
  color:#F2EFEA!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
.appointment-strip__button:hover,
.appointment-strip__button:focus-visible{
  border-color:#46635f!important;
  background:#46635f!important;
}
.header-inner .brand{
  transform:translateX(-6px)!important;
}
.image-services__header .help-chat{
  min-height:31px!important;
  padding:0 11px!important;
  gap:7px!important;
  border:1px solid #557373!important;
  border-radius:6px!important;
  background:#557373!important;
  color:#F2EFEA!important;
  box-shadow:none!important;
  font-size:9px!important;
  font-weight:700!important;
}
.image-services__header .help-chat:hover,
.image-services__header .help-chat:focus-visible{
  border-color:#46635f!important;
  background:#46635f!important;
  color:#F2EFEA!important;
}
.image-services__header .help-chat svg{
  width:15px;
  height:15px;
  flex:0 0 15px;
}
.journey-soft .journey-number{
  font-family:"Trebuchet MS",Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
.whatsapp-note{
  max-width:760px!important;
  margin-top:20px!important;
  padding:17px 19px!important;
  gap:14px!important;
  border-radius:20px!important;
}
.whatsapp-note .whatsapp-mark{
  min-width:76px!important;
  height:30px!important;
  padding:0 10px!important;
  font-size:9px!important;
}
.whatsapp-note .whatsapp-mark svg{
  width:16px!important;
  height:16px!important;
  flex-basis:16px!important;
}
.whatsapp-note h3{
  margin:0 0 4px!important;
  font-size:21px!important;
}
.whatsapp-note p{
  max-width:590px!important;
  font-size:14px!important;
  line-height:1.42!important;
}
.hero-copy{margin-bottom:38px!important}
.hero-copy h1{
  max-width:620px!important;
  margin-bottom:12px!important;
  font-size:clamp(46px,5.8vw,70px)!important;
  line-height:.94!important;
}
.hero-copy p{
  max-width:540px!important;
  font-size:15px!important;
  line-height:1.42!important;
}
.hero-contact-cta{
  pointer-events:auto;
  position:absolute;
  left:50%;
  bottom:-29px;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  min-width:132px;
  margin:0;
  padding:0 22px;
  border:1px solid rgba(242,239,234,.92);
  border-radius:11px;
  background:rgba(242,239,234,.91);
  color:#30312F;
  font:700 10px/1 Arial,sans-serif;
  letter-spacing:.16em;
  text-decoration:none;
  text-transform:uppercase;
  box-shadow:0 8px 24px rgba(13,13,13,.22);
  backdrop-filter:blur(7px);
}
.project-trust-quote{
  padding:34px 0 40px;
  background:var(--flow-cream);
}
.project-trust-quote__inner{
  width:min(calc(100% - 48px),820px);
  margin:0 auto;
  text-align:center;
}
.project-trust-quote blockquote{
  margin:0;
  color:var(--graphite);
  font:italic 400 clamp(22px,3vw,32px)/1.35 Georgia,"Times New Roman",serif;
}
.project-trust-quote p{
  margin:16px 0 0;
  color:var(--green);
  font:700 9px/1 Arial,sans-serif;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.image-service-copy h3{
  font-size:clamp(35px,4.4vw,60px)!important;
}
.image-service-copy h3 a{
  color:inherit;
  text-decoration:none;
}
.image-service-copy h3 a:hover,
.image-service-copy h3 a:focus-visible{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:6px;
}
.image-service-row .service-project-slider,
.service-project-slide,
.service-project-slide img{
  border-radius:5px!important;
}
.image-service-copy .service-bullet{
  display:none!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 9px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--green)!important;
  font:400 15px/1 Georgia,serif!important;
  letter-spacing:0!important;
}
.image-service-row,
.image-service-row--reverse{
  border-top:0!important;
  padding-top:28px!important;
  padding-bottom:38px!important;
}
.service-swipe-note{
  margin-top:8px!important;
  gap:8px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:14px!important;
  font-style:italic!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.12em!important;
  text-transform:uppercase;
}
.service-swipe-note::before,
.service-swipe-note::after{
  font-family:Georgia,serif!important;
  font-size:12px!important;
}
.contact{
  background:#252625!important;
  background-image:none!important;
}
.contact::after{
  background:none!important;
}
.contact-action.primary{
  border-color:#789b94!important;
  background:#557373!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
}
.contact-action:not(.primary){
  border-color:rgba(242,239,234,.20)!important;
  background:transparent!important;
}
.contact-action,
.contact-action.primary,
.contact-action:not(.primary){
  width:100%!important;
  min-height:56px!important;
  box-sizing:border-box!important;
}
.whatsapp-mark{
  color:inherit;
  text-decoration:none!important;
}
.contact .contact-detail,
.contact .contact-detail:nth-child(even){
  padding:10px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
#renovation-journey::before{
  content:none!important;
  display:none!important;
}
.floating-whatsapp{
  position:fixed;
  z-index:90;
  right:18px;
  bottom:18px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(242,239,234,.72);
  border-radius:50%;
  background:#557373;
  color:#F2EFEA;
  box-shadow:0 10px 26px rgba(13,13,13,.24);
  text-decoration:none;
  transition:transform .2s ease,background .2s ease;
}
.floating-whatsapp:hover,
.floating-whatsapp:focus-visible{
  background:#46635f;
  transform:translateY(-2px);
}
.floating-whatsapp svg{width:25px;height:25px}
@media(max-width:720px){
  .appointment-strip{
    width:calc(100% - 92px)!important;
    max-width:430px;
    padding:6px 0!important;
  }
  .appointment-strip__button{min-height:32px!important}
  .appointment-strip__button{border-radius:6px!important}
  .image-services__header .help-chat{
    min-height:30px!important;
    padding:0 10px!important;
    font-size:8px!important;
  }
  .whatsapp-note{
    margin-top:16px!important;
    padding:15px 16px!important;
    gap:9px!important;
    border-radius:18px!important;
  }
  .whatsapp-note h3{font-size:20px!important}
  .whatsapp-note p{font-size:14px!important;line-height:1.4!important}
  .hero-copy{margin:0 24px 30px!important;width:calc(100% - 48px)!important}
  .hero-copy h1{max-width:500px!important;font-size:43px!important;line-height:.95!important}
  .hero-copy p{max-width:92%!important;font-size:14px!important;line-height:1.4!important}
  .hero-contact-cta{
    bottom:-22px;
    min-width:126px;
    min-height:40px;
    padding:0 18px;
    font-size:9px;
  }
  .image-service-copy h3{font-size:37px!important}
  .image-service-row .service-project-slider,
  .service-project-slide,
  .service-project-slide img{border-radius:5px!important}
  .image-service-row,
  .image-service-row--reverse{
    padding-top:18px!important;
    padding-bottom:26px!important;
    gap:20px!important;
  }
  .service-swipe-note{margin-top:7px!important;font-size:13px!important}
  .image-services{
    padding-bottom:0!important;
  }
  .image-services .image-service-row:last-child{
    padding-bottom:16px!important;
  }
  .image-services::after,
  .image-services .wrap::after{
    content:none!important;
    display:none!important;
  }
  #renovation-journey{
    padding-top:38px!important;
    padding-bottom:48px!important;
  }
  #renovation-journey .process-intro{
    margin-bottom:18px!important;
  }
  #renovation-journey .process-intro h2{
    margin-top:20px!important;
    font-size:42px!important;
    line-height:.98!important;
  }
  #renovation-journey .journey-step,
  #renovation-journey .journey-step:nth-child(even){
    padding:13px 0 14px!important;
    gap:11px!important;
  }
  #renovation-journey .journey-copy h3{
    margin-bottom:5px!important;
  }
  #renovation-journey .journey-copy p{
    line-height:1.4!important;
  }
  .project-trust-quote{padding:25px 0 29px}
  .project-trust-quote__inner{width:calc(100% - 54px)}
  .project-trust-quote blockquote{font-size:21px;line-height:1.35}
  .project-trust-quote p{margin-top:13px;font-size:8px}
  .contact-actions{gap:8px!important}
  .contact-action,
  .contact-action.primary,
  .contact-action:not(.primary){min-height:54px!important}
  .contact-meta{margin-top:8px!important;gap:2px!important}
  .contact .contact-detail,
  .contact .contact-detail:nth-child(even){padding:7px 0!important}
  .floating-whatsapp{
    right:14px;
    bottom:14px;
    width:46px;
    height:46px;
  }
}

.featured-projects,
.portfolio-page-view{
  display:none!important;
}
.image-service-row .service-project-slider{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:26px;
  background:#272401;
  box-shadow:0 18px 42px rgba(13,13,13,.12);
}
.service-project-track{
  display:flex;
  width:100%;
  transition:transform .55s cubic-bezier(.22,.75,.25,1);
  touch-action:pan-y;
}
.service-project-slide{
  flex:0 0 100%;
  aspect-ratio:4/3;
  min-width:0;
}
.service-project-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.service-project-controls{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  pointer-events:none;
}
.service-project-arrows{
  display:flex;
  gap:8px;
  pointer-events:auto;
}
.service-project-arrow{
  width:42px;
  height:42px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(242,239,234,.72);
  border-radius:50%;
  background:rgba(13,13,13,.58);
  color:#F2EFEA;
  font:400 22px/1 Arial,sans-serif;
  backdrop-filter:blur(7px);
}
.service-project-count{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(13,13,13,.58);
  color:#F2EFEA;
  font:600 11px/1 Arial,sans-serif;
  letter-spacing:.14em;
  backdrop-filter:blur(7px);
}
.service-project-arrows,
.service-project-count{display:none!important}
.service-project-shell{min-width:0}
.image-service-row--reverse .service-project-shell{order:1}
.service-project-shell .service-project-slider{width:100%}
.service-swipe-note{
  margin:11px 0 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  color:#557373;
  font:italic 400 24px/1.1 "Segoe Script","Bradley Hand","Brush Script MT",cursive;
  letter-spacing:.02em;
}
.service-swipe-note::before,
.service-swipe-note::after{
  font:400 14px/1 Georgia,serif;
  opacity:.72;
}
.service-swipe-note::before{content:"←"}
.service-swipe-note::after{content:"→"}
@media(max-width:720px){
  .image-service-row .service-project-slider{border-radius:21px}
  .service-project-slide{aspect-ratio:4/3}
  .service-project-controls{left:13px;right:13px;bottom:12px}
  .service-project-arrow{width:38px;height:38px}
  .service-swipe-note{margin-top:9px;font-size:22px}
}

.service-project-slide{
  position:relative;
  overflow:hidden;
  background-position:center;
  background-size:cover;
}
.service-project-slide::before{
  display:none;
}
.service-project-slide::after{
  display:none;
}
.service-project-slide img{
  position:relative;
  z-index:1;
  object-fit:cover!important;
  object-position:center!important;
}

.image-service-row:first-of-type .service-project-slide:nth-child(2) img{
  object-fit:cover!important;
  object-position:center 64%!important;
}
.image-service-row:first-of-type .service-project-slide:nth-child(5) img{
  transform:none!important;
  object-fit:cover!important;
  object-position:center 72%!important;
}
.image-service-row:nth-of-type(2) .service-project-slide:nth-child(6) img{
  object-fit:cover!important;
  object-position:center 68%!important;
}

.image-service-row:nth-of-type(2) .service-project-slide:nth-child(1) img{
  object-fit:cover!important;
  object-position:center 44%!important;
}

.image-service-row:nth-of-type(1) .image-service-copy h3,
.image-service-row:nth-of-type(2) .image-service-copy h3,
.image-service-row:nth-of-type(3) .image-service-copy h3{
  text-decoration-line:underline;
  text-decoration-color:#557373;
  text-decoration-thickness:2px;
  text-underline-offset:.16em;
}

/* Keep touch scrolling native and reduce expensive repainting on phones. */
html{
  scroll-behavior:smooth;
  overscroll-behavior-y:auto;
}
body{
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
@media(max-width:760px){
  .site-header{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:rgba(242,239,234,.99)!important;
  }
  .reveal,
  .project{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .service-project-slide img,
  .project-media img,
  .media-frame img{
    backface-visibility:hidden;
  }
}

.whatsapp-note .whatsapp-mark{
  background:#25D366!important;
  color:#fff!important;
  border-color:#25D366!important;
}

/* A calmer editorial type rhythm throughout the page. */
body{
  font-family:"Helvetica Neue",Arial,Helvetica,sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.image-services h2,
.image-service-copy h3,
.project-trust-quote blockquote,
.journey-soft h2,
.journey-copy h3,
.comparison-copy h2,
.featured-projects h2,
.contact h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:400!important;
  letter-spacing:-.025em!important;
}
.image-service-copy p,
.journey-copy p,
.comparison-copy p,
.whatsapp-note p,
.contact .contact-intro{
  font-size:clamp(15px,1.2vw,17px)!important;
  line-height:1.54!important;
  letter-spacing:.002em!important;
}

/* Shallower fades make each colour change feel continuous, not stacked. */
.hero::after{
  height:18px!important;
  background:linear-gradient(to bottom,rgba(242,239,234,0),rgba(242,239,234,.48))!important;
}
.image-services{
  padding-top:88px!important;
}
.image-services::before{
  height:46px!important;
  background:linear-gradient(180deg,rgba(223,229,243,.48),rgba(242,239,234,0))!important;
  border-radius:0 0 48% 48% / 0 0 70% 70%!important;
}
.image-services::after,
.process::before,
.comparison-section::before,
.featured-projects::before,
.contact::before{
  height:36px!important;
  opacity:.6!important;
}
@media(max-width:760px){
  .image-services{padding-top:70px!important}
  .image-service-row{padding-bottom:42px!important}
  .process.journey-soft{padding-top:48px!important;padding-bottom:50px!important}
  .comparison-section{padding-top:46px!important;padding-bottom:50px!important}
  .project-trust-quote{padding-top:38px!important;padding-bottom:40px!important}
  .image-service-copy p,
  .journey-copy p,
  .comparison-copy p,
  .whatsapp-note p,
  .contact .contact-intro{
    font-size:15px!important;
    line-height:1.5!important;
  }
}

/* Deliberately visible refinement: lighter copy and clearer hierarchy. */
.image-service-copy p,
.journey-copy p,
.comparison-copy p,
.whatsapp-note p,
.contact .contact-intro{
  font-family:"Trebuchet MS",Arial,sans-serif!important;
  font-size:15px!important;
  line-height:1.48!important;
  font-weight:400!important;
  color:#666862!important;
}
.image-service-copy h3,
.journey-copy h3{
  font-size:clamp(27px,2.4vw,36px)!important;
  line-height:1.04!important;
}
.image-service-copy h3{margin-bottom:10px!important}

/* A real cream-to-blue blend at the process section. */
.process.journey-soft{
  background:linear-gradient(
    to bottom,
    #F2EFEA 0,
    #E9EBEF 28px,
    #DFE5F3 72px,
    #DFE5F3 100%
  )!important;
}
.process.journey-soft::before{
  display:none!important;
}
@media(max-width:760px){
  .image-service-copy p,
  .journey-copy p,
  .comparison-copy p,
  .whatsapp-note p,
  .contact .contact-intro{
    font-size:14px!important;
    line-height:1.46!important;
  }
  .image-service-copy h3,
  .journey-copy h3{
    font-size:26px!important;
  }
  .process.journey-soft{
    padding-top:62px!important;
    background:linear-gradient(
      to bottom,
      #F2EFEA 0,
      #E9EBEF 24px,
      #DFE5F3 60px,
      #DFE5F3 100%
    )!important;
  }
}

.service-project-slide img[alt*="alcove dressing table"]{
  object-fit:contain!important;
  object-position:center!important;
}
.service-project-slider.is-portrait-project .service-project-slide{
  aspect-ratio:2/3!important;
}
.service-project-slide:has(img[alt*="alcove dressing table"]){
  background:#F2EFEA!important;
}
.service-project-slide img[alt*="panelling and fitted shelving"]{
  object-position:center 48%!important;
  transform:scale(1.02)!important;
}
.service-slide-location{
  position:absolute;
  z-index:3;
  left:14px;
  bottom:14px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(242,239,234,.9);
  color:#2d2d2b;
  font:600 9px/1 "Trebuchet MS",Arial,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  box-shadow:0 4px 16px rgba(13,13,13,.1);
}

.image-service-copy h3{
  font-size:clamp(31px,2.75vw,41px)!important;
}
@media(max-width:760px){
  .image-service-copy h3{font-size:30px!important}
}

.process.journey-soft{
  position:relative!important;
  z-index:1;
  overflow:hidden!important;
  border-radius:0 0 34px 34px!important;
}
@media(max-width:760px){
  .process.journey-soft{border-radius:0 0 28px 28px!important}
}

.portfolio-item--murthly-portrait .portfolio-image{
  aspect-ratio:2/3!important;
  max-width:520px;
  margin:0 auto;
  background:#F2EFEA;
}
.portfolio-item--murthly-portrait .portfolio-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

.image-services{
  padding-top:48px!important;
}
@media(max-width:760px){
  .image-services{padding-top:28px!important}
}

.ba-after{
  border-radius:0!important;
  filter:none!important;
  border-right:2px solid rgba(255,255,255,.94)!important;
  box-sizing:border-box!important;
}
.ba-range{cursor:ew-resize}
.ba-instruction{
  letter-spacing:.08em!important;
}

.ba-stage{
  cursor:pointer!important;
  touch-action:pan-y!important;
  -webkit-tap-highlight-color:transparent;
}
.ba-after{
  width:100%;
  transition:opacity .28s ease!important;
  border-right:0!important;
  pointer-events:none;
}
.ba-handle,.ba-range,.ba-instruction{display:none!important}
.ba-tap-caption{
  grid-column:2;
  justify-self:center;
  margin-top:-32px;
  padding:8px 13px;
  border-radius:999px;
  color:#2d2d2b;
  background:#f2efea;
  border:1px solid rgba(45,45,43,.12);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  font:600 9px/1 Arial,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  pointer-events:none;
  position:relative;
  z-index:9;
}

.form-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
}
.ba-stage:focus-visible{outline:3px solid #557b7a;outline-offset:4px}
@media(max-width:700px){.ba-tap-caption{grid-column:2;margin-top:-22px}}

.portfolio-page-view{display:none!important}
.contact-home-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:30px;
  color:#F2EFEA;
  text-decoration:none;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.contact-home-link span{
  font-size:18px;
  line-height:1;
}
.contact-home-link:hover,
.contact-home-link:focus-visible{
  text-decoration:underline;
  text-underline-offset:5px;
}
.contact-socials{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:28px;
}
.contact-social{
  min-width:138px;
  min-height:46px;
  padding:11px 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:#f2efea;
  border:1px solid rgba(242,239,234,.34);
  border-radius:999px;
  text-decoration:none;
  font:600 10px/1 Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.contact-social:hover{background:rgba(242,239,234,.1);border-color:rgba(242,239,234,.68);transform:translateY(-1px)}
.contact-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
.contact-social:last-child svg{fill:currentColor;stroke:none}
@media(max-width:520px){
  .contact-socials{gap:8px;margin-top:20px}
  .contact-social{min-width:0;flex:1;padding:11px 9px}
}

.hero-copy h1{
  font-size:clamp(55px,6.96vw,84px)!important;
}
.ba-tap-caption{
  position:absolute!important;
  left:50%!important;
  bottom:16px!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  z-index:9!important;
}
@media(max-width:700px){
  .hero-copy h1{font-size:52px!important}
  .ba-tap-caption{bottom:12px!important}
}

.ba-tap-caption{
  bottom:22px!important;
  min-height:42px;
  padding:0 19px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff!important;
  background:rgba(85,115,115,.94)!important;
  border:1px solid rgba(255,255,255,.5)!important;
  border-radius:999px!important;
  box-shadow:0 10px 28px rgba(13,13,13,.25)!important;
  backdrop-filter:blur(8px);
  font-size:10px!important;
  letter-spacing:.13em!important;
  white-space:nowrap;
}
@media(max-width:700px){
  .ba-tap-caption{bottom:16px!important;min-height:38px;padding:0 16px!important}
}
