:root{--gold: #c9a35b;--warm-black: #0f0d0b;--ivory: #f3eee6;--ivory-light: #fbf7f1;--shadow: 0 20px 40px rgba(15, 13, 11, .25);--radius-lg: 26px;--radius-sm: 18px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;color:var(--ivory);background:var(--warm-black);line-height:1.6}body.modal-open{overflow:hidden}section[id]{scroll-margin-top:110px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,.eyebrow{font-family:Cinzel,serif}.container{width:min(1100px,92%);margin:0 auto}.site-header{position:sticky;top:0;z-index:100;transition:background .3s ease,box-shadow .3s ease;background:transparent}.site-header.scrolled{background:#0f0d0bf5;box-shadow:0 12px 30px #0f0d0b73}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 0}.logo img{width:120px}.nav{display:none;justify-content:center;gap:26px;font-size:.95rem;letter-spacing:.04em}.nav a{min-width:70px;text-align:center}.header-actions{display:flex;align-items:center;gap:6px}@media (min-width: 768px){.header-actions{gap:16px}}.lang-switch select{background:transparent;color:var(--ivory);border:1px solid rgba(243,238,230,.4);border-radius:999px;padding:6px 10px;font-size:.85rem;cursor:pointer}.lang-switch option{color:var(--warm-black)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.cta{background:var(--gold);color:var(--warm-black);padding:6px 12px;border-radius:999px;font-weight:600;font-size:.75rem;white-space:nowrap;min-width:80px;text-align:center;box-shadow:0 12px 24px #c9a35b40;cursor:pointer;transition:transform .2s,box-shadow .2s}@media (min-width: 768px){.cta{padding:10px 20px;font-size:1rem;min-width:130px}}.cta:hover{transform:translateY(-2px);box-shadow:0 16px 32px #c9a35b59}.hamburger{width:44px;height:44px;border:none;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer;padding:8px;margin-right:-8px}.hamburger span{width:24px;height:2px;background:var(--ivory);display:block;transition:transform .2s,opacity .2s}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,#0f0d0bcc,#0f0d0b59)}.hero-content{position:relative;text-align:left;padding:140px 0 110px}.eyebrow{color:var(--gold);font-size:1.05rem;text-transform:uppercase;letter-spacing:.2em;margin-bottom:18px}.hero h1{font-size:clamp(2.4rem,5vw,4.2rem);margin-bottom:16px}.subtitle{max-width:560px;margin:0 0 28px;font-size:1.05rem;color:#f3eee6d9}.hero-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 26px;border-radius:999px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--gold);color:var(--warm-black);box-shadow:0 14px 30px #c9a35b4d}.button.primary:hover{box-shadow:0 18px 40px #c9a35b66}.button.ghost{background:transparent;color:var(--ivory);border-color:#f3eee699}.button.ghost:hover{background:#f3eee61a}.button:disabled{opacity:.6;cursor:not-allowed}.features{background:var(--ivory);color:var(--warm-black);padding:70px 0;margin-top:0}.feature-grid{display:grid;gap:20px}.feature-card{background:var(--ivory-light);padding:30px 28px;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow);border:1px solid rgba(201,163,91,.25)}.feature-card h3{margin-bottom:8px;font-size:1.25rem;letter-spacing:.05em}.feature-card p{color:#0f0d0bbf}.menu-section{background:#f1e6d6;color:var(--warm-black);padding:60px 0}.menu-inner{display:grid;gap:24px;align-items:center}.menu-image img{border-radius:0;box-shadow:none}.menu-content h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:12px}.menu-content p{margin-bottom:20px;color:#0f0d0bcc}.location{padding:70px 0;background:var(--ivory);color:var(--warm-black)}.location-inner{display:grid;gap:26px;align-items:center}.location-image img{border-radius:var(--radius-lg);box-shadow:var(--shadow)}.location-content h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:12px}.location-content p{color:#0f0d0bbf;margin-bottom:12px}.location-note{font-weight:500;letter-spacing:.02em}.services{padding:70px 0;background:#efe6da;color:var(--warm-black);text-align:center}.services h2{font-size:clamp(1.8rem,4vw,2.6rem)}.services .section-sub{margin:10px auto 30px;max-width:520px;color:#0f0d0bb3}.services-grid{display:grid;gap:14px;text-align:left}.service-item{padding:6px 0;font-weight:500;letter-spacing:.03em;display:flex;align-items:center;gap:12px;justify-content:flex-start}.service-icon{width:22px;height:22px;flex:0 0 22px;color:var(--gold)}.service-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.booking{background:var(--warm-black);padding:70px 0}.booking-inner{display:grid;gap:30px;align-items:center}.booking-text h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:12px}.booking-form{display:grid;gap:12px}.booking-cta{display:flex;align-items:center}.field{display:grid;gap:6px;font-size:.9rem;color:#f3eee6cc}.field input,.field select{padding:12px 16px;border-radius:999px;border:none;background:#f3eee6eb;color:var(--warm-black);font-size:1rem}.booking-form .button{width:100%}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:none;z-index:200}.modal.is-open{display:block}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f0d0bb3}.modal-panel{position:relative;z-index:1;margin:10vh auto;width:min(560px,90%);background:var(--ivory);color:var(--warm-black);border-radius:var(--radius-lg);padding:30px 26px;box-shadow:var(--shadow)}.modal-panel h2{margin-bottom:8px}.modal-subtitle{color:#0f0d0bb3;margin-bottom:20px}.modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(15,13,11,.2);background:transparent;font-size:1.4rem;cursor:pointer;transition:background .2s}.modal-close:hover{background:#0f0d0b1a}.modal .booking-form{grid-template-columns:1fr}.modal-form .field{color:#0f0d0bcc}.alert{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:500}.alert.success{background:#d4edda;color:#155724}.alert.error{background:#f8d7da;color:#721c24}.site-footer{background:#0a0908;padding:50px 0 60px}.footer-grid{display:grid;gap:20px}.site-footer h3{margin-bottom:10px;font-size:1.2rem}.site-footer p{color:#f3eee6bf;margin-bottom:6px}.nav.open{position:absolute;top:72px;left:0;right:0;background:#0f0d0bfa;display:grid;gap:14px;padding:20px;text-align:center}@media (min-width: 768px){.header-inner{display:grid;grid-template-columns:200px 1fr auto;gap:24px;padding:18px 0}.logo img{width:200px}.nav{display:flex}.hamburger{display:none}.hero-content{text-align:left}.hero-actions{flex-direction:row;justify-content:flex-start}.feature-grid{grid-template-columns:repeat(3,1fr)}.menu-inner,.location-inner{grid-template-columns:1.2fr 1fr}.services-grid{grid-template-columns:repeat(3,1fr)}.booking-inner{grid-template-columns:1.1fr 1.4fr}.booking-form{grid-template-columns:repeat(5,1fr);align-items:end}.modal .booking-form{grid-template-columns:1fr}.booking-form .button{width:auto}.footer-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.hero-content{padding:160px 0 140px}}
