:root {
  --gold: #d9bb82;
  --gold-soft: #e1c692;
  --ivory: #fff8ee;
  --muted: rgba(255, 248, 238, 0.72);
  --line: rgba(255, 248, 238, 0.18);
  --line-gold: rgba(217, 187, 130, 0.5);
  --gold-drift: 0px;
  --gold-x: 0px;
  --gold-y: 0px;
  --gold-rotate: -18deg;
  --gold-veil: 0.82;
  color: var(--ivory);
  background: #0a0908;
  font-family:
    Inter, "Avenir Next", Avenir, "Helvetica Neue", ui-sans-serif, system-ui, -apple-system,
    BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-width: 320px;
  min-height: 100%;
  margin: 0;
  background: #0a0908;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button {
  font: inherit;
}

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

svg {
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

svg * {
  vector-effect: non-scaling-stroke;
}

.page-shell {
  min-height: 100vh;
  display: grid;
  place-items: start center;
  background: #0a0908;
}

.business-card {
  position: relative;
  width: min(100%, 430px);
  min-height: 100vh;
  padding: 30px 20px 26px;
  overflow: hidden;
  isolation: isolate;
  animation: pageIn 500ms ease both;
}

.business-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(ellipse 118% 76% at 50% 7%, rgba(217, 187, 130, 0.072), transparent 45%),
    #0b0a08;
}

.floating-gold-field {
  position: fixed;
  top: -220px;
  left: calc(50% - 360px);
  z-index: 0;
  width: 430px;
  height: 1340px;
  border-radius: 54% 46% 52% 48%;
  pointer-events: none;
  opacity: 0.8;
  background:
    radial-gradient(ellipse 82% 20% at 58% 12%, rgba(230, 196, 127, 0.47) 0%, rgba(192, 137, 61, 0.24) 44%, transparent 82%),
    radial-gradient(ellipse 86% 22% at 38% 34%, rgba(221, 178, 100, 0.3) 0%, rgba(139, 90, 41, 0.14) 50%, transparent 82%),
    radial-gradient(ellipse 86% 22% at 64% 56%, rgba(228, 194, 126, 0.26) 0%, rgba(158, 103, 43, 0.13) 50%, transparent 84%),
    radial-gradient(ellipse 80% 21% at 42% 78%, rgba(214, 169, 89, 0.36) 0%, rgba(111, 73, 35, 0.17) 52%, transparent 84%),
    linear-gradient(180deg, transparent 0%, rgba(217, 187, 130, 0.078) 18%, rgba(157, 101, 42, 0.068) 40%, rgba(217, 187, 130, 0.058) 58%, rgba(97, 65, 33, 0.07) 80%, transparent 100%);
  filter: blur(40px);
  transform: translate3d(var(--gold-x), var(--gold-y), 0) rotate(var(--gold-rotate));
  transition: transform 300ms ease-out;
  will-change: transform, opacity;
}

.business-card::after {
  content: "";
  position: absolute;
  inset: -20% -22%;
  z-index: 0;
  pointer-events: none;
  opacity: var(--gold-veil);
  background:
    radial-gradient(ellipse 84% 50% at 50% 16%, rgba(8, 7, 6, 0.04), transparent 58%),
    radial-gradient(ellipse 80% 54% at 50% 88%, rgba(0, 0, 0, 0.18), transparent 68%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.34), transparent 24%, transparent 76%, rgba(0, 0, 0, 0.36));
  transform: translate3d(calc(var(--gold-x) * -0.04), calc(var(--gold-y) * -0.18), 0);
  will-change: transform, opacity;
}

.business-card > :not(.floating-gold-field) {
  position: relative;
  z-index: 1;
}

.hero {
  padding-top: 2px;
}

.brand-line {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
}

.brand-row {
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand-mark {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1.15px solid var(--gold);
  color: var(--ivory);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 29px;
  line-height: 1;
}

.brand-copy {
  transform: translateY(1px);
}

.brand-copy p {
  margin: 0;
  color: #fbf7ef;
  font-size: 18px;
  font-weight: 520;
  line-height: 1.12;
  letter-spacing: 0.2em;
}

.brand-kicker {
  position: relative;
  max-width: 112px;
  margin: 6px 0 0;
  color: #fbf7ef;
  font-size: 10px;
  font-weight: 560;
  line-height: 1.7;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

.brand-kicker span {
  display: block;
}

.brand-kicker::after {
  content: "";
  display: block;
  width: 24px;
  height: 1px;
  margin-top: 8px;
  background: var(--gold);
}

.hero h1 {
  margin: 34px 0 24px;
  color: var(--ivory);
  font-size: clamp(46px, 13.3vw, 66px);
  font-weight: 780;
  line-height: 1.02;
  letter-spacing: 0;
}

.hero h1 span {
  display: block;
  margin-top: 2px;
  color: var(--gold);
}

.status-panel,
.quick-actions a,
.campaign,
.section-block {
  border: 1px solid var(--line);
  background: rgba(18, 17, 15, 0.74);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    0 16px 34px rgba(0, 0, 0, 0.24);
}

.status-panel {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 16px 16px 16px 18px;
  border-radius: 24px;
}

.status-now,
.status-hours,
.brand-kicker,
.eyebrow,
footer span,
.campaign-note {
  margin: 0;
}

.status-now {
  display: flex;
  align-items: center;
  gap: 11px;
  color: var(--ivory);
  font-size: 16px;
  font-weight: 760;
  line-height: 1.15;
}

.status-now b {
  font: inherit;
}

.status-now span {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #55c95a;
  box-shadow: 0 0 10px rgba(85, 201, 90, 0.32);
}

.status-panel.is-closed .status-now span {
  background: #c85f52;
  box-shadow: 0 0 10px rgba(200, 95, 82, 0.24);
}

.status-hours {
  margin: 5px 0 0 21px;
  color: rgba(255, 248, 238, 0.7);
  font-size: 13px;
  font-weight: 430;
  line-height: 1.2;
}

.status-location {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
}

.status-location svg {
  width: 23px;
  height: 23px;
  color: var(--gold);
}

.status-location p {
  width: 78px;
  margin: 0;
  color: rgba(255, 248, 238, 0.82);
  font-size: 13px;
  line-height: 1.35;
}

.status-arrow {
  color: var(--gold);
  font-size: 22px;
  line-height: 1;
  transform: translateY(-1px);
}

.quick-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
  margin: 16px 0 18px;
}

.quick-actions a {
  min-height: 82px;
  display: grid;
  grid-template-rows: 30px auto;
  place-items: center;
  gap: 7px;
  padding: 14px 6px 12px;
  border-radius: 20px;
  color: var(--gold);
  transition:
    transform 160ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.quick-actions svg {
  width: 28px;
  height: 28px;
}

.quick-actions span {
  color: var(--ivory);
  font-size: 10.2px;
  font-weight: 760;
  line-height: 1;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.quick-actions a:hover {
  border-color: rgba(217, 187, 130, 0.45);
  background: rgba(31, 27, 22, 0.82);
}

.quick-actions a:active,
.campaign button:active,
.full-menu-button:active,
.direction-link:active,
.whatsapp-cta:active,
.sheet-header button:active,
.section-arrow:active {
  transform: translateY(1px);
}

.campaign {
  position: relative;
  min-height: 152px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 22px 12px 17px 18px;
  border-color: var(--line-gold);
  border-radius: 20px;
  background:
    linear-gradient(90deg, rgba(8, 7, 6, 0.98) 0%, rgba(8, 7, 6, 0.82) 47%, rgba(8, 7, 6, 0.2) 100%),
    url("../assets/coffee-croissant.webp") right center / cover no-repeat,
    #12100d;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 36px rgba(0, 0, 0, 0.28);
}

.campaign::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(255, 235, 195, 0.07), transparent 44%),
    linear-gradient(90deg, rgba(8, 7, 6, 0.22), transparent 72%);
}

.campaign-content,
.campaign button {
  position: relative;
  z-index: 2;
}

.eyebrow {
  color: var(--gold-soft);
  font-size: 11px;
  font-weight: 740;
  line-height: 1.2;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.campaign-offer {
  max-width: 218px;
  margin: 11px 0 9px;
  color: var(--ivory);
  font-size: 24.5px;
  font-weight: 790;
  line-height: 1.03;
  letter-spacing: 0;
}

.campaign-offer-title {
  display: block;
  text-wrap: balance;
}

.campaign-offer-price {
  display: block;
  margin-top: 9px;
  color: var(--gold);
  font-size: 30px;
  line-height: 1;
  letter-spacing: 0;
}

.campaign-note {
  color: rgba(255, 248, 238, 0.76);
  font-size: 15px;
  font-weight: 430;
}

.campaign button,
.full-menu-button,
.direction-link,
.whatsapp-cta,
.sheet-header button,
.section-arrow {
  min-height: 44px;
  border: 0;
  cursor: pointer;
  transition:
    transform 160ms ease,
    background 180ms ease,
    border-color 180ms ease;
}

.campaign button {
  min-width: 132px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 16px 0 18px;
  border-radius: 999px;
  background: var(--gold);
  color: #11100e;
  font-size: 13px;
  font-weight: 820;
  white-space: nowrap;
}

.campaign button span:last-child {
  line-height: 1;
  transform: translateY(-1px);
}

.section-block {
  position: relative;
  margin-top: 18px;
  padding: 23px 18px 18px;
  border-radius: 20px;
  background: rgba(17, 16, 14, 0.76);
}

.section-heading {
  margin-bottom: 21px;
}

.section-heading h2,
.sheet-header h2 {
  margin: 8px 0 0;
  color: var(--ivory);
  font-size: 38px;
  font-weight: 770;
  line-height: 1.02;
  letter-spacing: 0;
}

.section-arrow {
  position: absolute;
  right: 18px;
  top: 42px;
  min-width: 44px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: transparent;
  color: var(--gold);
  font-size: 30px;
}

.menu-group + .menu-group {
  margin-top: 20px;
}

.menu-group h3 {
  margin: 0 0 11px;
  color: var(--gold-soft);
  font-size: 12.5px;
  font-weight: 780;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.menu-items {
  display: grid;
  border-top: 1px solid rgba(255, 248, 238, 0.14);
}

.menu-item {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 248, 238, 0.09);
  color: var(--ivory);
  font-size: 19px;
  font-weight: 450;
  line-height: 1.15;
}

.menu-item strong {
  min-width: 72px;
  color: var(--ivory);
  font-size: 18.5px;
  font-weight: 830;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

.full-menu-button,
.direction-link {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  border: 1px solid rgba(217, 187, 130, 0.36);
  border-radius: 15px;
  background: rgba(11, 10, 9, 0.72);
  color: var(--gold);
  font-size: 12px;
  font-weight: 760;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.direction-link span:last-child {
  font-size: 16px;
  line-height: 1;
  transform: translateY(-1px);
}

.full-menu-button {
  display: grid;
  place-items: center;
  gap: 0;
  border-color: rgba(217, 187, 130, 0.32);
  background: rgba(217, 187, 130, 0.1);
  font-weight: 820;
  letter-spacing: 0.14em;
}

.google-review {
  min-height: 66px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 12px 13px;
  border: 1px solid rgba(217, 187, 130, 0.22);
  border-radius: 15px;
  background: rgba(9, 8, 7, 0.72);
  box-shadow:
    inset 0 1px 0 rgba(255, 248, 238, 0.026),
    0 12px 24px rgba(0, 0, 0, 0.18);
  color: var(--ivory);
  transition:
    transform 160ms ease,
    background 180ms ease,
    border-color 180ms ease;
}

.google-review:active {
  transform: translateY(1px);
}

.google-mark {
  grid-column: 1;
  grid-row: 1;
  width: 34px;
  height: 34px;
  display: block;
  align-self: center;
  justify-self: center;
}

.google-mark svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: none;
  stroke: none;
}

.google-mark path {
  stroke: none;
  vector-effect: none;
}

.google-review-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  column-gap: 10px;
  gap: 2px;
  align-items: center;
}

.google-review-title {
  grid-column: 2;
  grid-row: 1;
  overflow: hidden;
  color: rgba(255, 248, 238, 0.74);
  font-size: 11px;
  font-weight: 560;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.google-stars {
  grid-column: 2;
  display: inline-flex;
  align-items: baseline;
  gap: 2.5px;
  color: var(--gold);
  font-size: 13px;
  line-height: 1;
}

.google-review-note {
  grid-column: 2;
  color: rgba(255, 248, 238, 0.42);
  font-size: 10.5px;
  line-height: 1.1;
}

.google-review-action {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 11px;
  border: 1px solid rgba(217, 187, 130, 0.36);
  border-radius: 999px;
  background: rgba(12, 10, 8, 0.68);
  color: var(--gold);
  font-size: 9.2px;
  font-weight: 760;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.google-review-action span {
  font-size: 13px;
  line-height: 1;
  transform: translateY(-0.5px);
}

.google-review-feed {
  margin-top: 10px;
  padding: 13px 12px 12px;
  overflow: hidden;
  border: 1px solid rgba(217, 187, 130, 0.2);
  border-radius: 17px;
  background:
    radial-gradient(circle at 16% 0%, rgba(217, 187, 130, 0.075), transparent 38%),
    linear-gradient(180deg, rgba(14, 12, 10, 0.8), rgba(8, 7, 6, 0.74));
  box-shadow:
    inset 0 1px 0 rgba(255, 248, 238, 0.024),
    0 12px 24px rgba(0, 0, 0, 0.14);
}

.review-feed-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.review-feed-kicker {
  margin-bottom: 4px;
  color: var(--gold-soft);
  font-size: 9.6px;
  font-weight: 780;
  letter-spacing: 0.22em;
  line-height: 1;
  text-transform: uppercase;
}

.review-feed-head h2 {
  color: var(--ivory);
  font-family: var(--serif);
  font-size: 25px;
  line-height: 0.95;
  letter-spacing: 0;
}

.review-feed-score {
  display: grid;
  justify-items: end;
  gap: 2px;
  color: var(--gold);
  line-height: 1;
}

.review-feed-score strong {
  color: var(--ivory);
  font-size: 19px;
  font-weight: 820;
}

.review-feed-score span {
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.review-cards {
  display: grid;
  grid-auto-columns: minmax(172px, calc((100% - 10px) / 2));
  grid-auto-flow: column;
  gap: 10px;
  margin: 0;
  padding: 0 1px 3px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
}

.review-cards::-webkit-scrollbar {
  display: none;
}

.review-card {
  min-height: 112px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 11px 11px 10px;
  border: 1px solid rgba(217, 187, 130, 0.15);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(255, 248, 238, 0.026), transparent 42%),
    rgba(6, 6, 5, 0.66);
  scroll-snap-align: start;
}

.review-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.review-card-top strong {
  color: var(--ivory);
  font-size: 12px;
  font-weight: 760;
}

.review-card-top span {
  flex: 0 0 auto;
  color: var(--gold);
  font-size: 9px;
  letter-spacing: 0.06em;
  line-height: 1;
}

.review-card p {
  display: -webkit-box;
  overflow: hidden;
  color: rgba(255, 248, 238, 0.7);
  font-size: 11px;
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.review-card small {
  margin-top: auto;
  color: rgba(255, 248, 238, 0.38);
  font-size: 9.5px;
  line-height: 1;
}

.info-block {
  overflow: hidden;
  border-color: rgba(217, 187, 130, 0.2);
  background:
    radial-gradient(circle at 12% 0%, rgba(217, 187, 130, 0.028), transparent 34%),
    linear-gradient(180deg, rgba(17, 16, 14, 0.78), rgba(11, 10, 9, 0.78)),
    #0b0a08;
  box-shadow:
    inset 0 1px 0 rgba(255, 248, 238, 0.028),
    0 12px 26px rgba(0, 0, 0, 0.16);
}

.info-block::before {
  content: none;
}

.info-block::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.07;
  background: radial-gradient(circle at 50% 0%, rgba(255, 248, 238, 0.26), transparent 54%);
}

.info-block > * {
  position: relative;
  z-index: 1;
}

.info-block .section-heading {
  margin-bottom: 18px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(217, 187, 130, 0.105);
}

.info-block .section-heading .eyebrow {
  color: var(--gold-soft);
  font-size: 10.5px;
  font-weight: 760;
  letter-spacing: 0.26em;
}

.info-block .section-heading h2 {
  margin-top: 9px;
  color: rgba(255, 248, 238, 0.96);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 660;
}

.info-block address {
  margin: 0 0 15px;
  color: rgba(255, 248, 238, 0.9);
  font-style: normal;
  font-size: 16px;
  font-weight: 430;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

.info-list {
  display: grid;
  border-top: 1px solid rgba(217, 187, 130, 0.095);
}

.info-list div {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 248, 238, 0.072);
}

.info-list span {
  color: rgba(255, 248, 238, 0.58);
  font-size: 13px;
  font-weight: 460;
  letter-spacing: 0.01em;
}

.info-list strong,
.info-list a {
  color: rgba(255, 248, 238, 0.94);
  font-size: 14px;
  font-weight: 720;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

.whatsapp-cta {
  width: calc(100% - 34px);
  max-width: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  margin: 18px auto 3px;
  padding: 0 12px;
  border: 1px solid rgba(255, 248, 238, 0.14);
  border-radius: 16px;
  background: var(--gold);
  color: #11100e;
  font-size: 13.5px;
  font-weight: 780;
  letter-spacing: 0.005em;
  text-align: center;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.whatsapp-cta svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  transform: translateY(0.5px);
}

.whatsapp-cta span {
  min-width: 0;
  line-height: 1.1;
}

footer {
  position: relative;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 2px 2px;
  color: rgba(255, 248, 238, 0.54);
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 0.08em;
}

footer::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(217, 187, 130, 0.12);
}

footer span:first-child {
  color: rgba(217, 187, 130, 0.86);
  font-weight: 760;
  letter-spacing: 0.14em;
}

footer span:last-child {
  color: rgba(255, 248, 238, 0.5);
  font-weight: 430;
  letter-spacing: 0.02em;
  text-align: right;
}

.sheet-root {
  position: fixed;
  inset: 0;
  z-index: 20;
  pointer-events: none;
}

.sheet-root.is-open {
  pointer-events: auto;
}

.sheet-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(8, 7, 6, 0);
  cursor: pointer;
  transition: background 180ms ease;
}

.sheet-root.is-open .sheet-scrim {
  background: rgba(8, 7, 6, 0.66);
}

.menu-sheet {
  position: absolute;
  right: 50%;
  bottom: 0;
  width: min(100%, 430px);
  max-height: min(92vh, 780px);
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 10px 22px 24px;
  border: 1px solid rgba(217, 187, 130, 0.54);
  border-bottom: 0;
  border-radius: 24px 24px 0 0;
  background:
    radial-gradient(circle at 16% 12%, rgba(217, 187, 130, 0.055), transparent 24%),
    radial-gradient(circle at 84% 0%, rgba(255, 248, 238, 0.035), transparent 18%),
    linear-gradient(180deg, rgba(14, 13, 10, 0.995), rgba(8, 8, 7, 0.998) 58%),
    #090807;
  box-shadow:
    inset 0 0 0 1px rgba(217, 187, 130, 0.14),
    inset 0 1px 0 rgba(255, 248, 238, 0.055),
    0 -20px 48px rgba(0, 0, 0, 0.52);
  transform: translate(50%, 105%);
  transition: transform 230ms ease;
  isolation: isolate;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.menu-sheet::before,
.menu-sheet::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.menu-sheet::before {
  inset: 0;
  z-index: 0;
  opacity: 0.36;
  background:
    repeating-linear-gradient(90deg, rgba(255, 248, 238, 0.018) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(0deg, rgba(217, 187, 130, 0.012) 0 1px, transparent 1px 6px);
  mix-blend-mode: screen;
}

.menu-sheet::after {
  content: none;
}

.menu-sheet > * {
  position: relative;
  z-index: 1;
}

.menu-sheet::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.sheet-root.is-open .menu-sheet {
  transform: translate(50%, 0);
}

.sheet-handle {
  width: 76px;
  height: 3px;
  margin: 0 auto 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(217, 187, 130, 0.54), transparent);
}

.sheet-topbar {
  position: relative;
  top: auto;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding: 5px 0 0;
  background: transparent;
}

.sheet-topbar p {
  margin: 0;
  color: var(--gold-soft);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.34em;
}

.sheet-topbar button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(217, 187, 130, 0.5);
  border-radius: 10px;
  background: rgba(7, 7, 6, 0.8);
  color: var(--gold);
  font-size: 11px;
  font-weight: 760;
  line-height: 1;
  letter-spacing: 0.03em;
}

.sheet-hero {
  position: relative;
  min-height: 205px;
  margin: 0 -22px 0;
  overflow: hidden;
  border-top: 1px solid rgba(217, 187, 130, 0.16);
  border-bottom: 1px solid rgba(217, 187, 130, 0.18);
  background:
    linear-gradient(90deg, rgba(8, 7, 6, 0.96) 0%, rgba(8, 7, 6, 0.78) 38%, rgba(8, 7, 6, 0.16) 100%),
    url("../assets/coffee-croissant.webp") center right / cover no-repeat,
    #12100d;
}

.sheet-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(8, 7, 6, 0.42) 100%),
    radial-gradient(circle at 18% 16%, rgba(217, 187, 130, 0.12), transparent 30%);
  pointer-events: none;
}

.sheet-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 250px;
  padding: 36px 22px 28px;
}

.sheet-hero-copy p,
.menu-feature-copy p {
  margin: 0 0 13px;
  color: var(--gold-soft);
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.sheet-hero-copy p::after {
  content: "";
  display: inline-block;
  width: 46px;
  height: 1px;
  margin-left: 12px;
  vertical-align: middle;
  background: rgba(217, 187, 130, 0.58);
}

.sheet-hero-copy h2 {
  max-width: 230px;
  margin: 0;
  color: rgba(255, 248, 238, 0.94);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 47px;
  font-weight: 680;
  line-height: 0.94;
  letter-spacing: 0;
}

.sheet-hero-copy span {
  display: block;
  max-width: 215px;
  margin-top: 20px;
  color: rgba(255, 248, 238, 0.68);
  font-size: 13px;
  font-weight: 430;
  line-height: 1.45;
}

.sheet-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 0 -22px 20px;
  padding: 17px 22px 13px;
  border-top: 1px solid rgba(217, 187, 130, 0.12);
  border-bottom: 1px solid rgba(217, 187, 130, 0.16);
  background: rgba(8, 7, 6, 0.84);
}

.sheet-tabs a,
.sheet-tabs span {
  color: rgba(255, 248, 238, 0.72);
  font-size: 10.5px;
  font-weight: 790;
  line-height: 1;
  letter-spacing: 0.22em;
  text-decoration: none;
  text-transform: uppercase;
}

.sheet-tabs a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  padding-bottom: 10px;
  opacity: 0.76;
  transition:
    color 180ms ease,
    opacity 180ms ease,
    transform 180ms ease;
}

.sheet-tabs a::after {
  content: "";
  position: absolute;
  left: 0;
  width: min(68px, 74%);
  bottom: 0;
  height: 1px;
  background: rgba(217, 187, 130, 0.72);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 240ms ease;
}

.sheet-tabs a:hover,
.sheet-tabs a:focus-visible,
.sheet-tabs a.is-active {
  color: rgba(255, 248, 238, 0.94);
  opacity: 1;
}

.sheet-tabs a:focus-visible {
  outline: 1px solid rgba(217, 187, 130, 0.55);
  outline-offset: 5px;
}

.sheet-tabs a.is-active {
  transform: translateY(-1px);
}

.sheet-tabs a.is-active::after {
  transform: scaleX(1);
}

.sheet-tabs span {
  color: var(--gold);
  font-size: 18px;
  letter-spacing: 0;
}

.sheet-content {
  position: relative;
  padding-bottom: calc(8px + env(safe-area-inset-bottom));
}

.sheet-content::before {
  content: "";
  position: absolute;
  inset: -8px -12px 0;
  z-index: 0;
  pointer-events: none;
  border: 1px solid rgba(217, 187, 130, 0.15);
  border-radius: 18px 18px 2px 2px;
  box-shadow:
    inset 0 0 0 1px rgba(255, 248, 238, 0.02),
    inset 0 0 34px rgba(217, 187, 130, 0.022);
}

.sheet-content > * {
  position: relative;
  z-index: 1;
}

.menu-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 18px;
  align-items: center;
  padding: 4px 0 18px;
  border-bottom: 1px solid rgba(217, 187, 130, 0.16);
}

.menu-feature-photo {
  min-height: 132px;
  border: 1px solid rgba(217, 187, 130, 0.16);
  background:
    linear-gradient(90deg, rgba(8, 7, 6, 0.04), rgba(8, 7, 6, 0.3)),
    url("../assets/coffee-croissant.webp") center right / cover no-repeat;
}

.menu-feature-copy h3 {
  margin: 0;
  color: rgba(255, 248, 238, 0.93);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  font-weight: 560;
  line-height: 1.02;
  letter-spacing: 0;
}

.menu-feature-copy span {
  display: block;
  margin-top: 12px;
  color: rgba(255, 248, 238, 0.58);
  font-size: 11px;
  line-height: 1.38;
}

.menu-feature-copy strong {
  display: block;
  margin-top: 14px;
  color: var(--gold-soft);
  font-size: 18px;
  font-weight: 820;
}

.menu-sheet .menu-group + .menu-group {
  margin-top: 22px;
}

.menu-sheet .menu-group h3 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 20px 0 8px;
  color: var(--gold-soft);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.28em;
}

.menu-sheet .menu-group h3::after {
  content: "";
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, rgba(217, 187, 130, 0.45), transparent);
}

.menu-sheet .menu-items {
  border-top: 0;
}

.menu-sheet .menu-item {
  width: 100%;
  border: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px 18px;
  column-gap: 10px;
  min-height: 70px;
  align-items: flex-start;
  padding: 13px 0 12px;
  border-bottom: 1px solid rgba(217, 187, 130, 0.105);
  background: transparent;
  border-bottom-color: rgba(217, 187, 130, 0.105);
  color: rgba(255, 248, 238, 0.92);
  font-size: 14.5px;
  font-weight: 530;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    background 150ms ease,
    opacity 150ms ease,
    padding-bottom 180ms ease;
}

.menu-sheet .menu-item::after {
  content: "→";
  align-self: center;
  justify-self: end;
  margin-left: 0;
  color: rgba(217, 187, 130, 0.72);
  font-size: 18px;
  line-height: 1;
  transition: transform 180ms ease;
}

.menu-sheet .menu-item span {
  min-width: 0;
}

.menu-sheet .menu-item.is-expanded {
  padding-bottom: 18px;
  background:
    linear-gradient(90deg, rgba(217, 187, 130, 0.045), rgba(217, 187, 130, 0.012) 42%, transparent),
    rgba(8, 7, 6, 0.18);
}

.menu-sheet .menu-item.is-expanded::after {
  transform: rotate(90deg);
}

.menu-sheet .menu-item small {
  display: block;
  margin-top: 5px;
  color: rgba(255, 248, 238, 0.58);
  font-size: 10.5px;
  font-weight: 420;
  line-height: 1.22;
  letter-spacing: 0;
}

.menu-sheet .menu-item:active {
  background: rgba(217, 187, 130, 0.055);
  opacity: 0.92;
}

.menu-sheet .menu-item strong {
  width: 82px;
  margin-top: 1px;
  justify-self: end;
  color: var(--gold-soft);
  font-size: 15px;
  font-weight: 820;
  font-variant-numeric: tabular-nums;
}

.menu-item-detail {
  position: relative;
  grid-column: 1 / -1;
  display: block;
  max-height: 0;
  margin-top: 0;
  padding: 0 14px 0 16px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 13px;
  background:
    radial-gradient(circle at 0% 0%, rgba(217, 187, 130, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255, 248, 238, 0.035), rgba(217, 187, 130, 0.025)),
    rgba(6, 6, 5, 0.68);
  box-shadow:
    inset 0 1px 0 rgba(255, 248, 238, 0.026),
    0 8px 18px rgba(0, 0, 0, 0.16);
  color: rgba(255, 248, 238, 0.72);
  font-size: 11.8px;
  font-weight: 450;
  line-height: 1.55;
  opacity: 0;
  transform: translateY(-4px);
  transition:
    max-height 240ms ease,
    margin-top 180ms ease,
    padding 180ms ease,
    opacity 180ms ease,
    transform 180ms ease,
    border-color 180ms ease;
}

.menu-item-detail::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 2px;
  border-radius: 99px;
  background: linear-gradient(180deg, rgba(217, 187, 130, 0.8), rgba(217, 187, 130, 0.18));
}

.menu-item-detail b {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 6px;
  color: var(--gold-soft);
  font-size: 9.5px;
  font-weight: 820;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.menu-item-detail b::after {
  content: "";
  width: 34px;
  height: 1px;
  background: linear-gradient(90deg, rgba(217, 187, 130, 0.52), transparent);
}

.menu-item.is-expanded .menu-item-detail {
  max-height: 112px;
  margin-top: 11px;
  padding: 12px 14px 13px 16px;
  border-color: rgba(217, 187, 130, 0.22);
  opacity: 1;
  transform: translateY(0);
}

.sheet-signature {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  width: min(230px, 70%);
  margin: 23px auto 2px;
  color: var(--gold);
}

.sheet-signature span {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(217, 187, 130, 0.35));
}

.sheet-signature span:last-child {
  background: linear-gradient(90deg, rgba(217, 187, 130, 0.35), transparent);
}

.sheet-signature b {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(217, 187, 130, 0.5);
  color: rgba(255, 248, 238, 0.86);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

@keyframes pageIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 560px) {
  .page-shell {
    padding: 28px 0;
  }

  .business-card {
    min-height: auto;
    border-radius: 24px;
    border: 1px solid rgba(217, 187, 130, 0.16);
    box-shadow: 0 22px 80px rgba(0, 0, 0, 0.46);
  }
}

@media (max-width: 390px) {
  .business-card {
    padding: 26px 18px 24px;
  }

  .brand-copy p {
    font-size: 17px;
  }

  .brand-kicker {
    display: none;
  }

  .status-panel {
    border-radius: 22px;
  }

  .quick-actions {
    gap: 9px;
  }

  .quick-actions a {
    min-height: 78px;
  }

  .campaign-offer {
    font-size: 23.5px;
  }
}

@media (max-width: 370px) {
  .business-card {
    padding-right: 14px;
    padding-left: 14px;
  }

  .brand-mark {
    width: 50px;
    height: 50px;
  }

  .hero h1 {
    font-size: 44px;
  }

  .status-location p {
    width: 68px;
    font-size: 13px;
  }

  .quick-actions a {
    min-height: 74px;
  }

  .quick-actions span {
    font-size: 9.6px;
    letter-spacing: 0.055em;
  }

  .campaign {
    padding-left: 15px;
  }

  .campaign button {
    min-width: 118px;
    padding: 0 13px;
    font-size: 12px;
  }

  .section-heading h2,
  .sheet-header h2 {
    font-size: 34px;
  }
}

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

  .business-card::before,
  .business-card::after,
  .floating-gold-field {
    transform: none !important;
  }
}

/* Working copy: midnight navy with small separated gold glows */
:root{--noir-navy:#020c17;--noir-navy-panel:#061321;background:var(--noir-navy);color-scheme:dark}
html,body,.page-shell{background:var(--noir-navy)}
.business-card::before{background:var(--noir-navy)}
.floating-gold-field{position:fixed;inset:0 auto 0 50%;width:min(100vw,430px);height:100vh;border-radius:0;opacity:.7;background:radial-gradient(ellipse 48px 72px at 7% 10%,rgba(190,141,66,.25) 0%,rgba(190,141,66,.11) 40%,transparent 78%),radial-gradient(ellipse 46px 63px at 94% 35%,rgba(196,149,73,.22) 0%,rgba(196,149,73,.09) 42%,transparent 78%),radial-gradient(ellipse 58px 68px at 3% 65%,rgba(183,133,59,.21) 0%,rgba(183,133,59,.08) 42%,transparent 78%),radial-gradient(ellipse 44px 56px at 92% 91%,rgba(204,159,82,.20) 0%,rgba(204,159,82,.07) 42%,transparent 78%);filter:blur(12px);transform:translate3d(calc(-50% + var(--gold-x) * .12),calc(var(--gold-y) * .12),0);transition:transform 300ms ease-out;will-change:transform;pointer-events:none}
.business-card::after{inset:0;opacity:.3;background:linear-gradient(90deg,rgba(0,6,14,.17),transparent 24%,transparent 76%,rgba(0,6,14,.17));transform:none;will-change:auto}
.status-panel{background:rgba(5,16,29,.86)}
.quick-actions a{background:rgba(5,16,29,.82)}
.quick-actions a:hover{background:rgba(12,28,45,.94)}
.menu-preview,.google-review-feed,.contact-section{background:rgba(5,16,29,.66)}
.menu-sheet{background:radial-gradient(ellipse 52px 68px at 7% 9%,rgba(190,141,66,.08),transparent 80%),radial-gradient(ellipse 40px 55px at 94% 70%,rgba(190,141,66,.06),transparent 80%),#020c17}
@media(prefers-reduced-motion:reduce){.floating-gold-field{transform:translateX(-50%)!important;transition:none}}

.section-block,.info-block{background:rgba(5,16,29,.8)}
.review-card{background:rgba(6,19,33,.82)}

/* Fine gold raindrops, confined behind the content */
.floating-gold-field{inset:0 auto 0 50%;width:min(100vw,430px);height:100vh;overflow:hidden;background:none;filter:none;opacity:1;transform:translateX(-50%);transition:none;will-change:auto}
.gold-raindrop{position:absolute;top:-42px;left:var(--drop-x);width:3px;height:var(--drop-height);border-radius:75% 75% 52% 52% / 100% 100% 35% 35%;background:linear-gradient(180deg,rgba(216,172,91,.12),rgba(223,181,103,.72) 58%,#e4bc75);box-shadow:0 0 7px rgba(219,175,91,.32);opacity:var(--drop-opacity);animation:noir-gold-rain var(--drop-duration) linear var(--drop-delay) infinite;pointer-events:none;will-change:transform}
@keyframes noir-gold-rain{0%{transform:translate3d(7px,-30px,0)}100%{transform:translate3d(-10px,calc(100vh + 90px),0)}}
@media(prefers-reduced-motion:reduce){.gold-raindrop{animation:none!important;top:calc(8% + var(--drop-x) * .8);transform:none;will-change:auto}.floating-gold-field{transform:translateX(-50%)!important}}

.gold-raindrop{width:4px;opacity:calc(var(--drop-opacity) * 1.35);background:linear-gradient(180deg,rgba(220,177,95,.18),rgba(231,189,111,.85) 58%,#efce8e);box-shadow:0 0 7px rgba(226,181,96,.42)}

/* L’ECLAIR branding and reference menu */
.leclair-brand-logo{width:96px;height:96px;display:block;object-fit:contain;border-radius:50%;flex:none}.brand-row{gap:13px}.brand-copy p:first-child{font-family:Georgia,'Times New Roman',serif;font-size:24px;letter-spacing:.08em;color:#d1a85e}.brand-copy p:last-child{font-size:10px;letter-spacing:.29em;margin-top:7px;color:#dec38d}.brand-kicker{font-size:9px;letter-spacing:.22em;max-width:95px}.hero h1{margin-top:25px;letter-spacing:-.03em}.status-now{font-size:13px}.status-hours{font-size:10px}.status-location p{font-size:10px}.info-list a{max-width:225px;overflow-wrap:anywhere}.leclair-social{display:block;position:relative;padding:24px 20px;border:1px solid #d9bb8238;border-radius:20px;margin-top:20px;background:#061321}.leclair-social>span{display:block;font-size:9px;letter-spacing:.24em;color:#d9bb82}.leclair-social>strong{display:block;font-size:16px;font-weight:500;margin:10px 22px 8px 0;overflow-wrap:anywhere}.leclair-social>small{font-size:11px;line-height:1.6;color:#b7bcc2}.leclair-social>b{position:absolute;right:20px;top:42px;color:#d9bb82;font-size:24px;font-weight:400}.status-now>span{background:#d2ac69;box-shadow:0 0 8px #d2ac6930}
.sheet-root{z-index:100;visibility:hidden;opacity:0;transition:opacity .25s,visibility .25s;display:grid;place-items:center;padding:18px}.sheet-root.is-open{visibility:visible;opacity:1}.sheet-scrim{background:rgba(0,4,10,.7);backdrop-filter:blur(10px)}.sheet-root.is-open .sheet-scrim{background:rgba(0,4,10,.75)}.leclair-menu.menu-sheet{position:relative;right:auto;bottom:auto;width:min(100%,748px);max-height:calc(100dvh - 36px);padding:0 0 28px;border:1px solid #c9a96c;border-radius:38px;background:#060b11;box-shadow:0 25px 90px #000b;transform:translateY(22px);transition:transform .25s;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;outline:none}.sheet-root.is-open .leclair-menu{transform:translateY(0)}.leclair-menu::before,.leclair-menu::after{content:none}.leclair-menu .le-menu-header{position:sticky;top:0;z-index:10;padding:29px 35px 28px;margin:0;min-height:108px;border-bottom:1px solid #c9a96c38;background:#060b11f5;backdrop-filter:blur(12px)}.le-menu-header p{font-family:Georgia,'Times New Roman',serif;font-size:24px;font-weight:400;letter-spacing:.2em;line-height:1.1}.le-menu-header>div>span{display:block;margin-top:9px;font-size:9px;font-weight:500;letter-spacing:.38em;color:#d9bb82}.le-menu-header .close-menu{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #d9bb82;background:transparent;min-height:43px;padding:0 19px;border-radius:999px;font-size:13px;letter-spacing:0;font-weight:500;flex:none}.le-menu-header .close-menu>span{font-size:22px;line-height:1;font-weight:300}.leclair-menu .le-menu-hero{min-height:0;height:405px;isolation:isolate;background:#090b0d;margin:0;border:0;overflow:hidden}.le-hero-scene{position:absolute;right:0;top:0;width:67%;height:100%;z-index:-1;overflow:hidden}.le-photo-crop{display:block;width:100%;height:100%;border:0;stroke:none}.le-hero-scene .le-photo-crop{width:100%;height:100%}.le-menu-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#090b0d 0%,#090b0df5 27%,#090b0d9c 46%,#090b0d00 74%),linear-gradient(0deg,#060b11b3,transparent 42%);z-index:-1}.le-menu-hero .sheet-hero-copy{max-width:100%;padding:68px 42px 35px;z-index:2}.le-menu-hero .sheet-hero-copy>p{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:600;letter-spacing:.35em;margin:0 0 27px}.le-menu-hero .sheet-hero-copy>p::after{content:none}.le-menu-hero .sheet-hero-copy>p>span{display:block;width:140px;height:1px;margin:0;background:#d9bb8277;max-width:none}.le-menu-hero h2{font-family:Georgia,'Times New Roman',serif;font-size:86px;font-weight:400;line-height:.95;letter-spacing:-3px;max-width:none;margin:0;color:#fff9ec}.le-menu-hero .sheet-hero-copy>span{font-size:17px;line-height:1.5;color:#ebe7df;max-width:400px;margin-top:27px}.leclair-menu .le-menu-tabs{position:sticky;top:108px;z-index:8;display:grid;grid-template-columns:1fr 1fr 1fr 28px;gap:0;margin:0 20px 0;padding:4px 13px 4px 4px;min-height:68px;border:1px solid #c9a96c55;border-radius:999px;background:#080d13f2;backdrop-filter:blur(12px)}.le-menu-tabs a{display:flex;justify-content:center;align-items:center;min-height:58px;padding:0 12px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:550;letter-spacing:.25em;opacity:1;color:#d8d7d4;text-align:center;transform:none}.le-menu-tabs a::after{content:none}.le-menu-tabs a.is-active{color:#e4c88f;border:1px solid #e4c88f;box-shadow:inset 0 0 0 1px #e4c88f80;transform:none}.le-menu-tabs>span{font-size:26px;color:#d9bb82;text-align:center}.leclair-menu .le-menu-content{padding:38px 24px 10px}.le-menu-content::before{content:none}.leclair-menu .le-menu-feature{display:grid;grid-template-columns:46% 1fr;gap:0;padding:0;margin:0 0 39px;border:1px solid #c9a96c77;border-radius:26px;overflow:hidden;min-height:244px;background:#0a0d10}.le-menu-feature .menu-feature-photo{min-height:0;height:100%;border:0;background:none}.le-menu-feature .menu-feature-copy{position:relative;padding:30px 26px 26px;align-self:stretch}.le-menu-feature .menu-feature-copy>p{font-size:10px;letter-spacing:.35em;margin:0 0 18px}.le-menu-feature .menu-feature-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:38px;line-height:1.08;font-weight:400;letter-spacing:-.8px;color:#f7f3e9}.le-menu-feature .menu-feature-copy>span{font-size:12px;line-height:1.6;margin-top:15px;color:#bebfc0;max-width:210px}.le-menu-feature .menu-feature-copy>strong{font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:400;line-height:1.2;margin-top:24px;color:#e3c184}.le-feature-open{position:absolute;right:22px;bottom:23px;width:42px;height:42px;display:grid;place-items:center;background:transparent;border:1px solid #d9bb82;border-radius:50%;color:#d9bb82}.le-feature-open svg{width:24px;height:24px;stroke-width:1.2}.leclair-menu .le-menu-group h3{font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.32em;color:#dfc28c;display:flex;align-items:center;gap:24px;margin:0 12px 8px}.leclair-menu .le-menu-group h3::after{content:none}.le-menu-group h3>span{flex:1;display:block;height:1px;background:#c9a96c66}.leclair-menu .le-menu-group+.le-menu-group{margin-top:36px}.leclair-menu .le-menu-item{display:grid;grid-template-columns:102px minmax(0,1fr) 84px 42px;gap:12px;align-items:center;min-height:130px;padding:18px 9px;border-bottom:1px solid #c9a96c44;outline-offset:-1px}.leclair-menu .le-menu-item::after{content:none}.le-item-photo{display:block;width:96px;height:96px;border-radius:50%;overflow:hidden;border:1px solid #c9a96c2b;background:#020c17}.le-item-photo .le-photo-crop{width:100%;height:100%}.le-item-text{display:block;min-width:0}.leclair-menu .le-item-name{display:block;font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:400;line-height:1.16;color:#f6f1e7;letter-spacing:-.4px}.leclair-menu .le-menu-item small{font-size:12px;line-height:1.5;font-weight:400;color:#b6b8bb;margin-top:8px}.leclair-menu .le-menu-item>strong{width:auto;min-width:0;font-size:18px;font-weight:650;color:#e0bc7b;white-space:nowrap;text-align:right}.le-item-arrow{display:grid;place-items:center;width:40px;height:40px;border:1px solid #c9a96c;border-radius:50%;color:#d9bb82}.le-item-arrow svg{width:24px;height:24px;stroke-width:1.1;transition:transform .2s}.le-menu-item.is-expanded .le-item-arrow svg{transform:rotate(90deg)}.le-menu-item.is-expanded .le-item-detail{max-height:180px;margin-top:0;font-size:12px;background:#07121d;box-shadow:none}.le-item-detail{grid-column:1/-1!important;box-sizing:border-box}.le-item-detail b{display:block}.le-cold-note{margin:22px 12px;padding:20px;border:1px solid #c9a96c33;border-radius:16px;background:#07121d}.le-cold-note p{font-size:14px;line-height:1.7;color:#c7c9cc;margin:0}.le-cold-note a{display:inline-flex;gap:12px;align-items:center;color:#d9bb82;font-size:13px;margin-top:15px}.le-cold-note svg{width:20px;height:20px;stroke-width:1.2}.le-menu-note{font-size:10px;line-height:1.7;color:#9299a0;margin:30px 14px 20px}.leclair-menu .sheet-signature{margin-top:23px}.leclair-menu button:hover,.leclair-menu .le-menu-item:hover{background-color:#d9bb8209}.leclair-menu a:focus-visible,.leclair-menu button:focus-visible,.le-menu-item:focus-visible{outline:2px solid #d9bb82;outline-offset:3px}
@media(max-width:560px){.leclair-brand-logo{width:76px;height:76px}.brand-copy p:first-child{font-size:21px}.brand-copy p:last-child{font-size:9px}.hero h1{font-size:clamp(41px,12.5vw,58px)}.sheet-root{padding:9px}.leclair-menu.menu-sheet{max-height:calc(100dvh - 18px);border-radius:25px;padding-bottom:20px}.leclair-menu .le-menu-header{padding:21px 19px 20px;min-height:82px}.le-menu-header p{font-size:18px;letter-spacing:.17em}.le-menu-header>div>span{font-size:7px;letter-spacing:.25em;margin-top:7px}.le-menu-header .close-menu{min-height:35px;padding:0 12px;font-size:11px;gap:8px}.le-menu-header .close-menu>span{font-size:19px}.leclair-menu .le-menu-hero{height:304px}.le-menu-hero .sheet-hero-copy{padding:42px 22px 25px}.le-menu-hero .sheet-hero-copy>p{font-size:9px;letter-spacing:.32em;gap:16px;margin-bottom:23px}.le-menu-hero .sheet-hero-copy>p>span{width:66px}.le-menu-hero h2{font-size:57px;letter-spacing:-2px;line-height:.98}.le-menu-hero .sheet-hero-copy>span{font-size:12px;margin-top:23px;max-width:245px}.le-hero-scene{width:70%}.le-menu-hero::after{background:linear-gradient(90deg,#090b0d 0%,#090b0de8 25%,#090b0d7a 48%,transparent 80%),linear-gradient(0deg,#060b1199,transparent 50%)}.leclair-menu .le-menu-tabs{top:82px;min-height:52px;margin:0 11px;padding:3px 8px 3px 3px;grid-template-columns:1fr 1fr 1fr 21px}.le-menu-tabs a{min-height:44px;padding:0 5px;font-size:8px;letter-spacing:.16em}.le-menu-tabs>span{font-size:20px}.leclair-menu .le-menu-content{padding:24px 12px 10px}.leclair-menu .le-menu-feature{min-height:178px;grid-template-columns:45% 1fr;border-radius:19px;margin-bottom:29px}.le-menu-feature .menu-feature-copy{padding:22px 15px 19px}.le-menu-feature .menu-feature-copy>p{font-size:8px;letter-spacing:.25em;margin-bottom:14px}.le-menu-feature .menu-feature-copy h3{font-size:28px}.le-menu-feature .menu-feature-copy>span{font-size:10px;line-height:1.45;margin-top:11px}.le-menu-feature .menu-feature-copy>strong{font-size:22px;margin-top:17px}.le-feature-open{width:30px;height:30px;right:12px;bottom:15px}.le-feature-open svg{width:18px;height:18px}.leclair-menu .le-menu-group h3{font-size:10px;letter-spacing:.25em;margin:0 6px 5px;gap:15px}.leclair-menu .le-menu-item{grid-template-columns:59px minmax(0,1fr) 56px 28px;gap:9px;min-height:100px;padding:14px 3px}.le-item-photo{width:58px;height:58px}.leclair-menu .le-item-name{font-size:20px;line-height:1.13;letter-spacing:-.3px}.leclair-menu .le-menu-item small{font-size:9px;line-height:1.4;margin-top:6px}.leclair-menu .le-menu-item>strong{font-size:13px}.le-item-arrow{width:28px;height:28px}.le-item-arrow svg{width:18px;height:18px}.le-menu-note{font-size:9px;margin:24px 6px 20px}.le-cold-note{margin:18px 4px;padding:16px}.le-cold-note p{font-size:12px}.le-cold-note a{font-size:12px}.leclair-menu .le-menu-item.is-expanded .le-item-detail{font-size:11px}.info-list a{max-width:190px;font-size:11px}}
@media(max-width:350px){.leclair-menu .le-menu-item{grid-template-columns:49px minmax(0,1fr) 48px 24px;gap:6px}.le-item-photo{width:48px;height:48px}.leclair-menu .le-item-name{font-size:18px}.leclair-menu .le-menu-item>strong{font-size:12px}.le-item-arrow{width:24px;height:24px}.le-menu-header p{font-size:16px}.le-menu-header>div>span{font-size:6px}.le-menu-hero h2{font-size:51px}.le-feature-open{position:static;margin-top:10px;float:right}.le-menu-feature .menu-feature-copy{padding:19px 12px 17px}.le-menu-feature .menu-feature-copy>strong{font-size:20px}.le-menu-tabs a{font-size:7px;letter-spacing:.12em}.brand-copy p:first-child{font-size:18px}.leclair-brand-logo{width:68px;height:68px}.brand-row{gap:8px}}
@media(prefers-reduced-motion:reduce){.sheet-root,.leclair-menu.menu-sheet{transition:none}}

/* Original soft gold field, reduced by 15 percent */
.floating-gold-field {
  position: fixed;
  inset: auto;
  top: -187px;
  left: calc(50% - 306px);
  z-index: 0;
  width: 366px;
  height: 1139px;
  border-radius: 54% 46% 52% 48%;
  pointer-events: none;
  opacity: 0.8;
  background:
    radial-gradient(ellipse 82% 20% at 58% 12%, rgba(230, 196, 127, 0.47) 0%, rgba(192, 137, 61, 0.24) 44%, transparent 82%),
    radial-gradient(ellipse 86% 22% at 38% 34%, rgba(221, 178, 100, 0.3) 0%, rgba(139, 90, 41, 0.14) 50%, transparent 82%),
    radial-gradient(ellipse 86% 22% at 64% 56%, rgba(228, 194, 126, 0.26) 0%, rgba(158, 103, 43, 0.13) 50%, transparent 84%),
    radial-gradient(ellipse 80% 21% at 42% 78%, rgba(214, 169, 89, 0.36) 0%, rgba(111, 73, 35, 0.17) 52%, transparent 84%),
    linear-gradient(180deg, transparent 0%, rgba(217, 187, 130, 0.078) 18%, rgba(157, 101, 42, 0.068) 40%, rgba(217, 187, 130, 0.058) 58%, rgba(97, 65, 33, 0.07) 80%, transparent 100%);
  filter: blur(34px);
  overflow: visible;
  transform: translate3d(var(--gold-x), var(--gold-y), 0) rotate(var(--gold-rotate));
  transition: transform 300ms ease-out;
  will-change: transform, opacity;
}
@media(prefers-reduced-motion:reduce){.floating-gold-field{transform:rotate(-18deg)!important;transition:none}}

/* Supplied coffee and croissant photograph in all featured areas */
.campaign{background:linear-gradient(90deg,rgba(2,12,23,.95) 0%,rgba(2,12,23,.75) 37%,rgba(2,12,23,.18) 73%,rgba(2,12,23,.08) 100%),url("../assets/coffee-croissant.webp") 65% center / cover no-repeat,#020c17}
.leclair-menu .le-hero-scene{width:100%;height:100%}.le-hero-scene>img{display:block;width:100%;height:100%;object-fit:cover;object-position:65% center}.le-menu-feature .menu-feature-photo{overflow:hidden}.le-menu-feature .menu-feature-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:72% center}

/* Phone-sized menu: smaller cover, earlier access to products */
.leclair-menu.menu-sheet{width:min(100%,460px);border-radius:27px;max-height:calc(100dvh - 28px)}
.leclair-menu .le-menu-header{height:76px;min-height:76px;padding:17px 22px}
.le-menu-header p{font-size:20px;letter-spacing:.16em}.le-menu-header>div>span{font-size:7px;letter-spacing:.25em;margin-top:6px}.le-menu-header .close-menu{min-height:35px;padding:0 13px;font-size:11px;gap:9px}.le-menu-header .close-menu>span{font-size:19px}
.leclair-menu .le-menu-hero{height:234px}.le-menu-hero .sheet-hero-copy{padding:31px 23px 21px}.le-menu-hero .sheet-hero-copy>p{font-size:9px;gap:17px;letter-spacing:.28em;margin-bottom:17px}.le-menu-hero .sheet-hero-copy>p>span{width:80px}.le-menu-hero h2{font-size:51px;line-height:.98;letter-spacing:-1.8px}.le-menu-hero .sheet-hero-copy>span{font-size:12px;margin-top:18px;max-width:275px}
.leclair-menu .le-menu-tabs{top:76px;min-height:52px;margin:0 12px;padding:3px 9px 3px 3px;grid-template-columns:1fr 1fr 1fr 23px}.le-menu-tabs a{min-height:44px;padding:0 6px;font-size:9px;letter-spacing:.17em}.le-menu-tabs>span{font-size:21px}
.leclair-menu .le-menu-content{padding:23px 14px 10px}.leclair-menu .le-menu-feature{min-height:156px;grid-template-columns:44% 1fr;border-radius:19px;margin-bottom:27px}.le-menu-feature .menu-feature-copy{padding:19px 17px 17px}.le-menu-feature .menu-feature-copy>p{font-size:8px;letter-spacing:.24em;margin-bottom:10px}.le-menu-feature .menu-feature-copy h3{font-size:27px}.le-menu-feature .menu-feature-copy>span{font-size:10px;line-height:1.45;margin-top:9px;max-width:175px}.le-menu-feature .menu-feature-copy>strong{font-size:22px;margin-top:14px}.le-feature-open{position:absolute;width:30px;height:30px;right:13px;bottom:13px;margin:0;float:none}.le-feature-open svg{width:18px;height:18px}
.leclair-menu .le-menu-group h3{font-size:10px;letter-spacing:.25em;margin:0 6px 4px;gap:16px}.leclair-menu .le-menu-item{grid-template-columns:62px minmax(0,1fr) 60px 30px;gap:10px;min-height:94px;padding:14px 4px}.le-item-photo{width:60px;height:60px}.leclair-menu .le-item-name{font-size:22px;line-height:1.12}.leclair-menu .le-menu-item small{font-size:10px;line-height:1.4;margin-top:5px}.leclair-menu .le-menu-item>strong{font-size:14px}.le-item-arrow{width:30px;height:30px}.le-item-arrow svg{width:19px;height:19px}.le-menu-note{font-size:9px;margin:25px 7px 18px}
@media(max-width:560px){.sheet-root{padding:8px}.leclair-menu.menu-sheet{max-height:calc(100dvh - 16px);border-radius:23px}.leclair-menu .le-menu-header{height:70px;min-height:70px;padding:14px 18px}.le-menu-header p{font-size:18px}.le-menu-header>div>span{font-size:7px}.leclair-menu .le-menu-hero{height:210px}.le-menu-hero .sheet-hero-copy{padding:27px 20px 18px}.le-menu-hero .sheet-hero-copy>p{font-size:9px;margin-bottom:17px}.le-menu-hero .sheet-hero-copy>p>span{width:65px}.le-menu-hero h2{font-size:46px;line-height:.98;letter-spacing:-1.5px}.le-menu-hero .sheet-hero-copy>span{font-size:12px;margin-top:16px}.leclair-menu .le-menu-tabs{top:70px;margin:0 10px;min-height:50px;padding:3px 7px 3px 3px;grid-template-columns:1fr 1fr 1fr 20px}.le-menu-tabs a{min-height:42px;font-size:8px;letter-spacing:.14em;padding:0 4px}.leclair-menu .le-menu-content{padding:20px 11px 10px}.leclair-menu .le-menu-feature{min-height:146px;margin-bottom:24px}.le-menu-feature .menu-feature-copy{padding:16px 14px 15px}.le-menu-feature .menu-feature-copy h3{font-size:25px}.le-menu-feature .menu-feature-copy>span{font-size:9px;line-height:1.45;margin-top:8px}.le-menu-feature .menu-feature-copy>strong{font-size:20px;margin-top:13px}.le-feature-open{width:28px;height:28px;right:10px;bottom:12px}.leclair-menu .le-menu-item{grid-template-columns:55px minmax(0,1fr) 54px 27px;gap:8px;min-height:89px;padding:12px 3px}.le-item-photo{width:54px;height:54px}.leclair-menu .le-item-name{font-size:20px}.leclair-menu .le-menu-item small{font-size:9px}.leclair-menu .le-menu-item>strong{font-size:13px}.le-item-arrow{width:27px;height:27px}.le-item-arrow svg{width:18px;height:18px}}
@media(max-width:350px){.leclair-menu .le-menu-header{height:66px;min-height:66px;padding:13px 15px}.le-menu-header p{font-size:16px}.le-menu-header>div>span{font-size:6px}.le-menu-header .close-menu{min-height:32px;padding:0 10px;font-size:10px}.leclair-menu .le-menu-hero{height:194px}.le-menu-hero .sheet-hero-copy{padding:25px 17px 16px}.le-menu-hero .sheet-hero-copy>p{margin-bottom:15px}.le-menu-hero h2{font-size:42px}.le-menu-hero .sheet-hero-copy>span{font-size:11px}.leclair-menu .le-menu-tabs{top:66px;margin:0 8px}.le-menu-tabs a{font-size:7px;letter-spacing:.1em}.leclair-menu .le-menu-content{padding:17px 9px 9px}.le-menu-feature .menu-feature-copy{padding:15px 11px 14px}.le-menu-feature .menu-feature-copy h3{font-size:23px}.le-menu-feature .menu-feature-copy>strong{font-size:19px}.le-feature-open{width:24px;height:24px;right:9px;bottom:12px}.le-feature-open svg{width:16px;height:16px}.leclair-menu .le-menu-item{grid-template-columns:47px minmax(0,1fr) 47px 24px;gap:6px;min-height:84px}.le-item-photo{width:46px;height:46px}.leclair-menu .le-item-name{font-size:18px}.leclair-menu .le-menu-item>strong{font-size:12px}.le-item-arrow{width:24px;height:24px}}

/* Keep the category pills clear of the outer frame */
.leclair-menu .le-menu-tabs{padding:6px;gap:6px;min-height:58px;grid-template-columns:1fr 1fr 1fr 22px}.le-menu-tabs a{min-height:42px}.le-menu-tabs a.is-active{box-shadow:none}
@media(max-width:560px){.leclair-menu .le-menu-tabs{padding:6px;gap:5px;min-height:56px;grid-template-columns:1fr 1fr 1fr 18px}.le-menu-tabs a{min-height:40px}}
@media(max-width:350px){.leclair-menu .le-menu-tabs{gap:4px;padding:5px;min-height:54px}.le-menu-tabs a{padding:0 3px}}

/* Individual product photographs: matching frames, no poster crops */
.leclair-menu .le-menu-item{grid-template-columns:76px minmax(0,1fr) 60px 30px;align-items:center;min-height:101px}.leclair-menu .le-item-photo{display:flex;align-items:center;justify-content:center;width:74px;height:74px;border-radius:14px;overflow:hidden;background:#020c17;border:1px solid rgba(201,169,108,.16);box-shadow:none}.le-item-photo .le-product-img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 50%;border-radius:0;margin:0;padding:0;transform:none}.leclair-menu .le-item-text{align-self:center}
@media(max-width:560px){.leclair-menu .le-menu-item{grid-template-columns:66px minmax(0,1fr) 54px 27px;min-height:97px;column-gap:8px}.leclair-menu .le-item-photo{width:64px;height:64px;border-radius:12px}}
@media(max-width:350px){.leclair-menu .le-menu-item{grid-template-columns:56px minmax(0,1fr) 47px 24px;min-height:88px;column-gap:6px}.leclair-menu .le-item-photo{width:54px;height:54px;border-radius:11px}}

/* A slightly smaller menu frame and cover */
.leclair-menu.menu-sheet{width:min(100%,420px);max-height:calc(100dvh - 48px);border-radius:24px}.leclair-menu .le-menu-header{height:70px;min-height:70px;padding:14px 19px}.le-menu-header p{font-size:18px}.leclair-menu .le-menu-hero{height:208px}.le-menu-hero .sheet-hero-copy{padding:26px 21px 17px}.le-menu-hero h2{font-size:46px}.le-menu-hero .sheet-hero-copy>p{margin-bottom:14px}.le-menu-hero .sheet-hero-copy>span{margin-top:15px}.leclair-menu .le-menu-tabs{top:70px;min-height:54px}.le-menu-tabs a{min-height:38px;font-size:8px}.leclair-menu .le-menu-content{padding:19px 12px 8px}.leclair-menu .le-menu-feature{min-height:144px;margin-bottom:23px}.le-menu-feature .menu-feature-copy{padding:16px 14px 14px}.le-menu-feature .menu-feature-copy h3{font-size:25px}.le-menu-feature .menu-feature-copy>strong{font-size:20px;margin-top:12px}.le-menu-feature .menu-feature-copy>span{font-size:9px}.leclair-menu .le-menu-item{min-height:94px;padding-top:11px;padding-bottom:11px;grid-template-columns:68px minmax(0,1fr) 54px 28px;gap:8px}.leclair-menu .le-item-photo{width:66px;height:66px;border-radius:12px}.leclair-menu .le-item-name{font-size:20px}.leclair-menu .le-menu-item>strong{font-size:13px}.le-item-arrow{width:28px;height:28px}
@media(max-width:560px){.sheet-root{padding:12px}.leclair-menu.menu-sheet{width:min(100%,420px);max-height:calc(100dvh - 24px)}.leclair-menu .le-menu-header{height:66px;min-height:66px;padding:13px 17px}.le-menu-header p{font-size:17px}.leclair-menu .le-menu-hero{height:192px}.le-menu-hero .sheet-hero-copy{padding:23px 18px 15px}.le-menu-hero h2{font-size:43px}.le-menu-hero .sheet-hero-copy>p{margin-bottom:13px}.le-menu-hero .sheet-hero-copy>span{margin-top:14px;font-size:11px}.leclair-menu .le-menu-tabs{top:66px;min-height:52px}.le-menu-tabs a{min-height:36px}.leclair-menu .le-menu-content{padding:17px 10px 8px}.leclair-menu .le-menu-feature{min-height:138px;margin-bottom:21px}.leclair-menu .le-menu-item{grid-template-columns:62px minmax(0,1fr) 52px 26px;min-height:91px;gap:7px}.leclair-menu .le-item-photo{width:60px;height:60px}.leclair-menu .le-item-name{font-size:19px}.le-item-arrow{width:26px;height:26px}}
@media(max-width:350px){.sheet-root{padding:10px}.leclair-menu .le-menu-header{height:62px;min-height:62px;padding:11px 14px}.le-menu-header p{font-size:15px}.leclair-menu .le-menu-hero{height:180px}.le-menu-hero .sheet-hero-copy{padding:22px 15px 14px}.le-menu-hero h2{font-size:39px}.leclair-menu .le-menu-tabs{top:62px;padding:5px;gap:4px}.le-menu-tabs a{font-size:7px;padding:0 3px}.leclair-menu .le-menu-item{grid-template-columns:52px minmax(0,1fr) 46px 24px;gap:6px;min-height:84px}.leclair-menu .le-item-photo{width:50px;height:50px}.leclair-menu .le-item-name{font-size:17px}.leclair-menu .le-menu-item>strong{font-size:12px}.le-item-arrow{width:24px;height:24px}.le-menu-feature .menu-feature-copy{padding:14px 10px 13px}.le-menu-feature .menu-feature-copy h3{font-size:23px}}

/* Separate the category bar from the header and cover */
.leclair-menu .le-menu-tabs{top:82px;margin-top:12px}
@media(max-width:560px){.leclair-menu .le-menu-tabs{top:78px;margin-top:12px}}
@media(max-width:350px){.leclair-menu .le-menu-tabs{top:74px}}

.leclair-menu .le-menu-tabs{isolation:isolate}.leclair-menu .le-menu-tabs::before{content:"";position:absolute;top:-13px;left:-15px;right:-15px;height:13px;background:#060b11;pointer-events:none;z-index:-1}

/* Circular menu close control */
.le-menu-header .close-menu{width:38px;height:38px;min-width:38px;min-height:38px;padding:0;border-radius:50%;display:grid;place-items:center;gap:0;flex:0 0 38px}.le-menu-header .close-menu svg{display:block;width:20px;height:20px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}

/* Stop the header spacer from covering the pill border */
.leclair-menu .le-menu-tabs::before{top:-13px;height:11px}.leclair-menu .le-menu-tabs{border:1px solid rgba(201,169,108,.55)}

/* Keep the spacer separate from the category border */
.leclair-menu .le-tabs-sticky{position:sticky;top:70px;z-index:8;padding:12px 12px 0;background:#060b11}.leclair-menu .le-tabs-sticky .le-menu-tabs{position:relative;top:auto;margin:0;isolation:auto}.leclair-menu .le-menu-tabs::before{content:none}
@media(max-width:560px){.leclair-menu .le-tabs-sticky{top:66px;padding:12px 10px 0}}
@media(max-width:350px){.leclair-menu .le-tabs-sticky{top:62px;padding:12px 8px 0}}
