/*
 * Marble & Stone Restoration — design tokens (revision 2)
 *
 * Revision 2 corrects three faults in the first pass: the container was far
 * too narrow for desktop, the type scale was timid, and sections all carried
 * the same visual weight. Sizes below follow the layout contract in
 * Claude-PC-Design-Correction.md.
 *
 * Palette: warm ivory ground, dark charcoal ink, one deep blue-green accent.
 */

:root {
  --rgb-ivory: 247 244 239;        /* #F7F4EF page */
  --rgb-ivory-deep: 237 232 224;   /* #EDE8E0 contrast band */
  --rgb-charcoal: 28 27 25;        /* #1C1B19 ink and inverted sections */
  --rgb-charcoal-soft: 42 41 38;
  --rgb-ink-2: 86 82 75;           /* #56524B secondary */
  --rgb-ink-muted: 132 126 116;    /* #847E74 */
  --rgb-line: 220 213 202;         /* #DCD5CA */
  --rgb-chalk: 255 255 255;

  --rgb-accent: 14 77 69;          /* #0E4D45 deep blue-green */
  --rgb-accent-bright: 21 101 91;  /* #15655B */

  --surface-page: rgb(var(--rgb-ivory));
  --surface-alt: rgb(var(--rgb-ivory-deep));
  --surface-deep: rgb(var(--rgb-charcoal));
  --surface-raised: rgb(var(--rgb-chalk));

  --ink-primary: rgb(var(--rgb-charcoal));
  --ink-secondary: rgb(var(--rgb-ink-2));
  --ink-muted: rgb(var(--rgb-ink-muted));
  --ink-inverse: rgb(var(--rgb-ivory));
  --ink-accent: rgb(var(--rgb-accent));

  --line-hair: rgb(var(--rgb-line));
  --line-strong: rgb(var(--rgb-ink-muted) / 0.45);

  --font-display: 'Archivo', ui-sans-serif, system-ui, 'Segoe UI', sans-serif;
  --font-body: 'IBM Plex Sans', ui-sans-serif, system-ui, 'Segoe UI', sans-serif;

  /* Type. Fluid between the mobile and large-desktop ends of the contract. */
  --fs-h1:      clamp(2.375rem, 1.30rem + 4.70vw, 4.75rem);   /* 38 -> 76 */
  --fs-h2:      clamp(1.75rem,  1.11rem + 2.78vw, 3rem);      /* 28 -> 48 */
  --fs-h3:      clamp(1.3125rem, 1.17rem + 0.63vw, 1.5rem);   /* 21 -> 24 */
  --fs-h4:      clamp(1.125rem, 1.07rem + 0.24vw, 1.1875rem); /* 18 -> 19 */
  --fs-body:    clamp(1.0625rem, 1.03rem + 0.16vw, 1.125rem); /* 17 -> 18 */
  --fs-lead:    clamp(1.1875rem, 1.10rem + 0.39vw, 1.375rem); /* 19 -> 22 */
  --fs-small:   0.9375rem;   /* 15 */
  --fs-caption: 0.875rem;    /* 14 */

  --lh-display: 1.04;
  --lh-head: 1.14;
  --lh-body: 1.6;

  --track-display: -0.025em;
  --track-head: -0.018em;
  --track-eyebrow: 0.08em;

  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.5rem;
  --s-6: 2rem;
  --s-7: 2.5rem;
  --s-8: 3.5rem;
  --s-9: 5rem;
  --s-10: 7rem;

  /* Section rhythm: 48-64 mobile, 80-112 desktop */
  --band-y: clamp(3rem, 1.6rem + 6vw, 7rem);

  --radius: 3px;
  --control-h: 3rem;          /* 48px minimum */

  /* Layout contract: min(100% - 96px, 1360px) at desktop */
  --container: 85rem;         /* 1360 */
  --gutter: 1.25rem;          /* 40px total on mobile */
  --measure: 60ch;

  --header-h: 4.25rem;        /* 68 mobile */

  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --dur: 200ms;
  --focus-ring: 0 0 0 3px rgb(var(--rgb-accent) / 0.5);
}

@media (min-width: 768px) {
  :root { --gutter: 1.5rem; --header-h: 5rem; }       /* 48px total gutters */
}
@media (min-width: 1100px) {
  :root { --gutter: 3rem; --header-h: 5.25rem; }      /* 96px total gutters, 84px header */
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur: 1ms; }
}

@font-face{font-family:'Archivo';src:url('fonts/Archivo-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo';src:url('fonts/Archivo-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo';src:url('fonts/Archivo-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('fonts/IBMPlexSans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('fonts/IBMPlexSans-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--surface-page);color:var(--ink-primary);
  font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);line-height:var(--lh-head)}
h1{font-weight:700;font-size:var(--fs-h1);line-height:var(--lh-display);letter-spacing:var(--track-display)}
h2{font-weight:700;font-size:var(--fs-h2);letter-spacing:var(--track-head)}
h3{font-weight:600;font-size:var(--fs-h3);letter-spacing:var(--track-head)}
h4{font-weight:600;font-size:var(--fs-h4)}

/* ---- layout contract ---- */
.wrap{width:min(100% - (var(--gutter) * 2), var(--container));margin-inline:auto}
.band{padding-block:var(--band-y)}
.band-alt{background:var(--surface-alt)}
.band-dark{background:var(--surface-deep);color:var(--ink-inverse)}
.band-dark h2,.band-dark h3{color:rgb(var(--rgb-ivory))}
.band-dark p{color:rgb(var(--rgb-ivory) / 0.76)}
.measure{max-width:var(--measure)}

.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--s-4);top:var(--s-4);z-index:99;background:var(--surface-deep);
  color:var(--ink-inverse);padding:var(--s-3) var(--s-4);text-decoration:none}
:where(a,button,summary,input,textarea,select):focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius)}

.eyebrow{font-family:var(--font-body);font-weight:500;font-size:var(--fs-caption);
  letter-spacing:var(--track-eyebrow);color:var(--ink-accent);margin-bottom:var(--s-4)}
.band-dark .eyebrow{color:rgb(var(--rgb-ivory) / 0.6)}

.sec-head{margin-bottom:var(--s-8);max-width:46ch}
.sec-head p{margin-top:var(--s-4);color:var(--ink-secondary);font-size:var(--fs-lead)}
.band-dark .sec-head p{color:rgb(var(--rgb-ivory) / 0.76)}

/* ---- staging strip ---- */
.stage{background:var(--surface-deep);color:rgb(var(--rgb-ivory) / 0.88);
  font-size:var(--fs-caption);padding:var(--s-2) 0;text-align:center}

/* ---- header ---- */
.hdr{border-bottom:1px solid var(--line-hair);position:sticky;top:0;z-index:50;
  background:rgb(var(--rgb-ivory) / 0.94);backdrop-filter:blur(8px)}
.hdr-in{display:flex;align-items:center;gap:var(--s-6);min-height:var(--header-h)}
.brand{display:flex;flex-direction:column;text-decoration:none;margin-right:auto;line-height:1.15}
.brand b{font-family:var(--font-display);font-weight:700;font-size:1.0625rem;letter-spacing:-0.02em}
.brand span{font-size:var(--fs-caption);color:var(--ink-muted)}
.nav{display:none;gap:var(--s-6);align-items:center}
.nav a{text-decoration:none;font-size:var(--fs-small);font-weight:500;color:var(--ink-secondary);
  padding-block:var(--s-2);border-bottom:2px solid transparent}
.nav a:hover{color:var(--ink-accent);border-bottom-color:var(--ink-accent)}
.hdr-side{display:none;align-items:center;gap:var(--s-5)}
.hdr-tel{font-family:var(--font-display);font-weight:600;font-size:1.0625rem;text-decoration:none;white-space:nowrap}
@media(min-width:1000px){.nav{display:flex}.hdr-side{display:flex}}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h);
  padding-inline:var(--s-6);font-family:var(--font-body);font-weight:500;font-size:var(--fs-small);
  text-decoration:none;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.btn-main{background:rgb(var(--rgb-accent));color:rgb(var(--rgb-chalk))}
.btn-main:hover{background:rgb(var(--rgb-accent-bright))}
.btn-line{border-color:var(--line-strong);color:var(--ink-primary);background:transparent}
.btn-line:hover{border-color:var(--ink-primary)}
.band-dark .btn-line{border-color:rgb(var(--rgb-ivory) / 0.4);color:rgb(var(--rgb-ivory))}
.band-dark .btn-line:hover{border-color:rgb(var(--rgb-ivory))}

.tlink{display:inline-flex;align-items:center;gap:var(--s-2);font-weight:500;font-size:var(--fs-small);
  color:var(--ink-accent);text-decoration:none;border-bottom:1px solid rgb(var(--rgb-accent) / 0.35);
  padding-bottom:2px}
.tlink:hover{border-bottom-color:rgb(var(--rgb-accent))}

/* ---- hero ---- */
.hero{padding-block:clamp(2.5rem,1.4rem + 4.6vw,5rem) var(--band-y)}
.hero-grid{display:grid;gap:var(--s-7)}
.hero-copy h1{margin-bottom:var(--s-5)}
.hero-copy .lead{font-size:var(--fs-lead);color:var(--ink-secondary);max-width:46ch}
.hero-cta{margin-top:var(--s-7);display:flex;flex-wrap:wrap;gap:var(--s-4)}
.hero-fig figcaption{margin-top:var(--s-3);font-size:var(--fs-caption);color:var(--ink-muted)}
.hero-fig img{width:100%;height:clamp(18rem,12rem + 26vw,42.5rem);object-fit:cover;
  object-position:50% 68%;border-radius:var(--radius)}
@media(min-width:1000px){
  .hero-grid{grid-template-columns:42fr 58fr;gap:var(--s-9);align-items:center}
  .hero-fig img{height:clamp(35rem,22rem + 18vw,42.5rem)}
}

/* ---- featured before / after ---- */
.ba{display:grid;gap:var(--s-5)}
.ba figure{margin:0;position:relative}
.ba img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.ba figcaption{position:absolute;left:var(--s-4);top:var(--s-4);
  background:rgb(var(--rgb-charcoal) / 0.85);color:rgb(var(--rgb-ivory));
  font-size:var(--fs-caption);font-weight:500;padding:var(--s-2) var(--s-4);border-radius:var(--radius)}
@media(min-width:680px){.ba{grid-template-columns:1fr 1fr;gap:var(--s-5)}}

.ba-foot{margin-top:var(--s-7);display:grid;gap:var(--s-5)}
.ba-facts{display:grid;gap:var(--s-5)}
.ba-facts div{display:grid;gap:var(--s-1)}
.ba-facts dt{font-size:var(--fs-caption);color:var(--ink-muted)}
.ba-facts dd{margin:0;font-size:var(--fs-small);color:var(--ink-secondary)}
@media(min-width:800px){
  .ba-foot{grid-template-columns:1fr 2fr;gap:var(--s-9);align-items:start}
  .ba-facts{grid-template-columns:repeat(3,1fr);gap:var(--s-6)}
}

/* ---- services ---- */
.svcs{display:grid;gap:var(--s-6)}
.svc{display:grid;gap:var(--s-4);align-content:start}
.svc img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius)}
.svc p{color:var(--ink-secondary);font-size:var(--fs-small);max-width:40ch}
@media(min-width:800px){.svcs{grid-template-columns:repeat(3,1fr);gap:var(--s-7)}}

/* ---- problems ---- */
.needs{display:grid;gap:0;border-top:1px solid var(--line-hair)}
.need{display:grid;gap:var(--s-1);padding-block:var(--s-5);border-bottom:1px solid var(--line-hair);text-decoration:none}
.need h3{font-size:var(--fs-h4);font-weight:600}
.need p{font-size:var(--fs-small);color:var(--ink-secondary)}
.need:hover h3{color:var(--ink-accent)}
@media(min-width:800px){.needs{grid-template-columns:1fr 1fr;column-gap:var(--s-9)}}

/* ---- how we work (dark) ---- */
.how{display:grid;gap:var(--s-7)}
.how img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.how-steps{display:grid;gap:var(--s-6);margin-top:var(--s-6)}
.how-steps h3{font-size:var(--fs-h4)}
.how-steps p{font-size:var(--fs-small);max-width:44ch}
@media(min-width:900px){
  .how{grid-template-columns:48fr 52fr;gap:var(--s-9);align-items:center}
}

/* ---- materials ---- */
.mats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-5)}
.mat{text-decoration:none;display:grid;gap:var(--s-3)}
.mat img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}
.mat h3{font-size:var(--fs-h4)}
.mat p{font-size:var(--fs-caption);color:var(--ink-secondary)}
.mat:hover h3{color:var(--ink-accent)}
@media(min-width:900px){.mats{grid-template-columns:repeat(4,1fr);gap:var(--s-6)}}

/* ---- coverage ---- */
.cov{display:grid;gap:var(--s-6)}
.cov p{color:var(--ink-secondary);max-width:52ch}
@media(min-width:900px){.cov{grid-template-columns:1fr auto;gap:var(--s-9);align-items:center}}

/* ---- enquiry ---- */
.enq{display:grid;gap:var(--s-8)}
.enq-intro p{color:rgb(var(--rgb-ivory) / 0.76);margin-top:var(--s-4);max-width:42ch}
.enq-contact{margin-top:var(--s-6);display:grid;gap:var(--s-2);font-size:var(--fs-small)}
.enq-contact a{color:rgb(var(--rgb-ivory));text-decoration:none;font-weight:500}
.enq-form{background:var(--surface-page);color:var(--ink-primary);
  border-radius:var(--radius);padding:var(--s-6)}
/* the dark band sets a light paragraph colour; the form sits on a light card,
   so its text has to be reset or it becomes invisible */
.band-dark .enq-form p,
.band-dark .enq-form label{color:var(--ink-secondary)}
.band-dark .enq-form .enq-note{color:var(--ink-primary)}
.enq-note{font-size:var(--fs-caption);background:var(--surface-alt);
  border-left:3px solid var(--ink-accent);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-5)}
.field{display:grid;gap:var(--s-2);margin-bottom:var(--s-5)}
.field label{font-size:var(--fs-small);font-weight:500}
.field input,.field textarea{width:100%;font:inherit;font-size:var(--fs-small);
  padding:var(--s-3) var(--s-4);min-height:var(--control-h);
  border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised)}
.field textarea{min-height:7rem;resize:vertical}
@media(min-width:960px){
  .enq{grid-template-columns:1fr minmax(32.5rem,37.5rem);gap:var(--s-9);align-items:start}
  .enq-form{padding:var(--s-7)}
}

/* ---- footer ---- */
.ftr{background:var(--surface-deep);color:rgb(var(--rgb-ivory) / 0.72);padding-block:var(--s-9) var(--s-7);font-size:var(--fs-small)}
.ftr-grid{display:grid;gap:var(--s-7)}
.ftr h3{font-family:var(--font-body);font-weight:500;font-size:var(--fs-small);
  color:rgb(var(--rgb-ivory));margin-bottom:var(--s-4);letter-spacing:0}
.ftr a{color:inherit;text-decoration:none}
.ftr a:hover{color:rgb(var(--rgb-ivory))}
.ftr li{padding-block:var(--s-1)}
.ftr-base{margin-top:var(--s-8);padding-top:var(--s-5);border-top:1px solid rgb(var(--rgb-ivory) / 0.16);
  display:flex;flex-wrap:wrap;gap:var(--s-5);font-size:var(--fs-caption)}
@media(min-width:800px){.ftr-grid{grid-template-columns:2fr 1fr 1fr 1.2fr}}

/* ---- sticky mobile actions ---- */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line-hair);background:var(--surface-raised)}
.sticky a{min-height:var(--control-h);display:flex;align-items:center;justify-content:center;
  text-decoration:none;font-weight:500;font-size:var(--fs-small)}
.sticky a+a{background:rgb(var(--rgb-accent));color:rgb(var(--rgb-chalk))}
body{padding-bottom:var(--control-h)}
@media(min-width:1000px){.sticky{display:none}body{padding-bottom:0}}
/* Codex visual revision */
html{scroll-padding-top:110px}figure{margin:0}.wrap{width:calc(100% - var(--gutter)*2);max-width:1360px}
.hdr{background:#f5f7f8;backdrop-filter:none}.brand b{font-size:19px}.nav{gap:20px}.hdr-side{gap:18px}.hdr-tel{font-size:15px}
.hero{padding:44px 0 72px}.hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}.hero-copy h1{font-size:clamp(46px,4.6vw,72px);line-height:1.06;letter-spacing:-.05em;max-width:12ch}.hero-copy h1 span{color:#657663;font-weight:500}.hero-copy .lead{font-size:19px;line-height:1.7;max-width:40ch}.hero-fig img{height:590px;border-radius:3px 3px 90px 3px;object-position:50% 72%}.hero-fig figcaption{font-size:12px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.14em}.btn{border-radius:2px;min-height:50px}.btn-main{background:#285447}
.sec-head{max-width:none;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:36px}.sec-head h2{max-width:18ch;font-size:clamp(32px,3vw,46px);letter-spacing:-.035em}.sec-head p{font-size:17px;line-height:1.65;margin:0;max-width:47ch}.band{padding-block:clamp(56px,6vw,96px)}
.ba{gap:20px}.ba img{aspect-ratio:16/11}.ba figcaption{background:#f5f7f8;color:#222821;top:auto;bottom:18px;left:18px}.ba-foot{margin-top:24px}.ba-facts{margin:0}.svcs{gap:28px}.svc{min-width:0;gap:14px}.svc img{aspect-ratio:4/3;object-fit:cover}.svc h3{font-size:27px;margin-top:8px}.svc p{font-size:16px}.need{position:relative;padding-right:32px}.need:after{content:'↗';position:absolute;right:3px;top:24px;color:#285447;font-size:24px}.need p{margin-top:5px}.how img{aspect-ratio:1/1}.how-steps>div{border-top:1px solid #ffffff26;padding-top:16px}.how-steps p{margin-top:6px}.mat img{aspect-ratio:5/4}.mat h3{font-size:23px}.mat p{font-size:15px}
#coverage{padding-block:44px}#coverage h2{font-size:32px}
.contact-band{background:#dce4db;color:#222821;padding-block:72px}.enq{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}.enq-intro h2{font-size:clamp(40px,4vw,60px);letter-spacing:-.045em;line-height:1.08}.enq-intro p{color:#586057;font-size:17px;max-width:38ch}.enq-contact a{color:#285447;overflow-wrap:anywhere}.enq-contact{gap:12px}.enq-form{padding:30px;background:#f9f8f4;border:1px solid #cad4c7;box-shadow:0 12px 38px #273a2710}.form-title{font-size:25px;margin-bottom:20px}.enq-note{font-size:12px;line-height:1.5;padding:10px 12px;margin-bottom:20px;background:#edf0e9}.enq-form form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin:0;min-width:0;gap:7px}.field:nth-child(4),.enq-form button{grid-column:1/-1}.field label{font-size:14px}.field input,.field textarea{font-size:16px;border-color:#b9c3b6}.field textarea{min-height:100px}.ftr a{overflow-wrap:anywhere}
.mobile-menu{display:none;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;font-weight:600;padding:12px 0}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:48px;width:240px;padding:16px 20px;background:#f5f7f8;border:1px solid #ced4c8;box-shadow:0 10px 30px #0002}.mobile-menu nav a{display:block;text-decoration:none;padding:12px 0;border-bottom:1px solid #d8ddcf}
@media(max-width:1199px){.hdr-tel{display:none}.hdr-in{gap:20px}.nav{gap:16px}.hero-grid{gap:32px}.enq{gap:40px}}
@media(max-width:999px){.mobile-menu{display:block}.hero-copy h1{font-size:48px}.hero-copy .lead{font-size:17px}.hero-fig img{height:490px}.sec-head{gap:30px}.enq{gap:32px}.enq-form{padding:24px}}
@media(max-width:767px){html{scroll-padding-top:85px}.hero{padding:30px 0 46px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero-copy h1{font-size:clamp(43px,9vw,62px);max-width:14ch}.hero-copy .lead{max-width:42ch}.hero-fig img{height:410px;border-bottom-right-radius:60px}.sec-head{grid-template-columns:1fr;gap:18px;margin-bottom:28px}.sec-head p{font-size:16px}.svcs{gap:34px}.svc img{aspect-ratio:16/10}.how img{aspect-ratio:4/3}.mat p{font-size:14px}.enq{grid-template-columns:1fr;gap:30px}.contact-band{padding-block:48px}.enq-intro h2{font-size:43px}.enq-form{padding:22px}.enq-form form{grid-template-columns:1fr}.enq-form .field,.enq-form button{grid-column:1}.brand b{font-size:17px}.hdr-in{gap:12px}.ftr-grid{grid-template-columns:1fr 1fr}.ftr-grid>div:first-child,.ftr-grid>div:last-child{grid-column:1/-1}.sticky a{min-height:54px}body{padding-bottom:54px}}


/* Architectural editorial direction. Loaded after the base components. */
:root{--surface-page:#f5f2eb;--surface-alt:#eae6dc;--surface-deep:#202d27;--ink-primary:#253229;--ink-secondary:#5b655d;--ink-accent:#355643}
body{background:var(--surface-page)}
.stage{background:#202d27;font-size:11px;padding:6px 20px;letter-spacing:.03em}
.hdr{background:#f5f2eb;border-bottom:1px solid #c9cebf}.hdr-in{min-height:88px}.brand b{font-size:18px;letter-spacing:-.04em}.brand span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-top:6px}
.nav a{font-size:14px}.hdr .btn{min-height:46px;font-size:13px}.btn{font-size:14px;letter-spacing:.015em}.hero-cta .btn-main:after{content:'↗';margin-left:24px;font-size:21px}
.hero{padding:48px 0 0}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.07fr);gap:64px}.hero-copy{padding:20px 0 44px}.hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(58px,5.7vw,88px);letter-spacing:-.06em;line-height:1.02;max-width:none}.hero-copy h1 span{font-style:italic;color:#66775e;font-weight:400}.hero-copy .lead{font-size:18px;max-width:38ch;margin-top:30px;line-height:1.7}.hero-copy .eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.16em;margin-bottom:30px}.hero-copy .eyebrow:before{content:'';width:32px;height:1px;background:#78866e}
.hero-fig img{height:620px;border-radius:0;object-position:50% 70%}.hero-fig figcaption{font-size:11px;line-height:1.6;padding:12px 0;border-bottom:1px solid #ccd0c1;margin-top:0;max-width:none}
.hero-meta{display:flex;justify-content:space-between;align-items:center;margin-top:44px;padding:22px 0;border-top:1px solid #ccd0c1;color:#5b655d;font-size:12px;letter-spacing:.035em}.hero-meta a{color:#355643;text-decoration:none}.hero-meta span{max-width:40ch}
.section-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.16em;display:flex;align-items:center;gap:14px;color:#63705d;margin-bottom:24px}.section-kicker b{font-weight:400;border:1px solid #bac3af;width:28px;height:28px;display:inline-flex;justify-content:center;align-items:center;font-size:10px;letter-spacing:0}
.sec-head h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(36px,3.8vw,54px);letter-spacing:-.045em;line-height:1.08}.sec-head p{font-size:16px;max-width:45ch}.sec-head{gap:80px;margin-bottom:40px}
#work{background:#eae6dc;padding-top:74px}.ba{gap:16px}.ba img{aspect-ratio:16/10;border-radius:0}.ba figcaption{background:#f5f2eb;padding:7px 15px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;bottom:16px;left:16px}.ba-foot{padding-top:22px;border-top:1px solid #c2c8b7;margin-top:24px}.ba-foot h3{font-family:Georgia,serif;font-size:29px;font-weight:400;letter-spacing:-.03em}.ba-facts dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.ba-facts dd{font-size:14px;margin-top:6px}
.svcs{gap:30px}.svc{border-top:1px solid #b8c2af;padding-top:18px}.svc img{aspect-ratio:4/3;border-radius:0;transition:filter .25s ease}.svc:hover img{filter:brightness(1.04)}.svc h3{font-family:Georgia,serif;font-size:34px;letter-spacing:-.025em;font-weight:400}.svc p{font-size:15px;line-height:1.7}.svc .tlink{font-size:13px}.svc .tlink:after{content:'↗';margin-left:12px}
.needs{border-top-color:#b8c2af}.need{border-bottom-color:#c6cdbd}.need h3{font-size:19px}.need p{font-size:14px}
#how{background:#202d27}.how{gap:72px}.how img{border-radius:0;aspect-ratio:4/5}.how h2{font-family:Georgia,serif;font-size:clamp(38px,3.6vw,50px);font-weight:400;letter-spacing:-.035em}.how>div>p{font-size:16px;line-height:1.75}.how-steps h3{font-size:16px}.how-steps p{font-size:14px;line-height:1.7}
.mats{gap:26px}.mat img{aspect-ratio:5/4;border-radius:0}.mat h3{font-family:Georgia,serif;font-weight:400;font-size:28px}.mat p{font-size:14px;line-height:1.7}
#coverage{background:#f5f2eb;border-top:1px solid #c7cdbd;border-bottom:1px solid #c7cdbd}.cov h2{font-family:Georgia,serif;font-weight:400}.cov p{font-size:15px}
.contact-band{background:#e3e9de;padding:88px 0}.enq{gap:88px}.enq-intro h2{font-family:Georgia,serif;font-size:clamp(44px,4.7vw,66px);font-weight:400;letter-spacing:-.04em}.enq-intro>p{font-size:16px;line-height:1.75}.enq-contact{padding-top:24px;border-top:1px solid #bbc8b4;max-width:430px}.enq-contact a:first-child{font-family:Georgia,serif;font-size:30px}.enq-contact a:last-child{font-size:14px}.enq-form{background:#f9f8f3;box-shadow:none;border:1px solid #b8c4af;padding:34px}.form-title{font-family:Georgia,serif;font-weight:400;font-size:28px}.field input,.field textarea{border-radius:0;background:#fffefa;border-color:#c4ccbd}.enq-note{border-left:2px solid #697f59;background:#ecf0e5;font-size:11px}.ftr{background:#202d27;padding-top:56px}.ftr h3{font-size:14px}.ftr li,.ftr p{font-size:13px}.ftr-base{font-size:11px}
@media(max-width:1199px){.hero-grid{gap:40px}.hero-copy h1{font-size:67px}.enq{gap:48px}.sec-head{gap:44px}}
@media(max-width:999px){.hero-grid{gap:30px}.hero-copy h1{font-size:56px}.hero-fig img{height:520px}.hero-copy .lead{font-size:16px}.hero-cta{gap:10px}.hero-cta .btn{padding-inline:18px}.hero-cta .btn-main:after{margin-left:12px}.enq{gap:32px}.enq-form{padding:24px}.how{gap:32px}.hero-meta{margin-top:30px}}
@media(max-width:767px){.hdr-in{min-height:72px}.brand b{font-size:16px}.hero{padding-top:28px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(49px,12vw,70px);line-height:1.04;letter-spacing:-.055em}.hero-copy .eyebrow{margin-bottom:22px;font-size:10px}.hero-copy .lead{margin-top:22px;font-size:17px}.hero-fig img{height:410px;object-position:50% 70%}.hero-meta{margin-top:20px;padding:20px 0;gap:20px;font-size:11px}.hero-meta span{max-width:26ch}.section-kicker{margin-bottom:20px;font-size:10px}.sec-head{gap:18px}.sec-head h2{font-size:38px}.sec-head p{font-size:16px}#work{padding-top:48px}.ba img{aspect-ratio:4/3}.how img{aspect-ratio:4/3}.how h2{font-size:38px}.enq-intro h2{font-size:48px}.contact-band{padding:54px 0}.enq-contact a:first-child{font-size:28px}.enq-form{padding:22px}.form-title{font-size:26px}.mat h3{font-size:25px}.ftr-base{line-height:1.7}}
@media(prefers-reduced-motion:reduce){.svc img{transition:none}}

.hero-meta{gap:28px}.hero-meta-links{display:flex;gap:26px;flex-wrap:wrap}.hero-meta a{border-bottom:1px solid transparent;padding:4px 0}.hero-meta a:hover{border-color:currentColor}
.ba.is-comparison{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;--split:50%;background:#c9c7bd}.ba.is-comparison figure{position:absolute;inset:0}.ba.is-comparison figure:first-child{z-index:2;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.ba.is-comparison img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.ba.is-comparison figure:last-child figcaption{left:auto;right:16px}.ba.is-comparison:after{content:'';position:absolute;z-index:3;top:0;bottom:0;left:var(--split);width:2px;background:#f5f2eb;pointer-events:none}.comparison-tools{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:18px 0 0}.comparison-control{display:flex;align-items:center;gap:16px;flex:1;min-width:230px}.comparison-control label{font-size:12px;white-space:nowrap;color:#495844}.comparison-control input{width:100%;min-width:80px;accent-color:#355643;cursor:ew-resize;min-height:36px}.comparison-tools button{background:transparent;border:1px solid #9aa88d;color:#355643;padding:10px 14px;font:inherit;font-size:12px;cursor:pointer}.comparison-tools button:hover{background:#dbe1d0}.comparison-help{font-size:12px;color:#56614f;margin-top:8px}.comparison-tools[hidden],.comparison-control[hidden]{display:none}
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.faq-intro h2{font-family:Georgia,serif;font-size:48px;font-weight:400;letter-spacing:-.04em;line-height:1.1}.faq-intro p{font-size:16px;line-height:1.7;margin-top:22px;max-width:34ch}.faq-list{border-top:1px solid #bbc5af}.faq-list details{border-bottom:1px solid #bbc5af;padding:22px 0}.faq-list summary{font-size:18px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:start}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:24px;color:#355643;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:15px;line-height:1.75;color:#5b655d;margin-top:16px;max-width:58ch}.faq-list a{color:#355643;text-underline-offset:4px}.section-kicker b{flex-shrink:0}
.need:after,.svc .tlink:after,.hero-cta .btn-main:after{content:'→'}
@media(max-width:999px){.faq-grid{gap:36px}.faq-intro h2{font-size:40px}}
@media(max-width:767px){.hero-meta{align-items:start;gap:14px;flex-direction:column}.hero-meta-links{gap:22px}.hero-meta span{max-width:none}.ba.is-comparison{aspect-ratio:4/3}.comparison-tools{gap:8px}.comparison-control{width:100%;flex-basis:100%}.comparison-help{font-size:11px}.faq-grid{grid-template-columns:1fr;gap:28px}.faq-intro h2{font-size:38px}.faq-list summary{font-size:17px}.faq-list details{padding:20px 0}}

/* Stone House direction: marble / limestone / graphite / bronze. */
:root{--rgb-ivory:248 247 244;--rgb-ivory-deep:232 227 219;--rgb-charcoal:35 34 32;--rgb-charcoal-soft:48 46 43;--rgb-ink-2:98 94 87;--rgb-ink-muted:121 115 105;--rgb-line:214 209 200;--rgb-accent:65 57 47;--rgb-accent-bright:94 78 59;--surface-page:#f5f7f8;--surface-alt:#e8edf0;--surface-deep:#263541;--surface-raised:#fff;--ink-primary:#263541;--ink-secondary:#53616b;--ink-muted:#62717d;--ink-inverse:#f5f7f8;--ink-accent:#344f63;--line-hair:#c6d0d8;--line-strong:#8195a5;--focus-ring:0 0 0 3px #a2846180}
body{background:#f5f7f8;color:#263541}.wrap{max-width:1440px}.stage{background:#263541;color:#eeeae3;font-size:10px;letter-spacing:.04em}.hdr{background:#fcfcfd;border-color:#c6d0d8}.hdr-in{min-height:94px}.brand{display:block;flex-shrink:0}.brand-logo{width:290px;height:auto}.brand b,.brand span{display:none}.nav a{color:#455662;font-size:13px}.nav a:hover{color:#263541;border-color:#a66c52}.hdr-tel{font-size:14px}.hdr .btn{background:#263541;color:white;border-color:#263541;padding-inline:20px}
.btn-main{background:#263541;color:#fff;border-color:#263541}.btn-main:hover{background:#344f63;border-color:#344f63}.btn-line{color:#263541;border-color:#9d9385}.tlink{color:#344f63;border-color:#8195a5}.tlink:hover{border-color:#344f63}
.hero{padding:0;background:#263541;color:white}.hero-grid{position:relative;width:100%;max-width:none;min-height:740px;display:flex;align-items:flex-end;padding:90px max(48px,calc((100% - 1440px)/2));isolation:isolate;overflow:hidden}
.hero-fig{position:absolute;inset:0;z-index:-2}.hero-fig img{width:100%;height:100%;max-width:none;border-radius:0;object-fit:cover;object-position:50% 64%}.hero-grid:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,18,17,.87) 0%,rgba(19,18,17,.65) 43%,rgba(19,18,17,.15) 78%),linear-gradient(0deg,rgba(19,18,17,.48),transparent 60%);z-index:-1;pointer-events:none}.hero-fig figcaption{position:absolute;right:40px;bottom:25px;color:#f0f4f7;font-size:10px;padding:0;border:0;max-width:25ch;text-align:right;line-height:1.6}
.hero-copy{padding:0;max-width:760px}.hero-copy .eyebrow{color:#e1ebf1;font-size:11px;letter-spacing:.18em;margin-bottom:30px}.hero-copy .eyebrow:before{background:#cc9a80;width:44px}.hero-copy h1{font-family:var(--font-display);font-size:clamp(66px,6.2vw,96px);font-weight:500;letter-spacing:-.065em;line-height:1.02;max-width:none}.hero-copy h1 span{font-style:normal;font-weight:500;color:#dbe6ee}.hero-copy .lead{color:#f0f4f7;font-size:18px;line-height:1.7;max-width:47ch;margin-top:28px}.hero-cta{margin-top:32px;gap:14px}.hero-cta .btn-main{background:#f5f7f8;border-color:#f5f7f8;color:#263541}.hero-cta .btn-main:hover{background:#dbe6ee}.hero-cta .btn-line{border-color:#d2c8b8;color:#fff}.hero-cta .btn-line:hover{background:#ffffff18}.hero-meta{width:100%;max-width:none;margin:0;padding:23px max(48px,calc((100% - 1440px)/2));background:#f5f7f8;color:#53616b;border:0;border-bottom:1px solid #c6d0d8;font-size:12px}.hero-meta a{color:#344f63}.hero-meta-links{gap:38px}
h2,.sec-head h2,.how h2,.faq-intro h2,.enq-intro h2,.cov h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.055em}.sec-head h2{font-size:clamp(38px,3.8vw,58px);max-width:19ch;line-height:1.08}.sec-head p{color:#53616b}.section-kicker{color:#496174}.section-kicker b{border-color:#aebcc6}.band{padding-block:100px}
#work{background:#e8edf0;padding-top:86px}.ba{background:#c6d0d8}.ba-foot{border-color:#aebcc6}.ba-foot h3{font-family:var(--font-display);font-size:26px;font-weight:500;letter-spacing:-.035em}.ba-facts dt{color:#70675a}.ba-facts dd{color:#455662}.ba figcaption{background:#f5f7f8;color:#263541}.comparison-control label,.comparison-help{color:#5e5548}.comparison-control input{accent-color:#6d5840}.comparison-tools button{border-color:#9e8d76;color:#344f63}.comparison-tools button:hover{background:#d9cebd}
#services{background:#fcfcfd}.svcs{gap:30px}.svc{border-color:#aebcc6;padding-top:0;border-top:0}.svc img{aspect-ratio:4/3}.svc h3{font-family:var(--font-display);font-size:27px;font-weight:500;letter-spacing:-.045em}.svc p{color:#53616b}.needs{border-color:#aebcc6}.need{border-color:#c6d0d8}.need:after{color:#496174}.need h3{font-family:var(--font-display);font-size:20px}.need p{color:#53616b}.need:hover h3{color:#496174}
#how{padding:0;background:#263541}.how{width:100%;max-width:none;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}.how>figure{min-height:730px}.how img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover}.how>div{padding:80px clamp(36px,5vw,96px);align-self:center}.how h2{font-size:clamp(35px,3.5vw,52px);max-width:16ch;color:#f5f7f8}.how .eyebrow{color:#c7d9e6}.how p{color:#e8eef2}.how-steps{margin-top:30px;gap:20px}.how-steps h3{color:#fff;font-size:16px}.how-steps p{color:#d6e1e8;font-size:14px}.how-steps>div{border-color:#ffffff30}.band-dark h2,.band-dark h3{color:#f5f7f8}
#stone{background:#e8edf0;padding-bottom:0}.mats{gap:0;border-top:1px solid #b9c6cf}.mat{padding:24px 20px 28px;border-right:1px solid #b9c6cf;gap:15px}.mat img{aspect-ratio:1/1;filter:saturate(.9)}.mat h3{font-family:var(--font-display);font-size:25px;font-weight:500;letter-spacing:-.04em}.mat p{font-size:14px;color:#53616b}.mat:hover h3{color:#496174}#stone>.wrap>p:last-child{margin-top:0!important;padding:25px 0 40px}
#coverage{background:#e8edf0;border-color:#b9c6cf;padding-block:40px}.cov p{color:#53616b}.cov h2{font-size:30px}
#questions{background:#fcfcfd}.faq-intro h2{font-size:46px}.faq-list,.faq-list details{border-color:#b9c6cf}.faq-list summary:after{color:#496174}.faq-list details p{color:#53616b}.faq-list a{color:#344f63}
.contact-band{background:#dbe3e9;padding:88px 0}.enq-intro h2{font-size:clamp(42px,4.5vw,65px)}.enq-intro p{color:#455662}.enq-contact{border-color:#8195a5}.enq-contact a{color:#344f63}.enq-contact a:first-child{font-family:var(--font-display);letter-spacing:-.04em;font-size:31px;font-weight:500}.enq-form{background:#fcfcfd;border-color:#8195a5}.form-title{font-family:var(--font-display);font-size:26px;letter-spacing:-.04em;font-weight:500}.enq-note{border-color:#728697;background:#e8edf0;color:#455662}.field input,.field textarea{background:#ffffff;border-color:#aebcc6}.field label{color:#455662}.ftr{background:#263541;color:#dbe3e9}.ftr h3{color:#fff}.ftr a:hover{color:#fff}.ftr-base{border-color:#ffffff26}.mobile-menu nav{background:#fcfcfd;border-color:#aebcc6}.mobile-menu nav a{border-color:#c6d0d8}.sticky a+a{background:#263541;color:#fff}
@media(min-width:1700px){.hero-grid{min-height:820px}.hero-copy h1{font-size:108px}}
@media(max-width:1199px){.brand-logo{width:245px}.hdr-in{gap:20px}.nav{gap:16px}.hero-grid{min-height:700px;padding:75px 36px}.hero-meta{padding-inline:36px}.how>div{padding:55px 36px}.how>figure{min-height:670px}}
@media(max-width:999px){.hdr-in{min-height:82px}.brand-logo{width:265px}.hero-grid{min-height:690px;padding:68px 28px}.hero-copy h1{font-size:76px}.hero-copy .lead{font-size:18px}.hero-meta{padding-inline:28px}.hero-meta-links{gap:24px}.how{grid-template-columns:1fr 1fr}.how>div{padding:48px 28px}.how>figure{min-height:700px}.how h2{font-size:36px}.how-steps p{font-size:13px}.enq-form{padding:26px}.mat{padding-inline:14px}}
@media(max-width:767px){.stage{font-size:9px;padding:5px 18px}.hdr-in{min-height:75px}.brand-logo{width:235px}.mobile-menu summary{font-size:13px}.hero-grid{min-height:720px;padding:64px 22px 80px;align-items:flex-end}.hero-grid:after{background:linear-gradient(0deg,rgba(19,18,17,.94),rgba(19,18,17,.69) 55%,rgba(19,18,17,.22))}.hero-fig img{height:100%;object-position:52% 55%}.hero-copy h1{font-size:clamp(49px,11.7vw,76px);line-height:1.04;letter-spacing:-.055em}.hero-copy .eyebrow{font-size:9px;gap:10px;margin-bottom:24px;letter-spacing:.13em}.hero-copy .eyebrow:before{width:24px}.hero-copy .lead{font-size:16px;line-height:1.65;margin-top:24px}.hero-cta{margin-top:26px;gap:10px}.hero-cta .btn{font-size:13px;padding-inline:17px}.hero-cta .btn-main:after{margin-left:12px}.hero-fig figcaption{bottom:20px;right:22px;font-size:9px;max-width:none}.hero-meta{padding:20px 22px;gap:12px;align-items:stretch}.hero-meta>span{font-size:11px}.hero-meta-links{justify-content:space-between;gap:8px;font-size:11px}.band{padding-block:60px}.sec-head h2{font-size:38px}.sec-head p{font-size:15px}#work{padding-top:56px}.how{grid-template-columns:1fr}.how>figure{min-height:0;height:390px}.how>div{padding:46px 22px}.how img{aspect-ratio:auto}.how h2{font-size:37px;max-width:18ch}.how-steps p{font-size:14px}.svc h3{font-size:26px}.mats{gap:0}.mat h3{font-size:23px}.mat p{font-size:13px}.faq-intro h2{font-size:38px}.contact-band{padding-block:58px}.enq-intro h2{font-size:44px}.enq-form{padding:22px}.form-title{font-size:24px}.enq-contact a:first-child{font-size:28px}.ftr{padding-top:42px}}
@media(max-width:370px){.brand-logo{width:205px}.hero-copy h1{font-size:45px}.hero-cta{flex-direction:column;align-items:start}.hero-grid{min-height:780px}}

/* Detail pass: equal geometry, useful small type, balanced mobile controls. */
.stage{font-size:12px;line-height:1.5;padding-block:8px}
.brand-logo{aspect-ratio:365/76}
.nav a{font-size:15px}.hdr-tel{font-size:15px}.hdr .btn{font-size:14px}
.hero-fig figcaption{font-size:14px;color:#fff;background:rgba(20,19,18,.78);padding:9px 13px;max-width:32ch;line-height:1.5;right:32px;bottom:22px;text-align:left}
.hero-meta{font-size:15px;line-height:1.6;padding-block:22px;gap:28px}.hero-meta>span{font-size:15px}.hero-meta-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;text-align:center}.hero-meta-links a{font-size:15px;min-height:44px;display:flex;justify-content:center;align-items:center;padding:8px 0}
.hero-copy .eyebrow,.section-kicker{font-size:13px;letter-spacing:.12em}.section-kicker b{font-size:12px;width:30px;height:30px}
.ba-facts dt{font-size:13px;letter-spacing:.06em}.ba-facts dd{font-size:16px;line-height:1.6}.ba figcaption{font-size:14px}.comparison-control label,.comparison-tools button,.comparison-help{font-size:14px}.comparison-tools button{min-height:44px}
.svc p,.need p{font-size:16px;line-height:1.65}.svc .tlink,.tlink{font-size:15px}.how .eyebrow{font-size:13px}.how-steps p{font-size:16px;line-height:1.65}.how-steps h3{font-size:18px}
.mats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;border-top:1px solid #b9c6cf;align-items:stretch}
.mat{display:flex;flex-direction:column;align-items:stretch;padding:24px 0 28px;border:0;gap:16px;min-width:0}
.mat img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;flex-shrink:0}
.mat h3{margin:0;font-size:26px;line-height:1.2}.mat p{font-size:16px;line-height:1.65;margin:0}
.cov p{font-size:16px}.enq-note{font-size:14px;line-height:1.6}.field label{font-size:15px}.enq-contact a:last-child{font-size:16px}.ftr h3{font-size:16px}.ftr li,.ftr p{font-size:15px;line-height:1.65}.ftr-base{font-size:14px;line-height:1.6}
@media(max-width:1199px){.hdr-in{gap:18px}.nav{gap:15px}.hero-meta-links{gap:20px}}
@media(max-width:999px){.hero-meta{align-items:start;flex-direction:column;gap:12px}.hero-meta-links{width:100%;gap:20px}.how-steps p{font-size:15px}.hero-meta>span{font-size:15px}.mats{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.mat:nth-child(n+3){border-top:1px solid #b9c6cf}}
@media(max-width:767px){.stage{font-size:12px;line-height:1.5;padding:7px 20px}.mobile-menu summary{font-size:15px;min-height:44px;display:flex;align-items:center}.hero-copy .eyebrow{font-size:12px;letter-spacing:.1em}.hero-grid{padding-bottom:100px;min-height:760px}.hero-cta{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero-cta .btn{font-size:14px;padding:12px 10px;min-height:54px;text-align:center;line-height:1.3}.hero-cta .btn-main:after{display:none}.hero-fig figcaption{font-size:13px;left:22px;right:22px;bottom:20px;text-align:center;max-width:none;padding:8px 10px}.hero-meta{padding:20px 22px;gap:12px}.hero-meta>span{font-size:15px;text-align:center;width:100%}.hero-meta-links{gap:0;border-top:1px solid #c6d0d8;padding-top:10px}.hero-meta-links a{font-size:14px;line-height:1.4;padding:8px 7px}.hero-meta-links a+a{border-left:1px solid #c6d0d8}.section-kicker{font-size:12px}.sec-head p{font-size:16px}.mats{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.mat{padding:20px 0 24px;gap:12px}.mat h3{font-size:23px}.mat p{font-size:15px;line-height:1.6}.how-steps p{font-size:16px}.comparison-control{flex-wrap:wrap;gap:4px}.comparison-control label{font-size:14px}.comparison-help{font-size:14px}.enq-contact a:last-child{font-size:15px}.ftr-grid{gap:28px 18px}.ftr-base{font-size:14px}}
@media(max-width:370px){.hero-cta{display:grid;align-items:stretch}.hero-copy h1{font-size:44px}.hero-grid{min-height:810px}.mat h3{font-size:22px}.mat p{font-size:15px}}
/* Keep the caption above the image darkening layer. */
.hero-fig{z-index:auto}.hero-fig img{position:absolute;inset:0;z-index:-2}.hero-fig figcaption{z-index:1}.hero-copy{position:relative;z-index:1}

.hero-copy h1{font-size:clamp(58px,5.2vw,80px);max-width:900px}.hero-copy{max-width:900px}.hero-copy .lead{max-width:50ch}
.business-evidence{background:#fcfcfd;border-bottom:1px solid #c6d0d8;padding:32px max(48px,calc((100% - 1440px)/2))}.business-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.business-evidence h2{font-size:20px;letter-spacing:-.03em;margin-bottom:8px}.business-evidence p{font-size:14px;line-height:1.65;color:#53616b}.business-evidence a{color:#344f63;text-underline-offset:4px}.business-evidence-grid>div+div{border-left:1px solid #c6d0d8;padding-left:28px}.service-index-link{margin-top:28px}.coverage-note{display:block;margin-top:10px;font-size:14px}.enq-privacy{font-size:14px;line-height:1.6;margin-top:18px;color:#53616b}.enq-privacy a{color:#344f63;text-underline-offset:4px}
@media(max-width:999px){.hero-copy h1{font-size:66px}.business-evidence{padding-inline:28px}.business-evidence-grid{gap:20px}.business-evidence-grid>div+div{padding-left:20px}.business-evidence h2{font-size:18px}}
@media(max-width:767px){.hero-copy h1{font-size:clamp(43px,10.7vw,66px);line-height:1.05;letter-spacing:-.055em}.hero-grid{min-height:800px}.business-evidence{padding:30px 22px}.business-evidence-grid{grid-template-columns:1fr;gap:20px}.business-evidence-grid>div+div{border-left:0;border-top:1px solid #c6d0d8;padding-left:0;padding-top:20px}.business-evidence h2{font-size:20px}.business-evidence p{font-size:15px}}

/* Shared interior-page system. */
.page-intro{background:#e8edf0;padding:32px 0 78px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;margin-bottom:54px}.breadcrumbs a{text-decoration:underline}.page-intro h1{font-family:Archivo,sans-serif;font-size:clamp(42px,5vw,76px);line-height:1.06;letter-spacing:-.055em;max-width:1100px;margin:22px 0 26px}.page-lead{font-size:20px;line-height:1.65;max-width:850px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 36px}.detail-grid article{border-top:1px solid #aebcc6;padding:24px 0;scroll-margin-top:120px}.detail-number{color:#78634b;font-size:14px}.detail-grid h3{font-size:26px;margin:18px 0 14px}.detail-grid p{font-size:17px;line-height:1.75;margin-bottom:22px}.project-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 24px}.project-card{display:block;text-decoration:none}.project-card img{width:100%;aspect-ratio:1;object-fit:cover}.project-card h3{font-size:23px;margin:18px 0 10px}.project-card span{font-size:15px}.project-card:hover img{filter:brightness(.92)}.project-record{padding:48px 0;border-bottom:1px solid #c9beae}.project-heading{display:flex;align-items:baseline;gap:30px;margin-bottom:28px}.project-heading h2{font-size:clamp(28px,3vw,44px);letter-spacing:-.035em}.evidence-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.evidence-pair figure{margin:0}.evidence-pair img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#e8edf0}.evidence-pair figcaption{font-size:16px;font-weight:500;padding:12px 0}.project-caption,.gallery-note{font-size:16px;line-height:1.7;max-width:850px}.next-step{background:#e8edf0;text-align:center}.next-step h2{font-size:clamp(36px,4vw,62px);line-height:1.12;letter-spacing:-.045em}.next-step p{margin:24px auto;max-width:650px}.next-step .tlink{display:inline-block;margin:20px}.legal-copy{max-width:1000px!important}.legal-copy p,.legal-copy li{font-size:17px;line-height:1.85;margin-bottom:18px}.legal-copy h2,.legal-copy h3{font-size:27px;margin:38px 0 20px}.legal-copy table{width:100%;border-collapse:collapse;display:block;overflow:auto}.legal-copy td,.legal-copy th{padding:14px;border:1px solid #cabfae}.review-note{padding:22px;background:#e8edf0}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.review-card{padding:32px;background:#eeeae3;border-top:2px solid #b19a7d}.review-card h3{font-size:24px;line-height:1.3;margin:12px 0 20px}.review-card p,.review-card blockquote{font-size:17px;line-height:1.8;margin:12px 0}.review-card footer{font-size:15px}.field-full{grid-column:1/-1}.enq-form .form-title{font-size:28px}.enq-form input,.enq-form textarea{font-size:17px!important}.form-status{font-size:15px}.nav a[aria-current=page]{border-bottom:1px solid currentColor}.hdr .nav{gap:22px}.sticky{padding-bottom:env(safe-area-inset-bottom)}.ftr a{overflow-wrap:anywhere}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9b7141;outline-offset:5px}html{scroll-padding-top:100px}img{max-width:100%}.enq-contact a{overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{transition:none!important;animation:none!important}}@media(max-width:1000px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-index{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.page-intro{padding:24px 0 48px}.breadcrumbs{margin-bottom:36px}.page-lead{font-size:18px}.detail-grid,.review-grid{grid-template-columns:1fr;gap:20px}.project-heading{display:block}.project-heading h2{margin-top:12px}.evidence-pair{gap:12px}.project-record{padding:30px 0}.review-card{padding:24px}.project-index{gap:28px 16px}.project-card h3{font-size:20px}.next-step .tlink{display:block}.enq-form form{grid-template-columns:1fr}.enq-form .field{grid-column:1/-1}.hero-fig figcaption{font-size:14px}.sticky{min-height:56px}}
