@charset "utf-8";

@layer properties {
  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
  *, ::before, ::after, ::backdrop { --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; }
}
}

@layer theme {
  :root, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --spacing: .25rem; --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }
}

@layer base {
  *, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }
  hr { height: 0px; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }
  small { font-size: 80%; }
  sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }
  sub { bottom: -0.25em; }
  sup { top: -0.5em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  progress { vertical-align: baseline; }
  summary { display: list-item; }
  ol, ul, menu { list-style: none; }
  img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }
  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }
  ::file-selector-button { margin-inline-end: 4px; }
  ::placeholder { opacity: 1; }
  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
  ::placeholder { color: currentcolor; }
  @supports (color:color-mix(in lab, red, red)) {
  ::placeholder { color: color-mix(currentcolor, transparent); }
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-datetime-edit { display: inline-flex; }
  ::-webkit-datetime-edit-fields-wrapper { padding: 0px; }
  ::-webkit-datetime-edit { padding-block: 0px; }
  ::-webkit-datetime-edit-year-field { padding-block: 0px; }
  ::-webkit-datetime-edit-month-field { padding-block: 0px; }
  ::-webkit-datetime-edit-day-field { padding-block: 0px; }
  ::-webkit-datetime-edit-hour-field { padding-block: 0px; }
  ::-webkit-datetime-edit-minute-field { padding-block: 0px; }
  ::-webkit-datetime-edit-second-field { padding-block: 0px; }
  ::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }
  ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }
  ::file-selector-button { appearance: button; }
  ::-webkit-inner-spin-button { height: auto; }
  ::-webkit-outer-spin-button { height: auto; }
  [hidden]:where(:not([hidden="until-found"])) { display: none !important; }
}

@layer components;

@layer utilities {
  .visible { visibility: visible; }
  .relative { position: relative; }
  .start { inset-inline-start: var(--spacing); }
  .block { display: block; }
  .table { display: table; }
  .transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }
  .antialiased { -webkit-font-smoothing: antialiased; }
}

:root { --ink: #26372f; --cream: #f5f0e7; --paper: #fbf9f4; --rust: #a74328; --line: #d8d1c4; }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body { background: var(--paper); color: var(--ink); margin: 0px; font-family: Arial, sans-serif; }

a { color: inherit; text-decoration: none; }

.notice { background: var(--ink); color: rgb(238, 230, 215); text-align: center; letter-spacing: 0.24em; height: 28px; padding: 9px; font-size: 9px; }

nav { border-bottom: 1px solid rgb(222, 216, 204); justify-content: space-between; align-items: center; height: 90px; padding: 0px 5.5vw; display: flex; }

.brand { letter-spacing: 0.05em; align-items: center; font-size: 18px; font-weight: 800; display: flex; }

.brand svg { width: 26px; height: 34px; color: var(--rust); margin-right: 10px; }

.brand em { color: var(--rust); font-style: normal; }

.brand small { letter-spacing: 0.24em; margin-top: 3px; font-size: 6px; display: block; }

.links { letter-spacing: 0.13em; gap: 32px; font-size: 10px; font-weight: 700; display: flex; }

.navCta, .button { letter-spacing: 0.14em; justify-content: space-between; align-items: center; gap: 35px; font-size: 10px; font-weight: 700; display: inline-flex; }

.navCta { border: 1px solid var(--ink); padding: 13px 17px; }

.hero { background: var(--cream); grid-template-columns: 48% 52%; min-height: 680px; display: grid; }

.heroCopy { align-self: center; padding: 85px 7vw 70px 8vw; }

.eyebrow { letter-spacing: 0.25em; color: var(--rust); margin: 0px 0px 22px; font-size: 9px; font-weight: 700; }

.hero h1, h2 { letter-spacing: -0.045em; margin: 0px; font-family: Georgia, serif; font-weight: 400; line-height: 0.92; }

.hero h1 { font-size: clamp(60px, 7vw, 104px); }

h1 i, h2 i { color: var(--rust); font-weight: 400; }

.intro { color: rgb(82, 97, 89); max-width: 510px; margin: 30px 0px; font-family: Georgia, serif; font-size: 17px; line-height: 1.65; }

.actions { align-items: center; gap: 30px; display: flex; }

.button { padding: 18px 22px; }

.warm { background: var(--rust); color: rgb(255, 255, 255); }

.textLink { letter-spacing: 0.15em; border-bottom: 1px solid rgb(153, 153, 153); padding-bottom: 5px; font-size: 9px; font-weight: 700; }

.heroVisual { background: linear-gradient(125deg, rgb(116, 120, 111), rgb(53, 66, 58) 65%, rgb(38, 51, 45)); position: relative; overflow: hidden; }

.art { gap: 18px; display: flex; position: absolute; top: 14%; left: 12%; }

.art span { background: rgb(217, 211, 200); border: 8px solid rgb(179, 175, 163); width: 70px; height: 95px; box-shadow: rgb(31, 41, 37) 0px 8px 22px; }

.art span:last-child { background: rgb(143, 151, 140); height: 70px; margin-top: 25px; }

.stove { background: rgb(23, 29, 26); width: 210px; height: 290px; position: absolute; bottom: 17%; left: 47%; transform: translate(-50%); box-shadow: rgb(16, 23, 19) 0px 25px 50px; }

.stove::before { content: ""; background: rgb(27, 33, 30); width: 70px; height: 155px; position: absolute; top: -155px; left: 70px; }

.door { background: radial-gradient(circle at 50% 76%, rgb(216, 109, 37), rgb(86, 36, 23) 35%, rgb(17, 23, 20) 70%); border: 6px solid rgb(50, 59, 54); position: absolute; inset: 24px 18px 46px; overflow: hidden; }

.fire { align-items: flex-end; display: flex; position: absolute; bottom: 25px; left: 50%; transform: translate(-50%); }

.fire i { background: linear-gradient(rgb(248, 212, 106), rgb(238, 107, 31)); border-radius: 70% 30% 60% 40%; width: 34px; height: 80px; transform: rotate(-12deg); }

.fire i:nth-child(2) { height: 110px; transform: rotate(8deg); }

.fire i:nth-child(3) { height: 68px; transform: rotate(18deg); }

.stove > b { background: rgb(21, 27, 24); width: 13px; height: 40px; position: absolute; bottom: -40px; }

.stove > b:first-of-type { left: 25px; }

.stove > b:last-child { right: 25px; }

.trust { color: rgb(255, 255, 255); align-items: center; gap: 14px; display: flex; position: absolute; bottom: 6%; right: 5%; }

.trust strong { font-family: Georgia, serif; font-size: 42px; }

.trust span { letter-spacing: 0.18em; font-size: 8px; line-height: 1.6; }

.promise { background: var(--rust); color: rgb(255, 255, 255); justify-content: center; align-items: center; gap: 28px; height: 78px; display: flex; }

.promise p { font-family: Georgia, serif; font-size: 18px; font-style: italic; }

.collection { padding: 110px 6vw; }

.collection header { justify-content: space-between; align-items: end; max-width: 1180px; margin: 0px auto 55px; display: flex; }

.collection h2, .service h2, .about h2, .contact h2 { font-size: clamp(48px, 5.5vw, 78px); }

.collection header > p { color: rgb(102, 112, 105); max-width: 400px; font-family: Georgia, serif; line-height: 1.7; }

.cards { border: 1px solid var(--line); grid-template-columns: repeat(3, 1fr); max-width: 1180px; margin: auto; display: grid; }

.card { border-right: 1px solid var(--line); background: rgb(247, 243, 235); }

.scene { background: linear-gradient(120deg, rgb(184, 172, 153), rgb(222, 211, 193)); height: 270px; position: relative; overflow: hidden; }

.c1 .scene { background: linear-gradient(135deg, rgb(199, 193, 180), rgb(113, 120, 113)); }

.c2 .scene { background: linear-gradient(90deg, rgb(164, 153, 136), rgb(215, 204, 187)); }

.fireplace { border-width: 22px 22px 0px; border-style: solid solid none; border-color: rgb(237, 232, 221) rgb(237, 232, 221) currentcolor; border-image: initial; width: 190px; height: 160px; position: absolute; bottom: 0px; left: 50%; transform: translate(-50%); box-shadow: rgb(166, 157, 142) 0px 0px 0px 7px; }

.c1 .fireplace { border-color: rgb(41, 51, 46); width: 145px; height: 160px; bottom: 35px; }

.c2 .fireplace { border-width: 10px; width: 230px; height: 120px; bottom: 50px; }

.fireplace span { background: radial-gradient(at center bottom, rgb(249, 189, 79), rgb(189, 72, 37) 24%, rgb(38, 39, 34) 60%); position: absolute; inset: 15px 10px 0px; }

.cardCopy { padding: 30px; }

.cardCopy > span { color: var(--rust); font-size: 8px; }

.card h3 { margin: 12px 0px 8px; font: 400 30px Georgia; }

.card p { color: rgb(104, 114, 108); font-size: 12px; }

.card a { letter-spacing: 0.16em; border-top: 1px solid var(--line); justify-content: space-between; margin-top: 25px; padding-top: 16px; font-size: 9px; font-weight: 700; display: flex; }

.service { background: var(--ink); color: rgb(238, 233, 223); grid-template-columns: 55% 45%; display: grid; }

.serviceCopy { padding: 100px 9vw; }

.service .eyebrow { color: rgb(222, 167, 98); }

.serviceCopy > p:not(.eyebrow) { color: rgb(186, 193, 187); max-width: 510px; font-family: Georgia, serif; line-height: 1.7; }

.service ul { padding: 25px 0px; list-style: none; }

.service li { letter-spacing: 0.14em; border-bottom: 1px solid rgb(83, 97, 89); padding: 16px 0px; font-size: 11px; }

.service li b { color: rgb(210, 162, 89); margin-right: 25px; }

.servicePanel { text-align: center; background: radial-gradient(circle, rgb(182, 91, 49), rgb(121, 49, 31) 50%, rgb(73, 37, 29)); flex-direction: column; justify-content: center; align-items: center; min-height: 560px; display: flex; }

.servicePanel > div { color: rgb(237, 189, 112); font-size: 80px; }

.servicePanel p { font: italic 30px Georgia; }

.servicePanel span { letter-spacing: 0.24em; font-size: 8px; }

.about { grid-template-columns: 30% 70%; padding: 110px 9vw; display: grid; }

.about > div { grid-template-columns: 1.25fr 1fr; gap: 70px; display: grid; }

.about > div > p { color: rgb(99, 112, 105); font-family: Georgia, serif; line-height: 1.8; }

.contact { background: var(--rust); color: rgb(255, 255, 255); grid-template-columns: 1.2fr 0.8fr; align-items: end; padding: 95px 9vw; display: grid; }

.contact .eyebrow, .contact h2 i { color: rgb(241, 201, 138); }

.contact > div:last-child > p { font-family: Georgia, serif; line-height: 1.7; }

.light { color: var(--ink); background: rgb(247, 241, 231); margin: 15px 0px; }

.small { opacity: 0.75; font-size: 10px !important; }

footer { color: rgb(233, 228, 217); letter-spacing: 0.15em; background: rgb(25, 38, 31); justify-content: space-between; align-items: center; padding: 45px 6vw; font-size: 8px; display: flex; }

footer > div { gap: 22px; display: flex; }

@media (width <= 850px) {
  nav { height: 76px; padding: 0px 20px; }
  .links { display: none; }
  .navCta { gap: 8px; padding: 10px; }
  .hero { grid-template-columns: 1fr; }
  .heroCopy { padding: 65px 25px; }
  .heroVisual { height: 520px; }
  .collection header, .about, .contact { display: block; }
  .collection header > p { margin-top: 30px; }
  .cards { grid-template-columns: 1fr; }
  .card { border-right: 0px; border-bottom: 1px solid var(--line); }
  .service { grid-template-columns: 1fr; }
  .serviceCopy { padding: 75px 30px; }
  .about { padding: 80px 30px; }
  .about > div { display: block; }
  .contact { padding: 75px 30px; }
  .contact > div:last-child { margin-top: 35px; }
  footer { flex-direction: column; gap: 30px; }
  .promise p { text-align: center; font-size: 14px; }
  .collection { padding: 80px 20px; }
}

.brand { align-items: center; display: flex; }

.brand img { object-fit: contain; background: rgb(11, 13, 14); width: 190px; height: 70px; display: block; }

.brand svg, .brand > span { display: none; }

@media (width <= 850px) {
  .brand img { width: 135px; height: 62px; }
}

.brand img { width: 260px; height: 88px; }

nav { height: 110px; }

@media (width <= 850px) {
  nav { height: 84px; }
  .brand img { width: 175px; height: 72px; }
}

.card .scene > img { object-fit: cover; width: 100%; height: 100%; }

.insetGallery { background: rgb(233, 226, 214); padding: 110px 6vw; }

.insetGallery header { justify-content: space-between; align-items: end; max-width: 1180px; margin: 0px auto 50px; display: flex; }

.insetGallery h2 { font-size: clamp(48px, 5.5vw, 78px); }

.insetGallery header > p { color: rgb(93, 103, 95); max-width: 440px; font: 16px / 1.7 Georgia; }

.insetGrid { grid-template-columns: 1.5fr 1fr 1fr; gap: 18px; max-width: 1180px; margin: 0px auto 35px; display: grid; }

.insetGrid figure { background: var(--paper); flex-direction: column; margin: 0px; display: flex; }

.insetGrid img { object-fit: contain; background: rgb(247, 244, 238); width: 100%; height: 420px; }

.insetGrid .room img { object-fit: cover; }

.insetGrid figcaption { border-top: 1px solid var(--line); justify-content: space-between; align-items: center; padding: 18px 20px; display: flex; }

.insetGrid figcaption span { letter-spacing: 0.18em; color: var(--rust); font-size: 8px; }

.insetGrid figcaption strong { font: 400 15px Georgia; }

.insetGallery > .button { margin-left: max(0px, 50% - 590px); }

@media (width <= 850px) {
  .insetGallery { padding: 75px 20px; }
  .insetGallery header { display: block; }
  .insetGallery header > p { margin-top: 25px; }
  .insetGrid { grid-template-columns: 1fr; }
  .insetGrid img { height: 360px; }
  .insetGrid .room img { height: 420px; }
}

@property --tw-rotate-x { syntax: "*"; inherits: false; }

@property --tw-rotate-y { syntax: "*"; inherits: false; }

@property --tw-rotate-z { syntax: "*"; inherits: false; }

@property --tw-skew-x { syntax: "*"; inherits: false; }

@property --tw-skew-y { syntax: "*"; inherits: false; }

.c0 .scene > img { object-fit: contain; background: rgb(185, 207, 173); }

.productSection { background: var(--paper); padding: 110px 6vw; }

.productIntro { justify-content: space-between; align-items: end; max-width: 1180px; margin: 0px auto 48px; display: flex; }

.productIntro h2 { font-size: clamp(52px, 6vw, 84px); }

.price { flex-direction: column; align-items: flex-end; display: flex; }

.price span, .price small { letter-spacing: 0.2em; font-size: 8px; }

.price strong { color: var(--rust); font: 400 clamp(44px, 5vw, 70px) / 1.1 Georgia; }

.price small { color: rgb(104, 114, 108); }

.productLayout { border: 1px solid var(--line); grid-template-columns: 1.05fr 0.95fr; max-width: 1180px; margin: auto; display: grid; }

.productImage { background: rgb(185, 207, 173); align-items: center; min-height: 650px; display: flex; }

.productImage img { width: 100%; height: auto; display: block; }

.productCopy { padding: 55px; }

.productCopy .lead { color: rgb(83, 97, 89); margin-top: 0px; font: 18px / 1.7 Georgia; }

.specs { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); grid-template-columns: repeat(4, 1fr); margin: 30px 0px; display: grid; }

.specs div { border-right: 1px solid var(--line); padding: 18px 8px; }

.specs div:last-child { border: 0px; }

.specs span { letter-spacing: 0.16em; color: var(--rust); font-size: 7px; display: block; }

.specs strong { margin-top: 7px; font: 400 20px Georgia; display: block; }

.productCopy h3, .dimensions h3 { font: 400 28px Georgia; }

.productCopy ul { margin: 0px 0px 30px; padding: 0px; list-style: none; }

.productCopy li { border-bottom: 1px solid rgb(227, 221, 211); padding: 9px 0px 9px 22px; font-size: 12px; position: relative; }

.productCopy li::before { content: "✓"; color: var(--rust); position: absolute; left: 0px; }

.dimensions { background: rgb(238, 232, 222); grid-template-columns: 0.75fr 1.25fr; align-items: center; max-width: 1180px; margin: 28px auto 0px; display: grid; }

.dimensions > div { padding: 50px; }

.dimensions > div > p:last-child { color: rgb(102, 112, 105); font: 15px / 1.7 Georgia; }

.dimensions img { object-fit: contain; background: rgb(255, 255, 255); width: 100%; height: 430px; }

@media (width <= 850px) {
  .productSection { padding: 75px 20px; }
  .productIntro { display: block; }
  .price { align-items: flex-start; margin-top: 30px; }
  .productLayout, .dimensions { grid-template-columns: 1fr; }
  .productImage { min-height: 0px; }
  .productCopy { padding: 35px 25px; }
  .specs { grid-template-columns: repeat(2, 1fr); }
  .specs div:nth-child(2) { border-right: 0px; }
  .dimensions > div { padding: 35px 25px; }
  .dimensions img { height: auto; }
}

.modernProduct { background: rgb(237, 240, 236); }

.modernProduct .productImage { background: rgb(213, 221, 215); }

.modernProduct .productImage img { object-fit: contain; max-height: 680px; }

.poa strong { white-space: nowrap; font-size: clamp(30px, 3.7vw, 52px); }

@media (width <= 850px) {
  .poa strong { white-space: normal; }
}

.c3 .scene { background: linear-gradient(150deg, rgb(216, 197, 166), rgb(155, 113, 71)); }

.c4 .scene { background: linear-gradient(145deg, rgb(217, 210, 197), rgb(140, 137, 129)); }

.c5 .scene { background: linear-gradient(145deg, rgb(229, 223, 211), rgb(185, 171, 150)); }

.accessoryVisual { place-items: center; display: grid; position: absolute; inset: 0px; }

.c3 .accessoryVisual span { background: linear-gradient(rgb(127, 87, 51), rgb(167, 121, 76)); border-radius: 3px; width: 82%; height: 54px; box-shadow: rgba(96, 67, 41, 0.4) 0px 16px 25px; }

.c4 .accessoryVisual span { background: linear-gradient(135deg, rgb(81, 79, 74), rgb(157, 151, 140)); width: 76%; height: 145px; transform: perspective(400px) rotateX(62deg); box-shadow: rgba(55, 53, 47, 0.467) 0px 35px 35px; }

.c5 .accessoryVisual span { background: linear-gradient(90deg, rgb(57, 57, 52), rgb(112, 111, 101)); border-width: 20px 20px 28px; border-style: solid; border-color: rgb(222, 215, 202); border-image: initial; width: 62%; height: 190px; box-shadow: rgba(92, 85, 74, 0.4) 0px 14px 28px; }

@media (width >= 851px) {
  .c3, .c4, .c5 { border-top: 1px solid var(--line); }
}

.photoProduct .productImage { background: rgb(45, 51, 47); overflow: hidden; }

.photoProduct .productImage img { object-fit: cover; width: 100%; height: 100%; min-height: 650px; }

.photoProduct + .photoProduct { border-top: 1px solid var(--line); }

@media (width <= 850px) {
  .photoProduct .productImage img { min-height: 380px; }
}

.finishGallery { background: var(--line); grid-template-columns: 1fr 1fr; align-content: stretch; gap: 1px; min-height: 650px; display: grid; }

.finishGallery figure { background: rgb(236, 233, 226); flex-direction: column; margin: 0px; display: flex; position: relative; }

.finishGallery figure:first-child { grid-column: 1 / -1; }

.finishGallery img { object-fit: contain; width: 100%; height: 275px; }

.finishGallery figure:first-child img { height: 340px; }

.finishGallery figcaption { color: rgb(255, 255, 255); letter-spacing: 0.12em; background: rgb(38, 55, 47); padding: 12px 15px; font-size: 8px; }

.classicFinishes .price small { text-align: right; max-width: 280px; line-height: 1.5; }

@media (width <= 850px) {
  .finishGallery { min-height: 0px; }
  .finishGallery img, .finishGallery figure:first-child img { height: 250px; }
  .classicFinishes .price small { text-align: left; }
}

.c6 .scene { background: linear-gradient(145deg, rgb(78, 88, 81), rgb(31, 43, 37)); }

.c6 .accessoryVisual span { background: rgb(21, 27, 24); border: 13px solid rgb(50, 59, 54); width: 150px; height: 190px; position: relative; box-shadow: rgba(16, 21, 18, 0.6) 0px 18px 32px; }

.c6 .accessoryVisual span::before { content: ""; background: radial-gradient(at center bottom, rgb(255, 210, 120), rgb(219, 108, 44) 25%, rgb(48, 27, 22) 67%); position: absolute; inset: 14px; }

.c6 .accessoryVisual span::after { content: ""; background: rgb(21, 27, 24); width: 65px; height: 30px; position: absolute; bottom: -42px; left: 30px; box-shadow: rgb(17, 17, 17) 0px 12px 0px -8px; }

.c6 { border-top: 1px solid var(--line); }

.beamSection { color: rgb(242, 237, 227); background: rgb(42, 55, 48); padding: 110px 6vw; }

.beamSection header { justify-content: space-between; align-items: end; max-width: 1180px; margin: 0px auto 50px; display: flex; }

.beamSection h2 { font-size: clamp(50px, 5.5vw, 78px); }

.beamSection h2 i { color: rgb(221, 168, 94); }

.beamSection header > p { color: rgb(194, 201, 194); max-width: 440px; font: 16px / 1.7 Georgia; }

.beamGrid { grid-template-columns: repeat(6, 1fr); gap: 16px; max-width: 1180px; margin: auto; display: grid; }

.beamGrid figure { color: rgb(38, 55, 47); background: rgb(247, 243, 235); flex-direction: column; grid-column: span 2; margin: 0px; display: flex; }

.beamGrid figure.rustic { grid-column: span 3; }

.beamGrid img { object-fit: contain; background: rgb(255, 255, 255); width: 100%; height: 255px; }

.beamGrid figcaption { border-top: 1px solid rgb(216, 209, 196); justify-content: space-between; align-items: center; padding: 18px 20px; display: flex; }

.beamGrid figcaption span { letter-spacing: 0.15em; color: rgb(167, 67, 40); margin-bottom: 7px; font-size: 7px; display: block; }

.beamGrid figcaption strong { font: 400 20px Georgia; }

.beamGrid figcaption a { letter-spacing: 0.13em; gap: 12px; font-size: 8px; font-weight: 700; display: flex; }

@media (width <= 850px) {
  .beamSection { padding: 75px 20px; }
  .beamSection header { display: block; }
  .beamSection header > p { margin-top: 25px; }
  .beamGrid { grid-template-columns: 1fr; }
  .beamGrid figure, .beamGrid figure.rustic { grid-column: 1; }
  .beamGrid img { height: 230px; }
}

.beamPrice { color: rgb(167, 67, 40); margin-top: 7px; font-size: 10px; font-weight: 700; display: block; }

.chamberSection { background: rgb(238, 232, 222); padding: 110px 6vw; }

.chamberSection header { justify-content: space-between; align-items: end; max-width: 1180px; margin: 0px auto 50px; display: flex; }

.chamberSection h2 { font-size: clamp(50px, 5.5vw, 78px); }

.chamberSection header > p { color: rgb(94, 105, 98); max-width: 440px; font: 16px / 1.7 Georgia; }

.chamberGrid { grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1180px; margin: auto; display: grid; }

.chamberGrid figure { background: rgb(251, 249, 244); border: 1px solid rgb(216, 209, 196); flex-direction: column; margin: 0px; display: flex; }

.chamberGrid img { object-fit: contain; background: rgb(255, 255, 255); width: 100%; height: 330px; }

.chamberGrid figcaption { border-top: 1px solid rgb(216, 209, 196); justify-content: space-between; align-items: center; min-height: 88px; padding: 18px 20px; display: flex; }

.chamberGrid figcaption span { letter-spacing: 0.14em; color: rgb(167, 67, 40); margin-bottom: 7px; font-size: 7px; display: block; }

.chamberGrid figcaption strong { font: 400 19px Georgia; display: block; }

.chamberPrice { color: rgb(167, 67, 40); margin-top: 7px; font: 700 16px Arial; display: block; }

.chamberGrid figcaption a { letter-spacing: 0.13em; gap: 10px; font-size: 8px; font-weight: 700; display: flex; }

.chamberNote { color: rgb(104, 114, 108); max-width: 1180px; margin: 25px auto 0px; font: italic 14px Georgia; }

@media (width <= 900px) {
  .chamberGrid { grid-template-columns: repeat(2, 1fr); }
}

@media (width <= 600px) {
  .chamberSection { padding: 75px 20px; }
  .chamberSection header { display: block; }
  .chamberSection header > p { margin-top: 25px; }
  .chamberGrid { grid-template-columns: 1fr; }
  .chamberGrid img { height: 300px; }
}

.woodfordProduct, .lovellProduct { border-top: 1px solid var(--line); }

.woodfordProduct .productImage, .lovellProduct .productImage { background: rgb(238, 232, 222); justify-content: center; }

.woodfordProduct .productImage img, .lovellProduct .productImage img { object-fit: contain; width: 100%; height: 650px; }

.woodfordProduct .price.poa strong, .lovellProduct .price.poa strong { font-size: clamp(32px, 4vw, 56px); }

.woodfordMeasurements { grid-template-columns: repeat(2, 1fr); margin-top: -31px; }

.woodfordMeasurements div:last-child { border-right: 0px; }

.lovellExtraSpecs, .conistonExtraSpecs { grid-template-columns: repeat(3, 1fr); margin-top: -31px; }

.conistonExtraSpecs strong { font-size: 17px; }

.conistonProduct .productImage { padding: 25px; }

@media (width <= 850px) {
  .woodfordProduct .productImage img, .lovellProduct .productImage img { height: 420px; }
  .lovellExtraSpecs, .conistonExtraSpecs { grid-template-columns: repeat(2, 1fr); }
}

.heroVisual > .heroImage { object-fit: cover; object-position: center center; width: 100%; height: 100%; position: absolute; inset: 0px; }

.heroVisual .trust { background: rgba(25, 38, 31, 0.78); padding: 15px 20px; }

.collapsibleCategory:not(.is-open):not(:target) { display: none; }

.collapsibleCategory { position: relative; }

.categoryClose { color: inherit; letter-spacing: 0.13em; cursor: pointer; z-index: 2; background: 0px 0px; border: 1px solid; padding: 10px 14px; font-size: 9px; font-weight: 700; position: absolute; top: 30px; right: 6vw; }

.card[data-toggle-category] { cursor: pointer; position: relative; }

.card[data-toggle-category] .cardCopy > a::after { content: ""; z-index: 1; position: absolute; inset: 0px; }

.card[data-toggle-category][aria-expanded="true"] .cardCopy > a { color: var(--rust); }

.hearthSection, .gasStoveSection { background: rgb(244, 239, 230); padding: 110px 6vw; }

.gasStoveSection { color: rgb(242, 237, 227); background: rgb(37, 51, 44); }

.hearthSection header, .gasStoveSection header { justify-content: space-between; align-items: end; max-width: 1180px; margin: 0px auto; display: flex; }

.hearthSection h2, .gasStoveSection h2 { font-size: clamp(50px, 5.5vw, 78px); }

.hearthSection header > div:last-child, .gasStoveSection header > div:last-child { max-width: 450px; }

.hearthSection header > div:last-child > p, .gasStoveSection header > div:last-child > p { margin: 0px 0px 24px; font: 16px / 1.7 Georgia; }

.gasStoveSection header > div:last-child > p { color: rgb(194, 201, 194); }

@media (width <= 850px) {
  .categoryClose { top: 20px; right: 20px; }
  .hearthSection, .gasStoveSection { padding: 85px 20px 70px; }
  .hearthSection header, .gasStoveSection header { display: block; }
  .hearthSection header > div:last-child, .gasStoveSection header > div:last-child { margin-top: 28px; }
}