@import url('https://fonts.googleapis.com/css2?family=Readex+Pro:wght@300;400;500;600;700&display=swap');

:root { --plum:#4a1834; --tomato:#e75435; --cream:#fff4df; --ink:#2a1721; --sage:#b8c99d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font:16px/1.8 'Readex Pro',sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; object-fit:cover; }
.mast { padding:22px 5vw; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:45px; border-bottom:1px solid #2a172133; }
.brand { font-size:1.4rem; font-weight:700; color:var(--plum); }
.brand small { display:block; color:var(--tomato); font-size:.65rem; font-weight:500; }
.menu { display:flex; gap:24px; justify-content:center; }
.enrol { padding:10px 18px; color:white; background:var(--plum); border-radius:2px 18px 2px 18px; }
.cover { display:grid; grid-template-columns:42% 58%; min-height:680px; }
.cover-copy { padding:70px 6vw; align-self:center; position:relative; z-index:1; }
.kicker { color:var(--tomato); font-weight:600; }
.cover h1 { color:var(--plum); font-size:clamp(3.4rem,7vw,7.4rem); line-height:.98; margin:18px 0 28px; }
.cover-photo { padding:26px 3vw 26px 0; }
.cover-photo img { height:100%; min-height:620px; border-radius:200px 0 0 0; }
.note { max-width:470px; font-size:1.1rem; }
.strip { padding:18px 5vw; background:var(--tomato); color:white; display:flex; justify-content:space-around; gap:20px; font-weight:600; }
.block { padding:90px 6vw; }
.intro { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; margin-bottom:45px; }
.intro h2,.page-title { color:var(--plum); font-size:clamp(2.5rem,5vw,4.8rem); line-height:1.15; margin:0; }
.dish-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:20px; }
.dish { background:white; padding:32px; border-top:7px solid var(--sage); min-height:250px; }
.dish:nth-child(2) { border-color:var(--tomato); }
.dish b { color:var(--tomato); font-size:.85rem; }
.dish h3 { color:var(--plum); font-size:1.45rem; }
.apron { background:var(--plum); color:white; display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.apron h2 { color:var(--cream); }
.steps { display:grid; gap:12px; counter-reset:steps; }
.steps div { background:#ffffff12; padding:18px 22px; border-right:4px solid var(--tomato); }
.schedule { width:100%; border-collapse:collapse; background:white; }
.schedule th,.schedule td { padding:17px; border-bottom:1px solid #ddd; text-align:right; }
.schedule th { background:var(--plum); color:white; }
.contact-card { background:var(--sage); padding:45px; max-width:780px; border-radius:0 70px 0 0; }
.story-photo { margin:55px 0 0; display:grid; grid-template-columns:1.15fr .85fr; background:var(--plum); color:white; }
.story-photo img { height:420px; }
.story-photo div { padding:45px; align-self:center; }
.story-photo h2 { color:var(--cream); font-size:2.5rem; line-height:1.2; }
.workshop-photo { margin-bottom:45px; display:grid; grid-template-columns:.8fr 1.2fr; align-items:stretch; }
.workshop-photo img { height:390px; }
.workshop-photo div { background:var(--tomato); color:white; padding:45px; display:flex; flex-direction:column; justify-content:center; }
.legal { max-width:920px; margin:60px auto 90px; padding:0 25px; }
.legal article { margin-top:35px; padding:42px; background:white; }
.legal h2 { color:var(--tomato); margin-top:32px; }
.base { padding:30px 5vw; background:var(--ink); color:white; display:grid; grid-template-columns:1fr auto auto; gap:25px; }
@media (max-width:780px) { .mast { grid-template-columns:1fr auto; } .menu { display:none; } .cover { grid-template-columns:1fr; } .cover-photo { padding:0; } .cover-photo img { min-height:430px; border-radius:0; } .strip { display:grid; } .intro,.apron,.story-photo,.workshop-photo { grid-template-columns:1fr; gap:30px; } .dish-grid { grid-template-columns:1fr; } .base { grid-template-columns:1fr; } }
