@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Cinzel+Decorative:wght@400;700;900&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";:root{--ink-900: #1C1E23;--ink: #2C2E35;--ink-700: #43454D;--ink-500: #6E6A62;--ink-300: #9A9488;--paper: #F4ECDA;--paper-2: #FBF6EA;--paper-3: #ECE2CC;--paper-4: #E4D8BE;--ink-bg: #23252B;--gold: #9C7C46;--gold-deep: #7E6231;--gold-soft: #B79A66;--terracotta: #AE5A3C;--line: rgba(44, 46, 53, .16);--line-strong: rgba(44, 46, 53, .32);--line-gold: rgba(156, 124, 70, .55);--line-cream: rgba(244, 236, 218, .22);--font-engrave: "Cinzel", "Trajan Pro", serif;--font-display: "Playfair Display", "Didot", serif;--font-deco: "Cinzel Decorative", "Cinzel", serif;--font-body: "EB Garamond", "Garamond", Georgia, serif;--fs-display: clamp(3.2rem, 7vw, 6rem);--fs-h1: clamp(2.4rem, 4.6vw, 3.6rem);--fs-h2: clamp(1.8rem, 3vw, 2.6rem);--fs-h3: 1.5rem;--fs-eyebrow: .82rem;--fs-lead: 1.3rem;--fs-body: 1.12rem;--fs-small: .95rem;--fs-micro: .8rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--sp-9: 96px;--sp-10: 128px;--sp-11: 160px;--r-xs: 1px;--r-sm: 2px;--r-md: 3px;--r-pill: 999px;--shadow-card: 0 1px 2px rgba(28, 30, 35, .05), 0 8px 28px rgba(28, 30, 35, .07);--shadow-raise: 0 2px 4px rgba(28, 30, 35, .08), 0 18px 48px rgba(28, 30, 35, .1);--shadow-inset: inset 0 0 0 1px rgba(44, 46, 53, .1);--track-eyebrow: .28em;--track-caps: .12em;--track-nav: .18em;--ease: cubic-bezier(.22, .61, .36, 1);--dur: .32s;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E")}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:1.65;color:var(--ink);background-color:var(--paper);background-image:var(--grain);background-repeat:repeat;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.eyebrow{font-family:var(--font-engrave);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--gold-deep);line-height:1}h1,.h1{font-family:var(--font-display);font-weight:800;font-size:var(--fs-h1);line-height:1.04;letter-spacing:.005em;color:var(--ink-900);margin:0 0 var(--sp-4);text-wrap:balance}h2,.h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h2);line-height:1.1;color:var(--ink-900);margin:0 0 var(--sp-4);text-wrap:balance}h3,.h3{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h3);line-height:1.2;color:var(--ink-900);margin:0 0 var(--sp-3)}p{margin:0 0 var(--sp-5);text-wrap:pretty}.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--ink-700);font-style:italic}.caps{font-family:var(--font-engrave);text-transform:uppercase;letter-spacing:var(--track-caps);font-weight:600}a{color:var(--gold-deep);text-decoration:none;transition:color var(--dur) var(--ease)}a:hover{color:var(--ink)}.filet{border:0;height:0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);padding-top:2px}*{box-sizing:border-box}html,body{min-height:100%}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}::selection{background:#9c7c4640}.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 var(--sp-6)}.wrap-narrow{max-width:760px;margin:0 auto;padding:0 var(--sp-6)}.section{padding:var(--sp-9) 0}.section-tight{padding:var(--sp-8) 0}.center{text-align:center}.stack-sm>*+*{margin-top:var(--sp-3)}.divider{display:flex;align-items:center;justify-content:center;gap:var(--sp-4);margin:var(--sp-6) auto;max-width:540px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-gold))}.divider:after{background:linear-gradient(90deg,var(--line-gold),transparent)}.divider .mark{font-family:var(--font-body);color:var(--gold);font-size:1.1rem;letter-spacing:.2em}.flourish{display:block;margin:var(--sp-6) auto 0;width:min(360px,64%);opacity:.9;height:auto}.flourish.flip{transform:rotate(180deg);margin:0 auto var(--sp-6)}.flourish.sm{width:220px}.eyebrow-row{display:flex;align-items:center;justify-content:center;gap:var(--sp-4);margin-bottom:var(--sp-4)}.eyebrow-row:before,.eyebrow-row:after{content:"";width:38px;height:1px;background:var(--line-gold)}.site-header{position:sticky;top:0;z-index:50;background:#f4ecdadb;-webkit-backdrop-filter:blur(8px) saturate(1.1);backdrop-filter:blur(8px) saturate(1.1);border-bottom:1px solid var(--line)}.site-header .bar{display:flex;align-items:center;justify-content:space-between;height:78px}.brand-link{display:flex;align-items:center;gap:var(--sp-3)}.brand-link img{height:48px;width:auto}.brand-mark{font-family:var(--font-engrave);font-weight:700;letter-spacing:.18em;font-size:1.15rem;color:var(--ink-900);text-transform:uppercase}.nav{display:flex;align-items:center;gap:var(--sp-7)}.nav a{font-family:var(--font-engrave);text-transform:uppercase;letter-spacing:var(--track-nav);font-size:.78rem;font-weight:600;position:relative}.nav-cta{margin-left:var(--sp-3)}.nav-toggle{display:none;background:none;border:1px solid var(--line-strong);width:44px;height:44px;border-radius:var(--r-sm);color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font-engrave);text-transform:uppercase;letter-spacing:var(--track-caps);font-weight:600;font-size:.8rem;padding:14px 28px;border-radius:var(--r-sm);border:1px solid transparent;transition:all var(--dur) var(--ease);line-height:1;text-decoration:none}.btn-primary{background:var(--ink);color:var(--paper-2);border-color:var(--ink)}.btn-primary:hover{background:var(--ink-900);color:#fff;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-outline{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn-outline:hover{border-color:var(--ink);color:var(--ink-900);background:#2c2e350a}.btn-gold{background:var(--gold);color:#fff;border-color:var(--gold)}.btn-gold:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}.btn-ghost{background:transparent;color:var(--ink-700);border-color:transparent;padding:8px 12px}.btn-ghost:hover{color:var(--ink-900);background:#2c2e350d}.btn-sm{padding:8px 16px;font-size:.72rem}.btn-danger{background:transparent;color:var(--terracotta);border-color:#ae5a3c66}.btn-danger:hover{background:var(--terracotta);color:#fff;border-color:var(--terracotta)}.btn-block{width:100%}.btn:disabled{opacity:.5;pointer-events:none}.field{display:flex;flex-direction:column;gap:7px}.field label,.form-label{font-family:var(--font-engrave);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;color:var(--ink-700)}.field .req{color:var(--terracotta)}.input,.select,.textarea{font-family:var(--font-body);font-size:1.02rem;color:var(--ink-900);background:var(--paper-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:12px 14px;width:100%;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--ink-300);font-style:italic}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #9c7c4624}.textarea{resize:vertical;min-height:96px;line-height:1.55}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239c7c46' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;cursor:pointer}.select option{background:var(--ink-700);color:var(--paper)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5)}.form-grid .col-2{grid-column:span 2}.panel{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card)}.panel-pad{padding:var(--sp-7)}.framed{border:1px solid var(--line-strong);position:relative;padding:var(--sp-7)}.framed:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid var(--line);pointer-events:none}.plate{position:relative;overflow:hidden;background:var(--paper-3);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center}.plate:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(244,236,218,.5);z-index:2;pointer-events:none}.plate img{width:100%;height:100%;object-fit:cover;filter:sepia(.32) contrast(.96) brightness(.98) saturate(.85)}.plate .plate-label{position:relative;z-index:1;text-align:center;color:var(--ink-500);font-family:var(--font-body);font-style:italic;font-size:.95rem;padding:var(--sp-4);line-height:1.4}.plate .plate-label .ico{display:block;font-size:1.6rem;margin-bottom:6px;color:var(--ink-300);font-style:normal;font-family:var(--font-engrave)}.plate-tall{aspect-ratio:3/4}.plate-wide{aspect-ratio:16/10}.plate-square{aspect-ratio:1/1}.hero{position:relative;text-align:center;padding:var(--sp-6) 0 var(--sp-6);overflow:hidden}.hero-brand-logo{width:min(180px,44%);height:auto;margin:0 auto;display:block}.hero-video{width:min(960px,94%);height:auto;aspect-ratio:16/9;margin:0 auto;display:block}.hero .claim{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:var(--fs-lead);color:var(--ink-700);max-width:620px;margin:0 auto var(--sp-6);line-height:1.5}.hero .est{font-family:var(--font-engrave);letter-spacing:.3em;text-transform:uppercase;font-size:.74rem;color:var(--gold-deep);margin-bottom:var(--sp-5)}.hero-actions{display:flex;gap:var(--sp-4);justify-content:center;flex-wrap:wrap}.menu-cat{margin-bottom:var(--sp-8)}.menu-cat-head{text-align:center;margin-bottom:var(--sp-6)}.menu-cat-head .name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h2);color:var(--ink-900)}.menu-cat-head .note{color:var(--ink-500);font-style:italic;font-size:var(--fs-small)}.menu-item{display:grid;grid-template-columns:1fr auto;gap:var(--sp-3) var(--sp-4);align-items:baseline;padding:var(--sp-4) 0;border-bottom:1px dotted var(--line-strong)}.menu-item:last-child{border-bottom:0}.menu-item .mi-name{font-family:var(--font-body);font-weight:600;font-size:1.2rem;color:var(--ink-900)}.menu-item .mi-tags{display:inline-flex;gap:6px;margin-left:8px;vertical-align:middle}.menu-item .mi-desc{grid-column:1 / 2;color:var(--ink-500);font-style:italic;font-size:var(--fs-small);margin-top:2px}.menu-item .mi-price{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--gold-deep);white-space:nowrap}.diet-tag{font-family:var(--font-engrave);font-size:.6rem;letter-spacing:.08em;border:1px solid var(--line-gold);color:var(--gold-deep);border-radius:var(--r-pill);padding:2px 7px;text-transform:uppercase;line-height:1.4}.cat-nav{display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:center}.cat-nav button{font-family:var(--font-engrave);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:600;color:var(--ink-700);background:transparent;border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:9px 18px;transition:all var(--dur) var(--ease)}.cat-nav button:hover{border-color:var(--ink);color:var(--ink-900)}.cat-nav button.active{background:var(--ink);color:var(--paper-2);border-color:var(--ink)}.feature-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6)}.feature-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8);align-items:center}.feature-item .fi-title{font-family:var(--font-display);font-size:1.3rem;color:var(--ink-900);margin:var(--sp-4) 0 var(--sp-2)}.feature-item .fi-num{font-family:var(--font-engrave);color:var(--gold);font-size:.9rem;letter-spacing:.2em}.reserve{background:var(--ink-bg);color:var(--paper);position:relative;background-image:var(--grain)}.reserve .eyebrow{color:var(--gold-soft)}.reserve h2{color:var(--paper-2)}.reserve .lead{color:#f4ecdab8}.reserve .field label{color:#f4ecdab3}.reserve .input,.reserve .select,.reserve .textarea{background:#f4ecda0f;border-color:#f4ecda38;color:var(--paper-2)}.reserve .input::placeholder,.reserve .textarea::placeholder{color:#f4ecda66}.reserve .input:focus,.reserve .select:focus,.reserve .textarea:focus{border-color:var(--gold-soft);box-shadow:0 0 0 3px #b79a662e}.reserve .divider .mark{color:var(--gold-soft)}.reserve .divider:before{background:linear-gradient(90deg,transparent,rgba(183,154,102,.5))}.reserve .divider:after{background:linear-gradient(90deg,rgba(183,154,102,.5),transparent)}.confirm-msg{display:flex;gap:var(--sp-4);align-items:flex-start;background:#b79a661f;border:1px solid var(--line-gold);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6);margin-top:var(--sp-5);animation:rise var(--dur) var(--ease)}.confirm-msg .seal{flex:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--gold-soft);color:var(--gold-soft);display:grid;place-items:center;font-size:1.3rem}.confirm-msg .ct{font-family:var(--font-display);font-size:1.2rem;color:var(--paper-2);margin-bottom:2px}.confirm-msg .cs{color:#f4ecdab8;font-size:var(--fs-small);margin:0}@keyframes rise{0%{transform:translateY(10px)}to{transform:none}}.site-footer{background:var(--ink-bg);color:#f4ecdab3;background-image:var(--grain);padding:var(--sp-9) 0 var(--sp-6)}.site-footer .foot-logo{width:260px;margin:0 auto var(--sp-5);display:block}.site-footer .foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6);text-align:center;margin:var(--sp-7) 0}.site-footer h4{font-family:var(--font-engrave);text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;color:var(--gold-soft);margin:0 0 var(--sp-3);font-weight:600}.site-footer p{margin:0 0 4px;font-size:var(--fs-small)}.site-footer a{color:#f4ecdab3}.site-footer a:hover{color:var(--paper-2)}.site-footer .legal{text-align:center;font-size:var(--fs-micro);color:#f4ecda66;border-top:1px solid var(--line-cream);padding-top:var(--sp-5);margin-top:var(--sp-6)}.admin-shell{min-height:100vh}.admin-top{background:var(--paper-2);border-bottom:1px solid var(--line-strong);position:sticky;top:0;z-index:30}.admin-top .bar{display:flex;align-items:center;justify-content:space-between;height:66px}.admin-top .a-brand{display:flex;align-items:center;gap:var(--sp-3)}.admin-top .a-brand img{height:26px}.admin-top .a-tag{font-family:var(--font-engrave);text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;color:var(--gold-deep);padding-left:var(--sp-4);border-left:1px solid var(--line-strong)}.admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-5);margin-bottom:var(--sp-6);flex-wrap:wrap}.admin-head h1{margin:0;font-size:var(--fs-h2)}.admin-head .sub{color:var(--ink-500);font-style:italic}.toolbar{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-5)}.toolbar .spacer{flex:1}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r-sm);overflow:hidden}.seg button{background:var(--paper-2);border:0;padding:9px 16px;font-family:var(--font-engrave);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:600;color:var(--ink-700);border-right:1px solid var(--line)}.seg button:last-child{border-right:0}.seg button.active{background:var(--ink);color:var(--paper-2)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);margin-bottom:var(--sp-6)}.stat{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-5)}.stat .n{font-family:var(--font-display);font-size:2rem;color:var(--ink-900);line-height:1}.stat .l{font-family:var(--font-engrave);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:var(--ink-500);margin-top:8px}.table{width:100%;border-collapse:collapse;background:var(--paper-2);border:1px solid var(--line-strong);border-radius:var(--r-md);overflow:hidden}.table thead th{text-align:left;font-family:var(--font-engrave);text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;font-weight:600;color:var(--ink-500);padding:14px 18px;background:var(--paper-3);border-bottom:1px solid var(--line-strong);white-space:nowrap}.table tbody td{padding:16px 18px;border-bottom:1px solid var(--line);font-size:1rem;color:var(--ink-700);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#9c7c460d}.table .t-name{font-weight:600;color:var(--ink-900);font-size:1.05rem}.table .t-sub{color:var(--ink-500);font-size:var(--fs-small);font-style:italic}.table .t-price{font-family:var(--font-display);font-weight:600;color:var(--gold-deep)}.table .t-actions{display:flex;gap:var(--sp-2);justify-content:flex-end}.cell-actions{text-align:right;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-engrave);text-transform:uppercase;letter-spacing:.1em;font-size:.64rem;font-weight:600;padding:5px 11px;border-radius:var(--r-pill);border:1px solid}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-pending{color:var(--gold-deep);border-color:var(--line-gold);background:#9c7c4614}.badge-confirmed{color:#4a6b3f;border-color:#4a6b3f66;background:#4a6b3f14}.badge-cancelled{color:var(--terracotta);border-color:#ae5a3c59;background:#ae5a3c12}.badge-cat{color:var(--ink-700);border-color:var(--line-strong);background:transparent}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--paper-2);color:var(--ink-700);transition:all var(--dur) var(--ease)}.icon-btn:hover{border-color:var(--ink);color:var(--ink-900)}.icon-btn.danger:hover{border-color:var(--terracotta);color:var(--terracotta)}.icon-btn svg{width:16px;height:16px}.gate{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6);background:var(--paper);background-image:var(--grain)}.gate-card{width:100%;max-width:420px;text-align:center}.gate-card .lock{width:54px;height:54px;margin:0 auto var(--sp-4);border-radius:50%;border:1.5px solid var(--line-gold);color:var(--gold-deep);display:grid;place-items:center}.gate-card .lock svg{width:22px;height:22px}.gate-card .hint{color:var(--ink-500);font-style:italic;font-size:var(--fs-small);margin-top:var(--sp-4)}.gate-card img.gate-logo{width:220px;margin:0 auto var(--sp-6)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#1c1e2380;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:var(--sp-6);animation:fade var(--dur) var(--ease)}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:560px;background:var(--paper-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-raise);animation:rise var(--dur) var(--ease);max-height:90vh;overflow:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-body{padding:var(--sp-6)}.modal-foot{display:flex;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6);border-top:1px solid var(--line)}.modal-close{background:none;border:0;color:var(--ink-500);font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--ink-900)}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.muted{color:var(--ink-500)}.hide{display:none!important}.fade-in{opacity:1}@media (prefers-reduced-motion: no-preference){.fade-in{animation:fadeUp .48s var(--ease)}}@keyframes fadeUp{0%{transform:translateY(10px)}to{transform:none}}@media (max-width: 880px){.nav{display:none}.nav-toggle{display:grid;place-items:center}.feature-3{grid-template-columns:1fr}.feature-2{grid-template-columns:1fr;gap:var(--sp-6)}.form-grid{grid-template-columns:1fr}.form-grid .col-2{grid-column:span 1}.stat-row{grid-template-columns:1fr 1fr}.site-footer .foot-cols{grid-template-columns:1fr;gap:var(--sp-5)}.table-scroll{overflow-x:auto}.table{min-width:680px}}
