:root { --gold: #c9a227; --gold-light: #e8d48b; --dark: #1a1410; --dark-soft: #2d241c; --cream: #f5f0e8; --text: #f5f0e8; --muted: #a89f94; --font-serif: Georgia, "Times New Roman", serif; --font-sans: system-ui, sans-serif; } *, *::before, *::after { box-sizing: border-box; } body { margin: 0; font-family: var(--font-sans); background: var(--dark); color: var(--text); line-height: 1.6; } a { color: var(--gold-light); } .container { width: min(100% - 2rem, 72rem); margin-inline: auto; } .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); } .promo-bar { background: var(--gold); color: var(--dark); text-align: center; padding: 0.5rem; font-size: 0.875rem; font-weight: 600; } .promo-bar a { color: var(--dark); font-weight: 700; } .header { position: sticky; top: 0; z-index: 100; background: rgb(26 20 16 / 0.95); border-bottom: 1px solid rgb(201 162 39 / 0.2); } .nav { display: flex; align-items: center; gap: 1.5rem; padding: 1rem 0; flex-wrap: wrap; } .brand { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-serif); font-size: 1.5rem; color: var(--gold); text-decoration: none; font-style: italic; } .brand-logo-img { height: 2.25rem; width: auto; object-fit: contain; } .nav-links { display: flex; gap: 1.5rem; list-style: none; margin: 0; padding: 0; flex: 1; } .nav-links a { color: var(--muted); text-decoration: none; font-size: 0.9rem; } .nav-links a:hover { color: var(--gold-light); } .nav-toggle { display: none; background: none; border: none; cursor: pointer; flex-direction: column; gap: 5px; margin-left: auto; } .nav-toggle span { display: block; width: 22px; height: 2px; background: var(--gold); } .btn { display: inline-block; padding: 0.625rem 1.25rem; border-radius: 2px; font-weight: 600; text-decoration: none; border: none; cursor: pointer; font-size: 0.9rem; } .btn-lg { padding: 0.875rem 1.75rem; font-size: 1rem; } .btn-gold { background: var(--gold); color: var(--dark); } .btn-gold:hover { background: var(--gold-light); } .btn-outline { background: transparent; color: var(--gold-light); border: 1px solid var(--gold); } .btn-outline:hover { background: rgb(201 162 39 / 0.1); } .hero { position: relative; min-height: 85vh; display: flex; align-items: center; background: linear-gradient(135deg, #1a1410 0%, #3d2e1f 50%, #1a1410 100%); } .hero-overlay { position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 30%, rgb(201 162 39 / 0.15), transparent 60%); } .hero-content { position: relative; padding: 4rem 0; max-width: 40rem; } .hero-badge { display: inline-block; border: 1px solid var(--gold); color: var(--gold); padding: 0.25rem 0.75rem; font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 1.5rem; } .hero h1 { font-family: var(--font-serif); font-size: clamp(2.25rem, 5vw, 3.5rem); line-height: 1.15; margin: 0 0 1rem; font-weight: 400; } .hero-lead { font-size: 1.125rem; color: var(--muted); margin: 0 0 2rem; } .hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; } .hero-trust { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.8125rem; color: var(--muted); } .section { padding: 5rem 0; } .section-dark { background: var(--dark-soft); } .section-head { text-align: center; max-width: 36rem; margin: 0 auto 3rem; } .eyebrow { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.75rem; color: var(--gold); margin: 0 0 0.5rem; } .section-head h2 { font-family: var(--font-serif); font-size: clamp(1.75rem, 3vw, 2.5rem); margin: 0 0 0.75rem; font-weight: 400; } .section-head p { color: var(--muted); margin: 0; } .menu-grid { display: grid; gap: 1.5rem; margin-bottom: 2rem; } @media (min-width: 768px) { .menu-grid { grid-template-columns: repeat(3, 1fr); } } .menu-card { position: relative; background: var(--dark-soft); border: 1px solid rgb(201 162 39 / 0.2); padding: 2rem 1.5rem; text-align: center; } .menu-card.featured { border-color: var(--gold); box-shadow: 0 0 30px rgb(201 162 39 / 0.15); } .menu-price { font-size: 1.5rem; color: var(--gold); font-weight: 700; } .menu-card h3 { font-family: var(--font-serif); margin: 0.5rem 0; font-size: 1.25rem; } .menu-card p { color: var(--muted); font-size: 0.9rem; margin: 0; } .menu-tag { display: inline-block; margin-top: 1rem; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--gold); } .menu-cta-text { text-align: center; color: var(--muted); margin-bottom: 1rem; } .chef-grid { display: grid; gap: 3rem; align-items: center; } @media (min-width: 768px) { .chef-grid { grid-template-columns: 1fr 1.2fr; } } .chef-frame { width: 200px; height: 200px; border-radius: 50%; border: 3px solid var(--gold); display: flex; align-items: center; justify-content: center; font-size: 5rem; background: var(--dark); margin: 0 auto; } .chef-stats { display: flex; gap: 2rem; list-style: none; padding: 0; margin: 1.5rem 0 0; } .chef-stats strong { display: block; font-size: 1.75rem; color: var(--gold); } .review-grid { display: grid; gap: 1.5rem; } @media (min-width: 768px) { .review-grid { grid-template-columns: repeat(3, 1fr); } } .review-grid blockquote { background: var(--dark-soft); border-left: 3px solid var(--gold); padding: 1.5rem; margin: 0; } .stars { color: var(--gold); margin-bottom: 0.5rem; } .review-grid footer { font-size: 0.8125rem; color: var(--muted); margin-top: 1rem; } .reserve-section { background: linear-gradient(135deg, var(--dark-soft), var(--dark)); } .reserve-box { display: grid; gap: 2rem; align-items: center; background: rgb(201 162 39 / 0.08); border: 1px solid var(--gold); padding: 2.5rem; } @media (min-width: 768px) { .reserve-box { grid-template-columns: 1fr 1.2fr; } } .reserve-box h2 { font-family: var(--font-serif); margin: 0 0 0.5rem; } .form-row { display: flex; flex-wrap: wrap; gap: 0.75rem; } .form-row input, .form-row select { flex: 1; min-width: 8rem; padding: 0.75rem; background: var(--dark); border: 1px solid var(--gold); color: var(--text); font-family: inherit; } .visit-grid { display: grid; gap: 2rem; text-align: center; } @media (min-width: 640px) { .visit-grid { grid-template-columns: repeat(3, 1fr); } } .visit-grid h3 { font-family: var(--font-serif); color: var(--gold); margin: 0 0 0.5rem; } .footer { padding: 2rem 0; border-top: 1px solid rgb(201 162 39 / 0.2); text-align: center; color: var(--muted); font-size: 0.875rem; } @media (max-width: 768px) { .nav-toggle { display: flex; } .nav-links { display: none; width: 100%; flex-direction: column; } .nav-links.is-open { display: flex; } .nav .btn-gold { display: none; } } 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%; }