/* Homepage: warm ivory, Thai gold ornament and the restaurant's signature red. */
.home-page {
  --red: #ca001b;
  --deep-red: #9b0013;
  --cream: #fcf9f2;
  --ink: #252a3a;
  --muted: #666878;
  --gold: #c99a53;
  background: var(--cream);
}
.home-page .container { width: min(1240px, calc(100% - 80px)); }
.home-page .button { border-radius: 7px; }
.home-page .topbar {
  background: #c40018 url("/assets/images/thai-pattern.svg?v=1f5bdc1c4ae7877ad431301b0c071b0f1195b846");
  border-bottom: 1px solid #ffffff1c;
}
.home-page .topbar-inner { min-height: 32px; font-size: 12px; gap: 28px; }
.home-page .site-header {
  background: #fffdf9f5;
  box-shadow: 0 2px 12px #5027140a;
}
.home-page .header-inner { min-height: 96px; gap: 23px; }
.home-page .brand { gap: 15px; }
.home-page .brand img { width: 84px; height: 84px; }
.home-page .brand strong { font-size: 23px; letter-spacing: -.6px; }
.home-page .brand small { font-size: 14px; }
.home-page .site-header nav { gap: 23px; }
.home-page .site-header nav a { font-size: 13px; font-weight: 500; }
.home-page .header-order { min-height: 44px; padding-inline: 22px; }
.home-page .cart-toggle { min-width: 36px; padding: 7px; }
.home-page .cart-toggle > .icon { width: 25px; height: 25px; }

/* The original decorative artwork includes its own food composition. */
.home-page .hero {
  min-height: 410px;
  background: #a30010 url("/assets/images/hero-restaurant.webp?v=de4b178d4c4fe037cf85d0a93037ce77ba93c5ca") center / cover no-repeat;
}
.home-page .hero::before { display: none; }
.home-page .hero::after { height: 17px; }
.home-page .hero-inner { min-height: 410px; }
.home-page .hero-copy {
  width: 440px;
  margin-left: 7%;
  padding: 20px 0 33px;
}
.home-page .hero-welcome { font-size: 10px; letter-spacing: 2.1px; margin-bottom: 12px; }
.home-page .hero h1 {
  font-size: 87px;
  line-height: 1.05;
  letter-spacing: -3px;
  text-shadow: 0 3px 12px #6d06062e;
  color: #ffdf8f;
}
.home-page .hero h1 span { padding-left: 29px; }
.home-page .hero-subtitle { margin: 19px 0 9px; font-size: 17px; letter-spacing: 1.8px; }
.home-page .hero-description { font-size: 13px; line-height: 1.4; }
.home-page .hero-actions { gap: 13px; margin-top: 17px; }
.home-page .hero-actions .button { min-height: 43px; min-width: 148px; }
.home-page .hero-note { top: 22px; right: 0; font-size: 29px; }
.home-page .hero-note span { font-size: 22px; }

.home-page .service-strip { background: #fffdf8; border-bottom: 1px solid #dfc69b3d; }
.home-page .services { gap: 18px; padding-block: 18px 20px; }
.home-page .services > a { justify-content: center; gap: 14px; }
.home-page .services > a:hover .service-icon { background: var(--deep-red); transform: translateY(-2px); }
.home-page .service-icon {
  width: 50px;
  height: 50px;
  background: linear-gradient(145deg, #e41029, #bd0017);
  box-shadow: 0 3px 8px #a6001515;
  transition: transform .2s, background .2s;
}
.home-page .services strong { font-size: 17px; }
.home-page .services small { font-size: 12px; }

.home-page .menu-section {
  padding: 23px 0 27px;
  background: var(--cream) url("/assets/images/home-temple-background.webp?v=6718ee589432dea0eb16ae6ae137f15e86736a3f") center bottom / 100% 100% no-repeat;
}
.home-page .menu-section::before { display: none; }
.home-page .menu-container { max-width: 1150px; }
.home-page .section-heading { margin-bottom: 19px; }
.home-page .section-heading h2 { font-size: 45px; gap: 22px; color: #b90018; }
.home-page .section-heading h2 > span { font-size: 40px; color: #d1a25c; }
.home-page .section-heading > p { font-size: 11px; letter-spacing: 2px; }
.home-page .menu-tabs { gap: 7px; margin-bottom: 13px; }
.home-page .menu-tabs button {
  min-height: 35px;
  padding: 6px 17px;
  font-size: 12px;
  border-radius: 8px;
  background: #eee8dfd9;
}
.home-page .menu-tabs button:hover { background: #ecdcc5; }
.home-page .menu-tabs button.selected { background: var(--red); box-shadow: 0 3px 7px #b4001415; color: white; }
.home-page .menu-tools { margin: 0 0 13px; padding-inline: 2px; }
.home-page .menu-tools > p { color: #736857; font-size: 11px; }
.home-page .search-box { width: 212px; background: #fffcf68c; }
.home-page .search-box input { font-size: 12px; }
.home-page .menu-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.home-page .menu-card {
  border: 1px solid #ecdfce;
  border-radius: 9px;
  box-shadow: 0 3px 10px #5c2d1010;
}
.home-page .menu-card:hover { box-shadow: 0 8px 22px #5c2d1024; transform: translateY(-4px); }
.home-page .dish-photo-button { background: #f5ebdf; }
.home-page .food-photo.restaurant-photo { aspect-ratio: 2.05; object-fit: contain; background: #fff; }
.home-page .food-photo.styled-photo { object-fit: cover; transition: transform .4s ease; }
.home-page .dish-photo-button:hover .styled-photo { transform: scale(1.035); }
.home-page .card-content { padding: 10px 12px 12px; }
.home-page .card-content h3 { font-size: 18px; line-height: 1.15; letter-spacing: -.3px; }
.home-page .card-subtitle { display: none; }
.home-page .card-description { font-size: 12px; line-height: 1.35; min-height: 33px; margin: 4px 0 12px; -webkit-line-clamp: 2; }
.home-page .card-footer { align-items: center; gap: 7px; }
.home-page .price { font-size: 21px; line-height: 1.15; }
.home-page .price small { font-size: 9px; line-height: 1.1; }
.home-page .card-footer .button { min-height: 34px; font-size: 12px; padding: 8px 11px; gap: 7px; border-radius: 5px; }
.home-page .card-footer .icon { width: 15px; height: 15px; }
.home-page .price-on-request { white-space: normal; font-size: 13px; }
.home-page .menu-bottom { margin-top: 23px; }
.home-page .menu-bottom .button { min-height: 40px; background: #fffaf2; }
.home-page .menu-fineprint { font-size: 10px; color: #746958; margin-top: 13px; }

.home-page .aloha-banner {
  min-height: 148px;
  display: flex;
  align-items: center;
  background: #b20010 url("/assets/images/home-aloha-ribbon.webp?v=fe0bf95cf95360133ee541c4c1a62dd30606d7e9") center 68% / cover no-repeat;
  padding: 28px 0 31px;
}
.home-page .aloha-banner h2 { font-size: 48px; color: #ffe5a6; line-height: 1.25; text-shadow: 0 2px 5px #6e080750; }
.home-page .aloha-banner h2 > span { font-size: 43px; }
.home-page .aloha-banner p { font-size: 12px; letter-spacing: 3px; margin-top: 10px; }
.home-page .banner-flower { display: none; }
.home-page .about-section { padding: 25px 0 29px; }
.home-page .about-section::before {
  background-size: 110px 132px;
  mask-image: linear-gradient(90deg, #000, transparent 16%, transparent 84%, #000);
}
.home-page .section-heading.compact { margin-bottom: 18px; }
.home-page .compact h2 { font-size: 30px; }
.home-page .compact h2 > span { font-size: 31px; }
.home-page .reasons { gap: 12px; }
.home-page .reasons > div { padding: 20px; gap: 18px; background: #fffefd; border-color: #ebdfd0; }
.home-page .reasons strong { font-size: 15px; }
.home-page .reasons small { font-size: 12px; }
.home-page .story-row { grid-template-columns: 1fr 1.2fr 1.1fr; gap: 24px; margin-top: 23px; }
.home-page .story-photo { min-height: 190px; box-shadow: 0 4px 14px #4d2b1315; background: url("/assets/images/home/story-left.webp?v=717a8032bb1e6e1e28b48be026961c14ca0cb3ad") center / cover no-repeat; }
.home-page .story-copy h2 { font-size: 29px; }
.home-page .story-copy > p:not(.eyebrow) { font-size: 13px; line-height: 1.5; }
.home-page .story-copy .eyebrow { font-size: 10px; letter-spacing: 1.4px; }
.home-page .story-copy .button { margin-top: 5px; }
.home-page .story-quote {
  background: linear-gradient(0deg, #3b16094f, #452a1738), url("/assets/images/home/story-right.webp?v=77e3cb127efb090cc7f56c06347d22fadaefe548") 12% center / cover;
  border: 4px solid #fff9ed;
  box-shadow: 0 3px 12px #4d2b1315;
}
.home-page .story-quote p { font-size: 31px; text-shadow: 0 2px 8px #30170c; }
.home-page .gathering { margin-top: 24px; background: #fcf4e7; padding: 19px 23px; }
.home-page .gathering h2 { font-size: 24px; }
.home-page .little-details { margin-top: 15px; gap: 13px; }
.home-page .little-details p { padding: 15px 18px; background: #fffdfb; }
.home-page .little-details strong { font-size: 14px; }
.home-page .little-details small { font-size: 12px; }

.home-page .visit-section { min-height: 288px; grid-template-columns: 1fr 1fr 1.12fr; }
.home-page .visit-art {
  background: linear-gradient(#37090b42, #3c0e10a3), url("/assets/images/contact-interior.webp?v=e92ad0010e68b94d638d6de307ca00978e9d1348") center / cover;
}
.home-page .visit-art img { width: 85px; height: auto; }
.home-page .visit-art p { font-size: 24px; text-shadow: 0 2px 8px #210809; }
.home-page .visit-art p span { font-size: 34px; }
.home-page .visit-details {
  background: #c7001a url("/assets/images/thai-pattern.svg?v=1f5bdc1c4ae7877ad431301b0c071b0f1195b846");
  padding: 25px 32px;
}
.home-page .visit-details h2 { font-size: 29px; }
.home-page .visit-details address { font-size: 14px; }
.home-page .map-panel { min-height: 288px; background: #e8e4da; }
.home-page .map-panel iframe { filter: saturate(.7); z-index: 1; }
.home-page .map-panel > a { z-index: 2; }
.home-page .map-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  padding: 25px 25px 60px;
  text-align: center;
  color: #544e43;
  background: radial-gradient(ellipse at center, #fffcf4ed, #fffcf43d), url("/assets/images/thai-pattern.svg?v=1f5bdc1c4ae7877ad431301b0c071b0f1195b846") center / 140px 168px, #e8e1d4;
}
.home-page .map-fallback > .icon { width: 39px; height: 39px; color: var(--red); margin-bottom: 4px; }
.home-page .map-fallback strong { font-family: var(--serif); font-size: 20px; color: #a30017; }
.home-page .map-fallback small { font-size: 12px; }
.home-page .dish-dialog .restaurant-photo { aspect-ratio: 1.65; object-fit: contain; }

@media (min-width: 1700px) {
  .home-page .hero, .home-page .hero-inner { min-height: 450px; }
  .home-page .hero-copy { margin-left: 2%; }
}
@media (max-width: 1200px) {
  .home-page .container { width: calc(100% - 64px); }
  .home-page .header-inner { gap: 15px; min-height: 86px; }
  .home-page .brand img { width: 70px; height: 70px; }
  .home-page .brand { gap: 11px; }
  .home-page .brand strong { font-size: 20px; }
  .home-page .site-header nav { gap: 17px; }
  .home-page .site-header nav a { font-size: 12px; }
  .home-page .header-order { padding-inline: 17px; font-size: 12px; }
  .home-page .cart-toggle { display: none; }
  .home-page .hero, .home-page .hero-inner { min-height: 375px; }
  .home-page .hero-copy { width: 395px; margin-left: 5%; }
  .home-page .hero h1 { font-size: 77px; }
  .home-page .hero-note { font-size: 24px; }
  .home-page .hero-note span { font-size: 18px; }
  .home-page .services { gap: 12px; }
  .home-page .services > a { gap: 10px; }
  .home-page .services strong { font-size: 15px; }
  .home-page .services small { font-size: 11px; }
  .home-page .service-icon { width: 43px; height: 43px; }
  .home-page .menu-container { max-width: 1040px; width: calc(100% - 100px); }
  .home-page .menu-tabs button { padding-inline: 13px; }
  .home-page .menu-grid { gap: 12px; }
  .home-page .card-content { padding: 9px 10px 11px; }
  .home-page .card-content h3 { font-size: 17px; }
  .home-page .card-description { font-size: 11px; }
  .home-page .price { font-size: 19px; }
  .home-page .card-footer .button { padding-inline: 9px; font-size: 11px; gap: 5px; }
  .home-page .aloha-banner h2 { font-size: 42px; }
  .home-page .reasons > div { padding: 17px 15px; gap: 15px; }
  .home-page .reasons strong { font-size: 13px; }
  .home-page .reasons small { font-size: 11px; }
  .home-page .story-row { gap: 20px; }
  .home-page .story-copy > p:not(.eyebrow) { font-size: 12px; }
  .home-page .story-quote p { font-size: 27px; }
  .home-page .visit-details { padding-inline: 24px; }
}
@media (max-width: 1000px) {
  .home-page .header-inner { min-height: 82px; }
  .home-page .mobile-toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; margin-left: 0; order: 2; }
  .home-page .header-order { margin-left: auto; }
  .home-page .site-header nav { display: none; position: absolute; top: 100%; left: 0; width: 100%; margin: 0; padding: 14px 24px 20px; background: #fffdf9; border-block: 1px solid #e9dfd0; box-shadow: 0 8px 20px #48290e12; grid-template-columns: repeat(3, 1fr); gap: 4px 20px; }
  .home-page .site-header nav.open { display: grid; }
  .home-page .site-header nav a { font-size: 14px; text-align: center; padding: 12px; }
  .home-page .site-header nav a::after { left: 30%; right: 30%; }
  .home-page .topbar .top-aloha { display: none; }
  .home-page .topbar-inner { justify-content: space-between; gap: 15px; }
  .home-page .hero-copy { width: 360px; margin-left: 1%; }
  .home-page .hero h1 { font-size: 72px; }
  .home-page .hero-note { right: -5px; font-size: 22px; }
  .home-page .hero-note span { font-size: 16px; }
  .home-page .menu-container { width: calc(100% - 64px); }
  .home-page .menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-page .menu-tabs button { padding-inline: 15px; }
  .home-page .card-description { font-size: 12px; }
  .home-page .story-row { grid-template-columns: 1fr 1.2fr; }
  .home-page .story-quote { display: none; }
  .home-page .reasons { grid-template-columns: repeat(2, 1fr); }
  .home-page .reasons > div { padding: 20px 24px; }
  .home-page .reasons strong { font-size: 15px; }
  .home-page .reasons small { font-size: 12px; }
  .home-page .visit-section { grid-template-columns: 1fr 1fr; }
  .home-page .visit-art { display: none; }
}
@media (max-width: 760px) {
  .home-page .container, .home-page .menu-container { width: calc(100% - 40px); }
  .home-page .topbar-inner { font-size: 11px; }
  .home-page .topbar .top-address { display: none; }
  .home-page .hero, .home-page .hero-inner { min-height: 355px; }
  .home-page .hero { background-position: 54% center; }
  .home-page .hero-copy { width: 335px; margin-left: 0; }
  .home-page .hero h1 { font-size: 67px; }
  .home-page .hero-welcome { font-size: 8px; }
  .home-page .hero-subtitle { font-size: 14px; margin-top: 17px; }
  .home-page .hero-description { font-size: 12px; }
  .home-page .hero-actions .button { min-width: 133px; font-size: 13px; }
  .home-page .hero-note { display: none; }
  .home-page .services { grid-template-columns: repeat(2, 1fr); gap: 20px 16px; padding-block: 20px; }
  .home-page .services > a { justify-content: flex-start; }
  .home-page .services small { max-width: none; }
  .home-page .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
  .home-page .menu-tabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding: 3px 1px 10px; scrollbar-width: thin; scrollbar-color: #ceb995 transparent; }
  .home-page .menu-tabs button { flex-shrink: 0; min-height: 38px; padding-inline: 20px; }
  .home-page .menu-section { background-size: auto 100%; padding-top: 23px; }
  .home-page .section-heading h2 { font-size: 40px; }
  .home-page .aloha-banner h2 { font-size: 35px; max-width: 520px; margin: auto; }
  .home-page .aloha-banner p { font-size: 10px; letter-spacing: 2px; }
  .home-page .compact h2 { font-size: 28px; }
  .home-page .story-copy > p:not(.eyebrow) { font-size: 13px; }
  .home-page .little-details { grid-template-columns: 1fr; gap: 10px; }
  .home-page .little-details p { display: grid; grid-template-columns: 32px 1fr; }
  .home-page .little-details span { display: block; }
  .home-page .little-details strong { font-size: 14px; }
  .home-page .little-details small { font-size: 12px; }
}
@media (max-width: 560px) {
  .home-page .container, .home-page .menu-container { width: calc(100% - 32px); }
  .home-page .topbar-inner { min-height: 29px; font-size: 10px; }
  .home-page .header-inner { min-height: 76px; gap: 8px; }
  .home-page .brand { gap: 10px; }
  .home-page .brand img { width: 57px; height: 57px; }
  .home-page .brand strong { font-size: 17px; letter-spacing: -.4px; }
  .home-page .brand small { font-size: 11px; }
  .home-page .mobile-toggle { margin-left: auto; min-width: 40px; }
  .home-page .hero {
    min-height: 570px;
    background: #a40012 url("/assets/images/hero-restaurant.webp?v=de4b178d4c4fe037cf85d0a93037ce77ba93c5ca") 95% bottom / auto 390px no-repeat;
  }
  .home-page .hero::before {
    display: block;
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, #a40012 0%, #a40012 28%, #a40012f5 38%, #a40012a0 48%, transparent 68%);
  }
  .home-page .hero-inner { min-height: 570px; align-items: flex-start; }
  .home-page .hero-copy { width: 100%; max-width: none; padding: 24px 0 0; text-align: center; }
  .home-page .hero-welcome { font-size: 9px; letter-spacing: 1.5px; margin-bottom: 13px; }
  .home-page .hero h1 { font-size: 66px; line-height: 1.02; letter-spacing: -2px; padding: 0; }
  .home-page .hero h1 span { padding-left: 22px; }
  .home-page .hero-subtitle { font-size: 14px; line-height: 1.25; margin: 18px 0 8px; padding: 0; }
  .home-page .hero-description { font-size: 12px; padding: 0; }
  .home-page .hero-actions { padding: 0; gap: 11px; margin-top: 16px; }
  .home-page .hero-actions .button { min-height: 44px; min-width: 135px; }
  .home-page .services { gap: 18px 12px; padding-block: 20px; }
  .home-page .service-icon { width: 41px; height: 41px; }
  .home-page .service-icon .icon { width: 24px; height: 24px; }
  .home-page .services strong { font-size: 14px; }
  .home-page .services small { font-size: 10px; max-width: 115px; }
  .home-page .menu-section { padding-block: 21px 25px; background-size: auto 100%; }
  .home-page .section-heading { margin-bottom: 14px; }
  .home-page .section-heading h2 { font-size: 37px; gap: 16px; }
  .home-page .section-heading h2 > span { font-size: 33px; }
  .home-page .section-heading > p { font-size: 9px; letter-spacing: 1.5px; }
  .home-page .menu-tools { gap: 12px; margin-bottom: 12px; align-items: center; }
  .home-page .menu-tools > p { font-size: 10px; max-width: 150px; }
  .home-page .search-box { width: 155px; flex-shrink: 0; }
  .home-page .search-box input { font-size: 11px; }
  .home-page .menu-grid { gap: 11px; }
  .home-page .food-photo.restaurant-photo { aspect-ratio: 1.42; }
  .home-page .card-content { padding: 10px 10px 11px; }
  .home-page .card-content h3 { font-size: 17px; line-height: 1.15; min-height: 39px; }
  .home-page .card-description { font-size: 11px; min-height: 44px; -webkit-line-clamp: 3; margin: 4px 0 12px; }
  .home-page .card-footer { flex-direction: column; align-items: stretch; gap: 9px; }
  .home-page .price { font-size: 20px; display: flex; align-items: baseline; gap: 4px; min-height: 24px; }
  .home-page .price small { font-size: 9px; }
  .home-page .card-footer .button { width: 100%; min-height: 40px; font-size: 12px; gap: 7px; }
  .home-page .menu-bottom { gap: 15px; margin-top: 24px; }
  .home-page .menu-bottom .button { min-height: 43px; }
  .home-page .menu-fineprint { font-size: 9px; line-height: 1.8; padding-inline: 7px; }
  .home-page .aloha-banner { min-height: 174px; padding: 30px 0; background-size: auto 100%; }
  .home-page .aloha-banner h2 { font-size: 32px; max-width: 310px; line-height: 1.25; }
  .home-page .aloha-banner h2 > span { font-size: 28px; }
  .home-page .aloha-banner p { font-size: 8px; letter-spacing: 1.5px; margin-top: 13px; }
  .home-page .about-section { padding-block: 25px; }
  .home-page .compact h2 { font-size: 27px; gap: 12px; }
  .home-page .compact h2 > span { font-size: 27px; }
  .home-page .reasons { gap: 10px; }
  .home-page .reasons > div { padding: 17px 12px; gap: 12px; }
  .home-page .reasons strong { font-size: 12px; }
  .home-page .reasons small { font-size: 10px; }
  .home-page .reason-icon { width: 26px; height: 26px; }
  .home-page .reason-icon .icon { width: 21px; height: 21px; }
  .home-page .story-row { grid-template-columns: 1fr; gap: 21px; margin-top: 24px; }
  .home-page .story-photo { min-height: 0; aspect-ratio: 235 / 121; }
  .home-page .story-copy h2 { font-size: 31px; }
  .home-page .story-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.6; }
  .home-page .story-copy .button { min-height: 41px; }
  .home-page .story-quote { display: grid; min-height: 180px; background-size: cover; }
  .home-page .story-quote p { font-size: 30px; }
  .home-page .gathering { padding: 21px 19px; margin-top: 23px; }
  .home-page .gathering h2 { font-size: 24px; }
  .home-page .gathering > .button { min-height: 43px; }
  .home-page .little-details p { padding: 14px 16px; }
  .home-page .visit-section { grid-template-columns: 1fr; margin-top: 0; }
  .home-page .visit-details { padding: 29px 26px; }
  .home-page .visit-details h2 { font-size: 30px; }
  .home-page .visit-details address { font-size: 15px; }
  .home-page .visit-details .button { min-height: 42px; }
  .home-page .map-panel { min-height: 260px; }
}
@media (max-width: 360px) {
  .home-page .container, .home-page .menu-container { width: calc(100% - 24px); }
  .home-page .brand img { width: 48px; height: 48px; }
  .home-page .brand strong { font-size: 15px; }
  .home-page .brand small { font-size: 10px; }
  .home-page .hero h1 { font-size: 60px; }
  .home-page .hero-actions .button { min-width: 129px; }
  .home-page .services small { font-size: 9px; }
  .home-page .services > a { gap: 8px; }
  .home-page .service-icon { width: 36px; height: 36px; }
  .home-page .card-content { padding-inline: 9px; }
  .home-page .card-content h3 { font-size: 16px; }
  .home-page .menu-tools > p { max-width: 122px; }
  .home-page .search-box { width: 145px; }
  .home-page .reasons > div { padding-inline: 10px; gap: 10px; }
  .home-page .reasons strong { font-size: 11px; }
  .home-page .reasons small { font-size: 9px; }
}
/* Eight restaurant food photographs on Home; full images open in the gallery viewer. */
.home-food-gallery { padding-bottom: 48px; }
.home-food-gallery .gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; padding: 0; }
.home-food-gallery .gallery-card { margin: 0; background: #fffdf8; border: 1px solid #e8dcc9; }
.home-food-gallery .gallery-open img { aspect-ratio: 4 / 3; object-fit: contain; background: #f0e7da; }
.home-food-gallery figcaption { padding: 13px 10px; text-align: center; font-size: 19px; line-height: 1.4; color: #831026; }
@media (max-width: 760px) {
  .home-food-gallery .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .home-food-gallery figcaption { font-size: 16px; }
}
.home-page .hero h1.hero-title-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Dishes made so far. Hidden until the server reports at least one dish. */
.home-page .dish-counter { background: #fffaf2 url("/assets/images/thai-pattern.svg?v=1f5bdc1c4ae7877ad431301b0c071b0f1195b846") center / 100px 120px; border-block: 1px solid #bc873866; padding: 38px 0; text-align: center; color: #3b1a12; }
.home-page .dish-counter[hidden] { display: none; }
.home-page .dish-counter .eyebrow { margin: 0 0 6px; }
.home-page .dish-counter-number { display: block; font-size: clamp(52px, 8vw, 84px); line-height: 1.05; font-weight: 700; color: #ca001b; font-variant-numeric: tabular-nums; }
.home-page .dish-counter h2 { margin: 4px 0 0; font-size: 26px; }
.home-page .dish-counter-top { list-style: none; margin: 22px auto 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 14px; }
.home-page .dish-counter-top li { display: flex; gap: 8px; align-items: baseline; background: #fffdf9; border: 1px solid #bc873888; border-radius: 999px; padding: 6px 16px; font-size: 16px; }
.home-page .dish-counter-top b { color: #ca001b; }
