@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--green:#162a20;--green2:#0e2118;--gold:#e5bd5f;--cream:#f8f4ea;--ink:#18251e;--muted:#6a756d;--line:#ded8cb;--white:#fff;--shadow:0 18px 45px rgba(22,42,32,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--cream);color:var(--ink)}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.container{width:min(1180px,calc(100% - 32px));margin:auto}.display{font-family:'Playfair Display',serif}.nav{position:sticky;top:0;z-index:30;background:rgba(22,42,32,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(229,189,95,.24)}.navin{height:78px;display:flex;align-items:center;gap:28px}.logo img{height:54px;width:auto}.links{display:flex;align-items:center;gap:25px;margin-left:auto}.links a{color:#f7f2e7;font-size:14px;font-weight:600}.links a:hover{color:var(--gold)}.order{background:var(--gold);color:var(--green)!important;padding:12px 16px;border-radius:8px;display:inline-flex;gap:8px;align-items:center}.langs{color:#fff;font-size:12px;white-space:nowrap}.menuBtn{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:28px}.mobile{display:none;padding:0 0 18px}.mobile a{display:block;color:#fff;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.hero{min-height:72vh;position:relative;display:flex;align-items:center;background:url('assets/hero-cooking.jpg') center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,33,24,.96),rgba(14,33,24,.67) 55%,rgba(14,33,24,.25))}.heroContent{position:relative;z-index:1;color:white;max-width:760px;padding:88px 0}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:700;font-size:12px}.hero h1{font:700 clamp(52px,7vw,92px)/.96 'Playfair Display';margin:16px 0 22px}.hero p{font-size:21px;color:#f2eadc;margin:0 0 28px}.actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 18px;border-radius:8px;font-weight:700;font-size:14px;border:1px solid transparent}.btn.gold{background:var(--gold);color:var(--green)}.btn.outline{border-color:rgba(255,255,255,.65);color:white;background:rgba(255,255,255,.05)}.btn.green{background:var(--green);color:white}.btn.ghost{border-color:var(--green);color:var(--green)}
.cards{padding:20px 0 42px;background:#fff}.cardgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.serviceCard{min-height:245px;position:relative;overflow:hidden;border-radius:13px;box-shadow:var(--shadow);color:white}.serviceCard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.45s}.serviceCard:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,33,24,.96),rgba(14,33,24,.15) 72%)}.serviceCard:hover img{transform:scale(1.05)}.serviceCard .inside{position:absolute;z-index:2;left:16px;right:16px;bottom:16px}.icon{font-size:25px;color:var(--gold)}.serviceCard h3{font:700 21px 'Playfair Display';margin:7px 0 4px}.serviceCard p{font-size:12px;opacity:.86;margin:0}
.section{padding:74px 0}.section.white{background:#fff}.section.muted{background:#f3eee3}.split{display:grid;grid-template-columns:.82fr 1.35fr;gap:52px;align-items:center}.section h2{font:700 clamp(38px,4.5vw,58px)/1.05 'Playfair Display';color:var(--green);margin:8px 0 18px}.lead{font-size:17px;color:var(--muted);line-height:1.7}.catgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.cat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;text-align:center;box-shadow:0 8px 25px rgba(22,42,32,.06);transition:.25s}.cat:hover{transform:translateY(-4px);border-color:var(--gold)}.cat .circle{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:#f5e6b8;font-size:27px}.cat strong{font-family:'Playfair Display';font-size:18px;color:var(--green)}
.takeSplit{display:grid;grid-template-columns:1fr 1fr}.takePanel{position:relative;min-height:490px;padding:58px;display:flex;align-items:center}.takePanel.photo{background:url('assets/gallery-takeaway-1.jpg') center/cover}.takePanel.photo:before{content:"";position:absolute;inset:0;background:rgba(14,33,24,.88)}.takePanel>*{position:relative;z-index:1}.takePanel.photo h2,.takePanel.photo p{color:white}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.step{font-size:13px;color:#eee}.step b{display:block;color:var(--gold);font-size:20px;margin-bottom:7px}.locations{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}.location{border:1px solid var(--line);border-radius:13px;padding:20px;background:white}.location h3{font:700 25px 'Playfair Display';color:var(--green);margin:6px 0 0}
.wood{position:relative;background:url('assets/wood-texture.jpg') center/cover;padding:76px 0;text-align:center;color:white}.wood:before{content:"";position:absolute;inset:0;background:rgba(14,33,24,.9)}.wood .container{position:relative;z-index:1}.wood h2{font:700 clamp(38px,5vw,60px) 'Playfair Display';color:var(--gold);margin:0 0 20px}.footer{background:#0d1b15;color:#d6ded8;padding:48px 0 20px}.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer img{height:60px}.footer h4{color:var(--gold);font-family:'Playfair Display';font-size:18px;margin:0 0 14px}.footer a,.footer p{color:#cbd4ce;font-size:14px;line-height:1.8}.copy{border-top:1px solid rgba(255,255,255,.1);margin-top:32px;padding-top:18px;font-size:12px;color:#89958d}
.pageHero{position:relative;padding:88px 0;background:var(--green);color:white;overflow:hidden}.pageHero.image{background-size:cover;background-position:center}.pageHero.image:before{content:"";position:absolute;inset:0;background:rgba(14,33,24,.83)}.pageHero .container{position:relative;z-index:1}.pageHero h1{font:700 clamp(48px,6vw,72px) 'Playfair Display';color:var(--gold);margin:10px 0}.pageHero p{font-size:19px;max-width:720px;color:#f0e8db}.contentGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 10px 30px rgba(22,42,32,.06)}.panel h3{font:700 27px 'Playfair Display';color:var(--green);margin:0 0 12px}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.process .panel{padding:22px}.number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--green);font-weight:800;margin-bottom:12px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery img{width:100%;height:260px;object-fit:cover;border-radius:14px}.menuTabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.menuTabs a{padding:10px 14px;border-radius:20px;background:#eee7d7;font-weight:700;font-size:13px}.menuTabs a:hover{background:var(--gold)}.menuSection{scroll-margin-top:100px;margin-top:38px}.menuSection h2{font-size:34px}.menuItems{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dish{background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.dishHead{display:flex;justify-content:space-between;gap:15px}.dish h4{font:700 18px 'Playfair Display';margin:0;color:var(--green)}.price{font-weight:800;color:#a97816}.dish p{font-size:13px;color:var(--muted);margin:7px 0 0}.badge{display:inline-block;font-size:10px;font-weight:800;border-radius:10px;padding:4px 8px;margin:8px 4px 0 0;background:#edf5eb;color:#356338}.contactForm{display:grid;gap:12px}.contactForm input,.contactForm textarea,.contactForm select{width:100%;border:1px solid var(--line);border-radius:9px;padding:13px;background:#fff;font:inherit}.contactForm textarea{min-height:150px}.notice{padding:15px;border-radius:10px;background:#fff5d7;color:#6e5518;font-size:13px}
@media(max-width:1050px){.cardgrid{grid-template-columns:repeat(3,1fr)}.split,.takeSplit{grid-template-columns:1fr}.catgrid{grid-template-columns:repeat(4,1fr)}.process{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.links,.langs{display:none}.menuBtn{display:block}.mobile.open{display:block}.heroContent{padding:72px 0}.hero{min-height:68vh}.cardgrid{grid-template-columns:repeat(2,1fr)}.serviceCard{min-height:220px}.split{gap:28px}.catgrid{grid-template-columns:repeat(2,1fr)}.takePanel{padding:38px 24px}.steps{grid-template-columns:1fr}.locations{grid-template-columns:1fr}.footgrid{grid-template-columns:1fr}.contentGrid,.menuItems{grid-template-columns:1fr}.process{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery img{height:220px}}@media(max-width:460px){.cardgrid{grid-template-columns:1fr 1fr}.serviceCard{min-height:205px}.serviceCard h3{font-size:19px}.hero h1{font-size:52px}.section{padding:58px 0}}

/* --- Dynamisme V2 --- */
.reveal-section,.reveal-item{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.75,.2,1)}
.reveal-section.is-visible,.reveal-item.is-visible{opacity:1;transform:none}
.reveal-item:nth-child(2){transition-delay:.06s}.reveal-item:nth-child(3){transition-delay:.12s}.reveal-item:nth-child(4){transition-delay:.18s}.reveal-item:nth-child(5){transition-delay:.24s}.reveal-item:nth-child(6){transition-delay:.30s}
.btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(22,42,32,.18)}
.order{transition:.25s}.order:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 9px 25px rgba(229,189,95,.28)}
.heroContent{animation:heroIn .9s cubic-bezier(.2,.75,.2,1) both}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 64% 45%,rgba(229,189,95,.12),transparent 34%);pointer-events:none;animation:heroGlow 5s ease-in-out infinite alternate}
@keyframes heroIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes heroGlow{from{opacity:.45}to{opacity:1}}
.serviceCard{transition:transform .3s ease,box-shadow .3s ease}.serviceCard:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(22,42,32,.22)}
.serviceCard:hover .inside{transform:translateY(-3px)}.serviceCard .inside{transition:.3s}
.cat{position:relative;overflow:hidden}.cat:before{content:"";position:absolute;inset:-100% 45% auto -40%;height:190%;background:linear-gradient(105deg,transparent,rgba(229,189,95,.22),transparent);transform:rotate(12deg);transition:.55s}.cat:hover:before{left:90%}
.cat .circle{transition:transform .3s ease}.cat:hover .circle{transform:rotate(-5deg) scale(1.08)}
.seasonal{border-color:rgba(229,189,95,.9);background:linear-gradient(145deg,#fffaf0,#fff)}.miniBadge{position:absolute;right:10px;top:10px;background:var(--green);color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.1em;padding:5px 7px;border-radius:999px}
.pulseCta{animation:pulseCta 2.7s ease-in-out infinite}@keyframes pulseCta{0%,100%{box-shadow:0 0 0 0 rgba(229,189,95,.25)}50%{box-shadow:0 0 0 10px rgba(229,189,95,0)}}
.menuTabs{position:sticky;top:88px;z-index:20;background:rgba(248,244,234,.94);backdrop-filter:blur(10px);padding:12px;border:1px solid rgba(222,216,203,.8);border-radius:14px;box-shadow:0 8px 26px rgba(22,42,32,.08)}
.menuTabs a{transition:.2s}.menuTabs a:hover,.menuTabs a:focus{background:var(--green);color:#fff;transform:translateY(-1px)}
.seasonTab{background:#fff2c9!important;color:#795811!important;border-color:#e5bd5f!important}
.winterMenu{position:relative;padding:34px;border-radius:20px;background:linear-gradient(145deg,#fff9eb,#f7efe0);border:1px solid #ead8a8;overflow:hidden}
.winterMenu:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-110px;background:radial-gradient(circle,rgba(229,189,95,.28),transparent 70%);pointer-events:none}
.menuTitleRow{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.menuIntro{max-width:720px;margin-top:0}.winterMark{position:relative;z-index:1;border:1px solid var(--gold);color:var(--green);background:#fff;padding:10px 13px;border-radius:999px;font-weight:800;letter-spacing:.18em;font-size:11px}
.dish{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.dish:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(22,42,32,.12);border-color:#d7bd78}
.dish.featured{position:relative;background:linear-gradient(160deg,#fff,#fffaf0);min-height:245px}.dishIcon{font-size:28px;margin-bottom:12px}
.formHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.liveBadge{font-size:11px;font-weight:700;background:#e7f4e7;color:#2f6b38;padding:7px 10px;border-radius:999px;white-space:nowrap}
.contactForm label{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--green)}.formTwo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contactForm input:focus,.contactForm textarea:focus,.contactForm select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(229,189,95,.16)}
.submitBtn{width:100%;justify-content:space-between;padding:15px 18px;cursor:pointer}.submitBtn[disabled]{opacity:.65;cursor:wait}.sendArrow{font-size:20px;transition:.25s}.submitBtn:hover .sendArrow{transform:translateX(4px)}
.formSuccess,.formError{padding:13px 14px;border-radius:10px;font-size:13px}.formSuccess{background:#e8f5e9;color:#285b2f}.formError{background:#fff0ee;color:#8e2e26}
.contactPoints{display:grid;gap:10px;margin:24px 0}.contactPoints div{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.contactPoints b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--gold);font-size:10px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal-section,.reveal-item,.heroContent,.pulseCta,.hero:after{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}
@media(max-width:780px){.menuTabs{top:72px;overflow:auto;white-space:nowrap;display:flex}.formTwo{grid-template-columns:1fr}.formHead{display:block}.liveBadge{display:inline-block;margin-top:10px}.winterMenu{padding:24px 16px}.menuTitleRow{display:block}.winterMark{display:inline-block;margin-bottom:12px}}

.floatingOrder{display:none}
@media(max-width:780px){
  body{padding-bottom:70px}
  .floatingOrder{display:flex;position:fixed;left:16px;right:16px;bottom:14px;z-index:80;align-items:center;justify-content:center;background:var(--gold);color:var(--green);font-weight:800;border-radius:12px;padding:14px 18px;box-shadow:0 14px 34px rgba(14,33,24,.28)}
}

/* Signature dish */
.signatureFeature{padding:74px 0;background:linear-gradient(135deg,#071f17 0%,#0e3023 55%,#14251d 100%);color:#fff;overflow:hidden}
.signatureGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.signatureImageWrap{position:relative;border-radius:28px;overflow:hidden;min-height:520px;box-shadow:0 28px 70px rgba(0,0,0,.35)}
.signatureImageWrap img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center 64%;display:block;transform:scale(1.02);transition:transform .8s ease}
.signatureImageWrap:hover img{transform:scale(1.07)}
.signatureSeal{position:absolute;top:22px;left:22px;background:rgba(8,28,21,.9);border:1px solid rgba(224,179,92,.85);color:#e0b35c;padding:14px 17px;border-radius:18px;font-size:11px;letter-spacing:.18em;line-height:1.2;backdrop-filter:blur(8px)}
.signatureSeal strong{font-size:13px;color:#fff;letter-spacing:.08em}
.signatureCopy h2{font-size:clamp(38px,5vw,66px);margin:8px 0 4px;line-height:1.02}
.signatureThai,.thaiName{font-size:23px;color:#e0b35c;margin:4px 0 16px;letter-spacing:.03em}
.signatureCopy .lead{font-size:22px;color:#fff;max-width:650px}
.signatureCopy p:not(.lead):not(.signatureThai){color:rgba(255,255,255,.76);max-width:650px}
.signatureCat{border:1px solid rgba(191,139,48,.35);background:linear-gradient(180deg,#fff9ea,#fff)}
.signatureTab{background:#d5aa56!important;color:#0b261c!important;font-weight:800!important}
.signatureMenu{background:linear-gradient(135deg,#081f17,#0f3224);border-radius:30px;padding:28px;color:#fff;margin-bottom:46px;scroll-margin-top:115px}
.signatureMenuGrid{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;gap:38px;align-items:center}
.signatureMenuImage{border-radius:22px;overflow:hidden;min-height:440px}
.signatureMenuImage img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:center 64%;display:block;transition:transform .7s ease}
.signatureMenuImage:hover img{transform:scale(1.05)}
.signatureMenuCopy h2{font-size:clamp(34px,4vw,56px);margin:8px 0}
.signatureMenuCopy .lead{color:#fff}
.signatureMenuCopy p{color:rgba(255,255,255,.78)}
.signatureTags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.goldBadge{background:#d5aa56!important;color:#10271f!important;border-color:#d5aa56!important}
@media(max-width:820px){.signatureGrid,.signatureMenuGrid{grid-template-columns:1fr}.signatureImageWrap,.signatureImageWrap img{min-height:360px}.signatureMenuImage,.signatureMenuImage img{min-height:340px}.signatureFeature{padding:46px 0}}

/* ThaiExpress preorder + loyalty */
.scheduleGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.scheduleCard{background:var(--cream,#f7f1e7);border:1px solid rgba(22,42,32,.12);border-radius:22px;padding:24px;box-shadow:0 16px 40px rgba(22,42,32,.07);transition:transform .25s ease,box-shadow .25s ease}.scheduleCard:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(22,42,32,.12)}.scheduleTime{display:inline-flex;background:#162a20;color:#e8c772;padding:7px 12px;border-radius:999px;font-weight:800;letter-spacing:.04em;margin-bottom:12px}.scheduleCard h3{margin:2px 0 8px}.loyaltyBox{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch;background:linear-gradient(135deg,#13271e,#1e3b2c);color:white;border-radius:28px;padding:30px;box-shadow:0 20px 55px rgba(18,39,30,.18);overflow:hidden}.loyaltyIntro h2{color:#fff;margin-top:6px}.loyaltyIntro p{color:rgba(255,255,255,.8);max-width:640px}.loyaltyRules{display:grid;gap:12px}.loyaltyRule{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:15px 17px;transition:transform .25s ease,background .25s ease}.loyaltyRule:hover{transform:translateX(6px);background:rgba(255,255,255,.12)}.loyaltyRule>b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#d8b35d;color:#162a20;font-size:20px}.loyaltyRule span{display:flex;flex-direction:column}.loyaltyRule strong{color:#fff}.loyaltyRule small{color:#e8c772;font-weight:800;margin-top:3px}@media(max-width:800px){.scheduleGrid,.loyaltyBox{grid-template-columns:1fr}.loyaltyBox{padding:22px}.scheduleCard{padding:20px}}

/* Signature n°3 & loyalty v2 */
.signatureNoPhoto{background:radial-gradient(circle at 30% 20%,rgba(214,165,74,.28),transparent 32%),linear-gradient(145deg,#163629,#0b1e17 70%);min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;position:relative;color:#fff;overflow:hidden}
.signatureNoPhoto:after{content:"";position:absolute;inset:14px;border:1px solid rgba(214,165,74,.38);border-radius:inherit;pointer-events:none}
.signatureBowl{font-size:86px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.3));animation:floatBowl 3.8s ease-in-out infinite}
.signatureDishNumber{font-family:var(--display);font-size:22px;letter-spacing:.18em;color:var(--gold);font-weight:800}
.signaturePrice{font-family:var(--display);font-size:30px;font-weight:800;color:var(--gold)}
.signaturePriceLine{margin:18px 0;max-width:240px}
.loyaltyReward{grid-column:1/-1;background:linear-gradient(135deg,rgba(214,165,74,.19),rgba(214,165,74,.06));border:1px solid rgba(214,165,74,.45);border-radius:14px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.loyaltyReward strong{color:var(--gold);font-size:18px}.loyaltyReward span{font-weight:700}
.loyaltyRewardHero{display:flex;align-items:center;gap:14px;margin:20px 0;padding:16px;border-radius:14px;background:rgba(214,165,74,.12);border:1px solid rgba(214,165,74,.32)}
.loyaltyRewardHero>span{font-size:32px}.loyaltyRewardHero strong{display:block;font-size:18px;color:var(--gold)}.loyaltyRewardHero small{display:block;margin-top:4px;color:inherit;opacity:.75}
.loyaltyFootnote{grid-column:1/-1;font-size:12px;line-height:1.5;opacity:.72;padding-top:4px}
@keyframes floatBowl{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Signature carousel v3 */
.signatureShowcase{padding:86px 0;background:linear-gradient(135deg,#071a13 0%,#0d2a1f 56%,#132f23 100%);color:#fff;overflow:hidden;position:relative}
.signatureShowcase:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(229,189,95,.16),transparent 68%);right:-120px;top:-160px;pointer-events:none}
.signatureShowcaseHead{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:30px;position:relative;z-index:2}.signatureShowcaseHead h2{font:700 clamp(34px,4.5vw,62px)/1.02 'Playfair Display';margin:8px 0 12px;max-width:760px}.signatureShowcaseHead .lead{max-width:720px;color:rgba(255,255,255,.72);margin:0}.signatureControls{display:flex;gap:10px}.signatureArrow{width:52px;height:52px;border-radius:50%;border:1px solid rgba(229,189,95,.5);background:rgba(255,255,255,.05);color:#fff;font-size:22px;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease}.signatureArrow:hover{background:var(--gold);color:var(--green);transform:scale(1.06)}
.signatureCarousel{overflow:hidden;border-radius:30px;touch-action:pan-y;box-shadow:0 30px 80px rgba(0,0,0,.25)}.signatureTrack{display:flex;transition:transform .78s cubic-bezier(.22,.72,.24,1);will-change:transform}.signatureSlide{min-width:100%;display:grid;grid-template-columns:1.08fr .92fr;min-height:570px;background:#0d241b}.signatureSlideImage{position:relative;overflow:hidden}.signatureSlideImage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 58%,rgba(13,36,27,.28))}.signatureSlideImage img{width:100%;height:100%;object-fit:cover;min-height:570px;transform:scale(1.035);transition:transform 6s ease}.signatureSlide.is-active .signatureSlideImage img{transform:scale(1.095)}.signatureChip{position:absolute;z-index:2;top:22px;left:22px;padding:10px 14px;border-radius:999px;background:rgba(8,26,19,.83);backdrop-filter:blur(9px);border:1px solid rgba(229,189,95,.58);color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.signatureSlidePrice{position:absolute;z-index:2;right:22px;bottom:22px;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--green);font:700 22px 'Playfair Display';box-shadow:0 12px 30px rgba(0,0,0,.25)}
.signatureSlideCopy{padding:54px 50px;display:flex;flex-direction:column;justify-content:center;position:relative}.signatureIndex{font:700 76px/1 'Playfair Display';color:rgba(229,189,95,.15);position:absolute;right:34px;top:28px}.signatureSlideCopy h3{font:700 clamp(38px,4.8vw,67px)/1 'Playfair Display';margin:4px 0 16px;max-width:620px}.signatureSub{color:var(--gold);font-size:19px;line-height:1.45;font-weight:700;max-width:570px}.signatureSlideCopy>p:not(.signatureSub){color:rgba(255,255,255,.72);line-height:1.72;max-width:570px}.signatureSlideActions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.signatureLogin{border-color:rgba(255,255,255,.3);color:#fff;background:transparent}.signatureLogin:hover{border-color:var(--gold);color:var(--gold)}.signatureDots{display:flex;justify-content:center;gap:8px;margin-top:18px}.signatureDots button{width:9px;height:9px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.28);cursor:pointer;transition:.35s}.signatureDots button.is-active{width:30px;background:var(--gold)}
/* livelier service/menu presentation */
.serviceCard{position:relative;isolation:isolate}.serviceCard:after{content:"Découvrir →";position:absolute;left:18px;bottom:18px;z-index:3;color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em;opacity:0;transform:translateY(8px);transition:.3s}.serviceCard:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 35%,rgba(7,26,19,.82));opacity:.25;transition:.35s}.serviceCard:hover:before{opacity:.7}.serviceCard:hover:after{opacity:1;transform:none}.serviceCard:hover img{transform:scale(1.08) rotate(.25deg)}.serviceCard img{transition:transform .65s cubic-bezier(.22,.72,.24,1)}.cat{overflow:hidden}.cat:after{content:"";position:absolute;inset:auto -25% -70% -25%;height:90%;border-radius:50%;background:radial-gradient(circle,rgba(229,189,95,.22),transparent 66%);transform:scale(.7);opacity:0;transition:.35s}.cat:hover:after{opacity:1;transform:scale(1)}.cat:hover .circle{transform:translateY(-5px) rotate(-4deg) scale(1.08)}.cat .circle{transition:.35s cubic-bezier(.22,.72,.24,1)}
@media(max-width:820px){.signatureShowcase{padding:58px 0}.signatureShowcaseHead{display:block}.signatureControls{margin-top:18px}.signatureSlide{grid-template-columns:1fr;min-height:0}.signatureSlideImage img{min-height:410px}.signatureSlideImage{min-height:410px}.signatureSlideCopy{padding:34px 24px 38px}.signatureIndex{font-size:54px;top:20px;right:20px}.signatureSlideCopy h3{font-size:40px;max-width:80%}.signatureSub{font-size:17px}.signatureCarousel{border-radius:22px}.signatureChip{top:16px;left:16px;max-width:calc(100% - 32px)}.signatureSlidePrice{width:68px;height:68px;right:16px;bottom:16px}}
@media(max-width:520px){.signatureSlideImage,.signatureSlideImage img{min-height:340px}.signatureSlideCopy h3{font-size:34px}.signatureArrow{width:46px;height:46px}.signatureShowcaseHead h2{font-size:38px}}
.signatureMenuHeader{margin-bottom:24px}.signatureMenuHeader h2{font:700 clamp(32px,4vw,52px)/1.04 'Playfair Display';margin:8px 0}.signatureDuoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.signatureDishCard{background:#10291f;border:1px solid rgba(229,189,95,.22);border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.18);transition:transform .4s cubic-bezier(.22,.72,.24,1),box-shadow .4s ease}.signatureDishCard:hover{transform:translateY(-7px);box-shadow:0 28px 60px rgba(0,0,0,.26)}.signatureDishPhoto{position:relative;min-height:350px;overflow:hidden}.signatureDishPhoto img{width:100%;height:100%;min-height:350px;object-fit:cover;transition:transform .8s cubic-bezier(.22,.72,.24,1)}.signatureDishCard:hover img{transform:scale(1.06)}.signatureDishBody{padding:24px}.signatureDishBody h3{font:700 clamp(28px,3vw,40px)/1.05 'Playfair Display';margin:0 0 10px}.signatureDishBody>p:not(.signatureSub){color:rgba(255,255,255,.75);line-height:1.65}.signatureDishBody .signatureSub{color:var(--gold);font-weight:700;line-height:1.45}.signatureDishBody .btn{margin-top:8px}@media(max-width:760px){.signatureDuoGrid{grid-template-columns:1fr}.signatureDishPhoto,.signatureDishPhoto img{min-height:300px}}


/* Responsive hardening — ThaiExpress mobile v4 */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%;height:auto}
.container{width:min(100% - 28px,1180px);margin-inline:auto}
.signatureControlsLabeled{align-items:center}.signatureArrow.labeled{width:auto;min-width:108px;height:50px;border-radius:999px;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:8px}.signatureArrow.labeled small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.signatureArrow.labeled span{font-size:22px}
.menuSignatureStage{display:grid;grid-template-columns:110px minmax(0,1fr) 110px;align-items:center;gap:18px}.menuSideArrow{border:1px solid rgba(229,189,95,.5);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;height:52px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.3s ease}.menuSideArrow:hover{background:var(--gold);color:var(--green);transform:scale(1.04)}.menuSideArrow span{font-size:24px}.menuSideArrow small{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:10px}.menuSignatureCarousel{min-width:0}.menuSignatureSlide{min-height:520px}.menuSignatureSlide .signatureSlideImage img{min-height:520px}.menuSignatureDots{margin-bottom:4px}
@media(max-width:900px){
  .container{width:min(100% - 24px,1180px)}
  .signatureShowcase{padding:52px 0}
  .signatureShowcaseHead{margin-bottom:20px}
  .signatureControlsLabeled{display:flex;width:100%;justify-content:space-between}
  .signatureArrow.labeled{min-width:104px}
  .signatureCarousel{width:100%;max-width:100%;border-radius:22px}
  .signatureSlide{grid-template-columns:1fr;min-height:0}
  .signatureSlideImage{height:clamp(300px,54svh,470px);min-height:0}
  .signatureSlideImage img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
  .signatureSlideCopy{padding:28px 22px 32px;min-width:0}
  .signatureSlideCopy h3{font-size:clamp(31px,8vw,42px);max-width:calc(100% - 40px);overflow-wrap:anywhere}
  .signatureSub{font-size:16px}
  .signatureIndex{font-size:48px}
  .signatureSlideActions{display:grid;grid-template-columns:1fr;gap:10px}
  .signatureSlideActions .btn{width:100%;justify-content:center;text-align:center}
  .signatureChip{max-width:calc(100% - 32px);white-space:normal;line-height:1.25}
  .menuSignatureStage{grid-template-columns:1fr;gap:12px;position:relative}
  .menuSideArrow{position:absolute;z-index:8;top:clamp(125px,25svh,200px);width:48px;height:48px;padding:0;border-radius:50%;background:rgba(7,26,19,.82);backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(0,0,0,.25)}
  .menuSideArrow small{display:none}.menuSideArrow.left{left:10px}.menuSideArrow.right{right:10px}
  .menuSignatureCarousel{width:100%;border-radius:22px}
  .menuSignatureSlide{min-height:0}
  .menuSignatureSlide .signatureSlideImage{height:clamp(320px,58svh,500px);min-height:0}
  .menuSignatureSlide .signatureSlideImage img{height:100%;min-height:0;object-fit:cover}
}
@media(max-width:600px){
  .container{width:min(100% - 18px,1180px)}
  .heroContent h1{font-size:clamp(38px,12vw,58px)}
  .actions{display:grid;grid-template-columns:1fr;gap:10px}.actions .btn{width:100%;justify-content:center;text-align:center}
  .signatureShowcaseHead h2{font-size:clamp(32px,10vw,42px)}
  .signatureShowcaseHead .lead{font-size:15px}
  .signatureControlsLabeled{gap:8px}.signatureArrow.labeled{min-width:0;flex:1;padding-inline:12px}
  .signatureSlideImage{height:clamp(290px,50svh,390px)}
  .signatureSlideCopy{padding:24px 18px 28px}.signatureSlideCopy h3{font-size:clamp(28px,9vw,36px);max-width:100%;padding-right:36px}
  .signatureIndex{font-size:42px;right:14px;top:16px}.signatureSlidePrice{width:62px;height:62px;font-size:19px;right:12px;bottom:12px}.signatureChip{left:12px;top:12px;font-size:9.5px}
  .menuSignatureSlide .signatureSlideImage{height:clamp(290px,52svh,420px)}
  .menuSection.signatureMenu{padding:14px;border-radius:20px}
  .menuSignatureStage{margin-inline:-2px}
  .menuSideArrow{top:clamp(120px,24svh,170px);width:44px;height:44px}.menuSideArrow.left{left:7px}.menuSideArrow.right{right:7px}
  .menuSideArrow span{font-size:22px}
}
@media(max-width:380px){
  .container{width:min(100% - 14px,1180px)}
  .signatureSlideImage{height:285px}.menuSignatureSlide .signatureSlideImage{height:290px}
  .signatureSlideCopy{padding-inline:15px}.signatureSlideCopy h3{font-size:29px}
  .signatureArrow.labeled{font-size:12px}.signatureArrow.labeled small{font-size:9px}
}

/* Account / payment readiness */
.accountHero,.paymentReady{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:28px;align-items:center;padding:30px;border-radius:28px;background:linear-gradient(135deg,#102c24,#18483a);color:#fff;overflow:hidden}.pointsCard{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:26px;text-align:center}.pointsCard strong{display:block;font-size:clamp(3rem,10vw,5.5rem);line-height:1}.pointsCard small,.muted{opacity:.72}.pointsLabel{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;opacity:.7}.stampRow{margin-top:18px;letter-spacing:.2em;font-size:1.4rem;color:#e9c66b}.accountGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px}.redeemForm{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.redeemForm input{flex:1;min-width:190px;padding:14px 16px;border-radius:14px;border:1px solid #d9d9d2;font:inherit}.paymentReady{grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr)}.paymentFlow{display:grid;grid-template-columns:1fr;gap:9px}.paymentFlow span{display:block;padding:13px 16px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);font-weight:700}
@media(max-width:760px){.accountHero,.paymentReady,.accountGrid{grid-template-columns:1fr}.accountHero,.paymentReady{padding:22px;border-radius:22px}.pointsCard{padding:20px}.redeemForm{display:grid;grid-template-columns:1fr}.redeemForm input{min-width:0;width:100%}}

/* Editorial production refresh */
.editorialHero{min-height:72vh;display:grid;grid-template-columns:1.12fr .88fr;background:var(--green);color:#fff}.editorialHeroMedia{min-height:520px;background-size:cover;background-position:center}.editorialHeroCopy{display:flex;flex-direction:column;justify-content:center;padding:clamp(42px,7vw,96px);background:linear-gradient(145deg,var(--green2),var(--green))}.editorialHeroCopy h1{font:700 clamp(42px,5vw,72px)/1.02 'Playfair Display';color:var(--gold);margin:12px 0 20px}.editorialHeroCopy p{font-size:18px;line-height:1.7;color:#f2eadc;max-width:620px}.editorialHeroCopy .btn{align-self:flex-start;margin-top:14px}.serviceStories{display:grid;gap:38px}.serviceStory{display:grid;grid-template-columns:1.1fr .9fr;min-height:420px;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);transition:transform .45s ease,box-shadow .45s ease}.serviceStory.reverse{grid-template-columns:.9fr 1.1fr}.serviceStory.reverse img{order:2}.serviceStory:hover{transform:translateY(-7px)}.serviceStory img{width:100%;height:100%;min-height:420px;object-fit:cover}.serviceStory>div{padding:clamp(32px,5vw,72px);display:flex;flex-direction:column;justify-content:center}.serviceStory span{color:#a97816;font-weight:800;letter-spacing:.12em}.serviceStory h2{font:700 clamp(34px,4vw,54px) 'Playfair Display';margin:10px 0;color:var(--green)}.serviceStory p{font-size:17px;line-height:1.7;color:var(--muted)}.serviceStory b{margin-top:15px;color:#a97816}.storyBand{padding:90px 0;background:#eee7d7}.storyBand.dark{background:var(--green);color:#fff}.storyBandGrid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.storyBandGrid img{width:100%;height:min(520px,62vw);object-fit:cover;border-radius:28px}.storyBandGrid h2{font:700 clamp(38px,4vw,58px)/1.05 'Playfair Display';margin:10px 0 18px;color:var(--green)}.storyBand.dark h2{color:var(--gold)}.storyBandGrid p{font-size:18px;line-height:1.75;max-width:600px}.featureLine{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:24px;overflow:hidden}.featureLine>div{background:#fff;padding:36px;display:flex;gap:20px;align-items:flex-start}.featureLine>div>strong{font:700 34px 'Playfair Display';color:var(--gold)}.featureLine span{display:grid;gap:6px}.featureLine b{font-size:18px;color:var(--green)}.featureLine small{font-size:14px;line-height:1.6;color:var(--muted)}.photoTriptych{display:grid;grid-template-columns:1.25fr .75fr 1fr;gap:16px}.photoTriptych img{width:100%;height:460px;object-fit:cover;border-radius:22px}.restaurantRows{display:grid;gap:18px}.restaurantRows article{background:#fff;border-radius:24px;padding:34px 38px;display:flex;justify-content:space-between;gap:30px;align-items:center;box-shadow:0 14px 36px rgba(22,42,32,.08)}.restaurantRows article>div:first-child span{font-size:12px;font-weight:800;color:#a97816;letter-spacing:.14em}.restaurantRows h2{font:700 clamp(27px,3vw,40px) 'Playfair Display';color:var(--green);margin:8px 0}.contactDirect{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contactDirect a{background:#fff;padding:34px;border-radius:22px;display:grid;gap:10px;box-shadow:0 12px 30px rgba(22,42,32,.08);transition:transform .3s ease}.contactDirect a:hover{transform:translateY(-5px)}.contactDirect span{font-size:12px;color:#a97816;font-weight:800;letter-spacing:.12em}.contactDirect strong{font-size:20px;color:var(--green);overflow-wrap:anywhere}.contactDirect small{color:var(--muted)}
@media(max-width:820px){.editorialHero{grid-template-columns:1fr;min-height:auto}.editorialHeroMedia{min-height:48vh}.editorialHeroCopy{padding:34px 22px 42px}.serviceStory,.serviceStory.reverse{grid-template-columns:1fr}.serviceStory.reverse img{order:0}.serviceStory img{min-height:280px;height:48vh}.storyBand{padding:58px 0}.storyBandGrid{grid-template-columns:1fr;gap:28px}.storyBandGrid img{height:50vh;min-height:300px}.featureLine{grid-template-columns:1fr}.photoTriptych{grid-template-columns:1fr}.photoTriptych img{height:48vh;min-height:280px}.restaurantRows article{display:grid;padding:26px}.contactDirect{grid-template-columns:1fr}}

/* Contrast lock v12 — never dark-green text on dark ThaiExpress surfaces */
.signatureShowcase h2,
.signatureShowcase h3,
.signatureMenu h2,
.signatureMenu h3,
.signatureMenuHeader h2,
.signatureSlideCopy h3,
.signatureDishBody h3,
.signatureFeature h2,
.signatureFeature h3,
.loyaltyBox h2,
.loyaltyBox h3,
.paymentReady h2,
.paymentReady h3,
.storyBand.dark h2,
.storyBand.dark h3,
.takePanel.photo h2,
.takePanel.photo h3,
.pageHero h1,
.editorialHeroCopy h1 { color:#fff !important; }

.signatureShowcase .eyebrow,
.signatureMenu .eyebrow,
.signatureFeature .eyebrow,
.paymentReady .eyebrow,
.pageHero .eyebrow,
.editorialHeroCopy .eyebrow { color:var(--gold) !important; }

.signatureSub,
.signatureThai,
.signatureMenu .signatureSub { color:var(--gold) !important; }

.signatureSlideCopy > p:not(.signatureSub),
.signatureMenu p,
.signatureFeature p,
.paymentReady p { color:rgba(255,255,255,.82) !important; }

/* Keep light surfaces readable */
.section:not(.dark) .restaurantRows h2,
.serviceStory h2,
.storyBand:not(.dark) h2 { color:var(--green) !important; }

/* Signature mobile tightening */
@media(max-width:820px){
  .signatureMenu{padding:22px 16px;border-radius:22px}
  .signatureMenuHeader{margin-bottom:18px}
  .signatureMenuHeader h2{font-size:clamp(30px,9vw,40px)!important}
  .menuSignatureStage{grid-template-columns:1fr;gap:12px}
  .menuSideArrow{position:absolute;z-index:8;width:46px;min-width:46px;height:46px;padding:0;border-radius:50%;background:rgba(7,26,19,.78);backdrop-filter:blur(7px)}
  .menuSignatureStage{position:relative}
  .menuSideArrow.left{left:8px;top:175px}
  .menuSideArrow.right{right:8px;top:175px}
  .menuSideArrow small{display:none}
  .menuSideArrow span{font-size:25px}
  .menuSignatureSlide .signatureSlideCopy{padding:24px 18px 28px}
  .menuSignatureSlide .signatureSlideCopy h3{font-size:clamp(31px,8.5vw,40px)!important;line-height:1.04;max-width:100%;padding-right:0}
  .menuSignatureSlide .signatureSub{font-size:16px}
  .menuSignatureSlide .signatureSlideImage,
  .menuSignatureSlide .signatureSlideImage img{min-height:330px}
}
@media(max-width:430px){
  .menuSideArrow.left,.menuSideArrow.right{top:150px}
  .menuSignatureSlide .signatureSlideImage,
  .menuSignatureSlide .signatureSlideImage img{min-height:290px}
  .signatureMenuHeader h2{font-size:32px!important}
}

/* Culinary experience booking campaign v13 */
.experienceHero .editorialHeroCopy h1{color:#fff!important}.experiencePrice{display:flex;align-items:baseline;gap:10px;margin:18px 0 4px}.experiencePrice strong{font:800 clamp(42px,5vw,64px)/1 'Playfair Display';color:var(--gold)}.experiencePrice span{color:#f0e6d2;font-weight:700}.promoRibbon{background:var(--gold);color:var(--green);padding:18px 0}.promoRibbon .container{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.promoRibbon span{font-size:11px;letter-spacing:.18em;font-weight:900}.promoRibbon strong{font-size:18px}.promoRibbon small{opacity:.75}.audiencePills{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.audiencePills span{background:#fff;border:1px solid rgba(19,58,44,.12);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:800;color:var(--green)}.experienceBooking{background:#f3eee4}.experienceBooking .sectionHead{align-items:flex-end}.confirmLegend{display:flex;align-items:center;gap:12px;background:var(--green);color:#fff;border-radius:20px;padding:16px 20px}.confirmLegend b{font:800 34px 'Playfair Display';color:var(--gold)}.confirmLegend span{font-size:12px;line-height:1.25}.weekendGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.weekendCard{background:#fff;border-radius:24px;padding:24px;box-shadow:0 12px 32px rgba(20,49,39,.08);border:1px solid rgba(19,58,44,.08)}.weekendTop,.weekendFoot{display:flex;align-items:center;justify-content:space-between;gap:14px}.weekendTop>span{font-size:11px;font-weight:900;letter-spacing:.16em;color:#a97816}.bookingGauge{display:flex;align-items:baseline;gap:4px}.bookingGauge b{font-size:22px;color:var(--green)}.bookingGauge small{color:var(--muted)}.dateChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.experienceDate{border:1px solid rgba(19,58,44,.13);background:#faf7f0;border-radius:18px;padding:16px;text-align:left;cursor:pointer;transition:.3s}.experienceDate:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 10px 24px rgba(20,49,39,.09)}.experienceDate span,.experienceDate small{display:block;font-size:11px;color:var(--muted)}.experienceDate strong{display:block;font-size:17px;color:var(--green);margin:3px 0}.weekendFoot{border-top:1px solid rgba(19,58,44,.08);padding-top:15px}.weekendFoot span{font-size:12px;color:var(--muted)}.weekendFoot b{color:var(--green)}.experienceNotice{margin-top:22px;background:var(--green);color:#fff;border-radius:22px;padding:22px 26px;display:flex;gap:16px;align-items:flex-start}.experienceNotice strong{color:var(--gold);white-space:nowrap}.experienceCTA>.container{display:flex;align-items:center;justify-content:space-between;gap:30px}.experienceCTA h2{color:#fff!important}.experienceCTA p{color:rgba(255,255,255,.8)}.onlineOnlyCard{background:linear-gradient(145deg,#fff,#f3ead7)!important}
@media(max-width:820px){.weekendGrid{grid-template-columns:1fr}.experienceBooking .sectionHead{align-items:flex-start}.confirmLegend{width:100%;justify-content:center}.dateChoices{grid-template-columns:1fr 1fr}.weekendCard{padding:18px}.weekendFoot{align-items:flex-start;flex-direction:column}.experienceNotice{display:grid}.experienceNotice strong{white-space:normal}.experienceCTA>.container{display:grid}.promoRibbon .container{justify-content:flex-start}.experiencePrice strong{font-size:44px}}
@media(max-width:420px){.dateChoices{grid-template-columns:1fr}.experienceDate{padding:14px}.weekendTop{align-items:flex-start}.bookingGauge{flex-direction:column;align-items:flex-end}}

/* v14 loyalty QR + cashier */
.qrClientCard{text-align:center}.clientQrPlaceholder{width:min(240px,70vw);aspect-ratio:1;margin:18px auto;padding:18px;border-radius:28px;background:#fff;color:#102f24;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 18px 45px rgba(0,0,0,.12)}.qrGrid{width:145px;height:145px;border-radius:12px;background:repeating-conic-gradient(#102f24 0 25%,#fff 0 50%) 50%/28px 28px;border:12px solid #fff;box-shadow:0 0 0 3px #102f24;margin-bottom:14px}.staffPage{background:#f2efe7}.cashierShell{width:min(760px,100%);margin:0 auto;padding:20px 16px 40px}.cashierHeader{display:flex;align-items:center;gap:14px;margin-bottom:18px}.cashierHeader img{width:64px;height:64px;object-fit:contain;background:#0f3326;border-radius:18px;padding:8px}.cashierHeader h1{font-size:clamp(24px,6vw,38px);margin:2px 0;color:#123a2c}.cashierLocation{margin-left:auto;background:#e8dfc3;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;color:#604b17}.cashierScanner,.cashierCustomer{padding:18px;border-radius:26px;margin-bottom:16px}.scannerFrame{position:relative;aspect-ratio:4/3;background:#0b2019;border-radius:22px;overflow:hidden;display:grid;place-items:center}.scannerFrame video{width:100%;height:100%;object-fit:cover;display:none}.scannerFallback{color:white;text-align:center;display:flex;flex-direction:column;gap:7px;font-size:28px}.scannerFallback strong{font-size:18px}.scannerFallback small{font-size:13px;opacity:.7}.scannerGuide{position:absolute;inset:18%;pointer-events:none}.scannerGuide span{position:absolute;width:34px;height:34px;border-color:#d7b55b;border-style:solid}.scannerGuide span:nth-child(1){left:0;top:0;border-width:4px 0 0 4px}.scannerGuide span:nth-child(2){right:0;top:0;border-width:4px 4px 0 0}.scannerGuide span:nth-child(3){left:0;bottom:0;border-width:0 0 4px 4px}.scannerGuide span:nth-child(4){right:0;bottom:0;border-width:0 4px 4px 0}.cashierScanBtn{width:100%;margin-top:14px}.cashierCustomerTop{display:flex;align-items:center;justify-content:space-between;gap:15px}.cashierCustomerTop h2{margin:4px 0;color:#123a2c}.cashierBalance{text-align:center;background:#123a2c;color:white;border-radius:20px;padding:12px 18px;min-width:92px}.cashierBalance strong{font-size:30px;display:block;color:#e6c36c}.cashierBalance span{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.cashierPointsPicker{display:flex;align-items:center;justify-content:center;gap:24px;margin:24px 0 18px}.cashierPointsPicker>div{text-align:center}.cashierPointsPicker span{display:block;font-size:12px;color:#6d6d65;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.cashierPointsPicker strong{font-size:54px;color:#123a2c;line-height:1}.pointStep{width:68px;height:68px;border:0;border-radius:50%;font-size:38px;background:#123a2c;color:white;box-shadow:0 12px 24px rgba(18,58,44,.22);cursor:pointer}.pointStep:active{transform:scale(.95)}.cashierValidate{width:100%;font-size:18px;padding:16px}.cashierValidate:disabled{opacity:.45;cursor:not-allowed}.cashierRule{margin-top:16px;padding:16px;background:#f7f2e6;border-radius:18px;border:1px solid #e5d9bc}.cashierRule strong{color:#123a2c}.cashierRule p{font-weight:800;color:#123a2c;line-height:1.6;margin:8px 0}.cashierRule small{color:#6a685f}@media(max-width:520px){.cashierHeader{align-items:flex-start}.cashierLocation{display:none}.cashierShell{padding:12px}.cashierScanner,.cashierCustomer{border-radius:20px}.pointStep{width:60px;height:60px}.cashierPointsPicker{gap:18px}}

/* v15 — brand loader + plate-first signature carousel */
.siteLoader{position:fixed;inset:0;z-index:9999;background:#f8f4ea;display:grid;place-items:center;transition:opacity .5s ease,visibility .5s ease}.siteLoader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loaderMark{width:min(230px,52vw);text-align:center}.loaderMark img{width:100%;height:auto;object-fit:contain;animation:loaderPulse 1.15s ease-in-out infinite alternate}.loaderLine{height:3px;border-radius:99px;background:rgba(22,42,32,.12);overflow:hidden;margin:22px auto 0;position:relative}.loaderLine:after{content:"";position:absolute;inset:0 auto 0 0;width:42%;background:var(--gold);border-radius:inherit;animation:loaderSweep 1.05s ease-in-out infinite}@keyframes loaderPulse{from{transform:scale(.97);opacity:.78}to{transform:scale(1.025);opacity:1}}@keyframes loaderSweep{0%{transform:translateX(-120%)}100%{transform:translateX(340%)}}
.plateShowcase{background:var(--green2);padding:74px 0}.plateShowcase .signatureShowcaseHead{color:#fff;text-align:center;display:block;margin-bottom:28px}.plateShowcase .signatureShowcaseHead h2{color:#fff!important}.plateShowcase .signatureShowcaseHead .lead{margin-inline:auto;max-width:640px;color:rgba(255,255,255,.72)}
.plateCarouselWrap{position:relative;max-width:900px;margin:0 auto;display:grid;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;gap:14px}.plateCarousel{background:transparent;border:0;box-shadow:none;overflow:hidden}.plateSlide{display:block!important;min-height:0!important;background:transparent;text-align:center}.plateVisual{position:relative;width:min(640px,100%);margin:0 auto;aspect-ratio:1.18/1;display:grid;place-items:center;overflow:hidden}.plateVisual:before{content:"";position:absolute;width:72%;height:18%;left:14%;bottom:8%;border-radius:50%;background:rgba(0,0,0,.18);filter:blur(22px)}.plateVisual img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain!important;min-height:0!important;transition:transform .55s cubic-bezier(.2,.75,.2,1),opacity .45s ease}.plateSlide:not(.is-active) .plateVisual img{transform:scale(.92);opacity:.45}.plateSlide.is-active .plateVisual img{transform:scale(1);opacity:1}.plateCaption{padding:8px 16px 4px}.plateCaption h3{color:#fff!important;font:700 clamp(30px,4vw,48px)/1.05 'Playfair Display';margin:8px 0 12px}.plateCaption .btn{margin-top:8px}.platePrice{display:inline-block;color:var(--gold);font-family:Inter,Arial,sans-serif;font-size:.5em;vertical-align:middle;margin-left:8px}.plateArrow{width:66px;height:66px;border-radius:50%;border:0;background:#fff;color:var(--green);font-size:48px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 34px rgba(0,0,0,.2);transition:transform .25s ease,background .25s ease,color .25s ease}.plateArrow:hover{transform:scale(1.06);background:var(--gold)}.plateMenu{background:var(--green2)!important;border-radius:28px;padding:32px!important}.plateMenu .signatureMenuHeader{text-align:center}.plateMenu .signatureMenuHeader h2{color:#fff!important}.plateMenu .signatureMenuHeader .lead{color:rgba(255,255,255,.7);max-width:620px;margin-inline:auto}.menuPlateWrap{max-width:920px}.plateMenu .signatureDots button{background:rgba(255,255,255,.3)}.plateMenu .signatureDots button.is-active{background:var(--gold)}
@media(max-width:760px){.siteLoader .loaderMark{width:min(200px,58vw)}.plateShowcase{padding:54px 0}.plateCarouselWrap{grid-template-columns:1fr;max-width:100%}.plateCarousel{width:100%}.plateVisual{width:100%;aspect-ratio:1/1}.plateArrow{position:absolute;top:42%;z-index:5;width:58px;height:58px;font-size:42px}.plateArrowLeft{left:8px}.plateArrowRight{right:8px}.plateCaption{padding-top:4px}.plateCaption h3{font-size:clamp(27px,8vw,36px);padding:0!important;max-width:100%!important}.plateMenu{padding:20px 12px 26px!important;border-radius:22px}.menuPlateWrap{margin:0!important}.plateMenu .plateVisual{aspect-ratio:1/1}.plateShowcase .signatureShowcaseHead{padding-inline:8px}.plateShowcase .signatureShowcaseHead h2{font-size:clamp(32px,9vw,42px)}}


/* v16 — Pinza-inspired product-first menu presentation */
.pinzaSignature{background:#fbfaf6!important;color:var(--green);border-radius:0!important;padding:76px 20px 86px!important;margin-top:0!important;position:relative;overflow:hidden}
.pinzaSignature:before{content:"";position:absolute;width:min(640px,86vw);height:min(640px,86vw);border-radius:50%;background:radial-gradient(circle,rgba(229,189,95,.18),rgba(229,189,95,0) 68%);left:50%;top:44%;transform:translate(-50%,-50%);pointer-events:none}
.pinzaSignature .signatureMenuHeader{position:relative;z-index:2;margin-bottom:8px}
.pinzaSignature .signatureMenuHeader h2{color:var(--green)!important;font-size:clamp(38px,6vw,68px);margin:.15em 0 .25em}
.pinzaSignature .signatureMenuHeader .lead{color:#55675f!important}
.pinzaSignature .plateCarouselWrap{position:relative;z-index:2;max-width:980px;grid-template-columns:88px minmax(0,1fr) 88px;gap:8px}
.pinzaSignature .plateVisual{width:min(700px,100%);aspect-ratio:1.32/1}
.pinzaSignature .plateVisual:before{background:rgba(29,46,37,.12);filter:blur(28px);bottom:6%}
.pinzaSignature .plateCaption h3{color:var(--green)!important;font-size:clamp(34px,5vw,58px);margin-top:2px}
.pinzaSignature .plateCaption .eyebrow{color:#9a741d!important}
.pinzaSignature .plateArrow{background:#fff;color:#26372f;width:72px;height:72px;box-shadow:0 18px 50px rgba(22,42,32,.13);border:1px solid rgba(22,42,32,.06)}
.pinzaSignature .plateArrow:hover{background:var(--gold);color:var(--green)}
.pinzaSignature .signatureDots button{background:#d8d4ca}.pinzaSignature .signatureDots button.is-active{background:var(--green)}
.pinzaSignature .btn.gold{box-shadow:0 12px 28px rgba(176,129,25,.18)}

.menuCategoryCarousel{position:relative;padding:46px 0 56px;border-top:1px solid rgba(22,42,32,.1);overflow:hidden}
.menuCategoryCarousel:nth-of-type(even){background:#f3eee2;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(20px,calc((100vw - 1120px)/2));padding-right:max(20px,calc((100vw - 1120px)/2))}
.menuCategoryCarousel>h2,.menuCategoryCarousel>.menuTitleRow{margin-bottom:20px}
.menuCategoryCarousel>h2{font:700 clamp(34px,4.5vw,52px)/1 'Playfair Display';color:var(--green);padding-right:120px}
.menuCategoryCarousel .menuItems{display:flex!important;gap:18px!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 4px 26px;margin:0;overscroll-behavior-inline:contain;scroll-behavior:smooth}
.menuCategoryCarousel .menuItems::-webkit-scrollbar{display:none}
.menuCategoryCarousel .dish{flex:0 0 min(410px,78vw);min-height:210px;scroll-snap-align:center;border-radius:24px;padding:26px 24px;background:#fff;box-shadow:0 16px 45px rgba(22,42,32,.08);border:1px solid rgba(22,42,32,.08);display:flex;flex-direction:column;justify-content:center;transition:transform .3s ease,box-shadow .3s ease}
.menuCategoryCarousel .dish:hover{transform:translateY(-5px);box-shadow:0 22px 54px rgba(22,42,32,.12)}
.menuCategoryCarousel .dish h4{font-size:clamp(22px,2.4vw,30px);line-height:1.08}
.menuCategoryCarousel .dish .price{font-size:19px;white-space:nowrap}
.menuCategoryCarousel .dish p{font-size:14px;line-height:1.55;margin-top:12px}
.menuCategoryCarousel .dishIcon{font-size:38px;margin-bottom:12px}
.categoryControls{position:absolute;right:2px;top:42px;display:flex;gap:10px;z-index:4}
.categoryArrow{width:48px;height:48px;border:1px solid rgba(22,42,32,.1);border-radius:50%;background:#fff;color:var(--green);font-size:30px;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(22,42,32,.08)}
.categoryArrow:hover{background:var(--gold)}
.menuCategoryCarousel.is-auto .dish:first-child:after{content:"défile automatiquement";display:inline-block;margin-top:18px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9a8d76}

@media(max-width:760px){
  .pinzaSignature{padding:54px 10px 66px!important}
  .pinzaSignature .plateCarouselWrap{grid-template-columns:1fr}
  .pinzaSignature .plateVisual{aspect-ratio:1/1.02;width:100%}
  .pinzaSignature .plateArrow{width:58px;height:58px;top:41%}
  .pinzaSignature .plateCaption h3{font-size:clamp(30px,9vw,42px)}
  .pinzaSignature .signatureMenuHeader .lead{font-size:15px}
  .menuCategoryCarousel{padding:36px 0 44px}
  .menuCategoryCarousel:nth-of-type(even){padding-left:0;padding-right:0;margin-left:0;margin-right:0;background:#f3eee2;border-radius:22px;padding-inline:14px}
  .menuCategoryCarousel>h2,.menuCategoryCarousel>.menuTitleRow{padding-right:100px}
  .menuCategoryCarousel>h2{font-size:34px}
  .categoryControls{top:31px;right:2px}
  .categoryArrow{width:44px;height:44px;font-size:28px}
  .menuCategoryCarousel .menuItems{gap:12px;padding-bottom:20px}
  .menuCategoryCarousel .dish{flex-basis:88%;min-height:230px;padding:24px 22px;border-radius:22px}
}
/* v19 real ordering */
.orderLocationPicker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0 34px}.orderLocation{border:1px solid rgba(15,58,45,.15);background:#fff;border-radius:22px;padding:20px;text-align:left;cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.06)}.orderLocation strong,.orderLocation span{display:block}.orderLocation strong{font-size:1.25rem;color:#0f3a2d}.orderLocation span{margin-top:5px;color:#65706b}.orderLocation.active{background:#0f3a2d;border-color:#0f3a2d}.orderLocation.active strong,.orderLocation.active span{color:#fff}.realOrderApp{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}.orderStatus{padding:14px 18px;border-radius:14px;background:#f4efe4;margin-bottom:20px}.liveMenuSection{margin-bottom:34px}.liveMenuSection h3{font-size:1.7rem;margin-bottom:14px;color:#0f3a2d}.liveMenuGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.liveDish{background:#fff;border:1px solid rgba(15,58,45,.1);border-radius:18px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.liveDish h4{margin:0 0 5px;color:#0f3a2d;font-size:1.05rem}.liveDish p{margin:0;color:#68726e;font-size:.9rem}.liveDish .price{font-weight:800;color:#0f3a2d;white-space:nowrap}.liveDish button{grid-column:1/-1;width:100%}.liveCart{position:sticky;top:100px;background:#0f3a2d;color:#fff;border-radius:26px;padding:24px}.liveCart h2{color:#fff;margin:4px 0 18px}.liveCart .eyebrow{color:#efc65b}.cartLine{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.15)}.cartLine small{display:block;color:rgba(255,255,255,.65)}.cartTotal{display:flex;justify-content:space-between;font-size:1.1rem;padding:18px 0}.liveCart .btn{width:100%;border:0}.liveCart small{display:block;margin-top:12px;color:rgba(255,255,255,.68);line-height:1.45}@media(max-width:850px){.realOrderApp{grid-template-columns:1fr}.liveCart{position:static}.liveMenuGrid{grid-template-columns:1fr}}@media(max-width:560px){.orderLocationPicker{grid-template-columns:1fr}.liveDish{padding:14px}}


/* v23 live-order horizontal category carousels */
.liveMenuSection{
  position:relative;
  margin-bottom:28px;
  overflow:hidden;
}
.liveMenuSection h3{
  margin:0 0 14px;
  padding-right:8px;
}
.liveMenuGrid{
  display:flex !important;
  grid-template-columns:none !important;
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  padding:4px 3px 14px;
  margin:0;
}
.liveMenuGrid::-webkit-scrollbar{display:none}
.liveDish{
  flex:0 0 min(360px,78vw);
  min-width:0;
  min-height:185px;
  scroll-snap-align:start;
  display:flex !important;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:8px;
  padding:16px;
}
.liveDish h4{
  font-size:1.05rem;
  line-height:1.2;
  margin:0;
}
.liveDish p{
  font-size:.86rem;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0;
}
.liveDish .price{
  font-size:1rem;
  margin-top:auto;
  align-self:flex-end;
}
.liveDish button{
  width:100%;
  margin-top:4px;
}
@media(max-width:850px){
  .liveMenuGrid{
    display:flex !important;
    grid-template-columns:none !important;
  }
  .liveDish{
    flex-basis:72vw;
    max-width:310px;
    min-height:178px;
  }
}
@media(max-width:560px){
  .liveMenuSection{margin-bottom:22px}
  .liveMenuSection h3{
    font-size:1.55rem;
    margin-bottom:10px;
  }
  .liveMenuGrid{
    gap:10px;
    padding:2px 2px 12px;
  }
  .liveDish{
    flex:0 0 76vw;
    max-width:292px;
    min-height:172px;
    padding:14px;
    border-radius:17px;
  }
  .liveDish h4{font-size:1rem}
  .liveDish p{
    font-size:.82rem;
    -webkit-line-clamp:2;
  }
  .liveDish .price{
    font-size:.95rem;
  }
  .liveDish button{
    padding:12px 14px;
  }
}

/* v24 touch-fix live-order carousels */
.liveMenuSection{
  overflow:visible !important;
}
.liveMenuGrid{
  width:100%;
  max-width:100%;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  touch-action:pan-x pan-y;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  cursor:grab;
}
.liveMenuGrid.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
}
.liveMenuGrid .liveDish{
  flex-shrink:0 !important;
}
@media(max-width:560px){
  .liveMenuGrid{
    padding-right:22vw;
  }
  .liveDish{
    flex-basis:74vw !important;
    max-width:280px !important;
  }
}

/* v25 mobile order carousel hard-fix + compact cart */
#liveMenu,
.liveMenuSection{
  min-width:0;
  max-width:100%;
}
.liveMenuSection{
  overflow:hidden !important;
}
.liveMenuGrid{
  display:grid !important;
  grid-auto-flow:column !important;
  grid-auto-columns:minmax(250px,78vw) !important;
  grid-template-columns:none !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:scroll !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-x !important;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
  padding:4px 18vw 14px 2px !important;
  gap:10px !important;
}
.liveMenuGrid::-webkit-scrollbar{
  display:none;
}
.liveDish{
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  scroll-snap-align:start !important;
  scroll-snap-stop:normal;
}
@media(max-width:560px){
  .liveMenuGrid{
    grid-auto-columns:74vw !important;
  }
  .liveDish{
    min-height:168px !important;
    padding:14px !important;
  }
  .liveCart{
    border-radius:20px !important;
    padding:18px !important;
    margin-top:4px;
  }
  .liveCart h2{
    font-size:2rem !important;
    margin:2px 0 10px !important;
  }
  .liveCart .eyebrow{
    font-size:.72rem !important;
  }
  .liveCart .cartTotal{
    padding:12px 0 !important;
  }
  .liveCart small{
    margin-top:8px !important;
  }
  .liveCart.is-empty{
    padding:14px 16px !important;
  }
  .liveCart.is-empty h2{
    font-size:1.55rem !important;
    margin-bottom:6px !important;
  }
  .liveCart.is-empty #cartLines{
    margin:0 !important;
  }
  .liveCart.is-empty #cartLines p{
    margin:0 0 8px !important;
    font-size:.95rem !important;
  }
  .liveCart.is-empty .cartTotal{
    display:none !important;
  }
  .liveCart.is-empty #checkoutBtn{
    display:none !important;
  }
  .liveCart.is-empty > small{
    display:none !important;
  }
}

/* v26 viewport lock + category-only horizontal scroll */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}
body{
  position:relative;
}
main, .section, .container, .realOrderApp, .orderAppMain, #liveMenu{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.liveMenuSection{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden !important;
}
.liveMenuGrid{
  box-sizing:border-box;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  touch-action:pan-x;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
  padding-left:0 !important;
  padding-right:14vw !important;
}
.liveDish{
  flex:0 0 auto !important;
  width:74vw !important;
  max-width:290px !important;
  box-sizing:border-box;
}
.floatingOrder{
  max-width:calc(100vw - 24px);
  box-sizing:border-box;
}
@media(max-width:560px){
  .section > .container{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .realOrderApp{
    overflow:hidden !important;
  }
  .liveMenuGrid{
    grid-auto-columns:74vw !important;
    padding-right:18vw !important;
  }
}

/* v26 lock viewport, scroll categories only */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}
body{
  position:relative;
}
main, .section, .container, #realOrderApp, .orderAppMain, #liveMenu{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.realOrderApp{
  overflow:visible !important;
}
.liveMenuSection{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden !important;
}
.liveMenuGrid{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
  touch-action:pan-x !important;
  -webkit-overflow-scrolling:touch !important;
  padding-left:0 !important;
  padding-right:18vw !important;
  box-sizing:border-box;
}
.liveDish{
  box-sizing:border-box;
}
.floatingOrder{
  max-width:calc(100vw - 24px) !important;
  left:12px !important;
  right:12px !important;
  width:auto !important;
  box-sizing:border-box;
}
@media(max-width:560px){
  .container{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .liveMenuGrid{
    grid-auto-columns:72vw !important;
    padding-right:24vw !important;
  }
}

/* v28 tablet menu layout hard-fix */
@media (min-width:561px) and (max-width:1024px){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
  }
  .realOrderApp,
  .orderAppMain,
  #liveMenu,
  .liveMenuSection{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .liveMenuSection{
    overflow:hidden !important;
  }
  .liveMenuGrid{
    display:flex !important;
    flex-wrap:nowrap !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:14px !important;
    padding:4px 15% 16px 2px !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .liveDish{
    flex:0 0 calc(50% - 10px) !important;
    width:calc(50% - 10px) !important;
    max-width:calc(50% - 10px) !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    scroll-snap-align:start !important;
  }
}

/* v29 loyalty number */
.clientQrPlaceholder #memberQr{width:min(230px,70vw);min-height:190px;margin:0 auto 12px;display:grid;place-items:center;background:#fff;border-radius:18px;padding:12px}.clientQrPlaceholder #memberQr svg{width:100%;height:auto;display:block}.loyaltyNumberBox{margin:16px 0;padding:14px;border:1px solid rgba(15,58,45,.12);border-radius:16px;background:#f8f4ea;word-break:break-all}.loyaltyNumberBox span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#6c746f;margin-bottom:5px}.loyaltyNumberBox strong{display:block;color:#0f3a2d;font-size:.92rem;line-height:1.35}.loyaltyCopyBtn{margin-top:10px;width:100%}

/* v30 destination-first architecture */
.destinationHome{min-height:100vh;background:linear-gradient(180deg,#f8f4ea,#fff);padding:54px 0 80px}.destinationBrand{text-align:center;max-width:720px;margin:0 auto 38px}.destinationBrand img{width:min(250px,58vw);margin:0 auto 18px;display:block}.destinationBrand h1{color:var(--green);font-size:clamp(38px,7vw,70px);margin:8px 0 12px}.destinationBrand p{color:#66716c}.destinationCircles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:980px;margin:0 auto}.destinationCircle{text-decoration:none;color:var(--green);text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.destinationPhoto{width:190px;height:190px;border-radius:50%;display:grid;place-items:center;background-size:cover;background-position:center;border:5px solid #fff;box-shadow:0 16px 42px rgba(22,42,32,.14);transition:transform .25s ease,box-shadow .25s ease}.destinationCircle:hover .destinationPhoto{transform:translateY(-6px) scale(1.02);box-shadow:0 22px 50px rgba(22,42,32,.2)}.destinationCircle strong{font:700 24px/1.1 'Playfair Display';margin-top:6px}.destinationCircle small{color:#6c746f;line-height:1.35}.destinationEquipment{background:var(--green);color:var(--gold);font-size:70px}.destinationAccount{text-align:center;margin-top:40px}.locationHero{min-height:58vh;display:flex;align-items:flex-end;padding:72px 0;background-size:cover;background-position:center;position:relative;color:#fff}.locationHero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,34,25,.82),rgba(10,34,25,.28))}.locationHero .container{position:relative;z-index:2}.locationHero h1{color:#fff;font-size:clamp(42px,7vw,74px);margin:8px 0}.locationHero p{font-size:18px}.locationHeroNE{background-image:url('assets/gallery-takeaway-2.jpg')}.locationHeroBD{background-image:url('assets/gallery-takeaway-1.jpg')}.locationQuickGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.locationQuickCard{background:#fff;border:1px solid rgba(15,58,45,.1);border-radius:22px;padding:24px;text-decoration:none;color:var(--green);box-shadow:0 12px 34px rgba(22,42,32,.08);display:flex;flex-direction:column;gap:7px}.locationQuickCard span{font-size:32px}.locationQuickCard strong{font-size:20px}.locationQuickCard small{color:#6c746f}@media(max-width:820px){.destinationCircles{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.destinationPhoto{width:min(170px,39vw);height:min(170px,39vw)}.locationQuickGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.destinationHome{padding-top:34px}.destinationCircles{gap:22px 10px}.destinationPhoto{width:42vw;height:42vw;max-width:165px}.destinationCircle strong{font-size:19px}.destinationCircle small{font-size:12px}.locationQuickGrid{grid-template-columns:1fr}}

.managerChoice{margin-top:22px;padding:18px;border:1px solid rgba(214,166,76,.35);border-radius:18px;background:rgba(214,166,76,.08)}
.managerChoice h3{margin:6px 0 14px}.managerChoiceGrid{display:flex;gap:10px;flex-wrap:wrap}.managerChoice small{display:block;margin-top:12px;opacity:.78}
.cashierManual{margin-top:16px}.cashierManual label,.ticketAmount label{display:block;font-weight:700;margin-bottom:8px}.cashierManualRow{display:flex;gap:8px}.cashierManualRow input,.ticketAmount input{width:100%;padding:14px 15px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#0f1714;color:#fff;font:inherit}.ticketAmount{margin:18px 0}.ticketAmount small{display:block;margin-top:8px;opacity:.72;line-height:1.45}
@media(max-width:640px){.managerChoiceGrid,.cashierManualRow{display:grid;grid-template-columns:1fr}.managerChoiceGrid .btn,.cashierManualRow .btn{width:100%}}

.managerHub{margin-bottom:18px}.managerHub h2{margin:6px 0 8px}.managerHub>p{margin:0 0 18px;opacity:.8}.managerHubGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.managerHubCard{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:18px;border:1px solid rgba(21,65,54,.14);background:rgba(255,255,255,.76);color:#183d35;text-decoration:none;min-height:132px;box-shadow:0 8px 28px rgba(13,48,40,.08)}.managerHubCard.priority{background:linear-gradient(145deg,#174b3d,#0e332a);color:#fff;border-color:rgba(214,166,76,.35)}.managerHubCard span{font-size:26px}.managerHubCard strong{font-size:20px}.managerHubCard small{line-height:1.4;opacity:.76}.managerHubNote{margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(214,166,76,.11);font-size:14px;line-height:1.45}@media(max-width:640px){.managerHubGrid{grid-template-columns:1fr}.managerHubCard{min-height:auto;padding:16px}}
.managerOps{padding:18px}.managerLocationSwitch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 16px}.managerLocation{padding:14px 10px;border-radius:14px;border:1px solid rgba(20,70,58,.18);background:#fff;color:#16473b;font-weight:800;font-size:16px}.managerLocation.active{background:#16473b;color:#fff;border-color:#16473b}.managerPrimary{margin:8px 0 14px}.managerOrderMain{display:flex;align-items:center;gap:14px;padding:18px;border-radius:20px;background:linear-gradient(145deg,#174b3d,#0e332a);color:#fff;text-decoration:none;box-shadow:0 12px 32px rgba(13,48,40,.18)}.managerOrderIcon{font-size:30px}.managerOrderMain span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.managerOrderMain strong{font-size:22px}.managerOrderMain small{opacity:.78}.managerOrderMain b{font-size:15px}.managerQuickGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.managerQuickGrid a{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:16px;background:#fff;color:#173f36;text-decoration:none;border:1px solid rgba(20,70,58,.12)}.managerQuickGrid small{opacity:.68;line-height:1.3}.managerSafeNote{font-size:13px;opacity:.68;margin:14px 2px 0}@media(max-width:640px){.managerQuickGrid{grid-template-columns:1fr}.managerOrderMain{align-items:flex-start}.managerOrderMain b{display:none}}
/* v41 auth hidden fix */
[hidden]{display:none!important}

/* v42 plate cards */
.locationQuickCard{position:relative;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.locationQuickCard:after{content:"";position:absolute;inset:-80% auto auto -45%;width:55%;height:240%;background:linear-gradient(105deg,transparent,rgba(229,189,95,.18),transparent);transform:rotate(14deg);transition:left .55s ease;pointer-events:none}
.locationQuickCard:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(22,42,32,.14);border-color:rgba(214,166,76,.45)}
.locationQuickCard:hover:after{left:120%}
.locationQuickCard>span{display:inline-block;transform-origin:center;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.locationQuickCard:hover>span{transform:translateY(-4px) rotate(-6deg) scale(1.12)}
.menuLoading{min-height:250px;display:grid;place-items:center;align-content:center;gap:14px;color:#0f3a2d}
.menuLoading span{width:54px;height:54px;border-radius:50%;border:4px solid rgba(15,58,45,.12);border-top-color:#d6a64c;animation:txSpin .8s linear infinite}
@keyframes txSpin{to{transform:rotate(360deg)}}
.liveMenuTitle{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 12px}
.liveMenuTitle h3{margin:0!important}.liveMenuTitle>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#9b7a32;font-weight:800;white-space:nowrap}
.liveMenuGrid{gap:16px!important;padding:8px 4px 18px!important}
.liveDish{flex:0 0 min(260px,74vw)!important;max-width:260px!important;min-height:0!important;padding:0 0 14px!important;border-radius:28px!important;background:#fff!important;border:1px solid rgba(15,58,45,.09)!important;box-shadow:0 12px 32px rgba(22,42,32,.08);overflow:hidden;position:relative;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.liveDish:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(22,42,32,.14);border-color:rgba(214,166,76,.45)!important}
.liveDishPlate{width:188px;height:188px;border-radius:50%;margin:18px auto 8px;overflow:hidden;background:#f3eee3;border:8px solid #fff;box-shadow:0 12px 28px rgba(22,42,32,.13),0 0 0 1px rgba(214,166,76,.22);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
.liveDish:hover .liveDishPlate{transform:rotate(-2deg) scale(1.035);box-shadow:0 18px 34px rgba(22,42,32,.18),0 0 0 1px rgba(214,166,76,.36)}
.liveDishPlate img{width:100%;height:100%;object-fit:cover;display:block}.liveDishPlateFallback{display:grid;place-items:center;background:radial-gradient(circle,#fff8e9,#eee2c8)}.liveDishPlateFallback span{font-size:64px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.12))}
.liveDishInfo{padding:8px 18px 0;display:flex;flex-direction:column;gap:10px;flex:1}.liveDish h4{font:700 1.08rem/1.22 "Playfair Display";text-align:center;margin:0!important;color:#0f3a2d}.liveDish p{display:none!important}
.dishLabels{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;min-height:28px}.dishLabel{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f6f1e6;border:1px solid rgba(15,58,45,.09);position:relative}.dishLabel img{width:16px;height:16px;object-fit:contain}.dishLabel small{display:none}
.liveDishBottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.liveDish .price{font:800 1.08rem/1 "Playfair Display";color:#0f3a2d;margin:0!important;align-self:auto!important}
.dishAddButton{width:46px!important;height:46px;border:0;border-radius:50%;display:grid;place-items:center;background:#0f3a2d;color:#e8c772;font-size:25px;line-height:1;cursor:pointer;transition:transform .22s ease,background .22s ease,color .22s ease;box-shadow:0 9px 20px rgba(15,58,45,.18);padding:0!important;margin:0!important}.dishAddButton:hover{transform:rotate(90deg) scale(1.07);background:#d6a64c;color:#0f3a2d}.dishAddButton:disabled{opacity:.6;transform:none}
@media(max-width:560px){.liveDish{flex-basis:70vw!important;max-width:250px!important}.liveDishPlate{width:170px;height:170px}}
@media(prefers-reduced-motion:reduce){.locationQuickCard,.locationQuickCard>span,.liveDish,.liveDishPlate,.dishAddButton{transition:none!important}.menuLoading span{animation:none!important}}

/* v44 menu QR */
.menuQrChoiceGrid,.managerQrGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.menuQrChoice,.managerQrCard{display:flex;flex-direction:column;gap:6px;text-decoration:none;border:1px solid rgba(15,58,45,.12);border-radius:18px;padding:18px;background:#fff;color:#0f3a2d;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.menuQrChoice:hover,.managerQrCard:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(22,42,32,.12);border-color:rgba(214,166,76,.45)}
.menuQrChoice span,.managerQrCard span{font-size:30px}.menuQrChoice strong,.managerQrCard strong{font-size:1.05rem}.menuQrChoice small,.managerQrCard small{color:#6c746f}
.managerQrPanel{margin-top:20px}
.qrMenuPage{margin:0;background:#efe9dc;color:#0f3a2d;font-family:Arial,sans-serif}
.qrMenuSheet{width:min(92vw,720px);margin:32px auto;background:#fff;border:1px solid rgba(15,58,45,.1);border-radius:28px;padding:36px;text-align:center;box-shadow:0 20px 60px rgba(22,42,32,.12)}
.qrMenuBrand img{width:180px;max-width:55vw}.qrMenuBrand h1{font-family:'Playfair Display',serif;font-size:clamp(34px,6vw,56px);margin:10px 0;color:#0f3a2d}.qrMenuBrand p{color:#66716c}
.qrMenuCodeWrap{width:min(78vw,420px);aspect-ratio:1;margin:28px auto;padding:22px;background:#fff;border-radius:28px;border:2px solid #d6a64c;box-shadow:0 16px 40px rgba(22,42,32,.1);display:grid;place-items:center}
.qrMenuCodeWrap svg{width:100%;height:100%}.qrMenuActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.qrMenuFoot{margin-top:22px;font-size:.85rem;color:#6c746f}
@media(max-width:620px){.menuQrChoiceGrid,.managerQrGrid{grid-template-columns:1fr}.qrMenuSheet{padding:24px 18px;border-radius:22px}.qrMenuCodeWrap{padding:16px}}
@media print{body.qrMenuPage{background:#fff}.qrMenuSheet{box-shadow:none;border:0;margin:0 auto;width:100%;padding:10mm}.noPrint{display:none!important}.qrMenuCodeWrap{width:110mm;max-width:none;box-shadow:none;margin:12mm auto}.qrMenuBrand img{width:50mm}}

/* v46 account tools grid */
.accountToolsGrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:22px;margin-top:28px;align-items:stretch}
.accountToolsGrid>.panel{min-width:0;height:100%;display:flex;flex-direction:column}
.accountToolsGrid .menuQrChoiceGrid{grid-template-columns:1fr 1fr}
.accountToolsGrid .menuQrShare{justify-content:flex-start}
.accountToolsGrid .qrClientCard,.accountToolsGrid .menuQrShare{padding:26px}
@media(max-width:900px){.accountToolsGrid{grid-template-columns:1fr}.accountToolsGrid .menuQrChoiceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.accountToolsGrid .menuQrChoiceGrid{grid-template-columns:1fr}}

/* v47 contrast + demand hub */
.section:not(.dark),.section:not(.dark) p,.section:not(.dark) h1,.section:not(.dark) h2,.section:not(.dark) h3,.section:not(.dark) h4{color:#17362d}
.section:not(.dark) .eyebrow{color:#a97816!important}
.section:not(.dark) .muted,.section:not(.dark) small{color:#66716c}
.managerDemandHub{margin-top:20px}
.managerDemandGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.managerDemandGrid a{display:flex;flex-direction:column;gap:7px;text-decoration:none;background:#fff;border:1px solid rgba(15,58,45,.12);border-radius:18px;padding:18px;color:#0f3a2d;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.managerDemandGrid a:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(22,42,32,.12);border-color:rgba(214,166,76,.45)}
.managerDemandGrid span{font-size:30px}.managerDemandGrid strong{font-size:1.02rem}.managerDemandGrid small{color:#6c746f;line-height:1.4}
@media(max-width:850px){.managerDemandGrid{grid-template-columns:1fr}}

/* v50 complete public UX refresh */
html{scroll-behavior:smooth}body{overflow-x:hidden}main{position:relative}
.txNav{background:rgba(13,45,35,.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(233,198,107,.14)}
.txNav .container{width:min(100% - 56px,1240px)}.txNav .navin{min-height:76px;gap:26px}
.txBrand{display:inline-flex!important;align-items:center;gap:10px;text-decoration:none}.txBrand img{width:46px;height:46px;object-fit:contain}.txBrand span{font:700 1.18rem/1 'Playfair Display';color:#f4ead6;letter-spacing:.02em}
.txNavLinks{gap:24px!important;align-items:center}.txNavLinks>a{white-space:nowrap}.txCartLink{display:inline-flex!important;align-items:center;gap:6px;padding:10px 13px!important;border:1px solid rgba(233,198,107,.25);border-radius:999px}.txCartLink b,#globalCartCountMobile{min-width:20px;height:20px;border-radius:999px;background:#d6a64c;color:#0f3a2d;display:inline-grid;place-items:center;font-size:11px}.txCartLink b[hidden],#globalCartCountMobile[hidden]{display:none!important}
.footerLogo img{width:56px;height:56px}.txFooter{margin-top:0}.txFooter .footgrid{grid-template-columns:1.25fr .75fr .9fr 1fr;gap:34px}.txFooter a{line-height:1.9}.footerBrand p{max-width:360px}
.menuFoodHero{min-height:420px;background-position:center 48%;position:relative}.menuFoodHero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,37,29,.84),rgba(10,37,29,.38))}.menuFoodHero>.container{position:relative;z-index:1}.menuFoodHero h1,.menuFoodHero p{color:#fff!important}
.qrCenteredBrand{display:grid;justify-items:center;text-align:center}.qrCenteredBrand img{display:block!important;margin:0 auto 10px!important}.qrMenuSheet{text-align:center}.qrMenuCodeWrap{margin-left:auto!important;margin-right:auto!important}
.contactPage main,.rentalPage main,.cartPage main{background:#f6f1e6}.compactHero{min-height:560px}.contactIntro{padding-bottom:30px}
.smartContactSection{padding-top:44px}.smartContactLayout{display:grid;grid-template-columns:.78fr 1.22fr;gap:34px;align-items:start}.smartContactCopy{position:sticky;top:110px}.smartContactCopy h2{font:700 clamp(34px,4vw,54px)/1.04 'Playfair Display';color:#17362d}.contactPromise{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.contactPromise b{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid rgba(15,58,45,.1);font-size:.8rem}
.smartContactForm label,.rentalRequestForm label,.globalCartPanel label{display:grid;gap:7px;font-weight:700;color:#17362d}.smartContactForm input,.smartContactForm select,.smartContactForm textarea,.rentalRequestForm input,.rentalRequestForm textarea,.globalCartPanel select{width:100%;padding:13px 14px;border:1px solid #d8d3c8;border-radius:12px;background:#fff;font:inherit;color:#17362d}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.formGrid .span2{grid-column:1/-1}.smartDetail[hidden]{display:none!important}
.rentalCatalogSection{background:#f6f1e6}.rentalGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.rentalCard{background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 15px 40px rgba(22,42,32,.08);border:1px solid rgba(15,58,45,.08);display:grid;grid-template-columns:42% 58%;min-height:320px;transition:transform .28s ease,box-shadow .28s ease}.rentalCard:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(22,42,32,.14)}.rentalCard img{width:100%;height:100%;object-fit:cover;min-height:320px}.rentalCard>div{padding:26px;display:flex;flex-direction:column}.rentalCard h3{font:700 1.6rem/1.08 'Playfair Display';color:#17362d;margin:8px 0}.rentalCard p{color:#66716c;line-height:1.6}.rentalTag{color:#a97816;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:800}.rentalBottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:14px}.rentalBottom strong{color:#17362d}.rentalFeatured{grid-column:1/-1}.rentalMore{text-align:center;padding:30px;margin-top:22px;border-radius:22px;background:#17362d;color:#fff}.rentalMore p{color:rgba(255,255,255,.75)!important}
.cartHero{background:#17362d;color:#fff;padding:72px 0}.cartHero h1,.cartHero p{color:#fff!important}.globalCartGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.globalCartPanel{display:flex;flex-direction:column;gap:16px}.globalCartPanel h2{font:700 2rem 'Playfair Display';color:#17362d;margin:0}.globalCartLines{display:grid;gap:10px}.globalCartLine,.cartLine{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border:1px solid #e0ddd5;border-radius:14px;background:#fff}.globalCartLine small,.cartLine small{display:block;color:#6c746f;margin-top:4px}.globalCartTotal{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid #ddd}.globalCartTotal strong{font-size:1.4rem}.rentalQty{display:flex;align-items:center;gap:7px}.rentalQty button{width:32px;height:32px;border-radius:50%;border:1px solid #d8d3c8;background:#fff;cursor:pointer}.rentalQty .rentalRemove{color:#9a2a2a}.rentalRequestForm{display:grid;gap:12px;margin-top:8px;padding-top:18px;border-top:1px solid #ddd}
.proofBand{padding:72px 0;background:#102c24;color:#fff;overflow:hidden}.proofHeader{display:flex;justify-content:space-between;gap:20px;align-items:end}.proofHeader h2{font:700 clamp(34px,4vw,56px)/1.05 'Playfair Display';color:#fff;margin:8px 0;max-width:760px}.proofControls{display:flex;gap:8px}.proofControls button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:transparent;color:#fff;font-size:20px}.proofCarousel{overflow:hidden;margin-top:28px}.proofTrack{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}.proofTrack::-webkit-scrollbar{display:none}.proofCard{flex:0 0 min(300px,78vw);scroll-snap-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:30px}.proofCard strong{display:block;font:700 3rem/1 'Playfair Display';color:#e9c66b}.proofCard span{display:block;margin-top:8px;color:rgba(255,255,255,.82)}.proofActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.section:not(.dark) h1,.section:not(.dark) h2,.section:not(.dark) h3,.section:not(.dark) h4,.section:not(.dark) p{color:#17362d!important}.section:not(.dark) .eyebrow{color:#a97816!important}.experienceCTA h2,.experienceCTA p,.storyBand.dark h2,.storyBand.dark p{color:#fff!important}
@media(max-width:980px){.txNav .container{width:min(100% - 28px,1240px)}.txNavLinks{gap:14px!important}.txBrand span{display:none}.txFooter .footgrid{grid-template-columns:1fr 1fr}.smartContactLayout{grid-template-columns:1fr}.smartContactCopy{position:static}.rentalGrid{grid-template-columns:1fr}.rentalFeatured{grid-column:auto}.globalCartGrid{grid-template-columns:1fr}}
@media(max-width:760px){.txNavLinks{display:none!important}.txBrand span{display:inline}.formGrid{grid-template-columns:1fr}.rentalCard{grid-template-columns:1fr}.rentalCard img{height:260px;min-height:260px}.rentalBottom{align-items:flex-start;flex-direction:column}.txFooter .footgrid{grid-template-columns:1fr}.proofHeader{align-items:flex-start}.proofControls{display:none}.globalCartLine,.cartLine{align-items:flex-start}.compactHero{min-height:auto}}

/* v51 mobile contrast + menu resilience */
.loyaltyBox,.paymentReady,.experienceCTA,.storyBand.dark,.signatureMenu,.signatureShowcase{color:#fff!important}
.loyaltyBox h1,.loyaltyBox h2,.loyaltyBox h3,.loyaltyBox h4,
.loyaltyBox p,.loyaltyBox strong,
.paymentReady h1,.paymentReady h2,.paymentReady h3,.paymentReady h4,.paymentReady p,.paymentReady strong,
.experienceCTA h1,.experienceCTA h2,.experienceCTA h3,.experienceCTA h4,.experienceCTA p,.experienceCTA strong,
.storyBand.dark h1,.storyBand.dark h2,.storyBand.dark h3,.storyBand.dark h4,.storyBand.dark p,
.signatureMenu h1,.signatureMenu h2,.signatureMenu h3,.signatureMenu h4,.signatureMenu p,
.signatureShowcase h1,.signatureShowcase h2,.signatureShowcase h3,.signatureShowcase h4,.signatureShowcase p{color:#fff!important}
.loyaltyBox .eyebrow,.paymentReady .eyebrow,.experienceCTA .eyebrow,.storyBand.dark .eyebrow,.signatureMenu .eyebrow,.signatureShowcase .eyebrow{color:#e4b955!important}
.loyaltyBox small,.paymentReady small,.experienceCTA small,.storyBand.dark small{color:rgba(255,255,255,.72)!important}
.loyaltyRule strong{color:#fff!important}.loyaltyRule small{color:#e4b955!important}
.loyaltyRewardHero strong{color:#e4b955!important}.loyaltyRewardHero small{color:rgba(255,255,255,.68)!important}
.paymentFlow span{color:#fff!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.16)!important}
.experienceCTA{background:#102c24!important}.experienceCTA .container{background:transparent!important}
.orderStatus{color:#17362d!important;background:#f1ece2!important}
.realOrderApp:has(#liveMenu:empty) .orderAppMain:after{content:"Préparation du menu…";display:block;text-align:center;padding:72px 20px;color:#17362d;font-weight:800;font-size:1.15rem}
.realOrderApp:has(#liveMenu:not(:empty)) .orderAppMain:after{display:none}
@media(max-width:760px){
  .txNav .mobile a{font-size:1.22rem}
  .txNav .mobile a[href="services.html"]{display:none!important}
  .paymentReady,.loyaltyBox{border-radius:24px}
  .paymentReady{padding:26px 22px!important}
  .paymentReady h2{font-size:2.1rem!important;line-height:1.02}
  .loyaltyIntro h2{font-size:2.2rem!important;line-height:1.04}
}

/* v51 mobile contrast + nav + menu-loading fixes */
.txMobileActions{display:none;align-items:center;gap:10px}
.txMobileCart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(233,198,107,.22);border-radius:999px;text-decoration:none;font-size:20px}
.txMobileCart b{position:absolute;right:-3px;top:-4px;min-width:20px;height:20px;border-radius:999px;background:#d6a64c;color:#0f3a2d;display:grid;place-items:center;font-size:11px}
.txMobileCart b[hidden]{display:none!important}
.txNav .mobile a[href="services.html"]{display:none!important}

.loyaltyBox,.paymentReady,.section.dark.experienceCTA,.experienceCTA{background:#102c24!important;color:#fff!important}
.loyaltyBox h1,.loyaltyBox h2,.loyaltyBox h3,.loyaltyBox h4,
.paymentReady h1,.paymentReady h2,.paymentReady h3,.paymentReady h4,
.section.dark.experienceCTA h1,.section.dark.experienceCTA h2,.section.dark.experienceCTA h3,
.experienceCTA h1,.experienceCTA h2,.experienceCTA h3{color:#fff!important}
.loyaltyBox p,.loyaltyBox span,.loyaltyBox small,
.paymentReady p,.paymentReady span,.paymentReady small,
.section.dark.experienceCTA p,.section.dark.experienceCTA span,.section.dark.experienceCTA small,
.experienceCTA p,.experienceCTA span,.experienceCTA small{color:rgba(255,255,255,.84)!important}
.loyaltyBox .eyebrow,.paymentReady .eyebrow,.experienceCTA .eyebrow{color:#e4b955!important}
.loyaltyRewardHero strong,.loyaltyRule strong,.paymentFlow span{color:#fff!important}
.loyaltyRule small,.loyaltyRewardHero small{color:#e4b955!important}
.paymentFlow span{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important}
.experienceCTA .btn.gold{color:#17362d!important}

.realOrderApp.menu-load-complete:has(#liveMenu:empty) .orderAppMain:after{display:none!important}
.realOrderApp.menu-load-complete .menuLoading{display:none!important}
.orderStatus[hidden]{display:none!important}
.orderStatus{color:#17362d!important;background:#f1ece2!important}

@media(max-width:760px){
  .txMobileActions{display:flex}
  .txNavLinks{display:none!important}
  .txNav .mobile{padding-bottom:18px}
  .txNav .mobile a{font-size:1.18rem}
  .txNav .mobile a[href="services.html"]{display:none!important}
  .loyaltyBox,.paymentReady,.experienceCTA{border-radius:24px!important}
  .loyaltyBox p,.paymentReady p,.experienceCTA p{font-size:1rem!important;line-height:1.5!important}
}

/* v52 contrast authority + clean beverage icons */
.section .loyaltyBox,
.section .paymentReady,
.section .experienceCTA,
.section .storyBand.dark,
.section .signatureMenu,
.section .signatureShowcase{color:#fff!important}

.section .loyaltyBox h1,.section .loyaltyBox h2,.section .loyaltyBox h3,.section .loyaltyBox h4,
.section .loyaltyBox p,.section .loyaltyBox strong,.section .loyaltyBox span,
.section .paymentReady h1,.section .paymentReady h2,.section .paymentReady h3,.section .paymentReady h4,
.section .paymentReady p,.section .paymentReady strong,.section .paymentReady span,
.section .experienceCTA h1,.section .experienceCTA h2,.section .experienceCTA h3,.section .experienceCTA h4,
.section .experienceCTA p,.section .experienceCTA strong,.section .experienceCTA span{color:#fff!important}

.section .loyaltyBox .eyebrow,
.section .paymentReady .eyebrow,
.section .experienceCTA .eyebrow{color:#e4b955!important}

.section .loyaltyBox small,
.section .paymentReady small,
.section .experienceCTA small{color:rgba(255,255,255,.78)!important}

.section .loyaltyRewardHero strong{color:#fff!important}
.section .loyaltyRewardHero small{color:#e4b955!important}
.section .loyaltyRule strong{color:#fff!important}
.section .loyaltyRule small{color:#e4b955!important}

.liveCart,.liveCart *{color:#fff!important}
.liveCart .eyebrow{color:#e4b955!important}
.liveCart.is-empty{min-height:155px}
.liveCart.is-empty #cartLines p{color:#fff!important;font-weight:700}
.liveCart.is-empty #cartLines small{color:rgba(255,255,255,.72)!important}

.liveDishPlateIcon{
  background:linear-gradient(145deg,#fffdf7,#efe5cf)!important;
  border:1px solid rgba(214,166,76,.24)!important;
  display:grid!important;
  place-items:center!important;
}
.liveDishPlateIcon span{
  font-size:62px!important;
  filter:none!important;
  transform:none!important;
}

@media(max-width:560px){
  .section .loyaltyIntro h2{color:#fff!important}
  .section .loyaltyIntro p{color:rgba(255,255,255,.8)!important}
  .liveCart.is-empty{min-height:140px}
}
