:root{font-family:DM Sans,sans-serif;color:#eee5d5;background:#1b211e;--cream: #eee5d5;--muted: #b9b7a8;--paper: #eae1cb;--ink: #4b392c;--rust: #8c472f;--serif: "Instrument Serif",Georgia,serif;--mono: "DM Mono",monospace;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #e5b57f;outline-offset:6px}button[hidden],section[hidden],div[hidden]{display:none!important}h1,h2,h3,h4,p,figure{margin:0}button{color:inherit}img{max-width:100%;display:block}::selection{color:#eae1cb;background:#71472e}.diner-shell{position:relative;width:100%;height:100svh;min-height:360px;overflow:hidden;isolation:isolate}.scene-fallback{position:absolute;inset:0;background:radial-gradient(ellipse at 52% 48%,#604b2c35,#18211f 68%);opacity:.45;transition:opacity .9s}.scene-ready .scene-fallback{opacity:0;pointer-events:none}#diner-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.2s;touch-action:none}#diner-canvas:focus{outline:none}.scene-ready #diner-canvas{opacity:1}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#111b1970,transparent 24%,transparent 72%,#11191685),linear-gradient(90deg,#13201b22,transparent 25%,transparent 85%,#13201b22);z-index:1}.diner-header{position:absolute;top:max(30px,env(safe-area-inset-top));left:42px;right:42px;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:28px;z-index:5;pointer-events:none}.diner-header>*{pointer-events:auto}.diner-brand{display:block;justify-self:start}.brand-kicker{font:10px var(--mono);letter-spacing:.24em;display:block;margin-bottom:3px}.brand-name{font:italic 43px/.95 var(--serif);letter-spacing:-.025em;display:block}.diner-header nav{display:flex;align-items:center;gap:24px;font-size:13px;padding:0 22px;border:1px solid #ede5d51f;border-radius:30px;background:#18231e80;backdrop-filter:blur(12px)}.diner-header nav a{display:flex;align-items:center;min-height:44px;white-space:nowrap;transition:color .2s}.diner-header nav a:hover{color:#eac192}.utility-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #eee5d529;border-radius:50%;background:#19251ed1;backdrop-filter:blur(10px);color:#d3ccb9;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.utility-button:hover,.scene-options[open] summary{color:#fff0d3;border-color:#d5bc8566;background:#29382bd9}.utility-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}summary:focus-visible{outline:2px solid #e5b57f;outline-offset:6px}.sound-button{position:relative;justify-self:end}.sound-bars{display:flex;align-items:center;gap:3px;height:16px}.sound-bars i{width:2px;background:currentColor;height:3px;display:block;transition:height .2s}.sound-bars i:nth-child(2){height:11px}.sound-bars i:nth-child(3){height:7px}.sound-bars i:nth-child(4){height:13px}.sound-button[aria-pressed=false] .sound-bars{opacity:.5}.sound-button[aria-pressed=false]:after{content:"";width:23px;height:1px;background:#d3ccb9;position:absolute;transform:rotate(-45deg);box-shadow:0 0 0 2px #19251e}.sound-button[aria-pressed=true] .sound-bars i{animation:music .8s ease-in-out infinite alternate}.sound-button[aria-pressed=true] .sound-bars i:nth-child(2){animation-delay:.2s}.sound-button[aria-pressed=true] .sound-bars i:nth-child(3){animation-delay:.4s}.diner-controls{position:absolute;left:42px;right:42px;bottom:max(28px,env(safe-area-inset-bottom));z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;pointer-events:none}.diner-controls>button,.utility-controls{pointer-events:auto}.gesture-hint{grid-column:1;font-size:11px;letter-spacing:.02em;color:#d5d2c0;opacity:0;transition:opacity .6s;text-shadow:0 1px 8px #162019}.scene-ready .gesture-hint{opacity:.7}.hint-dismissed .gesture-hint{opacity:0}.utility-controls{grid-column:2;display:flex;align-items:center;justify-self:end;gap:8px}.scene-options{position:relative}.scene-options summary{list-style:none}.scene-options summary::-webkit-details-marker{display:none}.scene-options summary svg{fill:currentColor;stroke:none}.options-menu{position:absolute;right:0;bottom:56px;width:246px;padding:18px;background:#1c2923f5;border:1px solid #e4d4b52e;border-radius:12px;box-shadow:0 10px 35px #08120d55;backdrop-filter:blur(14px);color:#c2c6b7;font-size:12px;line-height:1.65}.options-heading{font-size:13px;color:#eee5d5;margin-bottom:7px}.options-menu a{display:flex;justify-content:space-between;align-items:center;min-height:44px;border-top:1px solid #eee5d522;margin-top:14px;padding-top:10px;color:#e7d6b8;font-size:13px}.options-menu a:hover{color:#fff3d9}.panel-open .diner-controls{visibility:hidden}.scene-loading{position:absolute;top:120px;left:42px;z-index:8;font-size:12px;color:#d6c9b0;display:flex;align-items:center;gap:10px}.scene-loading>span{width:10px;height:10px;border-radius:50%;border:1px solid #9a8f7d;border-top-color:#f6d8b2;animation:spin 1s linear infinite}.scene-ready .scene-loading{display:none}.scene-unavailable .scene-loading{max-width:290px;line-height:1.6}.scene-unavailable .gesture-hint,.scene-unavailable .hotspots{display:none}.scene-unavailable .scene-fallback{opacity:1;background:linear-gradient(90deg,#18211fe8,transparent 75%),url(/images/after-hours-counter.webp) center/cover}.hotspots{position:absolute;inset:0;z-index:3;pointer-events:none}.hotspot{--dot-idle: .8;--label-shift: -50%;position:absolute;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:#ece3d0;transform:translate(-50%,-50%);pointer-events:auto}.hotspot:focus-visible{outline:1px solid #eee5d580;outline-offset:2px}.hotspot[data-explored]{--dot-idle: .15}.hotspot-dot{width:9px;height:9px;border:1px solid #ede5d580;background:#ede5d5b3;border-radius:50%;box-shadow:0 0 0 5px #18231e33;opacity:var(--dot-idle);transition:transform .2s,background .2s,opacity .2s}.hotspot-label{position:absolute;left:50%;bottom:44px;width:max-content;max-width:170px;padding:7px 11px;border-radius:6px;border:1px solid #ede5d51f;background:#18231e60;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#e9dfc9;font-size:12px;line-height:1.4;white-space:nowrap;opacity:0;visibility:hidden;transform:translate(var(--label-shift),4px);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none}.hotspot[data-label-side=right]{--label-shift: 0}.hotspot[data-label-side=right] .hotspot-label{left:18px}.hotspot[data-label-side=left]{--label-shift: 0}.hotspot[data-label-side=left] .hotspot-label{left:auto;right:18px}.hotspot:focus-visible .hotspot-label,.hotspot.object-hovered .hotspot-label{opacity:1;visibility:visible;transform:translate(var(--label-shift))}.hotspot:focus-visible .hotspot-dot,.hotspot.object-hovered .hotspot-dot{transform:scale(1.3);background:#ede5d5;opacity:1}@media (hover:hover){.hotspot:hover .hotspot-label{opacity:1;visibility:visible;transform:translate(var(--label-shift))}.hotspot:hover .hotspot-dot{transform:scale(1.3);background:#ede5d5;opacity:1}}.seat-hotspot{--dot-idle: 0}.seat-hotspot[data-explored]{--dot-idle: .12}@media (hover:none),(pointer:coarse){.hotspot{--dot-idle: .8}.hotspot[data-explored]{--dot-idle: .15}}.scene-toast{position:absolute;z-index:10;bottom:102px;left:50%;transform:translate(-50%,8px);border:1px solid #e8d4ac33;border-radius:8px;background:#15241ee6;backdrop-filter:blur(12px);color:#e4d4b8;font-size:12px;padding:10px 16px;opacity:0;pointer-events:none;transition:.3s;max-width:calc(100% - 40px);text-align:center}.scene-toast.is-visible{opacity:1;transform:translate(-50%)}@media (min-width:1600px){.diner-header{left:55px;right:55px;top:38px}.diner-controls{left:55px;right:55px;bottom:35px}}@media (max-width:1050px){.diner-header{left:25px;right:25px;top:23px;gap:20px}.diner-header nav{gap:20px;padding:0 18px;font-size:12px}.brand-name{font-size:36px}.diner-controls{left:25px;right:25px;gap:16px}.scene-loading{left:25px;top:104px}}@media (max-width:700px){.diner-header{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.brand-kicker{font-size:8px;letter-spacing:.16em}.brand-name{font-size:30px;white-space:nowrap}.diner-header nav{grid-column:2;grid-row:1;justify-self:end;gap:0;padding:0 5px;font-size:11px}.diner-header nav a{min-width:44px;min-height:44px;justify-content:center;padding:0 7px}.sound-button{position:fixed;left:max(22px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom))}.diner-controls{left:22px;right:22px;bottom:max(22px,env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;gap:14px 10px}.gesture-hint{grid-column:1/-1;grid-row:1;font-size:10px;margin-bottom:2px}.utility-controls{grid-column:2;grid-row:2}.scene-loading{top:94px;left:23px;max-width:250px;font-size:11px}.scene-toast{bottom:116px;width:max-content}}@media (max-height:560px) and (min-width:701px){.diner-header{top:18px}.brand-name{font-size:30px}.brand-kicker{font-size:8px}.diner-controls{bottom:18px}}.diner-dialog{color:var(--ink);background:var(--paper);border:0;padding:0;width:min(580px,calc(100vw - 48px));max-width:none;max-height:calc(100svh - 68px);height:auto;margin:auto;box-shadow:0 22px 110px #090c09aa;overflow:hidden;border-radius:3px;transform:rotate(-.5deg);color-scheme:light}.diner-dialog[open]{animation:paper-in .35s ease-out}.diner-dialog::backdrop{background:#0b151c5c;backdrop-filter:blur(3px)}.dialog-toolbar{height:52px;display:flex;align-items:center;gap:14px;padding:0 22px;background:#ded3ba;border-bottom:1px solid #9d886a44}.dialog-toolbar button{background:none;border:0;padding:8px 0;color:#68513c;font:12px var(--mono);white-space:nowrap;flex-shrink:0}#panel-close{margin-left:auto;display:flex;align-items:center;gap:13px}#panel-close span{font:25px DM Sans,sans-serif}.dialog-location{font:9px var(--mono);letter-spacing:.12em;color:#8b7254}.dialog-scroll{overflow-y:auto;max-height:calc(100svh - 120px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b8a587 transparent}.paper-panel{padding:30px}.paper-border{padding:27px 25px 17px;border:1px solid #b6a184;outline:1px solid #b6a184;outline-offset:4px}.paper-eyebrow{font:10px/1.7 var(--mono);letter-spacing:.13em;color:#937b5b}.menu-panel .paper-eyebrow{text-align:center;color:#805c42}.menu-logo{text-align:center;font:italic 75px/.95 var(--serif);letter-spacing:-.04em;color:#79442f;margin:7px 0 15px}.menu-intro{margin:32px 0 8px;display:flex;align-items:center;justify-content:space-between;gap:20px}.menu-intro h3{font:40px var(--serif);letter-spacing:-.025em}.diner-menu-item{display:flex;align-items:start;gap:15px;padding:12px 0;transition:transform .2s}a.diner-menu-item:hover{transform:translate(5px)}.dish-number{font:10px var(--mono);margin-top:8px;color:#997a58}.dish-info{flex:1;min-width:0}.dish-name{display:flex;align-items:baseline;gap:12px}.dish-name h4{font:29px/1.1 var(--serif);letter-spacing:-.02em;overflow-wrap:anywhere}.dish-dots{flex:1;border-bottom:1px dotted #b8a084}.dish-year{font:10px var(--mono);color:#967657}.dish-info p{font-size:12px;line-height:1.6;color:#806e58;margin:6px 0}.dish-type{font:8px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:#976446}.dish-arrow{font-size:16px;margin-top:4px;color:#875037}.other-work-menu{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:22px 0 10px;border-top:1px solid #b7a68b88;color:#8d7359}.other-work-title{font:29px/1.2 var(--serif);color:#624630}.other-work-panel{padding:36px}.other-work-panel .panel-heading{margin-bottom:28px}.menu-course{margin-top:28px}.menu-course>h3{font:23px/1.2 var(--serif);color:#624630;margin:0 0 8px}.side-dish{border-bottom:1px solid #b7a68b55}.side-dish:last-child{border-bottom:0}.side-dish>summary{display:flex;align-items:center;gap:20px;padding:16px 0;list-style:none;cursor:pointer}.side-dish>summary::-webkit-details-marker{display:none}.side-dish>summary:focus-visible{outline:2px solid #8a5738;outline-offset:3px}.side-dish-body{min-width:0;flex:1}.side-dish-name{display:block;font:25px/1.2 var(--serif);color:#624630}.side-dish-caption{display:block;font-size:12px;line-height:1.6;color:#806e58;margin-top:4px}.side-dish-toggle{font:17px/1 var(--mono);color:#8d7359;transition:transform .38s cubic-bezier(.22,1,.36,1)}.side-dish[open]:not([data-expanding=false]) .side-dish-toggle{transform:rotate(45deg)}.side-dish>summary:hover .side-dish-name{color:#9e6542}.side-dish-detail{padding:0 0 18px}.side-dish-detail p{font-size:13px;line-height:1.8;color:#806e58;margin:0 0 15px}.side-dish-detail img{display:block;width:100%;height:auto;aspect-ratio:1600 / 687;object-fit:cover;background:#f6f5f3;margin:16px 0;border-radius:2px}.side-dish-detail .side-dish-tools{font:10px/1.7 var(--mono);color:#8d7359;margin:0}@media (max-width: 520px){.other-work-panel{padding:28px 22px}}.story-note{margin:24px 0;padding-top:16px;font-size:11px;line-height:1.75;color:#806e58}.menu-signature{font-size:11px;color:#826b52;text-align:center;margin:24px 0 0}.menu-signature em{display:inline-block;font:43px/1.2 Felix Signature,cursive;color:#79442f;margin-left:8px;transform:rotate(-4deg)}.no-script{position:absolute;bottom:120px;left:50%;transform:translate(-50%);background:var(--paper);color:var(--ink);padding:20px;z-index:10}.no-script a{text-decoration:underline}.panel-heading{font:60px/1 var(--serif);letter-spacing:-.035em;color:#624630;margin:18px 0 22px}.panel-heading em{font-weight:400;color:#9e6542}.panel-intro{font-size:15px;line-height:1.75;color:#806950}.notebook-panel,.about-panel{padding:44px}.notebook-entry{padding:30px 0;border-bottom:1px solid #bda88a}.notebook-entry img{width:100%;height:auto;max-height:250px;object-fit:cover;border:6px solid #f7f0df;box-shadow:0 2px 9px #63503318;transform:rotate(-1.5deg);margin-bottom:24px}.notebook-entry:nth-of-type(2) img{transform:rotate(1.3deg)}.notebook-entry h3{font:34px var(--serif);margin:8px 0}.notebook-entry p,.about-panel>p:not(.paper-eyebrow){font-size:15px;line-height:1.85;color:#766048}.notebook-entry a{display:inline-block;margin-top:17px;font-size:13px;color:#885134;border-bottom:1px solid #a18360;padding-bottom:5px}.about-portrait{display:flex;align-items:center;gap:30px;margin:26px 0}.about-portrait img{width:135px;height:150px;object-fit:cover;border:7px solid #f6eedd;transform:rotate(-4deg);box-shadow:1px 2px 5px #49311c22}.about-portrait span{font:italic 27px/1.15 var(--serif);color:#977151;transform:rotate(-3deg)}.about-panel>p{margin-bottom:17px}.contact-card{border-block:1px solid #b7a184;padding:24px 0;margin:28px 0 20px}.contact-card>a{display:flex;justify-content:space-between;font:40px var(--serif);margin:12px 0 7px}.contact-card>p{font:12px var(--mono)}.about-links{display:flex;gap:24px;font-size:13px;color:#8a5a3e}.diner-dialog.is-story{width:min(900px,calc(100vw - 48px));transform:none}.project-panel{padding:40px 48px}.project-panel .panel-heading:focus{outline:none}.project-intro{font:27px/1.4 var(--serif);color:#8a6343}.story-meta{display:grid;grid-template-columns:.6fr 1.4fr 1fr;gap:25px;margin:30px 0;border-block:1px solid #bda88a;padding:18px 0}.story-meta dt{font:9px var(--mono);color:#927859;margin-bottom:7px}.story-meta dd{font-size:12px;line-height:1.65;margin:0}.story-cover,.story-gallery{display:block;width:100%;height:auto;aspect-ratio:1600 / 687;object-fit:contain;background:#f6f5f3}.project-panel[data-panel=project-sixth] .story-cover{background:#000}.project-panel[data-panel=project-notion-ai-meeting-notes] .story-cover{background:linear-gradient(90deg,#f6f5f3 50%,#3c28b7 50%)}.story-section{padding:28px 0 0}.story-section h3{font:36px var(--serif);margin-bottom:14px}.story-section p{font-size:16px;line-height:1.9;color:#766048;margin-bottom:17px}.story-gallery{aspect-ratio:16 / 9;margin-top:20px}.story-footer{display:flex;gap:25px;align-items:center;justify-content:space-between;margin-top:28px;padding-top:22px;border-top:1px solid #bda88a;font-size:12px}.story-footer button:only-child{margin-left:auto}.story-footer button{border:0;background:none;color:#895734;font:inherit}.static-work-page{min-height:100vh;padding:50px 24px;background:#1b211e}.static-work-page .static-back{display:block;max-width:850px;margin:0 auto 30px;font-size:14px;color:#d8bea0}.static-work-page article{max-width:850px;margin:0 auto;padding:50px;background:var(--paper);color:var(--ink)}.static-work-page h1{font:70px var(--serif);font-weight:400}.static-work-page h2{font:40px var(--serif);margin:40px 0 15px}.static-work-page p{font-size:16px;line-height:1.8}.static-work-page .diner-menu-item{padding:25px 0}.static-work-page .dish-info p{font-size:15px}.static-work-page a:focus-visible{outline-color:#8a5738}@keyframes music{to{height:3px}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes paper-in{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@media (max-width:700px){.diner-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 28px);transform:none}.dialog-scroll{max-height:calc(100svh - 80px)}.dialog-toolbar{padding:0 17px}.dialog-location{font-size:8px}.paper-panel{padding:20px}.paper-border{padding:21px 17px 16px}.menu-logo{font-size:68px}.menu-intro h3{font-size:36px}.menu-intro>span{font-size:7px}.menu-intro-copy{font-size:12px}.diner-menu-item{gap:10px;padding:16px 0}.dish-name h4{font-size:27px;white-space:normal}.dish-info p{font-size:12px}.dish-dots{display:none}.dish-year{margin-left:auto;font-size:9px}.dish-number{font-size:9px}.dish-type{font-size:8px}.menu-bottom-note{font-size:7px}.notebook-panel,.about-panel{padding:29px}.panel-heading{font-size:49px}.about-portrait{gap:20px}.about-portrait img{width:110px;height:130px}.about-portrait span{font-size:24px}.contact-card>p{font-size:11px}.diner-dialog.is-story{width:calc(100vw - 24px)}.project-panel{padding:30px 23px}.story-meta{grid-template-columns:1fr 2fr;gap:16px}.story-meta>div:last-child{grid-column:1/-1}.story-section p{font-size:15px}.story-footer{align-items:start;font-size:11px}.static-work-page article{padding:25px}.static-work-page h1{font-size:56px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media (max-width:420px){.dialog-toolbar{gap:10px;padding-inline:16px}.dialog-toolbar button{font-size:10px}.dialog-location{font-size:8px;letter-spacing:.03em}}.dish-info p{font-size:13px}
