@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Manrope:wght@400;500;600;700;800&display=swap");

:root { color-scheme: light; --gf-ink: #352820; --gf-muted: #705f52; --gf-wine: #421d14; --gf-wine-soft: #6f3426; --gf-cream: #f8f3e9; --gf-paper: #fffdf8; --gf-line: #dfd4c4; --gf-green: #315a3a; --gf-dark: #211a17; }
* { box-sizing: border-box; }
html { font-size: 62.5%; }
body.gf-site { margin: 0; color: var(--gf-ink); background: var(--gf-cream); font: 1.6rem/1.65 "Manrope", "Segoe UI", sans-serif; }
body.gf-site a { color: var(--gf-wine); }
body.gf-site a:focus-visible, body.gf-site button:focus-visible, body.gf-site input:focus-visible { outline: 3px solid #1476c6; outline-offset: 3px; }
.gf-skip-link { position: fixed; z-index: 1000; top: 1.2rem; left: 1.2rem; padding: 1rem 1.4rem; border-radius: .8rem; background: #fff; transform: translateY(-180%); }
.gf-skip-link:focus { transform: none; }
.gf-visually-hidden, .ts-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

.gf-announcement { color: #fff; background: var(--gf-wine); font-size: 1.25rem; }
.gf-announcement__inner { width: min(118rem, calc(100% - 4rem)); min-height: 3.8rem; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.gf-announcement a { color: #fff !important; text-decoration: none; }
.gf-announcement a:hover { text-decoration: underline; }
.gf-announcement__contact, .gf-announcement__links { display: flex; align-items: center; gap: 2.2rem; }

.gf-header { background: var(--gf-wine); }
.gf-header__inner { width: min(118rem, calc(100% - 4rem)); min-height: 10.2rem; margin: auto; display: grid; grid-template-columns: minmax(24rem, 1fr) auto minmax(24rem, 1fr); align-items: center; gap: 3rem; }
.gf-brand { grid-column: 2; display: block; width: 20.6rem; height: 7.4rem; overflow: hidden; justify-self: center; }
.gf-brand img { display: block; width: 100%; height: 100%; object-fit: contain; transform: translateY(11px) scale(1.48); transform-origin: center; }
.gf-search { grid-column: 1; grid-row: 1; display: flex; width: min(38rem, 100%); }
.gf-search input, .gf-newsletter input { min-width: 0; width: 100%; min-height: 4.6rem; padding: 0 1.6rem; border: 1px solid #cabdad; border-radius: 2.4rem 0 0 2.4rem; color: var(--gf-ink); background: #fff; font: inherit; }
.gf-search button { display: grid; place-items: center; width: 5.4rem; min-height: 4.6rem; border: 0; border-radius: 0 2.4rem 2.4rem 0; color: var(--gf-ink); background: #fff; cursor: pointer; }
.gf-search button svg { fill: currentColor; }
.gf-header__balance { grid-column: 3; }

.gf-nav { position: relative; z-index: 50; background: var(--gf-dark); }
.gf-nav__inner { width: min(118rem, 100%); margin: auto; }
.ts-nav-toggle { display: none; }
.ts-primary-nav { display: flex; justify-content: center; padding: 0; margin: 0; list-style: none; }
.ts-nav-item { position: relative; }
.ts-nav-item--mobile-header { display: none; }
.ts-nav-link { display: flex; align-items: center; min-height: 6rem; padding: 0 2.5rem; border: 0; color: #fff !important; background: transparent; font: 700 1.45rem/1 "Manrope", sans-serif; text-decoration: none; cursor: pointer; }
.ts-nav-link:hover, .ts-nav-link:focus-visible { background: #392b26; }
.ts-chevron { width: .8rem; height: .8rem; margin-left: 1rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.ts-submenu { position: absolute; top: 100%; left: 0; min-width: 25rem; padding: .8rem 0; margin: 0; border-radius: 0 0 1rem 1rem; list-style: none; background: #fff; box-shadow: 0 1.2rem 3rem rgb(29 20 16 / 18%); opacity: 0; visibility: hidden; transform: translateY(.8rem); transition: .18s ease; }
.ts-submenu a { display: block; padding: 1rem 1.8rem; color: var(--gf-ink) !important; text-decoration: none; }
.ts-submenu a:hover, .ts-submenu a:focus-visible { color: var(--gf-wine) !important; background: var(--gf-cream); }
.ts-nav-item:hover > .ts-submenu, .ts-nav-item:focus-within > .ts-submenu, .ts-nav-item.is-open > .ts-submenu { opacity: 1; visibility: visible; transform: none; }

.gf-main { width: min(118rem, calc(100% - 4rem)); margin: auto; padding: 3.2rem 0 8rem; }
.gf-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .6rem; padding: 0; margin: 0 0 3rem; list-style: none; color: var(--gf-muted); font-size: 1.4rem; }
.gf-breadcrumb li + li::before { content: "/"; margin-right: .6rem; color: #a39386; }
.gf-breadcrumb a { color: var(--gf-muted) !important; }
.gf-product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(30rem, .9fr); gap: clamp(3rem, 6vw, 7rem); }
.gf-product__media { align-self: start; overflow: hidden; border: 1px solid var(--gf-line); border-radius: 1.8rem; padding: 2rem; background: var(--gf-paper); box-shadow: 0 1rem 3rem rgb(66 29 20 / 5%); }
.gf-product__media img { display: block; width: 100%; height: auto; max-height: 64rem; object-fit: contain; }
.gf-product__summary { align-self: center; }
.gf-eyebrow { margin: 0; color: var(--gf-wine); text-transform: uppercase; letter-spacing: .13em; font-size: 1.25rem; font-weight: 800; }
.gf-product h1 { margin: .8rem 0 1.5rem; font: 700 clamp(3.8rem, 6vw, 6.4rem)/1 "Cormorant Garamond", Georgia, serif; }
.gf-lead { color: var(--gf-muted); font-size: 1.75rem; }
.gf-stock { display: inline-flex; padding: .7rem 1.2rem; border-radius: 99rem; color: var(--gf-green); background: #e9f4eb; font-weight: 700; }
.gf-price { margin: 1.5rem 0; font-size: 3rem; font-weight: 800; }
.gf-button { display: inline-flex; min-height: 4.8rem; align-items: center; padding: 0 2.4rem; border-radius: 99rem; color: #fff !important; background: var(--gf-wine); text-decoration: none; font-weight: 800; }
.gf-button:hover { background: var(--gf-wine-soft); }
.gf-product__details { grid-column: 1 / -1; max-width: 82rem; margin-top: 1rem; padding-top: 3rem; border-top: 1px solid var(--gf-line); }
.gf-product__details h2 { margin: 3rem 0 1rem; font: 700 3rem/1.15 "Cormorant Garamond", Georgia, serif; }

.gf-footer { color: #fff; background: var(--gf-dark); }
.gf-footer__inner { width: min(118rem, calc(100% - 4rem)); margin: auto; padding: 5.5rem 0; display: grid; grid-template-columns: .8fr 1.2fr 1fr; gap: clamp(3rem, 6vw, 7rem); }
.gf-footer h2 { margin: 0 0 1.6rem; font: 700 2.5rem/1.1 "Cormorant Garamond", Georgia, serif; }
.gf-footer p { color: #e0d9d4; }
.gf-footer a { color: #fff !important; }
.gf-footer__links, .gf-footer__contact { display: grid; gap: .8rem; padding: 0; margin: 0; list-style: none; }
.gf-footer__contact li { display: flex; align-items: flex-start; gap: 1rem; }
.gf-footer__contact span { display: inline-grid; place-items: center; flex: 0 0 2.4rem; height: 2.4rem; border-radius: 50%; background: #fff; color: var(--gf-dark); font-weight: 800; }
.gf-newsletter > div { display: flex; }
.gf-newsletter input { border-radius: .6rem 0 0 .6rem; }
.gf-newsletter button { min-height: 4.6rem; padding: 0 1.6rem; border: 0; border-radius: 0 .6rem .6rem 0; color: var(--gf-wine); background: #fff; font-weight: 800; cursor: pointer; }
.gf-copyright { padding: 2rem; border-top: 1px solid rgb(255 255 255 / 12%); color: #d8cec8; text-align: center; font-size: 1.35rem; }

@media (max-width: 1023px) {
  .gf-announcement__links { display: none; }
  .gf-announcement__inner { justify-content: center; }
  .gf-header__inner { min-height: auto; padding: 1.2rem 0; grid-template-columns: 1fr; gap: 1rem; }
  .gf-brand { grid-column: 1; grid-row: 1; width: 19.4rem; height: 5.8rem; }
  .gf-brand img { transform: translateY(9px) scale(1.5); }
  .gf-search { grid-column: 1; grid-row: 2; justify-self: center; width: min(48rem, 100%); }
  .gf-header__balance { display: none; }
  .gf-nav__inner { width: 100%; }
  .ts-nav-toggle { display: flex; width: 100%; min-height: 5.6rem; padding: 0 2rem; align-items: center; justify-content: space-between; border: 0; color: #fff; background: transparent; font: 800 1.5rem "Manrope", sans-serif; cursor: pointer; }
  .ts-nav-toggle-icon { display: grid; gap: .45rem; width: 2.2rem; }
  .ts-nav-toggle-icon span { display: block; height: 2px; border-radius: 2px; background: currentColor; }
  .ts-primary-nav { display: none; flex-direction: column; padding: 0 0 1rem; border-top: 1px solid rgb(255 255 255 / 12%); }
  .gf-nav.open .ts-primary-nav { display: flex; }
  .ts-nav-item--mobile-header { display: block; }
  .ts-nav-link { width: 100%; min-height: 5rem; padding: 0 2rem; justify-content: space-between; text-align: left; }
  .ts-submenu { position: static; display: none; min-width: 0; padding: .4rem 0 .8rem 1.5rem; border-radius: 0; background: #302520; box-shadow: none; opacity: 1; visibility: visible; transform: none; transition: none; }
  .ts-nav-item:hover > .ts-submenu, .ts-nav-item:focus-within > .ts-submenu { display: none; }
  .ts-nav-item.is-open > .ts-submenu { display: block; }
  .ts-submenu a { color: #fff !important; padding: 1rem 2rem; }
  .ts-submenu a:hover, .ts-submenu a:focus-visible { color: #fff !important; background: #493832; }
}

@media (max-width: 720px) {
  .gf-announcement__inner, .gf-header__inner, .gf-main, .gf-footer__inner { width: min(100% - 3.2rem, 118rem); }
  .gf-announcement__inner { min-height: 4.2rem; }
  .gf-announcement__contact { width: 100%; justify-content: space-between; gap: 1rem; font-size: 1.15rem; }
  .gf-brand { justify-self: center; }
  .gf-main { padding-top: 2.2rem; padding-bottom: 5rem; }
  .gf-breadcrumb ol { margin-bottom: 2rem; }
  .gf-product, .gf-footer__inner { grid-template-columns: 1fr; }
  .gf-product { gap: 2.6rem; }
  .gf-product h1 { font-size: clamp(3.8rem, 13vw, 5rem); }
  .gf-product__details { margin-top: 0; }
  .gf-footer__inner { gap: 3.8rem; }
}

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