:root{--ground:#f4f3f0;--ground-2:#eae8e3;--surface:#fff;--ink:#17181a;--ink-soft:#43464a;--muted:#74787d;--line:#dedcd7;--line-firm:#bfbcb5;--accent:#9b1b25;--accent-deep:#7a141c;--accent-wash:#f8e8e9;--accent-ring:#9b1b2529;--alt:#17181a;--on-alt:#fff;--dark:#17181a;--dark-soft:#c5c7ca;--dark-faint:#93969a;--dark-accent:#d9a441;--hdr-bg:#f4f3f0f2;--hero-bg:repeating-linear-gradient(135deg, #f4f3f0 0 22px, #efeeea 22px 44px);--ok:#2c7a52;--ok-wash:#e4f1ea;--ok-line:#b8dbc7;--warn:#9b1b25;--warn-wash:#f8e8e9;--warn-line:#eec4c7;--field-bg:#f7f6f4;--star:#d9a441;--on-accent:#fff;--book-bg:var(--ground-2);--display-weight:400;--display-tracking:.02em;--r-btn:3px;--r-card:4px;--r-sm:3px;--f-display:"Bebas Neue", "Arial Narrow", Impact, sans-serif;--f-body:"Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow-sm:0 1px 2px #0000000d, 0 4px 12px -8px #0003;--shadow-md:0 2px 5px #0000000f, 0 16px 34px -22px #00000061;--shadow-lg:0 4px 10px #00000012, 0 30px 60px -34px #00000073}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.62}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--f-display);font-weight:var(--display-weight,700);letter-spacing:var(--display-tracking,-.015em);text-wrap:balance;text-transform:var(--display-transform,none);margin:0;line-height:1.08}p{margin:0}a{color:var(--accent-deep);text-underline-offset:3px}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:3px}.shell{max-width:var(--shell,1140px);margin:0 auto;padding-inline:clamp(18px,4vw,32px)}.eyebrow{font-family:var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-size:12.5px;font-weight:700}.section{padding-block:clamp(52px,8vw,92px)}.section-head{max-width:60ch;margin-bottom:clamp(26px,4vw,42px)}.section-head h2{margin-bottom:13px;font-size:clamp(31px,5vw,50px)}.section-head p{color:var(--ink-soft);font-size:18.5px}.btn{font-family:var(--f-body);border-radius:var(--r-btn,999px);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:9px;padding:14px 26px;font-size:15.5px;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .12s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn-alt{background:var(--alt);color:var(--on-alt,#fff);border-color:var(--alt)}.btn-alt:hover{filter:brightness(.92)}.btn-ghost{color:var(--ink);border-color:var(--line-firm);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-deep)}.btn-lg{padding:16px 30px;font-size:17px}.btn-block{width:100%}.hdr{z-index:60;background:var(--hdr-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.hdr-in{align-items:center;gap:18px;min-height:74px;display:flex}.brand{color:var(--ink);margin-right:auto;text-decoration:none}.brand b{font-family:var(--f-display);font-weight:var(--display-weight,700);font-size:23px;line-height:1.03;display:block}.brand span{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-size:10px;font-weight:700;display:block}.nav{gap:24px;display:flex}.nav a{color:var(--ink-soft);font-size:15.5px;font-weight:600;text-decoration:none}.nav a:hover{color:var(--accent-deep)}.hdr-phone{font-family:var(--f-display);font-weight:var(--display-weight,700);color:var(--ink);white-space:nowrap;font-size:18px;text-decoration:none}@media (width<=980px){.nav,.hdr-phone{display:none}}.status{border:1.5px solid;border-radius:999px;align-items:center;gap:9px;padding:6px 15px 6px 12px;font-size:14px;font-weight:700;display:inline-flex}.status.open{color:var(--ok);background:var(--ok-wash);border-color:var(--ok-line)}.status.shut{color:var(--warn);background:var(--warn-wash);border-color:var(--warn-line)}.status i{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.hero{background:var(--hero-bg)}.hero-in{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(28px,5vw,54px);padding-block:clamp(40px,6.5vw,76px);display:grid}@media (width<=920px){.hero-in{grid-template-columns:minmax(0,1fr)}}.hero h1{margin:16px 0 18px;font-size:clamp(38px,6.4vw,66px)}.hero h1 em{font-style:var(--em-style,normal);color:var(--accent)}.hero-lede{color:var(--ink-soft);max-width:46ch;margin-bottom:24px;font-size:clamp(18px,2.1vw,20.5px)}.hero-cta{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.hero-points{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.hero-points li{color:var(--ink-soft);grid-template-columns:18px minmax(0,1fr);gap:11px;font-size:16.5px;display:grid}.tick{color:var(--accent);margin-top:4px}.hours-card{background:var(--surface);border:1px solid var(--line-firm);border-radius:var(--r-card,12px);box-shadow:var(--shadow-lg);padding:24px 26px 26px}.hours-card h2{margin-bottom:3px;font-size:24px}.hours-card .sub{color:var(--muted);margin-bottom:15px;font-size:14.5px}.hours-tbl{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:16px}.hours-tbl td{border-bottom:1px solid var(--line);padding:7px 0}.hours-tbl td:last-child{text-align:right;color:var(--ink-soft)}.hours-tbl tr:last-child td{border-bottom:0}.hours-tbl tr.shut td{color:var(--muted)}.hours-tbl tr.today td{color:var(--accent-deep);font-weight:700}.hours-foot{border-top:1px solid var(--line);flex-direction:column;gap:11px;margin-top:16px;padding-top:16px;display:flex}.hours-addr{color:var(--ink-soft);font-size:15.5px}.hours-addr b{color:var(--ink);font-size:16.5px;font-family:var(--f-display);display:block}.hours-actions{flex-wrap:wrap;gap:10px;display:flex}.menu-cols{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:30px 44px;display:grid}.menu-group-head{border-bottom:2px solid var(--line-firm);align-items:baseline;gap:12px;margin-bottom:6px;padding-bottom:9px;display:flex}.menu-group-head h3{font-size:26px}.menu-group-head span{color:var(--muted);margin-left:auto;font-size:13.5px}.price-list{margin:0;padding:0;list-style:none}.price-list li{border-bottom:1px dotted var(--line-firm);align-items:baseline;gap:10px;padding:12px 0;display:flex}.price-list li:last-child{border-bottom:0}.price-list li.pop{background:var(--accent-wash);border-radius:var(--r-sm,6px);margin-inline:-10px;padding-inline:10px}.pl-main{flex:1;min-width:0}.pl-main b{font-family:var(--f-display);font-weight:var(--display-weight,700);flex-wrap:wrap;align-items:center;gap:9px;font-size:17.5px;display:inline-flex}.pl-main small{color:var(--muted);font-size:14.5px;display:block}.pl-tag{font-family:var(--f-body);letter-spacing:.12em;text-transform:uppercase;background:var(--accent);color:var(--on-accent,#fff);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.pl-dots{border-bottom:2px dotted var(--line-firm);flex:0 40px;transform:translateY(-4px)}.pl-price{font-family:var(--f-display);font-size:19px;font-weight:var(--display-weight,700);color:var(--accent-deep);white-space:nowrap;font-variant-numeric:tabular-nums}.menu-foot{color:var(--ink-soft);max-width:66ch;margin-top:26px;font-size:16px}.about{background:var(--dark);color:var(--dark-soft)}.about .eyebrow{color:var(--dark-accent)}.about h2{color:#fff;margin-bottom:15px;font-size:clamp(30px,4.6vw,46px)}.about .lede{color:var(--dark-soft);max-width:62ch;margin-bottom:38px;font-size:18.5px}.about-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:28px 32px;display:grid}.about-grid>div{border-top:2px solid #ffffff29;padding-top:15px}.about-grid b{font-family:var(--f-display);color:var(--dark-accent);margin-bottom:5px;font-size:20px;display:block}.about-grid p{color:var(--dark-faint);font-size:16px}.gallery{background:var(--ground-2);border-block:1px solid var(--line)}.gal-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.gal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card,12px);box-shadow:var(--shadow-sm);margin:0;transition:transform .18s;overflow:hidden}.gal:hover{transform:translateY(-3px)}.gal-art{aspect-ratio:1;place-items:center;display:grid}.gal-num{font-family:var(--f-display);font-size:40px;font-weight:var(--display-weight,700);color:#ffffff8c}.gal figcaption{border-top:1px solid var(--line);padding:12px 15px 14px}.gal figcaption b{font-family:var(--f-display);font-size:17px;display:block}.gal figcaption span{color:var(--muted);font-size:14px}.gal-foot{flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px;display:flex}.reviews{background:var(--surface);border-block:1px solid var(--line)}.rev-grid{grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:20px;display:grid}.rev{border:1px solid var(--line);border-radius:var(--r-card,12px);background:var(--ground);flex-direction:column;gap:13px;margin:0;padding:24px;display:flex}.rev .stars{color:var(--star);gap:3px;display:flex}.rev blockquote{margin:0;font-size:17px}.rev figcaption{color:var(--muted);margin-top:auto;font-size:14.5px}.rev figcaption b{color:var(--ink-soft);font-size:15.5px;display:block}.visit-in{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:start;gap:clamp(26px,5vw,50px);display:grid}@media (width<=900px){.visit-in{grid-template-columns:minmax(0,1fr)}}.visit-h{margin-bottom:14px;font-size:clamp(30px,4.4vw,44px)}.visit-lede{color:var(--ink-soft);margin-bottom:22px;font-size:18px}.visit address{color:var(--ink-soft);margin-bottom:18px;font-size:17px;font-style:normal}.visit address b{font-family:var(--f-display);color:var(--ink);font-size:22px;display:block}.visit-actions{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.visit-note{color:var(--muted);font-size:15.5px}.book{background:var(--book-bg)}.book-in{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(26px,5vw,52px);display:grid}@media (width<=920px){.book-in{grid-template-columns:minmax(0,1fr)}}.book-h{margin-bottom:13px;font-size:clamp(30px,4.6vw,46px)}.book-lede{color:var(--ink-soft);font-size:18px}.book-why ul{flex-direction:column;gap:12px;margin:22px 0 0;padding:0;list-style:none;display:flex}.book-why li{color:var(--ink-soft);grid-template-columns:18px minmax(0,1fr);gap:11px;font-size:16.5px;display:grid}.form-card{background:var(--surface);border:1px solid var(--line-firm);border-radius:var(--r-card,12px);box-shadow:var(--shadow-md);padding:clamp(22px,3.4vw,32px)}.f-row{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:15px;margin-bottom:15px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:12.5px;font-weight:700}.field .opt{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:500}.field input,.field select,.field textarea{font-family:var(--f-body);color:var(--ink);background:var(--field-bg);border:1.5px solid var(--line-firm);border-radius:var(--r-sm,8px);width:100%;padding:11px 13px;font-size:16.5px;transition:border-color .15s,background-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:90px}.field input:focus,.field select:focus,.field textarea:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.field input[aria-invalid=true],.field select[aria-invalid=true]{background:#fdf1ef;border-color:#c0392b}.err{color:#a5271a;font-size:14px;font-weight:600}.chips{flex-wrap:wrap;gap:9px;display:flex}.chip{display:inline-block;position:relative}.chip input{opacity:0;width:0;height:0;position:absolute}.chip span{border:1.5px solid var(--line-firm);background:var(--field-bg);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:9px 15px;font-size:14.5px;font-weight:600;transition:all .14s;display:block}.chip span:hover{border-color:var(--accent);color:var(--accent-deep)}.chip input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}.chip input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.form-foot{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:20px;display:flex}.form-foot small{color:var(--muted);font-size:14.5px}.sent{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:26px 10px;display:flex}.sent-mark{background:var(--accent-wash);width:58px;height:58px;color:var(--accent-deep);border-radius:50%;place-items:center;display:grid}.sent h3{font-size:27px}.sent p{color:var(--ink-soft);max-width:46ch}.faq-list{border-top:1px solid var(--line-firm);max-width:840px}.faq-item{border-bottom:1px solid var(--line-firm)}.faq-item summary{cursor:pointer;font-family:var(--f-display);font-size:20px;font-weight:var(--display-weight,700);padding:20px 44px 20px 0;list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";border-right:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);width:11px;height:11px;transition:transform .2s;position:absolute;top:50%;right:8px;transform:translateY(-70%)rotate(45deg)}.faq-item[open] summary:after{transform:translateY(-30%)rotate(-135deg)}.faq-item summary:hover{color:var(--accent-deep)}.faq-answer{color:var(--ink-soft);max-width:68ch;padding:0 0 22px;font-size:16.5px}.ftr{background:var(--dark);color:var(--dark-faint);padding-block:clamp(38px,6vw,58px) 22px}.ftr-grid{border-bottom:1px solid #ffffff21;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;padding-bottom:26px;display:grid}.ftr h4{font-family:var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:14px;font-size:11.5px;font-weight:700}.ftr a{color:var(--dark-faint);text-decoration:none}.ftr a:hover{color:#fff}.ftr ul{flex-direction:column;gap:8px;margin:0;padding:0;font-size:16px;list-style:none;display:flex}.ftr-phone{font-family:var(--f-display);font-size:25px;color:#fff!important}.ftr-hours{font-variant-numeric:tabular-nums;font-size:15px}.ftr-hours span{justify-content:space-between;gap:16px;padding:2px 0;display:flex}.ftr-bottom{color:var(--dark-faint);flex-wrap:wrap;gap:8px 22px;padding-top:18px;font-size:14px;display:flex}.ftr-bottom p{margin-right:auto}.sticky-bar{z-index:70;background:var(--line-firm);border-top:1px solid var(--line-firm);gap:1px;display:none;position:fixed;bottom:0;left:0;right:0}.sticky-bar a{text-align:center;background:var(--surface);color:var(--ink);flex:1;padding:15px 8px;font-size:15.5px;font-weight:700;text-decoration:none}.sticky-bar a.primary{background:var(--accent);color:var(--on-accent,#fff)}@media (width<=980px){.sticky-bar{display:flex}body{padding-bottom:58px}}.skip{background:var(--accent);color:var(--on-accent,#fff);z-index:100;padding:12px 18px;font-weight:700;position:absolute;top:0;left:-9999px}.skip:focus{top:8px;left:8px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
