@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');:root{--ink:#25271f;--cream:#f8f4eb;--sand:#e9decb;--accent:#b27b43;--olive:#515b40;--muted:#6e6b61}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.75 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}.topbar{background:#22251f;color:#f3e5d0;text-align:center;font-size:12px;letter-spacing:.12em;padding:7px 12px}.site-header{position:sticky;top:0;z-index:30;background:rgba(248,244,235,.98);border-bottom:1px solid #ddd1bc}.header-inner{max-width:1220px;margin:auto;min-height:88px;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{width:150px;height:auto}.header-nav{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:24px}.header-nav a{font-size:13px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;white-space:nowrap}.header-nav a.active,.header-nav a:hover{color:#9b642e}.header-nav .nav-cta{background:var(--ink);color:white;padding:10px 17px;border-radius:2px}.container{max-width:1220px;margin:auto;padding:0 24px}.hero{background:#262920;color:#fff;min-height:580px;display:grid;grid-template-columns:1.02fr .98fr}.hero-copy{padding:100px max(30px,calc((100vw - 1220px)/2)) 90px max(30px,calc((100vw - 1220px)/2));padding-right:50px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.23em;font-weight:700;color:#c7985c}.hero h1,h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.15}h1{font-size:clamp(38px,5vw,72px);margin:16px 0 23px}h2{font-size:clamp(29px,3.4vw,46px);margin:0 0 18px}h3{font-size:24px;margin:8px 0}.hero p{max-width:540px;color:#e3ded3}.hero-art{background:#3b3329 url('dish-1.svg') center/cover no-repeat;min-height:480px}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;padding:12px 25px;font-weight:700;border:0;border-radius:2px;letter-spacing:.04em}.btn.secondary{background:transparent;border:1px solid currentColor;color:inherit}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.section{padding:84px 0}.section.alt{background:#efe7d9}.section-heading{max-width:760px;margin-bottom:35px}.section-heading p,.lead{color:var(--muted);max-width:760px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.food-card{background:#fff;overflow:hidden;border:1px solid #e6dcca}.food-card img{width:100%;aspect-ratio:1.5;object-fit:cover}.food-card .info{padding:21px}.food-card .cat{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#976b40;font-weight:700}.food-card p{color:var(--muted);font-size:14px;margin:8px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split img{width:100%;aspect-ratio:1.25;object-fit:cover}.page-hero{padding:95px 0 75px;background:#282b23;color:#fff}.page-hero p{color:#ded8ca;max-width:700px}.breadcrumbs{font-size:12px;color:#d7b789;letter-spacing:.1em;text-transform:uppercase}.article{max-width:900px;margin:0 auto}.article p{margin:0 0 20px}.article h2{margin-top:36px}.pillbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.pill{border:1px solid #cdbca5;background:transparent;padding:8px 15px;color:var(--ink)}.pill.active{background:var(--ink);color:#fff}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery button{border:0;padding:0;background:none}.gallery img{width:100%;aspect-ratio:1.15;object-fit:cover}.note{background:#f0e5d3;border-left:4px solid #b27b43;padding:16px 20px;color:#514a3e}.form{display:grid;gap:15px}.form label{font-weight:700;font-size:13px;display:block;margin-bottom:4px}.form input,.form textarea,.form select{width:100%;border:1px solid #cdbda8;padding:12px;background:#fff;border-radius:2px}.form textarea{min-height:120px}.map-link{display:inline-block;text-decoration:underline;text-underline-offset:4px}.footer{background:#20241f;color:#eee6d6;padding:60px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer a:hover{color:#d3a66b}.footer small{color:#bdb6a9}.footer-links{display:flex;flex-direction:column;gap:7px}.copyright{border-top:1px solid #555a50;margin-top:35px;padding-top:20px;font-size:12px;color:#bfb9ae}.mobile-bottom{display:none}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:99;display:none;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox img{max-width:90vw;max-height:85vh}.lightbox button{position:absolute;top:12px;right:20px;background:none;border:0;color:#fff;font-size:38px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:900px){.header-inner{flex-direction:column;align-items:center;min-height:0;padding:10px 10px 0;gap:8px}.brand img{width:112px}.header-nav{margin:0;width:100%;justify-content:flex-start;overflow-x:auto;gap:20px;padding:0 10px 11px;scrollbar-width:thin}.header-nav a{font-size:11px}.header-nav .nav-cta{background:transparent;color:var(--ink);padding:0}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 24px}.hero-art{min-height:310px;order:-1}.split{grid-template-columns:1fr;gap:24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}.mobile-bottom{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;justify-content:space-around;background:#242720;color:#f7f0e5;box-shadow:0 -4px 18px #0003;padding:7px 2px calc(7px + env(safe-area-inset-bottom))}.mobile-bottom a{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:10px;line-height:1.2;min-width:54px}.mobile-bottom span{font-size:19px}body{padding-bottom:64px}.section{padding:56px 0}.page-hero{padding:58px 0}.gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.grid,.two-col,.footer-grid{grid-template-columns:1fr}.container{padding:0 18px}.hero-art{min-height:260px}.hero h1{font-size:39px}.gallery{gap:9px}.food-card .info{padding:15px}}
/* Homepage image carousel */
.homepage-slider{position:relative;width:100%;overflow:hidden;background:#1c211e;isolation:isolate}.slider-track{display:flex;width:100%;transition:transform .55s ease}.slider-slide{position:relative;flex:0 0 100%;margin:0}.slider-slide img{display:block;width:100%;height:clamp(330px,52vw,720px);object-fit:cover;object-position:center}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;border-radius:50%;width:44px;height:44px;background:#14141499;color:white;font-size:23px;cursor:pointer}.slider-prev{left:18px}.slider-next{right:18px}.slider-arrow:hover{background:#141414e6}.slider-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:2;display:flex;gap:9px}.slider-dots button{width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:#ffffff55;cursor:pointer;padding:0}.slider-dots button.is-active{background:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.slider-slide img{height:auto;aspect-ratio:1652/928;object-fit:contain}.slider-arrow{width:32px;height:32px;font-size:17px}.slider-prev{left:8px}.slider-next{right:8px}.slider-dots{bottom:9px}}@media(prefers-reduced-motion:reduce){.slider-track{transition:none}}

/* Official supplied BMB Canteen logo */
.brand img{width:150px;max-width:100%;height:auto;object-fit:contain;display:block}
.footer-grid img[src$="logo.png"]{width:170px;max-width:100%;height:auto;object-fit:contain}
@media(max-width:700px){.brand img{width:112px;height:auto}}

/* Premium 3D menu flipbook */
.flip-section{background:linear-gradient(160deg,#fff8ef,#f4e5d6)}.flipbook-wrap{max-width:1100px;margin:20px auto 0}.flipbook{--page-w:min(41vw,410px);--page-h:calc(var(--page-w)*1.42);position:relative;width:calc(var(--page-w)*2);height:var(--page-h);margin:0 auto;perspective:2400px;filter:drop-shadow(0 18px 26px rgba(65,32,10,.23));touch-action:pan-y;user-select:none}.book-base{position:absolute;inset:0;display:flex;transform:translateZ(-2px)}.book-left,.book-right{width:50%;height:100%;background:#f5ede2;border:1px solid #d4bba1}.book-left{border-radius:9px 0 0 9px;box-shadow:inset -12px 0 20px #cbb49b}.book-right{border-radius:0 9px 9px 0;box-shadow:inset 12px 0 20px #cbb49b}.book-sheet{position:absolute;top:0;left:50%;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;transform:rotateY(0deg);transition:transform 1.05s cubic-bezier(.28,.02,.18,1);z-index:calc(20 - var(--sheet));will-change:transform;cursor:pointer}.book-sheet.turned{transform:rotateY(-180deg);z-index:calc(20 + var(--sheet))}.book-sheet.turning{z-index:50}.book-face{position:absolute;inset:0;backface-visibility:hidden;overflow:hidden;background:white;border:1px solid #e8d5c3;box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.book-front{border-radius:0 7px 7px 0}.book-back{transform:rotateY(180deg);border-radius:7px 0 0 7px}.book-face img{display:block;width:100%;height:100%;object-fit:fill}.book-front:after,.book-back:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.12),transparent 9%,transparent 90%,rgba(0,0,0,.07))}.book-back:after{background:linear-gradient(90deg,rgba(0,0,0,.06),transparent 85%,rgba(0,0,0,.13))}.book-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin:26px auto 8px;flex-wrap:wrap}.book-btn{border:1px solid #d6a27f;border-radius:30px;padding:12px 22px;background:#fff;color:#9b3d10;font-weight:700;cursor:pointer}.book-btn.primary{background:#e94a0b;color:white;border-color:#e94a0b}.book-btn:disabled{opacity:.4;cursor:not-allowed}.book-controls span{font-size:14px;font-weight:700;color:#6c3820;min-width:140px;text-align:center}.book-hint{text-align:center;font-size:13px;color:#795c4d;margin:12px 0}.flipbook:focus-visible{outline:3px solid #e94a0b;outline-offset:6px}@media(max-width:700px){.flipbook{--page-w:min(44vw,245px)}.book-controls{gap:9px}.book-btn{padding:10px 12px;font-size:12px}.book-controls span{min-width:110px;font-size:12px}.flip-section .section-heading p{font-size:14px}}@media(prefers-reduced-motion:reduce){.book-sheet{transition-duration:.01ms}}

/* About page editorial photos */
.about-photo{margin:0;max-width:100%;min-width:0}.about-photo img{display:block;width:100%;height:auto;max-height:660px;object-fit:contain;border-radius:16px;background:#fff4e9;box-shadow:0 14px 34px rgba(31,22,11,.12)}.about-photo figcaption{font-size:.86rem;line-height:1.55;color:#70665e;margin-top:10px;text-align:center}.about-photo--inline{max-width:570px;margin:30px auto 36px}.article .about-photo--inline img{max-height:620px}@media(max-width:700px){.about-photo--inline{max-width:100%;margin:24px auto 30px}.about-photo img{max-height:none;border-radius:12px}}

/* Contact poster */
.contact-poster{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,440px);gap:clamp(24px,5vw,70px);align-items:center}.contact-poster-figure{margin:0}.contact-poster-figure img{display:block;width:100%;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 12px 36px rgba(0,0,0,.12)}.contact-poster-figure figcaption{font-size:.85rem;opacity:.7;margin-top:12px;text-align:center}@media(max-width:760px){.contact-poster{grid-template-columns:1fr}.contact-poster-figure{max-width:520px;margin:auto}}

/* Language selector — always visible in desktop and mobile headers */
.language-switch{display:inline-flex;align-items:center;gap:4px;margin-left:12px;padding:3px;border:1px solid rgba(140,90,42,.3);border-radius:100px;white-space:nowrap;flex-shrink:0}
.header-nav .language-switch a{padding:5px 9px;border-radius:100px;font-weight:800;font-size:12px;line-height:1.3;text-decoration:none}
.header-nav .language-switch a[aria-current="true"]{background:#ed560c;color:white}
@media(max-width:700px){.language-switch{margin-left:4px}.header-nav .language-switch a{padding:5px 7px}.header-nav{overflow-x:auto;scrollbar-width:none}.header-nav::-webkit-scrollbar{display:none}}

/* SEO editorial content */
.seo-editorial{background:#fffaf3}.seo-editorial .article{max-width:920px}.seo-editorial h2{margin:2rem 0 .85rem;color:#a83b10;line-height:1.25}.seo-editorial h3{margin:1.35rem 0 .5rem}.seo-editorial p{line-height:1.85;margin:.5rem 0 1rem}.seo-menu-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.5rem}.seo-menu-list li{padding:.75rem;border-bottom:1px solid #f1d7c6;line-height:1.55}@media(max-width:700px){.seo-menu-list{grid-template-columns:1fr}.seo-editorial h2{font-size:1.5rem}}

/* Food images cropped from restaurant-provided menu pages */
.food-card img{width:100%;aspect-ratio: 3/2;object-fit:contain;background:#fff9f1;}

/* BMB gallery carousel */
.bmb-gallery-slider{max-width:980px;margin:0 auto 2rem}.bmb-gallery-stage{position:relative;height:clamp(310px,57vw,590px);border-radius:22px;overflow:hidden;background:#f3e9dc;box-shadow:0 15px 45px #00000018}.bmb-gallery-slide{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s}.bmb-gallery-slide.is-active{opacity:1;visibility:visible}.bmb-gallery-slide img{display:block;width:100%;height:calc(100% - 42px);object-fit:contain}.bmb-gallery-slide figcaption{height:42px;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;color:#4d3425;text-align:center;padding:0 12px}.bmb-gallery-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin:14px 0}.bmb-gallery-controls button{width:46px;height:42px;border-radius:12px;border:1px solid #d6b69d;background:white;color:#bc471c;font-size:2rem;cursor:pointer;line-height:1}.bmb-gallery-counter{min-width:70px;text-align:center;font-weight:700}.bmb-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:6px 4px 15px;scroll-snap-type:x proximity;scrollbar-width:thin}.bmb-gallery-thumb{flex:0 0 82px;width:82px;height:85px;border:2px solid transparent;background:#f5eae0;border-radius:10px;overflow:hidden;padding:3px;cursor:pointer;scroll-snap-align:center}.bmb-gallery-thumb.is-active{border-color:#e45422}.bmb-gallery-thumb img{width:100%;height:100%;object-fit:contain;border-radius:6px}.bmb-gallery-controls button:focus-visible,.bmb-gallery-thumb:focus-visible{outline:3px solid #e45422;outline-offset:2px}@media(max-width:650px){.bmb-gallery-stage{height:clamp(350px,115vw,560px);border-radius:14px}.bmb-gallery-thumb{flex-basis:66px;width:66px;height:70px}}@media(prefers-reduced-motion:reduce){.bmb-gallery-slide{transition:none}}
.domain-dropdown { width: 100%; max-width: 450px; margin: 20px auto; font-family: Arial, sans-serif; } .domain-details { width: 100%; border: 1px solid #e5e7eb; border-radius: 12px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07); overflow: hidden; } .domain-dropdown-btn { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; color: #222222; font-size: 15px; font-weight: 700; cursor: pointer; list-style: none; transition: background 0.3s ease; } .domain-dropdown-btn::-webkit-details-marker { display: none; } .domain-dropdown-btn::marker { content: ""; } .domain-dropdown-btn:hover { background: #fff5ed; } .dropdown-arrow { font-size: 12px; color: #d97706; transition: transform 0.3s ease; } .domain-details[open] .dropdown-arrow { transform: rotate(180deg); } .domain-dropdown-menu { display: flex; flex-direction: column; max-height: 350px; overflow-y: auto; background: #ffffff; border-top: 1px solid #eeeeee; padding: 8px; } .domain-dropdown-menu a { display: block; padding: 12px 15px; margin: 2px 0; color: #333333; font-size: 14px; font-weight: 500; line-height: 1.5; text-decoration: none; border-radius: 7px; transition: all 0.2s ease; } .domain-dropdown-menu a:hover { background: #fff0df; color: #c65c00; padding-left: 20px; } .domain-dropdown-menu::-webkit-scrollbar { width: 5px; } .domain-dropdown-menu::-webkit-scrollbar-track { background: #f5f5f5; } .domain-dropdown-menu::-webkit-scrollbar-thumb { background: #d6a36c; border-radius: 10px; } @media (max-width: 768px) { .domain-dropdown { max-width: 100%; margin: 15px auto; } .domain-dropdown-btn { padding: 14px 16px; font-size: 14px; } .domain-dropdown-menu { max-height: 300px; } .domain-dropdown-menu a { padding: 11px 12px; font-size: 13px; } }