*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,sans-serif;background:#fffaf3;color:#251912}body.no-scroll{overflow:hidden}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.container{width:min(1180px,calc(100% - 44px));margin-inline:auto}.site-header{position:relative;z-index:20;padding-top:18px}.nav-shell{width:min(1180px,calc(100% - 44px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border:1px solid rgba(122,70,31,.12);border-radius:30px;background:rgba(255,250,244,.94);box-shadow:0 18px 55px rgba(60,35,18,.12)}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#8c542d,#e0ad70);color:white;font-weight:900;letter-spacing:-.04em;box-shadow:0 12px 28px rgba(140,84,45,.28)}.brand-copy{display:grid;gap:2px;line-height:1}.brand-copy strong{font-size:1.08rem;letter-spacing:-.02em}.brand-copy small{text-transform:uppercase;font-size:.67rem;font-weight:900;letter-spacing:.28em;color:#765b4d}nav{display:flex;align-items:center;gap:20px;font-weight:800;font-size:.9rem;color:#765b4d}nav a:hover{color:#2d1a10}.hamb{display:none}.cta{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;font-weight:900;font-size:.9rem;transition:.25s ease;white-space:nowrap;line-height:1.1}.primary{background:linear-gradient(135deg,#a76536,#e2ad70);color:white;box-shadow:0 12px 28px rgba(167,101,54,.22)}.glass{background:rgba(255,255,255,.72);color:#2b1a10;border:1px solid rgba(255,255,255,.52)}.light{background:#edbd7b;color:#25150d}.dark{background:#20140f;color:white}.small{padding:10px 15px;font-size:.84rem}.wide{width:100%}.cta:hover{transform:translateY(-2px);filter:saturate(1.08)}h1,h2{font-family:'Playfair Display',serif;letter-spacing:-.052em;line-height:.96}h1{font-size:clamp(3rem,6.6vw,6.6rem);margin:0 0 18px;color:white;max-width:830px}h2{font-size:clamp(2.2rem,4.2vw,4.6rem);margin:0 0 18px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-weight:900;color:#9c6239;font-size:.78rem}.center{text-align:center}.hero{position:relative;min-height:690px;margin-top:18px;display:grid;align-items:center;overflow:hidden;border-radius:0 0 34px 34px}.slides,.slide,.hero-overlay{position:absolute;inset:0}.slide{opacity:0;background-size:cover;background-position:center;transform:scale(1.035);transition:opacity 1s ease,transform 6s ease}.slide.active{opacity:1;transform:scale(1)}.hero-overlay{background:linear-gradient(90deg,rgba(28,15,9,.86),rgba(54,31,18,.58),rgba(28,15,9,.28))}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(310px,.62fr);align-items:center;gap:42px;padding-block:72px}.hero-copy p:not(.eyebrow),.qr-zone p{font-size:1.18rem;line-height:1.65;color:#fff4e8;max-width:640px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero-panel{min-height:430px;position:relative;display:grid;place-items:center;perspective:1000px}.phone-card{width:245px;background:#fffaf3;color:#27170f;border:14px solid #20130d;border-radius:38px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.36);transform:rotateY(-10deg) rotateX(5deg);animation:floaty 5.2s ease-in-out infinite}.phone-status{width:64px;height:6px;border-radius:99px;background:#291910;margin:0 auto 18px}.phone-card h3{margin:0 0 12px}.phone-card ul{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:10px;font-size:1rem}.phone-card img{width:150px;display:block;margin:10px auto;border-radius:12px}.phone-card span{display:block;text-align:center;text-transform:uppercase;font-size:.68rem;font-weight:900;letter-spacing:.16em;color:#8b5a37}.rating-card{position:absolute;right:0;bottom:34px;background:rgba(255,250,244,.91);border:1px solid rgba(255,255,255,.65);border-radius:22px;padding:15px 18px;box-shadow:0 22px 50px rgba(36,21,12,.25)}.rating-card strong{display:block;font-size:1.7rem;color:#9c6239}.slider-dots{position:absolute;z-index:5;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:8px}.slider-dots button{width:10px;height:10px;border:0;border-radius:50%;background:rgba(255,255,255,.45)}.slider-dots button.active{width:34px;border-radius:999px;background:#e5b478}.features{padding:82px 0 56px}.features h2{text-align:center;max-width:880px;margin-inline:auto}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}.feature-grid article{background:#fff;border:1px solid rgba(122,70,31,.13);border-radius:24px;padding:24px;box-shadow:0 18px 44px rgba(75,45,24,.07);min-height:158px}.feature-grid span{font-size:1.55rem;color:#9c6239}.feature-grid b{display:block;margin:10px 0 7px;font-size:1.05rem}.feature-grid p,.menu-intro p,.menu-card p,.gallery p,footer p{color:#766050;line-height:1.62}.menu-section{padding:66px 0;background:linear-gradient(180deg,#fffaf3,#f4e8d8)}.menu-grid{display:grid;grid-template-columns:minmax(310px,.86fr) repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.menu-intro,.menu-card{border-radius:28px;overflow:hidden;min-width:0}.menu-intro{background:linear-gradient(145deg,#4b2817,#bd7b45);color:white;padding:30px 28px;display:flex;flex-direction:column;justify-content:center}.menu-intro h2{font-size:clamp(2.05rem,2.8vw,2.85rem);line-height:1.04;margin-bottom:18px;letter-spacing:-.035em;max-width:100%;overflow-wrap:normal;word-break:normal}.menu-intro p{color:#fff1e4;margin-top:0}.menu-intro .cta{align-self:flex-start;margin-top:10px}.menu-card{background:white;border:1px solid rgba(122,70,31,.12);box-shadow:0 22px 50px rgba(65,39,22,.11);transition:.25s transform}.menu-card:hover{transform:translateY(-6px)}.menu-card img{width:100%;height:210px;object-fit:cover;display:block}.menu-card div{padding:22px}.menu-card h3{font-size:1.36rem;margin:0 0 10px;line-height:1.18}.menu-card b{display:block;margin-top:14px;color:#9b5a2f;font-size:1.5rem}.qr-zone{margin-block:76px;background:linear-gradient(135deg,#4a2817,#b8733d);border-radius:34px;min-height:390px;padding:46px;display:grid;grid-template-columns:minmax(300px,.55fr) minmax(0,1fr);gap:48px;align-items:center;color:white;overflow:hidden}.qr-zone h2{font-size:clamp(3rem,5.2vw,5.5rem)}.qr-showcase{position:relative;min-height:310px;display:grid;place-items:center}.scan-rings,.scan-rings:before,.scan-rings:after{position:absolute;border:1px solid rgba(255,244,230,.28);border-radius:50%;content:""}.scan-rings{width:330px;height:150px;animation:spin 12s linear infinite}.scan-rings:before{inset:-28px 18px}.scan-rings:after{inset:18px -28px}.qr-phone{position:relative;z-index:2;width:230px;background:#fffaf3;color:#251912;border:12px solid #1d120c;border-radius:34px;padding:22px;text-align:center;box-shadow:0 34px 85px rgba(0,0,0,.28);transform:rotate(-3deg)}.qr-phone img{width:155px;display:block;margin:12px auto;border-radius:10px}.qr-notch{width:62px;height:6px;background:#26160e;border-radius:999px;margin:0 auto 16px}.qr-ticket{position:absolute;right:0;bottom:20px;z-index:3;background:rgba(255,255,255,.87);color:#331e12;border-radius:18px;padding:14px 16px;box-shadow:0 18px 45px rgba(0,0,0,.2)}.qr-ticket span{display:block;color:#765b4d;font-size:.85rem}.section-head{text-align:center}.gallery{padding:34px 0 84px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.15fr;gap:18px;margin-top:28px}.gallery-grid img,.gallery-grid article{height:230px;border-radius:26px;object-fit:cover;width:100%;box-shadow:0 18px 44px rgba(65,39,22,.11)}.gallery-grid article{background:#fff;padding:26px;display:flex;flex-direction:column;justify-content:center}.gallery-grid strong{font:700 1.35rem/1.35 'Playfair Display',serif}.gallery-grid span{margin-top:16px;color:#9c6239}footer{background:#21150f;color:#fffaf3;padding:46px min(6vw,70px);display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:24px;align-items:start}footer .brand-copy strong{color:#fffaf3}footer .brand-copy small{color:#d7c6b4}footer .brand{margin-bottom:16px}footer span,footer p{display:block;color:#d7c6b4}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;color:#cdb8a1}.modal{position:fixed;inset:0;background:rgba(24,12,6,.68);backdrop-filter:blur(10px);z-index:100;display:none;place-items:center;padding:22px}.modal.show{display:grid}.modal-card{width:min(720px,100%);max-height:88vh;overflow:auto;background:#fffaf3;border-radius:30px;padding:30px;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.35)}.close{position:absolute;right:18px;top:15px;border:0;background:#2b1a10;color:white;width:40px;height:40px;border-radius:50%;font-size:1.4rem}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.tabs button{border:1px solid rgba(122,70,31,.18);background:#fff;border-radius:999px;padding:10px 15px;font-weight:800}.tabs button.active{background:#9c6239;color:white}.modal-list{display:grid;gap:12px;margin-bottom:20px}.item{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px;border-radius:18px;background:white;border:1px solid rgba(122,70,31,.12)}.item small{color:#766050}@keyframes floaty{50%{transform:rotateY(-7deg) rotateX(3deg) translateY(-15px)}}@keyframes spin{to{rotate:360deg}}.reveal{opacity:1;transform:none;transition:.65s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1040px){nav{display:none}.hamb{display:block;border:0;background:#2b1a10;color:#fff;border-radius:14px;padding:11px 13px}.hero-grid,.qr-zone{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,1fr)}.menu-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr 1fr}.nav-cta{display:none}}@media(max-width:640px){.container,.nav-shell{width:min(100% - 28px,1180px)}.brand-mark{width:44px;height:44px}.brand-copy strong{font-size:.98rem}.brand-copy small{font-size:.58rem;letter-spacing:.22em}h1{font-size:3.05rem}.hero{min-height:720px}.hero-copy p:not(.eyebrow),.qr-zone p{font-size:1.02rem}.feature-grid,.menu-grid,.gallery-grid,footer{grid-template-columns:1fr}.qr-zone{padding:28px}.menu-card img{height:190px}}

/* cafe menu overlap final fix */
.menu-grid{grid-template-columns:minmax(320px,.95fr) repeat(3,minmax(0,1fr));}
.menu-intro h2{font-size:clamp(2rem,2.55vw,2.7rem)!important;line-height:1.03!important;overflow-wrap:normal;word-break:normal;}
@media(max-width:1040px){.menu-grid{grid-template-columns:1fr 1fr}.menu-intro{grid-column:1/-1}}
@media(max-width:640px){.menu-grid{grid-template-columns:1fr}.menu-intro h2{font-size:2.45rem!important}}
