@import url("https://fonts.googleapis.com/css2?family=Marcellus&display=swap");
body,
button,
input,
select,
textarea,
h1,
h2,
h3,
em,
.brand-story > p:not(.eyebrow),
.handwritten,
.visit-art p,
footer > p,
.gallery-track span,
.image-label i {
  font-family: "Marcellus", Georgia, serif;
  font-style: normal;
  font-weight: 400;
}
body {
  font-size: 14px;
  line-height: 1.85;
}
h1,
h2,
h3 {
  letter-spacing: -0.035em;
}
.hero h1 {
  font-size: clamp(52px, 5.5vw, 84px);
  line-height: 1.08;
  letter-spacing: -0.045em;
}
.hero h1 em {
  font-size: 1em;
  font-style: normal;
}
.hero-copy > p:not(.eyebrow) {
  font-size: 13px;
  line-height: 1.9;
}
.eyebrow {
  font-size: 10px;
  letter-spacing: 0.15em;
}
nav {
  font-size: 12px;
}
.button,
.text-link,
.header-cta {
  font-size: 12px;
}
.product p,
.product a {
  font-size: 12px;
}
.section-heading > p,
.service-grid p:not(.eyebrow) {
  font-size: 13px;
}
.brand-story > span {
  font-size: 13px;
}
.idea-intro > p:not(.eyebrow) {
  font-size: 14px;
}
form label {
  font-size: 12px;
}
input,
select,
textarea {
  font-size: 13px;
}
.form-note {
  font-size: 11px;
}
.socials {
  font-size: 13px;
}
.floating-wa {
  font-size: 13px;
  padding: 13px 20px;
}
.floating-wa span {
  display: inline !important;
  margin: 0;
  font-size: 13px;
}
.ribbon b:empty {
  display: none;
}
.hero-note {
  padding-left: 0;
}
.hero-note > span:empty {
  display: none;
}
.brand-story:before {
  display: none;
}
.slider-controls button {
  font-size: 11px;
  letter-spacing: 0.02em;
  padding: 5px;
}
.slider-controls {
  gap: 10px;
}
.slider-controls span {
  padding-right: 7px;
}
.button span:empty {
  display: none;
}
.product a span:empty {
  display: none;
}
#menu {
  font-family: "Marcellus", Georgia, serif;
  font-size: 14px;
}
@media (max-width: 700px) {
  .hero h1 {
    font-size: clamp(45px, 12.5vw, 65px);
    line-height: 1.08;
  }
  .hero-copy > p:not(.eyebrow) {
    font-size: 12px;
  }
  .hero .eyebrow {
    font-size: 9px;
  }
  .hero .actions {
    gap: 18px;
  }
  .hero .button,
  .hero .text-link {
    font-size: 11px;
  }
  .section-heading h2 {
    font-size: 34px;
  }
  .product h3 {
    font-size: 22px;
  }
  .product p,
  .product a {
    font-size: 11px;
  }
  .product-image span {
    font-size: 8px;
  }
  .service-grid h3 {
    font-size: 28px;
  }
  .idea-intro h2 {
    font-size: 50px;
  }
  .visit-copy h2 {
    font-size: 37px;
  }
  .brand-story > p:not(.eyebrow) {
    font-size: 47px;
  }
  .floating-wa {
    padding: 11px 17px;
  }
  .slider-controls button {
    font-size: 10px;
  }
  .slider-controls {
    left: 20px;
  }
  .selects select {
    font-size: 11px;
  }
}

/* Refined navigation */
header nav {
  gap: 34px;
}
header nav a {
  font-family: "Marcellus", Georgia, serif;
  font-size: 10px;
  letter-spacing: 0.11em;
  line-height: 1.5;
  color: #76615a;
  position: relative;
  padding: 10px 0;
  transition: color 0.25s;
}
header nav a:after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 0;
  width: 0;
  height: 1px;
  background: #bda398;
  transition: width 0.3s;
}
header nav a:hover:after,
header nav a:focus-visible:after {
  width: 100%;
}
header nav a:hover {
  color: #493737;
}
.header-cta {
  font-size: 10px;
  letter-spacing: 0.12em;
  padding: 10px 20px;
  border-color: #d7c9bd;
  color: #76615a;
}
#menu {
  font-family: "Marcellus", Georgia, serif;
  font-size: 10px;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: #76615a;
  border: 0;
  border-bottom: 1px solid #cdbbae;
  padding: 8px 0;
  background: transparent;
  min-width: 43px;
  min-height: 44px;
}
header nav.open {
  padding: 22px 7% 26px;
  gap: 0;
  border-top: 1px solid #e8e0d7;
  border-bottom: 1px solid #d8c8bb;
  box-shadow: 0 14px 22px #49373708;
}
header nav.open a {
  font-size: 12px;
  letter-spacing: 0.1em;
  padding: 15px 0;
  border-bottom: 1px solid #e9e1d7;
}
header nav.open a:last-child {
  border-bottom: 0;
}
header nav.open a:after {
  display: none;
}
@media (max-width: 1000px) and (min-width: 701px) {
  header nav {
    gap: 17px;
  }
  header nav a {
    font-size: 9px;
    letter-spacing: 0.07em;
  }
}

.admin-entry {
  font-size: 9px;
  color: #9b8878;
  justify-self: start;
}
.cms-preview-banner {
  background: #493737;
  color: white;
  text-align: center;
  font: 12px sans-serif;
  padding: 12px;
  position: relative;
  z-index: 30;
}
