:root { --coffee: #3f2f2f; --cream: #f6eedf; --leaf: #547a4e; --deep: #1f231d; --soft: #f3eee6; --text: #2e2a25; --muted: #6f695e; --border: rgba(83, 121, 78, 0.16); } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--soft); color: var(--text); } img { max-width: 100%; display: block; } .container { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; } .promo-bar { background: #f4e8d4; color: var(--text); text-align: center; font-size: 0.95rem; padding: 0.75rem 1rem; } .promo-bar a { color: var(--coffee); text-decoration: underline; } .header { background: white; position: sticky; top: 0; z-index: 20; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06); } .nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; } .brand { display: inline-flex; align-items: center; gap: 0.75rem; font-weight: 700; color: var(--coffee); text-decoration: none; } .brand-logo-img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; } .nav-links { list-style: none; display: flex; gap: 1.25rem; margin: 0; padding: 0; } .nav-links a { color: var(--muted); text-decoration: none; font-weight: 500; } .nav-toggle { display: none; border: none; background: transparent; gap: 0.35rem; flex-direction: column; padding: 0.5rem; cursor: pointer; } .nav-toggle span { display: block; width: 24px; height: 2px; background: var(--coffee); border-radius: 1px; } .btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.95rem 1.6rem; border-radius: 999px; font-weight: 600; text-decoration: none; } .btn-solid { color: white; background: var(--coffee); } .btn-outline { border: 1px solid var(--coffee); color: var(--coffee); background: transparent; } .hero { position: relative; min-height: 80vh; display: flex; align-items: center; background: linear-gradient(180deg, #f8f1e8 0%, #f0e6d7 45%, #fffaf4 100%); } .hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at top right, rgba(84,122,78,0.18), transparent 30%), radial-gradient(circle at bottom left, rgba(63,47,47,0.08), transparent 22%); } .hero-content { position: relative; padding: 5rem 0; max-width: 700px; } .eyebrow { color: var(--leaf); font-size: 0.95rem; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 1rem; } h1 { font-size: clamp(2.75rem, 5vw, 4.5rem); line-height: 1.02; margin: 0 0 1rem; } .hero-lead { font-size: 1.15rem; line-height: 1.8; max-width: 40rem; color: var(--muted); margin-bottom: 2rem; } .hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.75rem; } .hero-trust { display: flex; flex-wrap: wrap; gap: 0.75rem; color: var(--muted); font-size: 0.95rem; } .section { padding: 5rem 0; } .section-soft { background: #fbf7f0; } .section-head { max-width: 720px; margin-bottom: 2.5rem; } .section-head h2 { font-size: clamp(2rem, 3vw, 2.75rem); margin: 0.5rem 0 1rem; } .section-head p { color: var(--muted); line-height: 1.8; } .menu-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } .menu-grid-compact { margin-top: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); } .menu-card { background: white; border: 1px solid var(--border); border-radius: 24px; padding: 2rem; box-shadow: 0 16px 40px rgba(58, 46, 31, 0.08); } .menu-card.featured { border-color: rgba(84, 122, 78, 0.2); background: linear-gradient(180deg, #f9f4ec 0%, #fffdf7 100%); } .menu-card.small { padding: 1.5rem; } .menu-price { display: inline-flex; padding: 0.5rem 0.85rem; border-radius: 999px; background: rgba(84, 122, 78, 0.1); color: var(--leaf); font-weight: 700; margin-bottom: 1rem; } .menu-card h3, .menu-card h4 { margin: 0 0 0.85rem; } .menu-card p { margin: 0; color: var(--muted); line-height: 1.75; } .menu-cta-text { color: var(--muted); margin: 1.75rem 0 1rem; } .story-grid { display: grid; grid-template-columns: 1.3fr 0.9fr; gap: 2rem; } .story-copy h2 { margin: 0 0 1rem; } .story-list { list-style: none; padding: 0; margin: 1.75rem 0 0; display: grid; gap: 0.85rem; } .story-list li { padding-left: 1.35rem; position: relative; color: var(--muted); } .story-list li::before { content: "•"; position: absolute; left: 0; color: var(--leaf); } .story-cards { display: grid; gap: 1rem; } .feature-card { background: white; border: 1px solid var(--border); border-radius: 24px; padding: 2rem; box-shadow: 0 18px 40px rgba(80, 64, 51, 0.08); } .feature-card h3 { margin-top: 0; } .testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } blockquote { margin: 0; background: white; border: 1px solid var(--border); border-radius: 24px; padding: 2rem; color: var(--text); box-shadow: 0 16px 40px rgba(68, 52, 38, 0.08); } blockquote p { margin: 0 0 1.25rem; line-height: 1.9; } blockquote footer { color: var(--leaf); font-weight: 700; } .reserve-section { background: linear-gradient(135deg, #f8f1e8 0%, #f5efe4 100%); } .reserve-box { display: grid; grid-template-columns: 1fr 1.05fr; gap: 2rem; align-items: start; background: white; border: 1px solid var(--border); border-radius: 32px; padding: 2.5rem; box-shadow: 0 29px 70px rgba(68, 52, 38, 0.08); } .reserve-box h2 { margin-top: 0; } .reserve-form { display: grid; gap: 1rem; } .reserve-form label { display: block; font-size: 0.95rem; margin-bottom: 0.35rem; color: var(--muted); } .reserve-form input, .reserve-form select { width: 100%; padding: 0.95rem 1rem; border: 1px solid var(--border); border-radius: 18px; background: #fff; color: var(--text); } .visit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } .contact-card { background: white; border: 1px solid var(--border); border-radius: 24px; padding: 2rem; box-shadow: 0 18px 40px rgba(70, 54, 40, 0.07); } .contact-card a { color: var(--coffee); text-decoration: none; font-weight: 600; } .footer { padding: 2rem 0; background: #f4ede4; } .footer-inner { display: flex; justify-content: space-between; gap: 2rem; align-items: center; flex-wrap: wrap; color: var(--muted); } .footer-inner p { margin: 0; } @media (max-width: 900px) { .menu-grid, .test aintimonial-grid, .visit-grid, .story-grid { grid-template-columns: 1fr; } .nav { flex-wrap: wrap; } .nav-links { display: none; flex-direction: column; width: 100%; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); } .nav-links.active { display: flex; } .nav-toggle { display: flex; } .reserve-box { grid-template-columns: 1fr; } } @media (max-width: 640px) { .hero { min-height: 68vh; } .hero-content { padding-top: 3rem; } .hero-actions { flex-direction: column; } } html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; } body { overflow-x: hidden; } .container, .section, main { max-width: 100%; } @media (max-width: 768px) { .btn, .nav-links a, .nav-pills a { min-height: 44px; align-items: center; } .section { padding-block: 3rem; } .form-panel, .form-card, .form-elegant, .inquiry-float { padding: 1.25rem; } .inquiry-sidebar { padding: 2rem 1.25rem; } .form-area { padding: 2rem 1.25rem; } .hero-split { min-height: auto; } .hero-panel { padding: 2.5rem 0; } .hero-visual { min-height: 40vh; } .hero-center { min-height: auto; padding: 6rem 0 2.5rem; } .hero-portal { min-height: auto; padding-bottom: 2rem; } .hero-top { padding-top: 3rem; } .hero-img-wrap img { height: 40vh; min-height: 220px; } .product-row--reverse .product-row-img, .product-row--reverse .product-row-body { order: unset; } .product-num { font-size: 2.5rem; } .stat-pill { min-width: calc(50% - 0.5rem); flex: 1 1 calc(50% - 0.5rem); } .nav-float { top: 0.5rem; } .page-wrap { padding-top: 4.75rem; } .tab-label { flex: 1 1 auto; text-align: center; border-radius: 8px !important; margin-bottom: 0.25rem; } .tab-row { gap: 0.35rem; } } @media (min-width: 1200px) { .container { width: min(100% - 3rem, var(--max)); } } .inquiry-form input, .inquiry-form select, .inquiry-form textarea { max-width: 100%; }
/* QA: mobile navigation */
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;margin-left:auto}
.nav-toggle span{display:block;width:22px;height:2px;background:currentColor}
@media(max-width:768px){
  .nav-toggle{display:flex}
  .nav-container,.nav-container header nav,.nav-container>nav,nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;position:relative}
  .nav-links:not(.is-open){display:none!important}
  .nav-links.is-open,.nav-links.active{display:flex!important;flex-direction:column;width:100%;gap:.75rem;padding:1rem 0;border-top:1px solid rgba(0,0,0,.08)}
  .nav-links.is-open a,.nav-links.active a{margin-left:0!important;min-height:44px;display:inline-flex;align-items:center}
  ul.nav-links.is-open,ul.nav-links.active{list-style:none;padding:1rem 0;margin:0}
  ul.nav-links.is-open li,ul.nav-links.active li{width:100%}
  .hero{min-height:50vh!important;height:auto!important;padding:3rem 1.25rem!important}
  .hero-content h1,.hero h1{font-size:clamp(1.75rem,7vw,2.5rem)!important}
  .info-side,.order-side,.brand-side,.customizer-side{width:100%!important;max-width:100%!important;min-height:auto!important}
  body:has(.info-side){display:flex;flex-direction:column}
  .info-side{order:1;padding:2rem 1.25rem!important}
  .order-side,.customizer-side{order:2;padding:1.25rem!important}
  .brand-side{order:1;padding:2.5rem 1.25rem!important}
  .menu-grid,.info-grid{grid-template-columns:1fr!important}
  .section{padding:3rem 1.25rem!important}
}


/* Hide empty placeholder logos (img{display:block} was overriding [hidden]) */
img.brand-logo-img[hidden],
img.brand-logo-img[src=""],
img[data-preview="brand-logo"][src=""] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.brand-mark {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: var(--leaf, #5c7a5c);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  flex-shrink: 0;
  line-height: 1;
}
