:root { --ink:#273929; --deep:#21372a; --paper:#f4e8c3; --sun:#efbf4d; --tomato:#c96d45; --line:rgba(39,57,41,.2); --white:#fffaf0; --mono:"DM Mono",monospace; --sans:"Manrope",sans-serif; --serif:"Playfair Display",serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:15px; line-height:1.55; }
a { color:inherit; text-decoration:none; } button { font:inherit; } .skip-link { position:absolute; left:16px; top:-60px; background:var(--deep); color:var(--white); padding:9px 14px; z-index:30; } .skip-link:focus { top:16px; }
.site-header { height:78px; padding:0 4.8vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:10; transition:background .24s,box-shadow .24s; }
.site-header.is-scrolled { position:sticky; top:0; background:rgba(244,238,188,.95); backdrop-filter:blur(10px); box-shadow:0 6px 18px rgba(16,36,28,.08); }
.brand { display:inline-flex; flex-direction:column; font-family:var(--serif); color:var(--tomato); font-size:27px; font-weight:700; line-height:.8; letter-spacing:0; } .brand span { color:var(--ink); } .brand small { margin-top:8px; font:500 8px/1 var(--mono); color:var(--ink); letter-spacing:.11em; }
.site-header nav { display:flex; gap:28px; font:500 11px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; } .site-header nav a:hover, footer a:hover { color:var(--tomato); }
.header-call,.hero-link,.menu-heading>a,.place-copy>a,.truck-section>a,.visit a { display:inline-flex; gap:12px; align-items:center; font:600 11px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.header-call { padding:13px 17px; background:var(--tomato); color:var(--white); transition:transform .2s,background .2s; }.header-call:hover { background:var(--ink); transform:translateY(-2px); }
.hero { min-height:calc(100dvh - 78px); position:relative; overflow:hidden; color:var(--white); display:flex; align-items:end; padding:5.5vw 7vw; background:var(--deep); }.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.03); animation:slowCrop 14s ease-out both; }.hero-veil { position:absolute; inset:0; background:linear-gradient(90deg,rgba(33,55,42,.82),rgba(33,55,42,.22) 60%,rgba(72,41,25,.42)); }.hero-copy { position:relative; max-width:690px; }.kicker { margin:0 0 18px; font:600 10px/1.35 var(--mono); letter-spacing:.12em; text-transform:uppercase; }.hero h1,.intro h2,.menu-heading h2,.place-copy h2,.truck-section h2,.visit h2,.menu-hero h1 { margin:0; font:600 clamp(58px,8vw,122px)/.94 var(--serif); letter-spacing:0; }.hero h1 em,.intro h2 em,.menu-heading h2 em,.place-copy h2 em,.truck-section h2 em,.visit h2 em,.menu-hero h1 em { font-weight:600; }.hero-copy>p:not(.kicker) { max-width:400px; margin:25px 0 29px; font-size:16px; }.hero-link { border-bottom:1px solid var(--sun); padding-bottom:8px; }.hero-link span { color:var(--sun); font-size:18px; }.hero-side { position:absolute; right:4.8vw; top:42%; writing-mode:vertical-rl; font:500 9px/1.4 var(--mono); letter-spacing:.13em; }
.intro,.menu-section,.place-section,.visit { padding:clamp(85px,12vw,180px) 7vw; }.intro-grid { display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:9vw; }.intro h2,.menu-heading h2,.place-copy h2,.truck-section h2,.visit h2 { font-size:clamp(46px,6.1vw,98px); }.intro-grid>div p { max-width:440px; margin:0 0 18px; font-size:16px; }
.care-gallery { display:grid; grid-template-columns:.82fr .98fr 1.08fr; min-height:640px; background:#e9d4b4; }.care-gallery-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(46px,6vw,95px) clamp(26px,4.5vw,74px); }.care-gallery-copy h2 { margin:0; font:600 clamp(39px,4.2vw,70px)/.98 var(--serif); }.care-gallery-copy>p:not(.kicker) { max-width:250px; margin:23px 0 0; font-size:14px; }.care-photo { position:relative; min-height:640px; margin:0; overflow:hidden; background:var(--deep); }.care-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.7,.2,1); }.care-photo:hover img { transform:scale(1.045); }.care-photo-place img { object-position:center; }.care-photo figcaption { position:absolute; z-index:1; left:24px; right:24px; bottom:22px; margin:0; color:var(--white); font:600 10px/1.35 var(--mono); letter-spacing:.08em; text-transform:uppercase; }.care-photo:after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(33,55,42,.68)); pointer-events:none; }
.bake-feature { margin:0 4.8vw; height:min(72vw,820px); position:relative; overflow:hidden; background:var(--deep); color:var(--white); }.bake-feature img { width:100%; height:100%; object-fit:cover; filter:saturate(.9) contrast(1.03); }.bake-feature:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(16,36,28,.75),transparent 58%); }.feature-copy { position:absolute; z-index:1; bottom:5vw; left:5vw; }.feature-copy p { font:500 10px/1 var(--mono); letter-spacing:.1em; }.feature-copy h2 { margin:15px 0; font:600 clamp(48px,6vw,95px)/.92 var(--serif); }.feature-copy span { font-size:14px; }
.menu-section { background:var(--white); }.menu-heading { display:grid; grid-template-columns:1.2fr .75fr; gap:6vw; align-items:end; margin-bottom:70px; }.menu-heading>p:not(.kicker) { max-width:360px; margin:0 0 20px; }.menu-heading>a { border-bottom:1px solid var(--tomato); padding-bottom:8px; width:max-content; }.menu-workbench { display:grid; grid-template-columns:220px minmax(280px,.75fr) 1.15fr; gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.menu-filters { padding:24px 30px 24px 0; border-right:1px solid var(--line); display:flex; flex-direction:column; align-items:start; gap:5px; }.menu-filters button { appearance:none; border:0; background:transparent; padding:10px 0; color:var(--ink); cursor:pointer; text-align:left; font:600 11px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; transition:color .2s,transform .2s; }.menu-filters button:hover,.menu-filters button.is-active { color:var(--tomato); transform:translateX(5px); }.dish-detail { position:relative; padding:34px 3.6vw; border-right:1px solid var(--line); min-height:420px; }.dish-detail>span { position:absolute; right:3.6vw; top:31px; font:500 10px var(--mono); color:var(--tomato); }.dish-detail p { max-width:250px; }.dish-detail>p:first-child { font:500 10px var(--mono); letter-spacing:.1em; }.dish-detail h3 { margin:45px 0 15px; font:600 clamp(28px,3.1vw,46px)/1.04 var(--serif); }.dish-detail b { display:block; margin:26px 0 35px; font:600 13px var(--mono); }.dish-detail a { font:600 10px var(--mono); text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid var(--tomato); padding-bottom:7px; }.dish-list { padding:18px 0; }.dish-row { width:100%; padding:16px 22px; border:0; border-bottom:1px solid var(--line); background:transparent; display:grid; grid-template-columns:30px 1fr 18px; gap:9px; text-align:left; color:var(--ink); cursor:pointer; transition:background .2s,color .2s; }.dish-row:last-child { border-bottom:0; }.dish-row span { font:500 9px var(--mono); color:var(--tomato); }.dish-row strong { font:600 13px/1.35 var(--sans); }.dish-row i { font:400 20px/12px var(--serif); font-style:normal; transition:transform .2s; }.dish-row:hover,.dish-row.is-selected { background:var(--deep); color:var(--white); }.dish-row.is-selected i { transform:rotate(45deg); }.dish-row.is-hidden { display:none; }
.place-section { display:grid; grid-template-columns:1.06fr .94fr; gap:7.4vw; align-items:center; }.family-section { background:#f8dfc5; padding-top:clamp(72px,9vw,128px); padding-bottom:clamp(72px,9vw,128px); }.family-section .place-image { padding:15px; background:#fff7e8; box-shadow:14px 14px 0 rgba(201,109,69,.25); }.place-image { min-height:600px; }.place-image img { width:100%; height:100%; min-height:600px; object-fit:cover; filter:saturate(.92) contrast(1.02); }.place-copy p:not(.kicker) { max-width:390px; margin:22px 0 28px; font-size:16px; }.place-copy a,.truck-section a { border-bottom:1px solid var(--tomato); padding-bottom:8px; width:max-content; }
.truck-section { background:var(--tomato); color:var(--white); padding:clamp(82px,11vw,165px) 7vw; display:grid; grid-template-columns:1.06fr .74fr; gap:7vw; align-items:center; }.truck-section h2 { max-width:800px; margin:0; font:600 clamp(48px,6.4vw,100px)/.96 var(--serif); }.truck-section p:not(.kicker) { max-width:400px; margin:28px 0; }.truck-section a { border-color:var(--sun); }.truck-photo,.visit-photo { position:relative; margin:0; overflow:hidden; box-shadow:14px 14px 0 rgba(33,55,42,.2); }.truck-photo { min-height:470px; }.truck-photo img,.visit-photo img { display:block; width:100%; height:100%; object-fit:cover; }.truck-photo img { min-height:470px; }.truck-photo figcaption,.visit-photo figcaption { position:absolute; left:18px; bottom:15px; z-index:1; color:var(--white); font:600 9px/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }.truck-photo:after,.visit-photo:after { content:""; position:absolute; inset:48% 0 0; background:linear-gradient(transparent,rgba(33,55,42,.65)); pointer-events:none; }
.visit { background:var(--sun); }.visit-grid { display:grid; grid-template-columns:1.14fr .7fr .64fr; gap:5vw; align-items:end; }.visit-grid>div { display:flex; flex-direction:column; gap:10px; }.visit-grid>div p { margin:0 0 12px; font-size:17px; }.visit small { display:block; margin-top:18px; max-width:310px; font-size:11px; }.visit a { width:max-content; border-bottom:1px solid var(--tomato); padding-bottom:7px; }.visit-photo { min-height:315px; box-shadow:11px 11px 0 rgba(201,109,69,.32); }.visit-photo img { min-height:315px; }
footer { background:var(--deep); color:var(--white); padding:52px 7vw 110px; display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:30px; } footer .brand { color:var(--sun); } footer .brand span,footer .brand small { color:var(--white); } footer p { margin:0; font-size:12px; max-width:250px; } footer>a:not(.brand) { font:500 10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.mobile-dock { display:none; }
.menu-page { background:var(--white); }.menu-header { background:var(--paper); }.menu-hero { padding:clamp(90px,12vw,165px) 7vw 80px; background:var(--paper); }.menu-hero h1 { font-size:clamp(64px,9vw,135px); margin-bottom:24px; }.menu-hero>p:not(.kicker) { max-width:520px; }.menu-hero>a { display:inline-flex; margin-top:20px; font:600 11px var(--mono); letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid var(--tomato); padding-bottom:8px; }.full-menu { padding:90px 7vw 150px; columns:5 220px; column-gap:48px; }.menu-column { break-inside:avoid; margin-bottom:48px; }.menu-column h2 { margin:0 0 18px; padding-bottom:9px; color:var(--tomato); border-bottom:3px solid var(--sun); font:700 22px/1 var(--serif); }.menu-column article { padding:0 0 18px; break-inside:avoid; }.menu-column h3 { margin:0 0 4px; font:700 13px/1.35 var(--sans); }.menu-column h3 b { float:right; margin-left:10px; font:500 10px var(--mono); color:var(--tomato); }.menu-column article p,.menu-note { margin:0; font-size:11px; line-height:1.5; }.menu-note { margin:-8px 0 16px; color:#41614f; }
[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1); } [data-reveal].is-visible { opacity:1; transform:none; } @keyframes slowCrop { from { transform:scale(1.08); } to { transform:scale(1.01); } }
@media (max-width: 760px) { body { padding-bottom:72px; }.site-header { height:68px; padding:0 18px; }.brand { font-size:23px; }.brand small { font-size:7px; margin-top:7px; }.site-header nav { display:none; }.header-call { padding:12px 10px; font-size:10px; }.hero { min-height:calc(100dvh - 68px); padding:32px 25px 96px; align-items:end; }.hero-image { object-position:53% center; }.hero-copy>p:not(.kicker) { font-size:15px; max-width:280px; }.hero h1,.menu-hero h1 { font-size:clamp(54px,17vw,78px); line-height:.93; }.hero-side { display:none; }.intro,.menu-section,.place-section,.visit { padding:72px 25px; }.intro-grid,.menu-heading,.visit-grid,.place-section,.truck-section { grid-template-columns:1fr; gap:28px; }.intro h2,.menu-heading h2,.place-copy h2,.truck-section h2,.visit h2 { font-size:clamp(44px,13vw,67px); }.care-gallery { grid-template-columns:1fr; min-height:0; }.care-gallery-copy { padding:68px 25px 46px; }.care-gallery-copy h2 { font-size:clamp(43px,12.8vw,64px); }.care-photo { min-height:500px; }.care-photo-place { min-height:360px; }.care-photo-place img { object-position:center; }.bake-feature { height:570px; margin:0; }.feature-copy { left:25px; bottom:30px; }.menu-heading { margin-bottom:38px; }.menu-workbench { display:flex; flex-direction:column; }.menu-filters { order:0; padding:11px 18px; border-right:0; border-bottom:1px solid var(--line); flex-direction:row; overflow:auto; gap:22px; }.menu-filters button { flex:0 0 auto; padding:11px 0; }.dish-detail { order:1; padding:28px 25px; border-right:0; border-bottom:1px solid var(--line); min-height:335px; }.dish-detail h3 { margin-top:36px; font-size:37px; }.dish-list { order:2; }.dish-row { padding:17px 25px; }.place-image,.place-image img { min-height:420px; }.place-section { padding-bottom:30px; }.place-copy { padding-bottom:38px; }.truck-section { padding:72px 25px; }.truck-photo { min-height:360px; }.truck-photo img { min-height:360px; }.visit-grid { gap:35px; }.visit-photo,.visit-photo img { min-height:300px; } footer { grid-template-columns:1fr; padding:48px 25px 100px; gap:22px; }.mobile-dock { position:fixed; z-index:25; display:grid; grid-template-columns:1fr 1.25fr .75fr 1fr; left:0; right:0; bottom:0; height:69px; background:var(--deep); border-top:1px solid rgba(255,255,255,.25); }.mobile-dock a { display:flex; justify-content:center; align-items:center; color:var(--white); border-right:1px solid rgba(255,255,255,.16); font:600 9px var(--mono); letter-spacing:.04em; text-transform:uppercase; }.mobile-dock .mobile-order { background:var(--tomato); border-right:0; }.menu-hero { padding:76px 25px 54px; }.full-menu { padding:55px 25px 110px; columns:1; }.menu-column { margin-bottom:36px; }.menu-column h2 { font-size:27px; }.menu-column h3 { font-size:14px; }.menu-column article p,.menu-note { font-size:12px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } [data-reveal] { opacity:1; transform:none; } }
