:root{
  --bg:#0b0c10;--bg-2:#10131a;--surface:rgba(255,255,255,.04);--line:rgba(255,255,255,.10);--line-strong:rgba(255,255,255,.14);
  --text:#fff;--text-soft:rgba(255,255,255,.72);--text-muted:rgba(255,255,255,.52);--primary:#fff;--primary-text:#121212;
  --accent-1:rgba(251,191,36,.18);--accent-2:rgba(244,63,94,.16);--ok-bg:rgba(52,211,153,.12);--ok-line:rgba(52,211,153,.30);--ok-text:#a7f3d0;
  --shadow:0 20px 60px rgba(0,0,0,.25);--container:1280px;--header-h:84px
}
*,*::before,*::after{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;min-width:320px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);
background:radial-gradient(circle at top left,var(--accent-1),transparent 35%),radial-gradient(circle at top right,var(--accent-2),transparent 28%),linear-gradient(180deg,var(--bg),var(--bg-2));background-attachment:fixed}
a{text-decoration:none;color:inherit} button,input,textarea{font:inherit}
#menu,#about,#services,#reservation,#gallery,#contact{scroll-margin-top:calc(var(--header-h) + 20px)}
.container{width:min(var(--container),calc(100% - 32px));margin:0 auto}
.section{padding:72px 0}.section-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.section-alt{background:rgba(255,255,255,.02);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-accent{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.border-top{border-top:1px solid var(--line)}
.site-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(20px);background:rgba(11,12,16,.86);border-bottom:1px solid var(--line)}
.header-inner{min-height:var(--header-h);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand-mark{width:44px;height:44px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#fbbf24,#fb923c,#f43f5e);color:#111;font-weight:800;box-shadow:0 10px 30px rgba(251,191,36,.22)}
.brand-text{display:flex;flex-direction:column;min-width:0}.brand-top{font-size:12px;text-transform:uppercase;letter-spacing:.26em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-bottom{font-size:18px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-nav{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.site-nav a{padding:10px 14px;border-radius:999px;color:var(--text-soft);font-size:15px;font-weight:500;transition:.2s ease}.site-nav a:hover{background:rgba(255,255,255,.08);color:var(--text)}
.header-actions{display:flex;align-items:center;gap:12px}
.lang-switch{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid var(--line-strong);border-radius:999px;color:rgba(255,255,255,.86);background:rgba(255,255,255,.04);font-size:14px;font-weight:500}
.nav-toggle{display:none;width:48px;height:48px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(255,255,255,.04);color:#fff;align-items:center;justify-content:center;padding:0;cursor:pointer}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:18px;height:2px;background:#fff;border-radius:999px;position:relative;content:""}
.nav-toggle span::before{position:absolute;top:-6px;left:0}.nav-toggle span::after{position:absolute;top:6px;left:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:700;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:var(--primary-text)}.btn-secondary{background:rgba(255,255,255,.05);color:#fff;border:1px solid var(--line-strong)}.btn-full{width:100%}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:40px;align-items:center;padding-top:56px;padding-bottom:56px}
.eyebrow,.section-kicker{display:inline-block;padding:10px 16px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(255,255,255,.05);color:rgba(255,255,255,.74);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.24em}
.hero-content h1{margin:20px 0 0;max-width:980px;font-size:clamp(40px,6vw,68px);line-height:1.02;letter-spacing:-.04em}.hero-text{max-width:760px;margin:22px 0 0;color:var(--text-soft);font-size:18px;line-height:1.75}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.hero-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}
.mini-card,.card,.intro-card,.form-card,.hero-panel .panel-card,.map-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}
.mini-card{padding:20px;border-radius:26px}.mini-card h3{margin:0;font-size:15px}.mini-card p{margin:10px 0 0;color:var(--text-soft);font-size:14px;line-height:1.6}
.hero-panel .panel-card{padding:20px;border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03))}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)} .panel-label{color:var(--text-muted);font-size:12px;letter-spacing:.24em;text-transform:uppercase}.panel-title{margin-top:6px;font-size:24px;font-weight:700}
.status-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--ok-line);background:var(--ok-bg);color:var(--ok-text);font-size:12px;font-weight:700}
.panel-list{display:grid;gap:12px;margin-top:22px}.panel-item{padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(0,0,0,.22);color:rgba(255,255,255,.82);font-size:14px}
.panel-image{margin-top:20px;padding:22px;min-height:170px;border-radius:24px;border:1px dashed var(--line-strong);background:rgba(0,0,0,.18);color:var(--text-soft);font-size:14px;line-height:1.7}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-head.narrow{justify-content:flex-start}
.section-head h2,.intro-card h2,.reservation-copy h2,.contact-grid h2{margin:18px 0 0;font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.03em}
.section-head p,.intro-card p,.reservation-copy p,.contact-grid p{margin:18px 0 0;color:var(--text-soft);font-size:17px;line-height:1.8}
.section-side-text{max-width:460px;color:var(--text-soft);font-size:15px;line-height:1.7}
.cards-grid{display:grid;gap:20px}.cards-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-grid-3{margin-top:34px;grid-template-columns:repeat(3,minmax(0,1fr))}.cards-grid-4{margin-top:34px;grid-template-columns:repeat(4,minmax(0,1fr))}
.card{padding:26px;border-radius:28px}.card h3{margin:0;font-size:24px;line-height:1.2}.card p{margin:16px 0 0;color:var(--text-soft);font-size:15px;line-height:1.8}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tag,.tag-list span{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:rgba(255,255,255,.66);font-size:12px;font-weight:600}
.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.split-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px;align-items:start}.intro-card{padding:32px;border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.03))}
.small-card{min-height:180px}.plus{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:rgba(255,255,255,.10);font-size:20px;font-weight:700}
.text-link{display:inline-flex;margin-top:20px;color:#fde68a;font-size:14px;font-weight:700}
.reservation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:28px;align-items:start}
.info-box{padding:18px 20px;border-radius:22px;border:1px solid var(--line);background:rgba(0,0,0,.18);color:var(--text-soft);font-size:14px;line-height:1.7}
.form-card{padding:24px;border-radius:32px;background:rgba(10,10,10,.52)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid input,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.05);color:#fff;padding:15px 16px;outline:none}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:rgba(255,255,255,.32)} .form-grid textarea{min-height:140px;resize:vertical;border-radius:24px}.form-grid .full{grid-column:1 / -1}
.form-note{margin:16px 0 0;color:var(--text-muted);font-size:12px;line-height:1.7}
.gallery-grid{margin-top:34px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.gallery-item{aspect-ratio:1/1;padding:14px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.03))}
.gallery-item.tall{aspect-ratio:4/5}.gallery-item span{display:flex;align-items:end;height:100%;padding:16px;border-radius:20px;border:1px dashed var(--line);background:rgba(0,0,0,.14);color:var(--text-soft);font-size:15px;font-weight:600}
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}.contact-cards{margin-top:28px}
.contact-label{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.contact-value{margin-top:14px;color:rgba(255,255,255,.8);font-size:15px;line-height:1.7}
.chip-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.chip-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(255,255,255,.05);color:rgba(255,255,255,.78);font-size:14px;font-weight:600}
.map-card{min-height:420px;border-radius:32px;padding:26px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px dashed var(--line-strong);color:var(--text-soft);font-size:15px;line-height:1.8;display:flex;align-items:end}
.site-footer{border-top:1px solid var(--line);background:rgba(11,12,16,.92)}.footer-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--text-muted);font-size:14px}.footer-links{display:flex;flex-wrap:wrap;gap:22px}.footer-links a:hover{color:#fff}
@media (max-width:1200px){.site-nav{display:none;position:absolute;top:calc(var(--header-h) - 4px);left:16px;right:16px;padding:14px;border:1px solid var(--line-strong);border-radius:24px;background:rgba(11,12,16,.96);box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.site-nav.is-open{display:flex}.site-nav a{padding:14px 16px;border-radius:16px}.nav-toggle{display:inline-flex;justify-self:center}.header-inner{grid-template-columns:minmax(0,1fr) auto auto}.hero-grid,.split-grid,.reservation-grid,.contact-grid{grid-template-columns:1fr}.cards-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.hero-features,.cards-grid-3,.cards-grid-2,.cards-grid-4{grid-template-columns:1fr}.section-head{flex-direction:column;align-items:start}.section{padding:56px 0}.hero-grid{padding-top:40px;padding-bottom:40px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item,.gallery-item.tall{aspect-ratio:1/1}.footer-inner{flex-direction:column;align-items:flex-start;justify-content:center;padding:20px 0}}
@media (max-width:640px){.container{width:min(var(--container),calc(100% - 24px))}.header-actions .lang-switch{display:none}.header-inner{gap:12px}.brand-bottom{font-size:16px}.hero-content h1{font-size:36px}.hero-text,.section-head p,.intro-card p,.reservation-copy p,.contact-grid p{font-size:16px;line-height:1.7}.card,.intro-card,.form-card,.hero-panel .panel-card,.map-card{border-radius:24px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}}
