@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Bebas+Neue&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--ink:#1a1410;--ink-2:#221a14;--ink-3:#2c2118;--leather:#3d2a1f;--oxblood:#6b1a1a;--oxblood-2:#8a2222;--brass:#b8893d;--brass-2:#d4a854;--brass-3:#8a6529;--bone:#f0e6d2;--bone-2:#e0d4be;--bone-3:#c9b896;--muted:#6b5d4c;--line:rgba(184,137,61,0.18);--line-2:rgba(240,230,210,0.08);--serif:"DM Serif Display","Cormorant Garamond",Georgia,serif;--display:"Bebas Neue","Oswald",Impact,sans-serif;--body:"Inter",-apple-system,system-ui,sans-serif;--mono:"JetBrains Mono","Courier New",monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--ink);color:var(--bone);font-family:var(--body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.grain{position:relative}.grain:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.08 0 0 0 0 0.05 0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");opacity:.35;pointer-events:none;mix-blend-mode:overlay;z-index:1}.serif{font-family:var(--serif);font-weight:400}.display{letter-spacing:.04em}.display,.eyebrow{font-family:var(--display);text-transform:uppercase}.eyebrow{font-size:11px;letter-spacing:.32em;color:var(--brass-2)}.eyebrow-line{display:inline-flex;align-items:center;gap:12px}.eyebrow-line:after,.eyebrow-line:before{content:"";width:28px;height:1px;background:var(--brass)}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;font-family:var(--display);font-size:13px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--brass);background:transparent;color:var(--bone);transition:all .18s ease;border-radius:0;white-space:nowrap}.btn-primary,.btn:hover{background:var(--brass);color:var(--ink)}.btn-primary{border-color:var(--brass)}.btn-primary:hover{background:var(--brass-2);border-color:var(--brass-2)}.btn-ghost{border-color:var(--line);color:var(--bone-2)}.btn-ghost:hover{border-color:var(--brass);background:transparent;color:var(--brass-2)}.btn-sm{padding:9px 16px;font-size:11px;letter-spacing:.16em}.btn-block{width:100%;justify-content:center}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:hover{background:transparent;color:var(--bone)}.ornament{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--brass)}.ornament .line{height:1px;background:var(--brass);flex:1 1;max-width:90px}.ornament .star{font-size:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-3)}.input,.select,.textarea{background:var(--ink);border:1px solid var(--line);color:var(--bone);padding:12px 14px;font-family:var(--body);font-size:14px;border-radius:0;outline:none;transition:border-color .15s;width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--brass)}.textarea{min-height:100px;resize:none}.divider{height:1px;background:var(--line);width:100%}.dotted-divider{border-top:1px dashed var(--line);width:100%}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-family:var(--display);font-size:10px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--line);color:var(--bone-2);background:rgba(184,137,61,.06)}.chip-brass{border-color:var(--brass);color:var(--brass-2)}.chip-good{border-color:#4d7a4f;color:#92c89a;background:rgba(77,122,79,.12)}.chip-warn{border-color:#b8893d;color:var(--brass-2);background:rgba(184,137,61,.12)}.chip-bad{border-color:#8a3a3a;color:#d68a8a;background:rgba(138,58,58,.12)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:var(--leather);border:2px solid var(--ink)}::-webkit-scrollbar-thumb:hover{background:var(--brass-3)}.stars{display:inline-flex;gap:2px;color:var(--brass-2)}.modal-back{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.modal{background:var(--ink-2);border:1px solid var(--brass);padding:32px;max-width:540px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--bone-3);font-size:24px;cursor:pointer}.modal-close:hover{color:var(--brass-2)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(26,20,16,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1400px;margin:0 auto;padding:18px 32px;gap:24px}.topbar-inner,.topbar-thin{display:flex;align-items:center;justify-content:space-between}.topbar-thin{background:var(--leather);color:var(--bone);font-family:var(--display);font-size:11px;letter-spacing:.2em;padding:8px 32px;text-transform:uppercase}.brand{display:flex;align-items:center;gap:12px}.brand-name{font-family:var(--serif);font-size:22px;letter-spacing:.02em;line-height:1}.brand-est{font-family:var(--display);font-size:9px;letter-spacing:.32em;color:var(--brass-2);margin-top:4px}.nav{display:flex;gap:32px;align-items:center}.nav a{font-family:var(--display);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone-2);padding:6px 0;border-bottom:1px solid transparent;transition:all .15s;cursor:pointer}.nav a.active,.nav a:hover{color:var(--brass-2);border-bottom-color:var(--brass)}.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;background:var(--ink)}.hero-bg{background:radial-gradient(ellipse at 70% 40%,rgba(184,137,61,.18),transparent 60%),linear-gradient(135deg,var(--ink) 0,#1f1812 50%,var(--ink) 100%)}.hero-bg,.hero-vignette{position:absolute;inset:0}.hero-vignette{background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.6) 100%)}.hero-inner{position:relative;z-index:2;padding:80px 32px;width:100%}.hero-inner,.section{max-width:1400px;margin:0 auto}.section{padding:100px 32px}.section-tight{padding:64px 32px}.section-head{text-align:center;margin-bottom:56px}.section-head h2{font-family:var(--serif);font-size:clamp(36px,5vw,64px);font-weight:400;margin:12px 0 0;line-height:1.05;letter-spacing:-.01em}.section-alt{background:var(--ink-2)}.loc-row{align-items:center}.contact-grid,.loc-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px}.contact-grid{max-width:1080px;margin:0 auto}.loc-row.rev{direction:rtl}.loc-row>div{direction:ltr}.loc-name{font-family:var(--serif);font-size:clamp(32px,5vw,56px);margin:8px 0 4px;font-weight:400}.loc-meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-bottom:24px}.card{background:var(--ink-2);padding:24px}.card,.card-leather{border:1px solid var(--line)}.card-leather{background:linear-gradient(145deg,#2a1d14,#1f1410);position:relative}.footer{background:#14100c;border-top:1px solid var(--line);padding:64px 32px 32px;color:var(--bone-3)}.footer-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:48px;gap:48px}.footer h4{font-family:var(--display);font-size:12px;letter-spacing:.24em;color:var(--brass-2);margin:0 0 16px}.footer ul{list-style:none;padding:0;margin:0}.footer li{padding:6px 0}.footer-bottom{max-width:1400px;margin:48px auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-family:var(--display);font-size:11px;letter-spacing:.2em;color:var(--muted)}.admin{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:var(--ink);overflow-x:hidden}.admin-side{background:#14100c;border-right:1px solid var(--line);padding:24px 0;display:flex;flex-direction:column}.admin-brand{padding:0 24px 24px;border-bottom:1px solid var(--line)}.admin-nav{padding:16px 0;display:flex;flex-direction:column;flex:1 1}.admin-nav-section{font-family:var(--display);font-size:10px;letter-spacing:.24em;color:var(--muted);padding:16px 24px 8px}.admin-nav-item{display:flex;align-items:center;gap:12px;padding:11px 24px;font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-3);border-left:2px solid transparent;cursor:pointer;transition:all .15s}.admin-nav-item:hover{color:var(--bone);background:rgba(184,137,61,.04)}.admin-nav-item.active{color:var(--brass-2);border-left-color:var(--brass);background:rgba(184,137,61,.08)}.admin-nav-item .badge{margin-left:auto;background:var(--oxblood);color:var(--bone);font-size:10px;padding:2px 7px;letter-spacing:.12em}.admin-main{display:flex;flex-direction:column;min-width:0}.admin-top{background:var(--ink-2);border-bottom:1px solid var(--line);padding:16px 32px;justify-content:space-between;gap:16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.admin-top,.admin-top-right{display:flex;align-items:center}.admin-top-right{gap:12px}.admin-content{padding:32px;flex:1 1}.admin-h1{font-family:var(--serif);font-size:36px;font-weight:400;margin:0}.admin-sub{color:var(--bone-3);margin-top:4px;font-size:14px}.nav-hamburger{display:none;background:transparent;border:1px solid var(--line);color:var(--bone-2);font-size:20px;padding:6px 10px;cursor:pointer;line-height:1;flex-shrink:0}.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.nav-overlay.open{display:block}.nav-mobile{position:fixed;top:0;right:0;bottom:0;width:280px;background:var(--ink-1);border-left:1px solid var(--line);z-index:101;padding:24px 32px 40px;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.16,1,.3,1);overflow-y:auto}.nav-mobile.open{transform:translateX(0);box-shadow:-8px 0 40px rgba(0,0,0,.7)}.nav-mobile-close{align-self:flex-end;background:transparent;border:1px solid var(--line);color:var(--bone-2);font-size:18px;padding:6px 10px;cursor:pointer;line-height:1;margin-bottom:24px}.nav-mobile a{font-family:var(--display);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone-2);text-decoration:none;padding:16px 0;border-bottom:1px solid var(--line-2);transition:color .2s}.nav-mobile a.active,.nav-mobile a:hover{color:var(--brass-2)}.admin-hamburger{display:none;background:transparent;border:1px solid var(--line);color:var(--bone-2);font-size:20px;padding:6px 10px;cursor:pointer;line-height:1;flex-shrink:0}.admin-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:199;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-overlay.open{display:block}.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:32px}.stat{background:var(--ink-2);border:1px solid var(--line);padding:20px 22px;position:relative;overflow:hidden}.stat-label{font-family:var(--display);font-size:10px;letter-spacing:.24em;color:var(--bone-3);text-transform:uppercase}.stat-value{font-family:var(--serif);font-size:36px;margin:8px 0 4px;line-height:1}.stat-trend{font-family:var(--mono);font-size:12px;color:#92c89a}.stat-trend.down{color:#d68a8a}.stat-spark{position:absolute;right:12px;top:14px;opacity:.3}.tbl{width:100%;border-collapse:collapse;background:var(--ink-2);border:1px solid var(--line)}.tbl th{text-align:left;font-family:var(--display);font-size:11px;letter-spacing:.18em;color:var(--bone-3);text-transform:uppercase;background:#1a130e;border-bottom:1px solid var(--line)}.tbl td,.tbl th{padding:14px 16px}.tbl td{border-bottom:1px solid var(--line-2);font-size:14px}.tbl tr:hover td{background:rgba(184,137,61,.04)}.tbl tr:last-child td{border-bottom:none}.panel{background:var(--ink-2);border:1px solid var(--line);padding:20px 24px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-title{font-family:var(--serif);font-size:22px}.cal{background:var(--ink-2);border:1px solid var(--line);overflow:hidden}.cal-head-cell{padding:14px 12px;border-right:1px solid var(--line);font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-2)}.cal-head-cell:last-child{border-right:none}.cal-time{border-bottom:1px solid var(--line-2);height:60px;font-family:var(--mono);font-size:11px;color:var(--bone-3);padding:4px 8px;text-align:right}.cal-col,.cal-time{border-right:1px solid var(--line)}.cal-col{position:relative}.cal-col:last-child{border-right:none}.cal-slot{height:60px;border-bottom:1px solid var(--line-2)}.cal-event{position:absolute;left:4px;right:4px;background:linear-gradient(135deg,var(--brass-3),#6e4f1f);border-left:3px solid var(--brass-2);padding:6px 10px;color:var(--bone);font-size:12px;cursor:pointer;transition:transform .15s;overflow:hidden}.cal-event:hover{transform:translateX(2px)}.cal-event-name{font-weight:600}.cal-event-svc{color:var(--bone-3);font-size:11px;margin-top:2px}.cal-event.confirmed{background:linear-gradient(135deg,#4d6a4f,#2f4830);border-left-color:#92c89a}.cal-event.pending{background:linear-gradient(135deg,#8a6529,#5a3f15);border-left-color:var(--brass-2)}.cal-event.cancelled{background:linear-gradient(135deg,#6b1a1a,#3a0e0e);border-left-color:#d68a8a;opacity:.6}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes heroGlow{0%,to{opacity:.18}50%{opacity:.28}}.anim-fade-up{opacity:0;animation:fadeUp .75s cubic-bezier(.16,1,.3,1) forwards}.anim-fade-in{opacity:0;animation:fadeIn .6s ease forwards}.anim-d1{animation-delay:.05s}.anim-d2{animation-delay:.18s}.anim-d3{animation-delay:.32s}.anim-d4{animation-delay:.48s}.anim-d5{animation-delay:.65s}.anim-d6{animation-delay:.84s}.anim-d7{animation-delay:1.05s}.scroll-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}.scroll-reveal.in-view{opacity:1;transform:translateY(0)}.topbar-thin{animation:fadeIn .45s ease forwards}.topbar{animation:slideDown .5s cubic-bezier(.16,1,.3,1) .08s both}.hero-bg{animation:heroGlow 6s ease-in-out infinite}.card{transition:border-color .26s,transform .26s,box-shadow .26s}.card:hover{border-color:rgba(184,137,61,.4);transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.38)}.card-leather{transition:border-color .26s,transform .26s,box-shadow .26s}.card-leather:hover{border-color:rgba(184,137,61,.4);transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.4)}@media (prefers-reduced-motion:reduce){.anim-fade-in,.anim-fade-up{animation:none!important;opacity:1!important}.scroll-reveal{transition:none!important;opacity:1!important;transform:none!important}.hero-bg,.topbar,.topbar-thin{animation:none!important}.card,.card-leather{transition:border-color .15s!important;transform:none!important}}@media (max-width:900px){.nav{display:none}.contact-grid{grid-template-columns:1fr;gap:32px}.nav-hamburger{display:flex;align-items:center}.footer-inner{grid-template-columns:1fr 1fr}.section{padding:64px 20px}.loc-row,.loc-row.rev{grid-template-columns:1fr;direction:ltr;gap:24px}.loc-meta{grid-template-columns:1fr 1fr}.topbar-inner{padding:14px 20px}.topbar-thin{padding:6px 20px;font-size:10px}.topbar-thin .hide-mobile{display:none}.hero-inner{padding:48px 20px}.admin{grid-template-columns:1fr}.admin-side{position:fixed;left:0;top:0;bottom:0;z-index:200;width:280px;transform:translateX(-100%);transition:transform .28s cubic-bezier(.16,1,.3,1);overflow-y:auto}.admin-side.open{transform:translateX(0);box-shadow:8px 0 40px rgba(0,0,0,.7)}.admin-hamburger{display:flex;align-items:center}.admin-top-right{display:none}.admin-top{padding:12px 16px}.admin-content{padding:16px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.admin-h1{font-size:26px}.tbl-scroll{overflow-x:visible}.tbl,.tbl tbody,.tbl tr{display:block;border:none;width:100%}.tbl thead{display:none}.tbl tr{background:var(--ink-2);border:1px solid var(--line);margin-bottom:10px;padding:4px 0}.tbl tr:hover td{background:transparent}.tbl td{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line-2);font-size:13px;gap:12px;text-align:right}.tbl td:last-child{border-bottom:none}.tbl td:before{content:attr(data-label);color:var(--bone-3);font-family:var(--display);font-size:10px;letter-spacing:.14em;text-transform:uppercase;flex-shrink:0;text-align:left}.tbl td[data-label=""]:before{display:none}.tbl td[data-label=""]{justify-content:flex-end}}@media (max-width:600px){.footer-inner{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column;gap:12px;text-align:center}.loc-meta{grid-template-columns:1fr}.admin-content{padding:12px;overflow-x:hidden}.stat-grid{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:14px}.stat-value{font-size:26px}.stat-spark{display:none}.panel{padding:14px}.panel-title{font-size:18px}.admin-h1{font-size:22px}}.rating-dist{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:16px;gap:16px;margin-bottom:56px}.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:24px;gap:24px}.rv-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:24px 16px;overflow-y:auto}.rv-modal{background:var(--ink-2);border:1px solid var(--line);width:100%;max-width:520px;position:relative;padding:40px 44px;margin:auto}.rv-label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--bone-3);margin-bottom:8px;text-transform:uppercase}.rv-field{width:100%;box-sizing:border-box;background:var(--ink);border:1px solid var(--line);color:var(--bone);padding:12px 14px;font-size:15px;font-family:var(--body);border-radius:0;outline:none;transition:border-color .15s;margin-bottom:18px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.rv-field:focus{border-color:var(--brass)}.rv-field.rv-textarea{font-family:var(--serif);font-style:italic;line-height:1.55;resize:vertical;min-height:100px;margin-bottom:0}.rv-stars{display:flex;gap:2px;margin-bottom:24px}.rv-stars button{background:none;border:none;cursor:pointer;font-size:34px;padding:4px 8px;line-height:1;color:var(--line);transition:color .12s;touch-action:manipulation}.rv-stars button.active{color:var(--brass)}.rv-error{color:#e07070;font-size:13px;line-height:1.5;margin:6px 0 0}.rv-row{display:flex;gap:10px;margin-top:24px}.rv-close{position:absolute;top:16px;right:18px;background:none;border:none;color:var(--bone-3);font-size:24px;cursor:pointer;line-height:1;padding:4px 6px}.rv-close:hover{color:var(--bone)}.slider-card{padding:48px 56px}.slider-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:28px}.slider-arrow{width:40px;height:40px;background:none;border:1px solid var(--line);color:var(--bone-2);font-size:16px;cursor:pointer;display:grid;place-items:center;border-radius:50%;transition:border-color .15s,color .15s;touch-action:manipulation}.slider-arrow:hover{border-color:var(--brass);color:var(--brass)}.slider-dots{display:flex;gap:8px;align-items:center}.slider-dot{height:8px;border-radius:4px;border:none;cursor:pointer;padding:0;background:var(--line);width:8px;transition:width .25s,background .25s}.slider-dot.active{background:var(--brass);width:24px}@media (max-width:900px){.rating-dist{gap:10px}.rv-modal{padding:32px 28px}.slider-card{padding:36px 32px}}@media (max-width:600px){.rating-dist{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:36px}.review-grid{grid-template-columns:1fr}.rv-overlay{padding:0;align-items:flex-end}.rv-modal{max-width:100%;border-radius:12px 12px 0 0;border-bottom:none;padding:28px 20px 36px;max-height:92dvh;overflow-y:auto}.rv-stars button{font-size:38px;padding:6px 8px}.rv-close{top:14px;right:14px}.slider-card{padding:28px 20px}.slider-arrow{width:36px;height:36px}}