:root{--plum:#3a1220;--plum2:#4e1a2b;--plum3:#2a0c17;--gold:#f3c33c;--gold2:#ffd970;--cream:#f7f2e9;--cream2:#efe6d6;--ink:#1f1418;--muted:#6f5f63;--line:rgba(58,18,32,.14);--r:22px;--wrap:1200px;--ease:cubic-bezier(.2,.7,.2,1)}
@font-face{font-family:"DcDisplay";src:url(fonts/iserif-normal-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DcDisplay";src:url(fonts/iserif-italic-400.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Geist";src:url(fonts/geist-normal-400_700.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Mono";src:url(fonts/geistmono-normal-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Amiri";src:url(fonts/amiri-ar.woff2) format("woff2");font-display:swap}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--ink);font:400 16px/1.6 Geist,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:"DcDisplay",Georgia,serif;font-weight:400;letter-spacing:-.015em;line-height:1.02}
em{font-style:italic;color:var(--plum2)}
.ar,[lang=ar]{font-family:Amiri,"Geeza Pro","Noto Naskh Arabic",serif;font-style:normal}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--gold);padding:10px 14px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--plum);outline-offset:3px}
svg{flex:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font:600 15px/1 Geist,sans-serif;text-decoration:none;transition:transform .35s var(--ease),background .3s,box-shadow .35s;white-space:nowrap}
.btn svg{width:19px;height:19px}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--plum3);box-shadow:0 10px 30px -12px rgba(243,195,60,.9)}
.btn-gold:hover{background:var(--gold2)}
.btn-line{border:1.5px solid var(--plum);color:var(--plum)}
.btn-line:hover{background:var(--plum);color:var(--cream)}
.btn-wa{background:#1f7a4d;color:#fff}
.btn-wa:hover{background:#18663f}
.btn.sm{min-height:44px;padding:0 18px;font-size:14px}

/* header */
.top{position:fixed;top:var(--preview-bar,0);left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;transition:background .4s,padding .4s,box-shadow .4s}
.top.solid{background:rgba(247,242,233,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:9px 22px;box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-height:44px}
.mark{width:42px;height:42px}
.brand-t{display:flex;flex-direction:column;line-height:1}
.brand-t b{font:400 22px/1 "DcDisplay",serif;color:var(--plum)}
.brand-t i{font:400 10.5px/1 Mono,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:5px;font-style:normal}
.nav{display:none;gap:30px}
.nav a{text-decoration:none;font-size:14.5px;font-weight:500;color:var(--plum);position:relative;padding:12px 0}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1.5px;background:var(--plum);transition:right .4s var(--ease)}
.nav a:hover::after{right:0}
.top .btn-wa span{display:none}
.top .btn-wa{width:44px;padding:0}

/* hero */
.hero{position:relative;padding:calc(var(--preview-bar,0px) + 100px) 0 56px;overflow:hidden;background:radial-gradient(120% 70% at 85% 10%,#fff8e6 0,transparent 60%),var(--cream)}
.hero-in{display:grid;gap:44px;align-items:center}
.status{display:inline-flex;align-items:center;gap:9px;font:400 12px/1 Mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--plum);background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:999px}
.dot{width:8px;height:8px;border-radius:50%;background:#b9a7ab}
.status.open .dot{background:#22a35f;box-shadow:0 0 0 0 rgba(34,163,95,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(34,163,95,0)}100%{box-shadow:0 0 0 0 rgba(34,163,95,0)}}
.hero h1{font-size:clamp(52px,14.5vw,118px);color:var(--plum);margin:22px 0 22px}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 em{color:var(--plum2)}
.lede{font-size:17.5px;line-height:1.6;color:#4a3a3f;max-width:34em}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 24px}
.rating{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:var(--muted);text-decoration:none;min-height:44px}
.rating b{color:var(--plum);font-size:15px}
.stars,.stars-l{color:#e3a90f;letter-spacing:2px}
.half{background:linear-gradient(90deg,#e3a90f 25%,#d8cfc4 25%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-pic{position:relative;max-width:440px;width:100%;margin:0 auto}
.arch{border-radius:240px 240px var(--r) var(--r);overflow:hidden;aspect-ratio:4/5.2;box-shadow:0 40px 80px -40px rgba(58,18,32,.55);border:8px solid #fff}
.arch img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform:scale(1.08);animation:settle 2.4s var(--ease) forwards}
@keyframes settle{to{transform:scale(1)}}
.card-float{position:absolute;left:-10px;bottom:28px;background:var(--plum);color:var(--cream);padding:14px 18px;border-radius:16px;display:flex;flex-direction:column;gap:2px;box-shadow:0 20px 40px -18px rgba(42,12,23,.7);font-size:12.5px;letter-spacing:.04em;animation:float 6s ease-in-out infinite}
.card-float .ar{font-size:22px;color:var(--gold);line-height:1.2}
@keyframes float{50%{transform:translateY(-8px)}}
.bubbles i{position:absolute;border-radius:50%;border:1.5px solid rgba(58,18,32,.18);background:radial-gradient(circle at 30% 30%,#fff,rgba(255,255,255,.2));animation:rise 9s ease-in infinite;bottom:-20px}
.bubbles i:nth-child(1){width:34px;height:34px;right:-6px;animation-delay:0s}
.bubbles i:nth-child(2){width:18px;height:18px;right:30px;animation-delay:2s}
.bubbles i:nth-child(3){width:26px;height:26px;right:-18px;animation-delay:4.5s}
.bubbles i:nth-child(4){width:12px;height:12px;right:60px;animation-delay:6s}
.bubbles i:nth-child(5){width:22px;height:22px;right:10px;animation-delay:7.5s}
@keyframes rise{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(-520px) translateX(-30px);opacity:0}}

/* ribbon */
.ribbon-wrap{overflow:hidden;padding:16px 0 6px}
.ribbon{background:var(--plum);color:var(--gold);overflow:hidden;padding:18px 0;transform:rotate(-1.2deg);width:104%;margin-left:-2%;box-shadow:0 10px 30px -20px var(--plum)}
.ribbon-in{display:flex;gap:44px;width:max-content;animation:slide 32s linear infinite}
.ribbon span{font:400 26px/1 "DcDisplay",serif;font-style:italic;white-space:nowrap;display:flex;align-items:center;gap:44px}
.ribbon span::after{content:"✦";font-style:normal;font-size:14px;color:var(--cream)}
@keyframes slide{to{transform:translateX(-50%)}}

/* sections */
.sec-head{display:grid;gap:16px;margin-bottom:40px;max-width:820px}
.sec-head h2,.steps h2,.pk-copy h2,.vs-copy h2{font-size:clamp(36px,8.4vw,64px);color:var(--plum)}
.sec-head p{color:var(--muted);font-size:17px;max-width:36em}
.services{padding:96px 22px 40px}
.svc{list-style:none;display:grid;gap:14px}
.svc li{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px 26px;transition:transform .5s var(--ease),box-shadow .5s,background .5s}
.svc li:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(58,18,32,.5)}
.svc .n{position:absolute;top:24px;right:24px;font:400 12px/1 Mono,monospace;color:var(--muted);letter-spacing:.1em}
.svc svg{width:48px;height:48px;fill:none;stroke:var(--plum);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px;background:var(--cream2);border-radius:14px;padding:6px}
.svc h3{font-size:28px;color:var(--plum);margin-bottom:8px}
.svc p{color:#55454a;font-size:15.5px}

.steps{padding:70px 0}
.steps h2{margin-bottom:36px}
.steps-l{list-style:none;display:grid;gap:14px;counter-reset:s}
.steps-l li{border-top:1.5px solid var(--plum);padding:22px 0 8px;display:grid;grid-template-columns:56px 1fr;column-gap:14px}
.steps-l b{grid-row:span 2;font:400 46px/1 "DcDisplay",serif;color:var(--gold);-webkit-text-stroke:1px var(--plum)}
.steps-l h3{font-size:26px;color:var(--plum)}
.steps-l p{color:var(--muted)}

/* pickup planner */
.pickup{background:var(--plum);color:var(--cream);padding:96px 0;position:relative;overflow:hidden}
.pickup::before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-260px;top:-220px;background:radial-gradient(circle,rgba(243,195,60,.18),transparent 65%)}
.pk-grid{display:grid;gap:40px;position:relative}
.pk-copy h2{color:var(--cream)}
.pk-copy h2 em,.pickup em{color:var(--gold)}
.pk-copy>p{color:#e3d2d6;font-size:17px;margin:18px 0 26px;max-width:30em}
.promise{list-style:none;display:grid;gap:12px}
.promise li{display:flex;gap:12px;align-items:center;font:400 22px/1.2 "DcDisplay",serif;color:var(--cream)}
.promise li::before{content:"";width:26px;height:26px;border-radius:50%;flex:none;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%233a1220' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.fine{font-size:13px;color:#b9a3a9;margin-top:20px}
.visit .fine{color:var(--muted)}
.planner{background:var(--cream);color:var(--ink);border-radius:28px;padding:26px 20px;display:grid;gap:22px;box-shadow:0 40px 90px -40px #000}
.planner fieldset{border:0;display:grid;gap:12px}
.planner legend{font:400 11.5px/1 Mono,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.chips,.seg{display:flex;flex-wrap:wrap;gap:8px}
.chips label,.seg label{position:relative;cursor:pointer}
.chips input,.seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chips span,.seg span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-size:14.5px;font-weight:500;color:var(--plum);transition:background .25s,color .25s,border-color .25s}
.chips input:checked+span{background:var(--plum);color:var(--cream);border-color:var(--plum)}
.chips input:checked+span::before{content:"✓";margin-right:7px;color:var(--gold)}
.seg input:checked+span{background:var(--gold);border-color:var(--gold);color:var(--plum3)}
.chips input:focus-visible+span,.seg input:focus-visible+span{outline:2px solid var(--plum);outline-offset:2px}
.fields{display:grid;gap:12px}
.f{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--plum)}
.f input{width:100%;min-height:50px;border-radius:14px;border:1.5px solid var(--line);background:#fff;padding:0 15px;font:400 16px Geist,sans-serif;color:var(--ink)}
.f input:focus{outline:none;border-color:var(--plum)}
.f.hide{display:none}
.msg{background:#fff;border:1.5px dashed rgba(58,18,32,.25);border-radius:16px;padding:14px 16px}
.msg span{font:400 11px/1 Mono,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.msg p{margin-top:8px;font-size:14.5px;white-space:pre-line;color:#3d2e33;overflow-wrap:anywhere}
.btn.big{width:100%;min-height:58px;font-size:16.5px}

/* gallery */
.shop{padding:96px 22px 60px}
.gal{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gal figure{position:relative;border-radius:var(--r);overflow:hidden;background:var(--cream2)}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gal figure:hover img{transform:scale(1.04)}
.gal figcaption{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);background:rgba(247,242,233,.92);backdrop-filter:blur(6px);border-radius:12px;padding:7px 11px;font-size:12px;line-height:1.3;font-weight:600;color:var(--plum)}
.g1{grid-column:span 2;aspect-ratio:4/4.4}
.g1 img{object-position:50% 45%}
.g2,.g3{aspect-ratio:3/4}
.g2 img{object-position:50% 50%}
.g4,.g5{aspect-ratio:3/4.2}
.g4 img{object-position:50% 20%}
.g5 img{object-position:50% 30%}

/* reviews */
.reviews{padding:60px 0 90px}
.rv-grid{display:grid;gap:16px}
.rv-score{background:var(--gold);border-radius:var(--r);padding:30px 26px;color:var(--plum3)}
.rv-score .big{font:400 96px/1 "DcDisplay",serif}
.rv-score .stars-l{color:var(--plum);font-size:22px;margin:4px 0 10px}
.rv-score .half{background:linear-gradient(90deg,var(--plum) 25%,rgba(58,18,32,.25) 25%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lnk{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none;border-bottom:1.5px solid currentColor;margin-top:6px}
.rv{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 26px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.rv p{font:400 23px/1.32 "DcDisplay",serif;color:var(--plum)}
.rv footer{font:400 12px/1 Mono,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* visit */
.visit{padding:20px 22px 110px}
.vs-grid{display:grid;gap:36px;background:#fff;border:1px solid var(--line);border-radius:32px;padding:34px 22px}
.vs-copy address{font-style:normal;font-size:17px;line-height:1.65;margin:20px 0 22px;color:#3d2e33}
.vs-copy address b{font:400 24px "DcDisplay",serif;color:var(--plum)}
.vs-btns{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.hours{display:grid;border-top:1px solid var(--line)}
.hours div{display:flex;justify-content:space-between;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);font-size:15.5px}
.hours div span:last-child{font-family:Mono,monospace;font-size:13.5px;color:var(--muted)}
.hours div.today{background:var(--cream);font-weight:600;color:var(--plum);border-radius:10px;padding:12px 12px;border-bottom-color:transparent}
.hours div.today span:last-child{color:var(--plum)}
.vs-pic{border-radius:24px;overflow:hidden;position:relative;max-width:420px;width:100%;justify-self:center}
.vs-pic img{width:100%;aspect-ratio:386/560;object-fit:cover;object-position:50% 35%}
.vs-pic figcaption{padding:14px 4px 0;font-size:14px;color:var(--muted)}
.vs-pic .ar{font-size:18px;color:var(--plum)}

/* footer */
.foot{background:var(--plum3);color:#e9dadd;padding:56px 0 110px}
.foot-in{display:grid;gap:28px}
.f-name{font:400 34px/1 "DcDisplay",serif;color:var(--cream)}
.foot .ar{font-size:24px;color:var(--gold);margin-top:6px}
.f-tag{font-style:italic;font-family:"DcDisplay",serif;font-size:19px;margin-top:6px}
.f-links{display:grid;gap:2px}
.f-links a{text-decoration:none;min-height:44px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}
.f-links a:hover{color:var(--gold)}
.credit{text-align:center;font-size:12px;color:#a88e95;margin-top:44px;padding:0 22px}

/* floating */
.fab{position:fixed;right:18px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#1f7a4d;color:#fff;display:grid;place-items:center;z-index:45;box-shadow:0 16px 30px -12px rgba(0,0,0,.45);transition:transform .3s var(--ease)}
.fab:hover{transform:scale(1.07)}
.fab.up{bottom:86px}
.fab svg{width:30px;height:30px}
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:44;display:grid;grid-template-columns:1fr 1.6fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(247,242,233,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 -1px 0 var(--line);transform:translateY(110%);transition:transform .45s var(--ease)}
.mbar.on{transform:none}
.mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:999px;text-decoration:none;font-weight:600;font-size:15px;border:1.5px solid var(--plum);color:var(--plum)}
.mbar a svg{width:18px;height:18px}
.mbar .go{background:var(--plum);color:var(--cream)}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.js-off .reveal{opacity:1;transform:none}
.hero h1 .ln{animation:up 1.1s var(--ease) both}
.hero h1 .ln:nth-child(2){animation-delay:.12s}
@keyframes up{from{transform:translateY(60%);opacity:0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.arch img{transform:none}}

@media (min-width:720px){
  .svc{grid-template-columns:repeat(2,1fr)}
  .steps-l{grid-template-columns:repeat(3,1fr);gap:30px}
  .rv-grid{grid-template-columns:1fr 1fr}
  .rv-score{grid-column:span 2}
  .gal{grid-template-columns:repeat(4,1fr)}
  .g1{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
  .fields{grid-template-columns:1fr 1fr}.f.wide{grid-column:span 2}
  .foot-in{grid-template-columns:1fr 1fr}
}
@media (min-width:1024px){
  .nav{display:flex}
  .top{padding:18px 40px}.top.solid{padding:10px 40px}
  .top .btn-wa{width:auto;padding:0 18px}.top .btn-wa span{display:inline}
  .wrap{padding:0 40px}
  .hero{padding-top:calc(var(--preview-bar,0px) + 130px);padding-bottom:80px}
  .hero-in{grid-template-columns:1.15fr .85fr;gap:60px}
  .hero-pic{max-width:470px}
  .services,.shop{padding-left:40px;padding-right:40px}
  .services{padding-top:130px}
  .svc{grid-template-columns:repeat(3,1fr)}
  .pk-grid{grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
  .pk-copy{position:sticky;top:120px}
  .planner{padding:34px 32px}
  .rv-grid{grid-template-columns:.8fr 1.1fr 1.1fr}
  .rv-score{grid-column:auto}
  .visit{padding-left:40px;padding-right:40px}
  .vs-grid{grid-template-columns:1.2fr .8fr;padding:56px;gap:60px;align-items:center}
  .mbar{display:none}
  .fab{bottom:28px;right:28px}
  .foot{padding-bottom:56px}
}
