:root { --restaurant-blue:#1976d2; --restaurant-dark:#10233f; --restaurant-text:#43546a; --restaurant-border:#dce3ea; --restaurant-pale:#f2f7fb; }
.restaurant-journey { background:#fff; color:var(--restaurant-dark); }
.restaurant-shell { width:min(1120px, calc(100% - 3rem)); margin-inline:auto; }
.restaurant-hero { background:var(--restaurant-pale); padding:clamp(3rem,7vw,6.5rem) 0 2rem; }
.restaurant-hero-grid { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.restaurant-hero-copy { position:relative; }
.restaurant-back { display:inline-block; margin-bottom:clamp(2rem,4vw,3.5rem); color:var(--restaurant-text); font-weight:700; }
.restaurant-back:hover { color:var(--restaurant-blue); }
.restaurant-eyebrow { margin:0 0 .8rem; color:var(--restaurant-blue); font-size:.78rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.restaurant-status { display:inline-flex; margin-bottom:1rem; padding:.35rem .7rem; border:1px solid #f28c28; border-radius:999px; color:#a85c12; background:#fff8ed; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.restaurant-journey h1,.restaurant-journey h2,.restaurant-journey h3 { font-family:Sora,sans-serif; color:var(--restaurant-dark); }
.restaurant-journey h1 { margin:0; font-size:clamp(3rem,6vw,5.8rem); line-height:.95; letter-spacing:-.06em; }
.restaurant-hero h2 { max-width:600px; margin:1.5rem 0 1rem; font-size:clamp(1.8rem,3vw,3rem); line-height:1.05; letter-spacing:-.04em; }
.restaurant-lead,.restaurant-section-intro { max-width:700px; font-size:clamp(1.05rem,1.4vw,1.25rem); line-height:1.65; color:var(--restaurant-text); }
.restaurant-hero-media { margin:0; }.restaurant-hero-media img { display:block; width:100%; border-radius:1.25rem; box-shadow:0 18px 45px rgba(16,35,63,.14); }.restaurant-hero-media figcaption { margin-top:.7rem; color:#718096; font-size:.8rem; }
.restaurant-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:2.5rem; border:1px solid var(--restaurant-border); background:var(--restaurant-border); border-radius:1rem; overflow:hidden; }.restaurant-overview div { display:grid; gap:.35rem; padding:1.1rem; background:#fff; }.restaurant-overview span,.restaurant-status-grid span { color:var(--restaurant-blue); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.restaurant-overview strong { font-size:.9rem; }
.restaurant-section { padding:clamp(4rem,7vw,7rem) 0; }.restaurant-white { background:#fff; }.restaurant-blue { background:var(--restaurant-pale); border-block:1px solid #e4edf5; }.restaurant-section-number { margin:0; color:#b8d1e6; font:800 clamp(3rem,7vw,6rem)/1 Sora,sans-serif; letter-spacing:-.08em; }.restaurant-story-grid { display:grid; grid-template-columns:minmax(100px,.25fr) minmax(0,1fr); gap:clamp(2rem,6vw,7rem); align-items:start; }.restaurant-story-grid h2,.restaurant-vision-grid h2,.restaurant-closing h2 { max-width:720px; margin:.1rem 0 1.25rem; font-size:clamp(2rem,4vw,4rem); line-height:1.02; letter-spacing:-.055em; }.restaurant-story-grid p,.restaurant-vision-grid p,.restaurant-closing p { max-width:720px; color:var(--restaurant-text); font-size:1.05rem; line-height:1.7; }.restaurant-story-grid-reverse { grid-template-columns:minmax(0,1fr) minmax(260px,.75fr); align-items:center; }
.restaurant-checklist { display:grid; gap:.8rem; padding:0; margin:1.5rem 0 0; list-style:none; color:var(--restaurant-text); }.restaurant-checklist li { position:relative; padding-left:1.5rem; line-height:1.5; }.restaurant-checklist li::before { content:'+'; position:absolute; left:0; color:var(--restaurant-blue); font-weight:800; }
.restaurant-architecture { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:.7rem; padding:1.5rem; border:1px solid var(--restaurant-border); border-radius:1rem; background:#fff; box-shadow:0 12px 30px rgba(16,35,63,.08); color:var(--restaurant-blue); text-align:center; }.restaurant-architecture-node { padding:1.25rem .7rem; border-radius:.7rem; background:#e7f1fa; color:var(--restaurant-dark); font-weight:800; }.restaurant-architecture-node.is-active { border:2px solid var(--restaurant-blue); background:#fff; }
.restaurant-rules { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1rem; margin-top:2rem; }.restaurant-rules div,.restaurant-status-grid article { display:grid; gap:.45rem; padding:1.25rem; border:1px solid var(--restaurant-border); border-radius:.8rem; background:#fff; }.restaurant-rules strong { font-family:Sora,sans-serif; }.restaurant-rules span { color:var(--restaurant-text); font-size:.95rem; line-height:1.5; }
.restaurant-timeline { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; margin-top:2.5rem; }.restaurant-timeline div { position:relative; padding:1.25rem 1rem; border-top:3px solid var(--restaurant-blue); background:#fff; }.restaurant-timeline b { color:var(--restaurant-blue); }.restaurant-timeline h3 { margin:.9rem 0 .6rem; font-size:1.05rem; line-height:1.15; }.restaurant-timeline p { margin:0; color:var(--restaurant-text); font-size:.9rem; line-height:1.5; }
.restaurant-status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2.5rem; }.restaurant-status-grid article { min-height:100%; }.restaurant-status-grid ul { display:grid; gap:.6rem; padding:0; margin:0; list-style:none; color:var(--restaurant-text); line-height:1.45; }.restaurant-status-grid li::before { content:'✓'; margin-right:.5rem; color:var(--restaurant-blue); font-weight:800; }.restaurant-status-grid article:last-child li::before { content:'→'; color:#f28c28; }
.restaurant-deep-blue { background:#10233f; }.restaurant-deep-blue h2,.restaurant-deep-blue p,.restaurant-deep-blue li { color:#fff; }.restaurant-deep-blue .restaurant-eyebrow { color:#8fc7ff; }.restaurant-vision-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:clamp(2rem,7vw,8rem); align-items:start; }.restaurant-vision-grid .restaurant-checklist { color:#dbe9f6; }
.restaurant-closing { background:#eaf4fa; text-align:center; }.restaurant-closing-inner { display:grid; justify-items:center; }.restaurant-closing p { max-width:720px; }.restaurant-closing .btn { margin-top:1rem; }
@media (max-width:900px) { .restaurant-hero-grid,.restaurant-story-grid,.restaurant-story-grid-reverse,.restaurant-vision-grid { grid-template-columns:1fr; gap:2rem; }.restaurant-story-grid .restaurant-section-number { order:-1; }.restaurant-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); }.restaurant-overview { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .restaurant-shell { width:min(100% - 2rem, 1120px); }.restaurant-hero { padding-top:2rem; }.restaurant-hero h1 { font-size:clamp(2.8rem,14vw,4.5rem); }.restaurant-overview,.restaurant-rules,.restaurant-status-grid,.restaurant-timeline { grid-template-columns:1fr; }.restaurant-section { padding-block:3.5rem; }.restaurant-architecture { grid-template-columns:1fr; gap:.4rem; }.restaurant-architecture > span { transform:rotate(90deg); }.restaurant-story-grid h2,.restaurant-vision-grid h2,.restaurant-closing h2 { font-size:2.35rem; } }
