/* 1.5: meal-led introduction and a direct path to a table enquiry. */
:root {
  --visit-paper: #f1eddf;
  --visit-ink: #18271f;
  --visit-muted: #46584b;
  --visit-line: #c4cabb;
}
::selection { background: var(--gold); color: var(--visit-ink); }
#hero { min-height: 780px; padding: 116px 5vw 100px; }
.hero-logo { width: 99px; height: 110px; margin: 0 auto 22px; }
.hero-h1 { font-size: clamp(42px, 5.5vw, 76px); line-height: 1.12; letter-spacing: -.025em; margin: 0; white-space: normal; text-shadow: none; }
.hero-sub { font-size: 16px; line-height: 1.7; margin: 24px auto 0; max-width: 650px; color: #f0f1e5; }
.hero-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 28px; }
.hero-btns .btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 14px 22px; font-size: 14px; }
.hero-btns .btn-outline { font-size: 14px; padding: 14px 22px; }
.hero-caption { font-size: 14px; line-height: 1.6; letter-spacing: 0; margin-top: 18px; color: #d7decf; }
.hero-photo::after { background: linear-gradient(180deg, #07100b9c, #07100b94 55%, #101714); }
.nav-links { gap: 24px; }
.nav-links a { font-size: 14px; }
.brand-location { font-size: 12px; letter-spacing: .02em; }
.visit-strip { box-shadow: none; }
.visit-strip span { font-size: 12px; letter-spacing: .02em; }
.visit-strip a.strip-book { font-size: 14px; gap: 20px; }

#pilihan { padding: 88px 5vw; background: var(--visit-paper); color: var(--visit-ink); }
.taste-inner { max-width: 1280px; margin: auto; display: grid; grid-template-columns: 1fr 1.15fr; gap: 7vw; }
.taste-intro h2 { font-size: clamp(36px, 4vw, 56px); line-height: 1.16; }
.taste-intro h2 em { color: var(--visit-ink); }
.taste-intro p { color: var(--visit-muted); font-size: 16px; max-width: 39ch; margin: 24px 0; }
.taste-intro .text-link { color: var(--visit-ink); border-color: var(--visit-muted); font-size: 14px; min-height: 44px; }
.taste-list article { display: flex; align-items: start; justify-content: space-between; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--visit-line); }
.taste-list article:first-child { padding-top: 0; }
.taste-list h3 { font-size: 28px; margin-bottom: 10px; }
.taste-list article p { font-size: 14px; line-height: 1.7; color: var(--visit-muted); max-width: 38ch; }
.taste-list article a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 5px; font-size: 14px; margin-top: 4px; }
.taste-list article a:hover { text-decoration-thickness: 2px; }
.taste-price { font-size: 16px; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; padding-top: 4px; }
.taste-note { margin-top: 20px; font-size: 14px; color: var(--visit-muted); }
#pilihan a:focus-visible { outline-color: var(--visit-ink); }

.story-p { font-size: 16px; line-height: 1.8; }
.story-photo figcaption { font-size: 14px; line-height: 1.6; padding-top: 12px; }
.story-actions { display: flex; gap: 24px; flex-wrap: wrap; }
.story-actions a { min-height: 44px; font-size: 14px; }
.events-home-sub { font-size: 16px; max-width: 400px; }
.poster-top, .poster-copy p, .poster-copy > span { font-size: 14px; letter-spacing: .02em; }
.schedule-foot { font-size: 14px; }
.menu-intro, .item-desc, .info-sub, .faq-list p { font-size: 16px; line-height: 1.75; }
.menu-intro { max-width: 65ch; }
.menu-footnote { font-size: 14px; color: #c9d4c1; text-align: center; padding: 24px 0; border-top: 1px solid #526047; margin-top: 8px; }
.info-title { font-size: 14px; letter-spacing: .02em; }
.info-whatsapp { font-size: 14px; min-height: 48px; }
.faq-list summary { font-size: 16px; }
.visit-dock .whatsapp-float { font-size: 14px; }

#reservasi { padding: 80px 5vw; background: #253629; }
.reservation-inner { max-width: 1280px; margin: auto; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 7vw; }
.reservation-copy h2 { font-size: clamp(36px, 4vw, 54px); }
.reservation-copy > p { font-size: 16px; max-width: 46ch; margin-top: 24px; color: #d6dfd1; }
.reservation-note { font-size: 14px; line-height: 1.7; color: #d6dfd1; }
.reservation-copy .reservation-note { font-size: 14px; margin: 18px 0; }
.reservation-copy > a { font-size: 14px; display: inline-block; padding-block: 12px; }
.visit-fields { display: grid; gap: 18px; }
.visit-fields label { display: block; margin-bottom: 8px; font-size: 14px; color: #eef0e5; }
.visit-fields input { width: 100%; min-width: 0; min-height: 52px; padding: 12px 14px; border: 1px solid #a1b194; border-radius: 3px; background: #16231a; color: #f3f3e9; font: inherit; font-size: 16px; color-scheme: dark; }
.visit-fields input::placeholder { color: #c9d4c1; opacity: 1; }
#table-request button { width: 100%; margin-top: 22px; display: flex; align-items: center; justify-content: center; gap: 20px; padding: 14px 18px; font-size: 16px; border: 0; }
#table-request > .reservation-note { margin-top: 16px; }
.table-request-error { color: #ffc3b1; font-size: 16px; margin-top: 14px; }
.table-request-error:empty { display: none; }

@media (max-width: 1100px) and (min-width: 801px) {
  .nav-links { gap: 14px; }
  .nav-links a { font-size: 12px; }
  .brand { gap: 10px; }
  .brand-location { padding-left: 10px; font-size: 12px; }
}
@media (max-width: 800px) {
  #hero { min-height: 740px; padding: 112px 6vw 90px; }
  .hero-logo { width: 90px; height: 100px; margin-bottom: 22px; }
  .hero-h1 { font-size: clamp(34px, 7.6vw, 60px); margin: 0; }
  .hero-sub { font-size: 16px; margin-top: 22px; }
  .hero-sub br { display: none; }
  .hero-caption { font-size: 14px; max-width: 37ch; margin-inline: auto; }
  .hero-btns { width: 100%; gap: 12px; }
  .hero-btns .btn-primary, .hero-btns .btn-outline { width: min(100%, 340px); min-height: 56px; justify-content: space-between; }
  .brand-location { font-size: 12px; letter-spacing: 0; }
  .visit-strip span, .visit-strip strong { font-size: 14px; }
  #pilihan, #reservasi { padding: 60px 6vw; }
  .taste-inner, .reservation-inner { grid-template-columns: 1fr; gap: 32px; }
  .taste-intro h2 { font-size: 38px; }
  .taste-intro p { max-width: 55ch; }
  .taste-list article { gap: 16px; }
  .taste-list h3 { font-size: 25px; }
  .taste-price { font-size: 14px; }
  .story-h2 { font-size: 40px; }
  .story-actions { gap: 12px 24px; }
  .poster-top, .poster-copy p, .poster-copy > span { font-size: 14px; }
  .schedule-foot { font-size: 14px; }
  .reservation-copy h2 { font-size: 40px; }
  .visit-dock .whatsapp-float, .dock-location { font-size: 14px; }
}
@media (max-width: 360px) {
  .brand { gap: 10px; }
  .brand-location { padding-left: 10px; font-size: 12px; }
  .taste-list article { flex-direction: column; gap: 4px; }
}

/* A lightweight route into Runner Studio; camera code stays on the event page. */
.nav-links .nav-ar{color:#ef9cbd}.nav-quick-ar{display:none}
.hero-ar-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:13px;border-bottom:1px solid currentColor}
.home-run{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);background:#103e30;color:#f4efdc}
.home-run-visual{position:relative;min-height:440px;overflow:hidden;isolation:isolate}
.home-run-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;z-index:-2}
.home-run-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#103e30de,transparent 80%);z-index:-1}
.home-run-visual>span{position:absolute;bottom:32px;left:6vw;font-family:var(--ff-display);font-size:clamp(54px,7vw,104px);line-height:.9;letter-spacing:-.045em;font-weight:500}
.home-run-visual em{font-style:normal;color:#ef9cbd}
.home-run-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:64px 6vw;gap:22px}
.home-run-copy h2{font-size:clamp(38px,4vw,58px);margin:0}.home-run-copy h2 em{color:#ef9cbd}
.home-run-copy>p{font-size:15px;line-height:1.7;max-width:420px;color:#d0dbcf}.home-run-copy .home-run-date{font-size:15px;color:#ef9cbd;font-weight:600}
.home-run-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.home-run-actions .btn-primary{background:#ef9cbd;color:#103e30;border-color:#ef9cbd}.home-run-actions .btn-primary:hover{background:#f6bdd5}
.home-run-actions .text-link{border-color:#f4efdc66;color:#f4efdc}
@media(max-width:800px){.nav-quick-ar{display:flex;align-items:center;gap:8px;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #ef9cbd80;border-radius:4px;font-size:12px;color:#ef9cbd;margin-left:auto;margin-right:12px}.nav-quick-ar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.home-run{grid-template-columns:1fr}.home-run-copy{padding:40px 7vw 44px;gap:20px;grid-row:1}.home-run-visual{min-height:260px}.home-run-visual>span{left:7vw;bottom:26px;font-size:68px}.home-run-copy h2{font-size:44px}.home-run-actions{width:100%}.home-run-actions .btn-primary{width:100%}}
@media(max-width:360px){.brand-location{font-size:10px}.nav-quick-ar{padding-inline:8px;gap:5px;margin-right:6px}}

/* Evening Run countdown popup (cafe pages). Event palette from the home Evening Run section. */
.run-popup{width:min(420px,calc(100% - 32px));max-width:none;margin:auto;padding:0;border:0;border-radius:18px;background:#103e30;color:#f4efdc;box-shadow:0 24px 70px #0009}
.run-popup::backdrop{background:#050b09b3}
.run-popup-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:34px 26px 22px;text-align:center}
.run-popup :focus-visible{outline:2px solid #ef9cbd;outline-offset:3px}
.run-popup-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff14;color:#f4efdc;cursor:pointer}
.run-popup-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.run-popup-brand{display:flex;align-items:center;gap:14px}
.run-popup-brand img:first-child{width:auto;height:52px}
.run-popup-brand img:last-child{width:auto;height:84px}
.run-popup-brand span{font-size:18px;color:#ef9cbd}
.run-popup-date{font-size:14px;font-weight:600;color:#ef9cbd}
.run-popup h2{font-family:var(--ff-display);font-size:48px;line-height:1;margin:0;color:#f4efdc}
.run-popup h2 em{font-style:normal;color:#ef9cbd}
.run-popup-sub{font-size:14px;line-height:1.6;color:#d0dbcf;max-width:32ch}
/* One numeral per unit; the countdown is the focal point of the card. */
.run-popup-count{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin-top:4px}
.run-popup-count>div{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;border-radius:12px;background:#0b2f24}
.run-popup-count strong{font-family:var(--ff-display);font-size:38px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;color:#f4efdc}
.run-popup-count span{font-size:12px;color:#c4d2c5}
.run-popup-left{font-size:13px;color:#c4d2c5;min-height:1.4em}
.run-popup-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border-radius:6px;background:#ef9cbd;color:#103e30;font-size:15px;font-weight:700;text-decoration:none}
.run-popup-cta:hover{background:#f6bdd5}
.run-popup-later{min-height:44px;padding:0 12px;border:0;background:none;color:#f4efdc;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
@media(max-width:360px){.run-popup-card{padding:30px 18px 18px}.run-popup h2{font-size:40px}.run-popup-count strong{font-size:30px}}
@media(prefers-reduced-motion:no-preference){.run-popup[open]{animation:run-popup-in .3s ease-out}}
@keyframes run-popup-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.home-run-visual img{object-position:50% 62%}
