/* multi-import:brand-layer:start - managed by Tools > Multi Import; edits inside are replaced on re-import */
@font-face{font-family:'Gelasio';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/gelasio-400.woff2') format('woff2');}
@font-face{font-family:'Gelasio';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/gelasio-600.woff2') format('woff2');}
@font-face{font-family:'Gelasio';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/gelasio-700.woff2') format('woff2');}
@font-face{font-family:'Gelasio';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/gelasio-400-italic.woff2') format('woff2');}

:root{
  --typography-family-heading:'Gelasio',Georgia,'Times New Roman',serif;
  --typography-family-main:'Gelasio',Georgia,'Times New Roman',serif;
  --typography-family-paragraph:var(--typography-family-main);
  --color-sienna:#36302b;
  --color-sienna-deep:#211d1a;
  --color-canadian-red:#766759;
  --color-paper:#fff9f2;
  --color-paper-tint:#faf6ef;
  --color-paper-deep:#efe6db;
  --color-rule:#d9cfc3;
  --color-ink:#36302b;
  --color-ink-soft:#665d55;
  --color-surface-container:#f4ede4;
  --color-tertiary-dark:#52483f;
  --color-tertiary-container:#e9ded2;
  --color-primary:#36302b;
  --color-secondary:#211d1a;
  --color-tertiary:#766759;
  --color-surface:#fff9f2;
  --color-surface-container-low:#faf6ef;
  --color-surface-container-high:#efe6db;
  --color-surface-container-highest:#d9cfc3;
  --color-on-surface:#36302b;
  --color-accent:#36302b;
  --color-accent-hover:#211d1a;
  --color-heading:#36302b;
  --color-main:#36302b;
  --color-paragraph:#665d55;
  --color-link-text:#36302b;
  --color-link-text-hover:#211d1a;
}

body{background:#faf6ef;}
.block-cta-banner{background:#36302b;color:#fff9f2;}
.block-cta-banner :is(h1,h2,h3,p){color:#fff9f2;}
.block-carpet-hero form,.block-quote-form form{background:#fff9f2;color:#36302b;}
.process-step + .process-step::before, .process-step +
  .process-step:before{content:none !important;display:none !important;}

/* ---- CTA banner styled as a laid hardwood floor -------------------------
   Pure CSS gradients: no image request, no remote asset.
   Plank rows are seamed and bevelled; end joints are staggered row to row
   so it reads as a laid floor rather than as stripes.
   The fringe spans are reused as threshold/transition strips. */
.block-cta-banner{
  --plank-h:46px;              /* plank row height */
  --seam:#1b1613;              /* joint line */
  --bevel:rgba(255,240,220,.07);
  --wood-1:#4a3e33;            /* lighter board */
  --wood-2:#3b322a;            /* base board   */
  --wood-3:#2f2821;            /* darker board */
  --brass:#d8a24a;             /* threshold / primary button */
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:var(--wood-2);
  color:#fff9f2;
}

/* the floor itself */
.block-cta-banner::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    /* staggered end joints, one layer per plank row */
    repeating-linear-gradient(90deg,transparent 0 297px,var(--seam) 297px 300px),
    repeating-linear-gradient(90deg,transparent 0 257px,var(--seam) 257px 260px),
    repeating-linear-gradient(90deg,transparent 0 337px,var(--seam) 337px 340px),
    repeating-linear-gradient(90deg,transparent 0 277px,var(--seam) 277px 280px),
    repeating-linear-gradient(90deg,transparent 0 317px,var(--seam) 317px 320px),
    repeating-linear-gradient(90deg,transparent 0 237px,var(--seam) 237px 240px),
    repeating-linear-gradient(90deg,transparent 0 357px,var(--seam) 357px 360px),
    repeating-linear-gradient(90deg,transparent 0 287px,var(--seam) 287px 290px),
    repeating-linear-gradient(90deg,transparent 0 307px,var(--seam) 307px 310px),
    repeating-linear-gradient(90deg,transparent 0 267px,var(--seam) 267px 270px),
    /* plank seams with a lit bevel on the upper edge */
    repeating-linear-gradient(180deg,
      var(--bevel) 0 1px,
      transparent 1px calc(var(--plank-h) - 2px),
      var(--seam) calc(var(--plank-h) - 2px) var(--plank-h)),
    /* board-to-board colour variation */
    repeating-linear-gradient(180deg,
      var(--wood-1) 0 var(--plank-h),
      var(--wood-2) var(--plank-h) calc(var(--plank-h) * 2),
      var(--wood-3) calc(var(--plank-h) * 2) calc(var(--plank-h) * 3),
      var(--wood-2) calc(var(--plank-h) * 3) calc(var(--plank-h) * 4));
  background-size:
    300px var(--plank-h),260px var(--plank-h),340px var(--plank-h),
    280px var(--plank-h),320px var(--plank-h),240px var(--plank-h),
    360px var(--plank-h),290px var(--plank-h),310px var(--plank-h),
    270px var(--plank-h),
    100% 100%,100% 100%;
  background-position:
    0 0,   40px var(--plank-h),      110px calc(var(--plank-h)*2),
    75px calc(var(--plank-h)*3),    150px calc(var(--plank-h)*4),
    20px calc(var(--plank-h)*5),    190px calc(var(--plank-h)*6),
    95px calc(var(--plank-h)*7),    135px calc(var(--plank-h)*8),
    60px calc(var(--plank-h)*9),
    0 0,0 0;
  background-repeat:
    repeat-x,repeat-x,repeat-x,repeat-x,repeat-x,
    repeat-x,repeat-x,repeat-x,repeat-x,repeat-x,
    repeat,repeat;
}

/* grain and a soft sheen across the boards */
.block-cta-banner::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    repeating-linear-gradient(94deg,
      rgba(0,0,0,.05) 0 2px,transparent 2px 7px,
      rgba(255,255,255,.02) 7px 8px,transparent 8px 17px),
    radial-gradient(120% 80% at 30% 0%,rgba(255,238,214,.10),transparent 60%),
    linear-gradient(180deg,rgba(0,0,0,.20),transparent 30% 70%,rgba(0,0,0,.28));
}

/* fringe spans reused as threshold strips top and bottom */
.block-cta-banner .cta-banner-fringe{
  position:absolute;
  left:0;right:0;
  height:10px;
  z-index:1;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.28) 0 1px,
      var(--brass) 1px 4px,
      #a97c2f 4px 8px,
      rgba(0,0,0,.45) 8px 10px);
}
.block-cta-banner .cta-banner-fringe-top{top:0;}
.block-cta-banner .cta-banner-fringe-bottom{bottom:0;transform:scaleY(-1);}

.block-cta-banner .cta-banner{position:relative;padding-block:3.5rem;}
.block-cta-banner :is(.cta-banner-heading,.cta-banner-description){
  color:#fff9f2;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
.block-cta-banner .cta-banner-description{color:#efe3d4;}

/* buttons sit on the floor with a contact shadow */
.block-cta-banner .cta-banner-button{
  border-radius:2px;
  box-shadow:0 2px 0 rgba(0,0,0,.35),0 6px 14px rgba(0,0,0,.30);
  transition:transform .15s ease,box-shadow .15s ease;
}
.block-cta-banner .cta-banner-button:hover{
  transform:translateY(-1px);
  box-shadow:0 3px 0 rgba(0,0,0,.35),0 10px 20px rgba(0,0,0,.35);
}
.block-cta-banner .cta-banner-button-primary{
  background:linear-gradient(180deg,#e6b45c,var(--brass) 55%,#bc8b34);
  border:1px solid #8f6725;
  color:#2b2118;
}
.block-cta-banner .cta-banner-button-secondary{
  background:rgba(255,249,242,.06);
  border:1px solid rgba(255,249,242,.45);
  color:#fff9f2;
}
.block-cta-banner .cta-banner-button-secondary:hover{
  background:rgba(255,249,242,.12);
}

@media (max-width:600px){
  .block-cta-banner{--plank-h:38px;}
  .block-cta-banner .cta-banner{padding-block:2.5rem;}
}
@media (prefers-reduced-motion:reduce){
  .block-cta-banner .cta-banner-button{transition:none;}
  .block-cta-banner .cta-banner-button:hover{transform:none;}
}
/* multi-import:brand-layer:end */
