:root{color-scheme:dark;--graphite:#171714;--cream:#f5f0e7;--gold:#b99a62;--muted:#c2bbad;--line:#b99a6238;font-family:Arial,sans-serif;color:var(--cream);background:var(--graphite);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:110px}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}p{line-height:1.75;color:var(--muted)}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.header{position:sticky;top:0;z-index:10;background:#171714f5;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{max-width:1360px;margin:auto;min-height:100px;padding:22px 48px;display:flex;align-items:center;gap:36px}.wordmark{display:block;font:italic 34px/1.1 Georgia,serif;color:var(--gold);white-space:nowrap}.wordmark span{display:block;font:9px/1.3 Arial,sans-serif;letter-spacing:2px;color:var(--cream);margin-top:9px}.header nav{display:flex;gap:32px;align-items:center;margin-left:auto;font-size:13px}.header nav a{padding-block:12px}.header nav a:hover,.text-link:hover{color:var(--gold)}.language{padding:12px 14px;border:1px solid #b99a6266;background:transparent;color:var(--cream);font-size:12px;min-height:44px}.language span{color:var(--muted)}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:55px;padding-block:76px 68px}.eyebrow{font-size:10px;letter-spacing:2.8px;color:var(--gold);display:block;line-height:1.8}h1{font-size:clamp(42px,5.25vw,74px);line-height:1.06;letter-spacing:-2px;margin:26px 0}h1 em{font-style:italic;color:var(--gold)}.hero-copy>p{font-size:17px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:50px;padding:17px 22px;font-size:13px;border:1px solid transparent;transition:background .2s,color .2s}.gold{background:var(--gold);color:var(--graphite)}.gold:hover{background:#d2b680}.outline{border-color:#b99a625c;color:var(--cream)}.outline:hover{background:#b99a6215}.hero-address{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:16px;margin-top:42px;line-height:1.6}.fine-line{width:30px;height:1px;background:var(--gold)}.hero-photo{position:relative;padding-bottom:46px}.hero-photo img{width:100%;height:450px;object-fit:cover;object-position:43% center;border-radius:180px 180px 0 0}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.hero-photo figcaption>span:first-child{font-size:9px;letter-spacing:2px;color:var(--muted)}.hero-photo figcaption>span:last-child{font:italic 28px Georgia,serif;color:var(--gold)}.intro{background:var(--cream);color:var(--graphite);padding:64px 0}.intro-inner{display:grid;grid-template-columns:.7fr 1.4fr 1fr;gap:42px;align-items:center}.intro .eyebrow{color:#77613d}.intro h2{font-size:38px;line-height:1.15;letter-spacing:-.8px}.intro p{color:#615c52;font-size:14px}.menu-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:100px}.menu-section h2,.moments h2{font-size:clamp(34px,4vw,48px);line-height:1.15;letter-spacing:-1px;margin-top:18px}.menu-note{position:relative;padding:0 0 0 30px;border-left:1px solid var(--line)}.section-index{font-size:11px;color:var(--gold);letter-spacing:2px;display:block;margin-bottom:20px}h3{font-size:27px;line-height:1.25;margin-bottom:14px}.menu-note p,.moments p{font-size:14px;max-width:430px}.text-link{display:inline-flex;gap:28px;align-items:center;padding:12px 0;border-bottom:1px solid var(--gold);font-size:13px;margin-top:18px;line-height:1.5}.menu-note .subtle{font-size:12px;color:#a9a393;margin-top:24px}.moments{border-top:1px solid var(--line);padding-block:70px 60px}.moments-heading{display:flex;justify-content:space-between;align-items:start;gap:30px}.moments-heading h2{margin-top:0;max-width:65%}.moments-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:55px}.moments-grid article{border-top:1px solid var(--line);padding-top:26px}.gallery-link{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:55px}.signature{font:italic 64px Georgia,serif;color:#b99a627a}.contact-section{background:var(--cream);color:var(--graphite);padding:70px 0}.contact-section .eyebrow{color:#77613d}.contact-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0 44px}.contact-top h2{font-size:clamp(44px,5vw,64px);letter-spacing:-1.5px}.dark{background:var(--graphite);color:var(--cream)}.dark:hover{background:#3b382f}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;border-top:1px solid #17171426;padding-top:30px}.contact-grid h3{font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;margin-bottom:19px;color:#77613d}.contact-grid p,.contact-grid address{font-style:normal;font-size:14px;line-height:1.8;color:#514c43}.contact-detail{font-size:16px;display:block;line-height:1.9;overflow-wrap:anywhere}.contact-section .text-link:hover{color:#70572f}.footer{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-block:38px;font-size:11px;color:var(--muted)}.footer-domain{display:block;margin-top:7px}.footer-language{border:none;background:none;color:var(--cream);font-size:12px;padding:14px 0}.mobile-bar{display:none}dialog{background:var(--graphite);color:var(--cream);border:1px solid #b99a625c;padding:0;width:min(420px,calc(100% - 40px));max-height:calc(100dvh - 40px);box-shadow:0 25px 100px #0008}dialog::backdrop{background:#080807b8;backdrop-filter:blur(6px)}.dialog-inner{padding:40px 38px;text-align:center;position:relative}.dialog-rule{height:1px;width:34px;background:var(--gold);margin:29px auto}.dialog-inner h2{font-size:34px;line-height:1.2}.dialog-inner h2 em{display:block;font-size:28px;color:var(--gold);margin-top:5px}.dialog-inner p{font-size:12px;margin:25px 0;color:var(--muted)}.language-choice{display:flex;width:100%;align-items:center;justify-content:space-between;background:var(--cream);border:1px solid var(--cream);color:var(--graphite);padding:18px 21px;font-size:16px;min-height:56px;margin-top:12px}.language-choice.secondary{background:#25241f;border-color:#b99a6270;color:var(--cream)}.language-choice:hover{background:var(--gold);color:var(--graphite);border-color:var(--gold)}.dialog-inner small{display:block;font-size:11px;color:var(--muted);line-height:1.8;margin-top:24px}.close-dialog{position:absolute;top:8px;right:8px;border:0;background:none;color:var(--cream);font-size:25px;width:40px;height:40px}.close-dialog[hidden]{display:none}body:has(dialog[open]){overflow:hidden}.skip{position:fixed;top:8px;left:12px;z-index:50;transform:translateY(-150%);background:var(--cream);color:var(--graphite);padding:14px}.skip:focus{transform:translateY(0)}.no-script{padding:20px;text-align:center;background:var(--cream);color:var(--graphite)}
@media(min-width:1500px){.hero{padding-block:95px}.hero-photo img{height:490px}}
@media(max-width:1000px){.header-inner{padding-inline:32px;gap:24px}.wrap{width:calc(100% - 64px)}.hero{gap:30px}.hero-photo img{height:400px}.intro-inner{grid-template-columns:1fr 1fr;gap:25px}.intro .eyebrow{grid-column:1/-1}.menu-section{gap:50px}.header nav{gap:20px}.contact-grid{gap:26px}}
@media(max-width:720px){:root{scroll-padding-top:135px}.wrap{width:calc(100% - 44px)}.header-inner{padding:15px 22px;min-height:80px;gap:14px;flex-wrap:wrap}.header .wordmark{font-size:28px}.header .wordmark span{font-size:8px;letter-spacing:1.6px}.language{margin-left:auto}.header nav{order:3;width:100%;justify-content:space-between;margin:0;border-top:1px solid var(--line);padding-top:4px;font-size:12px}.header nav a{padding:8px 0}.hero{grid-template-columns:1fr;gap:37px;padding-block:44px}.hero h1{font-size:clamp(41px,9.5vw,64px);letter-spacing:-1.5px;margin:20px 0}.hero-address{margin-top:28px}.hero-photo img{height:300px;border-radius:120px 120px 0 0;object-position:center}.hero-photo{max-width:480px;width:100%;margin:auto}.intro{padding:43px 0}.intro-inner{grid-template-columns:1fr;gap:22px}.intro h2{font-size:35px}.intro p{max-width:460px}.menu-section{grid-template-columns:1fr;padding-block:58px;gap:35px}.menu-note{padding-left:22px}.moments{padding-block:48px 40px}.moments-heading{display:block}.moments-heading h2{max-width:100%;margin-top:16px}.moments-grid{grid-template-columns:1fr;gap:35px;margin-top:34px}.gallery-link{align-items:start;flex-direction:column;gap:12px;margin-top:36px}.signature{font-size:48px}.gallery-link .text-link{margin-top:0}.contact-section{padding-block:46px}.contact-top{align-items:start;flex-direction:column;gap:24px;margin-bottom:30px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-grid h3{margin-bottom:12px}.contact-grid .text-link{margin-top:9px}.footer{padding-block:30px 100px;gap:26px;flex-wrap:wrap}.footer .wordmark{font-size:28px}.footer-language{width:100%;text-align:left}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9;background:var(--graphite);padding:9px 18px calc(9px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid var(--line)}.mobile-bar a{padding:13px 14px;flex:1;font-size:12px;text-align:center;line-height:1.5}.mobile-bar a:first-child{background:var(--gold);color:var(--graphite)}.mobile-bar a:last-child{border:1px solid #b99a625c}.dialog-inner{padding:32px 24px}.dialog-inner h2{font-size:30px}.dialog-inner h2 em{font-size:25px}}
.wordmark .brand-art{display:block;position:relative;width:180px;aspect-ratio:2.2;overflow:hidden;margin:0}.brand-art img{position:absolute;width:108%;max-width:none;height:auto;left:-4%;top:0;transform:translateY(-30%);mix-blend-mode:screen}.wordmark{flex-shrink:0}.wordmark>span:not(.brand-art){text-align:center}.dialog-inner .brand-art{width:230px;max-width:100%;margin-inline:auto}.dialog-inner .wordmark{white-space:normal}.header-inner{min-height:112px}.footer .brand-art{width:170px}@media(max-width:720px){.header-inner{min-height:80px}.header .brand-art{width:145px}.dialog-inner .brand-art{width:210px}.footer .brand-art{width:160px}}
.gallery-section{padding-block:70px;border-top:1px solid var(--line)}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:18px 0 35px}.gallery-heading h2{font-size:clamp(32px,4vw,48px);line-height:1.15;max-width:600px;letter-spacing:-1px}.gallery-tabs{display:flex;gap:8px;flex-shrink:0}.gallery-tabs button{min-height:46px;padding:12px 18px;color:var(--cream);background:transparent;border:1px solid var(--line);font-size:13px}.gallery-tabs [aria-selected="true"]{background:var(--gold);color:var(--graphite);border-color:var(--gold)}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-photo{border:0;padding:0;background:#25241f;position:relative;overflow:hidden;aspect-ratio:4/3}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo span{position:absolute;bottom:10px;right:10px;background:#171714dd;color:var(--cream);width:32px;height:32px;display:grid;place-items:center;font-size:18px}.gallery-section [hidden]{display:none!important}#videos-panel video{display:block;width:100%;max-height:650px;background:#000;min-height:200px}#photo-viewer{width:calc(100% - 32px);max-width:1300px;max-height:calc(100dvh - 32px);padding:54px 18px 16px;background:#171714;overflow:auto}#photo-viewer::backdrop{background:#000e}#photo-viewer figure{margin:0}#large-photo{height:calc(100dvh - 220px);width:100%;object-fit:contain;touch-action:pan-y pinch-zoom}#photo-caption{text-align:center;line-height:1.5;font-size:13px;padding:12px 5px;color:var(--cream)}.viewer-close{position:absolute;right:10px;top:5px;background:none;border:0;color:var(--cream);width:44px;height:44px;font-size:32px}.viewer-controls{display:flex;align-items:center;justify-content:center;gap:25px}.viewer-controls button{width:48px;min-height:44px;border:1px solid var(--line);color:var(--cream);background:#25241f;font-size:23px}#photo-count{min-width:55px;text-align:center;font-size:13px;color:var(--muted)}@media(max-width:850px){.gallery-heading{align-items:start;flex-direction:column}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media(max-width:720px){.gallery-section{padding-block:45px}.header nav{gap:10px}.header nav a{min-height:40px;display:flex;align-items:center}.gallery-heading{gap:22px}.gallery-tabs{width:100%}.gallery-tabs button{flex:1}#photo-viewer{width:100%;max-height:100dvh;border:0;padding-inline:10px}#large-photo{height:calc(100dvh - 210px)}.gallery-photo span{width:26px;height:26px;bottom:6px;right:6px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
.reservation-section{padding-block:70px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:60px}.reservation-section h2{font-size:42px;margin:20px 0}.reservation-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reservation-section label,.admin-shell label{display:block;font-size:14px;line-height:1.8;margin-bottom:16px}input,textarea{font:inherit;color:var(--cream);background:#25241f;border:1px solid #b99a6270;padding:12px;width:100%;min-height:46px;display:block}input[type=checkbox]{width:22px;min-height:22px;display:inline-block}input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.reservation-section form>p{font-size:12px;margin-block:16px}.hours-row{display:flex;justify-content:space-between;gap:18px;font-size:13px;padding:7px 0;border-bottom:1px solid #17171420}.admin-shell{max-width:850px;padding-block:50px}.admin-shell fieldset{display:flex;gap:24px;flex-wrap:wrap;border:1px solid var(--line);margin:20px 0;padding:20px}.admin-shell legend{color:var(--gold)}.admin-shell #admin-status{margin-block:20px}.admin-shell [hidden]{display:none!important}.admin-shell button{margin-bottom:20px}@media(max-width:720px){.reservation-section{grid-template-columns:1fr;gap:28px;padding-block:45px}.reservation-section h2{font-size:34px}.reservation-fields{grid-template-columns:1fr}.admin-shell fieldset{gap:12px}}
