:root {
  --color-brand: #a85c38;
  --color-primary-strong: #7e4125;
  --color-primary-tint: #e7d0c6;
  --color-primary-inverse: #c26e47;
  --color-on-primary: #ffffff;
  --color-highlight: #3ec168;
  --color-accent-contrast: #2a211d;
  --color-bg: #f7f4f2;
  --color-panel: #ffffff;
  --color-text: #2a211d;
  --color-subtle: #84695c;
  --color-rule: #e4dfdd;
  --color-night: #201713;
  --color-dark-raised: #362b26;
  --color-dark-fg: #f6f4f4;
  --color-inverse-muted: #bab0ab;
  --radius-md: 12px;
  --radius-xl: 24px;
  --radius-btn: 999px;
  --case-btn: none;
  --tracking-btn: 0;
  --font-weight-cta: 600;
  --font-display: 'Merriweather', Georgia, Cambria, serif;
  --font-base: 'Work Sans', system-ui, sans-serif;
  --text-h1: clamp(2rem, 4.5vw, 3.25rem);
  --text-h2: clamp(1.6rem, 3vw, 2.25rem);
  --text-h3: 1.25rem;
  --font-weight-title: 700;
  --tracking-heading: -0.01em;
  --leading-snug: 1.15;
  --case-label: none;
  --tracking-eyebrow: 0;
  --color-tagline: #a85c38;
  --text-body: 1.0625rem;
  --leading-relaxed: 1.6;
  --container-main: 1101px;
  --spacing-section: 5.1rem;
  --shadow-sm: 0 10px 30px rgba(0,0,0,.06);
  --shadow-strong: 0 12px 40px rgba(0,0,0,.14);
}
*,*::before,*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
  margin: 0;
  overflow-wrap: anywhere;
  font-family: var(--font-base);
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
  color: var(--color-text);
  background: var(--color-bg);
}
img,svg,video {
  max-width: 100%;
  height: auto;
  display: block;
}
h1,h2,h3,h4 {
  font-family: var(--font-display);
  font-weight: var(--font-weight-title);
  line-height: var(--leading-snug);
  margin: 0 0 .6em;
  color: var(--color-text);
  letter-spacing: var(--tracking-heading);
  hyphens: manual;
}
h1 {
  font-size: var(--text-h1);
}
h2 {
  font-size: var(--text-h2);
}
h3 {
  font-size: var(--text-h3);
  line-height: 1.3;
}
h4 {
  font-size: 1.05rem;
  line-height: 1.35;
}
p {
  margin: 0 0 1em;
}
a {
  color: var(--color-brand);
  text-decoration: none;
}
@media (min-width:481px){
a[href^="tel:"] {
  white-space: nowrap;
}
}
a:hover {
  color: var(--color-primary-strong);
}
ul,ol {
  margin: 0 0 1em;
  padding-left: 1.25em;
}
button,input,textarea,select {
  font: inherit;
  color: inherit;
}
::selection {
  background: var(--color-primary-tint);
  color: var(--color-text);
}
.mx-circle {
  width: min(100% - 2.5rem,var(--container-main));
  margin-inline: auto;
}
.overflow-20 {
  width: min(100% - 2.5rem,48rem);
}
.pt-half {
  padding-block: var(--spacing-section);
}
.flex-cover {
  background: var(--color-panel);
}
.ring {
  background: var(--color-night);
  color: var(--color-dark-fg);
}
.ring h1,.ring h2,.ring h3,.ring h4 {
  color: inherit;
}
.ring a {
  color: var(--color-primary-inverse);
}
.ring .row-quarter,.ring .space-4 {
  color: var(--color-inverse-muted);
}
.ring .truncate-row {
  color: var(--color-primary-inverse);
}
.p-between {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .8rem 1.5rem;
  border-radius: var(--radius-btn);
  background: var(--color-brand);
  color: var(--color-on-primary);
  font-weight: var(--font-weight-cta);
  text-transform: var(--case-btn);
  letter-spacing: var(--tracking-btn);
  line-height: 1.25;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background .2s,color .2s,border-color .2s,transform .2s;
}
.p-between:hover {
  background: var(--color-primary-strong);
  color: var(--color-on-primary);
}
.p-between:active {
  transform: translateY(1px);
}
.clearfix {
  background: transparent;
  color: var(--color-brand);
  border-color: currentColor;
}
.clearfix:hover {
  background: var(--color-brand);
  color: var(--color-on-primary);
  border-color: var(--color-brand);
}
.ring-row {
  background: var(--color-highlight);
  color: var(--color-accent-contrast);
}
.ring-row:hover {
  background: var(--color-highlight);
  color: var(--color-accent-contrast);
  filter: brightness(.92);
}
.truncate {
  background: var(--color-dark-fg);
  color: var(--color-night);
}
.truncate:hover {
  background: #fff;
  color: var(--color-night);
}
.translate {
  padding: .55rem 1.1rem;
  font-size: .9rem;
}
.skew-3 {
  padding: 1rem 2rem;
  font-size: 1.05rem;
}
.ring .p-between:not(.clearfix):not(.ring-row):not(.truncate) {
  background: var(--color-primary-inverse);
  color: var(--color-night);
}
.ring .p-between:not(.clearfix):not(.ring-row):not(.truncate):hover {
  background: var(--color-dark-fg);
  color: var(--color-night);
}
.ring .clearfix {
  color: var(--color-dark-fg);
  border-color: var(--color-inverse-muted);
}
.ring .clearfix:hover {
  background: var(--color-dark-fg);
  color: var(--color-night);
  border-color: var(--color-dark-fg);
}
.order-lg {
  display: grid;
  gap: 1.5rem;
}
.leading-8 {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,18rem),1fr));
}
.mr {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr));
}
.pb-bold {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr));
}
.overflow-bold {
  grid-template-columns: repeat(2,1fr);
}
.self {
  grid-template-columns: repeat(3,1fr);
}
.ml-y {
  grid-template-columns: repeat(4,1fr);
}
@media (max-width:960px){
.ml-y {
  grid-template-columns: repeat(2,1fr);
}
.self {
  grid-template-columns: repeat(2,1fr);
}
}
@media (max-width:560px){
.overflow-bold,.self,.ml-y {
  grid-template-columns: 1fr;
}
}
.list-cover {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.list-cover>* {
  min-width: 0;
}
.list-cover.overflow-bold>* {
  flex: 0 0 calc((100% - 1.5rem)/2);
}
.list-cover.self>* {
  flex: 0 0 calc((100% - 3rem)/3);
}
.list-cover.ml-y>* {
  flex: 0 0 calc((100% - 4.5rem)/4);
}
@media (max-width:960px){
.list-cover.self>*,.list-cover.ml-y>* {
  flex-basis: calc((100% - 1.5rem)/2);
}
}
@media (max-width:560px){
.list-cover.overflow-bold>*,.list-cover.self>*,.list-cover.ml-y>* {
  flex-basis: 100%;
}
}
.row-quarter {
  font-size: 1.15rem;
  color: var(--color-subtle);
}
.truncate-row {
  display: inline-block;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: var(--case-label);
  color: var(--color-tagline);
  margin-bottom: .75rem;
}
.space-4 {
  color: var(--color-subtle);
}
.fixed-4 {
  text-align: center;
}
.basis-gray-900 {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}
@media (max-width:640px){
.pt-half {
  padding-block: calc(var(--spacing-section) * .7);
}
}
.bg-3 {
  background: var(--color-bg);
  border-bottom: 1px solid var(--color-rule);
}
.rounded-fit {
  background: var(--color-brand);
  color: var(--color-on-primary);
  font-size: .85rem;
}
.p-4 {
  min-width: 0;
  max-width: 100%;
  text-align: center;
}
.shadow-min {
  display: flex;
  justify-content: center;
  gap: 2rem;
  padding: .4rem 0;
}
.ml {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 0;
}
.inset-6 {
  display: inline-flex;
  min-width: 0;
  max-width: 100%;
}
.basis-0 {
  height: auto;
  width: auto;
  max-height: 2.5rem;
}
.m {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.flex {
  color: var(--color-text);
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: .85rem;
}
.flex:hover,.divide-dark {
  color: var(--color-brand);
}
.truncate-0 {
  display: none;
}
.truncate-0:focus-visible + .overflow-start {
  outline: 2px solid var(--color-brand);
  outline-offset: 4px;
}
.overflow-start {
  display: none;
  flex: none;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  white-space: nowrap;
  line-height: 1.2;
  padding: .4rem 1rem;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-md);
  cursor: pointer;
  font-size: .9rem;
}
@media (max-width:860px){
.truncate-0 {
  display: block;
}
.ml {
  gap: .75rem;
}
.overflow-start {
  display: inline-flex;
}
.pt-col {
  display: none;
  width: 100%;
}
.truncate-0:checked ~ .pt-col {
  display: block;
}
.m {
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  padding-bottom: .5rem;
}
.shadow-min {
  flex-direction: column;
  align-items: center;
  gap: .25rem;
}
}
.object-contain {
  padding-block: var(--spacing-section) 1.5rem;
  background: var(--color-night);
  color: var(--color-dark-fg);
  overflow-wrap: anywhere;
}
.fixed-auto {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.7fr);
  gap: 3rem 5rem;
}
.transition-top {
  min-width: 0;
  max-width: 30rem;
}
.grid-md {
  display: block;
  font-family: var(--font-display);
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: var(--font-weight-title);
  margin-bottom: 1.4rem;
}
.mt-20 {
  color: var(--color-inverse-muted);
  font-size: .95rem;
  margin-bottom: 2rem;
}
.shadow-muted {
  font-family: var(--font-base);
  font-size: .8rem;
  color: var(--color-inverse-muted);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: var(--case-label);
  font-weight: 600;
  margin-bottom: 1rem;
}
.items-fit {
  font-style: normal;
  color: var(--color-dark-fg);
  font-size: .9rem;
  line-height: 1.8;
}
.basis-quarter {
  min-width: 0;
}
.fixed-fit {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--color-inverse-muted);
}
.truncate-4 {
  border-bottom: 1px solid var(--color-inverse-muted);
}
.ring-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: var(--color-dark-fg);
  padding: .85rem 0;
  font-family: var(--font-display);
  font-size: clamp(1.3rem,3.4vw,2.4rem);
  line-height: 1.15;
}
.ring-bottom:hover {
  color: var(--color-primary-inverse);
}
.origin-3 {
  font-family: var(--font-base);
  font-size: 1.3rem;
  flex: none;
}
.m-dark {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.2rem 2rem;
  border-top: 1px solid var(--color-inverse-muted);
  padding-top: 1.3rem;
}
.sticky {
  font-size: .8rem;
  max-width: 36rem;
  color: var(--color-inverse-muted);
}
.ml-quarter {
  max-width: 100%;
  min-width: 0;
}
.ml-row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.max-w {
  min-width: 0;
}
.gap-center {
  color: var(--color-inverse-muted);
  font-size: .8rem;
  text-decoration: underline;
  text-underline-offset: .25em;
}
.gap-center:hover {
  color: var(--color-dark-fg);
}
@media (max-width:760px){
.fixed-auto {
  grid-template-columns: 1fr;
  gap: 2rem;
}
.transition-top {
  max-width: none;
}
.m-dark {
  gap: 1rem;
}
.ring-bottom {
  font-size: 1.5rem;
}
}
.sticky-16 {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 50;
  padding: 1rem 0;
  box-shadow: var(--shadow-sm);
}
.align {
  bottom: 0;
}
.place-xs {
  background: var(--color-night);
  color: var(--color-dark-fg);
}
.grow {
  background: var(--color-panel);
  color: var(--color-text);
  border-top: 1px solid var(--color-rule);
}
.sticky-16[hidden] {
  display: none;
}
.space-full {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.h-10 {
  margin: 0;
  font-size: .95rem;
}
.relative-20 {
  color: inherit;
  text-decoration: underline;
  margin-left: .35rem;
}
.pt-lg {
  display: flex;
  gap: .75rem;
  flex-shrink: 0;
}
.place-xs .clearfix-bold {
  border-color: var(--color-bg);
}
.place-xs .clearfix-bold:not(.clearfix) {
  background: var(--color-primary-inverse);
  color: var(--color-night);
  border-color: transparent;
}
.place-xs .clearfix.clearfix-bold {
  color: var(--color-bg);
}
@media (max-width:720px){
.sticky-16 {
  padding: .7rem 0;
}
.space-full {
  flex-direction: column;
  align-items: stretch;
  gap: .6rem;
}
.h-10 {
  font-size: .84rem;
  line-height: 1.4;
}
.pt-lg {
  justify-content: flex-end;
}
}
.h-sm {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.6fr);
  gap: 2.5rem;
  align-items: start;
}
.sticky-dark .h-sm {
  grid-template-columns: minmax(0,1fr);
  max-width: 48rem;
}
.order-half {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.skew-2 {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1rem;
  min-width: 0;
}
.overflow-normal {
  display: grid;
  gap: .35rem;
  min-width: 0;
}
.cursor {
  grid-column: 1/-1;
}
.fixed-half {
  font-size: .9rem;
  font-weight: 600;
}
.translate-sm {
  width: 100%;
  min-width: 0;
  padding: .7rem .9rem;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-bg);
}
.translate-sm:focus {
  outline: 2px solid var(--color-brand);
  outline-offset: 1px;
}
.h-col {
  resize: vertical;
}
.container-col {
  justify-self: start;
  max-width: 100%;
  overflow-wrap: anywhere;
}
@media (max-width:860px){
.h-sm {
  grid-template-columns: minmax(0,1fr);
}
}