:root{--g:#0f4a2a;--g2:#14633a;--gd:#0a331f;--gold:#d9ab47;--gold2:#b98a2c;--iv:#faf5e6;--iv2:#f1e9cf;--tx:#1d2b22;--mut:#66705f;--r:22px;--ease:cubic-bezier(.22,.8,.26,1)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:400 1rem/1.9 'Cairo',Tahoma,sans-serif;background:var(--iv);color:var(--tx)}
h1,h2,h3,h4,.h,.pill,.btn{font-family:'Cairo',sans-serif}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:1180px;margin:auto;padding:0 22px}.narrow{max-width:800px}.center{text-align:center}
/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:40;transition:background .3s,box-shadow .3s,transform .4s var(--ease);color:#fff}
.hdr-in{display:flex;align-items:center;gap:18px;height:80px}
.brand img{height:56px;width:auto}.l-off{display:none}
.hdr.solid{background:rgba(250,245,230,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--g);box-shadow:0 1px 0 rgba(15,74,42,.12)}
.hdr.solid .l-on{display:none}.hdr.solid .l-off{display:block}.hdr.hide{transform:translateY(-100%)}
nav{display:flex;gap:2px;margin-inline-start:auto}
nav a{padding:6px 12px;border-radius:20px;font-weight:500;font-size:.95rem;position:relative}
nav a:after{content:"";position:absolute;inset:auto 14px 2px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .3s var(--ease)}
nav a:hover:after,nav a.on:after{transform:scaleX(1)}
.act{display:flex;gap:8px;align-items:center}
.pill{border:1.5px solid currentColor;border-radius:30px;padding:5px 18px;font-weight:600;font-size:.95rem;background:none;color:inherit;cursor:pointer;white-space:nowrap}
.pill.solid{background:var(--gold);border-color:var(--gold);color:var(--gd)}.pill.solid b{background:var(--gd);color:var(--gold);border-radius:12px;padding:0 8px;margin-inline-start:4px;font-size:.8rem}
.pill.solid.bump{animation:bump .5s}@keyframes bump{40%{transform:scale(1.14)}}
.burger{display:none;width:42px;height:42px;background:none;border:0;cursor:pointer;flex-direction:column;justify-content:center;gap:7px;padding:10px;color:inherit}
.burger span{height:3px;background:currentColor;border-radius:2px;transition:.3s}
.burger.x span:first-child{transform:translateY(5px) rotate(45deg)}.burger.x span:last-child{transform:translateY(-5px) rotate(-45deg)}
/* buttons */
.btn{display:inline-block;border:0;border-radius:30px;padding:11px 30px;font-weight:600;font-size:1.05rem;cursor:pointer;transition:transform .25s var(--ease),background .25s}
.btn:hover{transform:translateY(-3px)}.btn.gold{background:var(--gold);color:var(--gd)}.btn.gold:hover{background:#e6bb5c}
.btn.line{border:2px solid rgba(255,255,255,.6);color:#fff;padding:9px 28px}.btn.dark{background:var(--g);color:#fff}.btn.wide{width:100%;text-align:center}
.btns{display:flex;gap:12px;flex-wrap:wrap}
/* hero */
.view{display:none}.view.on{display:block}.page{padding:120px 0 70px;min-height:70vh}
.hero{background:radial-gradient(60% 70% at 20% 40%,rgba(217,171,71,.2),transparent 70%),linear-gradient(rgba(10,51,31,.9),rgba(10,51,31,.96)),url(../images/hero.jpg) center/cover;color:#fff;padding:130px 0 70px;min-height:100vh;display:grid;align-items:center}
.hero-g{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.kick{color:var(--gold);font-weight:600;margin-bottom:10px}
.hero h1{font-size:clamp(2.3rem,5.2vw,4.2rem);line-height:1.35;font-weight:700;margin-bottom:16px}
.lead{max-width:520px;color:#d9e5d6;margin-bottom:26px}
.stage{display:grid;justify-items:center;gap:10px}
.cloche{position:relative;width:min(400px,80vw);aspect-ratio:1/1.05;cursor:pointer}
.photo{position:absolute;inset:auto 7% 11% 7%;aspect-ratio:1;border-radius:50%;background:#15633a url(../images/d-masqi.jpg) center/cover;border:6px solid var(--gold);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.tray{position:absolute;inset:auto 0 0;width:100%}
.dome{position:absolute;inset:auto 2% 18% 2%;width:96%;transition:transform 1.1s var(--ease);transform-origin:10% 100%;filter:drop-shadow(0 14px 18px rgba(0,0,0,.35))}
.cloche.open .dome{transform:translate(-58%,-74%) rotate(-32deg)}
.hint{color:var(--gold);font-size:.9rem;transition:opacity .4s}.cloche.open+.hint{opacity:0}
/* marquee */
.marq{background:var(--gold);color:var(--gd);overflow:hidden;white-space:nowrap;padding:12px 0;font:600 1.2rem 'Cairo'}
.marq-t{display:inline-block;animation:mq 38s linear infinite}.marq-t span{margin:0 26px}.marq-t i{display:inline-block;width:9px;height:9px;background:var(--g);transform:rotate(45deg)}
@keyframes mq{to{transform:translateX(50%)}}
/* sections */
.sec{padding:80px 0}.tint{background:var(--iv2)}
.h{font-size:clamp(1.7rem,3.4vw,2.6rem);color:var(--g);font-weight:700;line-height:1.4;margin-bottom:20px}.h.s{font-size:1.6rem;text-align:center}
.head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.head .h{margin:0}.more{color:var(--g2);font-weight:600;border-bottom:2px solid var(--gold)}
.about-g{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.about-g p{margin-bottom:14px;max-width:560px}
.bento{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:440px}
.bento>*{border-radius:var(--r);overflow:hidden}.b1{grid-row:span 2;width:100%;height:100%;object-fit:cover}
.b2,.b3{display:flex;flex-direction:column;justify-content:center;padding:18px;background:var(--g);color:#fff}.b3{background:var(--gold);color:var(--gd)}
.bento b{font:700 3.4rem/1 'Cairo'}.bento span{font-size:.9rem;opacity:.85}
.addr{background:var(--iv2);border-inline-start:4px solid var(--gold);padding:12px 16px;border-radius:10px}
/* carousel + cards */
.car{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px max(22px,calc((100vw - 1180px)/2 + 22px)) 20px;scrollbar-width:none}.car::-webkit-scrollbar{display:none}.car .dish{flex:0 0 min(300px,78vw);scroll-snap-align:start}
.arrows{display:flex;gap:8px}.arrows button{width:44px;height:44px;border-radius:50%;border:2px solid var(--g);background:none;color:var(--g);font-size:1.6rem;line-height:1;cursor:pointer;transition:.25s}.arrows button:hover{background:var(--g);color:#fff}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid4{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.dish{background:#fff;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 0 rgba(15,74,42,.06),0 14px 30px -18px rgba(15,74,42,.4);transition:transform .35s var(--ease)}
.dish:hover{transform:translateY(-6px)}
.ph{position:relative;height:200px;overflow:hidden;background:repeating-linear-gradient(45deg,var(--iv2),var(--iv2) 12px,#ece2c2 12px,#ece2c2 24px);display:grid;place-items:center}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.dish:hover .ph img{transform:scale(1.08)}.ph img.ic{width:84px;height:auto;opacity:.75;object-fit:contain}
.nb{position:absolute;top:12px;right:12px;background:var(--g);color:#fff;font-size:.78rem;padding:0 13px;border-radius:14px;font-weight:600}
.dish .bd{padding:14px 16px 16px;display:grid;gap:8px}.dish h3{font-size:1.15rem;color:var(--g)}.pr{color:var(--mut);font-size:.85rem}
.qty{display:flex;align-items:center;gap:10px}.st{display:flex;align-items:center;border:1.5px solid var(--iv2);border-radius:24px}.st button{width:34px;height:34px;border:0;background:none;font-size:1.2rem;cursor:pointer;color:var(--g)}.st b{min-width:24px;text-align:center}
.add{flex:1;background:var(--g);color:#fff;border:0;border-radius:24px;padding:6px 14px;font-weight:600;cursor:pointer;transition:.25s}.add:hover{background:var(--gold);color:var(--gd)}
/* steps, cards */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;margin-top:30px;position:relative}
.steps li{counter-increment:s;padding:0 16px 0 0;position:relative}.steps li:before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--g);color:var(--gold);font:700 1.2rem 'Cairo';margin-bottom:12px;position:relative;z-index:1}
.steps li:after{content:"";position:absolute;top:22px;right:44px;left:-16px;height:2px;background:var(--gold)}.steps li:last-child:after{display:none}
.steps b{display:block;color:var(--g);font:600 1.2rem 'Cairo'}.steps span{color:var(--mut);font-size:.92rem}
.box{background:#fff;border-radius:var(--r);padding:26px;box-shadow:0 14px 30px -18px rgba(15,74,42,.4)}
.svc>div{background:#fff;border-radius:var(--r);padding:24px;border-inline-start:5px solid var(--gold)}.svc h3,.box h3{color:var(--g);margin-bottom:6px}.svc p{color:var(--mut)}
.news{background:#fff;border-radius:var(--r);padding:22px;display:grid;gap:6px;transition:transform .3s var(--ease)}.news:hover{transform:translateY(-4px)}.news time{color:var(--gold2);font-weight:600;font-size:.85rem}.news h3{color:var(--g)}.news p{color:var(--mut);font-size:.94rem}
.cust{background:#fff;border-radius:var(--r);padding:22px 12px;text-align:center}.cust img{height:58px;margin:0 auto 8px;opacity:.8}.cust small{color:var(--mut)}
/* menu tools */
.tools{position:sticky;top:80px;z-index:5;background:var(--iv);padding:10px 0 14px;display:grid;gap:10px}
input,textarea,select{font:inherit;width:100%;padding:10px 14px;margin-top:4px;border:1.5px solid var(--iv2);border-radius:14px;background:#fff;color:var(--tx)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,171,71,.25)}
#q{max-width:420px;margin:0}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button{border:1.5px solid var(--g);background:none;color:var(--g);border-radius:24px;padding:3px 20px;cursor:pointer;font-weight:600;transition:.25s}.chips button.on{background:var(--g);color:#fff}
.empty{text-align:center;color:var(--mut);padding:30px}
.form{display:grid;gap:12px}.form label{display:block;font-weight:600;font-size:.92rem}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.seg{display:flex;gap:10px}.seg label{display:flex;gap:6px;align-items:center;border:1.5px solid var(--gold);border-radius:24px;padding:3px 18px}.seg input{width:auto;margin:0}
.hp{position:absolute;left:-9999px}.err{color:#b3261e;min-height:1.2em;font-size:.9rem}.hint{color:var(--mut);text-align:center;font-size:.85rem}
.auth{max-width:440px;margin:0 auto}.auth img{height:100px;margin:0 auto}.ab-img{border-radius:var(--r);box-shadow:0 14px 30px -18px rgba(15,74,42,.5)}
.ok{padding:44px 20px}.ok p{margin:8px 0 18px}
/* drawer */
.drawer{position:fixed;inset:0;z-index:60;visibility:hidden}.drawer.open{visibility:visible}
.scrim{position:absolute;inset:0;background:rgba(10,51,31,.55);opacity:0;transition:opacity .35s}.drawer.open .scrim{opacity:1}
.panel{position:absolute;top:0;bottom:0;left:0;width:min(420px,100%);background:var(--iv);display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .45s var(--ease)}.drawer.open .panel{transform:none}
.p-h{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--iv2)}.p-h h2{color:var(--g)}.p-h button{border:0;background:none;font-size:2rem;cursor:pointer;color:var(--g)}
.p-b{flex:1;overflow:auto;padding:8px 22px}.p-f{padding:16px 22px;border-top:1px solid var(--iv2)}
.line{display:grid;grid-template-columns:1fr auto auto;gap:8px 10px;align-items:center;padding:12px 0;border-bottom:1px dashed #d9cfaa}.line .nm{font-weight:600}.line input{grid-column:1/-1;margin:0;font-size:.85rem;padding:6px 12px}.line .x{border:0;background:none;color:#b3261e;cursor:pointer}
.sum div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #d9cfaa}
/* footer, toast */
.ftr{background:var(--gd);color:#d3e1cf;padding:50px 0 0}.ftr-g{display:grid;grid-template-columns:1.3fr 1fr 1.3fr;gap:30px}.ftr img{height:84px;margin-bottom:8px}.ftr h4{color:var(--gold);margin-bottom:8px}.ftr a{display:block}.ftr a:hover{color:var(--gold)}
.copy{margin-top:30px;padding:14px;text-align:center;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem}
.toast{position:fixed;bottom:24px;right:50%;transform:translate(50%,120px);background:var(--g);color:#fff;border:1.5px solid var(--gold);padding:10px 26px;border-radius:30px;z-index:70;transition:transform .4s var(--ease)}.toast.show{transform:translate(50%,0)}
@media(max-width:1080px){
 nav{position:fixed;top:80px;inset-inline:0;background:var(--iv);color:var(--g);flex-direction:column;padding:12px 22px 20px;display:none;box-shadow:0 20px 30px -20px rgba(0,0,0,.4)}nav.open{display:flex}.burger{display:flex}.hdr.menu{background:var(--iv);color:var(--g)}.hdr.menu .l-on{display:none}.hdr.menu .l-off{display:block}.act{margin-inline-start:auto}
}
@media(max-width:860px){.hero-g,.about-g,.grid2,.grid3,.row2,.ftr-g{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr;gap:26px 0}.steps li:after{display:none}.bento{height:320px}.hdr-in{height:68px}.brand img{height:46px}nav{top:68px}.tools{top:68px}.pill:not(.solid){display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}

/* hero slideshow */
.hero{background:var(--gd);position:relative;overflow:hidden;text-align:right}
.slides,.veil{position:absolute;inset:0}
.sl{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}
.sl.on{opacity:1;animation:kb 9s ease-out forwards}@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.veil{background:linear-gradient(270deg,rgba(10,51,31,.78) 0%,rgba(10,51,31,.5) 55%,rgba(10,51,31,.25) 100%)}
.hero-t{position:relative;z-index:2;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.hero-t>*{max-width:600px}
.sl-a{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:rgba(10,51,31,.3);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;backdrop-filter:blur(4px);transition:.25s}
.sl-a:hover{background:var(--gold);color:var(--gd);border-color:var(--gold)}.sl-a.prev{right:16px}.sl-a.next{left:16px}
.dots{position:absolute;bottom:26px;inset-inline:0;z-index:3;display:flex;justify-content:center;gap:10px}
.dots button{width:12px;height:12px;border-radius:8px;border:0;background:rgba(255,255,255,.55);cursor:pointer;transition:.3s}.dots button.on{width:34px;background:var(--gold)}
@media(max-width:860px){.sl-a{display:none}.veil{background:rgba(10,51,31,.62)}}

/* Font Awesome icons */
.btn i,.pill i{margin-inline-end:8px}.more i{font-size:.8em}
.arrows button,.sl-a,.p-h button{display:grid;place-items:center;font-size:1rem}
.st button{font-size:.75rem}.svc>div>i{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--g);color:var(--gold);font-size:1.2rem;margin-bottom:10px}
.steps li>i{position:absolute;top:10px;left:14px;color:var(--gold2);font-size:1.3rem;opacity:.5}
.bento i{font-size:1.4rem;margin-bottom:6px;opacity:.9}
.box p>i,.addr>i,.ftr p>i{color:var(--gold2);margin-inline-end:10px;width:1.2em;text-align:center}.ftr p>i{color:var(--gold)}.ftr a i{color:var(--gold);margin-inline-end:8px;font-size:.8em}
.news time i{margin-inline-end:6px}.add i{margin-inline-end:6px}.line .x i{margin-inline-end:4px}
