:root{--bg:#fcf8ef;--panel:#fffdf8;--line:#d9c5a9;--gold:#765226;--ink:#302218;--muted:#655141;--accent:#70481e;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 78% 16%,#edd8bc95 0,transparent 36%),linear-gradient(154deg,#fffdf8,#faf4e8 47%,#f6eddf);min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #885d2c;outline-offset:4px}svg{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex:none}.symbols{position:absolute}.container{width:min(1392px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:#f2d7a9;color:#392617;padding:12px}.skip:focus{top:10px}.header{border-bottom:1px solid #a583593d;background:#fffaf1e8}.header-inner{height:72px;display:flex;justify-content:space-between;align-items:center;gap:26px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:19px;letter-spacing:.19em;white-space:nowrap;color:#694722}.brand img{object-fit:contain;filter:brightness(.55) saturate(1.25)}.header nav{display:flex;gap:clamp(18px,3.3vw,53px);font-size:14px;font-weight:600;color:#4b3828}.header nav a{position:relative;padding:9px 0}.header nav a:first-child::after{content:'';height:2px;left:0;right:0;bottom:1px;position:absolute;background:var(--gold)}.header nav a:hover{color:var(--gold)}.bag,.close{border:1px solid var(--line);background:#fff8eb;color:var(--accent);border-radius:50%;display:grid;place-items:center}.bag{position:relative;width:42px;height:42px}.bag span{position:absolute;right:-4px;top:-5px;border-radius:999px;background:#eac58c;color:#302218;font-size:11px;padding:3px 5px}
.hero{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(0,1.75fr);gap:28px;align-items:center;padding:40px 0 25px;min-height:565px;position:relative;isolation:isolate}.hero::before,.hero::after{content:'';z-index:-1;position:absolute;pointer-events:none;inset:auto 0 36px 0;height:130px;border-radius:0 0 52% 65%;border-bottom:2px solid #bd955e66;transform:rotate(-5deg);filter:drop-shadow(0 0 12px #d6a86f60);opacity:.72}.hero::after{bottom:48px;transform:rotate(4deg);opacity:.38}.hero-copy{padding:12px 0 22px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.23em;color:var(--gold);font-weight:700;margin:0 0 15px}.eyebrow span{width:22px;height:1px;background:#c69f68}.hero h1{font-size:clamp(64px,7.8vw,121px);letter-spacing:-.085em;line-height:.83;margin:0;font-weight:750}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent);letter-spacing:-.08em}.intro{color:#594331;line-height:1.5;font-size:clamp(16px,1.6vw,20px);max-width:300px;margin:26px 0 22px}.hero-actions{display:grid;gap:9px;max-width:270px}.button{border:1px solid transparent;min-height:43px;padding:10px 16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:700;line-height:1.2;text-align:center}.button:hover{filter:brightness(1.12)}.gold{background:linear-gradient(170deg,#f5dbb1,#dfb77e);color:#352215;border-color:#cfa76c;box-shadow:0 3px 12px #a97d3d20}.outline{border-color:#b59772;background:#fffcf5;color:var(--ink)}.media-btn{display:block;position:relative;overflow:hidden;width:100%;background:#3b271d;border:0;padding:0;text-align:left;isolation:isolate}.media-btn img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.idle{filter:blur(5px) brightness(.67);transform:scale(1.055)}.media-btn .revealed{opacity:0;transition:opacity .22s ease;filter:brightness(.89)}.media-btn:hover .revealed,.media-btn:focus-visible .revealed{opacity:1}.media-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#130c0740,transparent 38%,transparent 60%,#140b07a8);pointer-events:none}.badge,.peek-label{position:absolute;z-index:1;display:inline-flex;align-items:center;gap:6px;border:1px solid #bfa275;background:#21160ee8;color:#fff0d9;border-radius:999px;font-weight:700}.badge{top:14px;left:14px;padding:7px 10px;font-size:11px}.peek-label{bottom:14px;left:50%;transform:translateX(-50%);padding:8px 13px;font-size:12px;white-space:nowrap}.tap-label{display:none}
.categories{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.categories a{min-height:63px;display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid #cfb795;border-radius:13px;background:#fffaf0;font-weight:700;font-size:14px}.categories a:hover{background:#f4e4cd;border-color:#a88050}.categories svg{font-size:20px;color:var(--gold)}.categories a span:last-child{margin-left:auto;color:var(--gold)}.trust{display:flex;gap:9px;justify-content:center;align-items:center;color:var(--muted);font-size:13px;padding:18px 0 30px}.trust svg{color:var(--gold)}
.collection,.how{padding:48px 0 58px;border-top:1px solid #72533872;scroll-margin-top:18px}.collection-head{display:flex;justify-content:space-between;align-items:end;gap:18px}.collection h2,.how h2{font-family:Georgia,serif;font-size:clamp(34px,5vw,62px);letter-spacing:-.045em;font-weight:400;margin:0}.search{display:grid;gap:7px;color:var(--muted);font-size:12px}.search input{width:min(290px,46vw);background:var(--panel);border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:11px 13px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}.filters button{background:#fffaf0;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px}.filters button[aria-pressed=true]{background:#ead0a7;color:#392415;border-color:#c4a476;font-weight:bold}.results{font-size:12px;color:var(--muted);margin:14px 0}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.product{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel)}.product .media-btn{aspect-ratio:1.48}.product .badge{font-size:10px;top:9px;left:9px}.product .peek-label{bottom:10px}.product-body{padding:14px}.product-kind{font-size:10px;letter-spacing:.13em;color:var(--gold);font-weight:700;margin:0 0 5px}.product h3{font-size:17px;margin:0 0 12px;min-height:2.2em}.product-price{display:flex;justify-content:space-between;align-items:center;gap:4px}.product-price span{font-weight:700;font-size:13px;white-space:nowrap}.product-price button{border:1px solid #bd9d76;border-radius:999px;background:transparent;color:var(--accent);padding:6px 9px;font-size:11px;white-space:nowrap}.product-price button:hover{background:#f3e1c7}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:21px}.steps div{border:1px solid var(--line);padding:20px;border-radius:14px;background:#fffaf0}.steps span{color:var(--gold);font-size:12px;letter-spacing:.12em}.steps h3{margin:10px 0 8px}.steps p{color:var(--muted);line-height:1.55;margin:0;font-size:14px}footer{background:#f2e5d3;border-top:1px solid var(--line)}footer .container{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-block:20px}footer p{font-size:12px;color:var(--muted)}
dialog{width:min(540px,calc(100% - 26px));max-height:90vh;padding:24px;border:1px solid #b8915d;border-radius:20px;background:#fffaf1;color:var(--ink);box-shadow:0 18px 70px #2c1c1466}dialog::backdrop{background:#2c1c147d;backdrop-filter:blur(4px)}dialog h2{font-family:Georgia,serif;font-size:33px;font-weight:400;line-height:1.08;margin:8px 30px 12px 0}dialog p{color:var(--muted);line-height:1.5;font-size:14px}.close{position:absolute;right:13px;top:13px;width:35px;height:35px;font-size:23px}.modal-img,.modal-video{display:block;width:100%;max-height:300px;object-fit:contain;background:#160f0b;border-radius:12px;margin:14px 0}.modal-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:9px;margin-top:16px}.cart-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding:11px 0}.cart-row small{display:block;color:var(--muted);margin-top:5px}.cart-row button{border:0;background:none;color:var(--gold);text-decoration:underline;padding:4px}.success{border:1px solid #c8a477;background:#f5e6cf;border-radius:12px;padding:12px 14px}.success p{margin:4px 0}.demo-kicker{color:var(--gold);font-size:11px;letter-spacing:.14em;font-weight:700}
@media(max-width:1100px){.container{width:calc(100% - 58px)}.hero{min-height:0}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero h1{font-size:clamp(62px,8.9vw,97px)}}
@media(max-width:760px){.container{width:calc(100% - 34px)}.header-inner{height:auto;min-height:61px;flex-wrap:wrap;gap:0;padding:8px 0}.header nav{order:3;width:100%;overflow:auto;gap:19px;white-space:nowrap;font-size:12px;padding-top:5px}.brand{font-size:15px}.brand img{width:34px;height:30px}.bag{width:36px;height:36px}.hero{grid-template-columns:1fr;gap:4px;padding-top:27px}.hero-copy{padding:0 0 12px}.hero h1{font-size:clamp(47px,11vw,80px);line-height:.94}.hero h1 br{display:none}.hero h1 br::after{content:' '}.hero h1 em{display:block}.intro{margin:14px 0;max-width:400px}.hero-actions{display:flex;max-width:none;flex-wrap:wrap}.hero-actions .button{font-size:12px;min-height:39px}.categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.categories a{font-size:12px;min-height:50px;padding:8px 9px;gap:6px}.categories svg{font-size:16px}.trust{font-size:11px}.collection,.how{padding:32px 0 36px}.collection-head{align-items:start;flex-direction:column}.search input{width:min(350px,84vw)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product h3{font-size:14px}.product-body{padding:9px}.product-price span{font-size:11px}.steps{grid-template-columns:1fr}.hero::before{bottom:35px}.hero::after{display:none}}
@media(hover:none){.hover-label{display:none}.tap-label{display:inline}}
@media(max-width:360px){.product .badge svg{display:none}.product .badge svg{display:none}.product-price{flex-wrap:wrap}.categories a span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.brand-panel {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  overflow: hidden;
  min-height: 438px;
  margin-left: clamp(0px, 2.5vw, 34px);
  padding: 42px 30px;
  border: 1px solid #c0a078;
  border-radius: 22px;
  text-align: center;
  background:
    radial-gradient(ellipse at 50% 8%, #fffaf0, transparent 58%),
    radial-gradient(ellipse at 50% 100%, #c8996252, transparent 63%),
    linear-gradient(150deg, #f7e9d2, #e9cfaa 92%);
  box-shadow: 0 18px 46px #85633c22, inset 0 1px 0 #fffdf1aa;
}
.brand-panel::before,
.brand-panel::after {
  content: '';
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.brand-panel::before {
  inset: 12px;
  border: 1px solid #b5926170;
  border-radius: 15px;
}
.brand-panel::after {
  width: 82%;
  height: 64%;
  top: 18%;
  left: 9%;
  border: 1px solid #a67b4729;
  border-radius: 50%;
  transform: rotate(-18deg) scaleX(1.3);
  box-shadow: 0 0 0 22px #c29a5b12, 0 0 0 42px #c29a5b0c;
}
.brand-panel-content { max-width: 580px; }
.brand-panel-mark {
  display: grid;
  place-items: center;
  width: 118px;
  height: 118px;
  margin: 0 auto 13px;
  border: 1px solid #b68e5a88;
  border-radius: 50%;
  background: #fff8e875;
  box-shadow: 0 0 24px #fffbf0a6;
}
.brand-panel-mark img {
  width: 88px;
  height: auto;
  filter: brightness(.41) saturate(1.32) drop-shadow(0 1px 0 #fffaf1);
}
.brand-panel-name {
  margin: 0 0 16px;
  padding-left: .32em;
  color: var(--gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .32em;
}
.brand-panel h2 {
  margin: 0;
  color: var(--ink);
  font: 400 clamp(38px, 4.8vw, 72px)/.99 Georgia, serif;
  letter-spacing: -.058em;
}
.brand-panel-description {
  margin: 18px auto 0;
  max-width: 435px;
  color: #59402d;
  font-size: 15px;
  line-height: 1.55;
}
.brand-panel-description p { margin: 0; }
.brand-panel-description p + p { margin-top: 9px; }
@media (max-width: 760px) {
  .brand-panel {
    min-height: 300px;
    margin: 6px 0 0;
    padding: 28px 18px;
    border-radius: 17px;
  }
  .brand-panel::before { inset: 8px; border-radius: 11px; }
  .brand-panel-mark { width: 91px; height: 91px; margin-bottom: 10px; }
  .brand-panel-mark img { width: 67px; }
  .brand-panel-name { margin-bottom: 11px; font-size: 10px; }
  .brand-panel h2 { font-size: clamp(29px, 8vw, 51px); }
  .brand-panel-description { margin-top: 13px; font-size: 13px; }
}

/* Storefront colour and collection accents. */
:root {
  --bg: #fff8ef;
  --panel: #fffdf9;
  --line: #e3cde0;
  --gold: #87512c;
  --ink: #231731;
  --muted: #60475c;
  --accent: #722e80;
}
body {
  background: radial-gradient(ellipse at 3% 5%, #ffe5ce, transparent 27rem),
    radial-gradient(ellipse at 94% 10%, #f2d7ff, transparent 34rem),
    linear-gradient(170deg, #fff9ef, #fdf7ff 55%, #fff8ed);
}
.header { background: #fffaf5ed; border-color: #e7c8da; }
.header nav { gap: clamp(15px, 2.5vw, 40px); }
.header nav a { color: #473248; }
.header nav a:hover { color: #792990; }
.header nav a:first-child::after { background: #a14494; }
.hero h1 em { color: #7d279a; }
.hero::before, .hero::after { border-color: #a65aa467; }
.hero .gold {
  color: #fff9f4;
  border-color: #6e247d;
  background: linear-gradient(112deg, #6a2787, #a02f7d);
  box-shadow: 0 6px 16px #8e2f7540;
}
.hero .outline { background: #fffbf6; border-color: #b57caf; }
.brand-panel {
  color: #fff9f5;
  background: radial-gradient(ellipse at 85% 0%, #ed64a1a3, transparent 48%),
    radial-gradient(ellipse at 9% 100%, #3f56b5b3, transparent 55%),
    linear-gradient(135deg, #38106d 10%, #651e80 62%, #a63178);
  border-color: #742681;
  box-shadow: 0 18px 44px #6f2c8040;
}
.brand-panel::before { border-color: #fbd9ff68; }
.brand-panel::after {
  border-color: #fbd9ff50;
  box-shadow: 0 0 0 22px #f7beff1b, 0 0 0 42px #f7beff10;
}
.brand-panel-mark { border-color: #f7dbad9e; background: #2e145d8c; box-shadow: 0 0 24px #e8a8ff53; }
.brand-panel-mark img { filter: drop-shadow(0 1px 2px #230a49); }
.brand-panel-name { color: #ffe1ac; }
.brand-panel h2 { color: #fff9f5; }
.brand-panel-description { color: #fff4fc; }
.categories { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.categories a { background: #fff7e5; border-color: #e7cba0; }
.categories a:nth-child(2) { background: #f1e8ff; border-color: #d5c2ee; }
.categories a:nth-child(3) { background: #e1f4ec; border-color: #b7dbcd; }
.categories a:nth-child(4) { background: #ffe9e2; border-color: #efc4b7; }
.categories a:nth-child(5) { background: #fae5f5; border-color: #e9bedf; }
.categories a:hover { border-color: #945191; box-shadow: 0 3px 12px #78377222; }
.categories svg, .categories a span:last-child { color: #713c78; }
.filters button[aria-pressed=true] { background: #eee0ff; border-color: #b787d0; color: #502367; }
.section-intro { max-width: 570px; color: var(--muted); line-height: 1.55; margin: 12px 0 20px; }

.season-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.season-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 198px;
  padding: 20px;
  border: 1px solid #ffffff28;
  border-radius: 17px;
  color: #fff;
  box-shadow: 0 10px 26px #58254722;
}
.season-card::after {
  position: absolute;
  z-index: -1;
  top: -50px;
  right: -58px;
  width: 208px;
  aspect-ratio: 1;
  border: 1px solid #fff5;
  border-radius: 50%;
  box-shadow: 0 0 0 15px #fff1, 0 0 0 33px #fff1;
  content: '';
}
.season-holiday { background: linear-gradient(125deg, #104a3d, #237456); }
.season-new-year { background: linear-gradient(125deg, #30216c, #5f3297); }
.season-valentine { background: linear-gradient(125deg, #8c244e, #a22b59); }
.season-card > svg { width: 38px; height: 38px; color: #ffe6b3; display: block; }
.season-status {
  position: absolute;
  right: 16px;
  top: 16px;
  padding: 6px 10px;
  border-radius: 99px;
  background: #fff8eb;
  color: #482542;
  font-size: 11px;
  font-weight: 700;
}
.season-card h3 { margin: 21px 0 8px; font: 400 clamp(22px, 2.5vw, 32px)/1.12 Georgia, serif; }
.season-card p { max-width: 260px; margin: 0; color: #fff8f4; font-size: 14px; line-height: 1.5; }

.restaurant-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: 18px;
  align-items: center;
  margin-top: 20px;
  padding: clamp(19px, 3.5vw, 39px);
  overflow: hidden;
  border: 1px solid #afdbc6;
  border-radius: 20px;
  background: radial-gradient(ellipse at 89% 90%, #ffd1aa, transparent 60%), linear-gradient(117deg, #e0f4e9, #fff3cd);
}
.restaurant-kicker { color: #285942; font-size: 11px; font-weight: 700; letter-spacing: .15em; }
.restaurant-content h3 { margin: 8px 0; color: #183b32; font: 400 clamp(31px, 4vw, 51px)/1 Georgia, serif; letter-spacing: -.035em; }
.restaurant-content p:not(.restaurant-kicker) { max-width: 340px; color: #355248; line-height: 1.5; }
.restaurant-link { background: #185741; color: white; }
.restaurant-art { display: flex; align-items: center; justify-content: center; padding: 14px 0; }
.restaurant-art img {
  display: block;
  width: 52%;
  height: auto;
  border: 2px solid #fff7eb;
  border-radius: 14px;
  transform: rotate(-8deg);
  box-shadow: 0 10px 20px #5531274d;
}
.restaurant-art img + img { margin-left: -12%; transform: rotate(9deg); }
@media (max-width: 1000px) and (min-width: 761px) {
  .categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .header nav { gap: 17px; }
  .categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .season-grid { grid-template-columns: 1fr; gap: 10px; }
  .season-card { min-height: 0; padding: 15px 16px; }
  .season-card > svg { width: 29px; height: 29px; }
  .season-card h3 { margin-top: 12px; }
  .restaurant-card { grid-template-columns: 1fr; gap: 5px; }
  .restaurant-art { max-width: 350px; padding: 13px 12px; }
}
