@font-face { font-family: Barlow; src: url("assets/barlow-regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: Barlow; src: url("assets/barlow-semibold.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: BarlowCondensed; src: url("assets/barlow-condensed-bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: BarlowCondensed; src: url("assets/barlow-condensed-black.woff2") format("woff2"); font-weight: 900; font-display: swap; }

:root { --ink:#171615; --paper:#f4f1e9; --teal:#174c4a; --amber:#f2a33a; --coral:#e84c3d; --cyan:#31b9b5; --line:rgba(23,22,21,.25); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font:18px/1.45 Barlow,Arial,sans-serif; }
a { color:inherit; } figure,p,h1,h2 { margin:0; } address { font-style:normal; } img { display:block; width:100%; }
.skip-link { position:fixed; z-index:20; top:12px; left:12px; transform:translateY(-180%); padding:10px 14px; color:var(--paper); background:var(--ink); }
.skip-link:focus { transform:translateY(0); }
.site-header { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:24px; padding:12px clamp(20px,4vw,62px); border-bottom:1px solid var(--line); }
.wordmark { display:inline-flex; gap:11px; align-items:center; font-weight:600; text-decoration:none; }
.wordmark span { display:grid; width:37px; height:37px; place-items:center; color:var(--paper); background:var(--coral); font:900 25px/1 BarlowCondensed,Arial,sans-serif; }
.site-header nav { display:flex; gap:8px; }
.site-header nav a { display:inline-flex; min-height:44px; align-items:center; padding:0 16px; border:1px solid var(--ink); font-size:15px; font-weight:600; text-decoration:none; }
.site-header nav a:hover { color:var(--paper); background:var(--ink); }
.hero { position:relative; display:grid; min-height:calc(100svh - 72px); overflow:hidden; color:var(--paper); background:var(--teal); }
.hero-image { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,28,29,.88) 0%,rgba(12,28,29,.56) 43%,rgba(12,28,29,.12) 75%); }
.hero-content { position:relative; z-index:1; display:flex; max-width:720px; min-height:calc(100svh - 72px); flex-direction:column; justify-content:flex-end; gap:26px; padding:clamp(54px,7vw,96px) clamp(20px,5vw,76px); }
.eyebrow { font-size:14px; font-weight:600; text-transform:uppercase; }
.hero h1,.food-heading h2,.location-copy h2,.contact h2 { font-family:BarlowCondensed,Arial,sans-serif; font-weight:900; letter-spacing:0; text-transform:uppercase; }
.hero h1 { font-size:clamp(108px,13vw,196px); line-height:.68; }
.hero-copy { max-width:28ch; }
.primary-action { display:flex; min-height:56px; max-width:350px; align-items:center; justify-content:space-between; padding:14px 18px; color:var(--ink); background:var(--amber); font-weight:600; text-decoration:none; }
.primary-action:hover { color:var(--paper); background:var(--coral); }
.hero-credit { position:absolute; z-index:1; right:16px; bottom:14px; left:auto; padding:7px 9px; color:var(--paper); background:rgba(23,22,21,.86); font-size:12px; }
.identity-strip { display:grid; min-height:68px; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:center; padding:14px clamp(20px,4vw,62px); color:var(--paper); background:var(--teal); font:700 18px/1.15 BarlowCondensed,Arial,sans-serif; text-transform:uppercase; }
.identity-strip p:nth-child(2),.identity-strip p:nth-child(3) { text-align:center; }.identity-strip a { text-align:right; }
.food-section { padding:clamp(80px,10vw,152px) clamp(20px,5vw,76px); }
.food-heading { display:grid; max-width:1280px; grid-template-columns:1fr 1.5fr; gap:16px 48px; align-items:end; margin:0 auto clamp(48px,7vw,96px); }
.food-heading h2 { font-size:clamp(76px,10vw,144px); line-height:.74; }.food-heading > p:last-child { grid-column:2; max-width:32ch; }
.food-layout { display:grid; max-width:1280px; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(22px,4vw,56px); align-items:end; margin:auto; }
.food-card { min-width:0; }.food-card img { object-fit:cover; }.bowl img { aspect-ratio:4/5; object-position:center; }.sandwich img { aspect-ratio:4/3; object-position:center; }
figcaption { margin-top:10px; padding-top:8px; border-top:1px solid var(--line); font-size:12px; }
.location-section { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:clamp(48px,8vw,128px); padding:clamp(80px,10vw,150px) clamp(20px,5vw,76px); color:var(--paper); background:var(--teal); }
.location-copy { display:flex; flex-direction:column; align-items:flex-start; gap:28px; }.location-copy h2,.contact h2 { font-size:clamp(68px,8vw,118px); line-height:.75; }.location-copy address { font-size:22px; }.map-link { padding-bottom:4px; border-bottom:2px solid currentColor; font-weight:600; text-decoration:none; }.map-source { font-size:13px; }.map-frame { min-width:0; height:520px; overflow:hidden; background:#d9ddd8; }.map-frame iframe { width:100%; height:100%; border:0; }
.contact { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:clamp(48px,8vw,128px); padding:clamp(80px,9vw,132px) clamp(20px,5vw,76px); background:var(--amber); }.contact-links { border-top:2px solid var(--ink); }.contact-links a { display:grid; min-height:104px; grid-template-columns:110px minmax(0,1fr) auto; align-items:center; gap:20px; border-bottom:2px solid var(--ink); text-decoration:none; }.contact-links a:hover { background:rgba(244,241,233,.35); }.contact-links span { font-size:14px; font-weight:600; text-transform:uppercase; }.contact-links strong { font:700 clamp(27px,3vw,42px)/1 BarlowCondensed,Arial,sans-serif; }
footer { display:grid; min-height:116px; grid-template-columns:.8fr 1.2fr 1.6fr; align-items:center; gap:24px; padding:24px clamp(20px,4vw,62px); color:var(--paper); background:var(--ink); font-size:14px; }footer strong { font:700 24px/1 BarlowCondensed,Arial,sans-serif; text-transform:uppercase; }footer p { text-align:right; }
.reveal { transform:translateY(20px); opacity:0; transition:opacity 580ms ease,transform 580ms ease; }.reveal.is-visible { transform:none; opacity:1; }a:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
@media (max-width:900px) { .food-heading,.food-layout,.location-section,.contact { grid-template-columns:1fr; }.food-heading > p:last-child { grid-column:1; }.food-layout { gap:40px; }.bowl { width:min(72%,480px); }.location-section,.contact { gap:58px; }.map-frame { height:440px; }footer { grid-template-columns:1fr 1fr; }footer p { grid-column:1/-1; text-align:left; } }
@media (max-width:600px) { body { font-size:17px; }.site-header { padding:10px 20px; }.wordmark b { display:none; }.site-header nav a { padding:0 13px; }.hero,.hero-content { min-height:650px; }.hero-image { object-position:53% center; }.hero-shade { background:linear-gradient(0deg,rgba(12,28,29,.9) 0%,rgba(12,28,29,.45) 58%,rgba(12,28,29,.08) 100%); }.hero h1 { font-size:84px; }.hero-content { padding:40px 20px 48px; }.identity-strip { grid-template-columns:1fr; gap:7px; padding:20px; }.identity-strip p:nth-child(2),.identity-strip p:nth-child(3),.identity-strip a { text-align:left; }.food-section,.location-section,.contact { padding:78px 20px; }.food-heading { display:flex; flex-direction:column; align-items:flex-start; }.food-heading h2 { font-size:78px; }.bowl { width:100%; }.location-copy h2,.contact h2 { font-size:76px; }.map-frame { height:360px; }.contact-links a { grid-template-columns:1fr auto; padding:20px 0; }.contact-links strong { grid-column:1/-1; grid-row:2; overflow-wrap:anywhere; }.contact-links b { grid-column:2; grid-row:1/3; }footer { grid-template-columns:1fr; }footer p { grid-column:auto; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; }.reveal { transform:none; opacity:1; } }
