@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Great+Vibes&family=Nunito:wght@300;400;500;600;700&display=swap');

  :root{
    --ink:#1b1b1b;
    --muted:#6d6d6d;
    --line:#e8e2d8;
    --paper:#f6f1e8;
    --card:#ffffff;
    --icon:#2d2d2d;
  }

  /* Kill default UA margin (shows as white strips around header + page). */
  *, *::before, *::after{box-sizing:border-box;}
  html{
    scrollbar-gutter:stable;
  }
  html, body{margin:0; padding:0; max-width:100%; overflow-x:clip;}
  @supports not (overflow: clip){
    html, body{overflow-x:hidden;}
  }
  html{background:var(--paper);}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:"Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  }

  .site{background:var(--paper); color:var(--ink); font-family: "Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;}
  .site h1, .site h2, .site h3, .brand__kicker, .brand__name{font-family: "Cormorant Garamond", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;}
  .site a, .site button{transition: transform .18s ease, filter .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;}

  /* Square UI: remove rounded edges from images + buttons */
  img{border-radius:0 !important;}
  button{border-radius:0 !important;}
  .nav__link,
  .navToggle,
  .mobileNav,
  .mobileNav__link,
  .mobileNav__cta,
  .menu__btn,
  .menu__panel,
  .menu__item,
  .cta,
  .hero__media,
  .hero__btn,
  .icon,
  .swatch__img,
  .dgSketch,
  .dgPlan,
  .dgMid__hero,
  .dgMini,
  .dgBullet__ic,
  .dgRight__img,
  .collectionsGrid__inner,
  .iTile,
  .valueProps__iconWrap,
  .visitShowroom__map,
  .homeProcessRibbon__icon,
  .whyCfl__iconWrap,
  .footerBanner,
  .bannerBtn,
  .bannerFeat__icon{
    border-radius:0 !important;
  }
  .topbar{
    position:relative;
    z-index:30;
    width:100%;
    box-sizing:border-box;
    margin:0;
    background:rgba(246,241,232,.92);
    backdrop-filter: blur(10px);
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    gap:18px;
    padding:14px 18px;
  }
  @media (min-width: 901px){
    /* True viewport-centered nav like /gallery/: equal 1fr side columns */
    .topbar{
      display:grid;
      grid-template-columns:1fr auto 1fr;
      align-items:center;
    }
    .topbar > .brand--header{justify-self:start;}
    .topbar > .nav{justify-self:center; flex:unset;}
    .topbar > .cta{justify-self:end;}
  }
  /* Align header band with main 1200px content column site-wide. */
  .site > .topbar{
    max-width:1200px;
    margin-inline:auto;
  }
  /* Wide: grid centers nav between logo & CTA; narrow: flex (unchanged) */
  .brand{display:flex; align-items:center; gap:10px; min-width:220px;}
  .brand__mark{width:34px; height:34px; border:1px solid #c9c2b8; display:grid; place-items:center; font-weight:700;}
  .brand__kicker{font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--muted);}
  .brand__name{font-size:16px; letter-spacing:.22em; text-transform:uppercase;}
  .nav{display:flex; gap:18px; align-items:center; justify-content:center; flex:1;}
  .nav__link{font-family: "Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji", "Segoe UI Emoji"; font-size:13px; color:#2d2d2d; text-decoration:none; padding:6px 8px; border-radius:999px;}
  .nav__link:hover{background:rgba(0,0,0,.04);}
  .nav__link[aria-current="page"]{background:rgba(0,0,0,.06);}
  .nav__link:active{transform: translateY(1px);}

  /* Header: match footer logo + mobile hamburger */
  .brand--header{
    min-width:auto;
    gap:0;
    text-decoration:none;
    color:inherit;
  }
  .brand--header .brand__text{display:grid; gap:1px;}
  .brand--header .brand__kicker--script{font-size:22px;}
  .brand--header .brand__name--wide{font-size:24px;}

  .logoImg{
    display:block;
    height:38px;
    width:auto;
  }
  .logoImg--footer{height:52px;}

  .navToggle{
    display:none;
    width:42px;
    height:42px;
    margin-left:auto;
    border-radius:999px;
    border:1px solid #c9c2b8;
    background: rgba(255,255,255,.45);
    cursor:pointer;
    place-items:center;
    padding:0;
    -webkit-tap-highlight-color: transparent;
  }
  .navToggle:hover{background: rgba(255,255,255,.65); box-shadow: 0 10px 18px rgba(0,0,0,.08); transform: translateY(-1px);}
  .navToggle:active{transform: translateY(0px);}
  .navToggle:focus-visible{outline:2px solid #8a5a3c; outline-offset:3px;}

  .navToggle__icon{
    width:18px;
    height:12px;
    display:block;
    position:relative;
  }
  .navToggle__icon::before,
  .navToggle__icon::after,
  .navToggle__icon span{
    content:"";
    position:absolute;
    left:0;
    right:0;
    height:2px;
    border-radius:999px;
    background:#2d2d2d;
  }
  .navToggle__icon::before{top:0;}
  .navToggle__icon span{top:5px;}
  .navToggle__icon::after{bottom:0;}

  .mobileNav{
    position:absolute;
    top: calc(100% + 10px);
    left: 12px;
    right: 12px;
    background: rgba(246,241,232,.98);
    border:1px solid var(--line);
    border-radius:14px;
    padding:10px;
    display:none;
    box-shadow: 0 18px 40px rgba(0,0,0,.10);
  }
  .topbar[data-nav-open="1"] .mobileNav{display:grid;}
  .mobileNav__link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 12px;
    border-radius:12px;
    font-size:14px;
    color:#2d2d2d;
    text-decoration:none;
  }
  .mobileNav__link:hover{background:rgba(0,0,0,.04);}
  .mobileNav__cta{
    margin-top:6px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px 12px;
    border-radius:12px;
    border:1px solid #c9c2b8;
    background: rgba(255,255,255,.45);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#2d2d2d;
    text-decoration:none !important;
  }
  .mobileNav__cta:visited,
  .mobileNav__cta:hover,
  .mobileNav__cta:active,
  .mobileNav__cta:focus{color:#2d2d2d; text-decoration:none !important;}
  .mobileNav__cta:hover{background: rgba(255,255,255,.65);}

  .menu{position:relative;}
  .menu__btn{
    font-family: "Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    font-size:13px;
    color:#2d2d2d;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid transparent;
    background:transparent;
    cursor:pointer;
  }
  .menu__btn:hover{background:rgba(0,0,0,.04);}
  .menu__panel{
    position:absolute;
    top: calc(100% + 10px);
    left:50%;
    transform: translateX(-50%);
    min-width: 180px;
    background: rgba(246,241,232,.98);
    border:1px solid var(--line);
    border-radius:12px;
    padding:8px;
    display:none;
    box-shadow: 0 18px 40px rgba(0,0,0,.10);
  }
  .menu:hover .menu__panel,
  .menu:focus-within .menu__panel{display:block;}
  .menu__item{
    display:flex;
    padding:10px 10px;
    border-radius:10px;
    font-size:13px;
    color:#2d2d2d;
    text-decoration:none;
  }
  .menu__item:hover{background:rgba(0,0,0,.04);}
  .cta{
    font-family: "Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.12em;
    text-decoration:none;
    color:#2d2d2d;
    border:1px solid #c9c2b8;
    padding:10px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.35);
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .cta:visited{color:#2d2d2d;}
  .cta:hover{background:rgba(255,255,255,.6); color:#2d2d2d; box-shadow: 0 8px 18px rgba(0,0,0,.06); transform: translateY(-1px);}
  .cta:active{color:#2d2d2d; transform: translateY(0px);}
  .cta:focus-visible{outline:2px solid rgba(138,90,60,.95); outline-offset:3px;}

  /* Hero: full-bleed image with centered title + button (like reference) */
  .hero{
    position:relative;
    width:100%;
    margin:0;
    padding:0 0 22px;
  }
  .hero__media{
    width:100vw;
    margin-left:calc(50% - 50vw);
    height:min(70vh, 560px);
    border-radius:10px;
    border:1px solid var(--line);
    background:url('/hero-home-triptych.png') center/cover no-repeat;
    background-color:#0f0f0f;
    box-shadow: 0 18px 40px rgba(0,0,0,.10);
  }
  .hero__overlay{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    pointer-events:none;
  }
  .hero__inner{
    text-align:center;
    color:#fff;
    max-width: 920px;
    padding:18px 16px;
  }
  .hero__title{
    margin:0 0 18px;
    font-size:64px;
    line-height:1.02;
    letter-spacing:-0.01em;
    text-shadow:0 2px 24px rgba(0,0,0,.55), 0 18px 40px rgba(0,0,0,.35);
  }
  .hero__actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:12px;
  }
  .hero__btn{
    pointer-events:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    box-sizing:border-box;
    min-width:154px;
    padding:12px 16px;
    border-radius:12px;
    border:none;
    -webkit-tap-highlight-color:transparent;
    background:#8a5a3c;
    color:#fff;
    text-decoration:none;
    font-family:"Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji", "Segoe UI Emoji";
    font-size:13px;
    letter-spacing:.04em;
    line-height:1.2;
    box-shadow:0 14px 30px rgba(0,0,0,.20);
  }
  /* Match hero + showroom: avoid :visited / context turning label or fill off-tone */
  .hero__btn:visited{
    background:#8a5a3c;
    color:#fff;
  }
  .hero__btn:hover{
    background:#8a5a3c;
    color:#fff;
    filter:brightness(1.06);
    transform:translateY(-1px);
  }
  .hero__btn:active{
    background:#8a5a3c;
    color:#fff;
    transform:translateY(0px);
  }
  .hero__btn:focus-visible{outline:2px solid rgba(138,90,60,.96); outline-offset:3px;}

  button.hero__btn{
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    margin:0;
  }

  .hero__btn--visit{
    border:none;
    background:#D79356;
    color:#1F160E;
    box-shadow:0 14px 30px rgba(0,0,0,.18);
  }
  .hero__btn--visit:visited{
    background:#D79356;
    color:#1F160E;
  }
  .hero__btn--visit:hover{
    background:#D79356;
    color:#1F160E;
    filter:brightness(1.05);
    transform:translateY(-1px);
  }
  .hero__btn--visit:active{
    background:#D79356;
    color:#1F160E;
    transform:translateY(0px);
  }
  .hero__btn--visit:focus-visible{
    outline:2px solid #1F160E;
    outline-offset:3px;
  }

  @media (max-width: 980px){
    .hero{padding:0 0 18px;}
    .hero__overlay{inset:0;}
    .hero__media{height:min(62vh, 520px);}
    .hero__title{font-size:44px; margin-bottom:16px;}
    .hero__btn{padding:11px 14px;}
  }

  .kicker{font-family: "Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:#2d2d2d; margin-bottom:12px;}
  .kicker--line{position:relative; padding-bottom:12px; margin-bottom:14px;}
  .kicker--line::after{content:""; position:absolute; left:0; bottom:0; width:28px; height:1px; background:#bdb6ab;}

  .iconlist{list-style:none; padding:0; margin:0; display:grid; gap:18px; font-family: "Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; color:#333;}
  .iconlist--large li{display:flex; gap:14px; align-items:flex-start;}
  .iconlist--tight{gap:14px;}
  .liTitle{font-weight:600; font-size:13px; color:#2b2b2b;}
  .liSub{font-size:13px; color:#5a5a5a; line-height:1.35;}
  .icon{display:inline-grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); border-radius:10px; color:var(--icon); background:#faf7f1; flex:0 0 auto;}
  .icon--soft{background:#f3eee6;}

  /* Inspired section + palette row */
  .inspired{max-width:1200px; margin:0 auto; padding:26px 18px 10px;}
  .inspired__inner{max-width:520px;}
  .inspired__eyebrow{display:block; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:#7a746b; margin-bottom:10px;}
  .quietHeading{font-size:72px; line-height:1.02; margin:0; font-weight:600; letter-spacing:-0.01em;}
  .inspired__rule{width:30px; height:1px; background:#bdb6ab; margin:16px 0 14px;}
  .inspired__copy p{margin:0 0 12px; font-size:14px; line-height:1.75; color:#3a3a3a;}

  .palette{display:none !important;}
  .palette{max-width:1400px; margin:0 auto; padding:10px 18px 40px;}
  .palette__inner{display:grid; grid-template-columns: 0.75fr 1.85fr; gap:16px; align-items:start;}
  .palette__copy{padding:10px 6px 10px 6px;}
  .palette__eyebrow{font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:#7a746b; margin-bottom:10px;}
  .palette__heading{font-size:56px; line-height:1.02; margin:0; font-weight:600; letter-spacing:-0.01em;}
  .palette__row{display:grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap:14px; align-items:start;}
  .swatch{margin:0; display:grid; gap:8px; justify-items:center;}
  .swatch__img{width:100%; aspect-ratio: 1 / 1; object-fit:cover; border-radius:10px; border:1px solid var(--line); background:#fff;}
  .swatch__img:hover{box-shadow: 0 12px 26px rgba(0,0,0,.10); transform: translateY(-2px);}
  .swatch__cap{font-size:11px; color:#6f6a61; font-style:italic;}

  /* Palette images are now real cropped tiles (palette-1.png ... palette-5.png). */

  /* Details grid (3 columns) */
  .detailsGrid{max-width:1200px; margin:0 auto; padding:26px 18px 22px; display:grid; grid-template-columns: 1.2fr 0.95fr 1.1fr; gap:26px; align-items:start; border-top:1px solid var(--line);}
  .detailsGrid{display:none !important;}
  .dg{min-width:0;}
  .dgLeft{display:grid; grid-template-columns: 0.62fr 1fr; gap:16px; align-items:start;}
  .dgSketch{width:100%; height:220px; border-radius:10px; border:1px solid var(--line); object-fit:cover; display:block; background:#fff;}
  .dgSketch:hover{box-shadow: 0 14px 32px rgba(0,0,0,.10); transform: translateY(-2px);}
  .dgBottom{display:grid; grid-template-columns: 0.62fr 1fr; gap:16px; margin-top:14px; align-items:start;}
  .dgPlan{width:100%; height:170px; border-radius:10px; border:1px solid var(--line); object-fit:contain; object-position:center; display:block; background:#e4dfd9;}
  .dgPlan:hover{box-shadow: 0 14px 32px rgba(0,0,0,.08); transform: translateY(-2px);}
  .dgText p{margin:0 0 10px; font-size:13px; line-height:1.7;}

  .dgMid__hero{width:100%; height:200px; border-radius:10px; border:1px solid var(--line); object-fit:cover; display:block; background:#fff;}
  .dgMid__hero:hover{box-shadow: 0 14px 32px rgba(0,0,0,.10); transform: translateY(-2px);}
  .dgMid__copy{margin:12px 0 12px; font-size:13px; line-height:1.7;}
  .dgMid__miniRow{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  .dgMini{width:100%; height:140px; border-radius:10px; border:1px solid var(--line); object-fit:cover; display:block; background:#fff;}
  .dgMini:hover{box-shadow: 0 14px 32px rgba(0,0,0,.10); transform: translateY(-2px);}

  .dgRight{display:grid; grid-template-columns: 1fr 0.9fr; gap:16px; align-items:start;}
  .dgBullet{display:flex; gap:12px; align-items:flex-start; margin-bottom:14px;}
  .dgBullet__ic{width:32px; height:32px; display:grid; place-items:center; border-radius:10px; border:1px solid var(--line); background:#f3eee6; color:var(--icon); flex:0 0 auto;}
  .dgRight__media{display:grid; grid-template-columns:1fr; gap:12px;}
  .dgRight__img{width:100%; height:170px; border-radius:10px; border:1px solid var(--line); object-fit:cover; display:block; background:#fff;}
  .dgRight__img:hover{box-shadow: 0 14px 32px rgba(0,0,0,.10); transform: translateY(-2px);}

  /* Three pillars strip (above Collections) — inline SVG line icons */
  .valueProps{
    background-color: rgba(246,241,232,.94);
    background-image:
      radial-gradient(circle at 20% 20%, rgba(255,255,255,.06) 0%, transparent 45%),
      radial-gradient(circle at 78% 40%, rgba(0,0,0,.025) 0%, transparent 50%);
  }
  .valueProps__grid{
    max-width:1200px;
    margin:0 auto;
    padding:26px 18px;
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:0;
  }
  .valueProps__item{
    display:flex;
    flex-direction:row;
    align-items:flex-start;
    gap:16px;
    padding:14px 18px 14px 12px;
    text-decoration:none;
    color:inherit;
    transition:background .18s ease;
  }
  .valueProps__item:hover{background:rgba(255,255,255,.42);}
  .valueProps__item:focus-visible{
    outline:2px solid #8a5a3c;
    outline-offset:4px;
  }
  /* Same effective fill as .collections__head (inherits page `--paper`; no hero image) */
  .valueProps__iconWrap{
    flex:0 0 auto;
    width:80px;
    height:80px;
    border-radius:12px;
    border:none;
    display:grid;
    place-items:center;
    background:var(--paper);
    color:var(--icon);
    box-shadow:0 6px 16px rgba(0,0,0,.045);
  }
  .valueProps__svg{
    width:40px;
    height:40px;
    display:block;
  }
  .valueProps__img{
    width:56px;
    height:56px;
    display:block;
    object-fit:contain;
  }
  .valueProps__copy{min-width:0; flex:1 1 auto; display:flex; flex-direction:column; gap:8px;}
  .valueProps__title{
    margin:0;
    font-family:"Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:700;
    color:#2d2d2d;
  }
  .valueProps__lead{
    margin:0;
    font-size:13px;
    line-height:1.68;
    color:#555;
  }
  .valueProps__more{
    font-family:"Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-weight:700;
    color:#8a5a3c;
    margin-top:2px;
  }
  .valueProps__item:hover .valueProps__more{color:#714a34;}
  @media (max-width:900px){
    .valueProps__grid{grid-template-columns:1fr; gap:24px; padding:20px 16px;}
  }

  /* Visit showroom — two columns (reference layout), palette matches value props strip */
  .visitShowroom{
    border-top:none;
    border-bottom:none;
    background-color:rgba(246,241,232,.94);
    background-image:
      radial-gradient(circle at 12% 30%, rgba(255,255,255,.06) 0%, transparent 45%),
      radial-gradient(circle at 88% 60%, rgba(0,0,0,.022) 0%, transparent 50%);
  }
  .visitShowroom__inner{
    max-width:1200px;
    margin:0 auto;
    padding:32px 18px 36px;
    display:grid;
    grid-template-columns:minmax(0, 0.95fr) minmax(0, 1.1fr);
    gap:clamp(22px,4vw,48px);
    align-items:center;
    box-sizing:border-box;
  }
  .visitShowroom__copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
  }
  .visitShowroom__cta{margin-top:16px;}
  .visitShowroom__eyebrow{
    margin:0 0 10px;
    font-family:"Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    font-size:10px;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:#7a5c48;
  }
  .visitShowroom__heading{
    margin:0 0 14px;
    font-family:"Cormorant Garamond", ui-serif, Georgia, serif;
    font-size:clamp(34px,4.2vw,44px);
    font-weight:600;
    line-height:1.08;
    letter-spacing:-0.01em;
    color:#2a2018;
  }
  .visitShowroom__rule{
    width:32px;
    height:1px;
    margin:0 0 18px;
    background:#9a8374;
  }
  .visitShowroom__address{
    margin:0;
    font-style:normal;
    font-family:"Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    font-size:14px;
    line-height:1.72;
    color:#3f3833;
    max-width:28ch;
  }
  .visitShowroom__addressLink{
    color:inherit;
    text-decoration:none;
    border-radius:2px;
  }
  .visitShowroom__addressLink:hover{
    text-decoration:underline;
    text-underline-offset:3px;
  }
  .visitShowroom__addressLink:focus-visible{
    outline:2px solid rgba(122,92,72,.55);
    outline-offset:3px;
  }
  .visitShowroom__map{
    position:relative;
    width:100%;
    min-width:0;
    min-height:220px;
    max-height:min(420px,52vh);
    aspect-ratio:16/10;
    border:1px solid rgba(154,139,129,.52);
    background:#ece8e2;
    box-shadow:0 12px 28px rgba(0,0,0,.055);
    overflow:hidden;
  }
  .visitShowroom__iframe,
  .visitShowroom__img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    display:block;
  }
  .visitShowroom__img{
    object-fit:cover;
    object-position:center;
  }
  @media (max-width:900px){
    .visitShowroom__inner{
      grid-template-columns:1fr;
      padding:26px 16px 32px;
    }
    .visitShowroom__map{order:-1;}
  }

  /* Collections gallery grid */
  .collections{
    width:100%;
    box-sizing:border-box;
    margin:0;
    padding:18px 0 20px;
    border-top:none;
    background-color:#F0EDE8;
    color:var(--ink);
  }
  .collections__head,
  .collectionsGrid{
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
    padding-left:18px;
    padding-right:18px;
    box-sizing:border-box;
  }
  .collections__head{text-align:center; padding:10px 0 14px;}
  .collections__eyebrow{font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:#7a5c48; margin-bottom:8px;}
  .collections__title{
    font-size:56px;
    line-height:1.02;
    margin:0;
    font-weight:600;
    letter-spacing:-0.01em;
    color:var(--ink);
  }
  .collectionsGrid{padding-top:8px;}
  .collectionsGrid__inner{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:14px;
    padding:8px 0 6px;
  }
  /* Prefer class over `[hidden]` alone so tiles stay clipped even if `display` rules fight the UA stylesheet. */
  .collectionsGrid__inner > a.iTile.collectionsGrid__tile--hidden{
    display: none !important;
  }
  @media (max-width:900px){
    .collectionsGrid__inner{grid-template-columns: repeat(2, minmax(0, 1fr));}
    .collections__title{font-size:44px;}
  }
  @media (max-width:520px){
    .collectionsGrid__inner{grid-template-columns: 1fr;}
  }
  .collectionsGrid__actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    justify-content:center;
    align-items:center;
    padding:18px 0 4px;
  }
  button.collectionsLoadMore{
    appearance:none;
    cursor:pointer;
  }
  /* OUR PROCESS — same band + icon scale + type as .valueProps (our approach strip) */
  .homeProcessRibbon{
    --ribbon-eyebrown:#7a5c48;
    background-color:rgba(246,241,232,.94);
    background-image:
      radial-gradient(circle at 20% 20%, rgba(255,255,255,.06) 0%, transparent 45%),
      radial-gradient(circle at 78% 40%, rgba(0,0,0,.025) 0%, transparent 50%);
    padding:0;
    width:100%;
    max-width:none;
    margin:0;
    border:none;
    box-shadow:none;
    box-sizing:border-box;
  }
  .homeProcessRibbon__inner{
    max-width:1200px;
    margin:0 auto;
    padding:26px 18px 32px;
    box-sizing:border-box;
  }
  .homeProcessRibbon__eyebrow{
    font-family:"Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    text-align:center;
    font-size:10px;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:var(--ribbon-eyebrown);
    margin:0 auto 18px;
  }
  .homeProcessRibbon__track{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:0;
    align-items:start;
  }
  .homeProcessRibbon__segment{
    display:flex;
    flex-direction:row;
    align-items:flex-start;
    gap:16px;
    min-width:0;
    padding:14px 18px 14px 12px;
    box-sizing:border-box;
  }
  .homeProcessRibbon__icon{
    flex:0 0 auto;
    width:80px;
    height:80px;
    display:grid;
    place-items:center;
    background:transparent;
    border:none;
    box-shadow:none;
    outline:none;
  }
  .homeProcessRibbon__img{
    width:56px;
    height:56px;
    display:block;
    object-fit:contain;
  }
  .homeProcessRibbon__copy{
    min-width:0;
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .homeProcessRibbon__title{
    margin:0;
    font-family:"Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:700;
    color:#2d2d2d;
    line-height:1.45;
  }
  .homeProcessRibbon__num{font-weight:800;letter-spacing:.1em;color:#8a5a3c;}
  .homeProcessRibbon__desc{
    margin:0;
    font-size:13px;
    line-height:1.68;
    color:#555;
  }
  @media (max-width:900px){
    .homeProcessRibbon__inner{padding:20px 16px 28px;}
    .homeProcessRibbon__track{grid-template-columns:1fr; gap:24px;}
    .homeProcessRibbon__segment{padding:0;}
  }

  /* Why choose CFL — background matches .collections (#F0EDE8); icon wells use section fill */
  .whyCfl{
    background-color:#F0EDE8;
    background-image:none;
    padding:0;
    border-top:none;
    width:100%;
    margin:0;
    box-sizing:border-box;
  }
  .whyCfl__grid{
    max-width:1200px;
    margin:0 auto;
    padding:26px 18px 32px;
    box-sizing:border-box;
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 2.1fr);
    gap:clamp(26px,4vw,44px);
    align-items:start;
    box-shadow:none;
  }
  .whyCfl__intro{
    background:none;
    padding:0;
    box-sizing:border-box;
    min-width:0;
  }
  h2.whyCfl__heading{
    margin:0 0 12px;
    font-family:"Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    font-size:clamp(12px,1.35vw,14px);
    letter-spacing:.16em;
    text-transform:uppercase;
    font-weight:700;
    color:#2d2d2d;
    line-height:1.35;
    max-width:28ch;
  }
  .whyCfl__lead{
    margin:0 0 18px;
    font-size:13px;
    line-height:1.68;
    color:#555;
    max-width:42ch;
  }
  .whyCfl__tiles{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:0;
    align-items:start;
  }
  .whyCfl__tile{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:14px;
    padding:14px 12px;
    box-sizing:border-box;
    min-width:0;
    background:transparent;
  }
  .whyCfl__body{
    min-width:0;
    width:100%;
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
  }
  .whyCfl__iconWrap{
    flex:0 0 auto;
    width:80px;
    height:80px;
    display:grid;
    place-items:center;
    background:transparent;
    border:none;
    box-shadow:none;
  }
  .whyCfl__img{
    width:56px;
    height:56px;
    display:block;
    object-fit:contain;
  }
  .whyCfl__tiles .whyCfl__title{
    margin:0;
    font-family:"Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:700;
    color:#2d2d2d;
    line-height:1.45;
    max-width:none;
  }
  .whyCfl__tiles .whyCfl__text{
    margin:0;
    font-size:13px;
    line-height:1.68;
    color:#555;
    max-width:none;
  }
  @media (max-width:980px){
    .whyCfl__grid{grid-template-columns:1fr;}
    .whyCfl__tiles{grid-template-columns:repeat(2, minmax(0, 1fr));}
  }
  @media (max-width:900px){
    .whyCfl__grid{padding:20px 16px 28px;}
  }
  @media (max-width:520px){
    .whyCfl__tiles{grid-template-columns:1fr; gap:24px;}
    .whyCfl__tile{padding:0;}
  }

  /* Inspiration tiles in collections grid — match /gallery/ .gTile */
  .iTile picture{display:block;}
  .iTile{
    position:relative;
    min-width:0;
    display:block;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    min-height:176px;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  }
  a.iTile{
    text-decoration:none;
    color:inherit;
    -webkit-tap-highlight-color: transparent;
  }
  a.iTile:focus-visible{
    outline:2px solid #8a5a3c;
    outline-offset:3px;
  }
  .iTile:hover{
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(0,0,0,.10);
    filter: saturate(1.02) contrast(1.02);
  }
  .iTile__img{
    width:100%;
    height:209px;
    object-fit:cover;
    display:block;
    opacity:.96;
  }
  .iTile__overlay{
    position:absolute;
    inset:0;
    padding:12px 12px 12px;
    background: rgba(0,0,0,.50);
    color:#fff;
    display:flex;
    align-items:flex-end;
    justify-content:flex-start;
    transition: opacity .18s ease;
  }
  .iTile:hover .iTile__overlay{opacity:0;}
  .iTile__title{
    font-family: "Cormorant Garamond", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    font-size:26px;
    line-height:1.14;
    margin:0;
    width:100%;
    max-width:100%;
    text-align:left;
    color:rgba(255,255,255,.97);
    text-shadow:
      0 1px 14px rgba(0,0,0,.78),
      0 2px 28px rgba(0,0,0,.42);
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    overflow:hidden;
    overflow-wrap:break-word;
    padding-bottom:14px;
    background-image:linear-gradient(90deg, #cfa06a, #d9b080);
    background-size:44px 2px;
    background-position:left bottom;
    background-repeat:no-repeat;
  }
  @media (max-width: 900px){
    .iTile__img{height:198px;}
  }

  /* Photo + dark gradient scrim (.gTile__overlay-style); fades to photo on hover */
  /* Paths are relative to this stylesheet (/styles.css → /home-icons/…). Fallback color shows if image 404/missing on host. */
  /* Full-bleed photo; content stays in same 1200px column (40px = former 18px section + 22px overlay pad). */
  .footerBanner{
    position:relative;
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    border-radius:0;
    overflow:hidden;
    border:solid #1b1b1b22;
    border-width:1px 0;
    background-color:#3a3937;
    background-image:url('home-icons/footer-banner.png?v=3');
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  }
  .footerBanner:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 30px rgba(0,0,0,.10);
    filter:saturate(1.02) contrast(1.02);
  }
  /* Same idea as gallery .gTile__overlay — dark veil at rest, fades on hover */
  .footerBanner::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:0;
    opacity:1;
    transition:opacity .18s ease;
    background:linear-gradient(
      115deg,
      rgba(0,0,0,.62) 0%,
      rgba(0,0,0,.40) 36%,
      rgba(0,0,0,.18) 64%,
      rgba(0,0,0,0) 90%
    );
  }
  .footerBanner:hover::before{opacity:0;}
  .footerBanner:hover .footerBanner__overlay{
    filter:drop-shadow(0 2px 16px rgba(0,0,0,.72)) drop-shadow(0 18px 24px rgba(0,0,0,.42));
  }
  @media (prefers-reduced-motion: reduce){
    .footerBanner{transition:none;}
    .footerBanner:hover{transform:none; box-shadow:none; filter:none;}
    .footerBanner::before{transition:none;}
    .footerBanner:hover::before{opacity:1;}
    .footerBanner:hover .footerBanner__overlay{filter:none;}
  }
  .footerBanner__overlay{
    position:relative;
    z-index:2;
    box-sizing:border-box;
    max-width:1200px;
    margin:0 auto;
    padding:30px 40px;
    color:#fff;
    display:flex;
    gap:22px;
    align-items:flex-end;
    justify-content:space-between;
    transition:filter .18s ease;
  }
  .footerBanner__left h2{margin:0 0 8px; font-size:40px; line-height:1.08;}
  .footerBanner__left p{margin:0 0 14px; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; color:rgba(255,255,255,.88);}
  .bannerBtn{display:inline-flex; align-items:center; justify-content:center; font-family: "Nunito", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; text-transform:uppercase; letter-spacing:.14em; font-size:12px; padding:12px 16px; border-radius:8px; background: #8a5a3c; color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.15);}
  .bannerBtn:hover{filter:brightness(1.06); transform: translateY(-1px); box-shadow: 0 14px 28px rgba(0,0,0,.25);}
  .bannerBtn:active{transform: translateY(0px);}
  .bannerBtn:focus-visible{outline:2px solid rgba(138,90,60,.95); outline-offset:3px;}
  .footerBanner__right{display:flex; gap:26px; align-items:flex-end; padding-bottom:2px;}
  .bannerFeat{display:flex; flex-direction:column; align-items:center; gap:8px; min-width:120px;}
  .bannerFeat__icon{width:44px; height:44px; display:grid; place-items:center; border-radius:10px; border:1px solid rgba(255,255,255,.22); background: rgba(0,0,0,.18);}
  .bannerFeat__icon img{display:block; width:28px; height:28px; object-fit:contain;}
  .bannerFeat__txt{font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; font-size:11px; letter-spacing:.18em; text-transform:uppercase; text-align:center; color:rgba(255,255,255,.92); line-height:1.25;}

  .footer{max-width:1200px; margin:18px auto 26px; padding:0 18px;}
  /* Inner pages use flex column on `.site`; footer must span full content width (not shrink-to-fit). */
  .site > .footer{
    width:100%;
    box-sizing:border-box;
    align-self:stretch;
    min-width:0;
  }
  .site > .footer .footer__inner{
    width:100%;
    box-sizing:border-box;
  }
  .footer__inner{
    background: transparent;
    border-top: 1px solid var(--line);
    padding: 20px 0 0;
  }
  .footer__top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:28px;
  }
  .brand--footer{min-width:auto;}
  .brand--footer .brand__text{display:grid; gap:2px;}
  .brand__kicker--script{
    font-family:"Great Vibes", "Brush Script MT", cursive;
    font-size:38px;
    letter-spacing:0;
    text-transform:none;
    color:#2a2018;
    line-height:1;
    font-weight:400;
  }
  .brand__name--wide{
    font-family:"Cormorant Garamond", ui-serif, Georgia, serif;
    font-size:34px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:#8a5a3c;
    line-height:1.05;
  }
  .footer__cols{display:grid; gap:48px; grid-auto-flow: column;}
  .footer__cols--2{grid-template-columns: 1fr 1fr;}
  .fcol{display:grid; gap:6px;}
  .fcol__title{font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#1b1b1b;}
  .fcol__link{font-size:13px; color:#2d2d2d; text-decoration:none;}
  .fcol__link:hover{text-decoration:underline;}
  .footer__bottom{
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid var(--line);
    color:#6f6a61;
    font-size:12px;
    text-align:center;
  }

  /* Responsive */
  @media (max-width: 900px){
    .topbar{gap:10px 12px;}
    .brand{min-width:0; flex:0 0 auto;}
    .nav{display:none;}
    .topbar > .cta{display:none;}
    .navToggle{display:grid;}
    .hero{grid-template-columns:1fr; padding-top:12px; min-height:auto;}
    .hero__media{min-height:280px;}
    .hero h1{font-size:44px;}
    .inspired__inner{max-width:640px;}
    .palette__inner{grid-template-columns:1fr;}
    .palette__heading{font-size:44px;}
    .palette__row{grid-template-columns: repeat(3, minmax(0, 1fr));}
    .detailsGrid{grid-template-columns:1fr; gap:18px;}
    .dgLeft{grid-template-columns:1fr;}
    .dgBottom{grid-template-columns:1fr;}
    .dgRight{grid-template-columns:1fr;}
    .dgMid__hero{height:240px;}
    /* Mobile request: hide Intuitive images and keep icon -> text rows */
    .dgSketch{display:none;}
    .dgPlan{display:none;}
    .iconlist--tight li{display:flex; flex-direction:row; align-items:flex-start; gap:12px;}
    .iconlist--tight li > div{flex:1; min-width:0;}
    .iconlist--tight .icon{width:32px; height:32px; border-radius:10px;}
    .iconlist--tight .liTitle{line-height:1.2;}
    .iconlist--tight .liSub{line-height:1.25;}
    .footerBanner__overlay{flex-direction:column; align-items:flex-start;}
    .footerBanner__right{width:100%; justify-content:space-between;}
    .footer__top{flex-direction:column; align-items:flex-start;}
    .footer__cols{grid-auto-flow: row; grid-template-columns: 1fr 1fr; gap:22px;}
    .collections__title{font-size:46px;}
    .iTile{flex:0 0 220px;}
    .iTile__img{height:187px;}
    .iTile__title{font-size:20px;}
  }
  @media (max-width: 520px){
    .topbar{padding:12px 12px;}
    .site > .topbar{padding:12px 18px;}
    .cta{padding:9px 10px;}
    .hero h1{font-size:38px;}
    .footerBanner__left h2{font-size:34px;}
    .quietHeading{font-size:48px;}
    /* Mobile palette: one row, smaller tiles, bigger captions */
    .palette__row{
      grid-template-columns: none;
      grid-auto-flow: column;
      grid-auto-columns: 116px;
      gap:12px;
      overflow-x:auto;
      padding: 6px 2px 2px;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
    }
    .swatch{scroll-snap-align: start;}
    .swatch__img{border-radius:12px;}
    .swatch__cap{font-size:13px;}
    .footerBanner__right{gap:14px; flex-wrap:wrap;}
    .bannerFeat{min-width:96px;}
    .brand__kicker--script{font-size:26px;}
    .brand__name--wide{font-size:30px;}
    .footer__cols{grid-template-columns:1fr;}
  }