@font-face  {
  
  font-family: 'DM Sans';
  
  font-style: normal;
  
  font-weight: 400;
  
  font-display: swap;
  
  src: url(font-0.ttf) format('truetype');
  

}

@font-face  {
  
  font-family: 'DM Sans';
  
  font-style: normal;
  
  font-weight: 500;
  
  font-display: swap;
  
  src: url(font-1.ttf) format('truetype');
  

}

@font-face  {
  
  font-family: 'DM Sans';
  
  font-style: normal;
  
  font-weight: 600;
  
  font-display: swap;
  
  src: url(font-2.ttf) format('truetype');
  

}

@font-face  {
  
  font-family: 'DM Sans';
  
  font-style: normal;
  
  font-weight: 700;
  
  font-display: swap;
  
  src: url(font-3.ttf) format('truetype');
  

}

@font-face  {
  
  font-family: 'Manrope';
  
  font-style: normal;
  
  font-weight: 400;
  
  font-display: swap;
  
  src: url(font-4.ttf) format('truetype');
  

}

@font-face  {
  
  font-family: 'Manrope';
  
  font-style: normal;
  
  font-weight: 500;
  
  font-display: swap;
  
  src: url(font-5.ttf) format('truetype');
  

}

@font-face  {
  
  font-family: 'Manrope';
  
  font-style: normal;
  
  font-weight: 600;
  
  font-display: swap;
  
  src: url(font-6.ttf) format('truetype');
  

}

@font-face  {
  
  font-family: 'Manrope';
  
  font-style: normal;
  
  font-weight: 700;
  
  font-display: swap;
  
  src: url(font-7.ttf) format('truetype');
  

}

@font-face  {
  
  font-family: 'Manrope';
  
  font-style: normal;
  
  font-weight: 800;
  
  font-display: swap;
  
  src: url(font-8.ttf) format('truetype');
  

}

:root {
  --paper:#faf9f6;
  --white:#fff;
  --ink:#22231f;
  --muted:#6a6a62;
  --red:#a52d25;
  --red-dark:#832018;
  --line:#deddd7;
  --soft:#eeede7;
  --dark:#242720;
  --gutter:clamp(22px,5vw,88px);
  --sans:'DM Sans',Arial,sans-serif;
  --display:'Manrope',Arial,sans-serif
}

* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 16px/1.65 var(--sans);
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}
p {
  margin:0 0 22px;
  color:var(--muted)
}
h1,h2,h3 {
  font-family:var(--display);
  font-weight:500;
  line-height:1.13;
  letter-spacing:-.055em;
  margin:0 0 25px
}
h1 {
  font-size:clamp(48px,5.7vw,88px)
}
h2 {
  font-size:clamp(34px,3.45vw,54px)
}
h3 {
  font-size:26px;
  letter-spacing:-.035em
}
em {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  letter-spacing:-.055em
}
h1 em,h2 em {
  color:var(--red)
}
button,a,input,textarea,select,summary {
  outline-offset:5px
}
:focus-visible {
  outline:2px solid var(--red)
}
::selection {
  background:#a52d25;
  color:#fff
}
[hidden] {
  display:none!important
}
.skip-link {
  position:absolute;
  top:-100px;
  left:20px;
  z-index:1000;
  padding:12px;
  background:white
}
.skip-link:focus {
  top:12px
}
.topbar {
  background:var(--dark);
  color:#fff;
  display:flex;
  justify-content:space-between;
  padding:7px var(--gutter);
  font-size:12px;
  letter-spacing:.07em
}
.topbar>a {
  font-size:12px;
  letter-spacing:.025em
}
.topbar>a span {
  margin-left:16px;
  color:#ead8bd
}
.site-header {
  height:98px;
  padding:0 var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:var(--paper);
  position:sticky;
  top:0;
  z-index:50;
  border-bottom:1px solid var(--line);
  gap:24px
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0
}
.brand img {
  height:55px;
  width:52px;
  object-fit:contain
}
.brand>span {
  font-family:var(--display);
  font-size:20px;
  font-weight:750;
  letter-spacing:-.06em;
  line-height:1.2
}
.brand small {
  display:block;
  font-size:10px;
  letter-spacing:.14em;
  font-weight:550;
  margin-top:6px
}
.site-header nav {
  display:flex;
  align-items:center;
  gap:26px;
  font-size:14px;
  line-height:1.3
}
.site-header nav>a {
  position:relative;
  white-space:nowrap
}
.site-header nav>a:not(.nav-cta):after {
  content:'';
  position:absolute;
  bottom:-9px;
  left:0;
  width:100%;
  height:2px;
  background:var(--red);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s
}
.site-header nav>a:hover:after,.site-header nav>a[aria-current]:after {
  transform:scaleX(1)
}
.site-header nav>a[aria-current] {
  color:var(--red)
}
.nav-cta {
  padding:15px 20px;
  border:1px solid #aaa99f;
  margin-left:6px
}
.nav-cta span {
  margin-left:10px
}
.nav-cta:hover {
  background:var(--red);
  color:white;
  border-color:var(--red)
}
.menu-toggle {
  display:none
}
.eyebrow {
  display:block;
  font-size:12px;
  font-weight:650;
  letter-spacing:.14em;
  line-height:1.5;
  margin-bottom:25px;
  text-transform:uppercase
}
.button {
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:36px;
  padding:17px 25px;
  border:1px solid transparent;
  line-height:1.4;
  font-size:14px;
  font-weight:600;
  transition:background .2s,transform .2s
}
.button span {
  font-size:21px;
  font-weight:400
}
.button.red {
  color:#fff;
  background:var(--red)
}
.button.red:hover {
  background:var(--red-dark)
}
.button.outline {
  color:#fff;
  border-color:#ffffff75
}
.button.outline:hover {
  background:#ffffff20
}
.button.light {
  background:var(--paper);
  color:var(--ink)
}
.button.light:hover {
  background:#e5dccc
}
.text-link {
  font-size:14px;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:35px;
  border-bottom:1px solid currentColor;
  padding:0 0 8px
}
.text-link>span[aria-hidden] {
  font-size:22px;
  line-height:1
}
.text-link:hover {
  color:var(--red)
}
.home-hero {
  min-height:660px;
  height:min(730px,76vw);
  position:relative;
  color:white;
  background:#3c3a31;
  overflow:hidden
}
.hero-image {
  position:absolute;
  inset:0;
  object-position:50% 58%;
  animation:hero-settle 1.1s ease-out both
}
.hero-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(15,18,14,.77) 0%,rgba(15,18,14,.38) 56%,rgba(15,18,14,.02) 100%),linear-gradient(0deg,rgba(15,18,14,.55),transparent 30%)
}
.hero-content {
  position:relative;
  padding:91px var(--gutter) 125px;
  max-width:1080px;
  animation:arrive .8s ease-out both
}
.hero-content h1 {
  font-size:clamp(52px,6.5vw,100px);
  line-height:1.07;
  letter-spacing:-.06em;
  margin-bottom:28px
}
.hero-content h1 em {
  color:#f4e3c9
}
.hero-content p {
  color:#f1eee6;
  max-width:600px;
  line-height:1.65;
  font-size:16px
}
.hero-actions {
  display:flex;
  gap:12px;
  margin-top:34px
}
.hero-bottom {
  position:absolute;
  bottom:28px;
  left:var(--gutter);
  right:var(--gutter);
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #ffffff55;
  padding-top:20px;
  font-size:12px;
  letter-spacing:.1em
}
.hero-bottom a {
  letter-spacing:0;
  font-size:14px
}
.three-foundations {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding:0 var(--gutter);
  border-bottom:1px solid var(--line)
}
.three-foundations>a {
  min-height:117px;
  display:grid;
  grid-template-columns:25px 1fr 20px;
  grid-template-rows:auto auto;
  column-gap:18px;
  align-content:center;
  padding:24px 30px;
  border-right:1px solid var(--line)
}
.three-foundations>a:first-child {
  padding-left:0
}
.three-foundations>a:last-child {
  border:0
}
.three-foundations>a>span:first-child {
  grid-row:1/3;
  color:var(--red);
  font-size:12px;
  padding-top:3px
}
.three-foundations strong {
  font-family:var(--display);
  font-size:26px;
  font-weight:500;
  line-height:1.25;
  letter-spacing:-.04em
}
.three-foundations small {
  font-size:14px;
  color:var(--muted)
}
.three-foundations>a>span:last-child {
  grid-row:1/3;
  grid-column:3;
  align-self:center;
  font-size:26px
}
.three-foundations>a:hover strong {
  color:var(--red)
}
.section {
  padding:100px var(--gutter)
}
.section-heading {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:70px;
  align-items:end;
  margin-bottom:48px
}
.section-heading h2 {
  margin-bottom:0
}
.section-heading>div:last-child>p,.section-heading>p {
  max-width:430px;
  margin-bottom:20px
}
.product-grid {
  display:grid;
  gap:26px
}
.home-products {
  grid-template-columns:repeat(4,1fr)
}
.card-image {
  height:330px;
  position:relative;
  overflow:hidden;
  background:#e4e0d8
}
.card-image img {
  transition:transform .55s;
  object-position:center
}
.product-card:hover img {
  transform:scale(1.045)
}
.round-arrow {
  position:absolute;
  bottom:15px;
  right:15px;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--paper);
  display:grid;
  place-items:center;
  font-size:23px;
  transition:background .2s,color .2s
}
.product-card:hover .round-arrow {
  background:var(--red);
  color:white
}
.card-meta {
  padding:22px 0
}
.card-meta>span {
  font-size:12px;
  letter-spacing:.06em;
  color:var(--muted)
}
.card-meta h3 {
  font-size:23px;
  margin:10px 0 6px
}
.card-meta p {
  font-size:14px;
  line-height:1.5;
  margin:0
}
.lifestyle {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9%;
  background:var(--soft)
}
.need-list {
  margin-top:30px;
  border-top:1px solid #d1d0c7
}
.need-button {
  border:0;
  background:none;
  width:100%;
  text-align:left;
  padding:16px 0;
  border-bottom:1px solid #d1d0c7;
  display:flex;
  justify-content:space-between;
  color:var(--ink);
  font-size:16px
}
.need-button>span:last-child {
  font-size:22px;
  color:var(--muted)
}
.need-button:hover,.need-button.selected {
  color:var(--red)
}
.need-button.selected>span:last-child {
  color:var(--red)
}
.need-button.selected {
  font-weight:650
}
.need-result {
  background:var(--dark);
  color:white;
  align-self:stretch;
  padding:58px 46px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:490px
}
.need-result h3 {
  font-size:clamp(30px,3vw,46px);
  line-height:1.17;
  max-width:430px
}
.need-result p {
  color:#d2d4c9;
  max-width:370px
}
.need-result .text-link {
  align-self:flex-start;
  max-width:100%;
  color:#f6ddba
}
.need-number {
  font-family:var(--display);
  font-size:140px;
  line-height:1;
  letter-spacing:-.07em;
  position:absolute;
  bottom:0;
  right:15px;
  color:#ffffff09;
  pointer-events:none
}
.complete-space {
  padding:100px var(--gutter);
  background:#fff
}
.feature-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px
}
.feature-card {
  position:relative;
  min-height:510px;
  overflow:hidden;
  color:#fff;
  background:#333
}
.feature-card img {
  position:absolute;
  inset:0;
  transition:transform .6s
}
.feature-card:hover img {
  transform:scale(1.04)
}
.feature-card:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(15,17,13,.85),rgba(15,17,13,.02) 80%)
}
.feature-card>div {
  position:absolute;
  bottom:35px;
  left:35px;
  right:35px;
  z-index:1
}
.feature-card h3 {
  font-size:35px;
  margin-bottom:20px
}
.feature-card .eyebrow {
  margin-bottom:13px
}
.feature-card .text-link {
  color:white
}
.showroom-teaser {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:10%;
  align-items:center
}
.showroom-type {
  font-family:var(--display);
  font-size:clamp(54px,6.5vw,110px);
  font-weight:650;
  line-height:1.07;
  letter-spacing:-.065em;
  padding:35px 0;
  border-top:1px solid var(--red);
  border-bottom:1px solid var(--red)
}
.showroom-type em {
  color:var(--red)
}
.showroom-teaser>div:last-child p {
  max-width:430px
}
.small {
  font-size:14px
}
.showroom-teaser .small {
  margin-top:20px
}
.cta-band {
  background:var(--red);
  color:#fff;
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:9%;
  align-items:center;
  padding:76px var(--gutter)
}
.cta-band h2 {
  font-size:clamp(34px,3.1vw,48px);
  margin:0
}
.cta-band p {
  color:#f4dedb
}
.cta-band .eyebrow {
  color:#efd6d1;
  margin-bottom:20px
}
footer {
  background:#20221d;
  color:#eceee5;
  padding:75px var(--gutter) 25px
}
.footer-grid {
  display:grid;
  grid-template-columns:1.5fr 1fr 1.2fr 1.2fr;
  gap:35px
}
.footer-brand {
  font-family:var(--display);
  font-size:29px;
  line-height:1.1;
  font-weight:650;
  letter-spacing:-.06em
}
.footer-brand span {
  display:block;
  font-size:15px;
  letter-spacing:.17em;
  margin-top:9px
}
.footer-grid h3 {
  font:600 12px/1.5 var(--sans);
  letter-spacing:.09em;
  margin-bottom:24px
}
.footer-grid p,.footer-grid>div>a:not(.footer-brand) {
  color:#bdc0b5;
  font-size:14px;
  line-height:1.8
}
.footer-grid>div>a:not(.footer-brand) {
  display:block;
  margin-bottom:8px
}
.footer-grid>div:first-child p {
  margin-top:25px;
  max-width:220px
}
.footer-grid a:hover {
  color:white
}
.footer-bottom {
  margin-top:60px;
  border-top:1px solid #ffffff25;
  padding-top:25px;
  display:flex;
  justify-content:space-between;
  font-size:12px;
  color:#a8aea0
}
.page-intro {
  padding:85px var(--gutter) 70px;
  border-bottom:1px solid var(--line)
}
.page-intro h1 {
  max-width:1100px;
  margin-bottom:35px
}
.page-intro .eyebrow {
  color:var(--red)
}
.intro-bottom {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:45px
}
.intro-bottom p {
  margin:0;
  max-width:550px
}
.intro-bottom>span {
  font-size:12px;
  letter-spacing:.1em;
  flex-shrink:0
}
.collection-section {
  padding-top:40px
}
.filter-bar {
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:40px;
  flex-wrap:wrap
}
.filter-button {
  padding:10px 19px;
  border:1px solid var(--line);
  background:transparent;
  border-radius:30px;
  color:var(--ink);
  font-size:14px;
  transition:all .2s
}
.filter-button:hover {
  border-color:var(--ink)
}
.filter-button.active {
  background:var(--ink);
  border-color:var(--ink);
  color:white
}
.filter-bar>span {
  margin-left:auto;
  font-size:14px;
  color:var(--muted)
}
.catalog-grid {
  grid-template-columns:repeat(3,1fr);
  gap:35px 28px
}
.catalog-grid .card-image {
  height:355px
}
.photo-note {
  font-size:12px;
  margin:40px 0 0;
  max-width:700px
}
.interior-hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:565px;
  border-bottom:1px solid var(--line)
}
.interior-copy {
  padding:70px 50px 70px var(--gutter);
  display:flex;
  flex-direction:column;
  justify-content:center
}
.interior-copy h1 {
  font-size:clamp(44px,4.5vw,72px)
}
.interior-copy .eyebrow {
  color:var(--red)
}
.interior-copy p {
  max-width:480px;
  font-size:18px;
  line-height:1.65
}
.interior-copy .button {
  align-self:flex-start;
  margin-top:12px
}
.interior-image {
  position:relative;
  min-width:0;
  overflow:hidden
}
.interior-image img {
  position:absolute;
  inset:0;
  object-position:50% 50%
}
.image-label {
  position:absolute;
  bottom:20px;
  left:26px;
  color:#fff;
  text-shadow:0 1px 7px #000;
  font-size:11px;
  letter-spacing:.13em
}
.breadcrumbs {
  padding:25px var(--gutter);
  font-size:14px;
  border-bottom:1px solid var(--line);
  display:flex;
  gap:18px
}
.breadcrumbs>a {
  color:var(--muted)
}
.product-detail {
  display:grid;
  grid-template-columns:270px 1fr;
  gap:8%;
  align-items:start
}
.product-detail aside {
  position:sticky;
  top:130px
}
.product-detail aside>a {
  display:block;
  padding:10px 0;
  border-bottom:1px solid var(--line);
  font-size:14px
}
.product-detail aside>a.current {
  color:var(--red);
  font-weight:700
}
.aside-help {
  margin-top:36px;
  padding:25px;
  background:var(--soft)
}
.aside-help h3 {
  font-size:21px;
  line-height:1.3;
  margin-bottom:15px
}
.aside-help a {
  font-size:16px;
  color:var(--red)
}
.product-detail article {
  max-width:850px
}
.article-lead p:first-child {
  font-size:23px;
  color:var(--ink);
  line-height:1.5
}
.product-detail article h2 {
  font-size:29px;
  letter-spacing:-.04em;
  margin:40px 0 23px;
  padding-top:24px;
  border-top:1px solid var(--line)
}
.benefit-list {
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 25px;
  margin:0 0 25px
}
.benefit-list li {
  padding:13px 0 13px 20px;
  border-bottom:1px solid var(--line);
  position:relative;
  color:var(--muted);
  font-size:16px
}
.benefit-list li:before {
  content:'+';
  color:var(--red);
  position:absolute;
  left:0
}
.article-note {
  padding:25px;
  background:var(--soft);
  margin-top:35px;
  font-size:14px;
  color:var(--muted)
}
.split-story {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  align-items:start
}
.split-story>div:first-child {
  position:sticky;
  top:140px
}
.split-story>div:first-child>p {
  max-width:420px
}
.numbered-list>div {
  display:flex;
  gap:25px;
  border-top:1px solid var(--line);
  padding:29px 0
}
.numbered-list>div>span {
  font-size:12px;
  color:var(--red);
  padding-top:4px
}
.numbered-list h3 {
  font-size:25px;
  margin-bottom:15px
}
.numbered-list p {
  margin-bottom:0
}
.dark-section {
  background:var(--dark);
  color:white
}
.dark-section h2 {
  max-width:900px
}
.dark-section em {
  color:#ddc6a3
}
.pill-list {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:45px;
  max-width:1000px
}
.pill-list>span {
  padding:13px 22px;
  border:1px solid #ffffff45;
  border-radius:30px;
  font-size:14px
}
.window-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px 30px
}
.window-card {
  border-top:1px solid var(--red);
  padding-top:28px
}
.window-card h3 {
  font-size:28px;
  min-height:65px;
  line-height:1.18
}
.window-card .eyebrow {
  color:var(--red);
  font-size:11px
}
.window-tag {
  font-size:18px;
  color:var(--ink);
  line-height:1.5
}
.window-card .small {
  border-top:1px solid var(--line);
  padding-top:18px
}
.window-card details {
  border-top:1px solid var(--line);
  padding-top:14px
}
.window-card summary {
  font-size:14px;
  cursor:pointer;
  color:var(--red)
}
.window-card details p {
  font-size:14px;
  margin-top:15px
}
.compare-section,.bring-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  background:var(--soft)
}
.comparison-row {
  border-top:1px solid #cecec3;
  padding:30px 0
}
.comparison-row:first-child {
  padding-top:0;
  border-top:0
}
.comparison-row h3 {
  font-size:25px
}
.question-list details {
  border-top:1px solid var(--line)
}
.question-list details:last-child {
  border-bottom:1px solid var(--line)
}
.question-list summary {
  list-style:none;
  display:flex;
  align-items:start;
  gap:20px;
  font-size:20px;
  line-height:1.4;
  padding:25px 0;
  cursor:pointer;
  letter-spacing:-.025em
}
.question-list summary::-webkit-details-marker {
  display:none
}
.question-list summary>span {
  font-size:12px;
  color:var(--red);
  padding-top:5px
}
.question-list summary>b {
  font-weight:400;
  margin-left:auto;
  font-size:23px;
  color:var(--red)
}
.question-list details[open] summary>b {
  transform:rotate(45deg)
}
.question-list details p {
  padding-left:35px;
  margin-bottom:30px
}
.checklist>div {
  padding:16px 0;
  border-bottom:1px solid #d0d0c7;
  display:flex;
  gap:20px
}
.checklist span {
  color:var(--red)
}
.prose .lead {
  font-size:25px;
  line-height:1.5;
  color:var(--ink)
}
.values-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:45px;
  margin-top:65px
}
.values-grid>div {
  border-top:1px solid #ffffff40;
  padding-top:24px
}
.values-grid>div>span {
  font-size:12px;
  color:#c8ba9f;
  letter-spacing:.06em
}
.values-grid h3 {
  margin:20px 0;
  font-size:29px
}
.values-grid p {
  color:#c8cbbf;
  max-width:320px
}
.contact-intro {
  padding-bottom:60px
}
.contact-layout {
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:8%;
  align-items:start
}
.contact-layout h2 {
  font-size:34px
}
.address {
  display:block;
  font-size:25px;
  line-height:1.45;
  letter-spacing:-.025em;
  margin:25px 0
}
.address>span {
  margin-left:10px
}
.contact-links {
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:16px;
  overflow-wrap:anywhere
}
.contact-links a:hover {
  color:var(--red)
}
.hours {
  margin:35px 0;
  max-width:390px
}
.hours>div {
  display:flex;
  gap:25px;
  justify-content:space-between;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  font-size:14px
}
.hours strong {
  font-weight:500
}
.local-note {
  margin-top:50px;
  max-width:390px
}
.local-note .eyebrow {
  margin-bottom:15px
}
.local-note p {
  font-size:14px
}
.enquiry-card {
  background:var(--soft);
  padding:42px
}
.enquiry-card .eyebrow {
  color:var(--red)
}
.enquiry-card h2 {
  font-size:34px
}
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px
}
label {
  font-size:14px;
  display:block;
  margin-bottom:20px;
  font-weight:550
}
label>span {
  font-size:12px;
  color:var(--muted);
  font-weight:400
}
input,select,textarea {
  display:block;
  width:100%;
  border:1px solid #cccfc2;
  background:#fafaf7;
  border-radius:0;
  padding:13px 12px;
  margin-top:8px;
  color:var(--ink);
  font-size:16px;
  min-width:0
}
textarea {
  resize:vertical;
  line-height:1.5
}
input::placeholder,textarea::placeholder {
  color:#808479;
  font-size:14px
}
.form-note {
  font-size:13px;
  line-height:1.6
}
.enquiry-card button.button {
  width:100%
}
#form-status {
  font-size:14px;
  margin:20px 0 0;
  color:var(--red)
}
#email-fallback {
  margin-top:20px
}
#email-fallback p {
  font-size:14px;
  overflow-wrap:anywhere
}
#email-fallback p a {
  text-decoration:underline
}
.text-button {
  padding:10px 0;
  border:0;
  background:none;
  text-decoration:underline;
  color:var(--red);
  font-size:14px
}
#prepared-enquiry {
  font-size:14px
}
.menu-toggle:focus-visible {
  outline-color:var(--red)
}

@keyframes arrive {
  from {
  opacity:0;
  transform:translateY(16px)
}
to {
  opacity:1;
  transform:translateY(0)
}

}
@keyframes hero-settle {
  from {
  transform:scale(1.045)
}
to {
  transform:scale(1)
}

}

@media(min-width:1600px) {
  .site-header,.section,.page-intro,.complete-space,.cta-band,footer,.topbar,.three-foundations {
  padding-left:max(var(--gutter),calc((100vw - 1440px)/2));
  padding-right:max(var(--gutter),calc((100vw - 1440px)/2))
}
.home-hero {
  height:760px
}
.hero-content {
  padding-left:max(var(--gutter),calc((100vw - 1440px)/2));
  max-width:1400px
}
.hero-bottom {
  left:max(var(--gutter),calc((100vw - 1440px)/2));
  right:max(var(--gutter),calc((100vw - 1440px)/2))
}

}

@media(max-width:1200px) {
  .site-header nav {
  gap:17px;
  font-size:13px
}
.brand>span {
  font-size:18px
}
.brand img {
  width:43px;
  height:47px
}
.brand {
  gap:8px
}
.nav-cta {
  padding:13px
}
.site-header {
  gap:15px
}
.home-products {
  grid-template-columns:repeat(2,1fr)
}
.home-products .card-image {
  height:370px
}
.hero-content h1 {
  font-size:77px
}
.card-image {
  height:300px
}
.lifestyle {
  gap:6%
}
.need-result {
  padding:40px 32px
}
.window-grid {
  grid-template-columns:repeat(2,1fr)
}
.contact-layout {
  gap:5%
}
.enquiry-card {
  padding:30px
}
.footer-grid {
  grid-template-columns:1.2fr 1fr 1fr;
  gap:30px
}
.footer-grid>div:last-child {
  grid-column:2/4
}
.three-foundations>a {
  padding-left:18px;
  padding-right:18px
}
.three-foundations strong {
  font-size:24px
}

}

@media(max-width:1000px) {
  .site-header {
  height:85px
}
.menu-toggle {
  display:flex;
  background:none;
  border:1px solid var(--line);
  padding:10px 15px;
  gap:20px;
  align-items:center;
  font-size:14px
}
.menu-toggle span {
  font-size:19px
}
.site-header nav {
  display:none;
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:var(--paper);
  padding:20px var(--gutter) 30px;
  box-shadow:0 15px 20px #00000015;
  border-bottom:1px solid var(--line);
  font-size:16px;
  max-height:calc(100dvh - 85px);
  overflow:auto
}
.site-header nav.open {
  display:flex;
  align-items:stretch;
  flex-direction:column;
  gap:0
}
.site-header nav>a {
  padding:17px 0;
  border-bottom:1px solid var(--line)
}
.site-header nav>a:not(.nav-cta):after {
  display:none
}
.site-header nav>a.nav-cta {
  padding:16px;
  background:var(--red);
  color:white;
  margin:20px 0 0
}
.hero-content {
  padding-top:83px
}
.hero-content h1 {
  font-size:72px
}
.home-hero {
  min-height:650px
}
.section,.complete-space {
  padding-top:75px;
  padding-bottom:75px
}
.section-heading {
  gap:35px;
  grid-template-columns:1.15fr 1fr
}
.catalog-grid {
  grid-template-columns:repeat(2,1fr)
}
.interior-hero {
  min-height:500px
}
.interior-copy {
  padding-right:30px
}
.interior-copy p {
  font-size:16px
}
.product-detail {
  grid-template-columns:215px 1fr;
  gap:6%
}
.benefit-list {
  grid-template-columns:1fr
}
.feature-card {
  min-height:440px
}
.feature-card>div {
  left:25px;
  right:25px;
  bottom:25px
}
.feature-card h3 {
  font-size:29px
}
.contact-layout {
  grid-template-columns:1fr 1.2fr
}
.form-row {
  grid-template-columns:1fr;
  gap:0
}
.contact-layout h2 {
  font-size:30px
}
.enquiry-card {
  padding:25px
}
.address {
  font-size:22px
}
.split-story {
  gap:6%
}
.three-foundations small {
  font-size:13px
}
.three-foundations>a {
  column-gap:10px
}
.three-foundations strong {
  font-size:22px
}
.cta-band {
  gap:5%;
  grid-template-columns:1.2fr 1fr
}
.cta-band h2 {
  font-size:36px
}
.intro-bottom>span {
  display:none
}

}

@media(max-width:700px) {
  .topbar {
  justify-content:center;
  font-size:10px;
  padding:7px 12px
}
.topbar>a {
  display:none
}
.site-header {
  height:78px
}
.brand>span {
  font-size:18px
}
.brand img {
  width:41px;
  height:44px
}
.brand small {
  font-size:9px;
  letter-spacing:.12em
}
.site-header nav {
  max-height:calc(100dvh - 78px)
}
.home-hero {
  min-height:660px;
  height:auto
}
.hero-image {
  object-position:63% 50%
}
.hero-shade {
  background:linear-gradient(90deg,#10130eaa,#10130e55),linear-gradient(0deg,#10130eaa,transparent 60%)
}
.hero-content {
  padding:70px var(--gutter) 140px;
  max-width:none
}
.hero-content .eyebrow {
  font-size:10px;
  max-width:270px;
  line-height:1.7
}
.hero-content h1 {
  font-size:clamp(46px,11vw,68px);
  line-height:1.11
}
.hero-content h1 em {
  display:block
}
.hero-content p {
  font-size:16px;
  max-width:350px
}
.hero-content p br {
  display:none
}
.hero-actions {
  flex-direction:column;
  align-items:start;
  gap:12px;
  margin-top:26px
}
.button {
  padding:15px 22px;
  gap:28px
}
.hero-bottom {
  bottom:25px;
  align-items:end;
  gap:25px
}
.hero-bottom>span {
  max-width:100px;
  font-size:10px;
  line-height:1.5
}
.hero-bottom a {
  font-size:12px
}
.three-foundations {
  padding:0 var(--gutter);
  grid-template-columns:1fr
}
.three-foundations>a,.three-foundations>a:first-child {
  border-right:0;
  border-bottom:1px solid var(--line);
  min-height:94px;
  padding:20px 0;
  grid-template-columns:30px 1fr 22px;
  gap:2px 12px
}
.three-foundations strong {
  font-size:25px
}
.three-foundations small {
  font-size:14px
}
.section,.complete-space {
  padding:60px var(--gutter)
}
.section-heading {
  grid-template-columns:1fr;
  gap:25px;
  margin-bottom:35px
}
.section-heading>p {
  margin:0
}
.section-heading h2 {
  font-size:38px
}
.eyebrow {
  font-size:11px;
  margin-bottom:20px
}
.product-grid {
  gap:26px 16px
}
.home-products .card-image {
  height:235px
}
.card-meta {
  padding-top:17px
}
.card-meta>span {
  font-size:10px
}
.card-meta h3 {
  font-size:21px
}
.card-meta p {
  font-size:13px;
  line-height:1.6
}
.round-arrow {
  width:34px;
  height:34px;
  right:10px;
  bottom:10px;
  font-size:20px
}
.lifestyle {
  grid-template-columns:1fr;
  gap:35px
}
.lifestyle h2 {
  font-size:39px
}
.need-result {
  padding:38px 28px;
  min-height:380px
}
.need-result h3 {
  font-size:34px
}
.need-result p {
  font-size:16px
}
.need-list {
  margin-top:20px
}
.need-button {
  font-size:15px
}
.feature-grid {
  grid-template-columns:1fr;
  gap:20px
}
.feature-card {
  min-height:440px
}
.feature-card h3 {
  font-size:34px
}
.showroom-teaser {
  grid-template-columns:1fr;
  gap:40px
}
.showroom-type {
  font-size:clamp(56px,16vw,85px);
  padding:28px 0
}
.showroom-teaser h2 {
  font-size:39px
}
.cta-band {
  padding:55px var(--gutter);
  grid-template-columns:1fr;
  gap:30px
}
.cta-band h2 {
  font-size:36px
}
.cta-band p {
  font-size:16px
}
.footer-grid {
  grid-template-columns:1fr 1fr;
  gap:35px 25px
}
.footer-grid>div:first-child {
  grid-column:1/3
}
.footer-grid>div:last-child {
  grid-column:auto
}
.footer-grid>div:first-child p {
  max-width:none;
  margin-bottom:0
}
.footer-grid h3 {
  margin-bottom:18px;
  font-size:11px
}
.footer-grid>div>a:not(.footer-brand),.footer-grid p {
  font-size:14px
}
.footer-grid>div:last-child {
  grid-column:1/3
}
.footer-bottom {
  gap:15px;
  flex-wrap:wrap;
  margin-top:35px
}
.footer-bottom>span:nth-child(2) {
  display:none
}
.footer-bottom a {
  margin-left:auto
}
footer {
  padding:55px var(--gutter) 25px
}
.page-intro {
  padding:55px var(--gutter) 45px
}
.page-intro h1 {
  font-size:clamp(45px,10.5vw,67px)
}
.intro-bottom {
  align-items:start;
  flex-direction:column;
  gap:25px
}
.intro-bottom p br {
  display:none
}
.filter-bar {
  gap:8px;
  margin-bottom:30px
}
.filter-button {
  padding:9px 15px;
  font-size:13px
}
.filter-bar>span {
  width:100%;
  margin-top:12px
}
.catalog-grid {
  gap:28px 16px
}
.catalog-grid .card-image {
  height:235px
}
.catalog-grid .card-meta h3 {
  font-size:22px
}
.collection-section {
  padding-top:28px
}
.interior-hero {
  grid-template-columns:1fr
}
.interior-copy {
  padding:52px var(--gutter)
}
.interior-copy h1 {
  font-size:52px
}
.interior-copy p {
  max-width:100%
}
.interior-image {
  height:350px
}
.interior-image img {
  object-position:center
}
.image-label {
  font-size:10px
}
.breadcrumbs {
  padding-top:19px;
  padding-bottom:19px;
  font-size:13px;
  flex-wrap:wrap
}
.product-detail {
  grid-template-columns:1fr;
  gap:30px
}
.product-detail aside {
  position:static;
  display:flex;
  overflow-x:auto;
  gap:10px;
  align-items:center;
  padding-bottom:12px
}
.product-detail aside>.eyebrow,.aside-help {
  display:none
}
.product-detail aside>a {
  border:1px solid var(--line);
  padding:8px 12px;
  white-space:nowrap;
  font-size:13px
}
.product-detail article h2 {
  font-size:29px
}
.article-lead p:first-child {
  font-size:22px
}
.benefit-list {
  grid-template-columns:1fr
}
.split-story {
  grid-template-columns:1fr;
  gap:35px
}
.split-story>div:first-child {
  position:static
}
.split-story h2 {
  font-size:39px
}
.numbered-list h3 {
  font-size:26px
}
.dark-section h2 {
  font-size:38px
}
.pill-list {
  gap:10px;
  margin-top:30px
}
.pill-list>span {
  padding:10px 16px;
  font-size:13px
}
.window-grid {
  grid-template-columns:1fr;
  gap:30px
}
.window-card h3 {
  min-height:0;
  font-size:30px
}
.window-card p {
  font-size:16px
}
.window-card p.small {
  font-size:14px
}
.compare-section,.bring-section {
  grid-template-columns:1fr;
  gap:30px
}
.compare-section h2,.bring-section h2 {
  font-size:39px
}
.question-list summary {
  font-size:20px;
  gap:15px
}
.question-list details p {
  padding-left:29px
}
.values-grid {
  grid-template-columns:1fr;
  gap:25px;
  margin-top:35px
}
.values-grid h3 {
  font-size:30px
}
.values-grid p {
  max-width:100%
}
.contact-layout {
  grid-template-columns:1fr;
  gap:40px;
  padding-top:45px
}
.contact-layout h2 {
  font-size:35px
}
.contact-layout .address {
  font-size:25px
}
.contact-links {
  font-size:16px
}
.hours,.local-note {
  max-width:100%
}
.enquiry-card {
  padding:30px 22px;
  margin:0 -5px
}
.enquiry-card h2 {
  font-size:32px
}
.form-row {
  grid-template-columns:1fr
}
label {
  font-size:14px
}
.contact-intro h1 {
  font-size:46px
}
.contact-intro p {
  font-size:16px
}
.checklist>div {
  font-size:15px
}

}

@media(max-width:380px) {
  .home-products,.catalog-grid {
  grid-template-columns:1fr
}
.home-products .card-image,.catalog-grid .card-image {
  height:330px
}
.hero-content h1 {
  font-size:43px
}
.brand img {
  display:none
}
.home-hero {
  min-height:650px
}
.footer-grid {
  grid-template-columns:1fr
}
.footer-grid>div {
  grid-column:1!important
}
.hero-content {
  padding-top:55px
}

}

@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
  animation:none!important;
  transition:none!important;
  scroll-behavior:auto!important
}

}

