/* Plum Catering website, round 3 (Brian, 15 Oct 2026).
   The live www.plumcatering.com.sa design, developed: Josefin Sans, plum #452349, cream #e9e7de, taupe #bfb295,
   gold petal icons, blurred photo hero with a translucent plum card, parallax photo bands, plum gallery strip,
   photo menu cards, taupe band, plum contact band with outlined fields. Arabic: Tajawal (free, OFL), RTL mirrored.
   Replaces plum-web.css, plum-site.css and plum-r2.css (kept in build/_r2/). Mobile first. */

/* ---------- FONTS (bundled locally, SIL Open Font License 1.1: Josefin Sans, Tajawal) */
@font-face{font-family:"Josefin Sans";font-style:normal;font-weight:100 700;font-display:swap;src:url(../fonts/JosefinSans-var.woff2) format("woff2")}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/Tajawal-Light.woff2) format("woff2")}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/Tajawal-Regular.woff2) format("woff2")}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/Tajawal-Medium.woff2) format("woff2")}
@font-face{font-family:"Tajawal";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/Tajawal-Bold.woff2) format("woff2")}

/* ---------- PALETTE TOKENS (Jessica, 151026_Plum_Web-Palette.md). Default = C. set in Appearance > Customize > Plum Catering. Every colour on the site comes from these. */
:root,html[data-palette="c"]{ /* C. Plum leads, Ivy grounds it (recommended) */
  --cream:#e8e6de; --ink:#3b1b44; --link:#87487f; --caption:#36454f; --card:#fdfce4;
  --dark:#3b1b44; --shade:#2a1330; --btn:#3b1b44; --btn-ink:#e8e6de; --btn-hover:#87487f;
  --btn2:#c8a34b; --btn2-ink:#3b1b44; --accent:#c8a34b; --accent-dark:#c8a34b; --icon:#3b1b44; --icon-dark:#c8a34b; --eyebrow:#6b531a;
  --band:#cbbfa7; --contact:#043226; --footer:#043226; --footer-head:#c8a34b; --field-line:#e8e6de;
  --focus:#3b1b44; --focus-dark:#c8a34b; --err:#ffc9c2;
}
html[data-palette="a"]{ /* A. Brand book exact, Ivy Green leads */
  --cream:#e8e6de; --ink:#3b1b44; --link:#87487f; --caption:#36454f; --card:#fdfce4;
  --dark:#043226; --shade:#022219; --btn:#043226; --btn-ink:#e8e6de; --btn-hover:#19534b;
  --btn2:#c8a34b; --btn2-ink:#043226; --accent:#c8a34b; --accent-dark:#c8a34b; --icon:#043226; --icon-dark:#c8a34b; --eyebrow:#6b531a;
  --band:#cbbfa7; --contact:#043226; --footer:#3b1b44; --footer-head:#c8a34b; --field-line:#e8e6de;
  --focus:#043226; --focus-dark:#c8a34b; --err:#ffc9c2;
}
html[data-palette="b"]{ /* B. Live site refined */
  --cream:#e9e7de; --ink:#452349; --link:#452349; --caption:#5a2f5f; --card:#e9e7de;
  --dark:#452349; --shade:#2e1631; --btn:#452349; --btn-ink:#e9e7de; --btn-hover:#5a2f5f;
  --btn2:#bfb295; --btn2-ink:#452349; --accent:#b99135; --accent-dark:#bfb295; --icon:#6b531a; --icon-dark:#b99135; --eyebrow:#6b531a;
  --band:#bfb295; --contact:#452349; --footer:#2e1631; --footer-head:#b99135; --field-line:#bfb295;
  --focus:#452349; --focus-dark:#bfb295; --err:#ffc9c2;
}
:root{
  --line:color-mix(in srgb,var(--ink) 18%,transparent); --line-c:color-mix(in srgb,var(--cream) 50%,transparent); --cream-8:color-mix(in srgb,var(--cream) 82%,transparent);
  --f:"Josefin Sans","Tajawal",system-ui,sans-serif;
  --pad:clamp(20px,5vw,48px); --max:1200px; --r:20px;
  --ease:cubic-bezier(.22,.61,.36,1); --ease-o:cubic-bezier(.16,1,.3,1);
}
html[lang="ar"]{--f:"Tajawal","Josefin Sans",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font-family:var(--f);font-weight:400;font-size:17px;line-height:1.6;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:clip}
html[lang="ar"] body{font-size:18px;line-height:1.75}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0;padding:0}
ul,ol{list-style:none}
[hidden]{display:none!important}
.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block;font-family:"Josefin Sans",sans-serif}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
svg.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round} /* Tabler outline, UI 20 px: stroke 1.25 */
[dir="rtl"] .flip{transform:scaleX(-1)}
[dir="ltr"] .flipx{transform:scaleX(-1)}
.pet{width:64px;height:64px;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;color:var(--icon);flex:none} /* Tabler outline, 48 px family: stroke 1, dark gold on cream */
.on-plum .pet,.pcard .pet,.pb .pet,.mnav .pet,.qd-panel .pet{color:var(--cream)}
.pet-m{width:34px;height:34px;stroke-width:1.25}.pet-s{width:18px;height:18px;stroke-width:1.25}.pet-xs{width:14px;height:14px;stroke-width:1.5}
.skip{position:absolute;inset-inline-start:12px;top:-120px;z-index:99;background:var(--btn);color:var(--btn-ink);padding:12px 16px}
.skip:focus{top:8px}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.on-plum :focus-visible,.pb :focus-visible,.bh :focus-visible,.mnav :focus-visible,.qd-panel :focus-visible,.lb :focus-visible{outline-color:var(--focus-dark)}
.wrap{width:100%;max-width:calc(var(--max) + 2*var(--pad));margin-inline:auto;padding-inline:var(--pad)}
.wrap-wide{width:100%;max-width:1680px;margin-inline:auto;padding-inline:6px}

/* ---------- type */
.ttl{font-weight:400;font-size:clamp(28px,3.4vw,40px);line-height:1.15;letter-spacing:.02em;text-transform:uppercase}
html[lang="ar"] .ttl{text-transform:none;letter-spacing:0;font-weight:500;line-height:1.35}
.ttl-s{font-weight:400;font-size:clamp(28px,3vw,36px);line-height:1.2}
html[lang="ar"] .ttl-s{font-weight:500}
.eyebrow{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow);margin-block-end:14px}
html[lang="ar"] .eyebrow{letter-spacing:0;font-size:15px;font-weight:500}
.on-plum .eyebrow,.pcard .eyebrow{color:var(--accent-dark)}
.on-taupe .eyebrow{color:var(--ink)}
.intro{font-size:18px;line-height:1.55}
html[lang="ar"] .intro{font-size:19px;line-height:1.8}
.link{color:var(--link);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.link:hover{text-decoration-thickness:2px}
mark.tbd{background:color-mix(in srgb,var(--accent) 18%,transparent);color:inherit;outline:1px dashed var(--accent);outline-offset:1px;padding:1px 6px;font-size:.82em;border-radius:3px;unicode-bidi:isolate;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.tbd-box{border:1px dashed var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);padding:20px 22px;font-size:15px;border-radius:6px}
.tbd-box mark.tbd{background:none;outline:0;padding:0;font-size:1em}

/* ---------- buttons: the live site's pill */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 26px;border-radius:22px;border:1px solid transparent;
  font-size:13px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;line-height:1;cursor:pointer;white-space:nowrap;
  transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease)}
html[lang="en"] .btn>span{padding-block-start:.2em}
html[lang="ar"] .btn{letter-spacing:0;text-transform:none;font-size:16px;font-weight:500}
.btn svg.ic{width:18px;height:18px}
.btn-taupe{background:var(--btn2);color:var(--btn2-ink)}
.btn-taupe:hover{background:var(--cream)}
.btn-line{border-color:var(--cream-8);color:var(--cream)}
.btn-line:hover{background:var(--cream);color:var(--dark);border-color:var(--cream)}
.btn-plum{background:var(--btn);color:var(--btn-ink)}
.btn-plum:hover{background:var(--btn-hover)}
.btn-line-plum{border-color:var(--ink);color:var(--ink);border-width:1.5px}
.btn-line-plum:hover{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.btn:active{transform:translateY(1px)}
.btn-s{min-height:36px;padding:0 18px;font-size:12px}
.btn-l{width:100%}
.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-block-start:28px}

/* ---------- header: cream band, contact left, script logo centred, social right */
.hdr{position:sticky;top:0;z-index:50;background:var(--cream);transition:box-shadow .4s var(--ease)}
.hdr-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-block:12px;transition:padding .4s var(--ease)}
.hdr-contact{display:none;flex-direction:column;gap:2px;font-size:13px;letter-spacing:.02em;transition:opacity .3s}
.hdr-contact a{display:inline-flex;align-items:center;gap:8px}
.hdr-contact svg.ic{width:15px;height:15px;color:var(--eyebrow)}
.hdr-contact a:hover{text-decoration:underline;text-underline-offset:3px}
.logo{display:block;color:var(--ink);justify-self:center}
.logo-svg{height:52px;width:auto;fill:currentColor;transition:height .4s var(--ease)}
.hdr-end{justify-self:end;display:flex;align-items:center;gap:6px}
.soc{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;transition:background .3s}
.soc:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.soc svg.ic{width:22px;height:22px}
.lang{font-size:15px;padding:8px 6px;font-family:"Tajawal",sans-serif}
html[lang="ar"] .lang{font-family:"Josefin Sans",sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.lang:hover{text-decoration:underline;text-underline-offset:4px}
.hdr-end .soc{display:none}
.menu-btn{display:inline-grid;place-items:center;width:44px;height:44px;border:0;background:none;cursor:pointer;color:var(--ink)}
.menu-btn i{display:grid;gap:7px;width:24px}
.menu-btn b{display:block;height:1.5px;background:currentColor}
.hdr-top>.hdr-contact{justify-self:start}
.hdr-top::before{content:"";grid-column:1;grid-row:1}
.hdr-nav{display:none;border-block-start:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.6vw,40px);min-height:52px}
.nav>a:not(.btn),.dd>button{position:relative;font-size:13px;letter-spacing:.18em;text-transform:uppercase;padding:14px 0;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
html[lang="ar"] .nav>a:not(.btn),html[lang="ar"] .dd>button{letter-spacing:0;font-size:16px;text-transform:none}
.nav>a:not(.btn)::after,.dd>button::after{content:"";position:absolute;inset-inline:0;bottom:8px;height:1px;background:var(--accent);transform:scaleX(0);transition:transform .4s var(--ease)}
.nav>a:hover::after,.nav>a[aria-current]::after,.dd>button:hover::after,.dd>button[aria-current]::after{transform:scaleX(1)}
.dd{position:relative}
.dd .caret{width:12px;height:12px;transition:transform .3s}
.dd.open .caret{transform:rotate(180deg)}
.dd-panel{position:absolute;top:calc(100% + 1px);inset-inline-start:50%;transform:translate(-50%,8px);width:min(620px,92vw);background:var(--cream);border:1px solid var(--line);
  box-shadow:0 24px 60px -24px color-mix(in srgb,var(--shade) 35%,transparent);padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:2px;opacity:0;visibility:hidden;transition:opacity .3s,transform .3s var(--ease),visibility .3s}
[dir="rtl"] .dd-panel{transform:translate(50%,8px)}
.dd.open .dd-panel{opacity:1;visibility:visible;transform:translate(-50%,0)}
[dir="rtl"] .dd.open .dd-panel{transform:translate(50%,0)}
.dd-panel a{display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:15px;border-radius:6px;transition:background .25s}
.dd-panel a:hover,.dd-panel a[aria-current]{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.dd-panel .all{grid-column:1/-1;justify-content:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase;border-block-start:1px solid var(--line);border-radius:0;margin-block-start:6px}
html[lang="ar"] .dd-panel .all{letter-spacing:0;font-size:15px}
.hdr.is-compact{box-shadow:0 10px 30px -18px color-mix(in srgb,var(--shade) 35%,transparent)}
@media (min-width:900px){
  .hdr-top{padding-block:18px}
  .hdr-contact{display:flex}
  .hdr-top::before{display:none}
  .logo-svg{height:72px}
  .hdr-end .soc{display:inline-grid}
  .menu-btn{display:none}
  .hdr-nav{display:block}
  .hdr.is-compact .hdr-top{padding-block:8px}
  .hdr.is-compact .logo-svg{height:44px}
}

/* ---------- mobile menu */
.mnav{position:fixed;inset:0;z-index:70;background:var(--dark);color:var(--cream);padding:16px var(--pad) 32px;overflow:auto;visibility:hidden;opacity:0;transition:opacity .35s,visibility .35s}
.mnav.open{visibility:visible;opacity:1}
.mnav-top{display:flex;justify-content:space-between;align-items:center}
.mnav-top .logo{color:var(--cream)}
.mnav-top .logo-svg{height:48px}
.mnav-top .menu-btn{color:var(--cream)}
.mnav-top .menu-btn svg.ic{width:26px;height:26px}
.mnav-list{margin-block:28px}
.mnav-list>li>a,.mnav-list>li>button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:16px 0;border:0;border-block-end:1px solid var(--line-c);background:none;cursor:pointer;
  font-size:22px;letter-spacing:.1em;text-transform:uppercase;text-align:start}
html[lang="ar"] .mnav-list>li>a,html[lang="ar"] .mnav-list>li>button{letter-spacing:0;text-transform:none;font-size:22px}
.mnav-list .sub a{display:flex;align-items:center;gap:12px;padding:11px 4px;font-size:17px}
.mnav-list .sub{padding-block:6px 10px}
.mnav-list .caret{width:16px;height:16px}
.mnav .stack{display:grid;gap:10px}
.mnav-contact{margin-block-start:24px;font-size:14px;opacity:.8;text-align:center;line-height:2}

/* ---------- sections */
.sec{padding-block:clamp(64px,9vw,112px)}
.on-cream{background:var(--cream);color:var(--ink)}
.on-plum{background:var(--dark);color:var(--cream)}
.enq-sec{background:var(--contact)}
.on-taupe{background:var(--band);color:var(--ink)}
.sh{text-align:center;max-width:780px;margin-inline:auto;margin-block-end:clamp(36px,5vw,60px)}
.sh .intro{margin-block-start:14px}
.sec-more{text-align:center;margin-block-start:clamp(36px,5vw,56px)}
.read{max-width:760px;margin-inline:auto;font-size:18px;line-height:1.75}
html[lang="ar"] .read{font-size:19px;line-height:1.95}
.read p+p{margin-block-start:1em}
.read.center{text-align:center}
@media (min-width:768px){.read:not(.center){text-align:justify;text-align-last:center}}

/* ---------- hero: blurred photograph, translucent plum card (the live About card) */
.bh{position:relative;display:grid;align-items:center;min-height:clamp(540px,78svh,800px);padding-block:clamp(40px,7vw,96px);overflow:hidden;background:var(--shade);color:var(--cream);isolation:isolate}
.bh-home{min-height:clamp(600px,calc(100svh - 80px),900px)}
.bh-media{position:absolute;inset:0;z-index:-1;overflow:hidden}
.bh-media picture{display:block;height:100%}
.bh-media img{width:100%;height:100%;object-fit:cover;filter:blur(7px) saturate(1.05);transform:scale(1.12) translate3d(0,var(--hy,0px),0);transform-origin:50% 40%}
.js .bh-media img{animation:bhIn 2.4s var(--ease-o) both}
@keyframes bhIn{from{filter:blur(0) saturate(1.05);transform:scale(1.2)}to{filter:blur(7px) saturate(1.05);transform:scale(1.12)}}
.bh-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--shade) 18%,transparent),color-mix(in srgb,var(--shade) 32%,transparent))}
.bh-wrap{display:grid;justify-items:center}
.crumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-block-end:18px;color:var(--cream);text-shadow:0 1px 8px color-mix(in srgb,var(--shade) 35%,transparent)}
html[lang="ar"] .crumbs{letter-spacing:0;font-size:14px;text-transform:none}
.crumbs a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--cream) 50%,transparent)}
.crumbs .sep{opacity:.6}
.pcard{position:relative;isolation:isolate;width:100%;max-width:740px;padding:clamp(30px,5vw,60px) clamp(22px,5vw,64px);border-radius:var(--r);background:color-mix(in srgb,var(--dark) 76%,transparent);color:var(--cream);text-align:center;
  box-shadow:0 30px 80px -40px color-mix(in srgb,var(--shade) 60%,transparent);overflow:hidden}
.pcard::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../img/plum_cloud-watercolour_brand.webp) center/cover;filter:grayscale(1) brightness(2.6) contrast(1.4);opacity:.42;mix-blend-mode:soft-light}
.pcard .ttl{font-size:clamp(28px,4vw,44px)}
.pcard .pc-text{margin-block-start:18px;font-size:17px;line-height:1.7;font-weight:300}
html[lang="ar"] .pcard .pc-text{font-size:19px;font-weight:400;line-height:1.85}
.pcard .eyebrow{margin-block-end:12px}
.pcard-s{max-width:640px}
.pcard-w{max-width:1040px}
.pc-pet{display:block;margin:22px auto 0;width:max-content}
.pc-pet .pet{width:34px;height:34px}
.js [data-rise]{animation:rise 1.2s var(--ease-o) .25s both}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* ---------- parallax photo bands (fixed-photo feel, films may play inside) */
.pb{position:relative;overflow:hidden;background:var(--shade);color:var(--cream);isolation:isolate;min-height:clamp(260px,38vw,420px)}
.pb-media{position:absolute;inset:-18% 0;z-index:-1;transform:translate3d(0,var(--py,0px),0);will-change:transform}
.pb-media img,.pb-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pb-media video{opacity:0;transition:opacity 1.2s var(--ease)}
.pb-media video.is-on{opacity:1}
.pb::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--shade) 12%,transparent),color-mix(in srgb,var(--shade) 30%,transparent))}
.pb-quiet{min-height:clamp(220px,30vw,380px)}
.pb-in{display:grid;justify-items:center;padding-block:clamp(56px,8vw,100px)}
.pb-tall .pb-in,.pb-cta .pb-in{min-height:clamp(480px,70vh,720px);align-content:center}
.bigfact{display:flex;flex-direction:column;align-items:center;gap:4px;margin-block-start:26px}
.bigfact b{font-weight:300;font-size:clamp(60px,8vw,104px);line-height:1}
.bigfact span{font-size:13px;letter-spacing:.2em;text-transform:uppercase;opacity:.9}
html[lang="ar"] .bigfact span{letter-spacing:0;font-size:16px}
.bigfact.plum{color:var(--ink);align-items:flex-start}
.split .bigfact{margin-block-start:0}

/* ---------- gold petal columns (services row) */
.icols{display:grid;gap:clamp(28px,4vw,48px) clamp(20px,3vw,40px)}
.icol{display:grid;grid-template-columns:52px 1fr;column-gap:18px;align-items:start;text-align:start;height:100%;padding:6px;border-radius:12px;transition:background .4s var(--ease)}
.icol .pet{width:52px;height:52px;grid-row:span 3;transition:transform .7s var(--ease-o)}
.ic-t{font-size:17px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;margin-block:4px 6px}
html[lang="ar"] .ic-t{letter-spacing:0;text-transform:none;font-weight:500;font-size:19px}
.icol p{font-size:16px;line-height:1.55}
html[lang="ar"] .icol p{font-size:17px;line-height:1.75}
.icol .more{display:inline-block;margin-block-start:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;border-block-end:1px solid currentColor;padding-block-end:2px;justify-self:start;opacity:.8}
html[lang="ar"] .icol .more{letter-spacing:0;font-size:15px}
a.icol:hover .pet{transform:translateY(-3px)}
a.icol:hover .more{opacity:1}
@media (min-width:600px){
  .icols{grid-template-columns:repeat(2,1fr)}
  .icol{grid-template-columns:none;justify-items:center;text-align:center;padding:18px 12px}
  .icol .pet{width:64px;height:64px;grid-row:auto;margin-block-end:18px}
  .icol .more{justify-self:center}
}
@media (min-width:1024px){
  .icols-4{grid-template-columns:repeat(4,1fr)}
  .icols-3{grid-template-columns:repeat(3,1fr)}
  .icols-5{grid-template-columns:repeat(5,1fr)}
  .icols-2{grid-template-columns:repeat(2,1fr);max-width:960px;margin-inline:auto}
}
.icols-big .ic-t{font-size:22px}
.tbd-row{display:grid;gap:16px;margin-block-start:40px}
@media (min-width:768px){.tbd-row{grid-template-columns:1fr 1fr}}

/* ---------- steps (gold numerals) */
.steps{display:grid;gap:26px;counter-reset:s;text-align:start;margin-block-start:30px}
.steps li{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:baseline}
.steps .num{font-size:34px;font-weight:300;line-height:1;color:var(--icon);grid-row:span 2;font-family:"Josefin Sans",sans-serif}
.pcard .steps .num{color:var(--accent-dark)}
.st-t{font-size:15px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;margin-block-end:4px}
html[lang="ar"] .st-t{letter-spacing:0;text-transform:none;font-size:18px;font-weight:500}
.steps p{font-size:15.5px;line-height:1.6}
html[lang="ar"] .steps p{font-size:17px;line-height:1.8}
.pcard .steps p{font-weight:300}
@media (min-width:768px){
  .steps-in{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:30px 26px}
  .steps-in li{grid-template-columns:none;text-align:center;justify-items:center}
  .steps-in .num{grid-row:auto;margin-block-end:12px}
  .steps-3{grid-template-columns:repeat(3,1fr);max-width:1000px;margin-inline:auto}
}

/* ---------- gallery strip (plum band) */
.gal .sh{margin-block-end:clamp(28px,4vw,44px)}
.strip{overflow:hidden;outline-offset:-3px}
.strip-track{display:flex;gap:6px;width:max-content}
.strip li{flex:none}
.sf{height:clamp(260px,33vw,476px);overflow:hidden}
.sf img{height:100%;width:auto;max-width:none;transition:transform 1.2s var(--ease-o)}
.sf:hover img{transform:scale(1.04)}
.js .strip.is-drift .strip-track{animation:drift var(--dur,90s) linear infinite}
[dir="rtl"] .strip.is-drift .strip-track{animation-name:drift-r}
.strip:hover .strip-track,.strip:focus-within .strip-track,.strip:focus .strip-track{animation-play-state:paused}
@keyframes drift{to{transform:translateX(-50%)}}
@keyframes drift-r{to{transform:translateX(50%)}}

/* ---------- menu cards (full photo grounds) */
.mcards{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,74vw);gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding-block-end:6px;scrollbar-width:thin}
.mcards li{scroll-snap-align:center}
.mcard{position:relative;display:block;aspect-ratio:9/14;overflow:hidden;background:var(--shade);color:var(--cream);isolation:isolate}
.mc-img,.mc-img img{position:absolute;inset:0;width:100%;height:100%}
.mc-img img{object-fit:cover;filter:brightness(.6);transition:transform 1.2s var(--ease-o),filter .6s var(--ease)}
.mc-body{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:clamp(28px,3vw,44px) 22px;text-align:center}
.mc-t{font-size:clamp(28px,2.5vw,38px);font-weight:300;line-height:1.15}
html[lang="ar"] .mc-t{font-weight:500}
.mc-d{margin-block-start:14px;font-size:15px;line-height:1.5;font-weight:300;max-width:30ch}
html[lang="ar"] .mc-d{font-size:16px;font-weight:400;line-height:1.75}
.mcard::after{content:"";position:absolute;inset-inline:32%;bottom:28px;height:1px;background:var(--cream);transform:scaleX(.2);opacity:.7;transition:transform .6s var(--ease)}
.mcard:hover img{transform:scale(1.06);filter:brightness(.48)}
.mcard:hover::after{transform:scaleX(1)}
@media (min-width:768px){
  .mcards{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;grid-template-columns:repeat(2,1fr)}
  .mcards-3,.mcards-6{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1100px){
  .mcards{grid-template-columns:repeat(4,1fr)}
  .mcards-3,.mcards-6{grid-template-columns:repeat(3,1fr)}
  .mcards-6 .mcard{aspect-ratio:4/3}
  .mcards-3 .mcard{aspect-ratio:4/5}
}

/* ---------- sectors band (in place of the client logo strip) */
.sectors .sh{margin-block-end:40px}
.mq{overflow:hidden;padding-block:12px}
.mq-track{display:flex;width:max-content;animation:mq 60s linear infinite}
.mq-rev .mq-track{animation-direction:reverse;animation-duration:70s}
[dir="rtl"] .mq-track{animation-name:mq-r}
.mq li{display:flex;align-items:center;gap:clamp(28px,4vw,56px);padding-inline-end:clamp(28px,4vw,56px);font-size:clamp(18px,2vw,24px);letter-spacing:.16em;text-transform:uppercase;font-weight:300;white-space:nowrap}
html[lang="ar"] .mq li{letter-spacing:0;text-transform:none;font-weight:400}
.mq:hover .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
@keyframes mq-r{to{transform:translateX(50%)}}

/* ---------- proof band (in place of the testimonial slider) */
.proof{padding-block:clamp(56px,7vw,88px);text-align:center}
.proof .pet{color:var(--ink);margin:0 auto 14px}
.proof .eyebrow{color:var(--ink)}
.ps-stage{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;max-width:980px;margin:6px auto 0}
.ps-list{display:grid}
.ps{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .7s var(--ease),transform .7s var(--ease),visibility .7s}
.ps.on{opacity:1;visibility:visible;transform:none}
.ps-big{font-size:clamp(26px,3.4vw,42px);font-weight:300;line-height:1.2}
html[lang="ar"] .ps-big{font-weight:500}
.ps-small{margin-block-start:12px;font-size:18px}
.pnav{width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:var(--ink);cursor:pointer;border-radius:50%;transition:background .3s}
.pnav:hover{background:color-mix(in srgb,var(--ink) 10%,transparent)}
.pnav svg.ic{width:22px;height:22px}
.pdots{display:flex;justify-content:center;gap:4px;margin-block-start:22px}
.pdot{width:24px;height:24px;border:0;background:none;cursor:pointer;position:relative}
.pdot::before{content:"";position:absolute;inset:8px;border-radius:50%;border:1px solid var(--ink);transition:background .3s}
.pdot.on::before{background:var(--ink)}
.sector-line{max-width:760px;margin:30px auto 0;font-size:17px;line-height:1.6;border-block-start:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding-block-start:24px}

.range{-webkit-appearance:none;appearance:none;display:block;width:100%;height:28px;background:none;cursor:pointer;--f:46%}
.range::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--icon) var(--f),color-mix(in srgb,var(--ink) 25%,transparent) var(--f))}
[dir="rtl"] .range::-webkit-slider-runnable-track{background:linear-gradient(to left,var(--icon) var(--f),color-mix(in srgb,var(--ink) 25%,transparent) var(--f))}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--ink);border:3px solid var(--cream);box-shadow:0 0 0 1px var(--ink);margin-top:-10px}
.range::-moz-range-track{height:2px;background:color-mix(in srgb,var(--ink) 25%,transparent)}
.range::-moz-range-progress{height:2px;background:var(--icon)}
.range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--ink);border:3px solid var(--cream)}
.on-plum .range::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent-dark) var(--f),color-mix(in srgb,var(--cream) 30%,transparent) var(--f))}
[dir="rtl"] .on-plum .range::-webkit-slider-runnable-track{background:linear-gradient(to left,var(--accent-dark) var(--f),color-mix(in srgb,var(--cream) 30%,transparent) var(--f))}
.on-plum .range::-webkit-slider-thumb{background:var(--accent-dark);border-color:var(--dark);box-shadow:none}

/* ---------- contact band and forms (the live form: outlined fields, taupe submit) */
.enq{display:grid;gap:44px}
.enq-side .intro{margin-block-start:16px;opacity:.92}
.enq-addr{margin-block-start:26px}
.enq-k{margin-block-start:14px;display:grid;gap:10px;font-size:16px}
.enq-k a{display:inline-flex;align-items:center;gap:12px}
.enq-k a:hover span{text-decoration:underline;text-underline-offset:3px}
.enq-k svg.ic{width:18px;height:18px;color:var(--cream)}
.enq-soc{display:flex;gap:6px;margin-block-start:22px}
.enq-soc .soc{border:1px solid var(--line-c)}
.enq-soc .soc:hover{background:color-mix(in srgb,var(--cream) 12%,transparent)}
@media (min-width:900px){.enq{grid-template-columns:5fr 7fr;gap:72px}}
.fgrid{display:grid;gap:18px 22px}
@media (min-width:600px){.fgrid{grid-template-columns:1fr 1fr}.field.full,.preset.full{grid-column:1/-1}}
.field{display:grid;gap:7px;border:0;margin:0;padding:0;min-width:0}
.field label,.lbl{font-size:14px;display:flex;gap:6px;align-items:baseline}
.req{font-size:12px;color:var(--accent-dark)}
.input{width:100%;min-height:44px;padding:10px 12px;background:transparent;color:var(--cream);border:1.5px solid var(--field-line);border-radius:0;font-size:16px;color-scheme:dark;transition:border-color .3s,background .3s}
.input::placeholder{color:color-mix(in srgb,var(--cream) 45%,transparent)}
.input:hover{border-color:color-mix(in srgb,var(--cream) 80%,transparent)}
.input:focus{outline:none;border-color:var(--focus-dark);background:color-mix(in srgb,var(--cream) 5%,transparent);box-shadow:0 0 0 1px var(--focus-dark)}
select.input{-webkit-appearance:none;appearance:none;height:44px;padding-block:0;padding-inline-end:36px;background-image:linear-gradient(45deg,transparent 50%,var(--cream) 50%,var(--cream) 62%,transparent 62%),linear-gradient(-45deg,transparent 50%,var(--cream) 50%,var(--cream) 62%,transparent 62%);background-size:7px 7px,7px 7px;background-repeat:no-repeat;background-position:right 19px center,right 13px center}
[dir="rtl"] select.input{background-position:left 13px center,left 19px center}
select.input option{background:var(--cream);color:var(--ink)}
textarea.input{resize:vertical;min-height:110px}
.input[aria-invalid="true"]{border-color:var(--err)}
.check,.radio{display:flex;gap:10px;align-items:flex-start;font-size:15px;cursor:pointer}
.check input,.radio input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--accent-dark);flex:none}
.check.small{font-size:14px;margin-block-start:8px}
.radios{display:flex;flex-wrap:wrap;gap:12px 24px}
.hint{font-size:13px;opacity:.78}
.hint a{text-decoration:underline;text-underline-offset:3px}
.err{display:flex;gap:6px;align-items:flex-start;font-size:14px;color:var(--err)}
.err svg.ic{width:16px;height:16px;margin-block-start:2px}
.summary{border:1px solid var(--err);padding:14px 16px;margin-block-end:20px;font-size:15px}
.summary ul{margin-block-start:6px;display:grid;gap:4px}
.summary a{text-decoration:underline}
.preset{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:15px;color:var(--accent-dark);padding-block-end:4px}
.preset b{font-weight:500;color:var(--cream)}
.honey{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.btn-submit{display:block;width:100%;min-height:48px;margin-block-start:24px;border:0;background:var(--btn2);color:var(--btn2-ink);font-size:16px;letter-spacing:.06em;cursor:pointer;transition:background .3s}
html[lang="ar"] .btn-submit{letter-spacing:0;font-weight:500;font-size:17px}
.btn-submit:hover{background:var(--cream)}
.alt{margin-block-start:16px;text-align:center;font-size:15px}
.alt a{text-decoration:underline;text-underline-offset:3px}
.success{text-align:center;padding-block:30px;display:grid;justify-items:center;gap:14px}
.success .ttl{font-size:clamp(22px,2.4vw,28px)}
.success .proto{font-size:14px;opacity:.8}
.success .actions{margin-block-start:8px}

/* ---------- sector page bits */
.bullets{display:grid;gap:16px 40px;max-width:980px;margin-inline:auto}
.bullets li{display:flex;gap:14px;align-items:flex-start;font-size:17px;line-height:1.55;padding-block:14px;border-block-end:1px solid var(--line)}
.bullets .pet{margin-block-start:6px}
@media (min-width:768px){.bullets{grid-template-columns:1fr 1fr}}
.faq{max-width:840px;margin-inline:auto}
.faq details{border-block-end:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;list-style:none;font-size:19px;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq .pm{position:relative;width:16px;height:16px;flex:none}
.faq .pm::before,.faq .pm::after{content:"";position:absolute;inset:7.5px 0 auto;height:1px;background:var(--ink);transition:transform .35s var(--ease)}
.faq .pm::after{transform:rotate(90deg)}
.faq details[open] .pm::after{transform:rotate(0)}
.faq details p{padding-block-end:24px;font-size:17px;line-height:1.65;max-width:70ch}
.banner{background:var(--band);padding-block:12px;font-size:14px;text-align:center}
.helper{text-align:center;display:grid;gap:22px;justify-items:center}
.split{display:grid;gap:40px;align-items:center}
.split .ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:72px}}
.split-copy .intro{margin-block-start:22px}

/* ---------- menus page */
.mblock{display:grid;gap:36px;align-items:center}
.mb-card{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--shade);color:var(--cream)}
.mb-card .mc-img img{object-fit:cover;filter:brightness(.62);transition:transform 1.4s var(--ease-o)}
.mb-card:hover .mc-img img{transform:scale(1.04)}
.mb-t{position:absolute;inset-inline:0;top:clamp(28px,4vw,48px);text-align:center;font-size:clamp(30px,3vw,42px);font-weight:300}
html[lang="ar"] .mb-t{font-weight:500}
.mb-copy .intro{margin-block-start:18px}
.optcards{display:grid;gap:10px;margin-block-start:24px}
.optcard{border:1px solid var(--line);background:var(--card);padding:14px 16px;display:grid;gap:4px;font-size:15px}
.optcard b{font-weight:400;letter-spacing:.12em;text-transform:uppercase;font-size:14px}
html[lang="ar"] .optcard b{letter-spacing:0;text-transform:none;font-weight:500;font-size:16px}
.dishes{margin-block-start:18px;font-size:15px}
.dl{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-block-start:14px;font-size:13px}
.dl:first-of-type{margin-block-start:28px}
.mblock-sec+.mblock-sec{padding-block-start:0}
@media (min-width:600px){.optcards{grid-template-columns:1fr 1fr}}
@media (min-width:900px){
  .mblock{grid-template-columns:5fr 6fr;gap:72px}
  .rev .mblock{grid-template-columns:6fr 5fr}
  .rev .mb-card{order:2}
}

/* ---------- gallery page */
.fchips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-block-end:34px}
.chip{min-height:40px;padding:0 20px;border-radius:20px;border:1px solid var(--line-c);background:none;color:var(--cream);cursor:pointer;font-size:13px;letter-spacing:.16em;text-transform:uppercase;transition:background .3s,color .3s}
html[lang="ar"] .chip{letter-spacing:0;text-transform:none;font-size:16px}
.chip:hover{border-color:var(--cream)}
.chip[aria-pressed="true"]{background:var(--btn2);color:var(--btn2-ink);border-color:var(--btn2)}
.ggrid{columns:2 160px;column-gap:6px}
.ggrid li{break-inside:avoid}
.gitem{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;margin-block-end:6px;overflow:hidden}
.gitem img{width:100%;transition:transform 1s var(--ease-o)}
.gitem:hover img{transform:scale(1.04)}
.gitem[hidden]{display:none}
.gnote{margin-block-start:28px;text-align:center;font-size:14px;opacity:.85}
@media (min-width:768px){.ggrid{columns:3 220px}}
@media (min-width:1200px){.ggrid{columns:4 240px}}
.lb{position:fixed;inset:0;z-index:90;background:color-mix(in srgb,var(--shade) 96%,transparent);color:var(--cream);display:none;grid-template-rows:auto 1fr auto;padding:12px}
.lb.open{display:grid}
.lb-top{display:flex;justify-content:flex-end}
.lb-stage{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:0}
.lb-stage img{max-height:80vh;max-width:100%;margin-inline:auto;object-fit:contain}
.lb-btn{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line-c);border-radius:50%;background:none;color:var(--cream);cursor:pointer}
.lb-btn:hover{background:color-mix(in srgb,var(--cream) 12%,transparent)}
.lb-cap{text-align:center;font-size:13px;opacity:.75;padding-block:10px}

/* ---------- inquiry drawer (step form) */
.qd{position:fixed;inset:0;z-index:80}
.qd[hidden]{display:none}
.qd-scrim{position:absolute;inset:0;background:color-mix(in srgb,var(--shade) 55%,transparent);opacity:0;transition:opacity .5s var(--ease)}
.qd-panel{position:absolute;inset-block:0;inset-inline-end:0;width:min(540px,100%);overflow:auto;padding:22px clamp(22px,4vw,40px) 40px;transform:translateX(102%);transition:transform .6s var(--ease-o);isolation:isolate}
[dir="rtl"] .qd-panel{transform:translateX(-102%)}
.qd-panel::before{content:"";position:fixed;inset:0;z-index:-1;background:url(../img/plum_cloud-watercolour_brand.webp) center/cover;filter:grayscale(1) brightness(2.6) contrast(1.4);opacity:.35;mix-blend-mode:soft-light;pointer-events:none}
.qd.open .qd-scrim{opacity:1}
.qd.open .qd-panel{transform:none}
.qd-top{display:flex;justify-content:space-between;align-items:center;margin-block-end:22px}
.qd-top .logo-svg{height:46px;fill:var(--cream)}
.qd-x{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line-c);border-radius:50%;background:none;color:var(--cream);cursor:pointer}
.qd-x:hover{background:color-mix(in srgb,var(--cream) 12%,transparent)}
.qd .intro{margin-block:12px 22px;font-size:16px;opacity:.9}
.qd-prog{display:flex;align-items:center;gap:12px;margin-block-end:26px;font-size:13px;letter-spacing:.12em}
.qd-prog i{flex:1;height:1px;background:color-mix(in srgb,var(--cream) 30%,transparent);position:relative}
.qd-prog b{position:absolute;inset-block:0;inset-inline-start:0;width:calc(var(--qp,.333)*100%);background:var(--accent-dark);height:2px;top:-.5px;transition:width .6s var(--ease-o)}
.qstep{border:0;margin:0;padding:0;display:grid;gap:18px;min-width:0}
.qguests{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center}
.qd-nav{display:flex;justify-content:flex-end;gap:10px;margin-block-start:28px}
.qd-nav [hidden]{display:none}
.qpill{position:fixed;inset-block-end:24px;inset-inline-end:24px;z-index:40;display:none;min-height:48px;padding:0 28px;border:0;border-radius:24px;background:var(--btn2);color:var(--btn2-ink);cursor:pointer;
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 14px 30px -12px color-mix(in srgb,var(--shade) 50%,transparent);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .4s,transform .4s var(--ease-o),background .3s}
html[lang="en"] .qpill span{display:inline-block;padding-block-start:.2em}
html[lang="ar"] .qpill{letter-spacing:0;text-transform:none;font-size:16px;font-weight:500}
.qpill:hover{background:var(--cream)}
.qpill.show{opacity:1;transform:none;pointer-events:auto}
@media (min-width:900px){.qpill{display:block}.qpill[hidden]{display:none}}

/* ---------- mobile action bar */
.bar{position:fixed;inset-inline:0;bottom:0;z-index:45;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--cream);
  border-block-start:1px solid var(--line);transition:transform .35s var(--ease)}
.bar .btn{padding:0 10px;min-height:44px;font-size:12px;letter-spacing:.1em;gap:6px}
html[lang="ar"] .bar .btn{font-size:15px;letter-spacing:0}
.bar.off{transform:translateY(110%)}
@media (min-width:900px){.bar{display:none}}

/* ---------- footer: plum band, taupe © bar */
.ft-main{background:var(--footer);padding-block:clamp(56px,7vw,88px) 48px}
.ft-grid{display:grid;gap:36px}
.ft-brand .logo{justify-self:start;color:var(--cream)}
.ft-brand .logo-svg{height:64px}
.ft-brand p{margin-block-start:16px;font-size:15px;max-width:34ch;opacity:.9}
.ft-brand .ft-close{font-size:19px;font-weight:300;opacity:1}
.ft h2{font-size:12px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--footer-head);margin-block-end:14px}
html[lang="ar"] .ft h2{letter-spacing:0;font-size:15px;font-weight:500}
.ft ul{display:grid;gap:8px;font-size:15px}
.ft ul a{opacity:.88;transition:opacity .2s}
.ft ul a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.ft-k a{display:inline-flex;align-items:center;gap:10px}
.ft-k svg.ic{width:16px;height:16px;color:var(--cream)}
.ft .addr{margin-block-start:14px;font-size:13px;opacity:.75}
.ft-bar{background:var(--band);color:var(--ink);font-size:13px;padding-block:16px calc(16px + 70px)}
.ft-bar .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px;text-align:center}
.ft-bar a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--ink) 40%,transparent)}
.ft-bar a:hover{text-decoration-color:currentColor}
/* parent-brand line under the brand column */
.ft-brand .ft-parent{max-width:none;white-space:nowrap;margin-block-start:22px;padding-block-start:14px;border-block-start:1px solid color-mix(in srgb,var(--cream) 22%,transparent);font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
html[lang="ar"] .ft-brand .ft-parent{letter-spacing:0;text-transform:none;font-size:14px}
.ft-brand .ft-parent a:hover{text-decoration:underline;text-underline-offset:3px}
@media (min-width:768px){.ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 44px}}
@media (min-width:1100px){.ft-grid{grid-template-columns:1.4fr 1fr 1fr 1.3fr}}
.ft-grid>*{min-width:0}.ft-k a,.ft .addr{overflow-wrap:anywhere} /* long email and web address wrap instead of pushing the page wide (tablet bug, 16 Oct) */
@media (min-width:900px){.ft-bar{padding-block:16px}}

/* ---------- reveals (soft, one rule for everything) */
/* Hidden only once plum-r3.js is running (html.r-on), and never what is already on screen: the script marks those .in first.
   A slow or blocked script therefore never leaves the page blank. */
.r-on [data-r]:not(.in){opacity:0;transform:translateY(24px)}
.r-on [data-r]{transition:opacity 1s var(--ease-o),transform 1s var(--ease-o);transition-delay:calc(var(--d,0)*90ms)}

/* ---------- reduced motion: everything in place, no drift, no parallax, no film */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .r-on [data-r]:not(.in){opacity:1;transform:none}
  .js .bh-media img{animation:none}
  .pb-media{transform:none!important;inset:0}
  .pb-media video{display:none}
  .strip{overflow-x:auto;scroll-snap-type:x mandatory}
  .strip li{scroll-snap-align:start}
  .strip-track{animation:none!important}
  .strip li[aria-hidden]{display:none}
  .mq-track{animation:none!important;flex-wrap:wrap;justify-content:center;width:auto}
  .mq li:nth-child(n+7){display:none}
  .mq-rev{display:none}
}
.shot [data-r]{opacity:1!important;transform:none!important;transition:none!important}
.shot .bh-media img{animation:none!important}
.shot [data-rise]{animation:none!important}
.shot .strip-track,.shot .mq-track{animation:none!important}
.tt{overflow:hidden}

/* ---------- STAGING: _ref pictures (not cleared for publishing) carry a visible mark while the STAGING constant is on */

body.is-staging .is-ref::after{content:"REFERENCE";position:absolute;inset-block-start:10px;inset-inline-start:10px;z-index:3;padding:5px 10px;border-radius:12px;background:rgba(0,0,0,.72);color:#fff;font:600 11px/1 "Josefin Sans",sans-serif;letter-spacing:.14em}
.success[hidden]{display:none!important}

/* ---------- HOME v2 (Brian, 15 Oct 2026, the five approved fixes). Scoped to Home classes only, no other page changes. */
/* 1. hero: kitchen film behind the live-site blur, shorter card */
.bh-film .bh-mv{position:absolute;inset:0}
.bh-film .bh-mv img,.bh-film .bh-mv video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(2px) saturate(1.05);transform:scale(1.06) translate3d(0,var(--hy,0px),0);transform-origin:50% 40%}
.bh-film .bh-mv video{opacity:0;transition:opacity .7s var(--ease)}
.bh-film .bh-mv video.is-on{opacity:1}
.js .bh-film .bh-media img{animation:bhInF 2.4s var(--ease-o) both}
@keyframes bhInF{from{filter:blur(0) saturate(1.05);transform:scale(1.12)}to{filter:blur(2px) saturate(1.05);transform:scale(1.06)}}
.bh-film .bh-media::after{background:linear-gradient(180deg,color-mix(in srgb,var(--shade) 30%,transparent),color-mix(in srgb,var(--shade) 48%,transparent))}
@media (min-width:768px){
  .bh-film .bh-mv img,.bh-film .bh-mv video{filter:blur(6px) saturate(1.05);transform:scale(1.1) translate3d(0,var(--hy,0px),0)}
  @keyframes bhInF{from{filter:blur(0) saturate(1.05);transform:scale(1.16)}to{filter:blur(6px) saturate(1.05);transform:scale(1.1)}}
}
.bh-film{min-height:clamp(560px,calc(100svh - 80px),820px)}
.pcard-hero{max-width:680px}
.pcard-hero .pc-text{margin-block-start:16px;max-width:52ch;margin-inline:auto}
.pcard-hero .actions{margin-block-start:26px}
@media (prefers-reduced-motion:reduce){.bh-film .bh-mv video{display:none}.js .bh-film .bh-media img{animation:none}}
.shot .bh-film .bh-media img{animation:none!important}

/* ---------- ICONS: Tabler Icons 3.49.0 outline, MIT (Chadi, 15 Oct 2026). One family: stroke 1 at 48 px, 1.25 at 20 px. Dark gold on cream, cream on plum. */
.menu-btn svg.ic{width:26px;height:26px}
.lang{display:inline-flex;align-items:center;gap:6px}
.lang svg.ic{width:16px;height:16px}
.icol .more{display:inline-flex;align-items:center;gap:6px}
.icol .more svg.ic{width:14px;height:14px;stroke-width:1.5}
[dir="rtl"] .ic-dir{transform:scaleX(-1)}
.field label svg.ic-lbl{width:16px;height:16px;align-self:center;opacity:.9}
.on-cream .field label svg.ic-lbl{color:var(--icon)}
.enq-addr{display:flex;align-items:center;gap:10px}
.enq-addr svg.ic{width:18px;height:18px;color:var(--cream)}
.tt-ic{display:flex;justify-content:center;margin-block-end:10px}
.tt-ic .pet{width:40px;height:40px;stroke-width:1.1}
.success .pet{width:52px;height:52px}
.proof .pet{color:var(--ink)}
.bullets .pet{color:var(--icon)}

/* Header icons: one size, one colour, one baseline (Chadi 15 Oct). Request a quote removed from the menus. */
.hdr-contact{gap:6px}
.hdr-contact a{gap:10px;line-height:20px}
.hdr-contact svg.ic,.hdr-end .soc svg.ic,.hdr-end .lang svg.ic,.hdr-end .menu-btn svg.ic{width:20px;height:20px;color:var(--ink);flex:none}
.hdr-end{gap:8px}
.hdr-end .soc{width:36px;height:36px;border:0}
.hdr-end .lang{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 8px;line-height:20px}
.hdr-end .lang[lang="ar"]{font-family:"Tajawal",sans-serif;font-size:15px;letter-spacing:0;text-transform:none}

/* Header v2 (Chadi 15 Oct): tighter, even spacing and text optically centred on the icons */
.hdr-end{gap:18px}
.hdr-end .soc{width:auto;height:auto;padding:4px;margin:-4px;border:0;background:none}
.hdr-end .soc:hover{background:none;opacity:.7}
.hdr-end .lang{height:auto;padding:4px 0;gap:7px;line-height:1}
.hdr-end .lang span,.hdr-contact a span,.hdr-contact a{text-box:trim-both cap alphabetic}
.hdr-end .lang[lang="ar"] span{text-box:trim-both ex alphabetic}
.hdr-end .lang:hover{text-decoration:none}
.hdr-end .lang:hover span{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
@supports not (text-box:trim-both cap alphabetic){
  .hdr-end .lang:not([lang="ar"]) span{position:relative;top:2px}
  .hdr-end .lang[lang="ar"] span{position:relative;top:1px}
}

/* All icons stroke 1.25 (Chadi 15 Oct), large service/proof icons included */
.pet,.pet-m,.pet-s,.pet-xs,.tt-ic .pet,.success .pet,svg.ic,.icol .more svg.ic{stroke-width:1.25}

/* Icon scale (Chadi 15 Oct): three sizes only, same real line on every icon.
   Large 48 (40 on phone) services, proof, Turning Table. UI 20 header, buttons, contact, menu. Small 16 footer, labels, arrows.
   Line: 1.25 px on screen at every size (non-scaling stroke). */
symbol[id^="tb-"] *{vector-effect:non-scaling-stroke}
.pet,.icol .pet,.icols-tiles .icol .pet,.pc-pet .pet,.tt-ic .pet,.success .pet{width:40px;height:40px}
@media (min-width:768px){.pet,.icol .pet,.icols-tiles .icol .pet,.pc-pet .pet,.tt-ic .pet,.success .pet{width:48px;height:48px}}
.pet-m{width:20px;height:20px}
svg.ic,.btn svg.ic,.hdr-contact svg.ic,.soc svg.ic,.hdr-end .soc svg.ic,.hdr-end .lang svg.ic,.lang svg.ic,.menu-btn svg.ic,.hdr-end .menu-btn svg.ic,.mnav-top .menu-btn svg.ic,.pnav svg.ic,.enq-k svg.ic,.enq-addr svg.ic,.pet-s{width:20px;height:20px}
.ft-k svg.ic,.err svg.ic,.field label svg.ic-lbl,.icol .more svg.ic,.pet-xs{width:16px;height:16px}
.pet,.pet-m,.pet-s,.pet-xs,svg.ic,.tt-ic .pet,.success .pet,.icol .more svg.ic{stroke-width:1.25}

/* Header gap v3 (Chadi 15 Oct: too much gap) */
.hdr-end{gap:7px}
.hdr-end .lang{margin-inline-end:4px}

/* One gold (Chadi 15 Oct: "2 gold colours"). #9b792c = same hue as Soft Gold, 3.3:1 on cream and 3.3:1 on plum, so it works on both grounds */
html[data-palette="b"]{--accent:#9b792c;--icon:#9b792c;--icon-dark:#9b792c;--footer-head:#9b792c;--eyebrow:#9b792c}

/* Large icons a little heavier (Chadi 15 Oct): 1.5 px line on 48/40 px icons only, web icons stay 1.25 */
.pet:not(.pet-m):not(.pet-s):not(.pet-xs),.icol .pet,.icols-tiles .icol .pet,.pc-pet .pet,.tt-ic .pet,.success .pet{stroke-width:1.5}

/* Service tiles: titles, texts and "View more" line up across each row (Chadi 15 Oct) */
@media (min-width:600px){
  .icols-tiles .icol{display:flex;flex-direction:column;align-items:center;height:100%}
  .icols-tiles .ic-t{min-height:2.6em;display:flex;align-items:center;justify-content:center}
  .icols-tiles .icol p{flex:1 0 auto}
  .icols-tiles .icol .more{margin-top:auto;padding-top:0}
  .icols-tiles .icol .more{margin-block-start:auto}
}
@media (min-width:600px){.icols-tiles .icol p{margin-block-end:16px}}

/* Section heads: title and intro closer (Chadi 15 Oct) */
.sh .ttl{line-height:1.05}
.sh .intro{margin-block-start:6px}
html[lang="ar"] .sh .ttl{line-height:1.25}

/* Section heads: exact 12 px visible gap title to intro (Chadi 15 Oct). Font side space trimmed */
.sh .ttl{text-box:trim-both cap alphabetic}
.sh .intro{text-box:trim-both cap alphabetic;margin-block-start:12px}
html[lang="ar"] .sh .ttl,html[lang="ar"] .sh .intro{text-box:trim-both ex alphabetic}
.sh .intro{margin-block-start:14px}
html[lang="ar"] .sh .ttl{text-box:none}
html[lang="ar"] .sh .intro{margin-block-start:0}
html[lang="ar"] .sh .intro{margin-block-start:6.5px}
/* ---------- legal text (Privacy notice): headings, paragraphs, lists from one copy slot */
.legal h2{font-size:clamp(20px,2vw,24px);font-weight:400;letter-spacing:.06em;text-transform:uppercase;margin-block:2em .5em}
html[lang="ar"] .legal h2{letter-spacing:0;text-transform:none;font-weight:500}
.legal p{margin-block:0 .9em}
.legal ul{margin-block:0 1em;padding-inline-start:1.2em;list-style:disc}
.legal li{margin-block-end:.3em}
/* ---------- smooth scrolling, desktop only (plum-smooth.js adds Lenis and html.lenis). Lenis 1.3.26 base rules + our own smooth anchor off */
html.lenis,html.lenis body{height:auto}
html.lenis{scroll-behavior:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}
.lenis.lenis-smooth iframe{pointer-events:none}
