:root{
  --cream:#fdf5e3; --yellow:#f7d661; --orange:#f8b66c; --ink:#2c3323; --brick:#bf7256; --line:rgba(44,51,35,.15);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"sofia-pro",system-ui,sans-serif;font-size:16px;line-height:1.6}
a{color:var(--ink)} a:hover{color:var(--brick)}
img{max-width:100%;height:auto}
h1,h2,h3{font-weight:700;text-transform:uppercase;letter-spacing:.25em;line-height:1.25;margin:0 0 .6em}
h1{font-size:clamp(1.25rem,3.5vw,1.9rem)}
h2{font-size:1.15rem}
h3{font-size:1rem}
.concept{background:var(--ink);color:var(--cream);text-align:center;font-size:.75rem;letter-spacing:.15em;padding:.35rem 1rem;text-transform:uppercase}

/* header */
.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1100px;margin:0 auto;padding:1rem 16px}
.brand img{width:44px;display:block}
.page-home .brand{visibility:hidden}
.nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;justify-content:flex-end;text-transform:uppercase;font-size:.8rem;letter-spacing:.12em}
.nav a{text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent}
.nav a[aria-current=page]{border-color:var(--yellow)}
.nav .lang{border:1.5px solid var(--ink);padding:.15rem .6rem}

main{max-width:1100px;margin:0 auto;padding:0 16px 3rem}

/* hero */
.hero{text-align:center;max-width:640px;margin:0 auto;padding:1rem 0 2.5rem}
.hero-logo{width:150px;margin-bottom:1.5rem}
.lead{font-size:1.05rem}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.75rem;text-transform:uppercase;font-size:.85rem;letter-spacing:.06em}
.facts>div{background:#fff8;border:1px solid var(--line);padding:1rem}
.muted{opacity:.75;text-transform:none;letter-spacing:0}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.card{padding:1.5rem;display:flex;flex-direction:column;align-items:flex-start}
.card p{flex:1}
.c0{background:var(--yellow)} .c1{background:var(--orange)} .c2{background:#fff;border:1px solid var(--line)} .c3{background:var(--ink);color:var(--cream)} .c3 .btn{background:var(--yellow);color:var(--ink)}
.btn{display:inline-block;background:var(--ink);color:var(--cream);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;padding:.65rem 1.1rem;}
.btn:hover{background:var(--brick);color:#fff}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.center{text-align:center;margin-top:2rem}

/* menu */
.page-head{text-align:center;max-width:680px;margin:0 auto 2rem}
.legend{font-size:.85rem}
.tag{display:inline-block;font-size:.6rem;font-weight:700;text-decoration:none;padding:.05rem .4rem;margin-left:.4rem;vertical-align:middle;letter-spacing:.05em;line-height:1.5}
.tag-v{border:1.5px solid #e09a3c;color:#a8641a}
.tag-vg{background:#7cae55;color:#fff}
.menu-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.mcol>h2{font-size:1.5rem;letter-spacing:.35em}
.msec{padding:1.25rem 1.25rem .75rem;margin-bottom:1rem;background:#fff8;scroll-margin-top:1rem}
.food .msec:nth-of-type(3n+1){background:var(--yellow)}
.food .msec:nth-of-type(3n+2){background:var(--orange)}
.drinks .msec:nth-of-type(4n+2){background:var(--yellow)}
.msec ul{list-style:none;margin:0;padding:0}
.msec li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-top:1px solid var(--line)}
.msec li:first-child{border-top:0}
.nm{font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.ds{display:block;font-size:.85rem;opacity:.85}
.pr{font-weight:700;white-space:nowrap}
.sub{font-style:italic;font-size:.85rem;margin:-.4rem 0 .5rem}
.note{font-size:.75rem;opacity:.8}

/* faq */
.faq{max-width:760px;margin:3rem auto 0}
.faq details{border-top:1px solid var(--line);padding:.8rem 0}
.faq summary{cursor:pointer;font-weight:700}
.faq p{margin:.5rem 0 0}

/* footer */
.foot{background:var(--yellow);padding:1.75rem 16px 1.25rem;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em}
.foot-grid{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.foot-grid a{text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:.35rem;flex:1;min-width:180px}
.foot-grid svg{width:30px;height:30px;border:1.5px solid var(--ink);padding:5px}
.foot-meta{text-align:center;font-size:.7rem;opacity:.8;margin:1.25rem 0 0;text-transform:none;letter-spacing:0}

@media (max-width:760px){
  .menu-cols{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
  .nav{font-size:.72rem;gap:.25rem .8rem}
  .foot-grid a{min-width:100%}
}

.placeholder{border:1.5px dashed var(--ink);padding:1rem;font-style:italic;opacity:.75}
.note br{display:block}
.faq-page h2{margin-top:2.25rem}
.faq-page h2:first-child{margin-top:0}
.tagline{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;margin:-.2rem 0 1.25rem}
.runfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--ink);border:1px solid var(--ink);max-width:900px;margin:0 auto 2rem}
.runfacts div{background:var(--yellow);padding:.9rem 1rem;text-align:center}
.runfacts dt{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}
.runfacts dd{margin:.2rem 0 0;font-weight:700}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;max-width:900px;margin:0 auto}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
@media (max-width:560px){.gallery{gap:.4rem}}
.gallery img[src*="groep"]{object-position:50% 75%}
@media (max-width:560px){.runfacts{grid-template-columns:1fr 1fr}.runfacts div:last-child:nth-child(odd){grid-column:1/-1}}
.job{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center;max-width:900px;margin:0 auto}
.job img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
@media (max-width:700px){.job{grid-template-columns:1fr}.job img{max-width:420px;margin:0 auto}}
.photo{max-width:1100px;margin:0 auto 2rem}
.photo img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.page-home .photo{margin-top:-.5rem}
@media (max-width:700px){.photo img{aspect-ratio:4/3}}
.photo{max-width:900px}
.photo img{aspect-ratio:3/2}
.page-faq .photo{max-width:760px}
.page-faq .photo img{aspect-ratio:16/9}
.photo{max-width:560px}
.page-faq .photo{max-width:480px}
.job{max-width:760px;grid-template-columns:1.4fr 1fr}
.job img{max-width:320px;justify-self:center}
.jobs{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:start;max-width:900px;margin:0 auto}
.jobs-list{display:grid;gap:1rem}
.jobs img{width:100%;max-width:320px;aspect-ratio:3/4;object-fit:cover;display:block;justify-self:center}
@media (max-width:700px){.jobs{grid-template-columns:1fr}}
.jobs-list .card p{flex:none}
h1,h2,h3{overflow-wrap:anywhere}
@media (max-width:560px){.card h2{letter-spacing:.12em}}
