:root{--pink:#e11c79;--teal:#077e78;--ink:#123a38;--cream:#fff7e9;--gold:#f6b819}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}a:focus-visible{outline:3px solid var(--pink);outline-offset:5px}h1,h2,h3{font-family:'Barlow Condensed',sans-serif;line-height:.98;margin:0 0 24px;font-weight:800}h1{font-size:clamp(60px,6.7vw,100px);letter-spacing:-1px}h2{font-size:clamp(42px,4.8vw,68px)}h3{font-size:34px}p{margin:0 0 22px}.topline{text-align:center;background:var(--ink);color:var(--cream);font-size:12px;padding:8px;letter-spacing:1.7px;text-transform:uppercase}.topline span{color:var(--gold);padding:0 20px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1320px;margin:auto;padding:24px 40px}.official-brand{width:150px;flex-shrink:0}.official-brand img{width:150px;aspect-ratio:920/720;object-fit:contain}.masthead nav{display:flex;gap:30px;flex-wrap:wrap;justify-content:flex-end}.masthead nav a{text-decoration:none;font-weight:700;font-size:14px;min-height:44px;display:flex;align-items:center}.masthead nav a:hover{color:var(--pink)}.skip{position:absolute;left:16px;top:-100px;background:var(--cream);padding:12px;z-index:2}.skip:focus{top:10px}.hero{max-width:1320px;margin:12px auto 64px;padding:0 40px;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);gap:72px;align-items:center}.kicker{text-transform:uppercase;font-weight:700;font-size:12px;letter-spacing:2px;color:var(--teal);margin-bottom:18px}.hero h1 em{font-style:normal;color:var(--pink)}.intro{max-width:440px}.hero-photo{position:relative;max-width:560px;transform:rotate(-2deg);border:3px solid var(--ink);border-radius:24px;overflow:hidden;background:var(--gold);box-shadow:7px 7px 0 var(--gold);margin:30px 10px 0 0}.hero-photo img{width:100%;height:320px;object-fit:cover;object-position:50% 43%}.hero-photo span{display:block;background:var(--teal);color:white;text-align:center;font-size:13px;letter-spacing:1px;padding:10px}.coming{border:3px solid var(--ink);border-radius:20px;background:#fffdf7;padding:42px 32px 0;text-align:center;position:relative;box-shadow:8px 8px 0 var(--teal);margin-top:60px}.coming-stamp{display:inline-block;background:var(--gold);font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;line-height:1.2;transform:rotate(3deg);padding:10px 20px;margin:-80px -10px 32px;border:2px solid var(--ink)}.coming h2{font-size:clamp(46px,4.6vw,66px)}.coming-line{font-weight:700;font-size:20px}.coming-footer{font-size:13px;background:#f1f1e7;border-top:2px dashed #abc3b7;padding:20px 24px;margin:32px -32px 0;border-radius:0 0 17px 17px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:13px 20px;border:2px solid var(--ink);border-radius:9px;color:white;font-weight:700;font-size:14px;text-decoration:none}.pink{background:var(--pink)}.teal{background:var(--teal)}.button:hover{filter:brightness(.94)}.ribbon{padding:18px 20px;background:var(--pink);color:white;text-align:center;font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;letter-spacing:1px}.ribbon span{color:var(--gold);margin:0 28px}.content{max-width:1240px;padding:70px 40px;margin:auto}.menu-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}.menu-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.menu-cards article{padding:26px 24px;background:#fffdf7;border:2px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--gold)}.menu-cards p{font-size:14px}.menu-cards strong{font-size:24px}.menu-cards small{display:block;font-size:13px;font-weight:400}.dish-mark{display:block;color:var(--pink);font-size:28px;margin-bottom:22px}.allergens{grid-column:1/-1;font-size:13px;margin:0}.story{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.story figure{margin:0;transform:rotate(1deg)}.story img{border:3px solid var(--ink);border-radius:18px;width:100%;height:380px;object-fit:cover;box-shadow:6px 6px 0 var(--pink)}.story figcaption{padding:20px 5px;font-size:13px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:2px solid #d2dacb}.visit address{font-style:normal;margin:0 0 24px}.text-link{font-weight:700;color:var(--teal)}.hours{padding:32px;background:#fffdf7;border:2px solid var(--teal);border-radius:16px}.hours dl{font-size:15px}.hours dl div{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.hours dd{margin:0;text-align:right}.hours p{font-size:13px}.call-links{display:flex;flex-direction:column;gap:10px;font-size:15px}.instagram{display:grid;grid-template-columns:.8fr 1fr;gap:70px;align-items:center;background:#ffedcf;border-radius:24px;margin-bottom:70px}.insta-image img{width:100%;max-height:420px;object-fit:contain}.small{font-size:13px;max-width:450px}footer{background:var(--ink);color:var(--cream);padding:42px 24px;text-align:center;font-size:14px}footer img{width:200px;margin:0 auto 20px;filter:brightness(0) invert(1)}footer nav{display:flex;gap:16px 26px;flex-wrap:wrap;justify-content:center;margin:24px 0}footer small{opacity:.85}footer a{overflow-wrap:anywhere}footer p{margin:16px 0}@media(min-width:1500px){.hero-photo img{height:370px}}@media(max-width:800px){.masthead{padding:20px 24px}.masthead nav{gap:6px 18px}.official-brand,.official-brand img{width:120px}.hero{padding:0 24px;gap:32px;grid-template-columns:1fr 1fr}.coming{padding:30px 22px 0}.coming-footer{margin-left:-22px;margin-right:-22px}.hero-photo img{height:280px}.content{padding:50px 24px}.story,.visit,.instagram{gap:32px}.menu-section{grid-template-columns:1fr}.instagram{border-radius:0;margin-bottom:0}.coming-stamp{font-size:17px}h1{font-size:64px}}@media(max-width:600px){body{font-size:16px}.topline{font-size:10px}.topline span{padding:0 10px}.masthead{padding:18px 20px}.masthead nav{max-width:220px;gap:0 15px}.masthead nav a{font-size:12px}.official-brand,.official-brand img{width:105px}.hero{grid-template-columns:1fr;margin:10px auto 44px;padding:0 22px;gap:28px}h1{font-size:64px}.hero-photo{margin-top:22px}.hero-photo img{height:285px}.coming{margin-top:30px;padding-top:30px}.coming h2{font-size:54px}.coming-stamp{margin-bottom:24px}.ribbon{font-size:20px}.ribbon span{margin:0 8px}.content{padding:44px 22px}.menu-cards{gap:14px}.menu-cards article{padding:20px 16px}.menu-cards h3{font-size:28px}.story,.visit,.instagram{grid-template-columns:1fr;gap:30px}.story img{height:300px}.hours{padding:24px}.hours dl div{grid-template-columns:1fr;gap:2px}.hours dd{text-align:left}.insta-image img{max-height:320px}.instagram h2{font-size:48px}footer nav{gap:14px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.store-payment{padding:16px;border-left:4px solid var(--pink);background:#fff1e1;margin:20px 0}.store-payment p{margin:4px 0;font-size:17px}.store-payment small{font-size:12px}.embed-toggle{background:transparent;color:var(--ink);font-family:inherit;cursor:pointer;margin:8px 0 16px}#instagram-preview{max-width:100%;overflow:hidden}footer img{filter:none;background:var(--cream);padding:10px;border-radius:4px}

/* Combined design: original bold food story + closed-booking landing. */
body { -webkit-font-smoothing: antialiased; }
.hero { max-width: 1280px; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(36px, 5vw, 72px); align-items: start; margin-top: 38px; }
.hero h1 { font-size: clamp(58px, 6.5vw, 92px); line-height: .92; letter-spacing: -.01em; margin-bottom: 22px; }
.hero h1 em { color: var(--teal); }
.hero .intro { font-size: 18px; max-width: 470px; }
.hero-photo { margin: 28px 8px 12px 0; border: 6px solid var(--teal); border-radius: 0; box-shadow: 10px 10px 0 var(--gold); transform: rotate(-1.2deg); overflow: visible; }
.hero-photo img { height: 330px; object-position: 50% 74%; }
.hero-photo span { position: absolute; left: -6px; bottom: 20px; background: var(--pink); padding: 7px 16px; font-family: 'Barlow Condensed', sans-serif; font-size: 24px; font-weight: 800; line-height: 1.1; letter-spacing: 1.5px; }
.coming { margin: 34px 8px 8px 0; border-radius: 3px; padding: 43px 30px 0; background: var(--ink); color: var(--cream); box-shadow: 9px 9px 0 var(--gold); text-align: left; }
.coming-stamp { display: block; width: max-content; max-width: 100%; color: var(--ink); background: var(--gold); margin: -61px 0 32px -12px; padding: 10px 14px; font-size: 20px; transform: rotate(-3deg); }
.coming .kicker { color: #8dd6cc; font-size: 11px; letter-spacing: 1.7px; }
.coming h2 { font-size: clamp(48px, 4.5vw, 64px); line-height: .98; margin-bottom: 22px; }
.coming-line { color: var(--gold); font-size: 20px; line-height: 1.4; }
.coming .button { width: 100%; border-color: var(--cream); border-radius: 2px; font-size: 14px; }
.coming-footer { margin: 30px -30px 0; padding: 21px 30px 24px; border-top: 2px dashed #697c68; border-radius: 0; background: #193f3b; font-size: 13px; }
.coming-footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 12px; }
.coming-footer a { font-weight: 700; }
.coming-footer a:focus-visible { outline-color: var(--gold); }
.menu-cards article { border-radius: 3px; }
.ribbon { margin-top: 18px; }
button:focus-visible { outline: 3px solid var(--pink); outline-offset: 5px; }
@media (max-width: 900px) and (min-width: 601px) {
  .hero { gap: 32px; padding: 0 24px; }
  .hero h1 { font-size: clamp(51px, 7.2vw, 65px); }
  .coming { padding-left: 22px; padding-right: 22px; }
  .coming-stamp { font-size: 17px; width: auto; }
  .coming h2 { font-size: 48px; }
  .coming-footer { margin-left: -22px; margin-right: -22px; padding-left: 22px; padding-right: 22px; }
  .coming .button { font-size: 12px; padding: 12px 8px; }
  .hero-photo img { height: 300px; }
}
@media (max-width: 600px) {
  .hero { grid-template-columns: 1fr; margin-top: 20px; padding: 0 22px; gap: 35px; }
  .hero h1 { font-size: clamp(51px, 14.8vw, 76px); }
  .hero .intro { font-size: 16px; }
  .hero-photo { margin-top: 24px; }
  .hero-photo img { height: 270px; }
  .hero-photo span { font-size: 21px; }
  .coming { margin-top: 20px; padding: 37px 24px 0; }
  .coming-stamp { margin-top: -55px; margin-bottom: 28px; font-size: 18px; }
  .coming h2 { font-size: clamp(48px, 14vw, 64px); }
  .coming-footer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }
}

/* Official Instagram profile widget at the bottom, before the footer. */
.instagram { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; }
.instagram-copy,.instagram-widget { min-width: 0; }
.instagram-widget { width: 100%; max-width: 540px; justify-self: center; }
.instagram-brand { display:flex; align-items:center; gap:20px; margin:32px 0 24px; }
.instagram-brand img { width:110px; height:110px; object-fit:cover; border:2px solid var(--ink); transform:rotate(-3deg); box-shadow:4px 4px 0 var(--gold); }
.instagram-brand p { margin:0; font-family:'Barlow Condensed',sans-serif; font-size:28px; font-weight:700; line-height:1.1; }
#instagram-preview { min-height: 280px; }
#instagram-preview .instagram-media { background:#fff; border:1px solid #ddd; border-radius:3px; padding:16px; margin:0!important; width:100%!important; min-width:0!important; max-width:540px!important; }
#instagram-preview iframe.instagram-media { padding:0; }
#instagram-status { margin:16px 0 0; }
footer img { background:transparent; padding:0; }
@media(max-width:800px) { .instagram { grid-template-columns:minmax(0,1fr); gap:32px; } .instagram-copy { max-width:540px; } }

/* Owner-requested pink accents, retaining the official pink/teal/gold palette. */
.hero h1 em { color: var(--pink); }
.masthead nav a { text-decoration:underline; text-decoration-color:var(--pink); text-decoration-thickness:2px; text-underline-offset:7px; }
.coming-stamp { background:var(--pink); color:var(--cream); border-color:var(--pink); box-shadow:3px 3px 0 var(--gold); }
.menu-section h2, .instagram h2 { color:var(--pink); }
.menu-cards article { border-color:var(--pink); }
.menu-cards article:first-child { background:#ffe3ee; }
.menu-cards strong { color:#b60e5c; }
.story img { border-color:var(--pink); }
.instagram { background:#ffe3ee; border-top:6px solid var(--pink); }
footer { border-top:6px solid var(--pink); }

/* Accessible manual carousel, with a useful first photo without JavaScript. */
[hidden] { display:none!important; }
.hero-carousel { min-width:0; }
.hero-carousel:focus-visible { outline:3px solid var(--pink); outline-offset:10px; }
.hero-slide { margin:0; }
.hero-photo { touch-action:pan-y; }
.hero-slide figcaption { position:absolute; left:-6px; bottom:20px; color:white; background:var(--pink); padding:7px 16px; font-family:'Barlow Condensed',sans-serif; font-size:24px; font-weight:800; line-height:1.1; letter-spacing:1px; }
.hero-slide:nth-child(2) img { object-position:center; }
.carousel-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:22px 0 0; max-width:560px; }
.carousel-controls p { margin:0; font-size:13px; font-weight:700; }
.carousel-arrow { width:46px; height:46px; border:2px solid var(--ink); background:#ffe3ee; color:var(--ink); font-size:24px; cursor:pointer; border-radius:50%; }
.carousel-arrow:hover { background:var(--gold); }
.map-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
@media(max-width:600px) { .hero-slide figcaption { font-size:19px; padding:7px 12px; } }

/* Restaurant-owned photographs, press, community reviews and founders. */
.hero-slide img { object-position:50% 60%; }
.hero-slide:nth-child(2) img { object-position:50% 52%; }
.hero-slide:nth-child(3) img { object-position:50% 25%; }
.hero-slide:nth-child(4) img { object-position:50% 38%; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:32px; }
.section-heading h2 { margin-bottom:0; }
.section-heading>p { max-width:370px; font-size:15px; margin:0; }
.press { border-top:2px solid #d2dacb; }
.press-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.press-grid article { padding:26px; border-top:5px solid var(--pink); background:#fffdf7; display:flex; flex-direction:column; }
.press-publisher { font-size:15px; font-weight:700; margin:0 0 5px; }
.press-date,.press-kind { font-size:12px; color:#3b625b; }
.press-date { margin:0 0 26px; }
.press-grid h3 { font-size:32px; line-height:1.1; }
.press-grid h3 a { text-decoration:none; }
.press-grid h3 a:hover { color:#b60e5c; text-decoration:underline; }
.press-kind { margin:auto 0 0; padding-top:20px; }
.more-press { margin-top:28px; border-top:2px solid var(--teal); border-bottom:2px solid var(--teal); }
.more-press summary { cursor:pointer; padding:20px 0; font-weight:700; min-height:52px; }
.more-press summary span { font-weight:400; font-size:14px; }
.more-press ul { list-style:none; padding:0; margin:0 0 20px; }
.more-press li { border-top:1px solid #d2dacb; }
.more-press a { display:grid; grid-template-columns:160px 1fr 140px; gap:16px; padding:16px 0; text-decoration:none; align-items:center; }
.more-press a:hover span { text-decoration:underline; }
.more-press a span { font-size:14px; }
.more-press a small { font-size:12px; text-align:right; }
.reviews { background:#ffe3ee; border-radius:24px; margin-bottom:50px; }
.reviews h2 { color:#b60e5c; }
.review-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.review-grid figure { margin:0; padding:32px; background:var(--cream); border:2px solid var(--pink); box-shadow:5px 5px 0 var(--gold); }
.review-stars { color:#b60e5c; font-size:21px; letter-spacing:4px; }
.review-grid blockquote { margin:20px 0 28px; font-family:'Barlow Condensed',sans-serif; font-size:35px; font-weight:600; line-height:1.12; }
.review-grid figcaption { display:flex; flex-direction:column; gap:6px; font-size:13px; }
.review-grid figcaption strong { font-size:15px; }
.review-grid figcaption a { color:var(--teal); }
.review-note { margin:28px 0 0; font-size:12px; }
.visit-photo { margin:30px 0 0; max-width:400px; }
.visit-photo img { width:100%; height:300px; object-fit:cover; object-position:50% 34%; border:3px solid var(--pink); box-shadow:5px 5px 0 var(--gold); }
.founders-intro { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding-top:30px; }
.founders-intro h1 { font-size:clamp(56px,6vw,88px); }
.founders-intro h1 em { font-style:normal; color:var(--pink); }
.founders-portraits { margin:0; }
.founders-portraits>div { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:center; }
.founders-portraits img { width:100%; height:380px; object-fit:cover; border:3px solid var(--teal); box-shadow:5px 5px 0 var(--gold); }
.founders-portraits img:nth-child(2) { transform:translateY(20px); border-color:var(--pink); }
.founders-portraits figcaption { font-size:12px; margin:35px 0 0; }
.career-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; margin:36px 0; }
.career-grid article { padding:32px; border:2px solid var(--teal); background:#fffdf7; }
.career-grid article:nth-child(2) { border-color:var(--pink); background:#ffe3ee; }
.career-grid h3 { font-size:52px; }
.career-grid article>p:not(.kicker) { font-size:15px; }
.career-list { list-style:none; padding:0; margin:30px 0 0; border-left:2px solid var(--teal); }
.career-list li { padding:0 0 25px 22px; position:relative; }
.career-list li:last-child { padding-bottom:0; }
.career-list li:before { content:''; position:absolute; width:10px; height:10px; border-radius:50%; background:var(--pink); left:-6px; top:9px; }
.career-list strong,.career-list span { display:block; font-size:14px; }
.career-list span { margin-top:6px; }
.career-sources { font-size:12px; max-width:850px; }
.founders-ending { border-top:2px solid var(--pink); text-align:center; padding-top:50px; padding-bottom:60px; }
.founders-ending .text-link { display:block; margin:24px 0 0; }
details summary:focus-visible { outline:3px solid var(--pink); outline-offset:5px; }
@media(max-width:900px) { .press-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .founders-intro { gap:32px; } .founders-portraits img { height:300px; } }
@media(max-width:600px) {
  .section-heading { display:block; margin-bottom:26px; }
  .section-heading>p,.section-heading>.text-link { display:block; margin-top:24px; }
  .press-grid,.review-grid,.founders-intro,.career-grid { grid-template-columns:1fr; }
  .press-grid article { padding:24px; }
  .more-press a { grid-template-columns:1fr; gap:5px; }
  .more-press a small { text-align:left; }
  .reviews { border-radius:0; margin-bottom:0; }
  .review-grid { gap:24px; }
  .review-grid figure { padding:24px; }
  .review-grid blockquote { font-size:32px; }
  .founders-intro { padding-top:20px; }
  .founders-intro h1 { font-size:64px; }
  .founders-portraits img { height:260px; }
  .career-grid article { padding:24px; }
  .career-grid h3 { font-size:46px; }
  .visit-photo { max-width:100%; }
}
